Skip to content

create_voice_profile_domain async

create_voice_profile_domain(
    name: VoiceProfileDomainName,
    server_side_encryption_configuration: ServerSideEncryptionConfiguration,
    *,
    config_overrides: Optional[AsyncChimeSDKVoiceClientConfig] = None,
    description: Optional[VoiceProfileDomainDescription] = None,
    client_request_token: Optional[ClientRequestId] = None,
    tags: Optional[TagList] = None,
) -> CreateVoiceProfileDomainResponse

Creates a voice profile domain, a collection of voice profiles, their voice prints, and encrypted enrollment audio.

Before creating any voice profiles, you must provide all notices and obtain all consents from the speaker as required under applicable privacy and biometrics laws, and as required under the AWS service terms for the Amazon Chime SDK.

For more information about voice profile domains, see Using Amazon Chime SDK Voice Analytics in the Amazon Chime SDK Developer Guide.

Parameters:

Raises:

Source code in docs_src/capo_chime_sdk_voice/_services/async_chime_sdk_voice.py
async def create_voice_profile_domain(
    self,
    name: "capo_chime_sdk_voice.types.voice_profile_domain_name.VoiceProfileDomainName",
    server_side_encryption_configuration: "capo_chime_sdk_voice.types.server_side_encryption_configuration.ServerSideEncryptionConfiguration",
    *,
    config_overrides: Optional[AsyncChimeSDKVoiceClientConfig] = None,
    description: Optional[
        "capo_chime_sdk_voice.types.voice_profile_domain_description.VoiceProfileDomainDescription"
    ] = None,
    client_request_token: Optional[
        "capo_chime_sdk_voice.types.client_request_id.ClientRequestId"
    ] = None,
    tags: Optional["capo_chime_sdk_voice.types.tag_list.TagList"] = None,
) -> "capo_chime_sdk_voice.types.create_voice_profile_domain_response.CreateVoiceProfileDomainResponse":
    """<p>Creates a voice profile domain, a collection of voice profiles, their voice prints, and encrypted enrollment audio.</p> <important> <p>Before creating any voice profiles, you must provide all notices and obtain all consents from the speaker as required under applicable privacy and biometrics laws, and as required under the <a href="https://aws.amazon.com/service-terms/">AWS service terms</a> for the Amazon Chime SDK.</p> </important> <p>For more information about voice profile domains, see <a href="https://docs.aws.amazon.com/chime-sdk/latest/dg/pstn-voice-analytics.html">Using Amazon Chime SDK Voice Analytics</a> in the <i>Amazon Chime SDK Developer Guide</i>.</p>

    Args:
        name: <p>The name of the voice profile domain.</p>
        description: <p>A description of the voice profile domain.</p>
        server_side_encryption_configuration: <p>The server-side encryption configuration for the request.</p>
        client_request_token: <p>The unique identifier for the client request. Use a different token for different domain creation requests.</p>
        tags: <p>The tags assigned to the domain.</p>

    Raises:
        capo_chime_sdk_voice.errors.access_denied_exception.AccessDeniedException: <p>You don't have the permissions needed to run this action.</p>
        capo_chime_sdk_voice.errors.bad_request_exception.BadRequestException: <p>The input parameters don't match the service's restrictions.</p>
        capo_chime_sdk_voice.errors.conflict_exception.ConflictException: <p>Multiple instances of the same request were made simultaneously.</p>
        capo_chime_sdk_voice.errors.forbidden_exception.ForbiddenException: <p>The client is permanently forbidden from making the request.</p>
        capo_chime_sdk_voice.errors.resource_limit_exceeded_exception.ResourceLimitExceededException: <p>The request exceeds the resource limit.</p>
        capo_chime_sdk_voice.errors.service_failure_exception.ServiceFailureException: <p>The service encountered an unexpected error.</p>
        capo_chime_sdk_voice.errors.service_unavailable_exception.ServiceUnavailableException: <p>The service is currently unavailable.</p>
        capo_chime_sdk_voice.errors.throttled_client_exception.ThrottledClientException: <p>The number of customer requests exceeds the request rate limit.</p>
        capo_chime_sdk_voice.errors.unauthorized_client_exception.UnauthorizedClientException: <p>The client isn't authorized to request a resource.</p>
        capo_chime_sdk_voice.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_chime_sdk_voice.types.create_voice_profile_domain_request.CreateVoiceProfileDomainRequest]",
    ) -> AsyncOperationResponse[
        "capo_chime_sdk_voice.types.create_voice_profile_domain_response.CreateVoiceProfileDomainResponse"
    ]:
        import capo_chime_sdk_voice._operations.chime_sdk_telephony_service.create_voice_profile_domain

        (
            output,
            http_response,
        ) = await capo_chime_sdk_voice._operations.chime_sdk_telephony_service.create_voice_profile_domain.async_create_voice_profile_domain(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    def _redact_input(
        input_: "capo_chime_sdk_voice.types.create_voice_profile_domain_request.CreateVoiceProfileDomainRequest",
    ) -> dict[str, Any]:
        import capo_chime_sdk_voice.types.create_voice_profile_domain_request

        return capo_chime_sdk_voice.types.create_voice_profile_domain_request.redact_sensitive(
            input_
        )

    def _redact_output(
        output: "capo_chime_sdk_voice.types.create_voice_profile_domain_response.CreateVoiceProfileDomainResponse",
    ) -> dict[str, Any]:
        import capo_chime_sdk_voice.types.create_voice_profile_domain_response

        return capo_chime_sdk_voice.types.create_voice_profile_domain_response.redact_sensitive(
            output
        )

    interceptors_, options_ = self.operation_options(
        config_overrides,
        OperationLogging(
            "CreateVoiceProfileDomain",
            redact_input=_redact_input,
            redact_output=_redact_output,
        ),
    )
    input_: capo_chime_sdk_voice.types.create_voice_profile_domain_request.CreateVoiceProfileDomainRequest = {
        "name": name,
        "server_side_encryption_configuration": server_side_encryption_configuration,
    }
    if description is not None:
        input_["description"] = description
    if client_request_token is not None:
        input_["client_request_token"] = client_request_token
    if tags is not None:
        input_["tags"] = tags

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