UNPKG

@cdktf/provider-google

Version:

Prebuilt google Provider for Terraform CDK (cdktf)

675 lines (674 loc) 36.7 kB
/** * Copyright (c) HashiCorp, Inc. * SPDX-License-Identifier: MPL-2.0 */ import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface DnsManagedZoneConfig extends cdktf.TerraformMetaArguments { /** * A textual description field. Defaults to 'Managed by Terraform'. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dns_managed_zone#description DnsManagedZone#description} */ readonly description?: string; /** * The DNS name of this managed zone, for instance "example.com.". * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dns_managed_zone#dns_name DnsManagedZone#dns_name} */ readonly dnsName: string; /** * Set this true to delete all records in the zone. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dns_managed_zone#force_destroy DnsManagedZone#force_destroy} */ readonly forceDestroy?: boolean | cdktf.IResolvable; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dns_managed_zone#id DnsManagedZone#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; /** * A set of key/value label pairs to assign to this ManagedZone. * * * **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.0/docs/resources/dns_managed_zone#labels DnsManagedZone#labels} */ readonly labels?: { [key: string]: string; }; /** * User assigned name for this resource. * Must be unique within the project. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dns_managed_zone#name DnsManagedZone#name} */ readonly name: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dns_managed_zone#project DnsManagedZone#project} */ readonly project?: string; /** * The zone's visibility: public zones are exposed to the Internet, * while private zones are visible only to Virtual Private Cloud resources. Default value: "public" Possible values: ["private", "public"] * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dns_managed_zone#visibility DnsManagedZone#visibility} */ readonly visibility?: string; /** * cloud_logging_config block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dns_managed_zone#cloud_logging_config DnsManagedZone#cloud_logging_config} */ readonly cloudLoggingConfig?: DnsManagedZoneCloudLoggingConfig; /** * dnssec_config block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dns_managed_zone#dnssec_config DnsManagedZone#dnssec_config} */ readonly dnssecConfig?: DnsManagedZoneDnssecConfig; /** * forwarding_config block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dns_managed_zone#forwarding_config DnsManagedZone#forwarding_config} */ readonly forwardingConfig?: DnsManagedZoneForwardingConfig; /** * peering_config block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dns_managed_zone#peering_config DnsManagedZone#peering_config} */ readonly peeringConfig?: DnsManagedZonePeeringConfig; /** * private_visibility_config block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dns_managed_zone#private_visibility_config DnsManagedZone#private_visibility_config} */ readonly privateVisibilityConfig?: DnsManagedZonePrivateVisibilityConfig; /** * timeouts block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dns_managed_zone#timeouts DnsManagedZone#timeouts} */ readonly timeouts?: DnsManagedZoneTimeouts; } export interface DnsManagedZoneCloudLoggingConfig { /** * If set, enable query logging for this ManagedZone. False by default, making logging opt-in. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dns_managed_zone#enable_logging DnsManagedZone#enable_logging} */ readonly enableLogging: boolean | cdktf.IResolvable; } export declare function dnsManagedZoneCloudLoggingConfigToTerraform(struct?: DnsManagedZoneCloudLoggingConfigOutputReference | DnsManagedZoneCloudLoggingConfig): any; export declare function dnsManagedZoneCloudLoggingConfigToHclTerraform(struct?: DnsManagedZoneCloudLoggingConfigOutputReference | DnsManagedZoneCloudLoggingConfig): any; export declare class DnsManagedZoneCloudLoggingConfigOutputReference 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(): DnsManagedZoneCloudLoggingConfig | undefined; set internalValue(value: DnsManagedZoneCloudLoggingConfig | undefined); private _enableLogging?; get enableLogging(): boolean | cdktf.IResolvable; set enableLogging(value: boolean | cdktf.IResolvable); get enableLoggingInput(): boolean | cdktf.IResolvable | undefined; } export interface DnsManagedZoneDnssecConfigDefaultKeySpecs { /** * String mnemonic specifying the DNSSEC algorithm of this key Possible values: ["ecdsap256sha256", "ecdsap384sha384", "rsasha1", "rsasha256", "rsasha512"] * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dns_managed_zone#algorithm DnsManagedZone#algorithm} */ readonly algorithm?: string; /** * Length of the keys in bits * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dns_managed_zone#key_length DnsManagedZone#key_length} */ readonly keyLength?: number; /** * Specifies whether this is a key signing key (KSK) or a zone * signing key (ZSK). Key signing keys have the Secure Entry * Point flag set and, when active, will only be used to sign * resource record sets of type DNSKEY. Zone signing keys do * not have the Secure Entry Point flag set and will be used * to sign all other types of resource record sets. Possible values: ["keySigning", "zoneSigning"] * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dns_managed_zone#key_type DnsManagedZone#key_type} */ readonly keyType?: string; /** * Identifies what kind of resource this is * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dns_managed_zone#kind DnsManagedZone#kind} */ readonly kind?: string; } export declare function dnsManagedZoneDnssecConfigDefaultKeySpecsToTerraform(struct?: DnsManagedZoneDnssecConfigDefaultKeySpecs | cdktf.IResolvable): any; export declare function dnsManagedZoneDnssecConfigDefaultKeySpecsToHclTerraform(struct?: DnsManagedZoneDnssecConfigDefaultKeySpecs | cdktf.IResolvable): any; export declare class DnsManagedZoneDnssecConfigDefaultKeySpecsOutputReference 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(): DnsManagedZoneDnssecConfigDefaultKeySpecs | cdktf.IResolvable | undefined; set internalValue(value: DnsManagedZoneDnssecConfigDefaultKeySpecs | cdktf.IResolvable | undefined); private _algorithm?; get algorithm(): string; set algorithm(value: string); resetAlgorithm(): void; get algorithmInput(): string | undefined; private _keyLength?; get keyLength(): number; set keyLength(value: number); resetKeyLength(): void; get keyLengthInput(): number | undefined; private _keyType?; get keyType(): string; set keyType(value: string); resetKeyType(): void; get keyTypeInput(): string | undefined; private _kind?; get kind(): string; set kind(value: string); resetKind(): void; get kindInput(): string | undefined; } export declare class DnsManagedZoneDnssecConfigDefaultKeySpecsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: DnsManagedZoneDnssecConfigDefaultKeySpecs[] | 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): DnsManagedZoneDnssecConfigDefaultKeySpecsOutputReference; } export interface DnsManagedZoneDnssecConfig { /** * Identifies what kind of resource this is * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dns_managed_zone#kind DnsManagedZone#kind} */ readonly kind?: string; /** * Specifies the mechanism used to provide authenticated denial-of-existence responses. * non_existence can only be updated when the state is 'off'. Possible values: ["nsec", "nsec3"] * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dns_managed_zone#non_existence DnsManagedZone#non_existence} */ readonly nonExistence?: string; /** * Specifies whether DNSSEC is enabled, and what mode it is in Possible values: ["off", "on", "transfer"] * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dns_managed_zone#state DnsManagedZone#state} */ readonly state?: string; /** * default_key_specs block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dns_managed_zone#default_key_specs DnsManagedZone#default_key_specs} */ readonly defaultKeySpecs?: DnsManagedZoneDnssecConfigDefaultKeySpecs[] | cdktf.IResolvable; } export declare function dnsManagedZoneDnssecConfigToTerraform(struct?: DnsManagedZoneDnssecConfigOutputReference | DnsManagedZoneDnssecConfig): any; export declare function dnsManagedZoneDnssecConfigToHclTerraform(struct?: DnsManagedZoneDnssecConfigOutputReference | DnsManagedZoneDnssecConfig): any; export declare class DnsManagedZoneDnssecConfigOutputReference 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(): DnsManagedZoneDnssecConfig | undefined; set internalValue(value: DnsManagedZoneDnssecConfig | undefined); private _kind?; get kind(): string; set kind(value: string); resetKind(): void; get kindInput(): string | undefined; private _nonExistence?; get nonExistence(): string; set nonExistence(value: string); resetNonExistence(): void; get nonExistenceInput(): string | undefined; private _state?; get state(): string; set state(value: string); resetState(): void; get stateInput(): string | undefined; private _defaultKeySpecs; get defaultKeySpecs(): DnsManagedZoneDnssecConfigDefaultKeySpecsList; putDefaultKeySpecs(value: DnsManagedZoneDnssecConfigDefaultKeySpecs[] | cdktf.IResolvable): void; resetDefaultKeySpecs(): void; get defaultKeySpecsInput(): cdktf.IResolvable | DnsManagedZoneDnssecConfigDefaultKeySpecs[] | undefined; } export interface DnsManagedZoneForwardingConfigTargetNameServers { /** * Forwarding path for this TargetNameServer. If unset or 'default' Cloud DNS will make forwarding * decision based on address ranges, i.e. RFC1918 addresses go to the VPC, Non-RFC1918 addresses go * to the Internet. When set to 'private', Cloud DNS will always send queries through VPC for this target Possible values: ["default", "private"] * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dns_managed_zone#forwarding_path DnsManagedZone#forwarding_path} */ readonly forwardingPath?: string; /** * IPv4 address of a target name server. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dns_managed_zone#ipv4_address DnsManagedZone#ipv4_address} */ readonly ipv4Address?: string; } export declare function dnsManagedZoneForwardingConfigTargetNameServersToTerraform(struct?: DnsManagedZoneForwardingConfigTargetNameServers | cdktf.IResolvable): any; export declare function dnsManagedZoneForwardingConfigTargetNameServersToHclTerraform(struct?: DnsManagedZoneForwardingConfigTargetNameServers | cdktf.IResolvable): any; export declare class DnsManagedZoneForwardingConfigTargetNameServersOutputReference 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(): DnsManagedZoneForwardingConfigTargetNameServers | cdktf.IResolvable | undefined; set internalValue(value: DnsManagedZoneForwardingConfigTargetNameServers | cdktf.IResolvable | undefined); private _forwardingPath?; get forwardingPath(): string; set forwardingPath(value: string); resetForwardingPath(): void; get forwardingPathInput(): string | undefined; private _ipv4Address?; get ipv4Address(): string; set ipv4Address(value: string); resetIpv4Address(): void; get ipv4AddressInput(): string | undefined; } export declare class DnsManagedZoneForwardingConfigTargetNameServersList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: DnsManagedZoneForwardingConfigTargetNameServers[] | 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): DnsManagedZoneForwardingConfigTargetNameServersOutputReference; } export interface DnsManagedZoneForwardingConfig { /** * target_name_servers block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dns_managed_zone#target_name_servers DnsManagedZone#target_name_servers} */ readonly targetNameServers: DnsManagedZoneForwardingConfigTargetNameServers[] | cdktf.IResolvable; } export declare function dnsManagedZoneForwardingConfigToTerraform(struct?: DnsManagedZoneForwardingConfigOutputReference | DnsManagedZoneForwardingConfig): any; export declare function dnsManagedZoneForwardingConfigToHclTerraform(struct?: DnsManagedZoneForwardingConfigOutputReference | DnsManagedZoneForwardingConfig): any; export declare class DnsManagedZoneForwardingConfigOutputReference 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(): DnsManagedZoneForwardingConfig | undefined; set internalValue(value: DnsManagedZoneForwardingConfig | undefined); private _targetNameServers; get targetNameServers(): DnsManagedZoneForwardingConfigTargetNameServersList; putTargetNameServers(value: DnsManagedZoneForwardingConfigTargetNameServers[] | cdktf.IResolvable): void; get targetNameServersInput(): cdktf.IResolvable | DnsManagedZoneForwardingConfigTargetNameServers[] | undefined; } export interface DnsManagedZonePeeringConfigTargetNetwork { /** * The id or fully qualified URL of the VPC network to forward queries to. * This should be formatted like 'projects/{project}/global/networks/{network}' or * 'https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}' * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dns_managed_zone#network_url DnsManagedZone#network_url} */ readonly networkUrl: string; } export declare function dnsManagedZonePeeringConfigTargetNetworkToTerraform(struct?: DnsManagedZonePeeringConfigTargetNetworkOutputReference | DnsManagedZonePeeringConfigTargetNetwork): any; export declare function dnsManagedZonePeeringConfigTargetNetworkToHclTerraform(struct?: DnsManagedZonePeeringConfigTargetNetworkOutputReference | DnsManagedZonePeeringConfigTargetNetwork): any; export declare class DnsManagedZonePeeringConfigTargetNetworkOutputReference 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(): DnsManagedZonePeeringConfigTargetNetwork | undefined; set internalValue(value: DnsManagedZonePeeringConfigTargetNetwork | undefined); private _networkUrl?; get networkUrl(): string; set networkUrl(value: string); get networkUrlInput(): string | undefined; } export interface DnsManagedZonePeeringConfig { /** * target_network block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dns_managed_zone#target_network DnsManagedZone#target_network} */ readonly targetNetwork: DnsManagedZonePeeringConfigTargetNetwork; } export declare function dnsManagedZonePeeringConfigToTerraform(struct?: DnsManagedZonePeeringConfigOutputReference | DnsManagedZonePeeringConfig): any; export declare function dnsManagedZonePeeringConfigToHclTerraform(struct?: DnsManagedZonePeeringConfigOutputReference | DnsManagedZonePeeringConfig): any; export declare class DnsManagedZonePeeringConfigOutputReference 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(): DnsManagedZonePeeringConfig | undefined; set internalValue(value: DnsManagedZonePeeringConfig | undefined); private _targetNetwork; get targetNetwork(): DnsManagedZonePeeringConfigTargetNetworkOutputReference; putTargetNetwork(value: DnsManagedZonePeeringConfigTargetNetwork): void; get targetNetworkInput(): DnsManagedZonePeeringConfigTargetNetwork | undefined; } export interface DnsManagedZonePrivateVisibilityConfigGkeClusters { /** * The resource name of the cluster to bind this ManagedZone to. * This should be specified in the format like * 'projects/* /locations/* /clusters/*' * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dns_managed_zone#gke_cluster_name DnsManagedZone#gke_cluster_name} * * Note: The above comment contained a comment block ending sequence (* followed by /). We have introduced a space between to prevent syntax errors. Please ignore the space. */ readonly gkeClusterName: string; } export declare function dnsManagedZonePrivateVisibilityConfigGkeClustersToTerraform(struct?: DnsManagedZonePrivateVisibilityConfigGkeClusters | cdktf.IResolvable): any; export declare function dnsManagedZonePrivateVisibilityConfigGkeClustersToHclTerraform(struct?: DnsManagedZonePrivateVisibilityConfigGkeClusters | cdktf.IResolvable): any; export declare class DnsManagedZonePrivateVisibilityConfigGkeClustersOutputReference 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(): DnsManagedZonePrivateVisibilityConfigGkeClusters | cdktf.IResolvable | undefined; set internalValue(value: DnsManagedZonePrivateVisibilityConfigGkeClusters | cdktf.IResolvable | undefined); private _gkeClusterName?; get gkeClusterName(): string; set gkeClusterName(value: string); get gkeClusterNameInput(): string | undefined; } export declare class DnsManagedZonePrivateVisibilityConfigGkeClustersList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: DnsManagedZonePrivateVisibilityConfigGkeClusters[] | 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): DnsManagedZonePrivateVisibilityConfigGkeClustersOutputReference; } export interface DnsManagedZonePrivateVisibilityConfigNetworks { /** * The id or fully qualified URL of the VPC network to bind to. * This should be formatted like 'projects/{project}/global/networks/{network}' or * 'https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}' * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dns_managed_zone#network_url DnsManagedZone#network_url} */ readonly networkUrl: string; } export declare function dnsManagedZonePrivateVisibilityConfigNetworksToTerraform(struct?: DnsManagedZonePrivateVisibilityConfigNetworks | cdktf.IResolvable): any; export declare function dnsManagedZonePrivateVisibilityConfigNetworksToHclTerraform(struct?: DnsManagedZonePrivateVisibilityConfigNetworks | cdktf.IResolvable): any; export declare class DnsManagedZonePrivateVisibilityConfigNetworksOutputReference 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(): DnsManagedZonePrivateVisibilityConfigNetworks | cdktf.IResolvable | undefined; set internalValue(value: DnsManagedZonePrivateVisibilityConfigNetworks | cdktf.IResolvable | undefined); private _networkUrl?; get networkUrl(): string; set networkUrl(value: string); get networkUrlInput(): string | undefined; } export declare class DnsManagedZonePrivateVisibilityConfigNetworksList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: DnsManagedZonePrivateVisibilityConfigNetworks[] | 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): DnsManagedZonePrivateVisibilityConfigNetworksOutputReference; } export interface DnsManagedZonePrivateVisibilityConfig { /** * gke_clusters block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dns_managed_zone#gke_clusters DnsManagedZone#gke_clusters} */ readonly gkeClusters?: DnsManagedZonePrivateVisibilityConfigGkeClusters[] | cdktf.IResolvable; /** * networks block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dns_managed_zone#networks DnsManagedZone#networks} */ readonly networks?: DnsManagedZonePrivateVisibilityConfigNetworks[] | cdktf.IResolvable; } export declare function dnsManagedZonePrivateVisibilityConfigToTerraform(struct?: DnsManagedZonePrivateVisibilityConfigOutputReference | DnsManagedZonePrivateVisibilityConfig): any; export declare function dnsManagedZonePrivateVisibilityConfigToHclTerraform(struct?: DnsManagedZonePrivateVisibilityConfigOutputReference | DnsManagedZonePrivateVisibilityConfig): any; export declare class DnsManagedZonePrivateVisibilityConfigOutputReference 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(): DnsManagedZonePrivateVisibilityConfig | undefined; set internalValue(value: DnsManagedZonePrivateVisibilityConfig | undefined); private _gkeClusters; get gkeClusters(): DnsManagedZonePrivateVisibilityConfigGkeClustersList; putGkeClusters(value: DnsManagedZonePrivateVisibilityConfigGkeClusters[] | cdktf.IResolvable): void; resetGkeClusters(): void; get gkeClustersInput(): cdktf.IResolvable | DnsManagedZonePrivateVisibilityConfigGkeClusters[] | undefined; private _networks; get networks(): DnsManagedZonePrivateVisibilityConfigNetworksList; putNetworks(value: DnsManagedZonePrivateVisibilityConfigNetworks[] | cdktf.IResolvable): void; resetNetworks(): void; get networksInput(): cdktf.IResolvable | DnsManagedZonePrivateVisibilityConfigNetworks[] | undefined; } export interface DnsManagedZoneTimeouts { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dns_managed_zone#create DnsManagedZone#create} */ readonly create?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dns_managed_zone#delete DnsManagedZone#delete} */ readonly delete?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dns_managed_zone#update DnsManagedZone#update} */ readonly update?: string; } export declare function dnsManagedZoneTimeoutsToTerraform(struct?: DnsManagedZoneTimeouts | cdktf.IResolvable): any; export declare function dnsManagedZoneTimeoutsToHclTerraform(struct?: DnsManagedZoneTimeouts | cdktf.IResolvable): any; export declare class DnsManagedZoneTimeoutsOutputReference 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(): DnsManagedZoneTimeouts | cdktf.IResolvable | undefined; set internalValue(value: DnsManagedZoneTimeouts | 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.0/docs/resources/dns_managed_zone google_dns_managed_zone} */ export declare class DnsManagedZone extends cdktf.TerraformResource { static readonly tfResourceType = "google_dns_managed_zone"; /** * Generates CDKTF code for importing a DnsManagedZone 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 DnsManagedZone to import * @param importFromId The id of the existing DnsManagedZone that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/dns_managed_zone#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the DnsManagedZone 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.0/docs/resources/dns_managed_zone google_dns_managed_zone} 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 DnsManagedZoneConfig */ constructor(scope: Construct, id: string, config: DnsManagedZoneConfig); get creationTime(): string; private _description?; get description(): string; set description(value: string); resetDescription(): void; get descriptionInput(): string | undefined; private _dnsName?; get dnsName(): string; set dnsName(value: string); get dnsNameInput(): string | undefined; private _effectiveLabels; get effectiveLabels(): cdktf.StringMap; private _forceDestroy?; get forceDestroy(): boolean | cdktf.IResolvable; set forceDestroy(value: boolean | cdktf.IResolvable); resetForceDestroy(): void; get forceDestroyInput(): boolean | cdktf.IResolvable | undefined; 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; get managedZoneId(): number; private _name?; get name(): string; set name(value: string); get nameInput(): string | undefined; get nameServers(): string[]; private _project?; get project(): string; set project(value: string); resetProject(): void; get projectInput(): string | undefined; private _terraformLabels; get terraformLabels(): cdktf.StringMap; private _visibility?; get visibility(): string; set visibility(value: string); resetVisibility(): void; get visibilityInput(): string | undefined; private _cloudLoggingConfig; get cloudLoggingConfig(): DnsManagedZoneCloudLoggingConfigOutputReference; putCloudLoggingConfig(value: DnsManagedZoneCloudLoggingConfig): void; resetCloudLoggingConfig(): void; get cloudLoggingConfigInput(): DnsManagedZoneCloudLoggingConfig | undefined; private _dnssecConfig; get dnssecConfig(): DnsManagedZoneDnssecConfigOutputReference; putDnssecConfig(value: DnsManagedZoneDnssecConfig): void; resetDnssecConfig(): void; get dnssecConfigInput(): DnsManagedZoneDnssecConfig | undefined; private _forwardingConfig; get forwardingConfig(): DnsManagedZoneForwardingConfigOutputReference; putForwardingConfig(value: DnsManagedZoneForwardingConfig): void; resetForwardingConfig(): void; get forwardingConfigInput(): DnsManagedZoneForwardingConfig | undefined; private _peeringConfig; get peeringConfig(): DnsManagedZonePeeringConfigOutputReference; putPeeringConfig(value: DnsManagedZonePeeringConfig): void; resetPeeringConfig(): void; get peeringConfigInput(): DnsManagedZonePeeringConfig | undefined; private _privateVisibilityConfig; get privateVisibilityConfig(): DnsManagedZonePrivateVisibilityConfigOutputReference; putPrivateVisibilityConfig(value: DnsManagedZonePrivateVisibilityConfig): void; resetPrivateVisibilityConfig(): void; get privateVisibilityConfigInput(): DnsManagedZonePrivateVisibilityConfig | undefined; private _timeouts; get timeouts(): DnsManagedZoneTimeoutsOutputReference; putTimeouts(value: DnsManagedZoneTimeouts): void; resetTimeouts(): void; get timeoutsInput(): cdktf.IResolvable | DnsManagedZoneTimeouts | undefined; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }