@cdktf/provider-google
Version:
Prebuilt google Provider for Terraform CDK (cdktf)
369 lines (368 loc) • 18.9 kB
TypeScript
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
*/
import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface FirebaseAppHostingBackendConfig extends cdktf.TerraformMetaArguments {
/**
* Unstructured key value map that may be set by external tools to
* store and arbitrary metadata. They are not queryable and should be
* preserved when modifying objects.
*
* **Note**: This field is non-authoritative, and will only manage the annotations present in your configuration.
* Please refer to the field 'effective_annotations' for all of the annotations present on the resource.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/firebase_app_hosting_backend#annotations FirebaseAppHostingBackend#annotations}
*/
readonly annotations?: {
[key: string]: string;
};
/**
* The [ID of a Web
* App](https://firebase.google.com/docs/reference/firebase-management/rest/v1beta1/projects.webApps#WebApp.FIELDS.app_id)
* associated with the backend.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/firebase_app_hosting_backend#app_id FirebaseAppHostingBackend#app_id}
*/
readonly appId: string;
/**
* Id of the backend. Also used as the service ID for Cloud Run, and as part
* of the default domain name.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/firebase_app_hosting_backend#backend_id FirebaseAppHostingBackend#backend_id}
*/
readonly backendId: string;
/**
* Human-readable name. 63 character limit.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/firebase_app_hosting_backend#display_name FirebaseAppHostingBackend#display_name}
*/
readonly displayName?: string;
/**
* The environment name of the backend, used to load environment variables
* from environment specific configuration.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/firebase_app_hosting_backend#environment FirebaseAppHostingBackend#environment}
*/
readonly environment?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/firebase_app_hosting_backend#id FirebaseAppHostingBackend#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;
/**
* Unstructured key value map that can be used to organize and categorize
* objects.
*
* **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
* Please refer to the field 'effective_labels' for all of the labels present on the resource.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/firebase_app_hosting_backend#labels FirebaseAppHostingBackend#labels}
*/
readonly labels?: {
[key: string]: string;
};
/**
* The canonical IDs of a Google Cloud location such as "us-east1".
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/firebase_app_hosting_backend#location FirebaseAppHostingBackend#location}
*/
readonly location: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/firebase_app_hosting_backend#project FirebaseAppHostingBackend#project}
*/
readonly project?: string;
/**
* The name of the service account used for Cloud Build and Cloud Run.
* Should have the role roles/firebaseapphosting.computeRunner
* or equivalent permissions.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/firebase_app_hosting_backend#service_account FirebaseAppHostingBackend#service_account}
*/
readonly serviceAccount: string;
/**
* Immutable. Specifies how App Hosting will serve the content for this backend. It will
* either be contained to a single region (REGIONAL_STRICT) or allowed to use
* App Hosting's global-replicated serving infrastructure (GLOBAL_ACCESS). Possible values: ["REGIONAL_STRICT", "GLOBAL_ACCESS"]
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/firebase_app_hosting_backend#serving_locality FirebaseAppHostingBackend#serving_locality}
*/
readonly servingLocality: string;
/**
* codebase block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/firebase_app_hosting_backend#codebase FirebaseAppHostingBackend#codebase}
*/
readonly codebase?: FirebaseAppHostingBackendCodebase;
/**
* timeouts block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/firebase_app_hosting_backend#timeouts FirebaseAppHostingBackend#timeouts}
*/
readonly timeouts?: FirebaseAppHostingBackendTimeouts;
}
export interface FirebaseAppHostingBackendManagedResourcesRunService {
}
export declare function firebaseAppHostingBackendManagedResourcesRunServiceToTerraform(struct?: FirebaseAppHostingBackendManagedResourcesRunService): any;
export declare function firebaseAppHostingBackendManagedResourcesRunServiceToHclTerraform(struct?: FirebaseAppHostingBackendManagedResourcesRunService): any;
export declare class FirebaseAppHostingBackendManagedResourcesRunServiceOutputReference 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(): FirebaseAppHostingBackendManagedResourcesRunService | undefined;
set internalValue(value: FirebaseAppHostingBackendManagedResourcesRunService | undefined);
get service(): string;
}
export declare class FirebaseAppHostingBackendManagedResourcesRunServiceList 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): FirebaseAppHostingBackendManagedResourcesRunServiceOutputReference;
}
export interface FirebaseAppHostingBackendManagedResources {
}
export declare function firebaseAppHostingBackendManagedResourcesToTerraform(struct?: FirebaseAppHostingBackendManagedResources): any;
export declare function firebaseAppHostingBackendManagedResourcesToHclTerraform(struct?: FirebaseAppHostingBackendManagedResources): any;
export declare class FirebaseAppHostingBackendManagedResourcesOutputReference 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(): FirebaseAppHostingBackendManagedResources | undefined;
set internalValue(value: FirebaseAppHostingBackendManagedResources | undefined);
private _runService;
get runService(): FirebaseAppHostingBackendManagedResourcesRunServiceList;
}
export declare class FirebaseAppHostingBackendManagedResourcesList 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): FirebaseAppHostingBackendManagedResourcesOutputReference;
}
export interface FirebaseAppHostingBackendCodebase {
/**
* The resource name for the Developer Connect
* ['gitRepositoryLink'](https://cloud.google.com/developer-connect/docs/api/reference/rest/v1/projects.locations.connections.gitRepositoryLinks)
* connected to this backend, in the format:
*
* projects/{project}/locations/{location}/connections/{connection}/gitRepositoryLinks/{repositoryLink}
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/firebase_app_hosting_backend#repository FirebaseAppHostingBackend#repository}
*/
readonly repository: string;
/**
* If 'repository' is provided, the directory relative to the root of the
* repository to use as the root for the deployed web app.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/firebase_app_hosting_backend#root_directory FirebaseAppHostingBackend#root_directory}
*/
readonly rootDirectory?: string;
}
export declare function firebaseAppHostingBackendCodebaseToTerraform(struct?: FirebaseAppHostingBackendCodebaseOutputReference | FirebaseAppHostingBackendCodebase): any;
export declare function firebaseAppHostingBackendCodebaseToHclTerraform(struct?: FirebaseAppHostingBackendCodebaseOutputReference | FirebaseAppHostingBackendCodebase): any;
export declare class FirebaseAppHostingBackendCodebaseOutputReference 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(): FirebaseAppHostingBackendCodebase | undefined;
set internalValue(value: FirebaseAppHostingBackendCodebase | undefined);
private _repository?;
get repository(): string;
set repository(value: string);
get repositoryInput(): string | undefined;
private _rootDirectory?;
get rootDirectory(): string;
set rootDirectory(value: string);
resetRootDirectory(): void;
get rootDirectoryInput(): string | undefined;
}
export interface FirebaseAppHostingBackendTimeouts {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/firebase_app_hosting_backend#create FirebaseAppHostingBackend#create}
*/
readonly create?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/firebase_app_hosting_backend#delete FirebaseAppHostingBackend#delete}
*/
readonly delete?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/firebase_app_hosting_backend#update FirebaseAppHostingBackend#update}
*/
readonly update?: string;
}
export declare function firebaseAppHostingBackendTimeoutsToTerraform(struct?: FirebaseAppHostingBackendTimeouts | cdktf.IResolvable): any;
export declare function firebaseAppHostingBackendTimeoutsToHclTerraform(struct?: FirebaseAppHostingBackendTimeouts | cdktf.IResolvable): any;
export declare class FirebaseAppHostingBackendTimeoutsOutputReference 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(): FirebaseAppHostingBackendTimeouts | cdktf.IResolvable | undefined;
set internalValue(value: FirebaseAppHostingBackendTimeouts | 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_backend google_firebase_app_hosting_backend}
*/
export declare class FirebaseAppHostingBackend extends cdktf.TerraformResource {
static readonly tfResourceType = "google_firebase_app_hosting_backend";
/**
* Generates CDKTF code for importing a FirebaseAppHostingBackend 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 FirebaseAppHostingBackend to import
* @param importFromId The id of the existing FirebaseAppHostingBackend that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/firebase_app_hosting_backend#import import section} in the documentation of this resource for the id to use
* @param provider? Optional instance of the provider where the FirebaseAppHostingBackend 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_backend google_firebase_app_hosting_backend} 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 FirebaseAppHostingBackendConfig
*/
constructor(scope: Construct, id: string, config: FirebaseAppHostingBackendConfig);
private _annotations?;
get annotations(): {
[key: string]: string;
};
set annotations(value: {
[key: string]: string;
});
resetAnnotations(): void;
get annotationsInput(): {
[key: string]: string;
} | undefined;
private _appId?;
get appId(): string;
set appId(value: string);
get appIdInput(): string | undefined;
private _backendId?;
get backendId(): string;
set backendId(value: string);
get backendIdInput(): string | undefined;
get createTime(): string;
get deleteTime(): string;
private _displayName?;
get displayName(): string;
set displayName(value: string);
resetDisplayName(): void;
get displayNameInput(): string | undefined;
private _effectiveAnnotations;
get effectiveAnnotations(): cdktf.StringMap;
private _effectiveLabels;
get effectiveLabels(): cdktf.StringMap;
private _environment?;
get environment(): string;
set environment(value: string);
resetEnvironment(): void;
get environmentInput(): string | undefined;
get etag(): string;
private _id?;
get id(): string;
set id(value: string);
resetId(): void;
get idInput(): string | undefined;
private _labels?;
get labels(): {
[key: string]: string;
};
set labels(value: {
[key: string]: string;
});
resetLabels(): void;
get labelsInput(): {
[key: string]: string;
} | undefined;
private _location?;
get location(): string;
set location(value: string);
get locationInput(): string | undefined;
private _managedResources;
get managedResources(): FirebaseAppHostingBackendManagedResourcesList;
get name(): string;
private _project?;
get project(): string;
set project(value: string);
resetProject(): void;
get projectInput(): string | undefined;
private _serviceAccount?;
get serviceAccount(): string;
set serviceAccount(value: string);
get serviceAccountInput(): string | undefined;
private _servingLocality?;
get servingLocality(): string;
set servingLocality(value: string);
get servingLocalityInput(): string | undefined;
private _terraformLabels;
get terraformLabels(): cdktf.StringMap;
get uid(): string;
get updateTime(): string;
get uri(): string;
private _codebase;
get codebase(): FirebaseAppHostingBackendCodebaseOutputReference;
putCodebase(value: FirebaseAppHostingBackendCodebase): void;
resetCodebase(): void;
get codebaseInput(): FirebaseAppHostingBackendCodebase | undefined;
private _timeouts;
get timeouts(): FirebaseAppHostingBackendTimeoutsOutputReference;
putTimeouts(value: FirebaseAppHostingBackendTimeouts): void;
resetTimeouts(): void;
get timeoutsInput(): cdktf.IResolvable | FirebaseAppHostingBackendTimeouts | undefined;
protected synthesizeAttributes(): {
[name: string]: any;
};
protected synthesizeHclAttributes(): {
[name: string]: any;
};
}