import * as core from "@terrascript/core"; export interface MediaConcurrenciesArgs extends core.SchemaArgs { channel: string | core.StringOut; concurrency: number | core.NumberOut; } export class MediaConcurrencies extends core.Schema { @core.attr(String) public channel!: string | core.StringOut; @core.attr(Number) public concurrency!: number | core.NumberOut; } export interface QueueConfigsAssociatedArgs extends core.SchemaArgs { channel: string | core.StringOut; delay: number | core.NumberOut; priority: number | core.NumberOut; queueArn: string | core.StringOut; queueId: string | core.StringOut; queueName: string | core.StringOut; } export class QueueConfigsAssociated extends core.Schema { @core.attr(String, { computed: true }) public channel!: string | core.StringOut; @core.attr(Number, { computed: true }) public delay!: number | core.NumberOut; @core.attr(Number, { computed: true }) public priority!: number | core.NumberOut; @core.attr(String, { computed: true }) public queueArn!: string | core.StringOut; @core.attr(String, { computed: true }) public queueId!: string | core.StringOut; @core.attr(String, { computed: true }) public queueName!: string | core.StringOut; } export interface QueueConfigsArgs extends core.SchemaArgs { channel: string | core.StringOut; delay: number | core.NumberOut; priority: number | core.NumberOut; queueArn: string | core.StringOut; queueId: string | core.StringOut; queueName: string | core.StringOut; } export class QueueConfigs extends core.Schema { @core.attr(String) public channel!: string | core.StringOut; @core.attr(Number) public delay!: number | core.NumberOut; @core.attr(Number) public priority!: number | core.NumberOut; @core.attr(String, { computed: true }) public queueArn!: string | core.StringOut; @core.attr(String) public queueId!: string | core.StringOut; @core.attr(String, { computed: true }) public queueName!: string | core.StringOut; } export interface RoutingProfileArgs extends core.ResourceArgs { /** * (Required) Specifies the default outbound queue for the Routing Profile. */ defaultOutboundQueueId: string | core.StringOut; /** * (Required) Specifies the description of the Routing Profile. */ description: string | core.StringOut; /** * (Required) Specifies the identifier of the hosting Amazon Connect Instance. */ instanceId: string | core.StringOut; /** * (Required) One or more `media_concurrencies` blocks that specify the channels that agents can handle * in the Contact Control Panel (CCP) for this Routing Profile. The `media_concurrencies` block is doc * umented below. */ mediaConcurrencies: | core.Array | core.ArrayOut; /** * (Required) Specifies the name of the Routing Profile. */ name: string | core.StringOut; /** * (Optional) One or more `queue_configs` blocks that specify the inbound queues associated with the ro * uting profile. If no queue is added, the agent only can make outbound calls. The `queue_configs` blo * ck is documented below. */ queueConfigs?: core.Array | core.ArrayOut; /** * (Optional) Tags to apply to the Routing Profile. If configured with a provider */ 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; } export class RoutingProfile extends core.Resource { /** * The Amazon Resource Name (ARN) of the Routing Profile. */ @core.attr(String, { computed: true }) public arn!: string | core.StringOut; /** * (Required) Specifies the default outbound queue for the Routing Profile. */ @core.attr(String) public defaultOutboundQueueId!: string | core.StringOut; /** * (Required) Specifies the description of the Routing Profile. */ @core.attr(String) public description!: string | core.StringOut; /** * The identifier of the hosting Amazon Connect Instance and identifier of the Routing Profile separate * d by 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) One or more `media_concurrencies` blocks that specify the channels that agents can handle * in the Contact Control Panel (CCP) for this Routing Profile. The `media_concurrencies` block is doc * umented below. */ @core.attr(MediaConcurrencies, { kind: "array" }) public mediaConcurrencies!: | core.Array | core.ArrayOut; /** * (Required) Specifies the name of the Routing Profile. */ @core.attr(String) public name!: string | core.StringOut; /** * (Optional) One or more `queue_configs` blocks that specify the inbound queues associated with the ro * uting profile. If no queue is added, the agent only can make outbound calls. The `queue_configs` blo * ck is documented below. */ @core.attr(QueueConfigs, { kind: "array" }) public queueConfigs?: core.Array | core.ArrayOut; @core.attr(QueueConfigsAssociated, { computed: true, kind: "array" }) public queueConfigsAssociated!: | core.Array | core.ArrayOut; /** * The identifier for the Routing Profile. */ @core.attr(String, { computed: true }) public routingProfileId!: string | core.StringOut; /** * (Optional) Tags to apply to the Routing Profile. If configured with a provider */ @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; constructor(name: string, args?: RoutingProfileArgs) { super(name, "aws_connect_routing_profile", args); } public override getNamespace(): string { return "aws_connect"; } }