Create an Amazon CloudFront VPC origin.
Parameters:
Raises:
Examples:
To create a VPC origin
The following command creates a VPC origin:
>>> await client.create_vpc_origin(vpc_origin_endpoint_config={'Name': 'my-vpcorigin-name', 'Arn': 'arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-alb-us-west-2/e6aa5c7d26415c6d', 'HTTPPort': 80, 'HTTPSPort': 443, 'OriginProtocolPolicy': 'match-viewer', 'OriginSslProtocols': {'Quantity': 2, 'Items': ['TLSv1.1', 'TLSv1.2']}})
Source code in docs_src/capo_cloudfront/_services/async_cloud_front.py
| async def create_vpc_origin(
self,
vpc_origin_endpoint_config: "capo_cloudfront.types.vpc_origin_endpoint_config.VpcOriginEndpointConfig",
*,
config_overrides: Optional[AsyncCloudFrontClientConfig] = None,
tags: Optional["capo_cloudfront.types.tags.Tags"] = None,
) -> "capo_cloudfront.types.create_vpc_origin_result.CreateVpcOriginResult":
"""<p>Create an Amazon CloudFront VPC origin.</p>
Args:
vpc_origin_endpoint_config: <p>The VPC origin endpoint configuration.</p>
Raises:
capo_cloudfront.errors.access_denied.AccessDenied: <p>Access denied.</p>
capo_cloudfront.errors.entity_already_exists.EntityAlreadyExists: <p>The entity already exists. You must provide a unique entity.</p>
capo_cloudfront.errors.entity_limit_exceeded.EntityLimitExceeded: <p>The entity limit has been exceeded.</p>
capo_cloudfront.errors.inconsistent_quantities.InconsistentQuantities: <p>The value of <code>Quantity</code> and the size of <code>Items</code> don't match.</p>
capo_cloudfront.errors.invalid_argument.InvalidArgument: <p>An argument is invalid.</p>
capo_cloudfront.errors.invalid_tagging.InvalidTagging: <p>The tagging specified is not valid.</p>
capo_cloudfront.errors.unsupported_operation.UnsupportedOperation: <p>This operation is not supported in this Amazon Web Services Region.</p>
capo_cloudfront.errors.UnknownServiceError: The service returned an error code this client does not model.
Examples:
To create a VPC origin
The following command creates a VPC origin:
>>> await client.create_vpc_origin(vpc_origin_endpoint_config={'Name': 'my-vpcorigin-name', 'Arn': 'arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-alb-us-west-2/e6aa5c7d26415c6d', 'HTTPPort': 80, 'HTTPSPort': 443, 'OriginProtocolPolicy': 'match-viewer', 'OriginSslProtocols': {'Quantity': 2, 'Items': ['TLSv1.1', 'TLSv1.2']}})
"""
async def _handler(
req: "AsyncOperationRequest[capo_cloudfront.types.create_vpc_origin_request.CreateVpcOriginRequest]",
) -> AsyncOperationResponse[
"capo_cloudfront.types.create_vpc_origin_result.CreateVpcOriginResult"
]:
import capo_cloudfront._operations.cloudfront2020_05_31.create_vpc_origin
(
output,
http_response,
) = await capo_cloudfront._operations.cloudfront2020_05_31.create_vpc_origin.async_create_vpc_origin(
req.options, req.input
)
return AsyncOperationResponse(output=output, response=http_response)
interceptors_, options_ = self.operation_options(
config_overrides, OperationLogging("CreateVpcOrigin")
)
input_: capo_cloudfront.types.create_vpc_origin_request.CreateVpcOriginRequest = {
"vpc_origin_endpoint_config": vpc_origin_endpoint_config
}
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
|