UNPKG

@cdktf/provider-google

Version:

Prebuilt google Provider for Terraform CDK (cdktf)

273 lines (272 loc) 13 kB
/** * Copyright (c) HashiCorp, Inc. * SPDX-License-Identifier: MPL-2.0 */ import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface ParallelstoreInstanceConfig extends cdktf.TerraformMetaArguments { /** * Required. Immutable. Storage capacity of Parallelstore instance in Gibibytes (GiB). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/parallelstore_instance#capacity_gib ParallelstoreInstance#capacity_gib} */ readonly capacityGib: string; /** * The description of the instance. 2048 characters or less. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/parallelstore_instance#description ParallelstoreInstance#description} */ readonly description?: string; /** * Stripe level for directories. * MIN when directory has a small number of files. * MAX when directory has a large number of files. * Possible values: * DIRECTORY_STRIPE_LEVEL_UNSPECIFIED * DIRECTORY_STRIPE_LEVEL_MIN * DIRECTORY_STRIPE_LEVEL_BALANCED * DIRECTORY_STRIPE_LEVEL_MAX * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/parallelstore_instance#directory_stripe_level ParallelstoreInstance#directory_stripe_level} */ readonly directoryStripeLevel?: string; /** * Stripe level for files. * MIN better suited for small size files. * MAX higher throughput performance for larger files. * Possible values: * FILE_STRIPE_LEVEL_UNSPECIFIED * FILE_STRIPE_LEVEL_MIN * FILE_STRIPE_LEVEL_BALANCED * FILE_STRIPE_LEVEL_MAX * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/parallelstore_instance#file_stripe_level ParallelstoreInstance#file_stripe_level} */ readonly fileStripeLevel?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/parallelstore_instance#id ParallelstoreInstance#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 logical name of the Parallelstore instance in the user project with the following restrictions: * * Must contain only lowercase letters, numbers, and hyphens. * * Must start with a letter. * * Must be between 1-63 characters. * * Must end with a number or a letter. * * Must be unique within the customer project/ location * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/parallelstore_instance#instance_id ParallelstoreInstance#instance_id} */ readonly instanceId: string; /** * Cloud Labels are a flexible and lightweight mechanism for * organizing cloud resources into groups that reflect a customer's organizational * needs and deployment strategies. Cloud Labels can be used to filter collections * of resources. They can be used to control how resource metrics are aggregated. * And they can be used as arguments to policy management rules (e.g. route, firewall, * load balancing, etc.). * * * Label keys must be between 1 and 63 characters long and must conform to * the following regular expression: 'a-z{0,62}'. * * Label values must be between 0 and 63 characters long and must conform * to the regular expression '[a-z0-9_-]{0,63}'. * * No more than 64 labels can be associated with a given resource. * * See https://goo.gl/xmQnxf for more information on and examples of labels. * * If you plan to use labels in your own code, please note that additional * characters may be allowed in the future. Therefore, you are advised to use * an internal label representation, such as JSON, which doesn't rely upon * specific characters being disallowed. For example, representing labels * as the string: 'name + "_" + value' would prove problematic if we were to * allow '"_"' in a future release. " * * * **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.13.0/docs/resources/parallelstore_instance#labels ParallelstoreInstance#labels} */ readonly labels?: { [key: string]: string; }; /** * Part of 'parent'. See documentation of 'projectsId'. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/parallelstore_instance#location ParallelstoreInstance#location} */ readonly location: string; /** * Immutable. The name of the Google Compute Engine [VPC network](https://cloud.google.com/vpc/docs/vpc) * to which the instance is connected. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/parallelstore_instance#network ParallelstoreInstance#network} */ readonly network?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/parallelstore_instance#project ParallelstoreInstance#project} */ readonly project?: string; /** * Immutable. Contains the id of the allocated IP address range * associated with the private service access connection for example, \"test-default\" * associated with IP range 10.0.0.0/29. If no range id is provided all ranges will * be considered. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/parallelstore_instance#reserved_ip_range ParallelstoreInstance#reserved_ip_range} */ readonly reservedIpRange?: string; /** * timeouts block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/parallelstore_instance#timeouts ParallelstoreInstance#timeouts} */ readonly timeouts?: ParallelstoreInstanceTimeouts; } export interface ParallelstoreInstanceTimeouts { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/parallelstore_instance#create ParallelstoreInstance#create} */ readonly create?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/parallelstore_instance#delete ParallelstoreInstance#delete} */ readonly delete?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/parallelstore_instance#update ParallelstoreInstance#update} */ readonly update?: string; } export declare function parallelstoreInstanceTimeoutsToTerraform(struct?: ParallelstoreInstanceTimeouts | cdktf.IResolvable): any; export declare function parallelstoreInstanceTimeoutsToHclTerraform(struct?: ParallelstoreInstanceTimeouts | cdktf.IResolvable): any; export declare class ParallelstoreInstanceTimeoutsOutputReference 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(): ParallelstoreInstanceTimeouts | cdktf.IResolvable | undefined; set internalValue(value: ParallelstoreInstanceTimeouts | 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.13.0/docs/resources/parallelstore_instance google_parallelstore_instance} */ export declare class ParallelstoreInstance extends cdktf.TerraformResource { static readonly tfResourceType = "google_parallelstore_instance"; /** * Generates CDKTF code for importing a ParallelstoreInstance 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 ParallelstoreInstance to import * @param importFromId The id of the existing ParallelstoreInstance that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/parallelstore_instance#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the ParallelstoreInstance 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.13.0/docs/resources/parallelstore_instance google_parallelstore_instance} 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 ParallelstoreInstanceConfig */ constructor(scope: Construct, id: string, config: ParallelstoreInstanceConfig); get accessPoints(): string[]; private _capacityGib?; get capacityGib(): string; set capacityGib(value: string); get capacityGibInput(): string | undefined; get createTime(): string; get daosVersion(): string; private _description?; get description(): string; set description(value: string); resetDescription(): void; get descriptionInput(): string | undefined; private _directoryStripeLevel?; get directoryStripeLevel(): string; set directoryStripeLevel(value: string); resetDirectoryStripeLevel(): void; get directoryStripeLevelInput(): string | undefined; private _effectiveLabels; get effectiveLabels(): cdktf.StringMap; get effectiveReservedIpRange(): string; private _fileStripeLevel?; get fileStripeLevel(): string; set fileStripeLevel(value: string); resetFileStripeLevel(): void; get fileStripeLevelInput(): string | undefined; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string | undefined; private _instanceId?; get instanceId(): string; set instanceId(value: string); get instanceIdInput(): 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; get name(): string; private _network?; get network(): string; set network(value: string); resetNetwork(): void; get networkInput(): string | undefined; private _project?; get project(): string; set project(value: string); resetProject(): void; get projectInput(): string | undefined; private _reservedIpRange?; get reservedIpRange(): string; set reservedIpRange(value: string); resetReservedIpRange(): void; get reservedIpRangeInput(): string | undefined; get state(): string; private _terraformLabels; get terraformLabels(): cdktf.StringMap; get updateTime(): string; private _timeouts; get timeouts(): ParallelstoreInstanceTimeoutsOutputReference; putTimeouts(value: ParallelstoreInstanceTimeouts): void; resetTimeouts(): void; get timeoutsInput(): cdktf.IResolvable | ParallelstoreInstanceTimeouts | undefined; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }