Skip to content

create_traffic_distribution_group async

create_traffic_distribution_group(
    name: Name128,
    instance_id: ACGRInstanceIdOrArn,
    *,
    config_overrides: Optional[AsyncConnectClientConfig] = None,
    description: Optional[Description250] = None,
    client_token: Optional[ClientToken] = None,
    tags: Optional[TagMap] = None,
) -> CreateTrafficDistributionGroupResponse

Creates a traffic distribution group given an Connect Customer instance that has been replicated.

The SignInConfig distribution is available only on a default TrafficDistributionGroup (see the IsDefault parameter in the TrafficDistributionGroup data type). If you call UpdateTrafficDistribution with a modified SignInConfig and a non-default TrafficDistributionGroup, an InvalidRequestException is returned.

For more information about creating traffic distribution groups, see Set up traffic distribution groups in the Connect Customer Administrator Guide.

Parameters:

  • name (Name128) –

    The name for the traffic distribution group.

  • description (Optional[Description250], default: None ) –

    A description for the traffic distribution group.

  • instance_id (ACGRInstanceIdOrArn) –

    The identifier of the Connect Customer instance that has been replicated. You can find the instanceId in the ARN of the instance.

  • client_token (Optional[ClientToken], default: None ) –

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services SDK populates this field. For more information about idempotency, see Making retries safe with idempotent APIs.

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

    The tags used to organize, track, or control access for this resource. For example, { "Tags": {"key1":"value1", "key2":"value2"} }.

Raises:

Source code in docs_src/capo_connect/_services/async_connect.py
async def create_traffic_distribution_group(
    self,
    name: "capo_connect.types.name128.Name128",
    instance_id: "capo_connect.types.acgr_instance_id_or_arn.ACGRInstanceIdOrArn",
    *,
    config_overrides: Optional[AsyncConnectClientConfig] = None,
    description: Optional[
        "capo_connect.types.description250.Description250"
    ] = None,
    client_token: Optional["capo_connect.types.client_token.ClientToken"] = None,
    tags: Optional["capo_connect.types.tag_map.TagMap"] = None,
) -> "capo_connect.types.create_traffic_distribution_group_response.CreateTrafficDistributionGroupResponse":
    """<p>Creates a traffic distribution group given an Connect Customer instance that has been replicated.</p> <note> <p>The <code>SignInConfig</code> distribution is available only on a default <code>TrafficDistributionGroup</code> (see the <code>IsDefault</code> parameter in the <a href="https://docs.aws.amazon.com/connect/latest/APIReference/API_TrafficDistributionGroup.html">TrafficDistributionGroup</a> data type). If you call <code>UpdateTrafficDistribution</code> with a modified <code>SignInConfig</code> and a non-default <code>TrafficDistributionGroup</code>, an <code>InvalidRequestException</code> is returned.</p> </note> <p>For more information about creating traffic distribution groups, see <a href="https://docs.aws.amazon.com/connect/latest/adminguide/setup-traffic-distribution-groups.html">Set up traffic distribution groups</a> in the <i>Connect Customer Administrator Guide</i>. </p>

    Args:
        name: <p>The name for the traffic distribution group. </p>
        description: <p>A description for the traffic distribution group.</p>
        instance_id: <p>The identifier of the Connect Customer instance that has been replicated. You can find the <code>instanceId</code> in the ARN of the instance.</p>
        client_token: <p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services SDK populates this field. For more information about idempotency, see <a href="https://aws.amazon.com/builders-library/making-retries-safe-with-idempotent-APIs/">Making retries safe with idempotent APIs</a>.</p>
        tags: <p>The tags used to organize, track, or control access for this resource. For example, { "Tags": {"key1":"value1", "key2":"value2"} }.</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_request_exception.InvalidRequestException: <p>The request is not valid.</p>
        capo_connect.errors.resource_conflict_exception.ResourceConflictException: <p>A resource already has that name.</p>
        capo_connect.errors.resource_not_found_exception.ResourceNotFoundException: <p>The specified resource was not found.</p>
        capo_connect.errors.resource_not_ready_exception.ResourceNotReadyException: <p>The resource is not ready.</p>
        capo_connect.errors.service_quota_exceeded_exception.ServiceQuotaExceededException: <p>The service quota has been exceeded.</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.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_connect.types.create_traffic_distribution_group_request.CreateTrafficDistributionGroupRequest]",
    ) -> AsyncOperationResponse[
        "capo_connect.types.create_traffic_distribution_group_response.CreateTrafficDistributionGroupResponse"
    ]:
        import capo_connect._operations.amazon_connect_service.create_traffic_distribution_group

        (
            output,
            http_response,
        ) = await capo_connect._operations.amazon_connect_service.create_traffic_distribution_group.async_create_traffic_distribution_group(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("CreateTrafficDistributionGroup")
    )
    input_: capo_connect.types.create_traffic_distribution_group_request.CreateTrafficDistributionGroupRequest = {
        "name": name,
        "instance_id": instance_id,
    }
    if description is not None:
        input_["description"] = description
    if client_token is None:
        client_token = str(uuid.uuid4())
    input_["client_token"] = client_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