# SecretSyncGcpSecretManager

> Resource SecretSyncGcpSecretManager in pulumi-infisical.

<!-- Generated from the pulumi-infisical SDK. -->

Resource SecretSyncGcpSecretManager in pulumi-infisical.

Pulumi type: `infisical:index/secretSyncGcpSecretManager:SecretSyncGcpSecretManager`.

`name` is the Pulumi resource name. Nested object fields are documented under that object. They are not arguments of this resource.

## Example

Only required arguments are set. A string in angle brackets stands in for that argument. Any other value is an option or example written in the SDK description.

```ts
import * as infisical from "pulumi-infisical"

const resource = new infisical.SecretSyncGcpSecretManager(
  "secretSyncGcpSecretManager",
  {
    connectionId: "<connectionId>",
    destinationConfig: {
      projectId: "<projectId>",
    },
    environment: "<environment>",
    projectId: "<projectId>",
    secretPath: "<secretPath>",
    syncOptions: {
      initialSyncBehavior: "overwrite-destination",
    },
  },
)
```

## Arguments

| Property            | Type                                                  | Required | Description                                                                                      |
| ------------------- | ----------------------------------------------------- | -------- | ------------------------------------------------------------------------------------------------ |
| `autoSyncEnabled`   | `boolean`                                             | no       | Whether secrets should be automatically synced when changes occur at the source location or not. |
| `connectionId`      | `string`                                              | yes      | The ID of the GCP Connection to use for syncing.                                                 |
| `description`       | `string`                                              | no       | An optional description for the GCP Secret Manager sync.                                         |
| `destinationConfig` | `SecretSyncGcpSecretManagerDestinationConfig (input)` | yes      | The destination configuration for the secret sync.                                               |
| `environment`       | `string`                                              | yes      | The slug of the project environment to sync secrets from.                                        |
| `name`              | `string`                                              | no       | The name of the GCP Secret Manager sync to create. Must be slug-friendly.                        |
| `projectId`         | `string`                                              | yes      | The ID of the Infisical project to create the sync in.                                           |
| `secretPath`        | `string`                                              | yes      | The folder path to sync secrets from.                                                            |
| `syncOptions`       | `SecretSyncGcpSecretManagerSyncOptions (input)`       | yes      | Parameters to modify how secrets are synced.                                                     |

## Outputs

Computed outputs are produced by the provider. They are not constructor arguments.

| Property            | Type                                                   | Computed | Description                                                                                      |
| ------------------- | ------------------------------------------------------ | -------- | ------------------------------------------------------------------------------------------------ |
| `autoSyncEnabled`   | `boolean`                                              | no       | Whether secrets should be automatically synced when changes occur at the source location or not. |
| `connectionId`      | `string`                                               | no       | The ID of the GCP Connection to use for syncing.                                                 |
| `description`       | `string`                                               | no       | An optional description for the GCP Secret Manager sync.                                         |
| `destinationConfig` | `SecretSyncGcpSecretManagerDestinationConfig (output)` | no       | The destination configuration for the secret sync.                                               |
| `environment`       | `string`                                               | no       | The slug of the project environment to sync secrets from.                                        |
| `name`              | `string`                                               | no       | The name of the GCP Secret Manager sync to create. Must be slug-friendly.                        |
| `projectId`         | `string`                                               | no       | The ID of the Infisical project to create the sync in.                                           |
| `secretPath`        | `string`                                               | no       | The folder path to sync secrets from.                                                            |
| `syncOptions`       | `SecretSyncGcpSecretManagerSyncOptions (output)`       | no       | Parameters to modify how secrets are synced.                                                     |

## `SecretSyncGcpSecretManagerDestinationConfig (input)`

Input object `SecretSyncGcpSecretManagerDestinationConfig`. Fields below belong to this object, not to the parent.

| Property                 | Type       | Required | Description                                                                                                                                                     |
| ------------------------ | ---------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `locationId`             | `string`   | no       | The GCP region to sync secrets to (e.g. us-east1). Required when scope is 'region' and must not be set when scope is 'global'.                                  |
| `projectId`              | `string`   | yes      | The ID of the GCP project to sync with                                                                                                                          |
| `scope`                  | `string`   | no       | The scope of the sync with GCP Secret Manager. Supported options: global, region                                                                                |
| `userReplicaLocationIds` | `string[]` | no       | The GCP regions to replicate secrets to (e.g. us-east1). Only applicable when scope is 'global'. When not defined, it will use the automatic replication policy |

## `SecretSyncGcpSecretManagerSyncOptions (input)`

Input object `SecretSyncGcpSecretManagerSyncOptions`. Fields below belong to this object, not to the parent.

| Property                | Type      | Required | Description                                                                                                                                                                 |
| ----------------------- | --------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `disableSecretDeletion` | `boolean` | no       | When set to true, Infisical will not remove secrets from GCP Secret Manager. Enable this option if you intend to manage some secrets manually outside of Infisical.         |
| `initialSyncBehavior`   | `string`  | yes      | Specify how Infisical should resolve the initial sync to the destination. Supported options: overwrite-destination, import-prioritize-source, import-prioritize-destination |
| `keySchema`             | `string`  | no       | The format to use for structuring secret keys in the GCP Secret Manager destination.                                                                                        |

## `SecretSyncGcpSecretManagerDestinationConfig (output)`

Output object `SecretSyncGcpSecretManagerDestinationConfig`. Fields below belong to this object.

| Property                 | Type       | Always present | Description                                                                                                                                                     |
| ------------------------ | ---------- | -------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `locationId`             | `string`   | no             | The GCP region to sync secrets to (e.g. us-east1). Required when scope is 'region' and must not be set when scope is 'global'.                                  |
| `projectId`              | `string`   | yes            | The ID of the GCP project to sync with                                                                                                                          |
| `scope`                  | `string`   | yes            | The scope of the sync with GCP Secret Manager. Supported options: global, region                                                                                |
| `userReplicaLocationIds` | `string[]` | no             | The GCP regions to replicate secrets to (e.g. us-east1). Only applicable when scope is 'global'. When not defined, it will use the automatic replication policy |

## `SecretSyncGcpSecretManagerSyncOptions (output)`

Output object `SecretSyncGcpSecretManagerSyncOptions`. Fields below belong to this object.

| Property                | Type      | Always present | Description                                                                                                                                                                 |
| ----------------------- | --------- | -------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `disableSecretDeletion` | `boolean` | yes            | When set to true, Infisical will not remove secrets from GCP Secret Manager. Enable this option if you intend to manage some secrets manually outside of Infisical.         |
| `initialSyncBehavior`   | `string`  | yes            | Specify how Infisical should resolve the initial sync to the destination. Supported options: overwrite-destination, import-prioritize-source, import-prioritize-destination |
| `keySchema`             | `string`  | no             | The format to use for structuring secret keys in the GCP Secret Manager destination.                                                                                        |
