예제 #1
0
def DeleteInstance(args):
    resource_ref = GetResourceRef(args)
    api_version = utils.GetApiVersionFromArgs(args)
    delete_request_message = DeleteRequestMessage(resource_ref, api_version)
    delete_op = utils.GetClient(
        api_version).projects_locations_realms_gameServerClusters.Delete(
            delete_request_message)
    return delete_op
예제 #2
0
def GetExistingResource(args):
    resource_ref = GetResourceRef(args)
    api_version = utils.GetApiVersionFromArgs(args)
    get_request_message = GetRequestMessage(resource_ref, api_version)
    orig_resource = utils.GetClient(
        api_version).projects_locations_realms_gameServerClusters.Get(
            get_request_message)
    return orig_resource
예제 #3
0
def ClearDefaultConfig(ref, args, request):
    del ref
    if args.clear_default_config:
        if not request.gameServerDeploymentRollout:
            messages = utils.GetMessages(utils.GetApiVersionFromArgs(args))
            gsd = messages.GameServerDeploymentRollout()
            request.gameServerDeploymentRollout = gsd
        request.gameServerDeploymentRollout.defaultGameServerConfig = ''
    return request
예제 #4
0
def ClearConfigOverrides(ref, args, request):
    del ref
    if args.clear_config_overrides:
        if not request.gameServerDeploymentRollout:
            messages = utils.GetMessages(utils.GetApiVersionFromArgs(args))
            gsd = messages.GameServerDeploymentRollout()
            request.gameServerDeploymentRollout = gsd
        request.gameServerDeploymentRollout.gameServerConfigOverrides = []
    return request
def ConvertOutput(response, args):
    # Try to reenable the log output which was disabled in the request hook
    log.SetUserOutputEnabled(args.user_output_enabled != 'false')
    if not args.dry_run:
        utils.WaitForOperation(response, utils.GetApiVersionFromArgs(args))
        log.status.Print('Updated realm: [{}]'.format(args.realm))
        return GetExistingResource(args)

    return response
예제 #6
0
def PreviewDeleteInstance(args):
    resource_ref = GetResourceRef(args)
    api_version = utils.GetApiVersionFromArgs(args)
    preview_time = args.preview_time if args.preview_time else None
    preview_delete_request_message = PreviewDeleteRequestMessage(
        resource_ref, preview_time, api_version)
    preview_resp = utils.GetClient(
        api_version
    ).projects_locations_realms_gameServerClusters.PreviewDelete(
        preview_delete_request_message)
    return preview_resp
def ProcessConfigsFiles(ref, args, request):
    """Reads the fleet/scaling configs into FleetConfig/ScalingConfig protos and updates the request."""
    del ref
    if args.fleet_configs_file:
        if not request.gameServerConfig:
            messages = utils.GetMessages(utils.GetApiVersionFromArgs(args))
            gsc = messages.GameServerConfig()
            request.gameServerConfig = gsc
        request.gameServerConfig.fleetConfigs = utils.ProcessFleetConfigsFile(
            args.fleet_configs_file, utils.GetApiVersionFromArgs(args))

    if args.scaling_configs_file:
        if not request.gameServerConfig:
            messages = utils.GetMessages(utils.GetApiVersionFromArgs(args))
            gsc = messages.GameServerConfig()
            request.gameServerConfig = gsc
        request.gameServerConfig.scalingConfigs = utils.ProcessScalingConfigsFile(
            args.scaling_configs_file, utils.GetApiVersionFromArgs(args))

    return request
예제 #8
0
def ConvertOutput(response, args):
    """Python hook that converts the output depending on preview or not both create and update api calls.

  Args:
    response: The reference to response instace.
    args: The parsed args namespace.
  Returns:
    Output response.
  """
    # Try to reenable the log output which was disabled in the request hook
    log.SetUserOutputEnabled(args.user_output_enabled != 'false')
    if not args.dry_run:
        utils.WaitForOperation(response, utils.GetApiVersionFromArgs(args))
        if 'update' in args.command_path:
            log.status.Print('Updated game server cluster: [{}]'.format(
                args.cluster))
        else:
            log.status.Print('Created game server cluster: [{}]'.format(
                args.cluster))
        return GetExistingResource(args)
    return response
  def Run(self, args):
    """Delete a Game server cluster."""
    if not args.dry_run:
      if args.preview_time:
        raise PreviewTimeFieldNotRelevantError(
            '`--preview-time` is only relevant if `--dry-run` is set to true.')

      delete_warning = ('You are about to delete game server cluster [{}]. '
                        'Do you want to continue?'.format(args.cluster))
      if not console_io.PromptContinue(message=delete_warning):
        return None
      log.status.Print('Delete request issued for: [{}]'.format(args.cluster))
      op = update_hooks.DeleteInstance(args)
      resp = utils.WaitForOperation(op, utils.GetApiVersionFromArgs(args))
      log.status.Print('Deleted game server cluster : [{}]'.format(
          args.cluster))
      return resp

    if not args.format:
      args.format = 'json'
    return update_hooks.PreviewDeleteInstance(args)