Skip to content

create_run_group async

create_run_group(
    request_id: RunGroupRequestId,
    *,
    config_overrides: Optional[AsyncOmicsClientConfig] = None,
    name: Optional[RunGroupName] = None,
    max_cpus: Optional[int] = None,
    max_runs: Optional[int] = None,
    max_duration: Optional[int] = None,
    tags: Optional[TagMap] = None,
    max_gpus: Optional[int] = None,
) -> CreateRunGroupResponse

Creates a run group to limit the compute resources for the runs that are added to the group. Returns an ARN, ID, and tags for the run group.

Parameters:

  • name (Optional[RunGroupName], default: None ) –

    A name for the group.

  • max_cpus (Optional[int], default: None ) –

    The maximum number of CPUs that can run concurrently across all active runs in the run group.

  • max_runs (Optional[int], default: None ) –

    The maximum number of runs that can be running at the same time.

  • max_duration (Optional[int], default: None ) –

    The maximum time for each run (in minutes). If a run exceeds the maximum run time, the run fails automatically.

  • tags (Optional[TagMap], default: None ) –

    Tags for the group.

  • request_id (RunGroupRequestId) –

    To ensure that requests don't run multiple times, specify a unique ID for each request.

  • max_gpus (Optional[int], default: None ) –

    The maximum number of GPUs that can run concurrently across all active runs in the run group.

Raises:

Source code in docs_src/capo_omics/_services/async_omics.py
async def create_run_group(
    self,
    request_id: "capo_omics.types.run_group_request_id.RunGroupRequestId",
    *,
    config_overrides: Optional[AsyncOmicsClientConfig] = None,
    name: Optional["capo_omics.types.run_group_name.RunGroupName"] = None,
    max_cpus: Optional[int] = None,
    max_runs: Optional[int] = None,
    max_duration: Optional[int] = None,
    tags: Optional["capo_omics.types.tag_map.TagMap"] = None,
    max_gpus: Optional[int] = None,
) -> "capo_omics.types.create_run_group_response.CreateRunGroupResponse":
    """<p>Creates a run group to limit the compute resources for the runs that are added to the group. Returns an ARN, ID, and tags for the run group.</p>

    Args:
        name: <p>A name for the group.</p>
        max_cpus: <p>The maximum number of CPUs that can run concurrently across all active runs in the run group.</p>
        max_runs: <p>The maximum number of runs that can be running at the same time.</p>
        max_duration: <p>The maximum time for each run (in minutes). If a run exceeds the maximum run time, the run fails automatically.</p>
        tags: <p>Tags for the group.</p>
        request_id: <p>To ensure that requests don't run multiple times, specify a unique ID for each request.</p>
        max_gpus: <p>The maximum number of GPUs that can run concurrently across all active runs in the run group.</p>

    Raises:
        capo_omics.errors.access_denied_exception.AccessDeniedException: <p>You do not have sufficient access to perform this action.</p>
        capo_omics.errors.conflict_exception.ConflictException: <p>The request cannot be applied to the target resource in its current state.</p>
        capo_omics.errors.internal_server_exception.InternalServerException: <p>An unexpected error occurred. Try the request again.</p>
        capo_omics.errors.request_timeout_exception.RequestTimeoutException: <p>The request timed out.</p>
        capo_omics.errors.resource_not_found_exception.ResourceNotFoundException: <p>The target resource was not found in the current Region.</p>
        capo_omics.errors.service_quota_exceeded_exception.ServiceQuotaExceededException: <p>The request exceeds a service quota.</p>
        capo_omics.errors.throttling_exception.ThrottlingException: <p>The request was denied due to request throttling.</p>
        capo_omics.errors.validation_exception.ValidationException: <p>The input fails to satisfy the constraints specified by an Amazon Web Services service.</p>
        capo_omics.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_omics.types.create_run_group_request.CreateRunGroupRequest]",
    ) -> AsyncOperationResponse[
        "capo_omics.types.create_run_group_response.CreateRunGroupResponse"
    ]:
        import capo_omics._operations.omics.create_run_group

        (
            output,
            http_response,
        ) = await capo_omics._operations.omics.create_run_group.async_create_run_group(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("CreateRunGroup")
    )
    input_: capo_omics.types.create_run_group_request.CreateRunGroupRequest = {
        "request_id": request_id
    }
    if name is not None:
        input_["name"] = name
    if max_cpus is not None:
        input_["max_cpus"] = max_cpus
    if max_runs is not None:
        input_["max_runs"] = max_runs
    if max_duration is not None:
        input_["max_duration"] = max_duration
    if tags is not None:
        input_["tags"] = tags
    if max_gpus is not None:
        input_["max_gpus"] = max_gpus

    response = await aexecute_pipeline(
        AsyncOperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    await response.response.aclose()
    return response.output