Initial Commit for terraform cloud intergation

This commit is contained in:
carlosmonastyrski
2025-04-03 11:15:38 -03:00
parent d6da108e32
commit f00a54ed54
54 changed files with 1519 additions and 28 deletions
+2 -1
View File
@@ -6,7 +6,8 @@ export enum SecretSync {
AzureKeyVault = "azure-key-vault",
AzureAppConfiguration = "azure-app-configuration",
Databricks = "databricks",
Humanitec = "humanitec"
Humanitec = "humanitec",
TerraformCloud = "terraform-cloud"
}
export enum SecretSyncStatus {
@@ -9,6 +9,7 @@ import { TAzureAppConfigurationSync } from "./azure-app-configuration-sync";
import { TAzureKeyVaultSync } from "./azure-key-vault-sync";
import { TGcpSync } from "./gcp-sync";
import { THumanitecSync } from "./humanitec-sync";
import { TTerraformCloudSync } from "./terraform-cloud-sync";
export type TSecretSyncOption = {
name: string;
@@ -24,7 +25,8 @@ export type TSecretSync =
| TAzureKeyVaultSync
| TAzureAppConfigurationSync
| TDatabricksSync
| THumanitecSync;
| THumanitecSync
| TTerraformCloudSync;
export type TListSecretSyncs = { secretSyncs: TSecretSync[] };
@@ -0,0 +1,28 @@
import { AppConnection } from "@app/hooks/api/appConnections/enums";
import { SecretSync } from "@app/hooks/api/secretSyncs";
import { TRootSecretSync } from "@app/hooks/api/secretSyncs/types/root-sync";
export type TTerraformCloudSync = TRootSecretSync & {
destination: SecretSync.TerraformCloud;
destinationConfig:
| {
scope: TerraformCloudSyncScope.Project;
org: string;
project: string;
}
| {
scope: TerraformCloudSyncScope.Workspace;
org: string;
workspace: string;
};
connection: {
app: AppConnection.TerraformCloud;
name: string;
id: string;
};
};
export enum TerraformCloudSyncScope {
Project = "project",
Workspace = "workspace"
}