UNPKG

@cdktf/provider-upcloud

Version:

Prebuilt upcloud Provider for Terraform CDK (cdktf)

354 lines (353 loc) 18.7 kB
/** * Copyright (c) HashiCorp, Inc. * SPDX-License-Identifier: MPL-2.0 */ import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface ManagedDatabaseUserConfig extends cdktf.TerraformMetaArguments { /** * MySQL only, authentication type. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_user#authentication ManagedDatabaseUser#authentication} */ readonly authentication?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_user#id ManagedDatabaseUser#id} * * Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. * If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable. */ readonly id?: string; /** * Password for the database user. Defaults to a random value * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_user#password ManagedDatabaseUser#password} */ readonly password?: string; /** * Service's UUID for which this user belongs to * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_user#service ManagedDatabaseUser#service} */ readonly service: string; /** * Name of the database user * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_user#username ManagedDatabaseUser#username} */ readonly username: string; /** * opensearch_access_control block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_user#opensearch_access_control ManagedDatabaseUser#opensearch_access_control} */ readonly opensearchAccessControl?: ManagedDatabaseUserOpensearchAccessControl; /** * pg_access_control block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_user#pg_access_control ManagedDatabaseUser#pg_access_control} */ readonly pgAccessControl?: ManagedDatabaseUserPgAccessControl; /** * redis_access_control block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_user#redis_access_control ManagedDatabaseUser#redis_access_control} */ readonly redisAccessControl?: ManagedDatabaseUserRedisAccessControl; /** * valkey_access_control block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_user#valkey_access_control ManagedDatabaseUser#valkey_access_control} */ readonly valkeyAccessControl?: ManagedDatabaseUserValkeyAccessControl; } export interface ManagedDatabaseUserOpensearchAccessControlRules { /** * Set index name, pattern or top level API. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_user#index ManagedDatabaseUser#index} */ readonly index: string; /** * Set permission access. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_user#permission ManagedDatabaseUser#permission} */ readonly permission: string; } export declare function managedDatabaseUserOpensearchAccessControlRulesToTerraform(struct?: ManagedDatabaseUserOpensearchAccessControlRules | cdktf.IResolvable): any; export declare function managedDatabaseUserOpensearchAccessControlRulesToHclTerraform(struct?: ManagedDatabaseUserOpensearchAccessControlRules | cdktf.IResolvable): any; export declare class ManagedDatabaseUserOpensearchAccessControlRulesOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): ManagedDatabaseUserOpensearchAccessControlRules | cdktf.IResolvable | undefined; set internalValue(value: ManagedDatabaseUserOpensearchAccessControlRules | cdktf.IResolvable | undefined); private _index?; get index(): string; set index(value: string); get indexInput(): string | undefined; private _permission?; get permission(): string; set permission(value: string); get permissionInput(): string | undefined; } export declare class ManagedDatabaseUserOpensearchAccessControlRulesList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: ManagedDatabaseUserOpensearchAccessControlRules[] | cdktf.IResolvable; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): ManagedDatabaseUserOpensearchAccessControlRulesOutputReference; } export interface ManagedDatabaseUserOpensearchAccessControl { /** * rules block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_user#rules ManagedDatabaseUser#rules} */ readonly rules: ManagedDatabaseUserOpensearchAccessControlRules[] | cdktf.IResolvable; } export declare function managedDatabaseUserOpensearchAccessControlToTerraform(struct?: ManagedDatabaseUserOpensearchAccessControlOutputReference | ManagedDatabaseUserOpensearchAccessControl): any; export declare function managedDatabaseUserOpensearchAccessControlToHclTerraform(struct?: ManagedDatabaseUserOpensearchAccessControlOutputReference | ManagedDatabaseUserOpensearchAccessControl): any; export declare class ManagedDatabaseUserOpensearchAccessControlOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): ManagedDatabaseUserOpensearchAccessControl | undefined; set internalValue(value: ManagedDatabaseUserOpensearchAccessControl | undefined); private _rules; get rules(): ManagedDatabaseUserOpensearchAccessControlRulesList; putRules(value: ManagedDatabaseUserOpensearchAccessControlRules[] | cdktf.IResolvable): void; get rulesInput(): cdktf.IResolvable | ManagedDatabaseUserOpensearchAccessControlRules[] | undefined; } export interface ManagedDatabaseUserPgAccessControl { /** * Grant replication privilege * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_user#allow_replication ManagedDatabaseUser#allow_replication} */ readonly allowReplication?: boolean | cdktf.IResolvable; } export declare function managedDatabaseUserPgAccessControlToTerraform(struct?: ManagedDatabaseUserPgAccessControlOutputReference | ManagedDatabaseUserPgAccessControl): any; export declare function managedDatabaseUserPgAccessControlToHclTerraform(struct?: ManagedDatabaseUserPgAccessControlOutputReference | ManagedDatabaseUserPgAccessControl): any; export declare class ManagedDatabaseUserPgAccessControlOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): ManagedDatabaseUserPgAccessControl | undefined; set internalValue(value: ManagedDatabaseUserPgAccessControl | undefined); private _allowReplication?; get allowReplication(): boolean | cdktf.IResolvable; set allowReplication(value: boolean | cdktf.IResolvable); resetAllowReplication(): void; get allowReplicationInput(): boolean | cdktf.IResolvable | undefined; } export interface ManagedDatabaseUserRedisAccessControl { /** * Set access control to all commands in specified categories. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_user#categories ManagedDatabaseUser#categories} */ readonly categories?: string[]; /** * Set access control to Pub/Sub channels. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_user#channels ManagedDatabaseUser#channels} */ readonly channels?: string[]; /** * Set access control to commands. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_user#commands ManagedDatabaseUser#commands} */ readonly commands?: string[]; /** * Set access control to keys. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_user#keys ManagedDatabaseUser#keys} */ readonly keys?: string[]; } export declare function managedDatabaseUserRedisAccessControlToTerraform(struct?: ManagedDatabaseUserRedisAccessControlOutputReference | ManagedDatabaseUserRedisAccessControl): any; export declare function managedDatabaseUserRedisAccessControlToHclTerraform(struct?: ManagedDatabaseUserRedisAccessControlOutputReference | ManagedDatabaseUserRedisAccessControl): any; export declare class ManagedDatabaseUserRedisAccessControlOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): ManagedDatabaseUserRedisAccessControl | undefined; set internalValue(value: ManagedDatabaseUserRedisAccessControl | undefined); private _categories?; get categories(): string[]; set categories(value: string[]); resetCategories(): void; get categoriesInput(): string[] | undefined; private _channels?; get channels(): string[]; set channels(value: string[]); resetChannels(): void; get channelsInput(): string[] | undefined; private _commands?; get commands(): string[]; set commands(value: string[]); resetCommands(): void; get commandsInput(): string[] | undefined; private _keys?; get keys(): string[]; set keys(value: string[]); resetKeys(): void; get keysInput(): string[] | undefined; } export interface ManagedDatabaseUserValkeyAccessControl { /** * Set access control to all commands in specified categories. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_user#categories ManagedDatabaseUser#categories} */ readonly categories?: string[]; /** * Set access control to Pub/Sub channels. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_user#channels ManagedDatabaseUser#channels} */ readonly channels?: string[]; /** * Set access control to commands. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_user#commands ManagedDatabaseUser#commands} */ readonly commands?: string[]; /** * Set access control to keys. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_user#keys ManagedDatabaseUser#keys} */ readonly keys?: string[]; } export declare function managedDatabaseUserValkeyAccessControlToTerraform(struct?: ManagedDatabaseUserValkeyAccessControlOutputReference | ManagedDatabaseUserValkeyAccessControl): any; export declare function managedDatabaseUserValkeyAccessControlToHclTerraform(struct?: ManagedDatabaseUserValkeyAccessControlOutputReference | ManagedDatabaseUserValkeyAccessControl): any; export declare class ManagedDatabaseUserValkeyAccessControlOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): ManagedDatabaseUserValkeyAccessControl | undefined; set internalValue(value: ManagedDatabaseUserValkeyAccessControl | undefined); private _categories?; get categories(): string[]; set categories(value: string[]); resetCategories(): void; get categoriesInput(): string[] | undefined; private _channels?; get channels(): string[]; set channels(value: string[]); resetChannels(): void; get channelsInput(): string[] | undefined; private _commands?; get commands(): string[]; set commands(value: string[]); resetCommands(): void; get commandsInput(): string[] | undefined; private _keys?; get keys(): string[]; set keys(value: string[]); resetKeys(): void; get keysInput(): string[] | undefined; } /** * Represents a {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_user upcloud_managed_database_user} */ export declare class ManagedDatabaseUser extends cdktf.TerraformResource { static readonly tfResourceType = "upcloud_managed_database_user"; /** * Generates CDKTF code for importing a ManagedDatabaseUser resource upon running "cdktf plan <stack-name>" * @param scope The scope in which to define this construct * @param importToId The construct id used in the generated config for the ManagedDatabaseUser to import * @param importFromId The id of the existing ManagedDatabaseUser that should be imported. Refer to the {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_user#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the ManagedDatabaseUser to import is found */ static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): cdktf.ImportableResource; /** * Create a new {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_user upcloud_managed_database_user} Resource * * @param scope The scope in which to define this construct * @param id The scoped construct ID. Must be unique amongst siblings in the same scope * @param options ManagedDatabaseUserConfig */ constructor(scope: Construct, id: string, config: ManagedDatabaseUserConfig); private _authentication?; get authentication(): string; set authentication(value: string); resetAuthentication(): void; get authenticationInput(): string | undefined; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string | undefined; private _password?; get password(): string; set password(value: string); resetPassword(): void; get passwordInput(): string | undefined; private _service?; get service(): string; set service(value: string); get serviceInput(): string | undefined; get type(): string; private _username?; get username(): string; set username(value: string); get usernameInput(): string | undefined; private _opensearchAccessControl; get opensearchAccessControl(): ManagedDatabaseUserOpensearchAccessControlOutputReference; putOpensearchAccessControl(value: ManagedDatabaseUserOpensearchAccessControl): void; resetOpensearchAccessControl(): void; get opensearchAccessControlInput(): ManagedDatabaseUserOpensearchAccessControl | undefined; private _pgAccessControl; get pgAccessControl(): ManagedDatabaseUserPgAccessControlOutputReference; putPgAccessControl(value: ManagedDatabaseUserPgAccessControl): void; resetPgAccessControl(): void; get pgAccessControlInput(): ManagedDatabaseUserPgAccessControl | undefined; private _redisAccessControl; get redisAccessControl(): ManagedDatabaseUserRedisAccessControlOutputReference; putRedisAccessControl(value: ManagedDatabaseUserRedisAccessControl): void; resetRedisAccessControl(): void; get redisAccessControlInput(): ManagedDatabaseUserRedisAccessControl | undefined; private _valkeyAccessControl; get valkeyAccessControl(): ManagedDatabaseUserValkeyAccessControlOutputReference; putValkeyAccessControl(value: ManagedDatabaseUserValkeyAccessControl): void; resetValkeyAccessControl(): void; get valkeyAccessControlInput(): ManagedDatabaseUserValkeyAccessControl | undefined; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }