import * as core from "@terrascript/core"; export interface LogsArgs extends core.SchemaArgs { audit?: string | core.StringOut; general?: boolean | core.BooleanOut; } export declare class Logs extends core.Schema { audit?: string | core.StringOut; general?: boolean | core.BooleanOut; } export interface LdapServerMetadataArgs extends core.SchemaArgs { hosts?: core.Array | core.ArrayOut; roleBase?: string | core.StringOut; roleName?: string | core.StringOut; roleSearchMatching?: string | core.StringOut; roleSearchSubtree?: boolean | core.BooleanOut; serviceAccountPassword?: string | core.StringOut; serviceAccountUsername?: string | core.StringOut; userBase?: string | core.StringOut; userRoleName?: string | core.StringOut; userSearchMatching?: string | core.StringOut; userSearchSubtree?: boolean | core.BooleanOut; } export declare class LdapServerMetadata extends core.Schema { hosts?: core.Array | core.ArrayOut; roleBase?: string | core.StringOut; roleName?: string | core.StringOut; roleSearchMatching?: string | core.StringOut; roleSearchSubtree?: boolean | core.BooleanOut; serviceAccountPassword?: string | core.StringOut; serviceAccountUsername?: string | core.StringOut; userBase?: string | core.StringOut; userRoleName?: string | core.StringOut; userSearchMatching?: string | core.StringOut; userSearchSubtree?: boolean | core.BooleanOut; } export interface EncryptionOptionsArgs extends core.SchemaArgs { kmsKeyId?: string | core.StringOut; useAwsOwnedKey?: boolean | core.BooleanOut; } export declare class EncryptionOptions extends core.Schema { kmsKeyId?: string | core.StringOut; useAwsOwnedKey?: boolean | core.BooleanOut; } export interface UserArgs extends core.SchemaArgs { consoleAccess?: boolean | core.BooleanOut; groups?: core.Array | core.ArrayOut; password: string | core.StringOut; username: string | core.StringOut; } export declare class User extends core.Schema { consoleAccess?: boolean | core.BooleanOut; groups?: core.Array | core.ArrayOut; password: string | core.StringOut; username: string | core.StringOut; } export interface InstancesArgs extends core.SchemaArgs { consoleUrl: string | core.StringOut; endpoints: core.Array | core.ArrayOut; ipAddress: string | core.StringOut; } export declare class Instances extends core.Schema { consoleUrl: string | core.StringOut; endpoints: core.Array | core.ArrayOut; ipAddress: string | core.StringOut; } export interface MaintenanceWindowStartTimeArgs extends core.SchemaArgs { dayOfWeek: string | core.StringOut; timeOfDay: string | core.StringOut; timeZone: string | core.StringOut; } export declare class MaintenanceWindowStartTime extends core.Schema { dayOfWeek: string | core.StringOut; timeOfDay: string | core.StringOut; timeZone: string | core.StringOut; } export interface ConfigurationArgs extends core.SchemaArgs { id?: string | core.StringOut; revision?: number | core.NumberOut; } export declare class Configuration extends core.Schema { id?: string | core.StringOut; revision?: number | core.NumberOut; } export interface BrokerArgs extends core.ResourceArgs { /** * (Optional) Specifies whether any broker modifications are applied immediately, or during the next ma * intenance window. Default is `false`. */ applyImmediately?: boolean | core.BooleanOut; /** * (Optional) Authentication strategy used to secure the broker. Valid values are `simple` and `ldap`. * ldap` is not supported for `engine_type` `RabbitMQ`. */ authenticationStrategy?: string | core.StringOut; /** * (Optional) Whether to automatically upgrade to new minor versions of brokers as Amazon MQ makes rele * ases available. */ autoMinorVersionUpgrade?: boolean | core.BooleanOut; /** * (Required) Name of the broker. */ brokerName: string | core.StringOut; /** * (Optional) Configuration block for broker configuration. Applies to `engine_type` of `ActiveMQ` only * . Detailed below. */ configuration?: Configuration; /** * (Optional) Deployment mode of the broker. Valid values are `SINGLE_INSTANCE`, `ACTIVE_STANDBY_MULTI_ * AZ`, and `CLUSTER_MULTI_AZ`. Default is `SINGLE_INSTANCE`. */ deploymentMode?: string | core.StringOut; /** * (Optional) Configuration block containing encryption options. Detailed below. */ encryptionOptions?: EncryptionOptions; /** * (Required) Type of broker engine. Valid values are `ActiveMQ` and `RabbitMQ`. */ engineType: string | core.StringOut; /** * (Required) Version of the broker engine. See the [AmazonMQ Broker Engine docs](https://docs.aws.amaz * on.com/amazon-mq/latest/developer-guide/broker-engine.html) for supported versions. For example, `5. * 15.0`. */ engineVersion: string | core.StringOut; /** * (Required) Broker's instance type. For example, `mq.t3.micro`, `mq.m5.large`. */ hostInstanceType: string | core.StringOut; /** * (Optional) Configuration block for the LDAP server used to authenticate and authorize connections to * the broker. Not supported for `engine_type` `RabbitMQ`. Detailed below. (Currently, AWS may not pro * cess changes to LDAP server metadata.) */ ldapServerMetadata?: LdapServerMetadata; /** * (Optional) Configuration block for the logging configuration of the broker. Detailed below. */ logs?: Logs; /** * (Optional) Configuration block for the maintenance window start time. Detailed below. */ maintenanceWindowStartTime?: MaintenanceWindowStartTime; /** * (Optional) Whether to enable connections from applications outside of the VPC that hosts the broker' * s subnets. */ publiclyAccessible?: boolean | core.BooleanOut; /** * (Optional) List of security group IDs assigned to the broker. */ securityGroups?: core.Array | core.ArrayOut; /** * (Optional) Storage type of the broker. For `engine_type` `ActiveMQ`, the valid values are `efs` and * ebs`, and the AWS-default is `efs`. For `engine_type` `RabbitMQ`, only `ebs` is supported. When usi * ng `ebs`, only the `mq.m5` broker instance type family is supported. */ storageType?: string | core.StringOut; /** * (Optional) List of subnet IDs in which to launch the broker. A `SINGLE_INSTANCE` deployment requires * one subnet. An `ACTIVE_STANDBY_MULTI_AZ` deployment requires multiple subnets. */ subnetIds?: core.Array | core.ArrayOut; /** * (Optional) Map of tags to assign to the broker. If configured with a provider [`default_tags` config * uration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-config * uration-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; /** * (Required) Configuration block for broker users. For `engine_type` of `RabbitMQ`, Amazon MQ does not * return broker users preventing this resource from making user updates and drift detection. Detailed * below. */ user: core.Array | core.ArrayOut; } export declare class Broker extends core.Resource { /** * (Optional) Specifies whether any broker modifications are applied immediately, or during the next ma * intenance window. Default is `false`. */ applyImmediately?: boolean | core.BooleanOut; /** * ARN of the broker. */ arn: string | core.StringOut; /** * (Optional) Authentication strategy used to secure the broker. Valid values are `simple` and `ldap`. * ldap` is not supported for `engine_type` `RabbitMQ`. */ authenticationStrategy?: string | core.StringOut; /** * (Optional) Whether to automatically upgrade to new minor versions of brokers as Amazon MQ makes rele * ases available. */ autoMinorVersionUpgrade?: boolean | core.BooleanOut; /** * (Required) Name of the broker. */ brokerName: string | core.StringOut; /** * (Optional) Configuration block for broker configuration. Applies to `engine_type` of `ActiveMQ` only * . Detailed below. */ configuration?: Configuration; /** * (Optional) Deployment mode of the broker. Valid values are `SINGLE_INSTANCE`, `ACTIVE_STANDBY_MULTI_ * AZ`, and `CLUSTER_MULTI_AZ`. Default is `SINGLE_INSTANCE`. */ deploymentMode?: string | core.StringOut; /** * (Optional) Configuration block containing encryption options. Detailed below. */ encryptionOptions?: EncryptionOptions; /** * (Required) Type of broker engine. Valid values are `ActiveMQ` and `RabbitMQ`. */ engineType: string | core.StringOut; /** * (Required) Version of the broker engine. See the [AmazonMQ Broker Engine docs](https://docs.aws.amaz * on.com/amazon-mq/latest/developer-guide/broker-engine.html) for supported versions. For example, `5. * 15.0`. */ engineVersion: string | core.StringOut; /** * (Required) Broker's instance type. For example, `mq.t3.micro`, `mq.m5.large`. */ hostInstanceType: string | core.StringOut; /** * (Optional) The Configuration ID. */ id: string | core.StringOut; /** * List of information about allocated brokers (both active & standby). */ instances: core.Array | core.ArrayOut; /** * (Optional) Configuration block for the LDAP server used to authenticate and authorize connections to * the broker. Not supported for `engine_type` `RabbitMQ`. Detailed below. (Currently, AWS may not pro * cess changes to LDAP server metadata.) */ ldapServerMetadata?: LdapServerMetadata; /** * (Optional) Configuration block for the logging configuration of the broker. Detailed below. */ logs?: Logs; /** * (Optional) Configuration block for the maintenance window start time. Detailed below. */ maintenanceWindowStartTime?: MaintenanceWindowStartTime; /** * (Optional) Whether to enable connections from applications outside of the VPC that hosts the broker' * s subnets. */ publiclyAccessible?: boolean | core.BooleanOut; /** * (Optional) List of security group IDs assigned to the broker. */ securityGroups?: core.Array | core.ArrayOut; /** * (Optional) Storage type of the broker. For `engine_type` `ActiveMQ`, the valid values are `efs` and * ebs`, and the AWS-default is `efs`. For `engine_type` `RabbitMQ`, only `ebs` is supported. When usi * ng `ebs`, only the `mq.m5` broker instance type family is supported. */ storageType?: string | core.StringOut; /** * (Optional) List of subnet IDs in which to launch the broker. A `SINGLE_INSTANCE` deployment requires * one subnet. An `ACTIVE_STANDBY_MULTI_AZ` deployment requires multiple subnets. */ subnetIds?: core.Array | core.ArrayOut; /** * (Optional) Map of tags to assign to the broker. If configured with a provider [`default_tags` config * uration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-config * uration-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; /** * (Required) Configuration block for broker users. For `engine_type` of `RabbitMQ`, Amazon MQ does not * return broker users preventing this resource from making user updates and drift detection. Detailed * below. */ user: core.Array | core.ArrayOut; constructor(name: string, args?: BrokerArgs); getNamespace(): string; } //# sourceMappingURL=broker.d.ts.map