diff --git a/website/docs/getting_started.html.markdown b/website/docs/getting_started.html.markdown
index 3b0f8abf01f..953784d64f2 100644
--- a/website/docs/getting_started.html.markdown
+++ b/website/docs/getting_started.html.markdown
@@ -225,6 +225,7 @@ the provider block (including how you can eliminate it entirely!).
You can also check out the [GCP Community tutorials](https://cloud.google.com/community/tutorials/)
such as:
+
* [Getting started with Terraform on Google Cloud Platform](https://cloud.google.com/community/tutorials/getting-started-on-gcp-with-terraform)
* [Managing GCP Projects with Terraform](https://cloud.google.com/community/tutorials/managing-gcp-projects-with-terraform)
* [Modular Load Balancing with Terraform](https://cloud.google.com/community/tutorials/modular-load-balancing-with-terraform)
diff --git a/website/docs/index.html.markdown b/website/docs/index.html.markdown
index 708c69f00f8..5b49f289904 100644
--- a/website/docs/index.html.markdown
+++ b/website/docs/index.html.markdown
@@ -76,8 +76,11 @@ the issue!
## Contributing
If you'd like to help extend the Google provider, we gladly accept community
-contributions! Check out the [provider README](https://github.com/terraform-providers/terraform-provider-google)
-for instructions about getting started developing, the [HashiCorp contribution guidelines](https://github.com/hashicorp/terraform/blob/master/.github/CONTRIBUTING.md)
+contributions! Pull requests should be made against [Magic Modules](https://github.com/GoogleCloudPlatform/magic-modules)
+to ensure they are applied to both `google` and `google-beta`.
+
+Check out the [Magic Modules setup guide](https://github.com/GoogleCloudPlatform/magic-modules#one-time-setup) to get set up, the [provider README](https://github.com/terraform-providers/terraform-provider-google)
+for instructions about running your generated code, the [HashiCorp contribution guidelines](https://github.com/hashicorp/terraform/blob/master/.github/CONTRIBUTING.md)
for a Terraform provider development overview, and the [Google provider contribution guidelines](https://github.com/terraform-providers/terraform-provider-google/blob/master/.github/CONTRIBUTING.md)
for our provider-specific advice.
@@ -85,7 +88,7 @@ for our provider-specific advice.
The Google provider supports generally available (GA) and Beta GCP features. We
are focusing on filling out general GA feature coverage and on adding support
-for beta features that customers request. So if you need us to support a feature
+for beta features that customers request. If you need us to support a feature
whether GA or beta, please [file a feature request](https://github.com/terraform-providers/terraform-provider-google/issues/new?template=enhancement.md)!
If you're interested in using Alpha GCP features, you should still [file a feature request](https://github.com/terraform-providers/terraform-provider-google/issues/new?template=enhancement.md)
diff --git a/website/docs/provider_reference.html.markdown b/website/docs/provider_reference.html.markdown
index c4aa8a2dbb9..2182924132b 100644
--- a/website/docs/provider_reference.html.markdown
+++ b/website/docs/provider_reference.html.markdown
@@ -11,14 +11,15 @@ description: |-
-> We recently introduced the `google-beta` provider. See [Provider Versions](https://terraform.io/docs/providers/google/provider_versions.html)
for more details on how to use `google-beta`.
-The `google` provider block is used to configure default values for your GCP
-project and location (`zone` and `region`), and add your credentials.
+The `google` and `google-beta` provider blocks are used to configure default values for
+your GCP project and location (`zone` and `region`), and add your credentials.
-> You can avoid using a provider block by using environment variables. Every
-field of the `google` provider is optional. If you want to share configs between
-environments and deploy to different projects, try it out!
+field of `google` and `google-beta` is inferred from your environment when it
+has not been explicitly set. Even better - the GA and beta providers will both
+share the same values.
-## Example Usage
+## Example Usage - Basic provider blocks
```hcl
provider "google" {
@@ -38,9 +39,31 @@ provider "google-beta" {
}
```
+## Example Usage - Using beta features with `google-beta`
+
+To use Google Cloud Platform features that are in beta, explicitly set the provider for your
+resource to `google-beta`. See [Provider Versions](https://terraform.io/docs/providers/google/provider_versions.html)
+for a full reference on how to use different GCP versions with the Google provider.
+
+```hcl
+resource "google_compute_instance" "ga-instance" {
+ provider = "google"
+
+ # ...
+}
+
+resource "google_compute_instance" "beta-instance" {
+ provider = "google-beta"
+
+ # ...
+}
+```
+
+
## Configuration Reference
-The following keys can be used to configure the provider.
+The following keys can be used to configure the provider. Both `google` and `google-beta`
+share the same configuration.
* `credentials` - (Optional) The path or contents of a file that contains your
service account private key in JSON format. You can download your existing
diff --git a/website/docs/provider_versions.html.markdown b/website/docs/provider_versions.html.markdown
index 463d10037a7..204e3ddb9db 100644
--- a/website/docs/provider_versions.html.markdown
+++ b/website/docs/provider_versions.html.markdown
@@ -8,14 +8,14 @@ description: |-
# Google Provider Versions
-The Google Provider comes in two versions:
+Starting with version `1.19.0`, there are two versions of the Google provider:
* terraform-provider-google
* terraform-provider-google-beta
All GA products and features are available in both versions of the provider.
-In version 2.0.0 and beyond of the providers, beta features will only be available in the beta version of the provider.
+From version `2.0.0` onwards, beta features are only available in the beta version of the provider (`google-beta`).
Beta GCP Features have no deprecation policy and no SLA, but are otherwise considered to be feature-complete
with only minor outstanding issues after their Alpha period. Beta is when GCP
features are publicly announced, and is when they generally become publicly
@@ -33,6 +33,7 @@ provider "google" {
project = "my-project-id"
region = "us-central1"
}
+
provider "google-beta" {
credentials = "${file("account.json")}"
project = "my-project-id"
@@ -62,7 +63,7 @@ If the `provider` field is omitted, Terraform will choose one of the versions av
Resources can safely be converted from one version to the other without needing to rebuild infrastructure.
-To go from GA to beta, simply change the `provider` field from `"google"` to `"google-beta"`.
+To go from GA to beta, change the `provider` field from `"google"` to `"google-beta"`.
To go from beta to GA, do the reverse. If you were previously using beta fields that you no longer wish to use: