anchor.diff:  				MaxItems: 1,
   				// This field is Optional + Computed because we automatically set the
   				// enabled value to false if the block is not returned in API responses.
  -				Optional: true,
  -				Computed: true,
  +				Optional:    true,
  +				Computed:    true,
  +				Description: `Per-cluster configuration of Node Auto-Provisioning with Cluster Autoscaler to automatically adjust the size of the cluster and create/delete node pools based on the current needs of the cluster's workload. See the guide to using Node Auto-Provisioning for more details.`,
   				Elem: &schema.Resource{
   					Schema: map[string]*schema.Schema{
   						"enabled": {
  -							Type:     schema.TypeBool,
  -							Required: true,
  +							Type:        schema.TypeBool,
  +							Required:    true,
  +							Description: `Whether node auto-provisioning is enabled. Resource limits for cpu and memory must be defined to enable node auto-provisioning.`,
   						},
   						"resource_limits": {
  -							Type:     schema.TypeList,
  -							Optional: true,
  +							Type:        schema.TypeList,
  +							Optional:    true,
  +							Description: `Global constraints for machine resources in the cluster. Configuring the cpu and memory types is required if node auto-provisioning is enabled. These limits will apply to node pool autoscaling in addition to node auto-provisioning.`,
   							Elem: &schema.Resource{
   								Schema: map[string]*schema.Schema{
   									"resource_type": {
  -										Type:     schema.TypeString,
  -										Required: true,
  +										Type:        schema.TypeString,
  +										Required:    true,
  +										Description: `The type of the resource. For example, cpu and memory. See the guide to using Node Auto-Provisioning for a list of types.`,
   									},
   									"minimum": {
  -										Type:     schema.TypeInt,
  -										Optional: true,
  +										Type:        schema.TypeInt,
  +										Optional:    true,
  +										Description: `Minimum amount of the resource in the cluster.`,
   									},
   									"maximum": {
  -										Type:     schema.TypeInt,
  -										Optional: true,
  +										Type:        schema.TypeInt,
  +										Optional:    true,
  +										Description: `Maximum amount of the resource in the cluster.`,
   									},
   								},
   							},
   						},
   						"auto_provisioning_defaults": {
  -							Type:     schema.TypeList,
  -							MaxItems: 1,
  -							Optional: true,
  -							Computed: true,
  +							Type:        schema.TypeList,
  +							MaxItems:    1,
  +							Optional:    true,
  +							Computed:    true,
  +							Description: `Contains defaults for a node pool created by NAP.`,
   							Elem: &schema.Resource{
   								Schema: map[string]*schema.Schema{
   									"oauth_scopes": {
  -										Type:     schema.TypeList,
  -										Optional: true,
  -										Computed: true,
  -										Elem:     &schema.Schema{Type: schema.TypeString},
  +										Type:             schema.TypeList,
  +										Optional:         true,
  +										Computed:         true,
  +										Elem:             &schema.Schema{Type: schema.TypeString},
   										DiffSuppressFunc: containerClusterAddedScopesSuppress,
  +										Description:      `Scopes that are used by NAP when creating node pools.`,
   									},
   									"service_account": {
  -										Type:     schema.TypeString,
  -										Optional: true,
  -										Default:  "default",
  +										Type:        schema.TypeString,
  +										Optional:    true,
  +										Default:     "default",
  +										Description: `The Google Cloud Platform Service Account to be used by the node VMs.`,
   									},
   									<% unless version == 'ga' -%>
   									"min_cpu_platform": {
  -										Type:  schema.TypeString,
  -										Optional: true,
  +										Type:             schema.TypeString,
  +										Optional:         true,
   										DiffSuppressFunc: emptyOrDefaultStringSuppress("automatic"),
  +										Description:      `Minimum CPU platform to be used by this instance. The instance may be scheduled on the specified or newer CPU platform. Applicable values are the friendly names of CPU platforms, such as Intel Haswell.`,
   									},
   									<% end -%>
   								},
  
positive.code: 							},
  						},
  						"kubernetes_dashboard": {
  							Type:       schema.TypeList,
  							Optional:  true,
  							Removed: "The Kubernetes Dashboard addon is removed for clusters on GKE.",
  							Computed: true,
  							MaxItems: 1,
  							Elem: &schema.Resource{
  								Schema: map[string]*schema.Schema{
  									"disabled": {
  
negative.code: 						// though, being unset was considered identical to set
  						// and the issue_client_certificate value being true.
  						"client_certificate_config": {
  							Type:         schema.TypeList,
  							MaxItems:     1,
  							Optional:     true,
  							Computed:     true,
  							AtLeastOneOf: []string{"master_auth.0.password", "master_auth.0.username", "master_auth.0.client_certificate_config"},
  							ForceNew:     true,
  							Description:  `Whether client certificate authorization is enabled for this cluster.`,
  							Elem: &schema.Resource{
  								Schema: map[string]*schema.Schema{
  									"issue_client_certificate": {
  										Type:        schema.TypeBool,
  										Required:    true,
  										ForceNew:    true,
  										Description: `Whether client certificate authorization is enabled for this cluster.`,
  									},
  								},
  							},
  						},
  
  						"client_certificate": {
  							Type:        schema.TypeString,
  							Computed:    true,
  							Description: `Base64 encoded public certificate used by clients to authenticate to the cluster endpoint.`,
  						},
  
  						"client_key": {
  							Type:        schema.TypeString,
  							Computed:    true,
  							Sensitive:   true,
  							Description: `Base64 encoded private key used by clients to authenticate to the cluster endpoint.`,
  						},
  
  						"cluster_ca_certificate": {
  							Type:        schema.TypeString,
  							Computed:    true,
  							Description: `Base64 encoded public certificate that is the root of trust for the cluster.`,
  						},
  					},
  				},
  			},
  
  			"master_authorized_networks_config": {
  				Type:        schema.TypeList,
  				Optional:    true,
  				MaxItems:    1,
  				Elem:        networkConfig,
  				Description: `The desired configuration options for master authorized networks. Omit the nested cidr_blocks attribute to disallow external access (except the cluster node IPs, which GKE automatically whitelists).`,
  			},
  
  			"min_master_version": {
  				Type:        schema.TypeString,
  				Optional:    true,
  				Description: `The minimum version of the master. GKE will auto-update the master to new versions, so this does not guarantee the current master version--use the read-only master_version field to obtain that. If unset, the cluster's version will be set by GKE to the version of the most recent official release (which is not necessarily the latest version).`,
  			},
  
  			"monitoring_service": {
  