@cdktf/provider-aws
Version:
Prebuilt aws Provider for Terraform CDK (cdktf)
838 lines (837 loc) • 116 kB
TypeScript
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
*/
import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface CloudfrontDistributionConfig extends cdktf.TerraformMetaArguments {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_distribution#aliases CloudfrontDistribution#aliases}
*/
readonly aliases?: string[];
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_distribution#anycast_ip_list_id CloudfrontDistribution#anycast_ip_list_id}
*/
readonly anycastIpListId?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_distribution#comment CloudfrontDistribution#comment}
*/
readonly comment?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_distribution#continuous_deployment_policy_id CloudfrontDistribution#continuous_deployment_policy_id}
*/
readonly continuousDeploymentPolicyId?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_distribution#default_root_object CloudfrontDistribution#default_root_object}
*/
readonly defaultRootObject?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_distribution#enabled CloudfrontDistribution#enabled}
*/
readonly enabled: boolean | cdktf.IResolvable;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_distribution#http_version CloudfrontDistribution#http_version}
*/
readonly httpVersion?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_distribution#id CloudfrontDistribution#id}
*
* Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
* If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
*/
readonly id?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_distribution#is_ipv6_enabled CloudfrontDistribution#is_ipv6_enabled}
*/
readonly isIpv6Enabled?: boolean | cdktf.IResolvable;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_distribution#price_class CloudfrontDistribution#price_class}
*/
readonly priceClass?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_distribution#retain_on_delete CloudfrontDistribution#retain_on_delete}
*/
readonly retainOnDelete?: boolean | cdktf.IResolvable;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_distribution#staging CloudfrontDistribution#staging}
*/
readonly staging?: boolean | cdktf.IResolvable;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_distribution#tags CloudfrontDistribution#tags}
*/
readonly tags?: {
[key: string]: string;
};
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_distribution#tags_all CloudfrontDistribution#tags_all}
*/
readonly tagsAll?: {
[key: string]: string;
};
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_distribution#wait_for_deployment CloudfrontDistribution#wait_for_deployment}
*/
readonly waitForDeployment?: boolean | cdktf.IResolvable;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_distribution#web_acl_id CloudfrontDistribution#web_acl_id}
*/
readonly webAclId?: string;
/**
* custom_error_response block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_distribution#custom_error_response CloudfrontDistribution#custom_error_response}
*/
readonly customErrorResponse?: CloudfrontDistributionCustomErrorResponse[] | cdktf.IResolvable;
/**
* default_cache_behavior block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_distribution#default_cache_behavior CloudfrontDistribution#default_cache_behavior}
*/
readonly defaultCacheBehavior: CloudfrontDistributionDefaultCacheBehavior;
/**
* logging_config block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_distribution#logging_config CloudfrontDistribution#logging_config}
*/
readonly loggingConfig?: CloudfrontDistributionLoggingConfig;
/**
* ordered_cache_behavior block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_distribution#ordered_cache_behavior CloudfrontDistribution#ordered_cache_behavior}
*/
readonly orderedCacheBehavior?: CloudfrontDistributionOrderedCacheBehavior[] | cdktf.IResolvable;
/**
* origin block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_distribution#origin CloudfrontDistribution#origin}
*/
readonly origin: CloudfrontDistributionOrigin[] | cdktf.IResolvable;
/**
* origin_group block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_distribution#origin_group CloudfrontDistribution#origin_group}
*/
readonly originGroup?: CloudfrontDistributionOriginGroup[] | cdktf.IResolvable;
/**
* restrictions block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_distribution#restrictions CloudfrontDistribution#restrictions}
*/
readonly restrictions: CloudfrontDistributionRestrictions;
/**
* viewer_certificate block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_distribution#viewer_certificate CloudfrontDistribution#viewer_certificate}
*/
readonly viewerCertificate: CloudfrontDistributionViewerCertificate;
}
export interface CloudfrontDistributionTrustedKeyGroupsItems {
}
export declare function cloudfrontDistributionTrustedKeyGroupsItemsToTerraform(struct?: CloudfrontDistributionTrustedKeyGroupsItems): any;
export declare function cloudfrontDistributionTrustedKeyGroupsItemsToHclTerraform(struct?: CloudfrontDistributionTrustedKeyGroupsItems): any;
export declare class CloudfrontDistributionTrustedKeyGroupsItemsOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param complexObjectIndex the index of this item in the list
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
get internalValue(): CloudfrontDistributionTrustedKeyGroupsItems | undefined;
set internalValue(value: CloudfrontDistributionTrustedKeyGroupsItems | undefined);
get keyGroupId(): string;
get keyPairIds(): string[];
}
export declare class CloudfrontDistributionTrustedKeyGroupsItemsList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
/**
* @param index the index of the item to return
*/
get(index: number): CloudfrontDistributionTrustedKeyGroupsItemsOutputReference;
}
export interface CloudfrontDistributionTrustedKeyGroups {
}
export declare function cloudfrontDistributionTrustedKeyGroupsToTerraform(struct?: CloudfrontDistributionTrustedKeyGroups): any;
export declare function cloudfrontDistributionTrustedKeyGroupsToHclTerraform(struct?: CloudfrontDistributionTrustedKeyGroups): any;
export declare class CloudfrontDistributionTrustedKeyGroupsOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param complexObjectIndex the index of this item in the list
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
get internalValue(): CloudfrontDistributionTrustedKeyGroups | undefined;
set internalValue(value: CloudfrontDistributionTrustedKeyGroups | undefined);
get enabled(): cdktf.IResolvable;
private _items;
get items(): CloudfrontDistributionTrustedKeyGroupsItemsList;
}
export declare class CloudfrontDistributionTrustedKeyGroupsList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
/**
* @param index the index of the item to return
*/
get(index: number): CloudfrontDistributionTrustedKeyGroupsOutputReference;
}
export interface CloudfrontDistributionTrustedSignersItems {
}
export declare function cloudfrontDistributionTrustedSignersItemsToTerraform(struct?: CloudfrontDistributionTrustedSignersItems): any;
export declare function cloudfrontDistributionTrustedSignersItemsToHclTerraform(struct?: CloudfrontDistributionTrustedSignersItems): any;
export declare class CloudfrontDistributionTrustedSignersItemsOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param complexObjectIndex the index of this item in the list
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
get internalValue(): CloudfrontDistributionTrustedSignersItems | undefined;
set internalValue(value: CloudfrontDistributionTrustedSignersItems | undefined);
get awsAccountNumber(): string;
get keyPairIds(): string[];
}
export declare class CloudfrontDistributionTrustedSignersItemsList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
/**
* @param index the index of the item to return
*/
get(index: number): CloudfrontDistributionTrustedSignersItemsOutputReference;
}
export interface CloudfrontDistributionTrustedSigners {
}
export declare function cloudfrontDistributionTrustedSignersToTerraform(struct?: CloudfrontDistributionTrustedSigners): any;
export declare function cloudfrontDistributionTrustedSignersToHclTerraform(struct?: CloudfrontDistributionTrustedSigners): any;
export declare class CloudfrontDistributionTrustedSignersOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param complexObjectIndex the index of this item in the list
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
get internalValue(): CloudfrontDistributionTrustedSigners | undefined;
set internalValue(value: CloudfrontDistributionTrustedSigners | undefined);
get enabled(): cdktf.IResolvable;
private _items;
get items(): CloudfrontDistributionTrustedSignersItemsList;
}
export declare class CloudfrontDistributionTrustedSignersList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
/**
* @param index the index of the item to return
*/
get(index: number): CloudfrontDistributionTrustedSignersOutputReference;
}
export interface CloudfrontDistributionCustomErrorResponse {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_distribution#error_caching_min_ttl CloudfrontDistribution#error_caching_min_ttl}
*/
readonly errorCachingMinTtl?: number;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_distribution#error_code CloudfrontDistribution#error_code}
*/
readonly errorCode: number;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_distribution#response_code CloudfrontDistribution#response_code}
*/
readonly responseCode?: number;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_distribution#response_page_path CloudfrontDistribution#response_page_path}
*/
readonly responsePagePath?: string;
}
export declare function cloudfrontDistributionCustomErrorResponseToTerraform(struct?: CloudfrontDistributionCustomErrorResponse | cdktf.IResolvable): any;
export declare function cloudfrontDistributionCustomErrorResponseToHclTerraform(struct?: CloudfrontDistributionCustomErrorResponse | cdktf.IResolvable): any;
export declare class CloudfrontDistributionCustomErrorResponseOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
private resolvableValue?;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param complexObjectIndex the index of this item in the list
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
get internalValue(): CloudfrontDistributionCustomErrorResponse | cdktf.IResolvable | undefined;
set internalValue(value: CloudfrontDistributionCustomErrorResponse | cdktf.IResolvable | undefined);
private _errorCachingMinTtl?;
get errorCachingMinTtl(): number;
set errorCachingMinTtl(value: number);
resetErrorCachingMinTtl(): void;
get errorCachingMinTtlInput(): number | undefined;
private _errorCode?;
get errorCode(): number;
set errorCode(value: number);
get errorCodeInput(): number | undefined;
private _responseCode?;
get responseCode(): number;
set responseCode(value: number);
resetResponseCode(): void;
get responseCodeInput(): number | undefined;
private _responsePagePath?;
get responsePagePath(): string;
set responsePagePath(value: string);
resetResponsePagePath(): void;
get responsePagePathInput(): string | undefined;
}
export declare class CloudfrontDistributionCustomErrorResponseList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
internalValue?: CloudfrontDistributionCustomErrorResponse[] | cdktf.IResolvable;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
/**
* @param index the index of the item to return
*/
get(index: number): CloudfrontDistributionCustomErrorResponseOutputReference;
}
export interface CloudfrontDistributionDefaultCacheBehaviorForwardedValuesCookies {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_distribution#forward CloudfrontDistribution#forward}
*/
readonly forward: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_distribution#whitelisted_names CloudfrontDistribution#whitelisted_names}
*/
readonly whitelistedNames?: string[];
}
export declare function cloudfrontDistributionDefaultCacheBehaviorForwardedValuesCookiesToTerraform(struct?: CloudfrontDistributionDefaultCacheBehaviorForwardedValuesCookiesOutputReference | CloudfrontDistributionDefaultCacheBehaviorForwardedValuesCookies): any;
export declare function cloudfrontDistributionDefaultCacheBehaviorForwardedValuesCookiesToHclTerraform(struct?: CloudfrontDistributionDefaultCacheBehaviorForwardedValuesCookiesOutputReference | CloudfrontDistributionDefaultCacheBehaviorForwardedValuesCookies): any;
export declare class CloudfrontDistributionDefaultCacheBehaviorForwardedValuesCookiesOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): CloudfrontDistributionDefaultCacheBehaviorForwardedValuesCookies | undefined;
set internalValue(value: CloudfrontDistributionDefaultCacheBehaviorForwardedValuesCookies | undefined);
private _forward?;
get forward(): string;
set forward(value: string);
get forwardInput(): string | undefined;
private _whitelistedNames?;
get whitelistedNames(): string[];
set whitelistedNames(value: string[]);
resetWhitelistedNames(): void;
get whitelistedNamesInput(): string[] | undefined;
}
export interface CloudfrontDistributionDefaultCacheBehaviorForwardedValues {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_distribution#headers CloudfrontDistribution#headers}
*/
readonly headers?: string[];
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_distribution#query_string CloudfrontDistribution#query_string}
*/
readonly queryString: boolean | cdktf.IResolvable;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_distribution#query_string_cache_keys CloudfrontDistribution#query_string_cache_keys}
*/
readonly queryStringCacheKeys?: string[];
/**
* cookies block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_distribution#cookies CloudfrontDistribution#cookies}
*/
readonly cookies: CloudfrontDistributionDefaultCacheBehaviorForwardedValuesCookies;
}
export declare function cloudfrontDistributionDefaultCacheBehaviorForwardedValuesToTerraform(struct?: CloudfrontDistributionDefaultCacheBehaviorForwardedValuesOutputReference | CloudfrontDistributionDefaultCacheBehaviorForwardedValues): any;
export declare function cloudfrontDistributionDefaultCacheBehaviorForwardedValuesToHclTerraform(struct?: CloudfrontDistributionDefaultCacheBehaviorForwardedValuesOutputReference | CloudfrontDistributionDefaultCacheBehaviorForwardedValues): any;
export declare class CloudfrontDistributionDefaultCacheBehaviorForwardedValuesOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): CloudfrontDistributionDefaultCacheBehaviorForwardedValues | undefined;
set internalValue(value: CloudfrontDistributionDefaultCacheBehaviorForwardedValues | undefined);
private _headers?;
get headers(): string[];
set headers(value: string[]);
resetHeaders(): void;
get headersInput(): string[] | undefined;
private _queryString?;
get queryString(): boolean | cdktf.IResolvable;
set queryString(value: boolean | cdktf.IResolvable);
get queryStringInput(): boolean | cdktf.IResolvable | undefined;
private _queryStringCacheKeys?;
get queryStringCacheKeys(): string[];
set queryStringCacheKeys(value: string[]);
resetQueryStringCacheKeys(): void;
get queryStringCacheKeysInput(): string[] | undefined;
private _cookies;
get cookies(): CloudfrontDistributionDefaultCacheBehaviorForwardedValuesCookiesOutputReference;
putCookies(value: CloudfrontDistributionDefaultCacheBehaviorForwardedValuesCookies): void;
get cookiesInput(): CloudfrontDistributionDefaultCacheBehaviorForwardedValuesCookies | undefined;
}
export interface CloudfrontDistributionDefaultCacheBehaviorFunctionAssociation {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_distribution#event_type CloudfrontDistribution#event_type}
*/
readonly eventType: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_distribution#function_arn CloudfrontDistribution#function_arn}
*/
readonly functionArn: string;
}
export declare function cloudfrontDistributionDefaultCacheBehaviorFunctionAssociationToTerraform(struct?: CloudfrontDistributionDefaultCacheBehaviorFunctionAssociation | cdktf.IResolvable): any;
export declare function cloudfrontDistributionDefaultCacheBehaviorFunctionAssociationToHclTerraform(struct?: CloudfrontDistributionDefaultCacheBehaviorFunctionAssociation | cdktf.IResolvable): any;
export declare class CloudfrontDistributionDefaultCacheBehaviorFunctionAssociationOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
private resolvableValue?;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param complexObjectIndex the index of this item in the list
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
get internalValue(): CloudfrontDistributionDefaultCacheBehaviorFunctionAssociation | cdktf.IResolvable | undefined;
set internalValue(value: CloudfrontDistributionDefaultCacheBehaviorFunctionAssociation | cdktf.IResolvable | undefined);
private _eventType?;
get eventType(): string;
set eventType(value: string);
get eventTypeInput(): string | undefined;
private _functionArn?;
get functionArn(): string;
set functionArn(value: string);
get functionArnInput(): string | undefined;
}
export declare class CloudfrontDistributionDefaultCacheBehaviorFunctionAssociationList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
internalValue?: CloudfrontDistributionDefaultCacheBehaviorFunctionAssociation[] | cdktf.IResolvable;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
/**
* @param index the index of the item to return
*/
get(index: number): CloudfrontDistributionDefaultCacheBehaviorFunctionAssociationOutputReference;
}
export interface CloudfrontDistributionDefaultCacheBehaviorGrpcConfig {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_distribution#enabled CloudfrontDistribution#enabled}
*/
readonly enabled?: boolean | cdktf.IResolvable;
}
export declare function cloudfrontDistributionDefaultCacheBehaviorGrpcConfigToTerraform(struct?: CloudfrontDistributionDefaultCacheBehaviorGrpcConfigOutputReference | CloudfrontDistributionDefaultCacheBehaviorGrpcConfig): any;
export declare function cloudfrontDistributionDefaultCacheBehaviorGrpcConfigToHclTerraform(struct?: CloudfrontDistributionDefaultCacheBehaviorGrpcConfigOutputReference | CloudfrontDistributionDefaultCacheBehaviorGrpcConfig): any;
export declare class CloudfrontDistributionDefaultCacheBehaviorGrpcConfigOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): CloudfrontDistributionDefaultCacheBehaviorGrpcConfig | undefined;
set internalValue(value: CloudfrontDistributionDefaultCacheBehaviorGrpcConfig | undefined);
private _enabled?;
get enabled(): boolean | cdktf.IResolvable;
set enabled(value: boolean | cdktf.IResolvable);
resetEnabled(): void;
get enabledInput(): boolean | cdktf.IResolvable | undefined;
}
export interface CloudfrontDistributionDefaultCacheBehaviorLambdaFunctionAssociation {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_distribution#event_type CloudfrontDistribution#event_type}
*/
readonly eventType: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_distribution#include_body CloudfrontDistribution#include_body}
*/
readonly includeBody?: boolean | cdktf.IResolvable;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_distribution#lambda_arn CloudfrontDistribution#lambda_arn}
*/
readonly lambdaArn: string;
}
export declare function cloudfrontDistributionDefaultCacheBehaviorLambdaFunctionAssociationToTerraform(struct?: CloudfrontDistributionDefaultCacheBehaviorLambdaFunctionAssociation | cdktf.IResolvable): any;
export declare function cloudfrontDistributionDefaultCacheBehaviorLambdaFunctionAssociationToHclTerraform(struct?: CloudfrontDistributionDefaultCacheBehaviorLambdaFunctionAssociation | cdktf.IResolvable): any;
export declare class CloudfrontDistributionDefaultCacheBehaviorLambdaFunctionAssociationOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
private resolvableValue?;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param complexObjectIndex the index of this item in the list
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
get internalValue(): CloudfrontDistributionDefaultCacheBehaviorLambdaFunctionAssociation | cdktf.IResolvable | undefined;
set internalValue(value: CloudfrontDistributionDefaultCacheBehaviorLambdaFunctionAssociation | cdktf.IResolvable | undefined);
private _eventType?;
get eventType(): string;
set eventType(value: string);
get eventTypeInput(): string | undefined;
private _includeBody?;
get includeBody(): boolean | cdktf.IResolvable;
set includeBody(value: boolean | cdktf.IResolvable);
resetIncludeBody(): void;
get includeBodyInput(): boolean | cdktf.IResolvable | undefined;
private _lambdaArn?;
get lambdaArn(): string;
set lambdaArn(value: string);
get lambdaArnInput(): string | undefined;
}
export declare class CloudfrontDistributionDefaultCacheBehaviorLambdaFunctionAssociationList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
internalValue?: CloudfrontDistributionDefaultCacheBehaviorLambdaFunctionAssociation[] | cdktf.IResolvable;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
/**
* @param index the index of the item to return
*/
get(index: number): CloudfrontDistributionDefaultCacheBehaviorLambdaFunctionAssociationOutputReference;
}
export interface CloudfrontDistributionDefaultCacheBehavior {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_distribution#allowed_methods CloudfrontDistribution#allowed_methods}
*/
readonly allowedMethods: string[];
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_distribution#cache_policy_id CloudfrontDistribution#cache_policy_id}
*/
readonly cachePolicyId?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_distribution#cached_methods CloudfrontDistribution#cached_methods}
*/
readonly cachedMethods: string[];
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_distribution#compress CloudfrontDistribution#compress}
*/
readonly compress?: boolean | cdktf.IResolvable;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_distribution#default_ttl CloudfrontDistribution#default_ttl}
*/
readonly defaultTtl?: number;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_distribution#field_level_encryption_id CloudfrontDistribution#field_level_encryption_id}
*/
readonly fieldLevelEncryptionId?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_distribution#max_ttl CloudfrontDistribution#max_ttl}
*/
readonly maxTtl?: number;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_distribution#min_ttl CloudfrontDistribution#min_ttl}
*/
readonly minTtl?: number;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_distribution#origin_request_policy_id CloudfrontDistribution#origin_request_policy_id}
*/
readonly originRequestPolicyId?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_distribution#realtime_log_config_arn CloudfrontDistribution#realtime_log_config_arn}
*/
readonly realtimeLogConfigArn?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_distribution#response_headers_policy_id CloudfrontDistribution#response_headers_policy_id}
*/
readonly responseHeadersPolicyId?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_distribution#smooth_streaming CloudfrontDistribution#smooth_streaming}
*/
readonly smoothStreaming?: boolean | cdktf.IResolvable;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_distribution#target_origin_id CloudfrontDistribution#target_origin_id}
*/
readonly targetOriginId: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_distribution#trusted_key_groups CloudfrontDistribution#trusted_key_groups}
*/
readonly trustedKeyGroups?: string[];
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_distribution#trusted_signers CloudfrontDistribution#trusted_signers}
*/
readonly trustedSigners?: string[];
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_distribution#viewer_protocol_policy CloudfrontDistribution#viewer_protocol_policy}
*/
readonly viewerProtocolPolicy: string;
/**
* forwarded_values block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_distribution#forwarded_values CloudfrontDistribution#forwarded_values}
*/
readonly forwardedValues?: CloudfrontDistributionDefaultCacheBehaviorForwardedValues;
/**
* function_association block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_distribution#function_association CloudfrontDistribution#function_association}
*/
readonly functionAssociation?: CloudfrontDistributionDefaultCacheBehaviorFunctionAssociation[] | cdktf.IResolvable;
/**
* grpc_config block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_distribution#grpc_config CloudfrontDistribution#grpc_config}
*/
readonly grpcConfig?: CloudfrontDistributionDefaultCacheBehaviorGrpcConfig;
/**
* lambda_function_association block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_distribution#lambda_function_association CloudfrontDistribution#lambda_function_association}
*/
readonly lambdaFunctionAssociation?: CloudfrontDistributionDefaultCacheBehaviorLambdaFunctionAssociation[] | cdktf.IResolvable;
}
export declare function cloudfrontDistributionDefaultCacheBehaviorToTerraform(struct?: CloudfrontDistributionDefaultCacheBehaviorOutputReference | CloudfrontDistributionDefaultCacheBehavior): any;
export declare function cloudfrontDistributionDefaultCacheBehaviorToHclTerraform(struct?: CloudfrontDistributionDefaultCacheBehaviorOutputReference | CloudfrontDistributionDefaultCacheBehavior): any;
export declare class CloudfrontDistributionDefaultCacheBehaviorOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): CloudfrontDistributionDefaultCacheBehavior | undefined;
set internalValue(value: CloudfrontDistributionDefaultCacheBehavior | undefined);
private _allowedMethods?;
get allowedMethods(): string[];
set allowedMethods(value: string[]);
get allowedMethodsInput(): string[] | undefined;
private _cachePolicyId?;
get cachePolicyId(): string;
set cachePolicyId(value: string);
resetCachePolicyId(): void;
get cachePolicyIdInput(): string | undefined;
private _cachedMethods?;
get cachedMethods(): string[];
set cachedMethods(value: string[]);
get cachedMethodsInput(): string[] | undefined;
private _compress?;
get compress(): boolean | cdktf.IResolvable;
set compress(value: boolean | cdktf.IResolvable);
resetCompress(): void;
get compressInput(): boolean | cdktf.IResolvable | undefined;
private _defaultTtl?;
get defaultTtl(): number;
set defaultTtl(value: number);
resetDefaultTtl(): void;
get defaultTtlInput(): number | undefined;
private _fieldLevelEncryptionId?;
get fieldLevelEncryptionId(): string;
set fieldLevelEncryptionId(value: string);
resetFieldLevelEncryptionId(): void;
get fieldLevelEncryptionIdInput(): string | undefined;
private _maxTtl?;
get maxTtl(): number;
set maxTtl(value: number);
resetMaxTtl(): void;
get maxTtlInput(): number | undefined;
private _minTtl?;
get minTtl(): number;
set minTtl(value: number);
resetMinTtl(): void;
get minTtlInput(): number | undefined;
private _originRequestPolicyId?;
get originRequestPolicyId(): string;
set originRequestPolicyId(value: string);
resetOriginRequestPolicyId(): void;
get originRequestPolicyIdInput(): string | undefined;
private _realtimeLogConfigArn?;
get realtimeLogConfigArn(): string;
set realtimeLogConfigArn(value: string);
resetRealtimeLogConfigArn(): void;
get realtimeLogConfigArnInput(): string | undefined;
private _responseHeadersPolicyId?;
get responseHeadersPolicyId(): string;
set responseHeadersPolicyId(value: string);
resetResponseHeadersPolicyId(): void;
get responseHeadersPolicyIdInput(): string | undefined;
private _smoothStreaming?;
get smoothStreaming(): boolean | cdktf.IResolvable;
set smoothStreaming(value: boolean | cdktf.IResolvable);
resetSmoothStreaming(): void;
get smoothStreamingInput(): boolean | cdktf.IResolvable | undefined;
private _targetOriginId?;
get targetOriginId(): string;
set targetOriginId(value: string);
get targetOriginIdInput(): string | undefined;
private _trustedKeyGroups?;
get trustedKeyGroups(): string[];
set trustedKeyGroups(value: string[]);
resetTrustedKeyGroups(): void;
get trustedKeyGroupsInput(): string[] | undefined;
private _trustedSigners?;
get trustedSigners(): string[];
set trustedSigners(value: string[]);
resetTrustedSigners(): void;
get trustedSignersInput(): string[] | undefined;
private _viewerProtocolPolicy?;
get viewerProtocolPolicy(): string;
set viewerProtocolPolicy(value: string);
get viewerProtocolPolicyInput(): string | undefined;
private _forwardedValues;
get forwardedValues(): CloudfrontDistributionDefaultCacheBehaviorForwardedValuesOutputReference;
putForwardedValues(value: CloudfrontDistributionDefaultCacheBehaviorForwardedValues): void;
resetForwardedValues(): void;
get forwardedValuesInput(): CloudfrontDistributionDefaultCacheBehaviorForwardedValues | undefined;
private _functionAssociation;
get functionAssociation(): CloudfrontDistributionDefaultCacheBehaviorFunctionAssociationList;
putFunctionAssociation(value: CloudfrontDistributionDefaultCacheBehaviorFunctionAssociation[] | cdktf.IResolvable): void;
resetFunctionAssociation(): void;
get functionAssociationInput(): cdktf.IResolvable | CloudfrontDistributionDefaultCacheBehaviorFunctionAssociation[] | undefined;
private _grpcConfig;
get grpcConfig(): CloudfrontDistributionDefaultCacheBehaviorGrpcConfigOutputReference;
putGrpcConfig(value: CloudfrontDistributionDefaultCacheBehaviorGrpcConfig): void;
resetGrpcConfig(): void;
get grpcConfigInput(): CloudfrontDistributionDefaultCacheBehaviorGrpcConfig | undefined;
private _lambdaFunctionAssociation;
get lambdaFunctionAssociation(): CloudfrontDistributionDefaultCacheBehaviorLambdaFunctionAssociationList;
putLambdaFunctionAssociation(value: CloudfrontDistributionDefaultCacheBehaviorLambdaFunctionAssociation[] | cdktf.IResolvable): void;
resetLambdaFunctionAssociation(): void;
get lambdaFunctionAssociationInput(): cdktf.IResolvable | CloudfrontDistributionDefaultCacheBehaviorLambdaFunctionAssociation[] | undefined;
}
export interface CloudfrontDistributionLoggingConfig {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_distribution#bucket CloudfrontDistribution#bucket}
*/
readonly bucket?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_distribution#include_cookies CloudfrontDistribution#include_cookies}
*/
readonly includeCookies?: boolean | cdktf.IResolvable;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_distribution#prefix CloudfrontDistribution#prefix}
*/
readonly prefix?: string;
}
export declare function cloudfrontDistributionLoggingConfigToTerraform(struct?: CloudfrontDistributionLoggingConfigOutputReference | CloudfrontDistributionLoggingConfig): any;
export declare function cloudfrontDistributionLoggingConfigToHclTerraform(struct?: CloudfrontDistributionLoggingConfigOutputReference | CloudfrontDistributionLoggingConfig): any;
export declare class CloudfrontDistributionLoggingConfigOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): CloudfrontDistributionLoggingConfig | undefined;
set internalValue(value: CloudfrontDistributionLoggingConfig | undefined);
private _bucket?;
get bucket(): string;
set bucket(value: string);
resetBucket(): void;
get bucketInput(): string | undefined;
private _includeCookies?;
get includeCookies(): boolean | cdktf.IResolvable;
set includeCookies(value: boolean | cdktf.IResolvable);
resetIncludeCookies(): void;
get includeCookiesInput(): boolean | cdktf.IResolvable | undefined;
private _prefix?;
get prefix(): string;
set prefix(value: string);
resetPrefix(): void;
get prefixInput(): string | undefined;
}
export interface CloudfrontDistributionOrderedCacheBehaviorForwardedValuesCookies {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_distribution#forward CloudfrontDistribution#forward}
*/
readonly forward: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_distribution#whitelisted_names CloudfrontDistribution#whitelisted_names}
*/
readonly whitelistedNames?: string[];
}
export declare function cloudfrontDistributionOrderedCacheBehaviorForwardedValuesCookiesToTerraform(struct?: CloudfrontDistributionOrderedCacheBehaviorForwardedValuesCookiesOutputReference | CloudfrontDistributionOrderedCacheBehaviorForwardedValuesCookies): any;
export declare function cloudfrontDistributionOrderedCacheBehaviorForwardedValuesCookiesToHclTerraform(struct?: CloudfrontDistributionOrderedCacheBehaviorForwardedValuesCookiesOutputReference | CloudfrontDistributionOrderedCacheBehaviorForwardedValuesCookies): any;
export declare class CloudfrontDistributionOrderedCacheBehaviorForwardedValuesCookiesOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): CloudfrontDistributionOrderedCacheBehaviorForwardedValuesCookies | undefined;
set internalValue(value: CloudfrontDistributionOrderedCacheBehaviorForwardedValuesCookies | undefined);
private _forward?;
get forward(): string;
set forward(value: string);
get forwardInput(): string | undefined;
private _whitelistedNames?;
get whitelistedNames(): string[];
set whitelistedNames(value: string[]);
resetWhitelistedNames(): void;
get whitelistedNamesInput(): string[] | undefined;
}
export interface CloudfrontDistributionOrderedCacheBehaviorForwardedValues {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_distribution#headers CloudfrontDistribution#headers}
*/
readonly headers?: string[];
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_distribution#query_string CloudfrontDistribution#query_string}
*/
readonly queryString: boolean | cdktf.IResolvable;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_distribution#query_string_cache_keys CloudfrontDistribution#query_string_cache_keys}
*/
readonly queryStringCacheKeys?: string[];
/**
* cookies block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudfront_distribution#cookies CloudfrontDistribution#cookies}
*/
readonly cookies: CloudfrontDistributionOrderedCacheBehaviorForwardedValuesCookies;
}
export declare function cloudfrontDistributionOrderedCacheBehaviorForwardedValuesToTerraform(struct?: CloudfrontDistributionOrderedCacheBehaviorForwardedValuesOutputReference | CloudfrontDistributionOrderedCacheBehaviorForwardedValues): any;
export declare function cloudfrontDistributionOrderedCacheBehaviorForwardedValuesToHclTerraform(struct?: CloudfrontDistributionOrderedCacheBehaviorForwardedValuesOutputReference | CloudfrontDistributionOrderedCacheBehaviorForwardedValues): any;
export declare class CloudfrontDistributionOrderedCacheBehaviorForwardedValuesOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing