CloudFront Streaming Distribution API

The Streaming Distribution API from CloudFront — 3 operation(s) for streaming distribution.

Operations 7

POST /2020-05-31/streaming-distribution Create Streaming Distribution #
GET /2020-05-31/streaming-distribution List Streaming Distributions #
POST /2020-05-31/streaming-distribution?WithTags Create Streaming Distribution With Tags #
DELETE /2020-05-31/streaming-distribution/{Id} Delete Streaming Distribution #
GET /2020-05-31/streaming-distribution/{Id} Get Streaming Distribution #
GET /2020-05-31/streaming-distribution/{Id}/config Get Streaming Distribution Config #
PUT /2020-05-31/streaming-distribution/{Id}/config Update Streaming Distribution #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/cloudfront:cloudfront-streaming-distribution-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

cloudfront-streaming-distribution-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Amazon CloudFront Streaming Distribution API
  version: '2020-05-31'
  description: Generated from AWS's published Smithy model for Amazon CloudFront. 7 operation(s).
  contact:
    name: Amazon Web Services
    url: https://aws.amazon.com/contact-us/
  license:
    name: Apache 2.0
    identifier: Apache-2.0
    url: https://github.com/aws/api-models-aws/blob/main/LICENSE
servers:
- url: https://cloudfront.{region}.amazonaws.com
  variables:
    region:
      default: us-east-1
security:
- sigv4: []
paths:
  /2020-05-31/streaming-distribution:
    post:
      operationId: CreateStreamingDistribution
      summary: Create Streaming Distribution
      description: This API is deprecated. Amazon CloudFront is deprecating real-time messaging protocol (RTMP) distributions
        on December 31, 2020. For more information, read the announcement on the Amazon CloudFront discussion forum.
      responses:
        '200':
          description: Success
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/CreateStreamingDistributionResult'
        '403':
          description: AccessDenied
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/AccessDenied'
        '409':
          description: CNAMEAlreadyExists; StreamingDistributionAlreadyExists
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/CNAMEAlreadyExists'
        '400':
          description: InconsistentQuantities; InvalidArgument; InvalidOrigin; InvalidOriginAccessControl; InvalidOriginAccessIdentity;
            MissingBody; TooManyStreamingDistributionCNAMEs; TooManyStreamingDistributions; TooManyTrustedSigners; TrustedSignerDoesNotExist
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/InconsistentQuantities'
      requestBody:
        content:
          application/xml:
            schema:
              $ref: '#/components/schemas/CreateStreamingDistributionRequest'
      tags:
      - Streaming Distribution
    get:
      operationId: ListStreamingDistributions
      summary: List Streaming Distributions
      description: List streaming distributions.
      responses:
        '200':
          description: Success
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/ListStreamingDistributionsResult'
        '400':
          description: InvalidArgument
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/InvalidArgument'
      requestBody:
        content:
          application/xml:
            schema:
              $ref: '#/components/schemas/ListStreamingDistributionsRequest'
      tags:
      - Streaming Distribution
  /2020-05-31/streaming-distribution?WithTags:
    post:
      operationId: CreateStreamingDistributionWithTags
      summary: Create Streaming Distribution With Tags
      description: This API is deprecated. Amazon CloudFront is deprecating real-time messaging protocol (RTMP) distributions
        on December 31, 2020. For more information, read the announcement on the Amazon CloudFront discussion forum.
      responses:
        '200':
          description: Success
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/CreateStreamingDistributionWithTagsResult'
        '403':
          description: AccessDenied
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/AccessDenied'
        '409':
          description: CNAMEAlreadyExists; StreamingDistributionAlreadyExists
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/CNAMEAlreadyExists'
        '400':
          description: InconsistentQuantities; InvalidArgument; InvalidOrigin; InvalidOriginAccessControl; InvalidOriginAccessIdentity;
            InvalidTagging; MissingBody; TooManyStreamingDistributionCNAMEs; TooManyStreamingDistributions; TooManyTrustedSigners;
            TrustedSignerDoesNotExist
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/InconsistentQuantities'
      requestBody:
        content:
          application/xml:
            schema:
              $ref: '#/components/schemas/CreateStreamingDistributionWithTagsRequest'
      tags:
      - Streaming Distribution
  /2020-05-31/streaming-distribution/{Id}:
    delete:
      operationId: DeleteStreamingDistribution
      summary: Delete Streaming Distribution
      description: 'Delete a streaming distribution. To delete an RTMP distribution using the CloudFront API, perform the
        following steps. To delete an RTMP distribution using the CloudFront API: Disable the RTMP distribution. Submit a
        GET Streaming Distribution Config request to get the current configuration and the Etag header for the distribution.
        Update the XML document that was returned in the response to your GET Streaming Distribution Config request to change
        the value of Enabled to false. Submit a PUT Streaming Distribution Config request to update the configuration for
        your distribution. In the request body, include the XML document that you updated in Step 3. Then set the value of
        the HTTP If-Match header to the value of the ETag header that CloudFront returned when you submitted the GET Streaming
        Distribution Config request in Step 2. Review the response to the PUT Streaming Distribution Config request to confirm
        that the distribution was successfully disabled. Submit a GET Streaming Distribution Config request to confirm that
        your changes have propagated. When propagation is complete, the value of Status is Deployed. Submit a DELETE Streaming
        Distribution request. Set the value of the HTTP'
      responses:
        '200':
          description: Success
          content:
            text/xml:
              schema:
                type: string
        '403':
          description: AccessDenied
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/AccessDenied'
        '400':
          description: InvalidIfMatchVersion
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/InvalidIfMatchVersion'
        '404':
          description: NoSuchStreamingDistribution
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/NoSuchStreamingDistribution'
        '412':
          description: PreconditionFailed
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/PreconditionFailed'
        '409':
          description: StreamingDistributionNotDisabled
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/StreamingDistributionNotDisabled'
      requestBody:
        content:
          application/xml:
            schema:
              $ref: '#/components/schemas/DeleteStreamingDistributionRequest'
      tags:
      - Streaming Distribution
    get:
      operationId: GetStreamingDistribution
      summary: Get Streaming Distribution
      description: Gets information about a specified RTMP distribution, including the distribution configuration.
      responses:
        '200':
          description: Success
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/GetStreamingDistributionResult'
        '403':
          description: AccessDenied
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/AccessDenied'
        '404':
          description: NoSuchStreamingDistribution
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/NoSuchStreamingDistribution'
      requestBody:
        content:
          application/xml:
            schema:
              $ref: '#/components/schemas/GetStreamingDistributionRequest'
      tags:
      - Streaming Distribution
  /2020-05-31/streaming-distribution/{Id}/config:
    get:
      operationId: GetStreamingDistributionConfig
      summary: Get Streaming Distribution Config
      description: Get the configuration information about a streaming distribution.
      responses:
        '200':
          description: Success
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/GetStreamingDistributionConfigResult'
        '403':
          description: AccessDenied
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/AccessDenied'
        '404':
          description: NoSuchStreamingDistribution
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/NoSuchStreamingDistribution'
      requestBody:
        content:
          application/xml:
            schema:
              $ref: '#/components/schemas/GetStreamingDistributionConfigRequest'
      tags:
      - Streaming Distribution
    put:
      operationId: UpdateStreamingDistribution
      summary: Update Streaming Distribution
      description: Update a streaming distribution.
      responses:
        '200':
          description: Success
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/UpdateStreamingDistributionResult'
        '403':
          description: AccessDenied
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/AccessDenied'
        '409':
          description: CNAMEAlreadyExists
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/CNAMEAlreadyExists'
        '400':
          description: IllegalUpdate; InconsistentQuantities; InvalidArgument; InvalidIfMatchVersion; InvalidOriginAccessControl;
            InvalidOriginAccessIdentity; MissingBody; TooManyStreamingDistributionCNAMEs; TooManyTrustedSigners; TrustedSignerDoesNotExist
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/IllegalUpdate'
        '404':
          description: NoSuchStreamingDistribution
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/NoSuchStreamingDistribution'
        '412':
          description: PreconditionFailed
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/PreconditionFailed'
      requestBody:
        content:
          application/xml:
            schema:
              $ref: '#/components/schemas/UpdateStreamingDistributionRequest'
      tags:
      - Streaming Distribution
components:
  securitySchemes:
    sigv4:
      type: apiKey
      in: header
      name: Authorization
      description: AWS Signature Version 4. The Authorization header carries an AWS4-HMAC-SHA256 signature over the canonical
        request, with X-Amz-Date (and X-Amz-Security-Token for temporary credentials). Not a bearer token.
      x-aws-sigv4:
        signingName: cloudfront
  schemas:
    AccessDenied:
      type: object
      properties:
        Message:
          type: string
    ActiveTrustedSigners:
      type: object
      properties:
        Enabled:
          type: boolean
          description: This field is true if any of the Amazon Web Services accounts in the list are configured as trusted
            signers. If not, this field is false.
        Quantity:
          type: integer
          description: The number of Amazon Web Services accounts in the list.
        Items:
          type: array
          items:
            $ref: '#/components/schemas/Signer'
          description: A list of Amazon Web Services accounts and the identifiers of active CloudFront key pairs in each account
            that CloudFront can use to verify the signatures of signed URLs and signed cookies.
      required:
      - Enabled
      - Quantity
    Aliases:
      type: object
      properties:
        Quantity:
          type: integer
          description: The number of CNAME aliases, if any, that you want to associate with this distribution.
        Items:
          type: array
          items:
            type: string
          description: A complex type that contains the CNAME aliases, if any, that you want to associate with this distribution.
      required:
      - Quantity
    CNAMEAlreadyExists:
      type: object
      properties:
        Message:
          type: string
    CreateStreamingDistributionRequest:
      type: object
      properties:
        StreamingDistributionConfig:
          $ref: '#/components/schemas/StreamingDistributionConfig'
      required:
      - StreamingDistributionConfig
    CreateStreamingDistributionResult:
      type: object
      properties:
        StreamingDistribution:
          $ref: '#/components/schemas/StreamingDistribution'
        Location:
          type: string
          description: The fully qualified URI of the new streaming distribution resource just created.
        ETag:
          type: string
          description: The current version of the streaming distribution created.
    CreateStreamingDistributionWithTagsRequest:
      type: object
      properties:
        StreamingDistributionConfigWithTags:
          $ref: '#/components/schemas/StreamingDistributionConfigWithTags'
      required:
      - StreamingDistributionConfigWithTags
    CreateStreamingDistributionWithTagsResult:
      type: object
      properties:
        StreamingDistribution:
          $ref: '#/components/schemas/StreamingDistribution'
        Location:
          type: string
          description: The fully qualified URI of the new streaming distribution resource just created.
        ETag:
          type: string
          description: The current version of the distribution created.
    DeleteStreamingDistributionRequest:
      type: object
      properties:
        Id:
          type: string
          description: The distribution ID.
        IfMatch:
          type: string
          description: 'The value of the ETag header that you received when you disabled the streaming distribution. For example:
            E2QWRUHAPOMQZL.'
      required:
      - Id
    GetStreamingDistributionConfigRequest:
      type: object
      properties:
        Id:
          type: string
          description: The streaming distribution's ID.
      required:
      - Id
    GetStreamingDistributionConfigResult:
      type: object
      properties:
        StreamingDistributionConfig:
          $ref: '#/components/schemas/StreamingDistributionConfig'
        ETag:
          type: string
          description: 'The current version of the configuration. For example: E2QWRUHAPOMQZL.'
    GetStreamingDistributionRequest:
      type: object
      properties:
        Id:
          type: string
          description: The streaming distribution's ID.
      required:
      - Id
    GetStreamingDistributionResult:
      type: object
      properties:
        StreamingDistribution:
          $ref: '#/components/schemas/StreamingDistribution'
        ETag:
          type: string
          description: 'The current version of the streaming distribution''s information. For example: E2QWRUHAPOMQZL.'
    IllegalUpdate:
      type: object
      properties:
        Message:
          type: string
    InconsistentQuantities:
      type: object
      properties:
        Message:
          type: string
    InvalidArgument:
      type: object
      properties:
        Message:
          type: string
    InvalidIfMatchVersion:
      type: object
      properties:
        Message:
          type: string
    KeyPairIds:
      type: object
      properties:
        Quantity:
          type: integer
          description: The number of key pair identifiers in the list.
        Items:
          type: array
          items:
            type: string
          description: A list of CloudFront key pair identifiers.
      required:
      - Quantity
    ListStreamingDistributionsRequest:
      type: object
      properties:
        Marker:
          type: string
          description: The value that you provided for the Marker request parameter.
        MaxItems:
          type: integer
          description: The value that you provided for the MaxItems request parameter.
    ListStreamingDistributionsResult:
      type: object
      properties:
        StreamingDistributionList:
          $ref: '#/components/schemas/StreamingDistributionList'
    NoSuchStreamingDistribution:
      type: object
      properties:
        Message:
          type: string
    PreconditionFailed:
      type: object
      properties:
        Message:
          type: string
    S3Origin:
      type: object
      properties:
        DomainName:
          type: string
          description: The DNS name of the Amazon S3 origin.
        OriginAccessIdentity:
          type: string
          description: The CloudFront origin access identity to associate with the distribution. Use an origin access identity
            to configure the distribution so that end users can only access objects in an Amazon S3 bucket through CloudFront.
            If you want end users to be able to access objects using either the CloudFront URL or the Amazon S3 URL, specify
            an empty OriginAccessIdentity element. To delete the origin access identity from an existing distribution, update
            the distribution configuration and include an empty OriginAccessIdentity element. To replace the origin access
            identity, update the distribution configura
      required:
      - DomainName
      - OriginAccessIdentity
    Signer:
      type: object
      properties:
        AwsAccountNumber:
          type: string
          description: An Amazon Web Services account number that contains active CloudFront key pairs that CloudFront can
            use to verify the signatures of signed URLs and signed cookies. If the Amazon Web Services account that owns the
            key pairs is the same account that owns the CloudFront distribution, the value of this field is self.
        KeyPairIds:
          $ref: '#/components/schemas/KeyPairIds'
    StreamingDistribution:
      type: object
      properties:
        Id:
          type: string
          description: 'The identifier for the RTMP distribution. For example: EGTXBD79EXAMPLE.'
        ARN:
          type: string
          description: 'The ARN (Amazon Resource Name) for the distribution. For example: arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5,
            where 123456789012 is your Amazon Web Services account ID.'
        Status:
          type: string
          description: The current status of the RTMP distribution. When the status is Deployed, the distribution's information
            is propagated to all CloudFront edge locations.
        LastModifiedTime:
          type: string
          format: date-time
          description: The date and time that the distribution was last modified.
        DomainName:
          type: string
          description: The domain name that corresponds to the streaming distribution, for example, s5c39gqb8ow64r.cloudfront.net.
        ActiveTrustedSigners:
          $ref: '#/components/schemas/ActiveTrustedSigners'
        StreamingDistributionConfig:
          $ref: '#/components/schemas/StreamingDistributionConfig'
      required:
      - Id
      - ARN
      - Status
      - DomainName
      - ActiveTrustedSigners
      - StreamingDistributionConfig
    StreamingDistributionConfig:
      type: object
      properties:
        CallerReference:
          type: string
          description: A unique value (for example, a date-time stamp) that ensures that the request can't be replayed. If
            the value of CallerReference is new (regardless of the content of the StreamingDistributionConfig object), CloudFront
            creates a new distribution. If CallerReference is a value that you already sent in a previous request to create
            a distribution, CloudFront returns a DistributionAlreadyExists error.
        S3Origin:
          $ref: '#/components/schemas/S3Origin'
        Aliases:
          $ref: '#/components/schemas/Aliases'
        Comment:
          type: string
          description: Any comments you want to include about the streaming distribution.
        Logging:
          $ref: '#/components/schemas/StreamingLoggingConfig'
        TrustedSigners:
          $ref: '#/components/schemas/TrustedSigners'
        PriceClass:
          type: string
          enum:
          - PriceClass_100
          - PriceClass_200
          - PriceClass_All
          - None
          description: A complex type that contains information about price class for this streaming distribution.
        Enabled:
          type: boolean
          description: Whether the streaming distribution is enabled to accept user requests for content.
      required:
      - CallerReference
      - S3Origin
      - Comment
      - TrustedSigners
      - Enabled
    StreamingDistributionConfigWithTags:
      type: object
      properties:
        StreamingDistributionConfig:
          $ref: '#/components/schemas/StreamingDistributionConfig'
        Tags:
          $ref: '#/components/schemas/Tags'
      required:
      - StreamingDistributionConfig
      - Tags
    StreamingDistributionList:
      type: object
      properties:
        Marker:
          type: string
          description: The value you provided for the Marker request parameter.
        NextMarker:
          type: string
          description: If IsTruncated is true, this element is present and contains the value you can use for the Marker request
            parameter to continue listing your RTMP distributions where they left off.
        MaxItems:
          type: integer
          description: The value you provided for the MaxItems request parameter.
        IsTruncated:
          type: boolean
          description: A flag that indicates whether more streaming distributions remain to be listed. If your results were
            truncated, you can make a follow-up pagination request using the Marker request parameter to retrieve more distributions
            in the list.
        Quantity:
          type: integer
          description: The number of streaming distributions that were created by the current Amazon Web Services account.
        Items:
          type: array
          items:
            $ref: '#/components/schemas/StreamingDistributionSummary'
          description: A complex type that contains one StreamingDistributionSummary element for each distribution that was
            created by the current Amazon Web Services account.
      required:
      - Marker
      - MaxItems
      - IsTruncated
      - Quantity
    StreamingDistributionNotDisabled:
      type: object
      properties:
        Message:
          type: string
    StreamingDistributionSummary:
      type: object
      properties:
        Id:
          type: string
          description: The identifier for the distribution, for example, EDFDVBD632BHDS5.
        ARN:
          type: string
          description: 'The ARN (Amazon Resource Name) for the streaming distribution. For example: arn:aws:cloudfront::123456789012:streaming-distribution/EDFDVBD632BHDS5,
            where 123456789012 is your Amazon Web Services account ID.'
        Status:
          type: string
          description: Indicates the current status of the distribution. When the status is Deployed, the distribution's information
            is fully propagated throughout the Amazon CloudFront system.
        LastModifiedTime:
          type: string
          format: date-time
          description: The date and time the distribution was last modified.
        DomainName:
          type: string
          description: The domain name corresponding to the distribution, for example, d111111abcdef8.cloudfront.net.
        S3Origin:
          $ref: '#/components/schemas/S3Origin'
        Aliases:
          $ref: '#/components/schemas/Aliases'
        TrustedSigners:
          $ref: '#/components/schemas/TrustedSigners'
        Comment:
          type: string
          description: The comment originally specified when this distribution was created.
        PriceClass:
          type: string
          enum:
          - PriceClass_100
          - PriceClass_200
          - PriceClass_All
          - None
          description: A complex type that contains information about price class for this streaming distribution.
        Enabled:
          type: boolean
          description: Whether the distribution is enabled to accept end user requests for content.
      required:
      - Id
      - ARN
      - Status
      - LastModifiedTime
      - DomainName
      - S3Origin
      - Aliases
      - TrustedSigners
      - Comment
      - PriceClass
      - Enabled
    StreamingLoggingConfig:
      type: object
      properties:
        Enabled:
          type: boolean
          description: Specifies whether you want CloudFront to save access logs to an Amazon S3 bucket. If you don't want
            to enable logging when you create a streaming distribution or if you want to disable logging for an existing streaming
            distribution, specify false for Enabled, and specify empty Bucket and Prefix elements. If you specify false for
            Enabled but you specify values for Bucket and Prefix, the values are automatically deleted.
        Bucket:
          type: string
          description: The Amazon S3 bucket to store the access logs in, for example, amzn-s3-demo-bucket.s3.amazonaws.com.
        Prefix:
          type: string
          description: An optional string that you want CloudFront to prefix to the access log filenames for this streaming
            distribution, for example, myprefix/. If you want to enable logging, but you don't want to specify a prefix, you
            still must include an empty Prefix element in the Logging element.
      required:
      - Enabled
      - Bucket
      - Prefix
    Tag:
      type: object
      properties:
        Key:
          type: string
          description: 'A string that contains Tag key. The string length should be between 1 and 128 characters. Valid characters
            include a-z, A-Z, 0-9, space, and the special characters _ - . : / = + @.'
        Value:
          type: string
          description: 'A string that contains an optional Tag value. The string length should be between 0 and 256 characters.
            Valid characters include a-z, A-Z, 0-9, space, and the special characters _ - . : / = + @.'
      required:
      - Key
    Tags:
      type: object
      properties:
        Items:
          type: array
          items:
            $ref: '#/components/schemas/Tag'
          description: A complex type that contains Tag elements.
    TrustedSigners:
      type: object
      properties:
        Enabled:
          type: boolean
          description: This field is true if any of the Amazon Web Services accounts in the list are configured as trusted
            signers. If not, this field is false.
        Quantity:
          type: integer
          description: The number of Amazon Web Services accounts in the list.
        Items:
          type: array
          items:
            type: string
          description: A list of Amazon Web Services account identifiers.
      required:
      - Enabled
      - Quantity
    UpdateStreamingDistributionRequest:
      type: object
      properties:
        StreamingDistributionConfig:
          $ref: '#/components/schemas/StreamingDistributionConfig'
        Id:
          type: string
          description: The streaming distribution's id.
        IfMatch:
          type: string
          description: 'The value of the ETag header that you received when retrieving the streaming distribution''s configuration.
            For example: E2QWRUHAPOMQZL.'
      required:
      - StreamingDistributionConfig
      - Id
    UpdateStreamingDistributionResult:
      type: object
      properties:
        StreamingDistribution:
          $ref: '#/components/schemas/StreamingDistribution'
        ETag:
          type: string
          description: 'The current version of the configuration. For example: E2QWRUHAPOMQZL.'
x-provenance:
  method: harvested
  publisher: Amazon Web Services
  source: https://raw.githubusercontent.com/aws/api-models-aws/582e55931c45b944739742a2c1620b6026dd2d13/models/cloudfront/service/2020-05-31/cloudfront-2020-05-31.json
  note: converted by smithy-to-openapi.py from AWS's Smithy model (roadmap#1001)