UNPKG

@cdktf/provider-google

Version:

Prebuilt google Provider for Terraform CDK (cdktf)

354 lines (353 loc) 19.1 kB
/** * Copyright (c) HashiCorp, Inc. * SPDX-License-Identifier: MPL-2.0 */ import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface ApigeeOrganizationConfig extends cdktf.TerraformMetaArguments { /** * Primary GCP region for analytics data storage. For valid values, see [Create an Apigee organization](https://cloud.google.com/apigee/docs/api-platform/get-started/create-org). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/apigee_organization#analytics_region ApigeeOrganization#analytics_region} */ readonly analyticsRegion?: string; /** * Cloud KMS key name used for encrypting API consumer data. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/apigee_organization#api_consumer_data_encryption_key_name ApigeeOrganization#api_consumer_data_encryption_key_name} */ readonly apiConsumerDataEncryptionKeyName?: string; /** * This field is needed only for customers using non-default data residency regions. * Apigee stores some control plane data only in single region. * This field determines which single region Apigee should use. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/apigee_organization#api_consumer_data_location ApigeeOrganization#api_consumer_data_location} */ readonly apiConsumerDataLocation?: string; /** * Compute Engine network used for Service Networking to be peered with Apigee runtime instances. * See [Getting started with the Service Networking API](https://cloud.google.com/service-infrastructure/docs/service-networking/getting-started). * Valid only when 'RuntimeType' is set to CLOUD. The value can be updated only when there are no runtime instances. For example: "default". * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/apigee_organization#authorized_network ApigeeOrganization#authorized_network} */ readonly authorizedNetwork?: string; /** * Billing type of the Apigee organization. See [Apigee pricing](https://cloud.google.com/apigee/pricing). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/apigee_organization#billing_type ApigeeOrganization#billing_type} */ readonly billingType?: string; /** * Cloud KMS key name used for encrypting control plane data that is stored in a multi region. * Only used for the data residency region "US" or "EU". * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/apigee_organization#control_plane_encryption_key_name ApigeeOrganization#control_plane_encryption_key_name} */ readonly controlPlaneEncryptionKeyName?: string; /** * Description of the Apigee organization. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/apigee_organization#description ApigeeOrganization#description} */ readonly description?: string; /** * Flag that specifies whether the VPC Peering through Private Google Access should be * disabled between the consumer network and Apigee. Required if an 'authorizedNetwork' * on the consumer project is not provided, in which case the flag should be set to 'true'. * Valid only when 'RuntimeType' is set to CLOUD. The value must be set before the creation * of any Apigee runtime instance and can be updated only when there are no runtime instances. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/apigee_organization#disable_vpc_peering ApigeeOrganization#disable_vpc_peering} */ readonly disableVpcPeering?: boolean | cdktf.IResolvable; /** * The display name of the Apigee organization. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/apigee_organization#display_name ApigeeOrganization#display_name} */ readonly displayName?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/apigee_organization#id ApigeeOrganization#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 project ID associated with the Apigee organization. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/apigee_organization#project_id ApigeeOrganization#project_id} */ readonly projectId: string; /** * Optional. This setting is applicable only for organizations that are soft-deleted (i.e., BillingType * is not EVALUATION). It controls how long Organization data will be retained after the initial delete * operation completes. During this period, the Organization may be restored to its last known state. * After this period, the Organization will no longer be able to be restored. Default value: "DELETION_RETENTION_UNSPECIFIED" Possible values: ["DELETION_RETENTION_UNSPECIFIED", "MINIMUM"] * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/apigee_organization#retention ApigeeOrganization#retention} */ readonly retention?: string; /** * Cloud KMS key name used for encrypting the data that is stored and replicated across runtime instances. * Update is not allowed after the organization is created. * If not specified, a Google-Managed encryption key will be used. * Valid only when 'RuntimeType' is CLOUD. For example: 'projects/foo/locations/us/keyRings/bar/cryptoKeys/baz'. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/apigee_organization#runtime_database_encryption_key_name ApigeeOrganization#runtime_database_encryption_key_name} */ readonly runtimeDatabaseEncryptionKeyName?: string; /** * Runtime type of the Apigee organization based on the Apigee subscription purchased. Default value: "CLOUD" Possible values: ["CLOUD", "HYBRID"] * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/apigee_organization#runtime_type ApigeeOrganization#runtime_type} */ readonly runtimeType?: string; /** * properties block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/apigee_organization#properties ApigeeOrganization#properties} */ readonly properties?: ApigeeOrganizationProperties; /** * timeouts block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/apigee_organization#timeouts ApigeeOrganization#timeouts} */ readonly timeouts?: ApigeeOrganizationTimeouts; } export interface ApigeeOrganizationPropertiesProperty { /** * Name of the property. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/apigee_organization#name ApigeeOrganization#name} */ readonly name?: string; /** * Value of the property. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/apigee_organization#value ApigeeOrganization#value} */ readonly value?: string; } export declare function apigeeOrganizationPropertiesPropertyToTerraform(struct?: ApigeeOrganizationPropertiesProperty | cdktf.IResolvable): any; export declare function apigeeOrganizationPropertiesPropertyToHclTerraform(struct?: ApigeeOrganizationPropertiesProperty | cdktf.IResolvable): any; export declare class ApigeeOrganizationPropertiesPropertyOutputReference 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(): ApigeeOrganizationPropertiesProperty | cdktf.IResolvable | undefined; set internalValue(value: ApigeeOrganizationPropertiesProperty | cdktf.IResolvable | undefined); private _name?; get name(): string; set name(value: string); resetName(): void; get nameInput(): string | undefined; private _value?; get value(): string; set value(value: string); resetValue(): void; get valueInput(): string | undefined; } export declare class ApigeeOrganizationPropertiesPropertyList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: ApigeeOrganizationPropertiesProperty[] | 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): ApigeeOrganizationPropertiesPropertyOutputReference; } export interface ApigeeOrganizationProperties { /** * property block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/apigee_organization#property ApigeeOrganization#property} */ readonly property?: ApigeeOrganizationPropertiesProperty[] | cdktf.IResolvable; } export declare function apigeeOrganizationPropertiesToTerraform(struct?: ApigeeOrganizationPropertiesOutputReference | ApigeeOrganizationProperties): any; export declare function apigeeOrganizationPropertiesToHclTerraform(struct?: ApigeeOrganizationPropertiesOutputReference | ApigeeOrganizationProperties): any; export declare class ApigeeOrganizationPropertiesOutputReference 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(): ApigeeOrganizationProperties | undefined; set internalValue(value: ApigeeOrganizationProperties | undefined); private _property; get property(): ApigeeOrganizationPropertiesPropertyList; putProperty(value: ApigeeOrganizationPropertiesProperty[] | cdktf.IResolvable): void; resetProperty(): void; get propertyInput(): cdktf.IResolvable | ApigeeOrganizationPropertiesProperty[] | undefined; } export interface ApigeeOrganizationTimeouts { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/apigee_organization#create ApigeeOrganization#create} */ readonly create?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/apigee_organization#delete ApigeeOrganization#delete} */ readonly delete?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/apigee_organization#update ApigeeOrganization#update} */ readonly update?: string; } export declare function apigeeOrganizationTimeoutsToTerraform(struct?: ApigeeOrganizationTimeouts | cdktf.IResolvable): any; export declare function apigeeOrganizationTimeoutsToHclTerraform(struct?: ApigeeOrganizationTimeouts | cdktf.IResolvable): any; export declare class ApigeeOrganizationTimeoutsOutputReference 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(): ApigeeOrganizationTimeouts | cdktf.IResolvable | undefined; set internalValue(value: ApigeeOrganizationTimeouts | 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/apigee_organization google_apigee_organization} */ export declare class ApigeeOrganization extends cdktf.TerraformResource { static readonly tfResourceType = "google_apigee_organization"; /** * Generates CDKTF code for importing a ApigeeOrganization 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 ApigeeOrganization to import * @param importFromId The id of the existing ApigeeOrganization that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/apigee_organization#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the ApigeeOrganization 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/apigee_organization google_apigee_organization} 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 ApigeeOrganizationConfig */ constructor(scope: Construct, id: string, config: ApigeeOrganizationConfig); private _analyticsRegion?; get analyticsRegion(): string; set analyticsRegion(value: string); resetAnalyticsRegion(): void; get analyticsRegionInput(): string | undefined; private _apiConsumerDataEncryptionKeyName?; get apiConsumerDataEncryptionKeyName(): string; set apiConsumerDataEncryptionKeyName(value: string); resetApiConsumerDataEncryptionKeyName(): void; get apiConsumerDataEncryptionKeyNameInput(): string | undefined; private _apiConsumerDataLocation?; get apiConsumerDataLocation(): string; set apiConsumerDataLocation(value: string); resetApiConsumerDataLocation(): void; get apiConsumerDataLocationInput(): string | undefined; get apigeeProjectId(): string; private _authorizedNetwork?; get authorizedNetwork(): string; set authorizedNetwork(value: string); resetAuthorizedNetwork(): void; get authorizedNetworkInput(): string | undefined; private _billingType?; get billingType(): string; set billingType(value: string); resetBillingType(): void; get billingTypeInput(): string | undefined; get caCertificate(): string; private _controlPlaneEncryptionKeyName?; get controlPlaneEncryptionKeyName(): string; set controlPlaneEncryptionKeyName(value: string); resetControlPlaneEncryptionKeyName(): void; get controlPlaneEncryptionKeyNameInput(): string | undefined; private _description?; get description(): string; set description(value: string); resetDescription(): void; get descriptionInput(): string | undefined; private _disableVpcPeering?; get disableVpcPeering(): boolean | cdktf.IResolvable; set disableVpcPeering(value: boolean | cdktf.IResolvable); resetDisableVpcPeering(): void; get disableVpcPeeringInput(): boolean | cdktf.IResolvable | undefined; private _displayName?; get displayName(): string; set displayName(value: string); resetDisplayName(): void; get displayNameInput(): string | undefined; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string | undefined; get name(): string; private _projectId?; get projectId(): string; set projectId(value: string); get projectIdInput(): string | undefined; private _retention?; get retention(): string; set retention(value: string); resetRetention(): void; get retentionInput(): string | undefined; private _runtimeDatabaseEncryptionKeyName?; get runtimeDatabaseEncryptionKeyName(): string; set runtimeDatabaseEncryptionKeyName(value: string); resetRuntimeDatabaseEncryptionKeyName(): void; get runtimeDatabaseEncryptionKeyNameInput(): string | undefined; private _runtimeType?; get runtimeType(): string; set runtimeType(value: string); resetRuntimeType(): void; get runtimeTypeInput(): string | undefined; get subscriptionType(): string; private _properties; get properties(): ApigeeOrganizationPropertiesOutputReference; putProperties(value: ApigeeOrganizationProperties): void; resetProperties(): void; get propertiesInput(): ApigeeOrganizationProperties | undefined; private _timeouts; get timeouts(): ApigeeOrganizationTimeoutsOutputReference; putTimeouts(value: ApigeeOrganizationTimeouts): void; resetTimeouts(): void; get timeoutsInput(): cdktf.IResolvable | ApigeeOrganizationTimeouts | undefined; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }