Skip to content

associate_profile async

associate_profile(
    profile_id: ResourceId,
    resource_id: ResourceId,
    name: Name,
    *,
    config_overrides: Optional[AsyncRoute53ProfilesClientConfig] = None,
    tags: Optional[TagList] = None,
) -> AssociateProfileResponse

Associates a Route 53 Profiles profile with a VPC. A VPC can have only one Profile associated with it, but a Profile can be associated with 1000 of VPCs (and you can request a higher quota). For more information, see https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DNSLimitations.html#limits-api-entities.

Parameters:

  • profile_id (ResourceId) –

    ID of the Profile.

  • resource_id (ResourceId) –

    The ID of the VPC.

  • name (Name) –

    A name for the association.

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

    A list of the tag keys and values that you want to identify the Profile association.

Raises:

Source code in docs_src/capo_route53profiles/_services/async_route53_profiles.py
async def associate_profile(
    self,
    profile_id: "capo_route53profiles.types.resource_id.ResourceId",
    resource_id: "capo_route53profiles.types.resource_id.ResourceId",
    name: "capo_route53profiles.types.name.Name",
    *,
    config_overrides: Optional[AsyncRoute53ProfilesClientConfig] = None,
    tags: Optional["capo_route53profiles.types.tag_list.TagList"] = None,
) -> (
    "capo_route53profiles.types.associate_profile_response.AssociateProfileResponse"
):
    """<p> Associates a Route 53 Profiles profile with a VPC. A VPC can have only one Profile associated with it, but a Profile can be associated with 1000 of VPCs (and you can request a higher quota). For more information, see <a href="https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DNSLimitations.html#limits-api-entities">https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DNSLimitations.html#limits-api-entities</a>. </p>

    Args:
        profile_id: <p> ID of the Profile. </p>
        resource_id: <p> The ID of the VPC. </p>
        name: <p> A name for the association. </p>
        tags: <p> A list of the tag keys and values that you want to identify the Profile association. </p>

    Raises:
        capo_route53profiles.errors.access_denied_exception.AccessDeniedException: <p> The current account doesn't have the IAM permissions required to perform the specified operation. </p>
        capo_route53profiles.errors.conflict_exception.ConflictException: <p> The request you submitted conflicts with an existing request. </p>
        capo_route53profiles.errors.invalid_parameter_exception.InvalidParameterException: <p> One or more parameters in this request are not valid. </p>
        capo_route53profiles.errors.limit_exceeded_exception.LimitExceededException: <p> The request caused one or more limits to be exceeded. </p>
        capo_route53profiles.errors.resource_exists_exception.ResourceExistsException: <p> The resource you are trying to associate, has already been associated. </p>
        capo_route53profiles.errors.resource_not_found_exception.ResourceNotFoundException: <p> The resource you are associating is not found. </p>
        capo_route53profiles.errors.throttling_exception.ThrottlingException: <p> The request was throttled. Try again in a few minutes. </p>
        capo_route53profiles.errors.validation_exception.ValidationException: <p> You have provided an invalid command. </p>
        capo_route53profiles.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_route53profiles.types.associate_profile_request.AssociateProfileRequest]",
    ) -> AsyncOperationResponse[
        "capo_route53profiles.types.associate_profile_response.AssociateProfileResponse"
    ]:
        import capo_route53profiles._operations.route53_profiles.associate_profile

        (
            output,
            http_response,
        ) = await capo_route53profiles._operations.route53_profiles.associate_profile.async_associate_profile(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("AssociateProfile")
    )
    input_: capo_route53profiles.types.associate_profile_request.AssociateProfileRequest = {
        "profile_id": profile_id,
        "resource_id": resource_id,
        "name": name,
    }
    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