import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface IntegrationActionDraftConfig extends cdktf.TerraformMetaArguments { /** * Category of action. Can be up to 256 characters long. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/integration_action_draft#category IntegrationActionDraft#category} */ readonly category: string; /** * Optional 1-60 second timeout enforced on the execution or test of this action. This setting is invalid for Custom Authentication Actions. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/integration_action_draft#config_timeout_seconds IntegrationActionDraft#config_timeout_seconds} */ readonly configTimeoutSeconds?: number; /** * JSON Schema that defines the body of the request that the client (edge/architect/postman) is sending to the service, on the /execute path. Changing the contract_input attribute will cause the existing integration_action to be dropped and recreated with a new ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/integration_action_draft#contract_input IntegrationActionDraft#contract_input} */ readonly contractInput: string; /** * JSON schema that defines the transformed, successful result that will be sent back to the caller. Changing the contract_output attribute will cause the existing integration_action to be dropped and recreated with a new ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/integration_action_draft#contract_output IntegrationActionDraft#contract_output} */ readonly contractOutput: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/integration_action_draft#id IntegrationActionDraft#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; /** * The ID of the integration this action is associated with. Changing the integration_id attribute will cause the existing integration_action to be dropped and recreated with a new ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/integration_action_draft#integration_id IntegrationActionDraft#integration_id} */ readonly integrationId: string; /** * Name of the action. Can be up to 256 characters long * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/integration_action_draft#name IntegrationActionDraft#name} */ readonly name: string; /** * Indication of whether or not the action is designed to accept sensitive data. Changing the secure attribute will cause the existing integration_action to be dropped and recreated with a new ID. Defaults to `false`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/integration_action_draft#secure IntegrationActionDraft#secure} */ readonly secure?: boolean | cdktf.IResolvable; /** * config_request block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/integration_action_draft#config_request IntegrationActionDraft#config_request} */ readonly configRequest?: IntegrationActionDraftConfigRequest; /** * config_response block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/integration_action_draft#config_response IntegrationActionDraft#config_response} */ readonly configResponse?: IntegrationActionDraftConfigResponse; } export interface IntegrationActionDraftConfigRequest { /** * Map of headers in name, value pairs to include in request. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/integration_action_draft#headers IntegrationActionDraft#headers} */ readonly headers?: { [key: string]: string; }; /** * Velocity template to define request body sent to 3rd party service. Any instances of '${' must be properly escaped as '$${' * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/integration_action_draft#request_template IntegrationActionDraft#request_template} */ readonly requestTemplate?: string; /** * HTTP method to use for request (GET | PUT | POST | PATCH | DELETE). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/integration_action_draft#request_type IntegrationActionDraft#request_type} */ readonly requestType: string; /** * URL that may include placeholders for requests to 3rd party service. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/integration_action_draft#request_url_template IntegrationActionDraft#request_url_template} */ readonly requestUrlTemplate: string; } export declare function integrationActionDraftConfigRequestToTerraform(struct?: IntegrationActionDraftConfigRequestOutputReference | IntegrationActionDraftConfigRequest): any; export declare function integrationActionDraftConfigRequestToHclTerraform(struct?: IntegrationActionDraftConfigRequestOutputReference | IntegrationActionDraftConfigRequest): any; export declare class IntegrationActionDraftConfigRequestOutputReference 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(): IntegrationActionDraftConfigRequest | undefined; set internalValue(value: IntegrationActionDraftConfigRequest | undefined); private _headers?; get headers(): { [key: string]: string; }; set headers(value: { [key: string]: string; }); resetHeaders(): void; get headersInput(): { [key: string]: string; }; private _requestTemplate?; get requestTemplate(): string; set requestTemplate(value: string); resetRequestTemplate(): void; get requestTemplateInput(): string; private _requestType?; get requestType(): string; set requestType(value: string); get requestTypeInput(): string; private _requestUrlTemplate?; get requestUrlTemplate(): string; set requestUrlTemplate(value: string); get requestUrlTemplateInput(): string; } export interface IntegrationActionDraftConfigResponse { /** * Velocity template to build response to return from Action. Any instances of '${' must be properly escaped as '$${'. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/integration_action_draft#success_template IntegrationActionDraft#success_template} */ readonly successTemplate?: string; /** * Map 'attribute name' and 'JSON path' pairs used to extract data from REST response. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/integration_action_draft#translation_map IntegrationActionDraft#translation_map} */ readonly translationMap?: { [key: string]: string; }; /** * Map 'attribute name' and 'default value' pairs used as fallback values if JSON path extraction fails for specified key. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/integration_action_draft#translation_map_defaults IntegrationActionDraft#translation_map_defaults} */ readonly translationMapDefaults?: { [key: string]: string; }; } export declare function integrationActionDraftConfigResponseToTerraform(struct?: IntegrationActionDraftConfigResponseOutputReference | IntegrationActionDraftConfigResponse): any; export declare function integrationActionDraftConfigResponseToHclTerraform(struct?: IntegrationActionDraftConfigResponseOutputReference | IntegrationActionDraftConfigResponse): any; export declare class IntegrationActionDraftConfigResponseOutputReference 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(): IntegrationActionDraftConfigResponse | undefined; set internalValue(value: IntegrationActionDraftConfigResponse | undefined); private _successTemplate?; get successTemplate(): string; set successTemplate(value: string); resetSuccessTemplate(): void; get successTemplateInput(): string; private _translationMap?; get translationMap(): { [key: string]: string; }; set translationMap(value: { [key: string]: string; }); resetTranslationMap(): void; get translationMapInput(): { [key: string]: string; }; private _translationMapDefaults?; get translationMapDefaults(): { [key: string]: string; }; set translationMapDefaults(value: { [key: string]: string; }); resetTranslationMapDefaults(): void; get translationMapDefaultsInput(): { [key: string]: string; }; } /** * Represents a {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/integration_action_draft genesyscloud_integration_action_draft} */ export declare class IntegrationActionDraft extends cdktf.TerraformResource { static readonly tfResourceType = "genesyscloud_integration_action_draft"; /** * Generates CDKTF code for importing a IntegrationActionDraft 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 IntegrationActionDraft to import * @param importFromId The id of the existing IntegrationActionDraft that should be imported. Refer to the {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/integration_action_draft#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the IntegrationActionDraft 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_action_draft genesyscloud_integration_action_draft} 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 IntegrationActionDraftConfig */ constructor(scope: Construct, id: string, config: IntegrationActionDraftConfig); private _category?; get category(): string; set category(value: string); get categoryInput(): string; private _configTimeoutSeconds?; get configTimeoutSeconds(): number; set configTimeoutSeconds(value: number); resetConfigTimeoutSeconds(): void; get configTimeoutSecondsInput(): number; private _contractInput?; get contractInput(): string; set contractInput(value: string); get contractInputInput(): string; private _contractOutput?; get contractOutput(): string; set contractOutput(value: string); get contractOutputInput(): string; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _integrationId?; get integrationId(): string; set integrationId(value: string); get integrationIdInput(): string; private _name?; get name(): string; set name(value: string); get nameInput(): string; private _secure?; get secure(): boolean | cdktf.IResolvable; set secure(value: boolean | cdktf.IResolvable); resetSecure(): void; get secureInput(): any; private _configRequest; get configRequest(): IntegrationActionDraftConfigRequestOutputReference; putConfigRequest(value: IntegrationActionDraftConfigRequest): void; resetConfigRequest(): void; get configRequestInput(): IntegrationActionDraftConfigRequest; private _configResponse; get configResponse(): IntegrationActionDraftConfigResponseOutputReference; putConfigResponse(value: IntegrationActionDraftConfigResponse): void; resetConfigResponse(): void; get configResponseInput(): IntegrationActionDraftConfigResponse; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }