To implement infrastructure as code with different cloud providers, terraform comes with commands that take subcommands such as "apply" or "plan" to do its job. Below is the complete list of subcommands
Terraform workspaces in more detail -
Terraform workspaces are a feature that allows you to manage multiple distinct sets of Terraform state files within a single Terraform configuration.
Workspaces are useful when you need to maintain multiple copies of the same infrastructure for different purposes, such as development, testing, staging, and production, without duplicating your configuration files.
When you work with Terraform workspaces, each workspace has its own state file, which means that you can have different resource instances or configurations for each workspace.
This separation helps prevent accidental changes to the wrong environments and makes it easier to manage complex deployments.
Terraform starts with a single, default workspace named `default` that you cannot delete. If you have not created a new workspace, you are using the default workspace in your Terraform working directory.
Few commands to work on workspaces -
List workspaces:
$ terraform workspace list * default
Create a workspace:
$ terraform workspace new dev Created and switched to workspace "dev"!
You're now on a new, empty workspace. Workspaces isolate their state,
so if you run "terraform plan" Terraform will not see any existing state
for this configuration.
$ terraform workspace new staging Created and switched to workspace "staging"!
You're now on a new, empty workspace. Workspaces isolate their state,
so if you run "terraform plan" Terraform will not see any existing state
for this configuration.
To check the current workspace, use the `terraform workspace show` command.
$ terraform workspace show staging
Select a Workspace: To switch b/w workspaces $ terraform workspace list default dev * staging $ terraform workspace select dev Switched to workspace "dev". $ terraform workspace show dev Destroy Resources per workspace: $ terraform workspace delete dev
No comments:
Post a Comment