Skip to content

AWS::CloudFront::OriginAccessControl

Creates a new origin access control in CloudFront.

Generated by cfn-typegen --out cfn_types AWS::CloudFront::OriginAccessControl into cfn_types/cloudfront.py:

# Generated by cfn-typegen from the CloudFormation registry schemas. Do not edit.
# fmt: off
# ruff: noqa
"""AWS::CloudFront resources."""

from typing import Any, Literal, NotRequired, Unpack
from typing_extensions import TypedDict
from cfn_typed.base import DeletionPolicy, DependsOn, ResourceAttrs, UpdateReplacePolicy, build
from cfn_typed.intrinsics import Expr


CONSTRAINTS:dict[str,Any]={
'AWS::CloudFront::OriginAccessControl':{'OriginAccessControlConfig':{'P':{'OriginAccessControlOriginType':{'p':"^(s3|mediastore|lambda|mediapackagev2|execute-api)$"},'SigningBehavior':{'p':"^(never|no-override|always|always-amz-auth)$"},'SigningProtocol':{'p':"^(sigv4|sigv4a)$"}}}},
}


ATTRIBUTES:dict[str,Any]={"AWS::CloudFront::OriginAccessControl":["Id"]}


RULES:dict[str,Any]={}
Nested types (4)

These are defined above the properties in the generated module.

class OriginAccessControlOriginAccessControlConfig(TypedDict, closed=True):
    'Creates a new origin access control in CloudFront.'
    Description: NotRequired[Expr[str]]
    'A description of the origin access control.'
    Name: Expr[str]
    'A name to identify the origin access control.'
    OriginAccessControlOriginType: Expr[str]
    'The type of origin that this origin access control is for.'
    SigningBehavior: Expr[str]
    'Specifies which requests CloudFront signs (adds authentication information to).'
    SigningProtocol: Expr[str]
    'The signing protocol of the origin access control, which determines how CloudFront signs (authenticates) requests.'


class OriginAccessControlProps(TypedDict, closed=True):
    'Creates a new origin access control in CloudFront.'
    OriginAccessControlConfig: Expr[OriginAccessControlOriginAccessControlConfig]
    'The origin access control.'


class OriginAccessControl(ResourceAttrs):
    'Creates a new origin access control in CloudFront.'
    Type: Literal['AWS::CloudFront::OriginAccessControl']
    Properties: OriginAccessControlProps


def origin_access_control(
    *,
    depends_on: DependsOn | None = None,
    deletion_policy: DeletionPolicy | None = None,
    update_replace_policy: UpdateReplacePolicy | None = None,
    condition: str | None = None,
    metadata: dict[str, Any] | None = None,
    **props: Unpack[OriginAccessControlProps],
) -> OriginAccessControl:
    return build('AWS::CloudFront::OriginAccessControl', props, depends_on, deletion_policy, update_replace_policy, condition, metadata)

Attributes

Read-only values for get_att(logical_id, attribute). They are not accepted as inputs.

  • Id