sqldatabaseinstance

package
v8.0.11 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 22, 2023 License: MPL-2.0 Imports: 7 Imported by: 0

README

google_sql_database_instance

Refer to the Terraform Registory for docs: google_sql_database_instance.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewSqlDatabaseInstanceCloneOutputReference_Override

func NewSqlDatabaseInstanceCloneOutputReference_Override(s SqlDatabaseInstanceCloneOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewSqlDatabaseInstanceIpAddressList_Override

func NewSqlDatabaseInstanceIpAddressList_Override(s SqlDatabaseInstanceIpAddressList, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, wrapsSet *bool)

func NewSqlDatabaseInstanceIpAddressOutputReference_Override

func NewSqlDatabaseInstanceIpAddressOutputReference_Override(s SqlDatabaseInstanceIpAddressOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, complexObjectIndex *float64, complexObjectIsFromSet *bool)

func NewSqlDatabaseInstanceReplicaConfigurationOutputReference_Override

func NewSqlDatabaseInstanceReplicaConfigurationOutputReference_Override(s SqlDatabaseInstanceReplicaConfigurationOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewSqlDatabaseInstanceRestoreBackupContextOutputReference_Override

func NewSqlDatabaseInstanceRestoreBackupContextOutputReference_Override(s SqlDatabaseInstanceRestoreBackupContextOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewSqlDatabaseInstanceServerCaCertList_Override

func NewSqlDatabaseInstanceServerCaCertList_Override(s SqlDatabaseInstanceServerCaCertList, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, wrapsSet *bool)

func NewSqlDatabaseInstanceServerCaCertOutputReference_Override

func NewSqlDatabaseInstanceServerCaCertOutputReference_Override(s SqlDatabaseInstanceServerCaCertOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, complexObjectIndex *float64, complexObjectIsFromSet *bool)

func NewSqlDatabaseInstanceSettingsActiveDirectoryConfigOutputReference_Override

func NewSqlDatabaseInstanceSettingsActiveDirectoryConfigOutputReference_Override(s SqlDatabaseInstanceSettingsActiveDirectoryConfigOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewSqlDatabaseInstanceSettingsAdvancedMachineFeaturesOutputReference_Override

func NewSqlDatabaseInstanceSettingsAdvancedMachineFeaturesOutputReference_Override(s SqlDatabaseInstanceSettingsAdvancedMachineFeaturesOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewSqlDatabaseInstanceSettingsBackupConfigurationBackupRetentionSettingsOutputReference_Override

func NewSqlDatabaseInstanceSettingsBackupConfigurationBackupRetentionSettingsOutputReference_Override(s SqlDatabaseInstanceSettingsBackupConfigurationBackupRetentionSettingsOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewSqlDatabaseInstanceSettingsBackupConfigurationOutputReference_Override

func NewSqlDatabaseInstanceSettingsBackupConfigurationOutputReference_Override(s SqlDatabaseInstanceSettingsBackupConfigurationOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewSqlDatabaseInstanceSettingsDataCacheConfigOutputReference_Override added in v8.0.5

func NewSqlDatabaseInstanceSettingsDataCacheConfigOutputReference_Override(s SqlDatabaseInstanceSettingsDataCacheConfigOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewSqlDatabaseInstanceSettingsDatabaseFlagsList_Override

func NewSqlDatabaseInstanceSettingsDatabaseFlagsList_Override(s SqlDatabaseInstanceSettingsDatabaseFlagsList, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, wrapsSet *bool)

func NewSqlDatabaseInstanceSettingsDatabaseFlagsOutputReference_Override

func NewSqlDatabaseInstanceSettingsDatabaseFlagsOutputReference_Override(s SqlDatabaseInstanceSettingsDatabaseFlagsOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, complexObjectIndex *float64, complexObjectIsFromSet *bool)

func NewSqlDatabaseInstanceSettingsDenyMaintenancePeriodOutputReference_Override

func NewSqlDatabaseInstanceSettingsDenyMaintenancePeriodOutputReference_Override(s SqlDatabaseInstanceSettingsDenyMaintenancePeriodOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewSqlDatabaseInstanceSettingsInsightsConfigOutputReference_Override

func NewSqlDatabaseInstanceSettingsInsightsConfigOutputReference_Override(s SqlDatabaseInstanceSettingsInsightsConfigOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewSqlDatabaseInstanceSettingsIpConfigurationAuthorizedNetworksList_Override

func NewSqlDatabaseInstanceSettingsIpConfigurationAuthorizedNetworksList_Override(s SqlDatabaseInstanceSettingsIpConfigurationAuthorizedNetworksList, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, wrapsSet *bool)

func NewSqlDatabaseInstanceSettingsIpConfigurationAuthorizedNetworksOutputReference_Override

func NewSqlDatabaseInstanceSettingsIpConfigurationAuthorizedNetworksOutputReference_Override(s SqlDatabaseInstanceSettingsIpConfigurationAuthorizedNetworksOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, complexObjectIndex *float64, complexObjectIsFromSet *bool)

func NewSqlDatabaseInstanceSettingsIpConfigurationOutputReference_Override

func NewSqlDatabaseInstanceSettingsIpConfigurationOutputReference_Override(s SqlDatabaseInstanceSettingsIpConfigurationOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewSqlDatabaseInstanceSettingsLocationPreferenceOutputReference_Override

func NewSqlDatabaseInstanceSettingsLocationPreferenceOutputReference_Override(s SqlDatabaseInstanceSettingsLocationPreferenceOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewSqlDatabaseInstanceSettingsMaintenanceWindowOutputReference_Override

func NewSqlDatabaseInstanceSettingsMaintenanceWindowOutputReference_Override(s SqlDatabaseInstanceSettingsMaintenanceWindowOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewSqlDatabaseInstanceSettingsOutputReference_Override

func NewSqlDatabaseInstanceSettingsOutputReference_Override(s SqlDatabaseInstanceSettingsOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewSqlDatabaseInstanceSettingsPasswordValidationPolicyOutputReference_Override

func NewSqlDatabaseInstanceSettingsPasswordValidationPolicyOutputReference_Override(s SqlDatabaseInstanceSettingsPasswordValidationPolicyOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewSqlDatabaseInstanceSettingsSqlServerAuditConfigOutputReference_Override

func NewSqlDatabaseInstanceSettingsSqlServerAuditConfigOutputReference_Override(s SqlDatabaseInstanceSettingsSqlServerAuditConfigOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewSqlDatabaseInstanceTimeoutsOutputReference_Override

func NewSqlDatabaseInstanceTimeoutsOutputReference_Override(s SqlDatabaseInstanceTimeoutsOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewSqlDatabaseInstance_Override

func NewSqlDatabaseInstance_Override(s SqlDatabaseInstance, scope constructs.Construct, id *string, config *SqlDatabaseInstanceConfig)

Create a new {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance google_sql_database_instance} Resource.

func SqlDatabaseInstance_IsConstruct

func SqlDatabaseInstance_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`.

func SqlDatabaseInstance_IsTerraformElement

func SqlDatabaseInstance_IsTerraformElement(x interface{}) *bool

Experimental.

func SqlDatabaseInstance_IsTerraformResource

func SqlDatabaseInstance_IsTerraformResource(x interface{}) *bool

Experimental.

func SqlDatabaseInstance_TfResourceType

func SqlDatabaseInstance_TfResourceType() *string

Types

type SqlDatabaseInstance

type SqlDatabaseInstance interface {
	cdktf.TerraformResource
	AvailableMaintenanceVersions() *[]*string
	// Experimental.
	CdktfStack() cdktf.TerraformStack
	Clone() SqlDatabaseInstanceCloneOutputReference
	CloneInput() *SqlDatabaseInstanceClone
	// Experimental.
	Connection() interface{}
	// Experimental.
	SetConnection(val interface{})
	ConnectionName() *string
	// Experimental.
	ConstructNodeMetadata() *map[string]interface{}
	// Experimental.
	Count() interface{}
	// Experimental.
	SetCount(val interface{})
	DatabaseVersion() *string
	SetDatabaseVersion(val *string)
	DatabaseVersionInput() *string
	DeletionProtection() interface{}
	SetDeletionProtection(val interface{})
	DeletionProtectionInput() interface{}
	// Experimental.
	DependsOn() *[]*string
	// Experimental.
	SetDependsOn(val *[]*string)
	EncryptionKeyName() *string
	SetEncryptionKeyName(val *string)
	EncryptionKeyNameInput() *string
	FirstIpAddress() *string
	// Experimental.
	ForEach() cdktf.ITerraformIterator
	// Experimental.
	SetForEach(val cdktf.ITerraformIterator)
	// Experimental.
	Fqn() *string
	// Experimental.
	FriendlyUniqueId() *string
	Id() *string
	SetId(val *string)
	IdInput() *string
	InstanceType() *string
	SetInstanceType(val *string)
	InstanceTypeInput() *string
	IpAddress() SqlDatabaseInstanceIpAddressList
	// Experimental.
	Lifecycle() *cdktf.TerraformResourceLifecycle
	// Experimental.
	SetLifecycle(val *cdktf.TerraformResourceLifecycle)
	MaintenanceVersion() *string
	SetMaintenanceVersion(val *string)
	MaintenanceVersionInput() *string
	MasterInstanceName() *string
	SetMasterInstanceName(val *string)
	MasterInstanceNameInput() *string
	Name() *string
	SetName(val *string)
	NameInput() *string
	// The tree node.
	Node() constructs.Node
	PrivateIpAddress() *string
	Project() *string
	SetProject(val *string)
	ProjectInput() *string
	// Experimental.
	Provider() cdktf.TerraformProvider
	// Experimental.
	SetProvider(val cdktf.TerraformProvider)
	// Experimental.
	Provisioners() *[]interface{}
	// Experimental.
	SetProvisioners(val *[]interface{})
	PublicIpAddress() *string
	// Experimental.
	RawOverrides() interface{}
	Region() *string
	SetRegion(val *string)
	RegionInput() *string
	ReplicaConfiguration() SqlDatabaseInstanceReplicaConfigurationOutputReference
	ReplicaConfigurationInput() *SqlDatabaseInstanceReplicaConfiguration
	RestoreBackupContext() SqlDatabaseInstanceRestoreBackupContextOutputReference
	RestoreBackupContextInput() *SqlDatabaseInstanceRestoreBackupContext
	RootPassword() *string
	SetRootPassword(val *string)
	RootPasswordInput() *string
	SelfLink() *string
	ServerCaCert() SqlDatabaseInstanceServerCaCertList
	ServiceAccountEmailAddress() *string
	Settings() SqlDatabaseInstanceSettingsOutputReference
	SettingsInput() *SqlDatabaseInstanceSettings
	// Experimental.
	TerraformGeneratorMetadata() *cdktf.TerraformProviderGeneratorMetadata
	// Experimental.
	TerraformMetaArguments() *map[string]interface{}
	// Experimental.
	TerraformResourceType() *string
	Timeouts() SqlDatabaseInstanceTimeoutsOutputReference
	TimeoutsInput() interface{}
	// Experimental.
	AddOverride(path *string, value interface{})
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationForAttribute(terraformAttribute *string) cdktf.IResolvable
	// Overrides the auto-generated logical ID with a specific ID.
	// Experimental.
	OverrideLogicalId(newLogicalId *string)
	PutClone(value *SqlDatabaseInstanceClone)
	PutReplicaConfiguration(value *SqlDatabaseInstanceReplicaConfiguration)
	PutRestoreBackupContext(value *SqlDatabaseInstanceRestoreBackupContext)
	PutSettings(value *SqlDatabaseInstanceSettings)
	PutTimeouts(value *SqlDatabaseInstanceTimeouts)
	ResetClone()
	ResetDeletionProtection()
	ResetEncryptionKeyName()
	ResetId()
	ResetInstanceType()
	ResetMaintenanceVersion()
	ResetMasterInstanceName()
	ResetName()
	// Resets a previously passed logical Id to use the auto-generated logical id again.
	// Experimental.
	ResetOverrideLogicalId()
	ResetProject()
	ResetRegion()
	ResetReplicaConfiguration()
	ResetRestoreBackupContext()
	ResetRootPassword()
	ResetSettings()
	ResetTimeouts()
	SynthesizeAttributes() *map[string]interface{}
	// Experimental.
	ToMetadata() interface{}
	// Returns a string representation of this construct.
	ToString() *string
	// Adds this resource to the terraform JSON output.
	// Experimental.
	ToTerraform() interface{}
}

Represents a {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance google_sql_database_instance}.

func NewSqlDatabaseInstance

func NewSqlDatabaseInstance(scope constructs.Construct, id *string, config *SqlDatabaseInstanceConfig) SqlDatabaseInstance

Create a new {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance google_sql_database_instance} Resource.

type SqlDatabaseInstanceClone

type SqlDatabaseInstanceClone struct {
	// The name of the instance from which the point in time should be restored.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#source_instance_name SqlDatabaseInstance#source_instance_name}
	SourceInstanceName *string `field:"required" json:"sourceInstanceName" yaml:"sourceInstanceName"`
	// The name of the allocated ip range for the private ip CloudSQL instance.
	//
	// For example: "google-managed-services-default". If set, the cloned instance ip will be created in the allocated range. The range name must comply with [RFC 1035](https://tools.ietf.org/html/rfc1035). Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])?.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#allocated_ip_range SqlDatabaseInstance#allocated_ip_range}
	AllocatedIpRange *string `field:"optional" json:"allocatedIpRange" yaml:"allocatedIpRange"`
	// (SQL Server only, use with point_in_time) clone only the specified databases from the source instance.
	//
	// Clone all databases if empty.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#database_names SqlDatabaseInstance#database_names}
	DatabaseNames *[]*string `field:"optional" json:"databaseNames" yaml:"databaseNames"`
	// The timestamp of the point in time that should be restored.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#point_in_time SqlDatabaseInstance#point_in_time}
	PointInTime *string `field:"optional" json:"pointInTime" yaml:"pointInTime"`
}

type SqlDatabaseInstanceCloneOutputReference

type SqlDatabaseInstanceCloneOutputReference interface {
	cdktf.ComplexObject
	AllocatedIpRange() *string
	SetAllocatedIpRange(val *string)
	AllocatedIpRangeInput() *string
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	DatabaseNames() *[]*string
	SetDatabaseNames(val *[]*string)
	DatabaseNamesInput() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() *SqlDatabaseInstanceClone
	SetInternalValue(val *SqlDatabaseInstanceClone)
	PointInTime() *string
	SetPointInTime(val *string)
	PointInTimeInput() *string
	SourceInstanceName() *string
	SetSourceInstanceName(val *string)
	SourceInstanceNameInput() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetAllocatedIpRange()
	ResetDatabaseNames()
	ResetPointInTime()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewSqlDatabaseInstanceCloneOutputReference

func NewSqlDatabaseInstanceCloneOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) SqlDatabaseInstanceCloneOutputReference

type SqlDatabaseInstanceConfig

type SqlDatabaseInstanceConfig struct {
	// Experimental.
	Connection interface{} `field:"optional" json:"connection" yaml:"connection"`
	// Experimental.
	Count interface{} `field:"optional" json:"count" yaml:"count"`
	// Experimental.
	DependsOn *[]cdktf.ITerraformDependable `field:"optional" json:"dependsOn" yaml:"dependsOn"`
	// Experimental.
	ForEach cdktf.ITerraformIterator `field:"optional" json:"forEach" yaml:"forEach"`
	// Experimental.
	Lifecycle *cdktf.TerraformResourceLifecycle `field:"optional" json:"lifecycle" yaml:"lifecycle"`
	// Experimental.
	Provider cdktf.TerraformProvider `field:"optional" json:"provider" yaml:"provider"`
	// Experimental.
	Provisioners *[]interface{} `field:"optional" json:"provisioners" yaml:"provisioners"`
	// The MySQL, PostgreSQL or SQL Server (beta) version to use.
	//
	// Supported values include MYSQL_5_6, MYSQL_5_7, MYSQL_8_0, POSTGRES_9_6, POSTGRES_10, POSTGRES_11, POSTGRES_12, POSTGRES_13, POSTGRES_14, POSTGRES_15, SQLSERVER_2017_STANDARD, SQLSERVER_2017_ENTERPRISE, SQLSERVER_2017_EXPRESS, SQLSERVER_2017_WEB. Database Version Policies includes an up-to-date reference of supported versions.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#database_version SqlDatabaseInstance#database_version}
	DatabaseVersion *string `field:"required" json:"databaseVersion" yaml:"databaseVersion"`
	// clone block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#clone SqlDatabaseInstance#clone}
	Clone *SqlDatabaseInstanceClone `field:"optional" json:"clone" yaml:"clone"`
	// Used to block Terraform from deleting a SQL Instance. Defaults to true.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#deletion_protection SqlDatabaseInstance#deletion_protection}
	DeletionProtection interface{} `field:"optional" json:"deletionProtection" yaml:"deletionProtection"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#encryption_key_name SqlDatabaseInstance#encryption_key_name}.
	EncryptionKeyName *string `field:"optional" json:"encryptionKeyName" yaml:"encryptionKeyName"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#id SqlDatabaseInstance#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.
	Id *string `field:"optional" json:"id" yaml:"id"`
	// The type of the instance. The valid values are:- 'SQL_INSTANCE_TYPE_UNSPECIFIED', 'CLOUD_SQL_INSTANCE', 'ON_PREMISES_INSTANCE' and 'READ_REPLICA_INSTANCE'.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#instance_type SqlDatabaseInstance#instance_type}
	InstanceType *string `field:"optional" json:"instanceType" yaml:"instanceType"`
	// Maintenance version.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#maintenance_version SqlDatabaseInstance#maintenance_version}
	MaintenanceVersion *string `field:"optional" json:"maintenanceVersion" yaml:"maintenanceVersion"`
	// The name of the instance that will act as the master in the replication setup.
	//
	// Note, this requires the master to have binary_log_enabled set, as well as existing backups.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#master_instance_name SqlDatabaseInstance#master_instance_name}
	MasterInstanceName *string `field:"optional" json:"masterInstanceName" yaml:"masterInstanceName"`
	// The name of the instance.
	//
	// If the name is left blank, Terraform will randomly generate one when the instance is first created. This is done because after a name is used, it cannot be reused for up to one week.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#name SqlDatabaseInstance#name}
	Name *string `field:"optional" json:"name" yaml:"name"`
	// The ID of the project in which the resource belongs.
	//
	// If it is not provided, the provider project is used.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#project SqlDatabaseInstance#project}
	Project *string `field:"optional" json:"project" yaml:"project"`
	// The region the instance will sit in.
	//
	// Note, Cloud SQL is not available in all regions. A valid region must be provided to use this resource. If a region is not provided in the resource definition, the provider region will be used instead, but this will be an apply-time error for instances if the provider region is not supported with Cloud SQL. If you choose not to provide the region argument for this resource, make sure you understand this.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#region SqlDatabaseInstance#region}
	Region *string `field:"optional" json:"region" yaml:"region"`
	// replica_configuration block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#replica_configuration SqlDatabaseInstance#replica_configuration}
	ReplicaConfiguration *SqlDatabaseInstanceReplicaConfiguration `field:"optional" json:"replicaConfiguration" yaml:"replicaConfiguration"`
	// restore_backup_context block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#restore_backup_context SqlDatabaseInstance#restore_backup_context}
	RestoreBackupContext *SqlDatabaseInstanceRestoreBackupContext `field:"optional" json:"restoreBackupContext" yaml:"restoreBackupContext"`
	// Initial root password. Required for MS SQL Server.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#root_password SqlDatabaseInstance#root_password}
	RootPassword *string `field:"optional" json:"rootPassword" yaml:"rootPassword"`
	// settings block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#settings SqlDatabaseInstance#settings}
	Settings *SqlDatabaseInstanceSettings `field:"optional" json:"settings" yaml:"settings"`
	// timeouts block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#timeouts SqlDatabaseInstance#timeouts}
	Timeouts *SqlDatabaseInstanceTimeouts `field:"optional" json:"timeouts" yaml:"timeouts"`
}

type SqlDatabaseInstanceIpAddress

type SqlDatabaseInstanceIpAddress struct {
}

type SqlDatabaseInstanceIpAddressList

type SqlDatabaseInstanceIpAddressList interface {
	cdktf.ComplexList
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	// The attribute on the parent resource this class is referencing.
	TerraformAttribute() *string
	SetTerraformAttribute(val *string)
	// The parent resource.
	TerraformResource() cdktf.IInterpolatingParent
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// whether the list is wrapping a set (will add tolist() to be able to access an item via an index).
	WrapsSet() *bool
	SetWrapsSet(val *bool)
	// Experimental.
	ComputeFqn() *string
	Get(index *float64) SqlDatabaseInstanceIpAddressOutputReference
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewSqlDatabaseInstanceIpAddressList

func NewSqlDatabaseInstanceIpAddressList(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, wrapsSet *bool) SqlDatabaseInstanceIpAddressList

type SqlDatabaseInstanceIpAddressOutputReference

type SqlDatabaseInstanceIpAddressOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() *SqlDatabaseInstanceIpAddress
	SetInternalValue(val *SqlDatabaseInstanceIpAddress)
	IpAddress() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	TimeToRetire() *string
	Type() *string
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewSqlDatabaseInstanceIpAddressOutputReference

func NewSqlDatabaseInstanceIpAddressOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, complexObjectIndex *float64, complexObjectIsFromSet *bool) SqlDatabaseInstanceIpAddressOutputReference

type SqlDatabaseInstanceReplicaConfiguration

type SqlDatabaseInstanceReplicaConfiguration struct {
	// PEM representation of the trusted CA's x509 certificate.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#ca_certificate SqlDatabaseInstance#ca_certificate}
	CaCertificate *string `field:"optional" json:"caCertificate" yaml:"caCertificate"`
	// PEM representation of the replica's x509 certificate.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#client_certificate SqlDatabaseInstance#client_certificate}
	ClientCertificate *string `field:"optional" json:"clientCertificate" yaml:"clientCertificate"`
	// PEM representation of the replica's private key. The corresponding public key in encoded in the client_certificate.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#client_key SqlDatabaseInstance#client_key}
	ClientKey *string `field:"optional" json:"clientKey" yaml:"clientKey"`
	// The number of seconds between connect retries. MySQL's default is 60 seconds.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#connect_retry_interval SqlDatabaseInstance#connect_retry_interval}
	ConnectRetryInterval *float64 `field:"optional" json:"connectRetryInterval" yaml:"connectRetryInterval"`
	// Path to a SQL file in Google Cloud Storage from which replica instances are created. Format is gs://bucket/filename.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#dump_file_path SqlDatabaseInstance#dump_file_path}
	DumpFilePath *string `field:"optional" json:"dumpFilePath" yaml:"dumpFilePath"`
	// Specifies if the replica is the failover target.
	//
	// If the field is set to true the replica will be designated as a failover replica. If the master instance fails, the replica instance will be promoted as the new master instance. Not supported for Postgres
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#failover_target SqlDatabaseInstance#failover_target}
	FailoverTarget interface{} `field:"optional" json:"failoverTarget" yaml:"failoverTarget"`
	// Time in ms between replication heartbeats.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#master_heartbeat_period SqlDatabaseInstance#master_heartbeat_period}
	MasterHeartbeatPeriod *float64 `field:"optional" json:"masterHeartbeatPeriod" yaml:"masterHeartbeatPeriod"`
	// Password for the replication connection.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#password SqlDatabaseInstance#password}
	Password *string `field:"optional" json:"password" yaml:"password"`
	// Permissible ciphers for use in SSL encryption.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#ssl_cipher SqlDatabaseInstance#ssl_cipher}
	SslCipher *string `field:"optional" json:"sslCipher" yaml:"sslCipher"`
	// Username for replication connection.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#username SqlDatabaseInstance#username}
	Username *string `field:"optional" json:"username" yaml:"username"`
	// True if the master's common name value is checked during the SSL handshake.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#verify_server_certificate SqlDatabaseInstance#verify_server_certificate}
	VerifyServerCertificate interface{} `field:"optional" json:"verifyServerCertificate" yaml:"verifyServerCertificate"`
}

type SqlDatabaseInstanceReplicaConfigurationOutputReference

type SqlDatabaseInstanceReplicaConfigurationOutputReference interface {
	cdktf.ComplexObject
	CaCertificate() *string
	SetCaCertificate(val *string)
	CaCertificateInput() *string
	ClientCertificate() *string
	SetClientCertificate(val *string)
	ClientCertificateInput() *string
	ClientKey() *string
	SetClientKey(val *string)
	ClientKeyInput() *string
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	ConnectRetryInterval() *float64
	SetConnectRetryInterval(val *float64)
	ConnectRetryIntervalInput() *float64
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	DumpFilePath() *string
	SetDumpFilePath(val *string)
	DumpFilePathInput() *string
	FailoverTarget() interface{}
	SetFailoverTarget(val interface{})
	FailoverTargetInput() interface{}
	// Experimental.
	Fqn() *string
	InternalValue() *SqlDatabaseInstanceReplicaConfiguration
	SetInternalValue(val *SqlDatabaseInstanceReplicaConfiguration)
	MasterHeartbeatPeriod() *float64
	SetMasterHeartbeatPeriod(val *float64)
	MasterHeartbeatPeriodInput() *float64
	Password() *string
	SetPassword(val *string)
	PasswordInput() *string
	SslCipher() *string
	SetSslCipher(val *string)
	SslCipherInput() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	Username() *string
	SetUsername(val *string)
	UsernameInput() *string
	VerifyServerCertificate() interface{}
	SetVerifyServerCertificate(val interface{})
	VerifyServerCertificateInput() interface{}
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetCaCertificate()
	ResetClientCertificate()
	ResetClientKey()
	ResetConnectRetryInterval()
	ResetDumpFilePath()
	ResetFailoverTarget()
	ResetMasterHeartbeatPeriod()
	ResetPassword()
	ResetSslCipher()
	ResetUsername()
	ResetVerifyServerCertificate()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewSqlDatabaseInstanceReplicaConfigurationOutputReference

func NewSqlDatabaseInstanceReplicaConfigurationOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) SqlDatabaseInstanceReplicaConfigurationOutputReference

type SqlDatabaseInstanceRestoreBackupContext

type SqlDatabaseInstanceRestoreBackupContext struct {
	// The ID of the backup run to restore from.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#backup_run_id SqlDatabaseInstance#backup_run_id}
	BackupRunId *float64 `field:"required" json:"backupRunId" yaml:"backupRunId"`
	// The ID of the instance that the backup was taken from.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#instance_id SqlDatabaseInstance#instance_id}
	InstanceId *string `field:"optional" json:"instanceId" yaml:"instanceId"`
	// The full project ID of the source instance.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#project SqlDatabaseInstance#project}
	Project *string `field:"optional" json:"project" yaml:"project"`
}

type SqlDatabaseInstanceRestoreBackupContextOutputReference

type SqlDatabaseInstanceRestoreBackupContextOutputReference interface {
	cdktf.ComplexObject
	BackupRunId() *float64
	SetBackupRunId(val *float64)
	BackupRunIdInput() *float64
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InstanceId() *string
	SetInstanceId(val *string)
	InstanceIdInput() *string
	InternalValue() *SqlDatabaseInstanceRestoreBackupContext
	SetInternalValue(val *SqlDatabaseInstanceRestoreBackupContext)
	Project() *string
	SetProject(val *string)
	ProjectInput() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetInstanceId()
	ResetProject()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewSqlDatabaseInstanceRestoreBackupContextOutputReference

func NewSqlDatabaseInstanceRestoreBackupContextOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) SqlDatabaseInstanceRestoreBackupContextOutputReference

type SqlDatabaseInstanceServerCaCert

type SqlDatabaseInstanceServerCaCert struct {
}

type SqlDatabaseInstanceServerCaCertList

type SqlDatabaseInstanceServerCaCertList interface {
	cdktf.ComplexList
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	// The attribute on the parent resource this class is referencing.
	TerraformAttribute() *string
	SetTerraformAttribute(val *string)
	// The parent resource.
	TerraformResource() cdktf.IInterpolatingParent
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// whether the list is wrapping a set (will add tolist() to be able to access an item via an index).
	WrapsSet() *bool
	SetWrapsSet(val *bool)
	// Experimental.
	ComputeFqn() *string
	Get(index *float64) SqlDatabaseInstanceServerCaCertOutputReference
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewSqlDatabaseInstanceServerCaCertList

func NewSqlDatabaseInstanceServerCaCertList(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, wrapsSet *bool) SqlDatabaseInstanceServerCaCertList

type SqlDatabaseInstanceServerCaCertOutputReference

type SqlDatabaseInstanceServerCaCertOutputReference interface {
	cdktf.ComplexObject
	Cert() *string
	CommonName() *string
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	CreateTime() *string
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	ExpirationTime() *string
	// Experimental.
	Fqn() *string
	InternalValue() *SqlDatabaseInstanceServerCaCert
	SetInternalValue(val *SqlDatabaseInstanceServerCaCert)
	Sha1Fingerprint() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewSqlDatabaseInstanceServerCaCertOutputReference

func NewSqlDatabaseInstanceServerCaCertOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, complexObjectIndex *float64, complexObjectIsFromSet *bool) SqlDatabaseInstanceServerCaCertOutputReference

type SqlDatabaseInstanceSettings

type SqlDatabaseInstanceSettings struct {
	// The machine type to use.
	//
	// See tiers for more details and supported versions. Postgres supports only shared-core machine types, and custom machine types such as db-custom-2-13312. See the Custom Machine Type Documentation to learn about specifying custom machine types.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#tier SqlDatabaseInstance#tier}
	Tier *string `field:"required" json:"tier" yaml:"tier"`
	// This specifies when the instance should be active. Can be either ALWAYS, NEVER or ON_DEMAND.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#activation_policy SqlDatabaseInstance#activation_policy}
	ActivationPolicy *string `field:"optional" json:"activationPolicy" yaml:"activationPolicy"`
	// active_directory_config block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#active_directory_config SqlDatabaseInstance#active_directory_config}
	ActiveDirectoryConfig *SqlDatabaseInstanceSettingsActiveDirectoryConfig `field:"optional" json:"activeDirectoryConfig" yaml:"activeDirectoryConfig"`
	// advanced_machine_features block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#advanced_machine_features SqlDatabaseInstance#advanced_machine_features}
	AdvancedMachineFeatures *SqlDatabaseInstanceSettingsAdvancedMachineFeatures `field:"optional" json:"advancedMachineFeatures" yaml:"advancedMachineFeatures"`
	// The availability type of the Cloud SQL instance, high availability (REGIONAL) or single zone (ZONAL).
	//
	// For all instances, ensure that
	// settings.backup_configuration.enabled is set to true.
	// For MySQL instances, ensure that settings.backup_configuration.binary_log_enabled is set to true.
	// For Postgres instances, ensure that settings.backup_configuration.point_in_time_recovery_enabled
	// is set to true. Defaults to ZONAL.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#availability_type SqlDatabaseInstance#availability_type}
	AvailabilityType *string `field:"optional" json:"availabilityType" yaml:"availabilityType"`
	// backup_configuration block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#backup_configuration SqlDatabaseInstance#backup_configuration}
	BackupConfiguration *SqlDatabaseInstanceSettingsBackupConfiguration `field:"optional" json:"backupConfiguration" yaml:"backupConfiguration"`
	// The name of server instance collation.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#collation SqlDatabaseInstance#collation}
	Collation *string `field:"optional" json:"collation" yaml:"collation"`
	// Specifies if connections must use Cloud SQL connectors.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#connector_enforcement SqlDatabaseInstance#connector_enforcement}
	ConnectorEnforcement *string `field:"optional" json:"connectorEnforcement" yaml:"connectorEnforcement"`
	// database_flags block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#database_flags SqlDatabaseInstance#database_flags}
	DatabaseFlags interface{} `field:"optional" json:"databaseFlags" yaml:"databaseFlags"`
	// data_cache_config block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#data_cache_config SqlDatabaseInstance#data_cache_config}
	DataCacheConfig *SqlDatabaseInstanceSettingsDataCacheConfig `field:"optional" json:"dataCacheConfig" yaml:"dataCacheConfig"`
	// Configuration to protect against accidental instance deletion.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#deletion_protection_enabled SqlDatabaseInstance#deletion_protection_enabled}
	DeletionProtectionEnabled interface{} `field:"optional" json:"deletionProtectionEnabled" yaml:"deletionProtectionEnabled"`
	// deny_maintenance_period block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#deny_maintenance_period SqlDatabaseInstance#deny_maintenance_period}
	DenyMaintenancePeriod *SqlDatabaseInstanceSettingsDenyMaintenancePeriod `field:"optional" json:"denyMaintenancePeriod" yaml:"denyMaintenancePeriod"`
	// Enables auto-resizing of the storage size. Defaults to true.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#disk_autoresize SqlDatabaseInstance#disk_autoresize}
	DiskAutoresize interface{} `field:"optional" json:"diskAutoresize" yaml:"diskAutoresize"`
	// The maximum size, in GB, to which storage capacity can be automatically increased.
	//
	// The default value is 0, which specifies that there is no limit.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#disk_autoresize_limit SqlDatabaseInstance#disk_autoresize_limit}
	DiskAutoresizeLimit *float64 `field:"optional" json:"diskAutoresizeLimit" yaml:"diskAutoresizeLimit"`
	// The size of data disk, in GB.
	//
	// Size of a running instance cannot be reduced but can be increased. The minimum value is 10GB.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#disk_size SqlDatabaseInstance#disk_size}
	DiskSize *float64 `field:"optional" json:"diskSize" yaml:"diskSize"`
	// The type of data disk: PD_SSD or PD_HDD. Defaults to PD_SSD.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#disk_type SqlDatabaseInstance#disk_type}
	DiskType *string `field:"optional" json:"diskType" yaml:"diskType"`
	// The edition of the instance, can be ENTERPRISE or ENTERPRISE_PLUS.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#edition SqlDatabaseInstance#edition}
	Edition *string `field:"optional" json:"edition" yaml:"edition"`
	// insights_config block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#insights_config SqlDatabaseInstance#insights_config}
	InsightsConfig *SqlDatabaseInstanceSettingsInsightsConfig `field:"optional" json:"insightsConfig" yaml:"insightsConfig"`
	// ip_configuration block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#ip_configuration SqlDatabaseInstance#ip_configuration}
	IpConfiguration *SqlDatabaseInstanceSettingsIpConfiguration `field:"optional" json:"ipConfiguration" yaml:"ipConfiguration"`
	// location_preference block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#location_preference SqlDatabaseInstance#location_preference}
	LocationPreference *SqlDatabaseInstanceSettingsLocationPreference `field:"optional" json:"locationPreference" yaml:"locationPreference"`
	// maintenance_window block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#maintenance_window SqlDatabaseInstance#maintenance_window}
	MaintenanceWindow *SqlDatabaseInstanceSettingsMaintenanceWindow `field:"optional" json:"maintenanceWindow" yaml:"maintenanceWindow"`
	// password_validation_policy block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#password_validation_policy SqlDatabaseInstance#password_validation_policy}
	PasswordValidationPolicy *SqlDatabaseInstanceSettingsPasswordValidationPolicy `field:"optional" json:"passwordValidationPolicy" yaml:"passwordValidationPolicy"`
	// Pricing plan for this instance, can only be PER_USE.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#pricing_plan SqlDatabaseInstance#pricing_plan}
	PricingPlan *string `field:"optional" json:"pricingPlan" yaml:"pricingPlan"`
	// sql_server_audit_config block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#sql_server_audit_config SqlDatabaseInstance#sql_server_audit_config}
	SqlServerAuditConfig *SqlDatabaseInstanceSettingsSqlServerAuditConfig `field:"optional" json:"sqlServerAuditConfig" yaml:"sqlServerAuditConfig"`
	// The time_zone to be used by the database engine (supported only for SQL Server), in SQL Server timezone format.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#time_zone SqlDatabaseInstance#time_zone}
	TimeZone *string `field:"optional" json:"timeZone" yaml:"timeZone"`
	// A set of key/value user label pairs to assign to the instance.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#user_labels SqlDatabaseInstance#user_labels}
	UserLabels *map[string]*string `field:"optional" json:"userLabels" yaml:"userLabels"`
}

type SqlDatabaseInstanceSettingsActiveDirectoryConfig

type SqlDatabaseInstanceSettingsActiveDirectoryConfig struct {
	// Domain name of the Active Directory for SQL Server (e.g., mydomain.com).
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#domain SqlDatabaseInstance#domain}
	Domain *string `field:"required" json:"domain" yaml:"domain"`
}

type SqlDatabaseInstanceSettingsActiveDirectoryConfigOutputReference

type SqlDatabaseInstanceSettingsActiveDirectoryConfigOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	Domain() *string
	SetDomain(val *string)
	DomainInput() *string
	// Experimental.
	Fqn() *string
	InternalValue() *SqlDatabaseInstanceSettingsActiveDirectoryConfig
	SetInternalValue(val *SqlDatabaseInstanceSettingsActiveDirectoryConfig)
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewSqlDatabaseInstanceSettingsActiveDirectoryConfigOutputReference

func NewSqlDatabaseInstanceSettingsActiveDirectoryConfigOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) SqlDatabaseInstanceSettingsActiveDirectoryConfigOutputReference

type SqlDatabaseInstanceSettingsAdvancedMachineFeatures

type SqlDatabaseInstanceSettingsAdvancedMachineFeatures struct {
	// The number of threads per physical core. Can be 1 or 2.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#threads_per_core SqlDatabaseInstance#threads_per_core}
	ThreadsPerCore *float64 `field:"optional" json:"threadsPerCore" yaml:"threadsPerCore"`
}

type SqlDatabaseInstanceSettingsAdvancedMachineFeaturesOutputReference

type SqlDatabaseInstanceSettingsAdvancedMachineFeaturesOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() *SqlDatabaseInstanceSettingsAdvancedMachineFeatures
	SetInternalValue(val *SqlDatabaseInstanceSettingsAdvancedMachineFeatures)
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	ThreadsPerCore() *float64
	SetThreadsPerCore(val *float64)
	ThreadsPerCoreInput() *float64
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetThreadsPerCore()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewSqlDatabaseInstanceSettingsAdvancedMachineFeaturesOutputReference

func NewSqlDatabaseInstanceSettingsAdvancedMachineFeaturesOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) SqlDatabaseInstanceSettingsAdvancedMachineFeaturesOutputReference

type SqlDatabaseInstanceSettingsBackupConfiguration

type SqlDatabaseInstanceSettingsBackupConfiguration struct {
	// backup_retention_settings block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#backup_retention_settings SqlDatabaseInstance#backup_retention_settings}
	BackupRetentionSettings *SqlDatabaseInstanceSettingsBackupConfigurationBackupRetentionSettings `field:"optional" json:"backupRetentionSettings" yaml:"backupRetentionSettings"`
	// True if binary logging is enabled.
	//
	// If settings.backup_configuration.enabled is false, this must be as well. Can only be used with MySQL.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#binary_log_enabled SqlDatabaseInstance#binary_log_enabled}
	BinaryLogEnabled interface{} `field:"optional" json:"binaryLogEnabled" yaml:"binaryLogEnabled"`
	// True if backup configuration is enabled.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#enabled SqlDatabaseInstance#enabled}
	Enabled interface{} `field:"optional" json:"enabled" yaml:"enabled"`
	// Location of the backup configuration.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#location SqlDatabaseInstance#location}
	Location *string `field:"optional" json:"location" yaml:"location"`
	// True if Point-in-time recovery is enabled.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#point_in_time_recovery_enabled SqlDatabaseInstance#point_in_time_recovery_enabled}
	PointInTimeRecoveryEnabled interface{} `field:"optional" json:"pointInTimeRecoveryEnabled" yaml:"pointInTimeRecoveryEnabled"`
	// HH:MM format time indicating when backup configuration starts.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#start_time SqlDatabaseInstance#start_time}
	StartTime *string `field:"optional" json:"startTime" yaml:"startTime"`
	// The number of days of transaction logs we retain for point in time restore, from 1-7.
	//
	// (For PostgreSQL Enterprise Plus instances, from 1 to 35.)
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#transaction_log_retention_days SqlDatabaseInstance#transaction_log_retention_days}
	TransactionLogRetentionDays *float64 `field:"optional" json:"transactionLogRetentionDays" yaml:"transactionLogRetentionDays"`
}

type SqlDatabaseInstanceSettingsBackupConfigurationBackupRetentionSettings

type SqlDatabaseInstanceSettingsBackupConfigurationBackupRetentionSettings struct {
	// Number of backups to retain.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#retained_backups SqlDatabaseInstance#retained_backups}
	RetainedBackups *float64 `field:"required" json:"retainedBackups" yaml:"retainedBackups"`
	// The unit that 'retainedBackups' represents. Defaults to COUNT.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#retention_unit SqlDatabaseInstance#retention_unit}
	RetentionUnit *string `field:"optional" json:"retentionUnit" yaml:"retentionUnit"`
}

type SqlDatabaseInstanceSettingsBackupConfigurationBackupRetentionSettingsOutputReference

type SqlDatabaseInstanceSettingsBackupConfigurationBackupRetentionSettingsOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() *SqlDatabaseInstanceSettingsBackupConfigurationBackupRetentionSettings
	SetInternalValue(val *SqlDatabaseInstanceSettingsBackupConfigurationBackupRetentionSettings)
	RetainedBackups() *float64
	SetRetainedBackups(val *float64)
	RetainedBackupsInput() *float64
	RetentionUnit() *string
	SetRetentionUnit(val *string)
	RetentionUnitInput() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetRetentionUnit()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewSqlDatabaseInstanceSettingsBackupConfigurationBackupRetentionSettingsOutputReference

func NewSqlDatabaseInstanceSettingsBackupConfigurationBackupRetentionSettingsOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) SqlDatabaseInstanceSettingsBackupConfigurationBackupRetentionSettingsOutputReference

type SqlDatabaseInstanceSettingsBackupConfigurationOutputReference

type SqlDatabaseInstanceSettingsBackupConfigurationOutputReference interface {
	cdktf.ComplexObject
	BackupRetentionSettings() SqlDatabaseInstanceSettingsBackupConfigurationBackupRetentionSettingsOutputReference
	BackupRetentionSettingsInput() *SqlDatabaseInstanceSettingsBackupConfigurationBackupRetentionSettings
	BinaryLogEnabled() interface{}
	SetBinaryLogEnabled(val interface{})
	BinaryLogEnabledInput() interface{}
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	Enabled() interface{}
	SetEnabled(val interface{})
	EnabledInput() interface{}
	// Experimental.
	Fqn() *string
	InternalValue() *SqlDatabaseInstanceSettingsBackupConfiguration
	SetInternalValue(val *SqlDatabaseInstanceSettingsBackupConfiguration)
	Location() *string
	SetLocation(val *string)
	LocationInput() *string
	PointInTimeRecoveryEnabled() interface{}
	SetPointInTimeRecoveryEnabled(val interface{})
	PointInTimeRecoveryEnabledInput() interface{}
	StartTime() *string
	SetStartTime(val *string)
	StartTimeInput() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	TransactionLogRetentionDays() *float64
	SetTransactionLogRetentionDays(val *float64)
	TransactionLogRetentionDaysInput() *float64
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	PutBackupRetentionSettings(value *SqlDatabaseInstanceSettingsBackupConfigurationBackupRetentionSettings)
	ResetBackupRetentionSettings()
	ResetBinaryLogEnabled()
	ResetEnabled()
	ResetLocation()
	ResetPointInTimeRecoveryEnabled()
	ResetStartTime()
	ResetTransactionLogRetentionDays()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewSqlDatabaseInstanceSettingsBackupConfigurationOutputReference

func NewSqlDatabaseInstanceSettingsBackupConfigurationOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) SqlDatabaseInstanceSettingsBackupConfigurationOutputReference

type SqlDatabaseInstanceSettingsDataCacheConfig added in v8.0.5

type SqlDatabaseInstanceSettingsDataCacheConfig struct {
	// Whether data cache is enabled for the instance.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#data_cache_enabled SqlDatabaseInstance#data_cache_enabled}
	DataCacheEnabled interface{} `field:"optional" json:"dataCacheEnabled" yaml:"dataCacheEnabled"`
}

type SqlDatabaseInstanceSettingsDataCacheConfigOutputReference added in v8.0.5

type SqlDatabaseInstanceSettingsDataCacheConfigOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	DataCacheEnabled() interface{}
	SetDataCacheEnabled(val interface{})
	DataCacheEnabledInput() interface{}
	// Experimental.
	Fqn() *string
	InternalValue() *SqlDatabaseInstanceSettingsDataCacheConfig
	SetInternalValue(val *SqlDatabaseInstanceSettingsDataCacheConfig)
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetDataCacheEnabled()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewSqlDatabaseInstanceSettingsDataCacheConfigOutputReference added in v8.0.5

func NewSqlDatabaseInstanceSettingsDataCacheConfigOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) SqlDatabaseInstanceSettingsDataCacheConfigOutputReference

type SqlDatabaseInstanceSettingsDatabaseFlags

type SqlDatabaseInstanceSettingsDatabaseFlags struct {
	// Name of the flag.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#name SqlDatabaseInstance#name}
	Name *string `field:"required" json:"name" yaml:"name"`
	// Value of the flag.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#value SqlDatabaseInstance#value}
	Value *string `field:"required" json:"value" yaml:"value"`
}

type SqlDatabaseInstanceSettingsDatabaseFlagsList

type SqlDatabaseInstanceSettingsDatabaseFlagsList interface {
	cdktf.ComplexList
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() interface{}
	SetInternalValue(val interface{})
	// The attribute on the parent resource this class is referencing.
	TerraformAttribute() *string
	SetTerraformAttribute(val *string)
	// The parent resource.
	TerraformResource() cdktf.IInterpolatingParent
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// whether the list is wrapping a set (will add tolist() to be able to access an item via an index).
	WrapsSet() *bool
	SetWrapsSet(val *bool)
	// Experimental.
	ComputeFqn() *string
	Get(index *float64) SqlDatabaseInstanceSettingsDatabaseFlagsOutputReference
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewSqlDatabaseInstanceSettingsDatabaseFlagsList

func NewSqlDatabaseInstanceSettingsDatabaseFlagsList(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, wrapsSet *bool) SqlDatabaseInstanceSettingsDatabaseFlagsList

type SqlDatabaseInstanceSettingsDatabaseFlagsOutputReference

type SqlDatabaseInstanceSettingsDatabaseFlagsOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() interface{}
	SetInternalValue(val interface{})
	Name() *string
	SetName(val *string)
	NameInput() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	Value() *string
	SetValue(val *string)
	ValueInput() *string
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewSqlDatabaseInstanceSettingsDatabaseFlagsOutputReference

func NewSqlDatabaseInstanceSettingsDatabaseFlagsOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, complexObjectIndex *float64, complexObjectIsFromSet *bool) SqlDatabaseInstanceSettingsDatabaseFlagsOutputReference

type SqlDatabaseInstanceSettingsDenyMaintenancePeriod

type SqlDatabaseInstanceSettingsDenyMaintenancePeriod struct {
	// End date before which maintenance will not take place.
	//
	// The date is in format yyyy-mm-dd i.e., 2020-11-01, or mm-dd, i.e., 11-01
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#end_date SqlDatabaseInstance#end_date}
	EndDate *string `field:"required" json:"endDate" yaml:"endDate"`
	// Start date after which maintenance will not take place.
	//
	// The date is in format yyyy-mm-dd i.e., 2020-11-01, or mm-dd, i.e., 11-01
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#start_date SqlDatabaseInstance#start_date}
	StartDate *string `field:"required" json:"startDate" yaml:"startDate"`
	// Time in UTC when the "deny maintenance period" starts on start_date and ends on end_date.
	//
	// The time is in format: HH:mm:SS, i.e., 00:00:00
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#time SqlDatabaseInstance#time}
	Time *string `field:"required" json:"time" yaml:"time"`
}

type SqlDatabaseInstanceSettingsDenyMaintenancePeriodOutputReference

type SqlDatabaseInstanceSettingsDenyMaintenancePeriodOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	EndDate() *string
	SetEndDate(val *string)
	EndDateInput() *string
	// Experimental.
	Fqn() *string
	InternalValue() *SqlDatabaseInstanceSettingsDenyMaintenancePeriod
	SetInternalValue(val *SqlDatabaseInstanceSettingsDenyMaintenancePeriod)
	StartDate() *string
	SetStartDate(val *string)
	StartDateInput() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	Time() *string
	SetTime(val *string)
	TimeInput() *string
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewSqlDatabaseInstanceSettingsDenyMaintenancePeriodOutputReference

func NewSqlDatabaseInstanceSettingsDenyMaintenancePeriodOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) SqlDatabaseInstanceSettingsDenyMaintenancePeriodOutputReference

type SqlDatabaseInstanceSettingsInsightsConfig

type SqlDatabaseInstanceSettingsInsightsConfig struct {
	// True if Query Insights feature is enabled.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#query_insights_enabled SqlDatabaseInstance#query_insights_enabled}
	QueryInsightsEnabled interface{} `field:"optional" json:"queryInsightsEnabled" yaml:"queryInsightsEnabled"`
	// Number of query execution plans captured by Insights per minute for all queries combined.
	//
	// Between 0 and 20. Default to 5.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#query_plans_per_minute SqlDatabaseInstance#query_plans_per_minute}
	QueryPlansPerMinute *float64 `field:"optional" json:"queryPlansPerMinute" yaml:"queryPlansPerMinute"`
	// Maximum query length stored in bytes. Between 256 and 4500. Default to 1024.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#query_string_length SqlDatabaseInstance#query_string_length}
	QueryStringLength *float64 `field:"optional" json:"queryStringLength" yaml:"queryStringLength"`
	// True if Query Insights will record application tags from query when enabled.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#record_application_tags SqlDatabaseInstance#record_application_tags}
	RecordApplicationTags interface{} `field:"optional" json:"recordApplicationTags" yaml:"recordApplicationTags"`
	// True if Query Insights will record client address when enabled.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#record_client_address SqlDatabaseInstance#record_client_address}
	RecordClientAddress interface{} `field:"optional" json:"recordClientAddress" yaml:"recordClientAddress"`
}

type SqlDatabaseInstanceSettingsInsightsConfigOutputReference

type SqlDatabaseInstanceSettingsInsightsConfigOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() *SqlDatabaseInstanceSettingsInsightsConfig
	SetInternalValue(val *SqlDatabaseInstanceSettingsInsightsConfig)
	QueryInsightsEnabled() interface{}
	SetQueryInsightsEnabled(val interface{})
	QueryInsightsEnabledInput() interface{}
	QueryPlansPerMinute() *float64
	SetQueryPlansPerMinute(val *float64)
	QueryPlansPerMinuteInput() *float64
	QueryStringLength() *float64
	SetQueryStringLength(val *float64)
	QueryStringLengthInput() *float64
	RecordApplicationTags() interface{}
	SetRecordApplicationTags(val interface{})
	RecordApplicationTagsInput() interface{}
	RecordClientAddress() interface{}
	SetRecordClientAddress(val interface{})
	RecordClientAddressInput() interface{}
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetQueryInsightsEnabled()
	ResetQueryPlansPerMinute()
	ResetQueryStringLength()
	ResetRecordApplicationTags()
	ResetRecordClientAddress()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewSqlDatabaseInstanceSettingsInsightsConfigOutputReference

func NewSqlDatabaseInstanceSettingsInsightsConfigOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) SqlDatabaseInstanceSettingsInsightsConfigOutputReference

type SqlDatabaseInstanceSettingsIpConfiguration

type SqlDatabaseInstanceSettingsIpConfiguration struct {
	// The name of the allocated ip range for the private ip CloudSQL instance.
	//
	// For example: "google-managed-services-default". If set, the instance ip will be created in the allocated range. The range name must comply with RFC 1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])?.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#allocated_ip_range SqlDatabaseInstance#allocated_ip_range}
	AllocatedIpRange *string `field:"optional" json:"allocatedIpRange" yaml:"allocatedIpRange"`
	// authorized_networks block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#authorized_networks SqlDatabaseInstance#authorized_networks}
	AuthorizedNetworks interface{} `field:"optional" json:"authorizedNetworks" yaml:"authorizedNetworks"`
	// Whether Google Cloud services such as BigQuery are allowed to access data in this Cloud SQL instance over a private IP connection.
	//
	// SQLSERVER database type is not supported.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#enable_private_path_for_google_cloud_services SqlDatabaseInstance#enable_private_path_for_google_cloud_services}
	EnablePrivatePathForGoogleCloudServices interface{} `field:"optional" json:"enablePrivatePathForGoogleCloudServices" yaml:"enablePrivatePathForGoogleCloudServices"`
	// Whether this Cloud SQL instance should be assigned a public IPV4 address.
	//
	// At least ipv4_enabled must be enabled or a private_network must be configured.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#ipv4_enabled SqlDatabaseInstance#ipv4_enabled}
	Ipv4Enabled interface{} `field:"optional" json:"ipv4Enabled" yaml:"ipv4Enabled"`
	// The VPC network from which the Cloud SQL instance is accessible for private IP.
	//
	// For example, projects/myProject/global/networks/default. Specifying a network enables private IP. At least ipv4_enabled must be enabled or a private_network must be configured. This setting can be updated, but it cannot be removed after it is set.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#private_network SqlDatabaseInstance#private_network}
	PrivateNetwork *string `field:"optional" json:"privateNetwork" yaml:"privateNetwork"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#require_ssl SqlDatabaseInstance#require_ssl}.
	RequireSsl interface{} `field:"optional" json:"requireSsl" yaml:"requireSsl"`
}

type SqlDatabaseInstanceSettingsIpConfigurationAuthorizedNetworks

type SqlDatabaseInstanceSettingsIpConfigurationAuthorizedNetworks struct {
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#value SqlDatabaseInstance#value}.
	Value *string `field:"required" json:"value" yaml:"value"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#expiration_time SqlDatabaseInstance#expiration_time}.
	ExpirationTime *string `field:"optional" json:"expirationTime" yaml:"expirationTime"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#name SqlDatabaseInstance#name}.
	Name *string `field:"optional" json:"name" yaml:"name"`
}

type SqlDatabaseInstanceSettingsIpConfigurationAuthorizedNetworksList

type SqlDatabaseInstanceSettingsIpConfigurationAuthorizedNetworksList interface {
	cdktf.ComplexList
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() interface{}
	SetInternalValue(val interface{})
	// The attribute on the parent resource this class is referencing.
	TerraformAttribute() *string
	SetTerraformAttribute(val *string)
	// The parent resource.
	TerraformResource() cdktf.IInterpolatingParent
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// whether the list is wrapping a set (will add tolist() to be able to access an item via an index).
	WrapsSet() *bool
	SetWrapsSet(val *bool)
	// Experimental.
	ComputeFqn() *string
	Get(index *float64) SqlDatabaseInstanceSettingsIpConfigurationAuthorizedNetworksOutputReference
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewSqlDatabaseInstanceSettingsIpConfigurationAuthorizedNetworksList

func NewSqlDatabaseInstanceSettingsIpConfigurationAuthorizedNetworksList(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, wrapsSet *bool) SqlDatabaseInstanceSettingsIpConfigurationAuthorizedNetworksList

type SqlDatabaseInstanceSettingsIpConfigurationAuthorizedNetworksOutputReference

type SqlDatabaseInstanceSettingsIpConfigurationAuthorizedNetworksOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	ExpirationTime() *string
	SetExpirationTime(val *string)
	ExpirationTimeInput() *string
	// Experimental.
	Fqn() *string
	InternalValue() interface{}
	SetInternalValue(val interface{})
	Name() *string
	SetName(val *string)
	NameInput() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	Value() *string
	SetValue(val *string)
	ValueInput() *string
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetExpirationTime()
	ResetName()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewSqlDatabaseInstanceSettingsIpConfigurationAuthorizedNetworksOutputReference

func NewSqlDatabaseInstanceSettingsIpConfigurationAuthorizedNetworksOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, complexObjectIndex *float64, complexObjectIsFromSet *bool) SqlDatabaseInstanceSettingsIpConfigurationAuthorizedNetworksOutputReference

type SqlDatabaseInstanceSettingsIpConfigurationOutputReference

type SqlDatabaseInstanceSettingsIpConfigurationOutputReference interface {
	cdktf.ComplexObject
	AllocatedIpRange() *string
	SetAllocatedIpRange(val *string)
	AllocatedIpRangeInput() *string
	AuthorizedNetworks() SqlDatabaseInstanceSettingsIpConfigurationAuthorizedNetworksList
	AuthorizedNetworksInput() interface{}
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	EnablePrivatePathForGoogleCloudServices() interface{}
	SetEnablePrivatePathForGoogleCloudServices(val interface{})
	EnablePrivatePathForGoogleCloudServicesInput() interface{}
	// Experimental.
	Fqn() *string
	InternalValue() *SqlDatabaseInstanceSettingsIpConfiguration
	SetInternalValue(val *SqlDatabaseInstanceSettingsIpConfiguration)
	Ipv4Enabled() interface{}
	SetIpv4Enabled(val interface{})
	Ipv4EnabledInput() interface{}
	PrivateNetwork() *string
	SetPrivateNetwork(val *string)
	PrivateNetworkInput() *string
	RequireSsl() interface{}
	SetRequireSsl(val interface{})
	RequireSslInput() interface{}
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	PutAuthorizedNetworks(value interface{})
	ResetAllocatedIpRange()
	ResetAuthorizedNetworks()
	ResetEnablePrivatePathForGoogleCloudServices()
	ResetIpv4Enabled()
	ResetPrivateNetwork()
	ResetRequireSsl()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewSqlDatabaseInstanceSettingsIpConfigurationOutputReference

func NewSqlDatabaseInstanceSettingsIpConfigurationOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) SqlDatabaseInstanceSettingsIpConfigurationOutputReference

type SqlDatabaseInstanceSettingsLocationPreference

type SqlDatabaseInstanceSettingsLocationPreference struct {
	// A Google App Engine application whose zone to remain in. Must be in the same region as this instance.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#follow_gae_application SqlDatabaseInstance#follow_gae_application}
	FollowGaeApplication *string `field:"optional" json:"followGaeApplication" yaml:"followGaeApplication"`
	// The preferred Compute Engine zone for the secondary/failover.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#secondary_zone SqlDatabaseInstance#secondary_zone}
	SecondaryZone *string `field:"optional" json:"secondaryZone" yaml:"secondaryZone"`
	// The preferred compute engine zone.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#zone SqlDatabaseInstance#zone}
	Zone *string `field:"optional" json:"zone" yaml:"zone"`
}

type SqlDatabaseInstanceSettingsLocationPreferenceOutputReference

type SqlDatabaseInstanceSettingsLocationPreferenceOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	FollowGaeApplication() *string
	SetFollowGaeApplication(val *string)
	FollowGaeApplicationInput() *string
	// Experimental.
	Fqn() *string
	InternalValue() *SqlDatabaseInstanceSettingsLocationPreference
	SetInternalValue(val *SqlDatabaseInstanceSettingsLocationPreference)
	SecondaryZone() *string
	SetSecondaryZone(val *string)
	SecondaryZoneInput() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	Zone() *string
	SetZone(val *string)
	ZoneInput() *string
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetFollowGaeApplication()
	ResetSecondaryZone()
	ResetZone()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewSqlDatabaseInstanceSettingsLocationPreferenceOutputReference

func NewSqlDatabaseInstanceSettingsLocationPreferenceOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) SqlDatabaseInstanceSettingsLocationPreferenceOutputReference

type SqlDatabaseInstanceSettingsMaintenanceWindow

type SqlDatabaseInstanceSettingsMaintenanceWindow struct {
	// Day of week (1-7), starting on Monday.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#day SqlDatabaseInstance#day}
	Day *float64 `field:"optional" json:"day" yaml:"day"`
	// Hour of day (0-23), ignored if day not set.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#hour SqlDatabaseInstance#hour}
	Hour *float64 `field:"optional" json:"hour" yaml:"hour"`
	// Receive updates earlier (canary) or later (stable).
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#update_track SqlDatabaseInstance#update_track}
	UpdateTrack *string `field:"optional" json:"updateTrack" yaml:"updateTrack"`
}

type SqlDatabaseInstanceSettingsMaintenanceWindowOutputReference

type SqlDatabaseInstanceSettingsMaintenanceWindowOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	Day() *float64
	SetDay(val *float64)
	DayInput() *float64
	// Experimental.
	Fqn() *string
	Hour() *float64
	SetHour(val *float64)
	HourInput() *float64
	InternalValue() *SqlDatabaseInstanceSettingsMaintenanceWindow
	SetInternalValue(val *SqlDatabaseInstanceSettingsMaintenanceWindow)
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	UpdateTrack() *string
	SetUpdateTrack(val *string)
	UpdateTrackInput() *string
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetDay()
	ResetHour()
	ResetUpdateTrack()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewSqlDatabaseInstanceSettingsMaintenanceWindowOutputReference

func NewSqlDatabaseInstanceSettingsMaintenanceWindowOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) SqlDatabaseInstanceSettingsMaintenanceWindowOutputReference

type SqlDatabaseInstanceSettingsOutputReference

type SqlDatabaseInstanceSettingsOutputReference interface {
	cdktf.ComplexObject
	ActivationPolicy() *string
	SetActivationPolicy(val *string)
	ActivationPolicyInput() *string
	ActiveDirectoryConfig() SqlDatabaseInstanceSettingsActiveDirectoryConfigOutputReference
	ActiveDirectoryConfigInput() *SqlDatabaseInstanceSettingsActiveDirectoryConfig
	AdvancedMachineFeatures() SqlDatabaseInstanceSettingsAdvancedMachineFeaturesOutputReference
	AdvancedMachineFeaturesInput() *SqlDatabaseInstanceSettingsAdvancedMachineFeatures
	AvailabilityType() *string
	SetAvailabilityType(val *string)
	AvailabilityTypeInput() *string
	BackupConfiguration() SqlDatabaseInstanceSettingsBackupConfigurationOutputReference
	BackupConfigurationInput() *SqlDatabaseInstanceSettingsBackupConfiguration
	Collation() *string
	SetCollation(val *string)
	CollationInput() *string
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	ConnectorEnforcement() *string
	SetConnectorEnforcement(val *string)
	ConnectorEnforcementInput() *string
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	DatabaseFlags() SqlDatabaseInstanceSettingsDatabaseFlagsList
	DatabaseFlagsInput() interface{}
	DataCacheConfig() SqlDatabaseInstanceSettingsDataCacheConfigOutputReference
	DataCacheConfigInput() *SqlDatabaseInstanceSettingsDataCacheConfig
	DeletionProtectionEnabled() interface{}
	SetDeletionProtectionEnabled(val interface{})
	DeletionProtectionEnabledInput() interface{}
	DenyMaintenancePeriod() SqlDatabaseInstanceSettingsDenyMaintenancePeriodOutputReference
	DenyMaintenancePeriodInput() *SqlDatabaseInstanceSettingsDenyMaintenancePeriod
	DiskAutoresize() interface{}
	SetDiskAutoresize(val interface{})
	DiskAutoresizeInput() interface{}
	DiskAutoresizeLimit() *float64
	SetDiskAutoresizeLimit(val *float64)
	DiskAutoresizeLimitInput() *float64
	DiskSize() *float64
	SetDiskSize(val *float64)
	DiskSizeInput() *float64
	DiskType() *string
	SetDiskType(val *string)
	DiskTypeInput() *string
	Edition() *string
	SetEdition(val *string)
	EditionInput() *string
	// Experimental.
	Fqn() *string
	InsightsConfig() SqlDatabaseInstanceSettingsInsightsConfigOutputReference
	InsightsConfigInput() *SqlDatabaseInstanceSettingsInsightsConfig
	InternalValue() *SqlDatabaseInstanceSettings
	SetInternalValue(val *SqlDatabaseInstanceSettings)
	IpConfiguration() SqlDatabaseInstanceSettingsIpConfigurationOutputReference
	IpConfigurationInput() *SqlDatabaseInstanceSettingsIpConfiguration
	LocationPreference() SqlDatabaseInstanceSettingsLocationPreferenceOutputReference
	LocationPreferenceInput() *SqlDatabaseInstanceSettingsLocationPreference
	MaintenanceWindow() SqlDatabaseInstanceSettingsMaintenanceWindowOutputReference
	MaintenanceWindowInput() *SqlDatabaseInstanceSettingsMaintenanceWindow
	PasswordValidationPolicy() SqlDatabaseInstanceSettingsPasswordValidationPolicyOutputReference
	PasswordValidationPolicyInput() *SqlDatabaseInstanceSettingsPasswordValidationPolicy
	PricingPlan() *string
	SetPricingPlan(val *string)
	PricingPlanInput() *string
	SqlServerAuditConfig() SqlDatabaseInstanceSettingsSqlServerAuditConfigOutputReference
	SqlServerAuditConfigInput() *SqlDatabaseInstanceSettingsSqlServerAuditConfig
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	Tier() *string
	SetTier(val *string)
	TierInput() *string
	TimeZone() *string
	SetTimeZone(val *string)
	TimeZoneInput() *string
	UserLabels() *map[string]*string
	SetUserLabels(val *map[string]*string)
	UserLabelsInput() *map[string]*string
	Version() *float64
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	PutActiveDirectoryConfig(value *SqlDatabaseInstanceSettingsActiveDirectoryConfig)
	PutAdvancedMachineFeatures(value *SqlDatabaseInstanceSettingsAdvancedMachineFeatures)
	PutBackupConfiguration(value *SqlDatabaseInstanceSettingsBackupConfiguration)
	PutDatabaseFlags(value interface{})
	PutDataCacheConfig(value *SqlDatabaseInstanceSettingsDataCacheConfig)
	PutDenyMaintenancePeriod(value *SqlDatabaseInstanceSettingsDenyMaintenancePeriod)
	PutInsightsConfig(value *SqlDatabaseInstanceSettingsInsightsConfig)
	PutIpConfiguration(value *SqlDatabaseInstanceSettingsIpConfiguration)
	PutLocationPreference(value *SqlDatabaseInstanceSettingsLocationPreference)
	PutMaintenanceWindow(value *SqlDatabaseInstanceSettingsMaintenanceWindow)
	PutPasswordValidationPolicy(value *SqlDatabaseInstanceSettingsPasswordValidationPolicy)
	PutSqlServerAuditConfig(value *SqlDatabaseInstanceSettingsSqlServerAuditConfig)
	ResetActivationPolicy()
	ResetActiveDirectoryConfig()
	ResetAdvancedMachineFeatures()
	ResetAvailabilityType()
	ResetBackupConfiguration()
	ResetCollation()
	ResetConnectorEnforcement()
	ResetDatabaseFlags()
	ResetDataCacheConfig()
	ResetDeletionProtectionEnabled()
	ResetDenyMaintenancePeriod()
	ResetDiskAutoresize()
	ResetDiskAutoresizeLimit()
	ResetDiskSize()
	ResetDiskType()
	ResetEdition()
	ResetInsightsConfig()
	ResetIpConfiguration()
	ResetLocationPreference()
	ResetMaintenanceWindow()
	ResetPasswordValidationPolicy()
	ResetPricingPlan()
	ResetSqlServerAuditConfig()
	ResetTimeZone()
	ResetUserLabels()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewSqlDatabaseInstanceSettingsOutputReference

func NewSqlDatabaseInstanceSettingsOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) SqlDatabaseInstanceSettingsOutputReference

type SqlDatabaseInstanceSettingsPasswordValidationPolicy

type SqlDatabaseInstanceSettingsPasswordValidationPolicy struct {
	// Whether the password policy is enabled or not.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#enable_password_policy SqlDatabaseInstance#enable_password_policy}
	EnablePasswordPolicy interface{} `field:"required" json:"enablePasswordPolicy" yaml:"enablePasswordPolicy"`
	// Password complexity.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#complexity SqlDatabaseInstance#complexity}
	Complexity *string `field:"optional" json:"complexity" yaml:"complexity"`
	// Disallow username as a part of the password.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#disallow_username_substring SqlDatabaseInstance#disallow_username_substring}
	DisallowUsernameSubstring interface{} `field:"optional" json:"disallowUsernameSubstring" yaml:"disallowUsernameSubstring"`
	// Minimum number of characters allowed.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#min_length SqlDatabaseInstance#min_length}
	MinLength *float64 `field:"optional" json:"minLength" yaml:"minLength"`
	// Minimum interval after which the password can be changed. This flag is only supported for PostgresSQL.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#password_change_interval SqlDatabaseInstance#password_change_interval}
	PasswordChangeInterval *string `field:"optional" json:"passwordChangeInterval" yaml:"passwordChangeInterval"`
	// Number of previous passwords that cannot be reused.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#reuse_interval SqlDatabaseInstance#reuse_interval}
	ReuseInterval *float64 `field:"optional" json:"reuseInterval" yaml:"reuseInterval"`
}

type SqlDatabaseInstanceSettingsPasswordValidationPolicyOutputReference

type SqlDatabaseInstanceSettingsPasswordValidationPolicyOutputReference interface {
	cdktf.ComplexObject
	Complexity() *string
	SetComplexity(val *string)
	ComplexityInput() *string
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	DisallowUsernameSubstring() interface{}
	SetDisallowUsernameSubstring(val interface{})
	DisallowUsernameSubstringInput() interface{}
	EnablePasswordPolicy() interface{}
	SetEnablePasswordPolicy(val interface{})
	EnablePasswordPolicyInput() interface{}
	// Experimental.
	Fqn() *string
	InternalValue() *SqlDatabaseInstanceSettingsPasswordValidationPolicy
	SetInternalValue(val *SqlDatabaseInstanceSettingsPasswordValidationPolicy)
	MinLength() *float64
	SetMinLength(val *float64)
	MinLengthInput() *float64
	PasswordChangeInterval() *string
	SetPasswordChangeInterval(val *string)
	PasswordChangeIntervalInput() *string
	ReuseInterval() *float64
	SetReuseInterval(val *float64)
	ReuseIntervalInput() *float64
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetComplexity()
	ResetDisallowUsernameSubstring()
	ResetMinLength()
	ResetPasswordChangeInterval()
	ResetReuseInterval()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewSqlDatabaseInstanceSettingsPasswordValidationPolicyOutputReference

func NewSqlDatabaseInstanceSettingsPasswordValidationPolicyOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) SqlDatabaseInstanceSettingsPasswordValidationPolicyOutputReference

type SqlDatabaseInstanceSettingsSqlServerAuditConfig

type SqlDatabaseInstanceSettingsSqlServerAuditConfig struct {
	// The name of the destination bucket (e.g., gs://mybucket).
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#bucket SqlDatabaseInstance#bucket}
	Bucket *string `field:"optional" json:"bucket" yaml:"bucket"`
	// How long to keep generated audit files.
	//
	// A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s"..
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#retention_interval SqlDatabaseInstance#retention_interval}
	RetentionInterval *string `field:"optional" json:"retentionInterval" yaml:"retentionInterval"`
	// How often to upload generated audit files.
	//
	// A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#upload_interval SqlDatabaseInstance#upload_interval}
	UploadInterval *string `field:"optional" json:"uploadInterval" yaml:"uploadInterval"`
}

type SqlDatabaseInstanceSettingsSqlServerAuditConfigOutputReference

type SqlDatabaseInstanceSettingsSqlServerAuditConfigOutputReference interface {
	cdktf.ComplexObject
	Bucket() *string
	SetBucket(val *string)
	BucketInput() *string
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() *SqlDatabaseInstanceSettingsSqlServerAuditConfig
	SetInternalValue(val *SqlDatabaseInstanceSettingsSqlServerAuditConfig)
	RetentionInterval() *string
	SetRetentionInterval(val *string)
	RetentionIntervalInput() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	UploadInterval() *string
	SetUploadInterval(val *string)
	UploadIntervalInput() *string
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetBucket()
	ResetRetentionInterval()
	ResetUploadInterval()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewSqlDatabaseInstanceSettingsSqlServerAuditConfigOutputReference

func NewSqlDatabaseInstanceSettingsSqlServerAuditConfigOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) SqlDatabaseInstanceSettingsSqlServerAuditConfigOutputReference

type SqlDatabaseInstanceTimeouts

type SqlDatabaseInstanceTimeouts struct {
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#create SqlDatabaseInstance#create}.
	Create *string `field:"optional" json:"create" yaml:"create"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#delete SqlDatabaseInstance#delete}.
	Delete *string `field:"optional" json:"delete" yaml:"delete"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/4.79.0/docs/resources/sql_database_instance#update SqlDatabaseInstance#update}.
	Update *string `field:"optional" json:"update" yaml:"update"`
}

type SqlDatabaseInstanceTimeoutsOutputReference

type SqlDatabaseInstanceTimeoutsOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	Create() *string
	SetCreate(val *string)
	CreateInput() *string
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	Delete() *string
	SetDelete(val *string)
	DeleteInput() *string
	// Experimental.
	Fqn() *string
	InternalValue() interface{}
	SetInternalValue(val interface{})
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	Update() *string
	SetUpdate(val *string)
	UpdateInput() *string
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetCreate()
	ResetDelete()
	ResetUpdate()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewSqlDatabaseInstanceTimeoutsOutputReference

func NewSqlDatabaseInstanceTimeoutsOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) SqlDatabaseInstanceTimeoutsOutputReference

Source Files

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL