Skip to content

create_auth_code

create_auth_code(
    instance_id: InstanceId,
    scope: AuthScope,
    session_inactivity_duration_minutes: SessionInactivityDurationMinutes,
    *,
    config_overrides: Optional[ConnectClientConfig] = None,
    max_session_duration_minutes: Optional[MaxSessionDurationMinutes] = None,
) -> CreateAuthCodeResponse

Creates an authorization code for the specified Connect Customer instance. The authorization code can be used to establish a session with scoped permissions defined by the specified scope parameters.

Parameters:

  • instance_id (InstanceId) –

    The identifier of the Connect Customer instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

  • scope (AuthScope) –

    The scope for the authorization code. Defines the permissions and access boundaries for the session.

  • max_session_duration_minutes (Optional[MaxSessionDurationMinutes], default: None ) –

    The maximum duration of the session, in minutes. Minimum value of 1440 (24 hours). Maximum value of 43200 (30 days). If no value is provided, the session will expire after 400 days.

  • session_inactivity_duration_minutes (SessionInactivityDurationMinutes) –

    The duration of inactivity, in minutes, after which the session expires. Minimum value of 1440 (24 hours). Maximum value of 20160 (14 days).

Raises:

Source code in docs_src/capo_connect/_services/connect.py
def create_auth_code(
    self,
    instance_id: "capo_connect.types.instance_id.InstanceId",
    scope: "capo_connect.types.auth_scope.AuthScope",
    session_inactivity_duration_minutes: "capo_connect.types.session_inactivity_duration_minutes.SessionInactivityDurationMinutes",
    *,
    config_overrides: Optional[ConnectClientConfig] = None,
    max_session_duration_minutes: Optional[
        "capo_connect.types.max_session_duration_minutes.MaxSessionDurationMinutes"
    ] = None,
) -> "capo_connect.types.create_auth_code_response.CreateAuthCodeResponse":
    """<p>Creates an authorization code for the specified Connect Customer instance. The authorization code can be used to establish a session with scoped permissions defined by the specified scope parameters.</p>

    Args:
        instance_id: <p>The identifier of the Connect Customer instance. You can <a href="https://docs.aws.amazon.com/connect/latest/adminguide/find-instance-arn.html">find the instance ID</a> in the Amazon Resource Name (ARN) of the instance.</p>
        scope: <p>The scope for the authorization code. Defines the permissions and access boundaries for the session.</p>
        max_session_duration_minutes: <p>The maximum duration of the session, in minutes. Minimum value of 1440 (24 hours). Maximum value of 43200 (30 days). If no value is provided, the session will expire after 400 days.</p>
        session_inactivity_duration_minutes: <p>The duration of inactivity, in minutes, after which the session expires. Minimum value of 1440 (24 hours). Maximum value of 20160 (14 days).</p>

    Raises:
        capo_connect.errors.access_denied_exception.AccessDeniedException: <p>You do not have sufficient permissions to perform this action.</p>
        capo_connect.errors.internal_service_exception.InternalServiceException: <p>Request processing failed because of an error or failure with the service.</p>
        capo_connect.errors.invalid_parameter_exception.InvalidParameterException: <p>One or more of the specified parameters are not valid.</p>
        capo_connect.errors.invalid_request_exception.InvalidRequestException: <p>The request is not valid.</p>
        capo_connect.errors.resource_not_found_exception.ResourceNotFoundException: <p>The specified resource was not found.</p>
        capo_connect.errors.throttling_exception.ThrottlingException: <p>The throttling limit has been exceeded.</p>
        capo_connect.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_connect.types.create_auth_code_request.CreateAuthCodeRequest]",
    ) -> OperationResponse[
        "capo_connect.types.create_auth_code_response.CreateAuthCodeResponse"
    ]:
        import capo_connect._operations.amazon_connect_service.create_auth_code

        output, http_response = (
            capo_connect._operations.amazon_connect_service.create_auth_code.create_auth_code(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    def _redact_output(
        output: "capo_connect.types.create_auth_code_response.CreateAuthCodeResponse",
    ) -> dict[str, Any]:
        import capo_connect.types.create_auth_code_response

        return capo_connect.types.create_auth_code_response.redact_sensitive(output)

    interceptors_, options_ = self.operation_options(
        config_overrides,
        OperationLogging("CreateAuthCode", redact_output=_redact_output),
    )
    input_: capo_connect.types.create_auth_code_request.CreateAuthCodeRequest = {
        "instance_id": instance_id,
        "scope": scope,
        "session_inactivity_duration_minutes": session_inactivity_duration_minutes,
    }
    if max_session_duration_minutes is not None:
        input_["max_session_duration_minutes"] = max_session_duration_minutes

    response = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output