Terraform: Difference between revisions

From Halfface
Jump to navigationJump to search
Line 1: Line 1:
=what does it mean=
=what does it mean=
<pre>
<pre>
coalesce             Function. Takes any number of arguments and returns the first one that isn't null or an empty string.
coalesce                       Function. Takes any number of arguments and returns the first one that isn't null or an empty string.
aws_iam_role_policy_attachment  Attaches a Managed IAM Policy to an IAM role
</pre>
</pre>
=install terraform=
=install terraform=
  sudo dnf install -y dnf-plugins-core
  sudo dnf install -y dnf-plugins-core

Revision as of 18:16, 10 September 2025

what does it mean

coalesce                        Function. Takes any number of arguments and returns the first one that isn't null or an empty string.
aws_iam_role_policy_attachment  Attaches a Managed IAM Policy to an IAM role

install terraform

sudo dnf install -y dnf-plugins-core
sudo dnf config-manager --add-repo https://rpm.releases.hashicorp.com/fedora/hashicorp.repo
sudo dnf install terraform

Hardcoded install

cd /tmp/ ; curl -sk -L https://releases.hashicorp.com/terraform/1.5.5/terraform_1.5.5_linux_amd64.zip -O ; cd /usr/bin/ ; sudo unzip /tmp/terraform_1.5.5_linux_amd64.zip

file completion

complete -C /usr/bin/terraform terraform

Remove terraform infrastructure

terraform destroy

show

Show what has been done.

terraform show

state

list resources within a Terraform state.

terraform state list

Show more info about individual entity.

terraform state show openstack_networking_network_v2.net3

Import state

terraform import module.kafka_eks.kubernetes_manifest.configmap_kafka_akhq "apiVersion=v1,kind=ConfigMap,namespace=kafka,name=akhq"
terraform import module.kafka_eks.helm_release.akhq kafka/akhq

Name of statefile

terraform.tfstate

state nuke

rm -rf .terraform* terraform*

save and restore s3 state

Save state

terraform state pull > terraform.tfstate.backup-$(date +%F_%H-%M-%S)

Restore state

terraform state push terraform.tfstate.backup-YYYYMMDDHHMMSS

plan

Creates an execution plan, which lets you preview the changes that Terraform plans to make to your infrastructure.

terraform plan

apply

Performs a plan just like terraform plan does, but then actually carries out the planned changes to each resource using the relevant infrastructure provider's API.

terraform apply

debug

TF_LOG=trace terraform init
TRACE DEBUG INFO WARN ERROR

terraform output

Reads and output variable from a Terraform state file

cloud-init

set password on user

ssh_pwauth: false
chpasswd:
  expire: false
  users:
    - name: root
      password: password
      type: text

tofu

Apply without asking.

tofu apply -auto-approve

destroy without asking

tofu destroy -auto-approve

tfk8s

contvert k8s yaml to terraform

tfk8s --strip --file <input> --output <output>

dynamodb

List tables

aws dynamodb list-tables

Look at table.

aws dynamodb scan --table-name

Delete row from table. aws dynamodb delete-item --table-name <your-lock-table> --key '{"LockID": {"S": "<lock-id>"}}'