Generate the providers

Generate google and google-beta providers #

After making a change to the Terraform providers for Google Cloud, you must integrate your changes with the providers. This page explains how to generate provider changes to the google and google-beta Terraform providers.

Before you begin #

  1. Set up your development environment.
  2. Update magic-modules as needed. These updates could be any of the following changes:

Generate a provider change #

  1. Clone the google and google-beta provider repositories with the following commands:

    git clone https://github.com/hashicorp/terraform-provider-google.git $GOPATH/src/github.com/hashicorp/terraform-provider-google
    git clone https://github.com/hashicorp/terraform-provider-google-beta.git $GOPATH/src/github.com/hashicorp/terraform-provider-google-beta
    
  2. Generate changes for the google provider:

    make provider VERSION=ga OUTPUT_PATH="$GOPATH/src/github.com/hashicorp/terraform-provider-google" PRODUCT=[PRODUCT_NAME]
    

    Where [PRODUCT_NAME] is one of the folder names in https://github.com/GoogleCloudPlatform/magic-modules/tree/main/mmv1/products.

    For example, if your product is bigqueryanalyticshub, the command would be the following:

    make provider VERSION=ga OUTPUT_PATH="$GOPATH/src/github.com/hashicorp/terraform-provider-google" PRODUCT=bigqueryanalyticshub
    
  3. Generate changes for the google-beta provider:

    make provider VERSION=beta OUTPUT_PATH="$GOPATH/src/github.com/hashicorp/terraform-provider-google-beta" PRODUCT=[PRODUCT_NAME]
    

    Where [PRODUCT_NAME] is one of the folder names in https://github.com/GoogleCloudPlatform/magic-modules/tree/main/mmv1/products.

    For example, if your product name is bigqueryanalyticshub, the command would be the following:

    make provider VERSION=beta OUTPUT_PATH="$GOPATH/src/github.com/hashicorp/terraform-provider-google-beta" PRODUCT=bigqueryanalyticshub
    
  4. Confirm that the expected changes were generated:

    cd $GOPATH/src/github.com/hashicorp/terraform-provider-google
    git diff -U0
    cd $GOPATH/src/github.com/hashicorp/terraform-provider-google-beta
    git diff -U0
    
    Note: There may be additional changes present due to specifying a PRODUCT= value or due to the magic-modules repository being out of sync with the provider repositories.

Troubleshoot #

Too many open files #

If you are getting “Too many open files” ulimit needs to be raised.

ulimit -n 8192

What’s next #