<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE FL_Course SYSTEM "https://www.flane.de/dtd/fl_course095.dtd"><?xml-stylesheet type="text/xsl" href="https://portal.flane.ch/css/xml-course.xsl"?><course productid="32294" language="fr" source="https://portal.flane.ch/swisscom/fr/xml-course/google-gstgc" lastchanged="2025-09-30T15:29:50+02:00" parent="https://portal.flane.ch/swisscom/fr/xml-courses"><title>Getting Started with Terraform for Google Cloud</title><productcode>GSTGC</productcode><vendorcode>GO</vendorcode><vendorname>Google</vendorname><fullproductcode>GO-GSTGC</fullproductcode><version>1.0</version><objective>&lt;ul&gt;
&lt;li&gt;Define the business need for infrastructure as code and the benefits of using it in your environment.&lt;/li&gt;&lt;li&gt;Explain the features and functionalities of Terraform.&lt;/li&gt;&lt;li&gt;Use Terraform resources, variables, and output values to create Google Cloud infrastructure resources.&lt;/li&gt;&lt;li&gt;Use Terraform modules to build reusable configurations.&lt;/li&gt;&lt;li&gt;Explain Terraform state and its importance.&lt;/li&gt;&lt;/ul&gt;</objective><essentials>&lt;p&gt;To get the most out of this course, participants should:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Complete &lt;span class=&quot;cms-link-marked&quot;&gt;&lt;a class=&quot;fl-href-prod&quot; href=&quot;/swisscom/fr/course/google-gcf-ci&quot;&gt;&lt;svg role=&quot;img&quot; aria-hidden=&quot;true&quot; focusable=&quot;false&quot; data-nosnippet class=&quot;cms-linkmark&quot;&gt;&lt;use xlink:href=&quot;/css/img/icnset-linkmarks.svg#linkmark&quot;&gt;&lt;/use&gt;&lt;/svg&gt;Google Cloud Fundamentals: Core Infrastructure &lt;span class=&quot;fl-prod-pcode&quot;&gt;(GCF-CI)&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Have basic programming skills and familiarity with using CLI&lt;/li&gt;&lt;li&gt;Have general familiarity with Google Cloud&lt;/li&gt;&lt;/ul&gt;</essentials><audience>&lt;p&gt;Cloud engineers, DevOps engineers, and individuals who want to start using Terraform to automate infrastructure provisioning with a focus on Google Cloud Platform.&lt;/p&gt;</audience><outline>&lt;h4&gt;Module 01 - Introduction to Terraform for Google Cloud&lt;/h4&gt;&lt;p&gt;
&lt;strong&gt;Topics:&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Introduction to IaC&lt;ul&gt;
&lt;li&gt;What is infrastructure as code (IaC)?&lt;/li&gt;&lt;li&gt;Problems IaC can solve&lt;/li&gt;&lt;li&gt;Benefits of IaC&lt;/li&gt;&lt;li&gt;Provisioning versus configuration&lt;/li&gt;&lt;li&gt;Imperative versus declarative approach&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Introduction to Terraform&lt;ul&gt;
&lt;li&gt;Terraform overview&lt;/li&gt;&lt;li&gt;Terraform features&lt;/li&gt;&lt;li&gt;IaC configuration workflow&lt;/li&gt;&lt;li&gt;Terraform use cases&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Using Terraform&lt;ul&gt;
&lt;li&gt;How to use Terraform&lt;/li&gt;&lt;li&gt;Running Terraform in production&lt;/li&gt;&lt;li&gt;Installing Terraform&lt;/li&gt;&lt;li&gt;Authentication for Google Cloud&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Objectives:&lt;/strong&gt;
Upon completion of this module, the student will be able to:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Define infrastructure as code.&lt;/li&gt;&lt;li&gt;Explain the features and benefits of using Terraform.&lt;/li&gt;&lt;li&gt;Explain the use case of Terraform for Google Cloud.&lt;/li&gt;&lt;li&gt;Describe how to use Terraform for Google Cloud.&lt;/li&gt;&lt;/ul&gt;&lt;h4&gt;Module 02 - Terms and Concepts&lt;/h4&gt;&lt;p&gt;
&lt;strong&gt;Topics:&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The Author phase&lt;ul&gt;
&lt;li&gt;Terraform Directory structure&lt;/li&gt;&lt;li&gt;Introduction to HCL syntax&lt;/li&gt;&lt;li&gt;Resources&lt;/li&gt;&lt;li&gt;Variables&lt;/li&gt;&lt;li&gt;State&lt;/li&gt;&lt;li&gt;Modules&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Terraform commands&lt;ul&gt;
&lt;li&gt;terraform init&lt;/li&gt;&lt;li&gt;terraform plan&lt;/li&gt;&lt;li&gt;terraform apply&lt;/li&gt;&lt;li&gt;terraform fmt&lt;/li&gt;&lt;li&gt;terraform destroy&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Terraform Validator tool&lt;ul&gt;
&lt;li&gt;Introduction&lt;/li&gt;&lt;li&gt;Why use the Terraform Validator tool&lt;/li&gt;&lt;li&gt;Validation workflow&lt;/li&gt;&lt;li&gt;Terraform Validator use cases&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Objectives:&lt;/strong&gt;
Upon completion of this module, the student will be able to:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Explain the Terraform workflow.&lt;/li&gt;&lt;li&gt;Create basic configuration files within Terraform.&lt;/li&gt;&lt;li&gt;Explain the purpose of a few Terraform commands.&lt;/li&gt;&lt;li&gt;Describe the Terraform Validator tool.&lt;/li&gt;&lt;li&gt;Create, update, and destroy Google Cloud resources using Terraform.&lt;/li&gt;&lt;/ul&gt;&lt;h4&gt;Module 03 - Writing Infrastructure Code for Google Cloud&lt;/h4&gt;&lt;p&gt;
&lt;strong&gt;Topics:&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Introduction to Resources&lt;ul&gt;
&lt;li&gt;Resources overview&lt;/li&gt;&lt;li&gt;Syntax&lt;/li&gt;&lt;li&gt;Example&lt;/li&gt;&lt;li&gt;Refer a resource attribute&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Considerations to define a resource block&lt;/li&gt;&lt;li&gt;Meta-arguments for resources&lt;/li&gt;&lt;li&gt;Resource dependencies&lt;ul&gt;
&lt;li&gt;Implicit dependency&lt;/li&gt;&lt;li&gt;Explicit dependency&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Introduction to Variables&lt;ul&gt;
&lt;li&gt;Overview&lt;/li&gt;&lt;li&gt;Syntax to declare a variable&lt;/li&gt;&lt;li&gt;Syntax to reference and assign a value to a variable&lt;/li&gt;&lt;li&gt;Variables best practices&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Introduction to output values&lt;ul&gt;
&lt;li&gt;Output values overview&lt;/li&gt;&lt;li&gt;Best practices&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Terraform Registry and CFT&lt;ul&gt;
&lt;li&gt;Introduction to Terraform Registry&lt;/li&gt;&lt;li&gt;Introduction to CFT&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Objectives:&lt;/strong&gt;
Upon completion of this module, the student will be able to:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Declare the resources within Terraform.&lt;/li&gt;&lt;li&gt;Explain implicit and explicit resource dependencies.&lt;/li&gt;&lt;li&gt;Use variables and output values within the root configuration.&lt;/li&gt;&lt;li&gt;Explain Terraform Registry and Cloud Foundation Toolkit.&lt;/li&gt;&lt;/ul&gt;&lt;h4&gt;Module 04 - Organizing and Reusing Configuration with Terraform Modules&lt;/h4&gt;&lt;p&gt;
&lt;strong&gt;Topics:&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Introduction to modules:&lt;ul&gt;
&lt;li&gt;Why are modules needed&lt;/li&gt;&lt;li&gt;What is a module?&lt;/li&gt;&lt;li&gt;Example&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Reusing configurations by using modules&lt;ul&gt;
&lt;li&gt;Module sources&lt;/li&gt;&lt;li&gt;Calling a module into the source configuration&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Using variables to parameterize your configuration&lt;/li&gt;&lt;li&gt;Pass resource attributes using output variables&lt;/li&gt;&lt;li&gt;Module use cases, benefits, and best practices&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
&lt;strong&gt;Objectives:&lt;/strong&gt;
Upon completion of this module, the student will be able to:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Define Terraform modules.&lt;/li&gt;&lt;li&gt;Use modules to reuse configurations.&lt;/li&gt;&lt;li&gt;Use modules from the public registry.&lt;/li&gt;&lt;li&gt;Use input variables to parameterize configurations.&lt;/li&gt;&lt;li&gt;Use output values to access resource attributes outside the module.&lt;/li&gt;&lt;/ul&gt;&lt;h4&gt;Module 05 - Introduction to Terraform State&lt;/h4&gt;&lt;p&gt;
&lt;strong&gt;Topics:&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Introduction to Terraform state&lt;ul&gt;
&lt;li&gt;How information is stored in a Terraform state file&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Ways to save a state file&lt;/li&gt;&lt;li&gt;Storing a state file in a Cloud Storage bucket&lt;ul&gt;
&lt;li&gt;Issues when storing the Terraform state locally&lt;/li&gt;&lt;li&gt;Benefits of storing a state file in a Cloud Storage bucket&lt;/li&gt;&lt;li&gt;Process of storing a Terraform state file remotely in a Cloud Storage bucket&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Terraform state best practices&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Objectives:&lt;/strong&gt;
Upon completion of this module, the student will be able to:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Define Terraform state.&lt;/li&gt;&lt;li&gt;List the benefits of storing the state file remotely.&lt;/li&gt;&lt;li&gt;Explain how to store the Terraform state in a Cloud Storage bucket.&lt;/li&gt;&lt;li&gt;Explain Terraform state best practices.&lt;/li&gt;&lt;/ul&gt;</outline><objective_plain>- Define the business need for infrastructure as code and the benefits of using it in your environment.
- Explain the features and functionalities of Terraform.
- Use Terraform resources, variables, and output values to create Google Cloud infrastructure resources.
- Use Terraform modules to build reusable configurations.
- Explain Terraform state and its importance.</objective_plain><essentials_plain>To get the most out of this course, participants should:



- Complete Google Cloud Fundamentals: Core Infrastructure (GCF-CI)
- Have basic programming skills and familiarity with using CLI
- Have general familiarity with Google Cloud</essentials_plain><audience_plain>Cloud engineers, DevOps engineers, and individuals who want to start using Terraform to automate infrastructure provisioning with a focus on Google Cloud Platform.</audience_plain><outline_plain>Module 01 - Introduction to Terraform for Google Cloud


Topics:



- Introduction to IaC
- What is infrastructure as code (IaC)?
- Problems IaC can solve
- Benefits of IaC
- Provisioning versus configuration
- Imperative versus declarative approach
- Introduction to Terraform
- Terraform overview
- Terraform features
- IaC configuration workflow
- Terraform use cases
- Using Terraform
- How to use Terraform
- Running Terraform in production
- Installing Terraform
- Authentication for Google Cloud
Objectives:
Upon completion of this module, the student will be able to:



- Define infrastructure as code.
- Explain the features and benefits of using Terraform.
- Explain the use case of Terraform for Google Cloud.
- Describe how to use Terraform for Google Cloud.
Module 02 - Terms and Concepts


Topics:



- The Author phase
- Terraform Directory structure
- Introduction to HCL syntax
- Resources
- Variables
- State
- Modules
- Terraform commands
- terraform init
- terraform plan
- terraform apply
- terraform fmt
- terraform destroy
- Terraform Validator tool
- Introduction
- Why use the Terraform Validator tool
- Validation workflow
- Terraform Validator use cases
Objectives:
Upon completion of this module, the student will be able to:



- Explain the Terraform workflow.
- Create basic configuration files within Terraform.
- Explain the purpose of a few Terraform commands.
- Describe the Terraform Validator tool.
- Create, update, and destroy Google Cloud resources using Terraform.
Module 03 - Writing Infrastructure Code for Google Cloud


Topics:



- Introduction to Resources
- Resources overview
- Syntax
- Example
- Refer a resource attribute
- Considerations to define a resource block
- Meta-arguments for resources
- Resource dependencies
- Implicit dependency
- Explicit dependency
- Introduction to Variables
- Overview
- Syntax to declare a variable
- Syntax to reference and assign a value to a variable
- Variables best practices
- Introduction to output values
- Output values overview
- Best practices
- Terraform Registry and CFT
- Introduction to Terraform Registry
- Introduction to CFT
Objectives:
Upon completion of this module, the student will be able to:



- Declare the resources within Terraform.
- Explain implicit and explicit resource dependencies.
- Use variables and output values within the root configuration.
- Explain Terraform Registry and Cloud Foundation Toolkit.
Module 04 - Organizing and Reusing Configuration with Terraform Modules


Topics:



- Introduction to modules:
- Why are modules needed
- What is a module?
- Example
- Reusing configurations by using modules
- Module sources
- Calling a module into the source configuration
- Using variables to parameterize your configuration
- Pass resource attributes using output variables
- Module use cases, benefits, and best practices

Objectives:
Upon completion of this module, the student will be able to:



- Define Terraform modules.
- Use modules to reuse configurations.
- Use modules from the public registry.
- Use input variables to parameterize configurations.
- Use output values to access resource attributes outside the module.
Module 05 - Introduction to Terraform State


Topics:



- Introduction to Terraform state
- How information is stored in a Terraform state file
- Ways to save a state file
- Storing a state file in a Cloud Storage bucket
- Issues when storing the Terraform state locally
- Benefits of storing a state file in a Cloud Storage bucket
- Process of storing a Terraform state file remotely in a Cloud Storage bucket
- Terraform state best practices
Objectives:
Upon completion of this module, the student will be able to:



- Define Terraform state.
- List the benefits of storing the state file remotely.
- Explain how to store the Terraform state in a Cloud Storage bucket.
- Explain Terraform state best practices.</outline_plain><duration unit="d" days="1">1 jour</duration><pricelist><price country="US" currency="USD">595.00</price><price country="IT" currency="EUR">650.00</price><price country="GB" currency="GBP">660.00</price><price country="CH" currency="CHF">850.00</price><price country="SI" currency="EUR">660.00</price><price country="CA" currency="CAD">820.00</price><price country="AT" currency="EUR">950.00</price><price country="SE" currency="EUR">950.00</price><price country="DE" currency="EUR">950.00</price><price country="FR" currency="EUR">790.00</price></pricelist><miles/></course>