Example #1
0
class DauphinDaemonStatus(dauphin.ObjectType):
    class Meta:
        name = "DaemonStatus"

    daemonType = dauphin.NonNull("DaemonType")
    required = dauphin.NonNull(dauphin.Boolean)
    healthy = dauphin.Boolean()
    lastHeartbeatTime = dauphin.Float()

    def __init__(self, daemon_status):

        check.inst_param(daemon_status, "daemon_status", DaemonStatus)

        if daemon_status.last_heartbeat is None:
            last_heartbeat_time = None
        else:
            last_heartbeat_time = datetime_as_float(
                daemon_status.last_heartbeat.timestamp)

        super(DauphinDaemonStatus, self).__init__(
            daemonType=daemon_status.daemon_type,
            required=daemon_status.required,
            healthy=daemon_status.healthy,
            lastHeartbeatTime=last_heartbeat_time,
        )
Example #2
0
class DauphinDaemonStatus(dauphin.ObjectType):
    class Meta:
        name = "DaemonStatus"

    daemonType = dauphin.NonNull("DaemonType")
    required = dauphin.NonNull(dauphin.Boolean)
    healthy = dauphin.Boolean()
    lastHeartbeatTime = dauphin.Float()
    lastHeartbeatErrors = dauphin.non_null_list("PythonError")

    def __init__(self, daemon_status):

        check.inst_param(daemon_status, "daemon_status", DaemonStatus)

        super(DauphinDaemonStatus, self).__init__(
            daemonType=daemon_status.daemon_type,
            required=daemon_status.required,
            healthy=daemon_status.healthy,
            lastHeartbeatTime=daemon_status.last_heartbeat.timestamp
            if daemon_status.last_heartbeat else None,
            lastHeartbeatErrors=[
                DauphinPythonError(error)
                for error in daemon_status.last_heartbeat.errors
            ] if daemon_status.last_heartbeat else [],
        )
class DauphinPartitionSet(dauphin.ObjectType):
    class Meta:
        name = "PartitionSet"

    id = dauphin.NonNull(dauphin.ID)
    name = dauphin.NonNull(dauphin.String)
    pipeline_name = dauphin.NonNull(dauphin.String)
    solid_selection = dauphin.List(dauphin.NonNull(dauphin.String))
    mode = dauphin.NonNull(dauphin.String)
    partitionsOrError = dauphin.Field(
        dauphin.NonNull("PartitionsOrError"),
        cursor=dauphin.String(),
        limit=dauphin.Int(),
        reverse=dauphin.Boolean(),
    )
    partition = dauphin.Field("Partition",
                              partition_name=dauphin.NonNull(dauphin.String))
    partitionStatusesOrError = dauphin.NonNull("PartitionStatusesOrError")

    def __init__(self, external_repository_handle, external_partition_set):
        self._external_repository_handle = check.inst_param(
            external_repository_handle, "external_respository_handle",
            RepositoryHandle)
        self._external_partition_set = check.inst_param(
            external_partition_set, "external_partition_set",
            ExternalPartitionSet)

        super(DauphinPartitionSet, self).__init__(
            name=external_partition_set.name,
            pipeline_name=external_partition_set.pipeline_name,
            solid_selection=external_partition_set.solid_selection,
            mode=external_partition_set.mode,
        )

    def resolve_id(self, _graphene_info):
        return self._external_partition_set.get_external_origin_id()

    def resolve_partitionsOrError(self, graphene_info, **kwargs):
        return get_partitions(
            graphene_info,
            self._external_repository_handle,
            self._external_partition_set,
            cursor=kwargs.get("cursor"),
            limit=kwargs.get("limit"),
            reverse=kwargs.get("reverse"),
        )

    def resolve_partition(self, graphene_info, partition_name):
        return get_partition_by_name(
            graphene_info,
            self._external_repository_handle,
            self._external_partition_set,
            partition_name,
        )

    def resolve_partitionStatusesOrError(self, graphene_info):
        return get_partition_set_partition_statuses(
            graphene_info, self._external_repository_handle,
            self._external_partition_set.name)
Example #4
0
class DauphinPartitionBackfillParams(dauphin.InputObjectType):
    class Meta(object):
        name = "PartitionBackfillParams"

    selector = dauphin.NonNull("PartitionSetSelector")
    partitionNames = dauphin.non_null_list(dauphin.String)
    reexecutionSteps = dauphin.List(dauphin.NonNull(dauphin.String))
    fromFailure = dauphin.Boolean()
class DauphinPartitionSet(dauphin.ObjectType):
    class Meta(object):
        name = 'PartitionSet'

    name = dauphin.NonNull(dauphin.String)
    pipeline_name = dauphin.NonNull(dauphin.String)
    solid_selection = dauphin.List(dauphin.NonNull(dauphin.String))
    mode = dauphin.NonNull(dauphin.String)
    partitions = dauphin.Field(
        dauphin.NonNull('Partitions'),
        cursor=dauphin.String(),
        limit=dauphin.Int(),
        reverse=dauphin.Boolean(),
    )
    partition = dauphin.Field('Partition',
                              partition_name=dauphin.NonNull(dauphin.String))

    def __init__(self, external_repository_handle, external_partition_set):
        self._external_repository_handle = check.inst_param(
            external_repository_handle, 'external_respository_handle',
            RepositoryHandle)
        self._external_partition_set = check.inst_param(
            external_partition_set, 'external_partition_set',
            ExternalPartitionSet)

        super(DauphinPartitionSet, self).__init__(
            name=external_partition_set.name,
            pipeline_name=external_partition_set.pipeline_name,
            solid_selection=external_partition_set.solid_selection,
            mode=external_partition_set.mode,
        )

    def resolve_partitions(self, graphene_info, **kwargs):
        return get_partitions(
            graphene_info,
            self._external_repository_handle,
            self._external_partition_set,
            cursor=kwargs.get("cursor"),
            limit=kwargs.get("limit"),
            reverse=kwargs.get('reverse'),
        )

    def resolve_partition(self, graphene_info, partition_name):
        return get_partition_by_name(
            graphene_info,
            self._external_repository_handle,
            self._external_partition_set,
            partition_name,
        )
Example #6
0
class DauphinOutputDefinition(dauphin.ObjectType):
    class Meta:
        name = "OutputDefinition"

    solid_definition = dauphin.NonNull("SolidDefinition")
    name = dauphin.NonNull(dauphin.String)
    description = dauphin.String()
    is_dynamic = dauphin.Boolean()
    type = dauphin.NonNull("DagsterType")

    def __init__(self, represented_pipeline, solid_def_name, output_def_name,
                 is_dynamic):
        self._represented_pipeline = check.inst_param(represented_pipeline,
                                                      "represented_pipeline",
                                                      RepresentedPipeline)
        check.str_param(solid_def_name, "solid_def_name")
        check.str_param(output_def_name, "output_def_name")

        self._solid_def_snap = represented_pipeline.get_solid_def_snap(
            solid_def_name)
        self._output_def_snap = self._solid_def_snap.get_output_snap(
            output_def_name)

        super(DauphinOutputDefinition, self).__init__(
            name=self._output_def_snap.name,
            description=self._output_def_snap.description,
            is_dynamic=is_dynamic,
        )

    def resolve_type(self, _):
        return to_dauphin_dagster_type(
            self._represented_pipeline.pipeline_snapshot,
            self._output_def_snap.dagster_type_key,
        )

    def resolve_solid_definition(self, _):
        return build_dauphin_solid_definition(self._represented_pipeline,
                                              self._solid_def_snap.name)
Example #7
0
class DauphinPartitionSet(dauphin.ObjectType):
    class Meta(object):
        name = 'PartitionSet'

    name = dauphin.NonNull(dauphin.String)
    pipeline_name = dauphin.NonNull(dauphin.String)
    solid_selection = dauphin.List(dauphin.NonNull(dauphin.String))
    mode = dauphin.NonNull(dauphin.String)
    partitions = dauphin.Field(
        dauphin.NonNull('Partitions'),
        cursor=dauphin.String(),
        limit=dauphin.Int(),
        reverse=dauphin.Boolean(),
    )

    def __init__(self, partition_set_def, external_partition_set):
        self._partition_set_def = check.inst_param(partition_set_def,
                                                   'partition_set_def',
                                                   PartitionSetDefinition)
        self._external_partition_set = check.inst_param(
            external_partition_set, 'external_partition_set',
            ExternalPartitionSet)

        super(DauphinPartitionSet, self).__init__(
            name=external_partition_set.name,
            pipeline_name=external_partition_set.pipeline_name,
            solid_selection=external_partition_set.solid_selection,
            mode=external_partition_set.mode,
        )

    def resolve_partitions(self, graphene_info, **kwargs):
        partition_names = self._external_partition_set.partition_names

        cursor = kwargs.get("cursor")
        limit = kwargs.get("limit")
        reverse = kwargs.get('reverse')

        start = 0
        end = len(partition_names)
        index = 0

        if cursor:
            index = next(
                (idx for (idx, partition_name) in enumerate(partition_names)
                 if partition_name == cursor),
                None,
            )

            if reverse:
                end = index
            else:
                start = index + 1

        if limit:
            if reverse:
                start = end - limit
            else:
                end = start + limit

        partition_names = partition_names[start:end]

        return graphene_info.schema.type_named('Partitions')(results=[
            graphene_info.schema.type_named('Partition')(
                partition_name=partition_name,
                partition_set_def=self._partition_set_def,
                external_partition_set=self._external_partition_set,
            ) for partition_name in partition_names
        ])
Example #8
0
class DauphinQuery(dauphin.ObjectType):
    class Meta(object):
        name = 'Query'

    version = dauphin.NonNull(dauphin.String)

    repositoriesOrError = dauphin.NonNull('RepositoriesOrError')
    repositoryOrError = dauphin.Field(
        dauphin.NonNull('RepositoryOrError'),
        repositorySelector=dauphin.NonNull('RepositorySelector'),
    )

    pipelineOrError = dauphin.Field(dauphin.NonNull('PipelineOrError'),
                                    params=dauphin.NonNull('PipelineSelector'))

    pipelineSnapshotOrError = dauphin.Field(
        dauphin.NonNull('PipelineSnapshotOrError'),
        snapshotId=dauphin.String(),
        activePipelineSelector=dauphin.Argument('PipelineSelector'),
    )

    scheduler = dauphin.Field(dauphin.NonNull('SchedulerOrError'))

    scheduleDefinitionOrError = dauphin.Field(
        dauphin.NonNull('ScheduleDefinitionOrError'),
        schedule_selector=dauphin.NonNull('ScheduleSelector'),
    )
    scheduleDefinitionsOrError = dauphin.Field(
        dauphin.NonNull('ScheduleDefinitionsOrError'),
        repositorySelector=dauphin.NonNull('RepositorySelector'),
    )
    scheduleStatesOrError = dauphin.Field(
        dauphin.NonNull('ScheduleStatesOrError'),
        repositorySelector=dauphin.NonNull('RepositorySelector'),
        withNoScheduleDefinition=dauphin.Boolean(),
    )

    partitionSetsOrError = dauphin.Field(
        dauphin.NonNull('PartitionSetsOrError'),
        repositorySelector=dauphin.NonNull('RepositorySelector'),
        pipelineName=dauphin.NonNull(dauphin.String),
    )
    partitionSetOrError = dauphin.Field(
        dauphin.NonNull('PartitionSetOrError'),
        repositorySelector=dauphin.NonNull('RepositorySelector'),
        partitionSetName=dauphin.String(),
    )

    pipelineRunsOrError = dauphin.Field(
        dauphin.NonNull('PipelineRunsOrError'),
        filter=dauphin.Argument('PipelineRunsFilter'),
        cursor=dauphin.String(),
        limit=dauphin.Int(),
    )

    pipelineRunOrError = dauphin.Field(dauphin.NonNull('PipelineRunOrError'),
                                       runId=dauphin.NonNull(dauphin.ID))

    pipelineRunTags = dauphin.non_null_list('PipelineTagAndValues')

    runGroupOrError = dauphin.Field(dauphin.NonNull('RunGroupOrError'),
                                    runId=dauphin.NonNull(dauphin.ID))

    runGroupsOrError = dauphin.Field(
        dauphin.NonNull('RunGroupsOrError'),
        filter=dauphin.Argument('PipelineRunsFilter'),
        cursor=dauphin.String(),
        limit=dauphin.Int(),
    )

    isPipelineConfigValid = dauphin.Field(
        dauphin.NonNull('PipelineConfigValidationResult'),
        args={
            'pipeline': dauphin.Argument(dauphin.NonNull('PipelineSelector')),
            'runConfigData': dauphin.Argument('RunConfigData'),
            'mode': dauphin.Argument(dauphin.NonNull(dauphin.String)),
        },
    )

    executionPlanOrError = dauphin.Field(
        dauphin.NonNull('ExecutionPlanOrError'),
        args={
            'pipeline': dauphin.Argument(dauphin.NonNull('PipelineSelector')),
            'runConfigData': dauphin.Argument('RunConfigData'),
            'mode': dauphin.Argument(dauphin.NonNull(dauphin.String)),
        },
    )

    runConfigSchemaOrError = dauphin.Field(
        dauphin.NonNull('RunConfigSchemaOrError'),
        args={
            'selector': dauphin.Argument(dauphin.NonNull('PipelineSelector')),
            'mode': dauphin.Argument(dauphin.String),
        },
        description=
        '''Fetch an environment schema given an execution selection and a mode.
        See the descripton on RunConfigSchema for more information.''',
    )

    instance = dauphin.NonNull('Instance')
    assetsOrError = dauphin.Field(dauphin.NonNull('AssetsOrError'))
    assetOrError = dauphin.Field(
        dauphin.NonNull('AssetOrError'),
        assetKey=dauphin.Argument(dauphin.NonNull('AssetKeyInput')),
    )

    def resolve_repositoriesOrError(self, graphene_info):
        return fetch_repositories(graphene_info)

    def resolve_repositoryOrError(self, graphene_info, **kwargs):
        return fetch_repository(
            graphene_info,
            RepositorySelector.from_graphql_input(
                kwargs.get('repositorySelector')),
        )

    def resolve_pipelineSnapshotOrError(self, graphene_info, **kwargs):
        snapshot_id_arg = kwargs.get('snapshotId')
        pipeline_selector_arg = kwargs.get('activePipelineSelector')
        check.invariant(
            not (snapshot_id_arg and pipeline_selector_arg),
            'Must only pass one of snapshotId or activePipelineSelector',
        )
        check.invariant(
            snapshot_id_arg or pipeline_selector_arg,
            'Must set one of snapshotId or activePipelineSelector',
        )

        if pipeline_selector_arg:
            pipeline_selector = pipeline_selector_from_graphql(
                graphene_info.context, kwargs['activePipelineSelector'])
            return get_pipeline_snapshot_or_error_from_pipeline_selector(
                graphene_info, pipeline_selector)
        else:
            return get_pipeline_snapshot_or_error_from_snapshot_id(
                graphene_info, snapshot_id_arg)

    def resolve_version(self, graphene_info):
        return graphene_info.context.version

    def resolve_scheduler(self, graphene_info):
        return get_scheduler_or_error(graphene_info)

    def resolve_scheduleDefinitionOrError(self, graphene_info,
                                          schedule_selector):
        return get_schedule_definition_or_error(
            graphene_info,
            ScheduleSelector.from_graphql_input(schedule_selector))

    def resolve_scheduleDefinitionsOrError(self, graphene_info, **kwargs):
        return get_schedule_definitions_or_error(
            graphene_info,
            RepositorySelector.from_graphql_input(
                kwargs.get('repositorySelector')))

    def resolve_scheduleStatesOrError(self, graphene_info, **kwargs):
        return get_schedule_states_or_error(
            graphene_info,
            RepositorySelector.from_graphql_input(
                kwargs.get('repositorySelector')),
            kwargs.get('withNoScheduleDefinition'),
        )

    def resolve_pipelineOrError(self, graphene_info, **kwargs):
        return get_pipeline_or_error(
            graphene_info,
            pipeline_selector_from_graphql(graphene_info.context,
                                           kwargs['params']),
        )

    def resolve_pipelineRunsOrError(self, graphene_info, **kwargs):
        filters = kwargs.get('filter')
        if filters is not None:
            filters = filters.to_selector()

        return graphene_info.schema.type_named('PipelineRuns')(
            results=get_runs(graphene_info, filters, kwargs.get('cursor'),
                             kwargs.get('limit')))

    def resolve_pipelineRunOrError(self, graphene_info, runId):
        return get_run_by_id(graphene_info, runId)

    def resolve_runGroupsOrError(self, graphene_info, **kwargs):
        filters = kwargs.get('filter')
        if filters is not None:
            filters = filters.to_selector()

        return graphene_info.schema.type_named('RunGroupsOrError')(
            results=get_run_groups(graphene_info, filters, kwargs.get(
                'cursor'), kwargs.get('limit')))

    def resolve_partitionSetsOrError(self, graphene_info, **kwargs):
        return get_partition_sets_or_error(
            graphene_info,
            RepositorySelector.from_graphql_input(
                kwargs.get('repositorySelector')),
            kwargs.get('pipelineName'),
        )

    def resolve_partitionSetOrError(self, graphene_info, **kwargs):
        return get_partition_set(
            graphene_info,
            RepositorySelector.from_graphql_input(
                kwargs.get('repositorySelector')),
            kwargs.get('partitionSetName'),
        )

    def resolve_pipelineRunTags(self, graphene_info):
        return get_run_tags(graphene_info)

    def resolve_runGroupOrError(self, graphene_info, runId):
        return get_run_group(graphene_info, runId)

    def resolve_isPipelineConfigValid(self, graphene_info, pipeline, **kwargs):
        return validate_pipeline_config(
            graphene_info,
            pipeline_selector_from_graphql(graphene_info.context, pipeline),
            kwargs.get('runConfigData'),
            kwargs.get('mode'),
        )

    def resolve_executionPlanOrError(self, graphene_info, pipeline, **kwargs):
        return get_execution_plan(
            graphene_info,
            pipeline_selector_from_graphql(graphene_info.context, pipeline),
            kwargs.get('runConfigData'),
            kwargs.get('mode'),
        )

    def resolve_runConfigSchemaOrError(self, graphene_info, **kwargs):
        return resolve_run_config_schema_or_error(
            graphene_info,
            pipeline_selector_from_graphql(graphene_info.context,
                                           kwargs['selector']),
            kwargs.get('mode'),
        )

    def resolve_instance(self, graphene_info):
        return graphene_info.schema.type_named('Instance')(
            graphene_info.context.instance)

    def resolve_assetsOrError(self, graphene_info):
        return get_assets(graphene_info)

    def resolve_assetOrError(self, graphene_info, **kwargs):
        return get_asset(graphene_info,
                         AssetKey.from_graphql_input(kwargs['assetKey']))
Example #9
0
class DauphinQuery(dauphin.ObjectType):
    class Meta(object):
        name = "Query"

    version = dauphin.NonNull(dauphin.String)

    repositoriesOrError = dauphin.NonNull("RepositoriesOrError")
    repositoryOrError = dauphin.Field(
        dauphin.NonNull("RepositoryOrError"),
        repositorySelector=dauphin.NonNull("RepositorySelector"),
    )

    pipelineOrError = dauphin.Field(dauphin.NonNull("PipelineOrError"),
                                    params=dauphin.NonNull("PipelineSelector"))

    pipelineSnapshotOrError = dauphin.Field(
        dauphin.NonNull("PipelineSnapshotOrError"),
        snapshotId=dauphin.String(),
        activePipelineSelector=dauphin.Argument("PipelineSelector"),
    )

    scheduler = dauphin.Field(dauphin.NonNull("SchedulerOrError"))

    scheduleDefinitionOrError = dauphin.Field(
        dauphin.NonNull("ScheduleDefinitionOrError"),
        schedule_selector=dauphin.NonNull("ScheduleSelector"),
    )
    scheduleDefinitionsOrError = dauphin.Field(
        dauphin.NonNull("ScheduleDefinitionsOrError"),
        repositorySelector=dauphin.NonNull("RepositorySelector"),
    )
    scheduleStatesOrError = dauphin.Field(
        dauphin.NonNull("ScheduleStatesOrError"),
        repositorySelector=dauphin.Argument("RepositorySelector"),
        withNoScheduleDefinition=dauphin.Boolean(),
    )

    partitionSetsOrError = dauphin.Field(
        dauphin.NonNull("PartitionSetsOrError"),
        repositorySelector=dauphin.NonNull("RepositorySelector"),
        pipelineName=dauphin.NonNull(dauphin.String),
    )
    partitionSetOrError = dauphin.Field(
        dauphin.NonNull("PartitionSetOrError"),
        repositorySelector=dauphin.NonNull("RepositorySelector"),
        partitionSetName=dauphin.String(),
    )

    pipelineRunsOrError = dauphin.Field(
        dauphin.NonNull("PipelineRunsOrError"),
        filter=dauphin.Argument("PipelineRunsFilter"),
        cursor=dauphin.String(),
        limit=dauphin.Int(),
    )

    pipelineRunOrError = dauphin.Field(dauphin.NonNull("PipelineRunOrError"),
                                       runId=dauphin.NonNull(dauphin.ID))

    pipelineRunTags = dauphin.non_null_list("PipelineTagAndValues")

    runGroupOrError = dauphin.Field(dauphin.NonNull("RunGroupOrError"),
                                    runId=dauphin.NonNull(dauphin.ID))

    runGroupsOrError = dauphin.Field(
        dauphin.NonNull("RunGroupsOrError"),
        filter=dauphin.Argument("PipelineRunsFilter"),
        cursor=dauphin.String(),
        limit=dauphin.Int(),
    )

    isPipelineConfigValid = dauphin.Field(
        dauphin.NonNull("PipelineConfigValidationResult"),
        args={
            "pipeline": dauphin.Argument(dauphin.NonNull("PipelineSelector")),
            "runConfigData": dauphin.Argument("RunConfigData"),
            "mode": dauphin.Argument(dauphin.NonNull(dauphin.String)),
        },
    )

    executionPlanOrError = dauphin.Field(
        dauphin.NonNull("ExecutionPlanOrError"),
        args={
            "pipeline": dauphin.Argument(dauphin.NonNull("PipelineSelector")),
            "runConfigData": dauphin.Argument("RunConfigData"),
            "mode": dauphin.Argument(dauphin.NonNull(dauphin.String)),
        },
    )

    runConfigSchemaOrError = dauphin.Field(
        dauphin.NonNull("RunConfigSchemaOrError"),
        args={
            "selector": dauphin.Argument(dauphin.NonNull("PipelineSelector")),
            "mode": dauphin.Argument(dauphin.String),
        },
        description=
        """Fetch an environment schema given an execution selection and a mode.
        See the descripton on RunConfigSchema for more information.""",
    )

    instance = dauphin.NonNull("Instance")
    assetsOrError = dauphin.Field(dauphin.NonNull("AssetsOrError"))
    assetOrError = dauphin.Field(
        dauphin.NonNull("AssetOrError"),
        assetKey=dauphin.Argument(dauphin.NonNull("AssetKeyInput")),
    )

    def resolve_repositoriesOrError(self, graphene_info):
        return fetch_repositories(graphene_info)

    def resolve_repositoryOrError(self, graphene_info, **kwargs):
        return fetch_repository(
            graphene_info,
            RepositorySelector.from_graphql_input(
                kwargs.get("repositorySelector")),
        )

    def resolve_pipelineSnapshotOrError(self, graphene_info, **kwargs):
        snapshot_id_arg = kwargs.get("snapshotId")
        pipeline_selector_arg = kwargs.get("activePipelineSelector")
        check.invariant(
            not (snapshot_id_arg and pipeline_selector_arg),
            "Must only pass one of snapshotId or activePipelineSelector",
        )
        check.invariant(
            snapshot_id_arg or pipeline_selector_arg,
            "Must set one of snapshotId or activePipelineSelector",
        )

        if pipeline_selector_arg:
            pipeline_selector = pipeline_selector_from_graphql(
                graphene_info.context, kwargs["activePipelineSelector"])
            return get_pipeline_snapshot_or_error_from_pipeline_selector(
                graphene_info, pipeline_selector)
        else:
            return get_pipeline_snapshot_or_error_from_snapshot_id(
                graphene_info, snapshot_id_arg)

    def resolve_version(self, graphene_info):
        return graphene_info.context.version

    def resolve_scheduler(self, graphene_info):
        return get_scheduler_or_error(graphene_info)

    def resolve_scheduleDefinitionOrError(self, graphene_info,
                                          schedule_selector):
        return get_schedule_definition_or_error(
            graphene_info,
            ScheduleSelector.from_graphql_input(schedule_selector))

    def resolve_scheduleDefinitionsOrError(self, graphene_info, **kwargs):
        return get_schedule_definitions_or_error(
            graphene_info,
            RepositorySelector.from_graphql_input(
                kwargs.get("repositorySelector")))

    def resolve_scheduleStatesOrError(self, graphene_info, **kwargs):
        return get_schedule_states_or_error(
            graphene_info,
            RepositorySelector.from_graphql_input(kwargs["repositorySelector"])
            if kwargs.get("repositorySelector") else None,
            kwargs.get("withNoScheduleDefinition"),
        )

    def resolve_pipelineOrError(self, graphene_info, **kwargs):
        return get_pipeline_or_error(
            graphene_info,
            pipeline_selector_from_graphql(graphene_info.context,
                                           kwargs["params"]),
        )

    def resolve_pipelineRunsOrError(self, graphene_info, **kwargs):
        filters = kwargs.get("filter")
        if filters is not None:
            filters = filters.to_selector()

        return graphene_info.schema.type_named("PipelineRuns")(
            results=get_runs(graphene_info, filters, kwargs.get("cursor"),
                             kwargs.get("limit")))

    def resolve_pipelineRunOrError(self, graphene_info, runId):
        return get_run_by_id(graphene_info, runId)

    def resolve_runGroupsOrError(self, graphene_info, **kwargs):
        filters = kwargs.get("filter")
        if filters is not None:
            filters = filters.to_selector()

        return graphene_info.schema.type_named("RunGroupsOrError")(
            results=get_run_groups(graphene_info, filters, kwargs.get(
                "cursor"), kwargs.get("limit")))

    def resolve_partitionSetsOrError(self, graphene_info, **kwargs):
        return get_partition_sets_or_error(
            graphene_info,
            RepositorySelector.from_graphql_input(
                kwargs.get("repositorySelector")),
            kwargs.get("pipelineName"),
        )

    def resolve_partitionSetOrError(self, graphene_info, **kwargs):
        return get_partition_set(
            graphene_info,
            RepositorySelector.from_graphql_input(
                kwargs.get("repositorySelector")),
            kwargs.get("partitionSetName"),
        )

    def resolve_pipelineRunTags(self, graphene_info):
        return get_run_tags(graphene_info)

    def resolve_runGroupOrError(self, graphene_info, runId):
        return get_run_group(graphene_info, runId)

    def resolve_isPipelineConfigValid(self, graphene_info, pipeline, **kwargs):
        return validate_pipeline_config(
            graphene_info,
            pipeline_selector_from_graphql(graphene_info.context, pipeline),
            kwargs.get("runConfigData"),
            kwargs.get("mode"),
        )

    def resolve_executionPlanOrError(self, graphene_info, pipeline, **kwargs):
        return get_execution_plan(
            graphene_info,
            pipeline_selector_from_graphql(graphene_info.context, pipeline),
            kwargs.get("runConfigData"),
            kwargs.get("mode"),
        )

    def resolve_runConfigSchemaOrError(self, graphene_info, **kwargs):
        return resolve_run_config_schema_or_error(
            graphene_info,
            pipeline_selector_from_graphql(graphene_info.context,
                                           kwargs["selector"]),
            kwargs.get("mode"),
        )

    def resolve_instance(self, graphene_info):
        return graphene_info.schema.type_named("Instance")(
            graphene_info.context.instance)

    def resolve_assetsOrError(self, graphene_info):
        return get_assets(graphene_info)

    def resolve_assetOrError(self, graphene_info, **kwargs):
        return get_asset(graphene_info,
                         AssetKey.from_graphql_input(kwargs["assetKey"]))