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