Amplify Toolbox
    Preparing search index...

    Class AmplifyHostingConstruct

    Unified, manifest-driven hosting construct.

    Always creates: S3 bucket (private, BLOCK_ALL), CloudFront distribution, OAC, atomic deployment with Build ID.

    Provisions based on manifest content:

    • compute entries → Lambda functions (handler/http-server/edge types)
    • cache config → S3 cache bucket + DynamoDB tags table + SQS revalidation queue
    • imageOptimization → separate image Lambda
    • middleware → Lambda@Edge or CloudFront Function
    • domain config → ACM certificate + Route 53 + CF aliases
    • waf.enabled → WAFv2 WebACL

    Hierarchy

    • Construct
      • AmplifyHostingConstruct
    Index

    Constructors

    Properties

    bucket: Bucket
    buildCacheBucket?: Bucket
    cacheBucket?: Bucket
    cacheTable?: Table
    certificate?: ICertificate
    computeAliases: Map<string, Alias>

    live aliases for compute resources with provisioned concurrency. Passed to the CDN so the SSR REST API integration targets the warm alias instead of $LATEST.

    computeFunctions: Map<string, Function | EdgeFunction>
    computeFunctionUrls: Map<string, FunctionUrl>
    distribution: Distribution
    distributionUrl: string
    hostedZone?: IHostedZone
    monitoringTopic?: ITopic

    SNS topic alarm actions are sent to. Set when monitoring is on (the default). The user subscribes (email, Slack via webhook, PagerDuty, etc.) via monitoringTopic.addSubscription(...) or by configuring an external listener with the topic ARN.

    Not declared readonly because the MonitoringConstruct that owns the topic is built mid-constructor (after the SSR / image-opt Lambdas it alarms on are wired up), so the value is assigned after the field declaration runs. Treat it as logically immutable post-construction — do not reassign from outside the constructor.

    node: Node

    The tree node.

    revalidationDlq?: Queue
    revalidationQueue?: Queue
    webAcl?: CfnWebACL

    Methods

    • Get the hosting resources for output wiring.

      Returns HostingResources

    • Returns a string representation of this construct.

      Returns string

    • Applies one or more mixins to this construct.

      Mixins are applied in order. The list of constructs is captured at the start of the call, so constructs added by a mixin will not be visited. Use multiple with() calls if subsequent mixins should apply to added constructs.

      Parameters

      • ...mixins: IMixin[]

        The mixins to apply

      Returns IConstruct

      This construct for chaining

    • Checks if x is a construct.

      Use this method instead of instanceof to properly detect Construct instances, even when the construct library is symlinked.

      Explanation: in JavaScript, multiple copies of the constructs library on disk are seen as independent, completely different libraries. As a consequence, the class Construct in each copy of the constructs library is seen as a different class, and an instance of one class will not test as instanceof the other class. npm install will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the constructs library can be accidentally installed, and instanceof will behave unpredictably. It is safest to avoid using instanceof, and using this type-testing method instead.

      Parameters

      • x: any

        Any object

      Returns x is Construct

      true if x is an object created from a class which extends Construct.