anchor.diff:  
   		Schema: map[string]*schema.Schema{
   			"base_instance_name": {
  -				Type:     schema.TypeString,
  -				Required: true,
  -				ForceNew: true,
  +				Type:        schema.TypeString,
  +				Required:    true,
  +				ForceNew:    true,
  +				Description: `The base instance name to use for instances in this group. The value must be a valid RFC1035 name. Supported characters are lowercase letters, numbers, and hyphens (-). Instances are named by appending a hyphen and a random four-character string to the base instance name.`,
   			},
   
   			"instance_template": {
  -				Type:     schema.TypeString,
  -				Computed: true,
  -				Removed:  "This field has been replaced by `version.instance_template` in 3.0.0",
  +				Type:        schema.TypeString,
  +				Computed:    true,
  +				Removed:     "This field has been replaced by `version.instance_template` in 3.0.0",
  +				Description: `The full URL to an instance template from which all new instances of this version will be created.`,
   			},
   
   			"version": {
  -				Type:     schema.TypeList,
  -				Required: true,
  +				Type:        schema.TypeList,
  +				Required:    true,
  +				Description: `Application versions managed by this instance group. Each version deals with a specific instance template, allowing canary release scenarios.`,
   				Elem: &schema.Resource{
   					Schema: map[string]*schema.Schema{
   						"name": {
  -							Type:     schema.TypeString,
  -							Optional: true,
  +							Type:        schema.TypeString,
  +							Optional:    true,
  +							Description: `Version name.`,
   						},
   
   						"instance_template": {
   							Type:             schema.TypeString,
   							Required:         true,
   							DiffSuppressFunc: compareSelfLinkRelativePaths,
  +							Description:      `The full URL to an instance template from which all new instances of this version will be created.`,
   						},
   
   						"target_size": {
  -							Type:     schema.TypeList,
  -							Optional: true,
  -							MaxItems: 1,
  +							Type:        schema.TypeList,
  +							Optional:    true,
  +							MaxItems:    1,
  +							Description: `The number of instances calculated as a fixed number or a percentage depending on the settings.`,
   							Elem: &schema.Resource{
   								Schema: map[string]*schema.Schema{
   									"fixed": {
  -										Type:     schema.TypeInt,
  -										Optional: true,
  +										Type:        schema.TypeInt,
  +										Optional:    true,
  +										Description: `The number of instances which are managed for this version. Conflicts with percent.`,
   									},
   
   									"percent": {
   										Type:         schema.TypeInt,
   										Optional:     true,
   										ValidateFunc: validation.IntBetween(0, 100),
  +										Description:  `The number of instances (calculated as percentage) which are managed for this version. Conflicts with fixed. Note that when using percent, rounding will be in favor of explicitly set target_size values; a managed instance group with 2 instances and 2 versions, one of which has a target_size.percent of 60 will create 2 instances of that version.`,
   									},
   								},
   							},
  
positive.code: 							Type:          schema.TypeInt,
  							Optional:      true,
  							Computed:      true,
  							ConflictsWith: []string{"update_policy.0.max_unavailable_percent"},
  						},
  
  
negative.code: <% unless version == 'ga' -%>
  
  			"stateful_disk": {
  				Type:        schema.TypeSet,
  				Optional:    true,
  				Description: `Disks created on the instances that will be preserved on instance delete, update, etc. Structure is documented below. For more information see the official documentation. Proactive cross zone instance redistribution must be disabled before you can update stateful disks on existing instance group managers. This can be controlled via the update_policy.`,
  				Elem: &schema.Resource{
  					Schema: map[string]*schema.Schema{
  						"device_name": {
  							Type:        schema.TypeString,
  							Required:    true,
  							Description: `The device name of the disk to be attached.`,
  						},
  
  						"delete_rule": {
  							Type:         schema.TypeString,
  							Default:      "NEVER",
  							Optional:     true,
  							Description:  `A value that prescribes what should happen to the stateful disk when the VM instance is deleted. The available options are NEVER and ON_PERMANENT_INSTANCE_DELETION. NEVER detatch the disk when the VM is deleted, but not delete the disk. ON_PERMANENT_INSTANCE_DELETION will delete the stateful disk when the VM is permanently deleted from the instance group. The default is NEVER.`,
  							ValidateFunc: validation.StringInSlice([]string{"NEVER", "ON_PERMANENT_INSTANCE_DELETION"}, true),
  						},
  					},
  