## Custom Resource Definition Properties

### Spec

#### Schema

```yaml
resourceSelection:
  resourceKind: string
policy:
  storageSettings:
    requireRegionalStorage: boolean
  failoverSettings:
    forceDeleteStrategy: string
    afterNodeUnreachable:
      afterNodeUnreachableSeconds: int
```

| Fields ||
|---|---|
| `resourceSelection` *Optional* | `object` ResourceSelection specifies the resources belonging to this HighAvailabilityApplication. The HighAvailabilityApplication will look for a resource with the same name and namespace as itself. |
| `resourceSelection.resourceKind` *Optional* | `string` ResourceKind specifies the kind of resources included in this component. Possible values: \["StatefulSet"\] |
| `policy` *Optional* | `object` Policy defines the high availability characteristics of this application |
| `policy.storageSettings` *Optional* | `object` StorageSettings defines the high availability characteristics of this application. |
| `policy.storageSettings.requireRegionalStorage` *Optional* | `string` RequireRegionalStorage enforces regional storage when using a HighAvailabilityApplication. |
| `policy.failoverSettings` *Optional* | `object` FailoverSettings defines the failover settings when an application pod encounters an error. |
| `policy.failoverSettings.forceDeleteStrategy` *Optional* | `string` forceDeleteStrategy determines how force delete is triggered on node failure. Possible values: \["AfterNodeUnreachable"\] |
| `policy.failoverSettings.afterNodeUnreachable` *Optional* | `object` Configuration for a force delete strategy of "AfterNodeUnreachable". Should only be set when type is equal to AfterNodeUnreachable. |
| `policy.failoverSettings.afterNodeUnreachable.afterNodeUnbreachableSeconds` *Required\** | `int` AfterNodeUnreachableSeconds is the timeout to force delete a pod after the node it is running on is marked as unreachable. |

\* Field is required when parent field is specified

### Status

#### Schema

```yaml
conditions:
- lastTransitionTime: string
  message: string
  reason: string
  status: string
  type: string
```

| Fields ||
|---|---|
| `conditions` | `list (object)` Conditions represent the latest available observation of the resource's current state. |
| `conditions[]` | `object` <br /> |
| `conditions[].lastTransitionTime` | `string` Last time the condition transitioned from one status to another. |
| `conditions[].message` | `string` Human-readable message indicating details about last transition. |
| `conditions[].reason` | `string` Unique, one-word, CamelCase reason for the condition's last transition. |
| `conditions[].status` | `string` Status is the status of the condition. Can be True, False, Unknown. |
| `conditions[].type` | `string` Type is the type of the condition. |