> ## Documentation Index
> Fetch the complete documentation index at: https://cdktn.io/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# CSharp: TerraformResourceLifecycle

> CDKTN Core API Reference for TerraformResourceLifecycle in CSharp.

## Initializer <a name="Initializer" id="cdktn.TerraformResourceLifecycle.Initializer" />

```csharp theme={null}
using Io.Cdktn;

new TerraformResourceLifecycle {
    bool CreateBeforeDestroy = null,
    string[]|string IgnoreChanges = null,
    Postcondition[] Postcondition = null,
    Precondition[] Precondition = null,
    bool PreventDestroy = null,
    (string|ITerraformDependable)[] ReplaceTriggeredBy = null
};
```

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

| **Name**                                                                                                      | **Type**                                                                               | **Description**   |
| ------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | ----------------- |
| <code><a href="#cdktn.TerraformResourceLifecycle.property.createBeforeDestroy">CreateBeforeDestroy</a></code> | <code>bool</code>                                                                      | *No description.* |
| <code><a href="#cdktn.TerraformResourceLifecycle.property.ignoreChanges">IgnoreChanges</a></code>             | <code>string\[]\|string</code>                                                         | *No description.* |
| <code><a href="#cdktn.TerraformResourceLifecycle.property.postcondition">Postcondition</a></code>             | <code><a href="#cdktn.Postcondition">Postcondition</a>\[]</code>                       | *No description.* |
| <code><a href="#cdktn.TerraformResourceLifecycle.property.precondition">Precondition</a></code>               | <code><a href="#cdktn.Precondition">Precondition</a>\[]</code>                         | *No description.* |
| <code><a href="#cdktn.TerraformResourceLifecycle.property.preventDestroy">PreventDestroy</a></code>           | <code>bool</code>                                                                      | *No description.* |
| <code><a href="#cdktn.TerraformResourceLifecycle.property.replaceTriggeredBy">ReplaceTriggeredBy</a></code>   | <code>string\|<a href="#cdktn.ITerraformDependable">ITerraformDependable</a>\[]</code> | *No description.* |

***

### `CreateBeforeDestroy`<sup>Optional</sup> <a name="CreateBeforeDestroy" id="cdktn.TerraformResourceLifecycle.property.createBeforeDestroy" />

```csharp theme={null}
public bool CreateBeforeDestroy { get; set; }
```

* *Type:* bool

***

### `IgnoreChanges`<sup>Optional</sup> <a name="IgnoreChanges" id="cdktn.TerraformResourceLifecycle.property.ignoreChanges" />

```csharp theme={null}
public string[]|string IgnoreChanges { get; set; }
```

* *Type:* string\[]|string

***

### `Postcondition`<sup>Optional</sup> <a name="Postcondition" id="cdktn.TerraformResourceLifecycle.property.postcondition" />

```csharp theme={null}
public Postcondition[] Postcondition { get; set; }
```

* *Type:* <a href="#cdktn.Postcondition">Postcondition</a>\[]

***

### `Precondition`<sup>Optional</sup> <a name="Precondition" id="cdktn.TerraformResourceLifecycle.property.precondition" />

```csharp theme={null}
public Precondition[] Precondition { get; set; }
```

* *Type:* <a href="#cdktn.Precondition">Precondition</a>\[]

***

### `PreventDestroy`<sup>Optional</sup> <a name="PreventDestroy" id="cdktn.TerraformResourceLifecycle.property.preventDestroy" />

```csharp theme={null}
public bool PreventDestroy { get; set; }
```

* *Type:* bool

***

### `ReplaceTriggeredBy`<sup>Optional</sup> <a name="ReplaceTriggeredBy" id="cdktn.TerraformResourceLifecycle.property.replaceTriggeredBy" />

```csharp theme={null}
public (string|ITerraformDependable)[] ReplaceTriggeredBy { get; set; }
```

* *Type:* string|<a href="#cdktn.ITerraformDependable">ITerraformDependable</a>\[]

***
