Terraform Cloud integration

This commit is contained in:
Andrew Atimapre
2023-07-18 23:14:41 +01:00
parent 76f43ab6b4
commit edef22d28e
+10 -42
View File
@@ -1832,8 +1832,10 @@ const syncSecretsTerraformCloud = async ({
accessToken: string; accessToken: string;
}) => { }) => {
const payload = Object.entries(secrets).map(([key, value]) => { Object.entries(secrets).map( async ([key, value]) =>
const payloadObj = { await standardRequest.post(
`${INTEGRATION_TERRAFORM_CLOUD_API_URL}/api/v2/workspaces/${integration.appId}/vars`,
{
data: { data: {
type: 'vars', type: 'vars',
attributes: { attributes: {
@@ -1842,50 +1844,16 @@ const syncSecretsTerraformCloud = async ({
category: `${integration.targetService}`, category: `${integration.targetService}`,
}, },
}, },
}; },
{
return standardRequest.post(`${INTEGRATION_TERRAFORM_CLOUD_API_URL}/api/v2/workspaces/${integration.appId}/vars`, payloadObj, {
headers: { headers: {
Authorization: `Bearer ${accessToken}`, Authorization: `Bearer ${accessToken}`,
"Content-Type": "application/vnd.api+json", "Content-Type": "application/vnd.api+json",
"Accept": "application/vnd.api+json" Accept: "application/vnd.api+json",
}, },
}); }
}); )
)
Promise.all(payload);
// get secrets from Terraform Cloud
// const getSecretsRes = (
// await standardRequest.get(
// `${INTEGRATION_TERRAFORM_CLOUD_API_URL}/api/v2/workspaces/${integration.app}/vars`,
// {
// headers: {
// Authorization: `Bearer ${accessToken}`,
// "Content-Type": "application/vnd.api+json",
// "Accept": "application/vnd.api+json"
// },
// }
// )
// ).data;
// delete secrets from Terraform Cloud
// getSecretsRes.forEach(async (data: any) => {
// if (!(data.attributes.name in secrets)) {
// await standardRequest.delete(
// `${INTEGRATION_TERRAFORM_CLOUD_API_URL}/api/v2/workspaces/${integration.app}/vars/${data.id}`,
// {
// headers: {
// Authorization: `Bearer ${accessToken}`,
// "Content-Type": "application/vnd.api+json",
// "Accept": "application/vnd.api+json"
// },
// }
// );
// }
// });
}; };
/** /**