import * as core from "@terrascript/core"; export interface ContactFlowArgs extends core.ResourceArgs { /** * (Optional) Specifies the content of the Contact Flow, provided as a JSON string, written in Amazon C * onnect Contact Flow Language. If defined, the `filename` argument cannot be used. */ content?: string | core.StringOut; /** * (Optional) Used to trigger updates. Must be set to a base64-encoded SHA256 hash of the Contact Flow * source specified with `filename`. The usual way to set this is filebase64sha256("mycontact_flow.json * ") (Terraform 0.11.12 and later) or base64sha256(file("mycontact_flow.json")) (Terraform 0.11.11 and * earlier), where "mycontact_flow.json" is the local filename of the Contact Flow source. */ contentHash?: string | core.StringOut; /** * (Optional) Specifies the description of the Contact Flow. */ description?: string | core.StringOut; /** * (Optional) The path to the Contact Flow source within the local filesystem. Conflicts with `content` * . */ filename?: string | core.StringOut; /** * (Required) Specifies the identifier of the hosting Amazon Connect Instance. */ instanceId: string | core.StringOut; /** * (Required) Specifies the name of the Contact Flow. */ name: string | core.StringOut; /** * (Optional) Tags to apply to the Contact Flow. If configured with a provider [`default_tags` configur * ation block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configur * ation-block) present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: core.Map | core.MapOut; /** * A map of tags assigned to the resource, including those inherited from the provider [`default_tags` * configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags- * configuration-block). */ tagsAll?: core.Map | core.MapOut; /** * (Optional) Specifies the type of the Contact Flow. Defaults to `CONTACT_FLOW`. Allowed Values are: ` * CONTACT_FLOW`, `CUSTOMER_QUEUE`, `CUSTOMER_HOLD`, `CUSTOMER_WHISPER`, `AGENT_HOLD`, `AGENT_WHISPER`, * OUTBOUND_WHISPER`, `AGENT_TRANSFER`, `QUEUE_TRANSFER`. */ type?: string | core.StringOut; } export class ContactFlow extends core.Resource { /** * The Amazon Resource Name (ARN) of the Contact Flow. */ @core.attr(String, { computed: true }) public arn!: string | core.StringOut; /** * The identifier of the Contact Flow. */ @core.attr(String, { computed: true }) public contactFlowId!: string | core.StringOut; /** * (Optional) Specifies the content of the Contact Flow, provided as a JSON string, written in Amazon C * onnect Contact Flow Language. If defined, the `filename` argument cannot be used. */ @core.attr(String, { computed: true }) public content?: string | core.StringOut; /** * (Optional) Used to trigger updates. Must be set to a base64-encoded SHA256 hash of the Contact Flow * source specified with `filename`. The usual way to set this is filebase64sha256("mycontact_flow.json * ") (Terraform 0.11.12 and later) or base64sha256(file("mycontact_flow.json")) (Terraform 0.11.11 and * earlier), where "mycontact_flow.json" is the local filename of the Contact Flow source. */ @core.attr(String) public contentHash?: string | core.StringOut; /** * (Optional) Specifies the description of the Contact Flow. */ @core.attr(String) public description?: string | core.StringOut; /** * (Optional) The path to the Contact Flow source within the local filesystem. Conflicts with `content` * . */ @core.attr(String) public filename?: string | core.StringOut; /** * The identifier of the hosting Amazon Connect Instance and identifier of the Contact Flow separated b * y a colon (`:`). */ @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * (Required) Specifies the identifier of the hosting Amazon Connect Instance. */ @core.attr(String) public instanceId!: string | core.StringOut; /** * (Required) Specifies the name of the Contact Flow. */ @core.attr(String) public name!: string | core.StringOut; /** * (Optional) Tags to apply to the Contact Flow. If configured with a provider [`default_tags` configur * ation block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configur * ation-block) present, tags with matching keys will overwrite those defined at the provider-level. */ @core.attr(String, { kind: "map" }) public tags?: core.Map | core.MapOut; /** * A map of tags assigned to the resource, including those inherited from the provider [`default_tags` * configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags- * configuration-block). */ @core.attr(String, { computed: true, kind: "map" }) public tagsAll?: core.Map | core.MapOut; /** * (Optional) Specifies the type of the Contact Flow. Defaults to `CONTACT_FLOW`. Allowed Values are: ` * CONTACT_FLOW`, `CUSTOMER_QUEUE`, `CUSTOMER_HOLD`, `CUSTOMER_WHISPER`, `AGENT_HOLD`, `AGENT_WHISPER`, * OUTBOUND_WHISPER`, `AGENT_TRANSFER`, `QUEUE_TRANSFER`. */ @core.attr(String) public type?: string | core.StringOut; constructor(name: string, args?: ContactFlowArgs) { super(name, "aws_connect_contact_flow", args); } public override getNamespace(): string { return "aws_connect"; } }