old_contents: # Copyright 2015 Google Inc. All rights reserved.
  #
  # Licensed under the Apache License, Version 2.0 (the "License");
  # you may not use this file except in compliance with the License.
  # You may obtain a copy of the License at
  #
  #     http://www.apache.org/licenses/LICENSE-2.0
  #
  # Unless required by applicable law or agreed to in writing, software
  # distributed under the License is distributed on an "AS IS" BASIS,
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  # See the License for the specific language governing permissions and
  # limitations under the License.
  """Creates an VM instance template with the same defaults as vm_instance.py."""
  import copy
  
  import common
  import default
  import vm_instance
  
  # Properties for this component, also look at the vm_instance properties
  PROJECT = default.PROJECT
  
  
  # The optional and mandatory fields are the same as a vm_instance
  def GenerateComputeVMTemplate(context):
    """Generates one backendService resource."""
    prop = context.properties
    project = prop.setdefault(PROJECT, context.env[PROJECT])
    vm_tpl = vm_instance.GenerateComputeVM(context)[-1]
    # Copy properties since they will be modified to be used as subproperties
    vm_props = copy.deepcopy(vm_tpl['properties'])
    common.TakeZoneOut(vm_props)
    vm_name = vm_tpl['name'][:-3]  # takes the -vm out
  
    # pyformat: disable
    resource = [
        {
            'name': vm_name,
            'type': default.TEMPLATE,
            'properties': {
                'project': project,
                'properties': vm_props,
            }
        }
    ]
    # pyformat: enable
    return resource
  
  
  def GenerateResourceList(context):
    """Returns list of resources generated by this module."""
    resources = GenerateComputeVMTemplate(context)
    resources += common.AddDiskResourcesIfNeeded(context)
    resources += vm_instance.AddServiceEndpointIfNeeded(context)
    return resources
  
  
  @common.FormatErrorsDec
  def GenerateConfig(context):
    """Generates YAML resource configuration."""
    return common.MakeResource(GenerateResourceList(context))
  
new_contents: # Copyright 2015 Google Inc. All rights reserved.
  #
  # Licensed under the Apache License, Version 2.0 (the "License");
  # you may not use this file except in compliance with the License.
  # You may obtain a copy of the License at
  #
  #     http://www.apache.org/licenses/LICENSE-2.0
  #
  # Unless required by applicable law or agreed to in writing, software
  # distributed under the License is distributed on an "AS IS" BASIS,
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  # See the License for the specific language governing permissions and
  # limitations under the License.
  """Creates an VM instance template with the same defaults as vm_instance.py."""
  import copy
  
  import common
  import default
  import vm_instance
  
  # Properties for this component, also look at the vm_instance properties
  PROJECT = default.PROJECT
  
  
  # The optional and mandatory fields are the same as a vm_instance
  def GenerateComputeVMTemplate(context):
    """Generates one instanceTemplate resource."""
    prop = context.properties
    project = prop.setdefault(PROJECT, context.env[PROJECT])
    vm_tpl = vm_instance.GenerateComputeVM(context,
                                           create_disks_separately=False)[-1]
    # Copy properties since they will be modified to be used as subproperties
    vm_props = copy.deepcopy(vm_tpl['properties'])
    common.TakeZoneOut(vm_props)
    vm_name = vm_tpl['name'][:-3]  # takes the -vm out
  
    # pyformat: disable
    resource = [
        {
            'name': vm_name,
            'type': default.TEMPLATE,
            'properties': {
                'project': project,
                'properties': vm_props,
            }
        }
    ]
    # pyformat: enable
    return resource
  
  
  def GenerateResourceList(context):
    """Returns list of resources generated by this module."""
    resources = GenerateComputeVMTemplate(context)
    resources += common.AddDiskResourcesIfNeeded(context)
    resources += vm_instance.AddServiceEndpointIfNeeded(context)
    return resources
  
  
  @common.FormatErrorsDec
  def GenerateConfig(context):
    """Generates YAML resource configuration."""
    return common.MakeResource(GenerateResourceList(context))
  
subject: Modify vm_instance_template.py template to allow for multiple disks.