anchor.diff:  1. Perform one of the following procedures to download and install bosh-bootloader:
       * On Mac OS X, use Homebrew:
           <pre class="terminal">$ brew install cloudfoundry/tap/bbl</pre>
  +
       * Download the latest bosh-bootloader from [GitHub](https://github.com/cloudfoundry/bosh-bootloader/releases/latest). Make the binary executable and move it to somewhere in your PATH:
           <pre class="terminal">
           $ chmod +x ~/Downloads/bbl-*
           $ sudo mv ~/Downloads/bbl-* /usr/local/bin/bbl
  -        </pre> 
  +        </pre>
   
   1. Download and install the [gcloud CLI](https://cloud.google.com/sdk/downloads).
   
  
positive.code:     <pre class="terminal">
      $ tar xvf ~/Downloads/terraform*
      $ sudo mv ~/Downloads/terraform /usr/local/bin/terraform
      </pre> 
  
  1. Download the [BOSH CLI v2](https://bosh.io/docs/cli-v2.html#install). Make the binary executable and move it to somewhere in your PATH:
      <pre class="terminal">
  
negative.code: Perform the following steps to create the Identity and Access Management (IAM) service account that bosh-bootloader needs to interact with GCP:
  
  1. If you installed the gcloud CLI for the first time, initialize it:
      <pre class="terminal">
      $ gcloud init
      </pre>
  
  1. Create the IAM service account for bosh-bootloader with the gcloud CLI:
      <pre class="terminal">
      $ gcloud iam service-accounts create bbl-user --display-name "BBL"
      </pre>
  
  1. Navigate to the GCP Console and under **Project info**, retrieve your **Project ID**.
  
  1. Create keys for the service account, replacing `YOUR-PROJECT-ID` with the project ID you retrieved in the previous step:
      <pre class="terminal">
      $ gcloud iam service-accounts keys create \
      --iam-account='bbl-user<span>@</span>YOUR-PROJECT-ID.iam.gserviceaccount.com' \
      bbl-user.key.json
      </pre>
  
      This command outputs a `bbl-user.key.json` file. Store this file in a safe and secure place.
  
  1. Add the Editor role to the service account:
      <pre class="terminal">
      $ gcloud projects add-iam-policy-binding YOUR-PROJECT-ID \
      --member='serviceAccount:bbl-user<span>@</span>YOUR-PROJECT-ID.iam.gserviceaccount.com' \
      --role='roles/editor'
      </pre>
  
  ## <a id="create-infra-bosh"></a> Step 3: Create Infrastructure, Bastion, BOSH Director, and Load Balancers
  
  Run the following command to create the required infrastructure,
  deploy a bastion, deploy a BOSH director and create load balancers
  for Cloud Foundry:
  
      <pre class="terminal">
      $ bbl plan \
        --iaas gcp \
        --gcp-service-account-key PATH-TO/bbl-user.key.json \
        --gcp-region YOUR-GCP-REGION \
        --lb-type cf \
        --lb-cert YOUR-CERT.crt \
        --lb-key YOUR-KEY.key \
        --lb-domain YOUR-SYSTEM-DOMAIN
  
      $ bbl up
      </pre>
  
  Replace the placeholders as follows:
  
  * `PATH-TO` is the path to the `bbl-user.key.json` file, created in the previous section.
  * `YOUR-GCP-REGION` is your GCP region, such as `us-central1`.
  * `YOUR-CERT.crt` and `YOUR-KEY.key` are the path to your Certificate Authority (CA) certificate and key. This enables SSL/TLS termination at your load balancer.
  * `YOUR-SYSTEM-DOMAIN` is the DNS domain name for your Cloud Foundry instance. Cloud Foundry uses this domain name when deploying apps. For example, if you select the name `cloud.example.com`, Cloud Foundry deploys each of your apps as `APP-NAME.cloud.example.com`.
  
  The `bbl up` command takes five to eight minutes to complete.
  When the process finishes, it outputs a state file, `bbl-state.json`, in the present working directory.
  
  <p class="note"><strong>Note</strong>: The <code>bbl-state.json</code> file
  contains credentials and other metadata related to your BOSH Director and
  infrastructure. Back up this file and store it in a safe location, and never
  modify it manually.</p>
  
  To extract information from the `bbl-state.json` state file, use bosh-bootloader
  instead of opening the file. For example, to obtain your BOSH Director address,
  run the following command:
  
      <pre class="terminal">
      $ bbl director-address
      https://YOUR-DIRECTOR-ADDRESS
      </pre>
  
  Run `bbl` to see the full list of values from the state file that you can print.
  You must always run `bbl` from the directory that contains `bbl-state.json`.
  
  For test and development environments, you can also generate your own CA certificate and key with a tool such as [certstrap](https://github.com/square/certstrap).
  
  ## <a id='update-dns'></a> Step 5: Update DNS Records
  
  The `create-lbs` command creates an NS record in Google's CloudDNS. You can view
  this record by navigating to the [GCP Console and selecting **Networking > Cloud DNS**.
  
  The data associated with the record will have the following format:
  
  