<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://miguelangel.torresegea.es/wiki/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://miguelangel.torresegea.es/wiki/feed.php">
        <title>miguel angel torres egea</title>
        <description></description>
        <link>https://miguelangel.torresegea.es/wiki/</link>
        <image rdf:resource="https://miguelangel.torresegea.es/wiki/_media/wiki:dokuwiki-128.png" />
       <dc:date>2026-05-23T17:44:14+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:terraform:variables?rev=1749563456&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:terraform:terraform-state?rev=1586181427&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:terraform:win-instance?rev=1558337034&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:terraform:start?rev=1749563482&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:terraform:cli?rev=1749562274&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:terraform:poc:workspaces?rev=1586178196&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:terraform:azure?rev=1586250773&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:terraform:casos-uso?rev=1583761096&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:terraform:modules?rev=1585130256&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:terraform:poc-ad?rev=1554360852&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:terraform:aws?rev=1749543966&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:terraform:data-sources?rev=1585131403&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://miguelangel.torresegea.es/wiki/_media/wiki:dokuwiki-128.png">
        <title>miguel angel torres egea</title>
        <link>https://miguelangel.torresegea.es/wiki/</link>
        <url>https://miguelangel.torresegea.es/wiki/_media/wiki:dokuwiki-128.png</url>
    </image>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:terraform:variables?rev=1749563456&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-06-10T13:50:56+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>terraform variables</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:terraform:variables?rev=1749563456&amp;do=diff</link>
        <description>terraform variables

	*  &lt;https://developer.hashicorp.com/terraform/tutorials/configuration-language/variables&gt;

declaración

	*  recomendado en fichero aparte variables.tf

declaración: 


variable &quot;aws_region&quot; {
  description = &quot;AWS region&quot;
  type        = string
  default     = &quot;us-west-2&quot;
}

variable &quot;instance_count&quot; {
  description = &quot;Number of instances to provision.&quot;
  type        = number
  default     = 2
}

variable &quot;enable_vpn_gateway&quot; {
  description = &quot;Enable a VPN gateway in your V…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:terraform:terraform-state?rev=1586181427&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-06T13:57:07+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Terraform state</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:terraform:terraform-state?rev=1586181427&amp;do=diff</link>
        <description>Terraform state

comandos

	*  list: lista los recursos del state
	*  show: muestra los detalles de uno de los recursos del state
	*  mv: mueve o renombra un recurso
	*  rm: elimina un recurso
	*  pull: descarga el state de un remoto
	*  push: sube el state desde local al remoto</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:terraform:win-instance?rev=1558337034&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-05-20T07:23:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>terraform win-instance</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:terraform:win-instance?rev=1558337034&amp;do=diff</link>
        <description>terraform win-instance

de interés

	*  uso key para recuperar contraseña admin windows
	*  asignación IP privada a dedo
	*  IP pública variable

código


resource &quot;aws_vpc&quot; &quot;my_vpc&quot; {
  cidr_block = &quot;172.16.0.0/16&quot;

  tags = {
    Name = &quot;tf-example&quot;
  }
}

resource &quot;aws_subnet&quot; &quot;my_subnet&quot; {
  vpc_id            = &quot;${aws_vpc.my_vpc.id}&quot;
  cidr_block        = &quot;172.16.10.0/24&quot;
  availability_zone = &quot;${var.az1}&quot;
  map_public_ip_on_launch = true

  tags = {
    Name = &quot;tf-example&quot;
  }
}

resource &quot;…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:terraform:start?rev=1749563482&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-06-10T13:51:22+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>TERRAFORM</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:terraform:start?rev=1749563482&amp;do=diff</link>
        <description>TERRAFORM

devops info

	*  terraform AWS
	*  terraform azure

documentación

	*  Terraform cli
	*  terraform variables
	*  resources
	*  Terraform state
	*  terraform data source
	*  terraform modules

PoC

	*  Terraform workspace

related

enlaces documentación

	*  0.12: &lt;https://www.terraform.io/docs/configuration/index.html&gt;
	*  0.11: &lt;https://www.terraform.io/docs/configuration-0-11/interpolation.html: interpolación (referenciar variables, atributos de recursos, llamar funciones)&gt;

de inte…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:terraform:cli?rev=1749562274&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-06-10T13:31:14+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Terraform cli</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:terraform:cli?rev=1749562274&amp;do=diff</link>
        <description>Terraform cli

básicos

	*  init : Initialize a new or existing Terraform configuration
	*  validate : Validates the Terraform files
	*  plan : Generate and show an execution plan
	*  fmt : Rewrites config files to canonical format
	*  apply : Builds or changes infrastructure</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:terraform:poc:workspaces?rev=1586178196&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-06T13:03:16+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Terraform workspace</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:terraform:poc:workspaces?rev=1586178196&amp;do=diff</link>
        <description>Terraform workspace

comandos

	*  terraform workspace new &lt;ENTORNO&gt;
	*  terraform workspace list
	*  terraform workspace select &lt;ENTORNO&gt;
	*  terraform workspace delete &lt;ENTORNO&gt;
	*  terraform workspace show

ejemplo

	*  se pueden crear tantos entornos como sean necesarios (new)</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:terraform:azure?rev=1586250773&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-07T09:12:53+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>terraform azure</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:terraform:azure?rev=1586250773&amp;do=diff</link>
        <description>terraform azure

devops cursos azure

login

	*  &lt;https://www.terraform.io/docs/providers/azurerm/guides/azure_cli.html&gt;
	*  &lt;https://learn.hashicorp.com/terraform/azure/configure_az&gt;

create remote tfstate


#!/bin/bash

RESOURCE_GROUP_NAME=tstate
STORAGE_ACCOUNT_NAME=tstate$RANDOM
CONTAINER_NAME=tstate

# Create resource group
#az group create --name $RESOURCE_GROUP_NAME --location eastus
az group create --name $RESOURCE_GROUP_NAME --location &quot;West Europe&quot;

# Create storage account
az storage …</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:terraform:casos-uso?rev=1583761096&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-03-09T13:38:16+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>casos de uso</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:terraform:casos-uso?rev=1583761096&amp;do=diff</link>
        <description>casos de uso

data-templates


Install-WindowsFeature -Name GPMC,RSAT-AD-PowerShell,RSAT-AD-AdminCenter,RSAT-ADDS-Tools,RSAT-DNS-Server
New-ADOrganizationalUnit -Name &quot;${container_OU}&quot; -Path &quot;${base_path_AD}&quot;
New-ADGroup -Name &quot;${admin_vpn_group}&quot; -SamAccountName ${admin_vpn_group} -GroupCategory Security -GroupScope Global -DisplayName ${admin_vpn_group} -Path &quot;${vpn_OU_AD}${base_path_AD}&quot;
$Attributes = @{
    Enabled = $true
    ChangePasswordAtLogon = $false
    Name = &quot;${user}&quot;
    AccountPa…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:terraform:modules?rev=1585130256&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-03-25T09:57:36+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>terraform modules</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:terraform:modules?rev=1585130256&amp;do=diff</link>
        <description>terraform modules

+ info: &lt;https://www.terraform.io/docs/configuration/modules.html&gt;

llamada


module &quot;servers&quot; {
  source = &quot;./app-cluster&quot;

  servers = 5 # input var from module
}


	*  otros meta-argumentos
		*  version
		*  providers: map


accediendo a los outputs de un módulo

	*  declarar outputs con los datos que se quieren compartir desde el módulo</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:terraform:poc-ad?rev=1554360852&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-04-04T06:54:12+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>POC estructura AD</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:terraform:poc-ad?rev=1554360852&amp;do=diff</link>
        <description>POC estructura AD

intro

	*  basado en &lt;https://github.com/tonyprawiro/aws-msad-terraform.git&gt;

ficheros


#
# VPC
#

resource &quot;aws_vpc&quot; &quot;vpc_myapp&quot; {
  cidr_block           = &quot;${var.vpc_cidr}&quot;
  instance_tenancy     = &quot;default&quot;
  enable_dns_support   = true
  enable_dns_hostnames = true

  tags {
    Name = &quot;VPC-MYAPP&quot;
  }
}

#
# Internet Gateway - VPC wide
#

resource &quot;aws_internet_gateway&quot; &quot;igw_main&quot; {
  vpc_id = &quot;${aws_vpc.vpc_myapp.id}&quot;

  tags {
    Name = &quot;IGW-MYAPP&quot;
  }

  depends_on = …</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:terraform:aws?rev=1749543966&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-06-10T08:26:06+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>terraform AWS</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:terraform:aws?rev=1749543966&amp;do=diff</link>
        <description>terraform AWS

login


export AWS_DEFAULT_REGION=&quot;us-east-1&quot;
export AWS_ACCESS_KEY_ID=&quot;$(revealpass AWS_ACCESS_KEY_ID)&quot;
export AWS_SECRET_ACCESS_KEY=&quot;$(revealpass AWS_SECRET_ACCESS_KEY)&quot;



revealpass() {
    local DATA_PATH=&quot;/secure/storage/PASSWORDS/&quot;
    local SERVICE=$1
    
    [[ ! -z ${SERVICE} ]] &amp;&amp; [[ -f ${DATA_PATH}${SERVICE} ]] &amp;&amp; cat ${DATA_PATH}${SERVICE}
}</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:terraform:data-sources?rev=1585131403&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-03-25T10:16:43+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>terraform data source</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:terraform:data-sources?rev=1585131403&amp;do=diff</link>
        <description>terraform data source
muy incompleto
definición

data &quot;aws_ami&quot; &quot;example&quot; {
  most_recent = true

  owners = [&quot;self&quot;]
  tags = {
    Name   = &quot;app-server&quot;
    Tested = &quot;true&quot;
  }
}


resource &quot;aws_instance&quot; &quot;web&quot; {
  ami           = data.aws_ami.web.id
  instance_type = &quot;t1.micro&quot;
}</description>
    </item>
</rdf:RDF>
