github.com/alkar/terraform@v0.9.6-0.20170517124458-a4cddf6ebf59/examples/azure-vm-from-user-image/deploy.ci.sh (about)

     1  #!/bin/bash
     2  
     3  set -o errexit -o nounset
     4  
     5  docker run --rm -it \
     6    -e ARM_CLIENT_ID \
     7    -e ARM_CLIENT_SECRET \
     8    -e ARM_SUBSCRIPTION_ID \
     9    -e ARM_TENANT_ID \
    10    -v $(pwd):/data \
    11    --workdir=/data \
    12    --entrypoint "/bin/sh" \
    13    hashicorp/terraform:light \
    14    -c "/bin/terraform get; \
    15        /bin/terraform validate; \
    16        /bin/terraform plan -out=out.tfplan -var hostname=$KEY -var resource_group=$EXISTING_RESOURCE_GROUP -var admin_username=$KEY -var admin_password=$PASSWORD -var image_uri=$EXISTING_IMAGE_URI -var storage_account_name=$EXISTING_STORAGE_ACCOUNT_NAME; \
    17        /bin/terraform apply out.tfplan; \
    18        /bin/terraform show;"
    19  
    20  docker run --rm -it \
    21    azuresdk/azure-cli-python \
    22    sh -c "az login --service-principal -u $ARM_CLIENT_ID -p $ARM_CLIENT_SECRET --tenant $ARM_TENANT_ID > /dev/null; \
    23           az vm show --name $KEY --resource-group permanent"
    24  
    25  # cleanup deployed azure resources via terraform
    26  docker run --rm -it \
    27    -e ARM_CLIENT_ID \
    28    -e ARM_CLIENT_SECRET \
    29    -e ARM_SUBSCRIPTION_ID \
    30    -e ARM_TENANT_ID \
    31    -v $(pwd):/data \
    32    --workdir=/data \
    33    --entrypoint "/bin/sh" \
    34    hashicorp/terraform:light \
    35    -c "/bin/terraform destroy -force \
    36          -var hostname=$KEY \
    37          -var resource_group=$EXISTING_RESOURCE_GROUP \
    38          -var admin_username=$KEY \
    39          -var admin_password=$PASSWORD \
    40          -var image_uri=$EXISTING_IMAGE_URI \
    41          -var storage_account_name=$EXISTING_STORAGE_ACCOUNT_NAME \
    42          -target=azurerm_virtual_machine.vm \
    43          -target=azurerm_network_interface.nic \
    44          -target=azurerm_virtual_network.vnet \
    45          -target=azurerm_public_ip.pip;"