@cdktf/provider-google
Version:
Prebuilt google Provider for Terraform CDK (cdktf)
342 lines (341 loc) • 18.6 kB
TypeScript
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
*/
import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface FirebaseAppHostingTrafficConfig extends cdktf.TerraformMetaArguments {
/**
* Id of the backend that this Traffic config applies to
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/firebase_app_hosting_traffic#backend FirebaseAppHostingTraffic#backend}
*/
readonly backend: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/firebase_app_hosting_traffic#id FirebaseAppHostingTraffic#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;
/**
* The location the Backend that this Traffic config applies to
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/firebase_app_hosting_traffic#location FirebaseAppHostingTraffic#location}
*/
readonly location: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/firebase_app_hosting_traffic#project FirebaseAppHostingTraffic#project}
*/
readonly project?: string;
/**
* rollout_policy block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/firebase_app_hosting_traffic#rollout_policy FirebaseAppHostingTraffic#rollout_policy}
*/
readonly rolloutPolicy?: FirebaseAppHostingTrafficRolloutPolicy;
/**
* target block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/firebase_app_hosting_traffic#target FirebaseAppHostingTraffic#target}
*/
readonly target?: FirebaseAppHostingTrafficTarget;
/**
* timeouts block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/firebase_app_hosting_traffic#timeouts FirebaseAppHostingTraffic#timeouts}
*/
readonly timeouts?: FirebaseAppHostingTrafficTimeouts;
}
export interface FirebaseAppHostingTrafficCurrentSplits {
}
export declare function firebaseAppHostingTrafficCurrentSplitsToTerraform(struct?: FirebaseAppHostingTrafficCurrentSplits): any;
export declare function firebaseAppHostingTrafficCurrentSplitsToHclTerraform(struct?: FirebaseAppHostingTrafficCurrentSplits): any;
export declare class FirebaseAppHostingTrafficCurrentSplitsOutputReference 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(): FirebaseAppHostingTrafficCurrentSplits | undefined;
set internalValue(value: FirebaseAppHostingTrafficCurrentSplits | undefined);
get buildAttribute(): string;
get percent(): number;
}
export declare class FirebaseAppHostingTrafficCurrentSplitsList 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): FirebaseAppHostingTrafficCurrentSplitsOutputReference;
}
export interface FirebaseAppHostingTrafficCurrent {
}
export declare function firebaseAppHostingTrafficCurrentToTerraform(struct?: FirebaseAppHostingTrafficCurrent): any;
export declare function firebaseAppHostingTrafficCurrentToHclTerraform(struct?: FirebaseAppHostingTrafficCurrent): any;
export declare class FirebaseAppHostingTrafficCurrentOutputReference 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(): FirebaseAppHostingTrafficCurrent | undefined;
set internalValue(value: FirebaseAppHostingTrafficCurrent | undefined);
private _splits;
get splits(): FirebaseAppHostingTrafficCurrentSplitsList;
}
export declare class FirebaseAppHostingTrafficCurrentList 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): FirebaseAppHostingTrafficCurrentOutputReference;
}
export interface FirebaseAppHostingTrafficRolloutPolicy {
/**
* Specifies a branch that triggers a new build to be started with this
* policy. If not set, no automatic rollouts will happen.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/firebase_app_hosting_traffic#codebase_branch FirebaseAppHostingTraffic#codebase_branch}
*/
readonly codebaseBranch?: string;
/**
* A flag that, if true, prevents rollouts from being created via this RolloutPolicy.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/firebase_app_hosting_traffic#disabled FirebaseAppHostingTraffic#disabled}
*/
readonly disabled?: boolean | cdktf.IResolvable;
}
export declare function firebaseAppHostingTrafficRolloutPolicyToTerraform(struct?: FirebaseAppHostingTrafficRolloutPolicyOutputReference | FirebaseAppHostingTrafficRolloutPolicy): any;
export declare function firebaseAppHostingTrafficRolloutPolicyToHclTerraform(struct?: FirebaseAppHostingTrafficRolloutPolicyOutputReference | FirebaseAppHostingTrafficRolloutPolicy): any;
export declare class FirebaseAppHostingTrafficRolloutPolicyOutputReference 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(): FirebaseAppHostingTrafficRolloutPolicy | undefined;
set internalValue(value: FirebaseAppHostingTrafficRolloutPolicy | undefined);
private _codebaseBranch?;
get codebaseBranch(): string;
set codebaseBranch(value: string);
resetCodebaseBranch(): void;
get codebaseBranchInput(): string | undefined;
private _disabled?;
get disabled(): boolean | cdktf.IResolvable;
set disabled(value: boolean | cdktf.IResolvable);
resetDisabled(): void;
get disabledInput(): boolean | cdktf.IResolvable | undefined;
get disabledTime(): string;
}
export interface FirebaseAppHostingTrafficTargetSplits {
/**
* The build that traffic is being routed to.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/firebase_app_hosting_traffic#build FirebaseAppHostingTraffic#build}
*/
readonly buildAttribute: string;
/**
* The percentage of traffic to send to the build. Currently must be 100 or 0.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/firebase_app_hosting_traffic#percent FirebaseAppHostingTraffic#percent}
*/
readonly percent: number;
}
export declare function firebaseAppHostingTrafficTargetSplitsToTerraform(struct?: FirebaseAppHostingTrafficTargetSplits | cdktf.IResolvable): any;
export declare function firebaseAppHostingTrafficTargetSplitsToHclTerraform(struct?: FirebaseAppHostingTrafficTargetSplits | cdktf.IResolvable): any;
export declare class FirebaseAppHostingTrafficTargetSplitsOutputReference 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(): FirebaseAppHostingTrafficTargetSplits | cdktf.IResolvable | undefined;
set internalValue(value: FirebaseAppHostingTrafficTargetSplits | cdktf.IResolvable | undefined);
private _build?;
get buildAttribute(): string;
set buildAttribute(value: string);
get buildAttributeInput(): string | undefined;
private _percent?;
get percent(): number;
set percent(value: number);
get percentInput(): number | undefined;
}
export declare class FirebaseAppHostingTrafficTargetSplitsList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
internalValue?: FirebaseAppHostingTrafficTargetSplits[] | 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): FirebaseAppHostingTrafficTargetSplitsOutputReference;
}
export interface FirebaseAppHostingTrafficTarget {
/**
* splits block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/firebase_app_hosting_traffic#splits FirebaseAppHostingTraffic#splits}
*/
readonly splits: FirebaseAppHostingTrafficTargetSplits[] | cdktf.IResolvable;
}
export declare function firebaseAppHostingTrafficTargetToTerraform(struct?: FirebaseAppHostingTrafficTargetOutputReference | FirebaseAppHostingTrafficTarget): any;
export declare function firebaseAppHostingTrafficTargetToHclTerraform(struct?: FirebaseAppHostingTrafficTargetOutputReference | FirebaseAppHostingTrafficTarget): any;
export declare class FirebaseAppHostingTrafficTargetOutputReference 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(): FirebaseAppHostingTrafficTarget | undefined;
set internalValue(value: FirebaseAppHostingTrafficTarget | undefined);
private _splits;
get splits(): FirebaseAppHostingTrafficTargetSplitsList;
putSplits(value: FirebaseAppHostingTrafficTargetSplits[] | cdktf.IResolvable): void;
get splitsInput(): cdktf.IResolvable | FirebaseAppHostingTrafficTargetSplits[] | undefined;
}
export interface FirebaseAppHostingTrafficTimeouts {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/firebase_app_hosting_traffic#create FirebaseAppHostingTraffic#create}
*/
readonly create?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/firebase_app_hosting_traffic#delete FirebaseAppHostingTraffic#delete}
*/
readonly delete?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/firebase_app_hosting_traffic#update FirebaseAppHostingTraffic#update}
*/
readonly update?: string;
}
export declare function firebaseAppHostingTrafficTimeoutsToTerraform(struct?: FirebaseAppHostingTrafficTimeouts | cdktf.IResolvable): any;
export declare function firebaseAppHostingTrafficTimeoutsToHclTerraform(struct?: FirebaseAppHostingTrafficTimeouts | cdktf.IResolvable): any;
export declare class FirebaseAppHostingTrafficTimeoutsOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
private resolvableValue?;
/**
* @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(): FirebaseAppHostingTrafficTimeouts | cdktf.IResolvable | undefined;
set internalValue(value: FirebaseAppHostingTrafficTimeouts | cdktf.IResolvable | undefined);
private _create?;
get create(): string;
set create(value: string);
resetCreate(): void;
get createInput(): string | undefined;
private _delete?;
get delete(): string;
set delete(value: string);
resetDelete(): void;
get deleteInput(): string | undefined;
private _update?;
get update(): string;
set update(value: string);
resetUpdate(): void;
get updateInput(): string | undefined;
}
/**
* Represents a {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/firebase_app_hosting_traffic google_firebase_app_hosting_traffic}
*/
export declare class FirebaseAppHostingTraffic extends cdktf.TerraformResource {
static readonly tfResourceType = "google_firebase_app_hosting_traffic";
/**
* Generates CDKTF code for importing a FirebaseAppHostingTraffic resource upon running "cdktf plan <stack-name>"
* @param scope The scope in which to define this construct
* @param importToId The construct id used in the generated config for the FirebaseAppHostingTraffic to import
* @param importFromId The id of the existing FirebaseAppHostingTraffic that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/firebase_app_hosting_traffic#import import section} in the documentation of this resource for the id to use
* @param provider? Optional instance of the provider where the FirebaseAppHostingTraffic to import is found
*/
static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): cdktf.ImportableResource;
/**
* Create a new {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/firebase_app_hosting_traffic google_firebase_app_hosting_traffic} Resource
*
* @param scope The scope in which to define this construct
* @param id The scoped construct ID. Must be unique amongst siblings in the same scope
* @param options FirebaseAppHostingTrafficConfig
*/
constructor(scope: Construct, id: string, config: FirebaseAppHostingTrafficConfig);
private _backend?;
get backend(): string;
set backend(value: string);
get backendInput(): string | undefined;
get createTime(): string;
private _current;
get current(): FirebaseAppHostingTrafficCurrentList;
get deleteTime(): string;
get etag(): string;
private _id?;
get id(): string;
set id(value: string);
resetId(): void;
get idInput(): string | undefined;
private _location?;
get location(): string;
set location(value: string);
get locationInput(): string | undefined;
get name(): string;
private _project?;
get project(): string;
set project(value: string);
resetProject(): void;
get projectInput(): string | undefined;
get uid(): string;
get updateTime(): string;
private _rolloutPolicy;
get rolloutPolicy(): FirebaseAppHostingTrafficRolloutPolicyOutputReference;
putRolloutPolicy(value: FirebaseAppHostingTrafficRolloutPolicy): void;
resetRolloutPolicy(): void;
get rolloutPolicyInput(): FirebaseAppHostingTrafficRolloutPolicy | undefined;
private _target;
get target(): FirebaseAppHostingTrafficTargetOutputReference;
putTarget(value: FirebaseAppHostingTrafficTarget): void;
resetTarget(): void;
get targetInput(): FirebaseAppHostingTrafficTarget | undefined;
private _timeouts;
get timeouts(): FirebaseAppHostingTrafficTimeoutsOutputReference;
putTimeouts(value: FirebaseAppHostingTrafficTimeouts): void;
resetTimeouts(): void;
get timeoutsInput(): cdktf.IResolvable | FirebaseAppHostingTrafficTimeouts | undefined;
protected synthesizeAttributes(): {
[name: string]: any;
};
protected synthesizeHclAttributes(): {
[name: string]: any;
};
}