import * as core from "@terrascript/core"; export interface HeadersArgs extends core.SchemaArgs { items: core.Array | core.ArrayOut; } export class Headers extends core.Schema { @core.attr(String, { computed: true, kind: "array" }) public items!: core.Array | core.ArrayOut; } export interface HeadersConfigArgs extends core.SchemaArgs { headerBehavior: string | core.StringOut; headers: core.Array | core.ArrayOut; } export class HeadersConfig extends core.Schema { @core.attr(String, { computed: true }) public headerBehavior!: string | core.StringOut; @core.attr(Headers, { computed: true, kind: "array" }) public headers!: core.Array | core.ArrayOut; } export interface QueryStringsArgs extends core.SchemaArgs { items: core.Array | core.ArrayOut; } export class QueryStrings extends core.Schema { @core.attr(String, { computed: true, kind: "array" }) public items!: core.Array | core.ArrayOut; } export interface QueryStringsConfigArgs extends core.SchemaArgs { queryStringBehavior: string | core.StringOut; queryStrings: core.Array | core.ArrayOut; } export class QueryStringsConfig extends core.Schema { @core.attr(String, { computed: true }) public queryStringBehavior!: string | core.StringOut; @core.attr(QueryStrings, { computed: true, kind: "array" }) public queryStrings!: core.Array | core.ArrayOut; } export interface CookiesArgs extends core.SchemaArgs { items: core.Array | core.ArrayOut; } export class Cookies extends core.Schema { @core.attr(String, { computed: true, kind: "array" }) public items!: core.Array | core.ArrayOut; } export interface CookiesConfigArgs extends core.SchemaArgs { cookieBehavior: string | core.StringOut; cookies: core.Array | core.ArrayOut; } export class CookiesConfig extends core.Schema { @core.attr(String, { computed: true }) public cookieBehavior!: string | core.StringOut; @core.attr(Cookies, { computed: true, kind: "array" }) public cookies!: core.Array | core.ArrayOut; } export interface DsOriginRequestPolicyArgs { /** * The identifier for the origin request policy. */ id?: string | core.StringOut; /** * Unique name to identify the origin request policy. */ name?: string | core.StringOut; } export class DsOriginRequestPolicy extends core.Data { /** * Comment to describe the origin request policy. */ @core.attr(String, { computed: true }) public comment!: string | core.StringOut; /** * Object that determines whether any cookies in viewer requests (and if so, which cookies) are include * d in the origin request key and automatically included in requests that CloudFront sends to the orig * in. See [Cookies Config](#cookies-config) for more information. */ @core.attr(CookiesConfig, { computed: true, kind: "array" }) public cookiesConfig!: | core.Array | core.ArrayOut; /** * The current version of the origin request policy. */ @core.attr(String, { computed: true }) public etag!: string | core.StringOut; /** * Object that determines whether any HTTP headers (and if so, which headers) are included in the origi * n request key and automatically included in requests that CloudFront sends to the origin. See [Heade * rs Config](#headers-config) for more information. */ @core.attr(HeadersConfig, { computed: true, kind: "array" }) public headersConfig!: | core.Array | core.ArrayOut; /** * The identifier for the origin request policy. */ @core.attr(String) public id?: string | core.StringOut; /** * Unique name to identify the origin request policy. */ @core.attr(String) public name?: string | core.StringOut; /** * Object that determines whether any URL query strings in viewer requests (and if so, which query stri * ngs) are included in the origin request key and automatically included in requests that CloudFront s * ends to the origin. See [Query String Config](#query-string-config) for more information. */ @core.attr(QueryStringsConfig, { computed: true, kind: "array" }) public queryStringsConfig!: | core.Array | core.ArrayOut; constructor(name: string, args?: DsOriginRequestPolicyArgs) { super(name, "aws_cloudfront_origin_request_policy", args); } public override getNamespace(): string { return "aws_cloudfront"; } }