Skip to content

associate_license async

associate_license(
    workspace_id: WorkspaceId,
    license_type: LicenseType,
    *,
    config_overrides: Optional[AsyncgrafanaClientConfig] = None,
    grafana_token: Optional[GrafanaToken] = None,
) -> AssociateLicenseResponse

Assigns a Grafana Enterprise license to a workspace. To upgrade, you must use ENTERPRISE for the licenseType, and pass in a valid Grafana Labs token for the grafanaToken. Upgrading to Grafana Enterprise incurs additional fees. For more information, see Upgrade a workspace to Grafana Enterprise.

Parameters:

  • workspace_id (WorkspaceId) –

    The ID of the workspace to associate the license with.

  • license_type (LicenseType) –

    The type of license to associate with the workspace.

    Amazon Managed Grafana workspaces no longer support Grafana Enterprise free trials.

  • grafana_token (Optional[GrafanaToken], default: None ) –

    A token from Grafana Labs that ties your Amazon Web Services account with a Grafana Labs account. For more information, see Link your account with Grafana Labs.

Raises:

Source code in docs_src/capo_grafana/_services/async_grafana.py
async def associate_license(
    self,
    workspace_id: "capo_grafana.types.workspace_id.WorkspaceId",
    license_type: "capo_grafana.types.license_type.LicenseType",
    *,
    config_overrides: Optional[AsyncgrafanaClientConfig] = None,
    grafana_token: Optional["capo_grafana.types.grafana_token.GrafanaToken"] = None,
) -> "capo_grafana.types.associate_license_response.AssociateLicenseResponse":
    """<p>Assigns a Grafana Enterprise license to a workspace. To upgrade, you must use <code>ENTERPRISE</code> for the <code>licenseType</code>, and pass in a valid Grafana Labs token for the <code>grafanaToken</code>. Upgrading to Grafana Enterprise incurs additional fees. For more information, see <a href="https://docs.aws.amazon.com/grafana/latest/userguide/upgrade-to-Grafana-Enterprise.html">Upgrade a workspace to Grafana Enterprise</a>.</p>

    Args:
        workspace_id: <p>The ID of the workspace to associate the license with.</p>
        license_type: <p>The type of license to associate with the workspace.</p> <note> <p>Amazon Managed Grafana workspaces no longer support Grafana Enterprise free trials.</p> </note>
        grafana_token: <p>A token from Grafana Labs that ties your Amazon Web Services account with a Grafana Labs account. For more information, see <a href="https://docs.aws.amazon.com/grafana/latest/userguide/upgrade-to-Grafana-Enterprise.html#AMG-workspace-register-enterprise">Link your account with Grafana Labs</a>.</p>

    Raises:
        capo_grafana.errors.access_denied_exception.AccessDeniedException: <p>You do not have sufficient permissions to perform this action. </p>
        capo_grafana.errors.internal_server_exception.InternalServerException: <p>Unexpected error while processing the request. Retry the request.</p>
        capo_grafana.errors.resource_not_found_exception.ResourceNotFoundException: <p>The request references a resource that does not exist.</p>
        capo_grafana.errors.throttling_exception.ThrottlingException: <p>The request was denied because of request throttling. Retry the request.</p>
        capo_grafana.errors.validation_exception.ValidationException: <p>The value of a parameter in the request caused an error.</p>
        capo_grafana.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_grafana.types.associate_license_request.AssociateLicenseRequest]",
    ) -> AsyncOperationResponse[
        "capo_grafana.types.associate_license_response.AssociateLicenseResponse"
    ]:
        import capo_grafana._operations.aws_grafana_control_plane.associate_license

        (
            output,
            http_response,
        ) = await capo_grafana._operations.aws_grafana_control_plane.associate_license.async_associate_license(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    def _redact_output(
        output: "capo_grafana.types.associate_license_response.AssociateLicenseResponse",
    ) -> dict[str, Any]:
        import capo_grafana.types.associate_license_response

        return capo_grafana.types.associate_license_response.redact_sensitive(
            output
        )

    interceptors_, options_ = self.operation_options(
        config_overrides,
        OperationLogging("AssociateLicense", redact_output=_redact_output),
    )
    input_: capo_grafana.types.associate_license_request.AssociateLicenseRequest = {
        "workspace_id": workspace_id,
        "license_type": license_type,
    }
    if grafana_token is not None:
        input_["grafana_token"] = grafana_token

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