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
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
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
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
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
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)