From f0544c9c08e80b36aeca9d17fc7a2739e53f7023 Mon Sep 17 00:00:00 2001 From: Willi Kisser Date: Fri, 1 Dec 2023 20:18:26 +0100 Subject: [PATCH] Added terraform command: providers Readme has been extended with terraform commands and options. --- packages/terraform/README.md | 23 +++++++++++++++++++ packages/terraform/executors.json | 10 ++++++++ .../src/executors/providers/compat.ts | 5 ++++ .../src/executors/providers/providers.impl.ts | 3 +++ .../src/executors/providers/schema.json | 9 ++++++++ .../src/generators/init/init.impl.ts | 6 +++++ 6 files changed, 56 insertions(+) create mode 100644 packages/terraform/src/executors/providers/compat.ts create mode 100644 packages/terraform/src/executors/providers/providers.impl.ts create mode 100644 packages/terraform/src/executors/providers/schema.json diff --git a/packages/terraform/README.md b/packages/terraform/README.md index f99f315e..3401a662 100644 --- a/packages/terraform/README.md +++ b/packages/terraform/README.md @@ -19,6 +19,29 @@ nx g @nx-extend/terraform:init ## Usage +### Setup +```sh +nx g @nx-extend/terraform:init +``` + +#### Available options: + +| name | type | required | default | description | +|-------------------|----------|----------|---------|------------------------------------------------------------------| +| **`--name`** | `string` | `true` | | Terraform project name | +| **`--directory`** | `string` | `false` | | A directory where the project is placed, based on the sourceRoot | +| **`--tags`** | `string` | `false` | `empty` | Comma separated list for tags | + +### Terraform execution + +```sh +nx run consent-service-infra-accounts-dev:initialize +nx run consent-service-infra-accounts-dev:providers +nx run consent-service-infra-accounts-dev:plan +nx run consent-service-infra-accounts-dev:apply +nx run consent-service-infra-accounts-dev:destroy +``` + #### Available options: | name | type | default | description | diff --git a/packages/terraform/executors.json b/packages/terraform/executors.json index fc96e161..49dbccdb 100644 --- a/packages/terraform/executors.json +++ b/packages/terraform/executors.json @@ -24,6 +24,11 @@ "implementation": "./src/executors/destroy/destroy.impl", "schema": "./src/executors/destroy/schema.json", "description": "destroy executor" + }, + "providers": { + "implementation": "./src/executors/providers/providers.impl", + "schema": "./src/executors/providers/schema.json", + "description": "providers executor" } }, "builders": { @@ -51,6 +56,11 @@ "implementation": "./src/executors/destroy/destroy.impl", "schema": "./src/executors/destroy/schema.json", "description": "destroy executor" + }, + "providers": { + "implementation": "./src/executors/providers/providers.impl", + "schema": "./src/executors/providers/schema.json", + "description": "providers executor" } } } diff --git a/packages/terraform/src/executors/providers/compat.ts b/packages/terraform/src/executors/providers/compat.ts new file mode 100644 index 00000000..e8b196c4 --- /dev/null +++ b/packages/terraform/src/executors/providers/compat.ts @@ -0,0 +1,5 @@ +import { convertNxExecutor } from '@nx/devkit' + +import providersExecutor from './providers.impl' + +export default convertNxExecutor(providersExecutor) diff --git a/packages/terraform/src/executors/providers/providers.impl.ts b/packages/terraform/src/executors/providers/providers.impl.ts new file mode 100644 index 00000000..6e22d573 --- /dev/null +++ b/packages/terraform/src/executors/providers/providers.impl.ts @@ -0,0 +1,3 @@ +import { createExecutor } from '../../utils/create-executor' + +export default createExecutor('providers') diff --git a/packages/terraform/src/executors/providers/schema.json b/packages/terraform/src/executors/providers/schema.json new file mode 100644 index 00000000..d7db0f35 --- /dev/null +++ b/packages/terraform/src/executors/providers/schema.json @@ -0,0 +1,9 @@ +{ + "version": 2, + "outputCapture": "direct-nodejs", + "$schema": "http://json-schema.org/schema", + "type": "object", + "title": "Providers executor", + "description": "Providers", + "properties": {} +} diff --git a/packages/terraform/src/generators/init/init.impl.ts b/packages/terraform/src/generators/init/init.impl.ts index b996bdad..e1169752 100644 --- a/packages/terraform/src/generators/init/init.impl.ts +++ b/packages/terraform/src/generators/init/init.impl.ts @@ -52,6 +52,12 @@ export default async function ( ciMode: true } }, + providers: { + executor: '@nx-extend/terraform:providers', + options: { + ciMode: true + } + }, apply: { executor: '@nx-extend/terraform:apply', options: {