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)
–
-
resource_id
(ResourceId)
–
-
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/route53_profiles.py
| 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[Route53ProfilesClientConfig] = 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.
"""
def _handler(
req: "OperationRequest[capo_route53profiles.types.associate_profile_request.AssociateProfileRequest]",
) -> OperationResponse[
"capo_route53profiles.types.associate_profile_response.AssociateProfileResponse"
]:
import capo_route53profiles._operations.route53_profiles.associate_profile
output, http_response = (
capo_route53profiles._operations.route53_profiles.associate_profile.associate_profile(
req.options, req.input
)
)
return OperationResponse(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 = execute_pipeline(
OperationRequest(input=input_, options=options_),
handler=_handler,
interceptors=list(interceptors_),
)
response.response.close()
return response.output
|