def GenerateMultipleComputeVMs(context): """Generates multiple VMs that are copies of a single VM spec.""" prop = context.properties if VM_COPIES not in prop: raise common.Error('%s property is needed for multiple VM generation' % VM_COPIES) use_endpoint = ENDPOINT_NAME in prop n_of_copies = prop[VM_COPIES] resources = [] new_disks = [] for idx in range(1, n_of_copies + 1): ctx = copy.deepcopy(context) idx_prop = ctx.properties ctx.env[default.NAME] += AddIdx(idx) # Do something with the instance name and with the disk names disk_prefix = ctx.env[default.NAME] if default.INSTANCE_NAME in idx_prop: idx_prop[default.INSTANCE_NAME] += AddIdx(idx) disk_prefix = idx_prop[default.INSTANCE_NAME] if default.DISKS in idx_prop: # Modifies the disks in idx_prop to have a unique name # Adding the vm extension to match the final hostname NameTheDisks(idx_prop[default.DISKS], disk_prefix) if use_endpoint: idx_prop[ENDPOINT_NAME] += AddIdx(idx) resources += vm_instance.GenerateComputeVM(ctx) resources += vm_instance.AddServiceEndpointIfNeeded(ctx) new_disks += common.AddDiskResourcesIfNeeded(ctx) AddDisksToContext(context, new_disks) return resources
def GenerateResourceList(context, **kwargs): """Returns list of resources generated by this module.""" resources = GenerateComputeVM(context, **kwargs) resources += common.AddDiskResourcesIfNeeded(context) resources += AddServiceEndpointIfNeeded(context) return resources
def GenerateResourceList(context): """Returns list of resources generated by this module.""" resources = GenerateContainerInstance(context) resources += common.AddDiskResourcesIfNeeded(context) return resources
def GenerateResourceList(context): """Returns list of resources generated by this module.""" resources = GenerateMultipleComputeVMs(context) resources += common.AddDiskResourcesIfNeeded(context) return resources
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