@cdktf/provider-google
Version:
Prebuilt google Provider for Terraform CDK (cdktf)
675 lines (674 loc) • 36.7 kB
TypeScript
/**
* 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;
};
}