{
    "name": "aws-static-website",
    "displayName": "AWS Static Website",
    "version": "v0.1.1",
    "description": "A Pulumi component to deploy a static website to AWS",
    "keywords": [
        "pulumi",
        "aws",
        "category/cloud",
        "kind/component",
        "web"
    ],
    "homepage": "https://pulumi.com",
    "publisher": "Pulumi",
    "repository": "https://github.com/pulumi/pulumi-aws-static-website",
    "types": {
        "aws-static-website:index:CDNArgs": {
            "type": "object",
            "properties": {
                "forwardedValues": {
                    "description": "The forwarded values configuration that specifies how CloudFront handles query strings, cookies and headers.",
                    "$ref": "/aws/v5.28.0/schema.json#/types/aws:cloudfront/DistributionDefaultCacheBehaviorForwardedValues:DistributionDefaultCacheBehaviorForwardedValues"
                },
                "cloudfrontFunctionAssociations": {
                    "type": "array",
                    "items": {
                        "$ref": "/aws/v5.28.0/schema.json#/types/aws:cloudfront/DistributionOrderedCacheBehaviorFunctionAssociation:DistributionOrderedCacheBehaviorFunctionAssociation"
                    },
                    "description": "A config block that triggers a cloudfront\nfunction with specific actions.\n",
                    "language": {
                        "python": {
                            "mapCase": false
                        }
                    }
                },
                "lambdaFunctionAssociations": {
                    "type": "array",
                    "items": {
                        "$ref": "/aws/v5.28.0/schema.json#/types/aws:cloudfront/DistributionOrderedCacheBehaviorLambdaFunctionAssociation:DistributionOrderedCacheBehaviorLambdaFunctionAssociation"
                    },
                    "description": "A config block that triggers a lambda\nfunction with specific actions.\n",
                    "language": {
                        "python": {
                            "mapCase": false
                        }
                    }
                }
            }
        }
    },
    "resources": {
        "aws-static-website:index:PublicBucketPolicy": {
            "isComponent": true,
            "inputProperties": {
                "bucket": {
                    "description": "The bucket to apply the public policy to.",
                    "$ref": "/aws/v5.28.0/schema.json#/resources/aws:s3%2Fbucket:Bucket"
                }
            },
            "requiredInputs": [
                "bucket"
            ],
            "properties": {
                "ownershipControls": {
                    "$ref": "/aws/v5.28.0/schema.json#/resources/aws:s3%2FbucketOwnershipControls:BucketOwnershipControls"
                },
                "publicAccessBlock": {
                    "$ref": "/aws/v5.28.0/schema.json#/resources/aws:s3%2FbucketPublicAccessBlock:BucketPublicAccessBlock"
                }
            },
            "required": [
                "ownershipControls",
                "publicAccessBlock"
            ]
        },
        "aws-static-website:index:Website": {
            "isComponent": true,
            "inputProperties": {
                "withCDN": {
                    "type": "boolean",
                    "description": "Provision CloudFront CDN to serve content."
                },
                "cdnArgs": {
                    "$ref": "#/types/aws-static-website:index:CDNArgs",
                    "description": "Optional arguments used to configure the CDN."
                },
                "targetDomain": {
                    "type": "string",
                    "description": "The domain used to serve the content. A Route53 hosted zone must exist for this domain."
                },
                "subdomain": {
                    "type": "string",
                    "description": "An optional subdomain that can be used to serve the content. This can typically be used to provision a www alias or if a deeply nested subdomain is needed (e.g. foo.bar.baz.com)."
                },
                "sitePath": {
                    "type": "string",
                    "description": "The root directory containing the website's contents."
                },
                "indexHTML": {
                    "type": "string",
                    "description": "The default document for the site. Defaults to index.html"
                },
                "error404": {
                    "type": "string",
                    "description": "default 404 page"
                },
                "certificateARN": {
                    "type": "string",
                    "description": "The ARN of the ACM certificate to use for serving HTTPS. If one is not provided, a certificate will be created during the provisioning process."
                },
                "cacheTTL": {
                    "type": "number",
                    "description": "TTL in seconds for cached objects. "
                },
                "withLogs": {
                    "type": "boolean",
                    "description": "Provision a bucket to hold access logs."
                },
                "priceClass": {
                    "type": "string",
                    "description": "The price class to use for the CloudFront configuration. Defaults to 100 if not specified. Valid values are `all`, `100`, and `200`"
                },
                "addWebsiteVersionHeader": {
                    "type": "boolean",
                    "description": "Enable a cache control header to be attached to every request from an Cloudfront Function."
                },
                "atomicDeployments": {
                    "description": "Provision a new bucket on each deployment.",
                    "type": "boolean"
                }
            },
            "requiredInputs": [
                "sitePath"
            ],
            "properties": {
                "bucketName": {
                    "type": "string",
                    "description": "The name of the s3 bucket containing the website contents."
                },
                "bucketWebsiteURL": {
                    "type": "string",
                    "description": "The website URL for the s3 bucket."
                },
                "cdnDomainName" : {
                    "type": "string",
                    "description": "The domain name for the CDN."
                },
                "cdnURL" : {
                    "type": "string",
                    "description": "The URL for the CDN"
                },
                "logsBucketName": {
                    "type": "string",
                    "description": "The name of the s3 bucket containing the access logs."
                },
                "websiteURL": {
                    "type": "string",
                    "description": "The URL to access the website"
                }
            },
            "required": [
                "bucketName",
                "bucketWebsiteURL",
                "websiteURL"
            ]
        }
    },
    "language": {
        "csharp": {
            "packageReferences": {
                "Pulumi": "3.*",
                "Pulumi.Aws": "5.*"
            }
        },
        "go": {
            "generateResourceContainerTypes": true,
            "importBasePath": "github.com/pulumi/pulumi-aws-static-website/sdk/go/aws-static-website"
        },
        "nodejs": {
            "dependencies": {
                "@pulumi/aws": "^5.0.0",
                "@pulumi/pulumi": "^3.37.0"
            },
            "devDependencies": {
                "typescript": "^3.7.0"
            }
        },
        "python": {
            "requires": {
                "pulumi": ">=3.0.0,<4.0.0",
                "pulumi-aws": ">=5.0.0,<6.0.0"
            }
        }
    }
}
