import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface IntegrationConfig extends cdktf.TerraformMetaArguments { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/integration#id Integration#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; /** * Integration type. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/integration#integration_type Integration#integration_type} */ readonly integrationType: string; /** * Integration state (ENABLED | DISABLED). Defaults to `DISABLED`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/integration#intended_state Integration#intended_state} */ readonly intendedState?: string; /** * config block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/integration#config Integration#config} */ readonly config?: IntegrationConfigA; } export interface IntegrationConfigA { /** * Integration advanced config (JSON string). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/integration#advanced Integration#advanced} */ readonly advanced?: string; /** * Credentials required for the integration. The required keys are indicated in the credentials property of the Integration Type. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/integration#credentials Integration#credentials} */ readonly credentials?: { [key: string]: string; }; /** * Integration name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/integration#name Integration#name} */ readonly name?: string; /** * Integration notes. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/integration#notes Integration#notes} */ readonly notes?: string; /** * Integration config properties (JSON string). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/integration#properties Integration#properties} */ readonly properties?: string; } export declare function integrationConfigAToTerraform(struct?: IntegrationConfigAOutputReference | IntegrationConfigA): any; export declare function integrationConfigAToHclTerraform(struct?: IntegrationConfigAOutputReference | IntegrationConfigA): any; export declare class IntegrationConfigAOutputReference 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(): IntegrationConfigA | undefined; set internalValue(value: IntegrationConfigA | undefined); private _advanced?; get advanced(): string; set advanced(value: string); resetAdvanced(): void; get advancedInput(): string; private _credentials?; get credentials(): { [key: string]: string; }; set credentials(value: { [key: string]: string; }); resetCredentials(): void; get credentialsInput(): { [key: string]: string; }; private _name?; get name(): string; set name(value: string); resetName(): void; get nameInput(): string; private _notes?; get notes(): string; set notes(value: string); resetNotes(): void; get notesInput(): string; private _properties?; get properties(): string; set properties(value: string); resetProperties(): void; get propertiesInput(): string; } /** * Represents a {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/integration genesyscloud_integration} */ export declare class Integration extends cdktf.TerraformResource { static readonly tfResourceType = "genesyscloud_integration"; /** * Generates CDKTF code for importing a Integration resource upon running "cdktf plan " * @param scope The scope in which to define this construct * @param importToId The construct id used in the generated config for the Integration to import * @param importFromId The id of the existing Integration that should be imported. Refer to the {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/integration#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the Integration to import is found */ static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): any; /** * Create a new {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/integration genesyscloud_integration} 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 IntegrationConfig */ constructor(scope: Construct, id: string, config: IntegrationConfig); private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _integrationType?; get integrationType(): string; set integrationType(value: string); get integrationTypeInput(): string; private _intendedState?; get intendedState(): string; set intendedState(value: string); resetIntendedState(): void; get intendedStateInput(): string; private _config; get config(): IntegrationConfigAOutputReference; putConfig(value: IntegrationConfigA): void; resetConfig(): void; get configInput(): IntegrationConfigA; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }