{"files":{"SKILL.md":"---\nname: amazonmq\ndescription: \"AmazonMQ API skill. Use when working with AmazonMQ for brokers, configurations, tags. Covers 23 endpoints.\"\nversion: 1.0.0\ngenerator: lapsh\n---\n\n# AmazonMQ\nAPI version: 2017-11-27\n\n## Auth\nAWS SigV4\n\n## Base URL\nNot specified.\n\n## Setup\n1. Configure auth: AWS SigV4\n2. GET /v1/broker-engine-types -- describe available engine types and versions.\n3. POST /v1/brokers -- create first broker\n\n## Endpoints\n23 endpoints across 5 groups. See references/api-spec.lap for full details.\n\n### Brokers\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | /v1/brokers | Creates a broker. Note: This API is asynchronous. To create a broker, you must either use the AmazonMQFullAccess IAM policy or include the following EC2 permissions in your IAM policy. ec2:CreateNetworkInterface This permission is required to allow Amazon MQ to create an elastic network interface (ENI) on behalf of your account. ec2:CreateNetworkInterfacePermission This permission is required to attach the ENI to the broker instance. ec2:DeleteNetworkInterface ec2:DeleteNetworkInterfacePermission ec2:DetachNetworkInterface ec2:DescribeInternetGateways ec2:DescribeNetworkInterfaces ec2:DescribeNetworkInterfacePermissions ec2:DescribeRouteTables ec2:DescribeSecurityGroups ec2:DescribeSubnets ec2:DescribeVpcs For more information, see Create an IAM User and Get Your Amazon Web Services Credentials and Never Modify or Delete the Amazon MQ Elastic Network Interface in the Amazon MQ Developer Guide. |\n| POST | /v1/brokers/{broker-id}/users/{username} | Creates an ActiveMQ user. Do not add personally identifiable information (PII) or other confidential or sensitive information in broker usernames. Broker usernames are accessible to other Amazon Web Services services, including CloudWatch Logs. Broker usernames are not intended to be used for private or sensitive data. |\n| DELETE | /v1/brokers/{broker-id} | Deletes a broker. Note: This API is asynchronous. |\n| DELETE | /v1/brokers/{broker-id}/users/{username} | Deletes an ActiveMQ user. |\n| GET | /v1/brokers/{broker-id} | Returns information about the specified broker. |\n| GET | /v1/brokers/{broker-id}/users/{username} | Returns information about an ActiveMQ user. |\n| GET | /v1/brokers | Returns a list of all brokers. |\n| GET | /v1/brokers/{broker-id}/users | Returns a list of all ActiveMQ users. |\n| POST | /v1/brokers/{broker-id}/promote | Promotes a data replication replica broker to the primary broker role. |\n| POST | /v1/brokers/{broker-id}/reboot | Reboots a broker. Note: This API is asynchronous. |\n| PUT | /v1/brokers/{broker-id} | Adds a pending configuration change to a broker. |\n| PUT | /v1/brokers/{broker-id}/users/{username} | Updates the information for an ActiveMQ user. |\n\n### Configurations\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | /v1/configurations | Creates a new configuration for the specified configuration name. Amazon MQ uses the default configuration (the engine type and version). |\n| GET | /v1/configurations/{configuration-id} | Returns information about the specified configuration. |\n| GET | /v1/configurations/{configuration-id}/revisions/{configuration-revision} | Returns the specified configuration revision for the specified configuration. |\n| GET | /v1/configurations/{configuration-id}/revisions | Returns a list of all revisions for the specified configuration. |\n| GET | /v1/configurations | Returns a list of all configurations. |\n| PUT | /v1/configurations/{configuration-id} | Updates the specified configuration. |\n\n### Tags\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | /v1/tags/{resource-arn} | Add a tag to a resource. |\n| DELETE | /v1/tags/{resource-arn} | Removes a tag from a resource. |\n| GET | /v1/tags/{resource-arn} | Lists tags for a resource. |\n\n### Broker-engine-types\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /v1/broker-engine-types | Describe available engine types and versions. |\n\n### Broker-instance-options\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /v1/broker-instance-options | Describe available broker instance options. |\n\n## Common Questions\nMatch user requests to endpoints in references/api-spec.lap. Key patterns:\n- \"Create a broker?\" -> POST /v1/brokers\n- \"Create a configuration?\" -> POST /v1/configurations\n- \"Delete a broker?\" -> DELETE /v1/brokers/{broker-id}\n- \"Delete a tag?\" -> DELETE /v1/tags/{resource-arn}\n- \"Delete a user?\" -> DELETE /v1/brokers/{broker-id}/users/{username}\n- \"Get broker details?\" -> GET /v1/brokers/{broker-id}\n- \"List all broker-engine-types?\" -> GET /v1/broker-engine-types\n- \"List all broker-instance-options?\" -> GET /v1/broker-instance-options\n- \"Get configuration details?\" -> GET /v1/configurations/{configuration-id}\n- \"Get revision details?\" -> GET /v1/configurations/{configuration-id}/revisions/{configuration-revision}\n- \"Get user details?\" -> GET /v1/brokers/{broker-id}/users/{username}\n- \"List all brokers?\" -> GET /v1/brokers\n- \"List all revisions?\" -> GET /v1/configurations/{configuration-id}/revisions\n- \"List all configurations?\" -> GET /v1/configurations\n- \"Get tag details?\" -> GET /v1/tags/{resource-arn}\n- \"List all users?\" -> GET /v1/brokers/{broker-id}/users\n- \"Create a promote?\" -> POST /v1/brokers/{broker-id}/promote\n- \"Create a reboot?\" -> POST /v1/brokers/{broker-id}/reboot\n- \"Update a broker?\" -> PUT /v1/brokers/{broker-id}\n- \"Update a configuration?\" -> PUT /v1/configurations/{configuration-id}\n- \"Update a user?\" -> PUT /v1/brokers/{broker-id}/users/{username}\n- \"How to authenticate?\" -> See Auth section above\n\n## Response Tips\n- Check response schemas in references/api-spec.lap for field details\n- Create/update endpoints return the modified resource on success\n\n## References\n- Full spec: See references/api-spec.lap for complete endpoint details, parameter tables, and response schemas\n\n> Generated from the official API spec by [LAP](https://lap.sh)\n","references/api-spec.lap":"@lap v0.3\n# Machine-readable API spec. Each @endpoint block is one API call.\n@api AmazonMQ\n@version 2017-11-27\n@auth AWS SigV4\n@endpoints 23\n@hint download_for_search\n@toc brokers(12), configurations(6), tags(3), broker-engine-types(1), broker-instance-options(1)\n\n@group brokers\n@endpoint POST /v1/brokers\n@desc Creates a broker. Note: This API is asynchronous. To create a broker, you must either use the AmazonMQFullAccess IAM policy or include the following EC2 permissions in your IAM policy. ec2:CreateNetworkInterface This permission is required to allow Amazon MQ to create an elastic network interface (ENI) on behalf of your account. ec2:CreateNetworkInterfacePermission This permission is required to attach the ENI to the broker instance. ec2:DeleteNetworkInterface ec2:DeleteNetworkInterfacePermission ec2:DetachNetworkInterface ec2:DescribeInternetGateways ec2:DescribeNetworkInterfaces ec2:DescribeNetworkInterfacePermissions ec2:DescribeRouteTables ec2:DescribeSecurityGroups ec2:DescribeSubnets ec2:DescribeVpcs For more information, see Create an IAM User and Get Your Amazon Web Services Credentials and Never Modify or Delete the Amazon MQ Elastic Network Interface in the Amazon MQ Developer Guide.\n@required {BrokerName: str, DeploymentMode: str, EngineType: str, HostInstanceType: str, PubliclyAccessible: bool, Users: [User]}\n@optional {AuthenticationStrategy: str, AutoMinorVersionUpgrade: bool, Configuration: ConfigurationId, CreatorRequestId: str, EncryptionOptions: EncryptionOptions, EngineVersion: str, LdapServerMetadata: LdapServerMetadataInput, Logs: Logs, MaintenanceWindowStartTime: WeeklyStartTime, SecurityGroups: [str], StorageType: str, SubnetIds: [str], Tags: map<str,str>, DataReplicationMode: str, DataReplicationPrimaryBrokerArn: str}\n@returns(200) {BrokerArn: str?, BrokerId: str?}\n\n@endgroup\n\n@group configurations\n@endpoint POST /v1/configurations\n@desc Creates a new configuration for the specified configuration name. Amazon MQ uses the default configuration (the engine type and version).\n@required {EngineType: str, Name: str}\n@optional {AuthenticationStrategy: str, EngineVersion: str, Tags: map<str,str>}\n@returns(200) {Arn: str?, AuthenticationStrategy: str?, Created: str(timestamp)?, Id: str?, LatestRevision: ConfigurationRevision?{Created: str(timestamp), Description: str?, Revision: int}, Name: str?}\n\n@endgroup\n\n@group tags\n@endpoint POST /v1/tags/{resource-arn}\n@desc Add a tag to a resource.\n@required {ResourceArn: str}\n@optional {Tags: map<str,str>}\n\n@endgroup\n\n@group brokers\n@endpoint POST /v1/brokers/{broker-id}/users/{username}\n@desc Creates an ActiveMQ user. Do not add personally identifiable information (PII) or other confidential or sensitive information in broker usernames. Broker usernames are accessible to other Amazon Web Services services, including CloudWatch Logs. Broker usernames are not intended to be used for private or sensitive data.\n@required {BrokerId: str, Username: str, Password: str}\n@optional {ConsoleAccess: bool, Groups: [str], ReplicationUser: bool}\n\n@endpoint DELETE /v1/brokers/{broker-id}\n@desc Deletes a broker. Note: This API is asynchronous.\n@required {BrokerId: str}\n@returns(200) {BrokerId: str?}\n\n@endgroup\n\n@group tags\n@endpoint DELETE /v1/tags/{resource-arn}\n@desc Removes a tag from a resource.\n@required {ResourceArn: str, tagKeys: [str]}\n\n@endgroup\n\n@group brokers\n@endpoint DELETE /v1/brokers/{broker-id}/users/{username}\n@desc Deletes an ActiveMQ user.\n@required {BrokerId: str, Username: str}\n\n@endpoint GET /v1/brokers/{broker-id}\n@desc Returns information about the specified broker.\n@required {BrokerId: str}\n@returns(200) {ActionsRequired: [ActionRequired]?, AuthenticationStrategy: str?, AutoMinorVersionUpgrade: bool?, BrokerArn: str?, BrokerId: str?, BrokerInstances: [BrokerInstance]?, BrokerName: str?, BrokerState: str?, Configurations: Configurations?{Current: ConfigurationId?{Id: str, Revision: int?}, History: [ConfigurationId]?, Pending: ConfigurationId?{Id: str, Revision: int?}}, Created: str(timestamp)?, DeploymentMode: str?, EncryptionOptions: EncryptionOptions?{KmsKeyId: str?, UseAwsOwnedKey: bool}, EngineType: str?, EngineVersion: str?, HostInstanceType: str?, LdapServerMetadata: LdapServerMetadataOutput?{Hosts: [str], RoleBase: str, RoleName: str?, RoleSearchMatching: str, RoleSearchSubtree: bool?, ServiceAccountUsername: str, UserBase: str, UserRoleName: str?, UserSearchMatching: str, UserSearchSubtree: bool?}, Logs: LogsSummary?{Audit: bool?, AuditLogGroup: str?, General: bool, GeneralLogGroup: str, Pending: PendingLogs?{Audit: bool?, General: bool?}}, MaintenanceWindowStartTime: WeeklyStartTime?{DayOfWeek: str, TimeOfDay: str, TimeZone: str?}, PendingAuthenticationStrategy: str?, PendingEngineVersion: str?, PendingHostInstanceType: str?, PendingLdapServerMetadata: LdapServerMetadataOutput?{Hosts: [str], RoleBase: str, RoleName: str?, RoleSearchMatching: str, RoleSearchSubtree: bool?, ServiceAccountUsername: str, UserBase: str, UserRoleName: str?, UserSearchMatching: str, UserSearchSubtree: bool?}, PendingSecurityGroups: [str]?, PubliclyAccessible: bool?, SecurityGroups: [str]?, StorageType: str?, SubnetIds: [str]?, Tags: map<str,str>?, Users: [UserSummary]?, DataReplicationMetadata: DataReplicationMetadataOutput?{DataReplicationCounterpart: DataReplicationCounterpart?{BrokerId: str, Region: str}, DataReplicationRole: str}, DataReplicationMode: str?, PendingDataReplicationMetadata: DataReplicationMetadataOutput?{DataReplicationCounterpart: DataReplicationCounterpart?{BrokerId: str, Region: str}, DataReplicationRole: str}, PendingDataReplicationMode: str?}\n\n@endgroup\n\n@group broker-engine-types\n@endpoint GET /v1/broker-engine-types\n@desc Describe available engine types and versions.\n@optional {engineType: str, maxResults: int, nextToken: str}\n@returns(200) {BrokerEngineTypes: [BrokerEngineType]?, MaxResults: int?, NextToken: str?}\n\n@endgroup\n\n@group broker-instance-options\n@endpoint GET /v1/broker-instance-options\n@desc Describe available broker instance options.\n@optional {engineType: str, hostInstanceType: str, maxResults: int, nextToken: str, storageType: str}\n@returns(200) {BrokerInstanceOptions: [BrokerInstanceOption]?, MaxResults: int?, NextToken: str?}\n\n@endgroup\n\n@group configurations\n@endpoint GET /v1/configurations/{configuration-id}\n@desc Returns information about the specified configuration.\n@required {ConfigurationId: str}\n@returns(200) {Arn: str?, AuthenticationStrategy: str?, Created: str(timestamp)?, Description: str?, EngineType: str?, EngineVersion: str?, Id: str?, LatestRevision: ConfigurationRevision?{Created: str(timestamp), Description: str?, Revision: int}, Name: str?, Tags: map<str,str>?}\n\n@endpoint GET /v1/configurations/{configuration-id}/revisions/{configuration-revision}\n@desc Returns the specified configuration revision for the specified configuration.\n@required {ConfigurationId: str, ConfigurationRevision: str}\n@returns(200) {ConfigurationId: str?, Created: str(timestamp)?, Data: str?, Description: str?}\n\n@endgroup\n\n@group brokers\n@endpoint GET /v1/brokers/{broker-id}/users/{username}\n@desc Returns information about an ActiveMQ user.\n@required {BrokerId: str, Username: str}\n@returns(200) {BrokerId: str?, ConsoleAccess: bool?, Groups: [str]?, Pending: UserPendingChanges?{ConsoleAccess: bool?, Groups: [str]?, PendingChange: str}, Username: str?, ReplicationUser: bool?}\n\n@endpoint GET /v1/brokers\n@desc Returns a list of all brokers.\n@optional {maxResults: int, nextToken: str}\n@returns(200) {BrokerSummaries: [BrokerSummary]?, NextToken: str?}\n\n@endgroup\n\n@group configurations\n@endpoint GET /v1/configurations/{configuration-id}/revisions\n@desc Returns a list of all revisions for the specified configuration.\n@required {ConfigurationId: str}\n@optional {maxResults: int, nextToken: str}\n@returns(200) {ConfigurationId: str?, MaxResults: int?, NextToken: str?, Revisions: [ConfigurationRevision]?}\n\n@endpoint GET /v1/configurations\n@desc Returns a list of all configurations.\n@optional {maxResults: int, nextToken: str}\n@returns(200) {Configurations: [Configuration]?, MaxResults: int?, NextToken: str?}\n\n@endgroup\n\n@group tags\n@endpoint GET /v1/tags/{resource-arn}\n@desc Lists tags for a resource.\n@required {ResourceArn: str}\n@returns(200) {Tags: map<str,str>?}\n\n@endgroup\n\n@group brokers\n@endpoint GET /v1/brokers/{broker-id}/users\n@desc Returns a list of all ActiveMQ users.\n@required {BrokerId: str}\n@optional {maxResults: int, nextToken: str}\n@returns(200) {BrokerId: str?, MaxResults: int?, NextToken: str?, Users: [UserSummary]?}\n\n@endpoint POST /v1/brokers/{broker-id}/promote\n@desc Promotes a data replication replica broker to the primary broker role.\n@required {BrokerId: str, Mode: str}\n@returns(200) {BrokerId: str?}\n\n@endpoint POST /v1/brokers/{broker-id}/reboot\n@desc Reboots a broker. Note: This API is asynchronous.\n@required {BrokerId: str}\n\n@endpoint PUT /v1/brokers/{broker-id}\n@desc Adds a pending configuration change to a broker.\n@required {BrokerId: str}\n@optional {AuthenticationStrategy: str, AutoMinorVersionUpgrade: bool, Configuration: ConfigurationId, EngineVersion: str, HostInstanceType: str, LdapServerMetadata: LdapServerMetadataInput, Logs: Logs, MaintenanceWindowStartTime: WeeklyStartTime, SecurityGroups: [str], DataReplicationMode: str}\n@returns(200) {AuthenticationStrategy: str?, AutoMinorVersionUpgrade: bool?, BrokerId: str?, Configuration: ConfigurationId?{Id: str, Revision: int?}, EngineVersion: str?, HostInstanceType: str?, LdapServerMetadata: LdapServerMetadataOutput?{Hosts: [str], RoleBase: str, RoleName: str?, RoleSearchMatching: str, RoleSearchSubtree: bool?, ServiceAccountUsername: str, UserBase: str, UserRoleName: str?, UserSearchMatching: str, UserSearchSubtree: bool?}, Logs: Logs?{Audit: bool?, General: bool?}, MaintenanceWindowStartTime: WeeklyStartTime?{DayOfWeek: str, TimeOfDay: str, TimeZone: str?}, SecurityGroups: [str]?, DataReplicationMetadata: DataReplicationMetadataOutput?{DataReplicationCounterpart: DataReplicationCounterpart?{BrokerId: str, Region: str}, DataReplicationRole: str}, DataReplicationMode: str?, PendingDataReplicationMetadata: DataReplicationMetadataOutput?{DataReplicationCounterpart: DataReplicationCounterpart?{BrokerId: str, Region: str}, DataReplicationRole: str}, PendingDataReplicationMode: str?}\n\n@endgroup\n\n@group configurations\n@endpoint PUT /v1/configurations/{configuration-id}\n@desc Updates the specified configuration.\n@required {ConfigurationId: str, Data: str}\n@optional {Description: str}\n@returns(200) {Arn: str?, Created: str(timestamp)?, Id: str?, LatestRevision: ConfigurationRevision?{Created: str(timestamp), Description: str?, Revision: int}, Name: str?, Warnings: [SanitizationWarning]?}\n\n@endgroup\n\n@group brokers\n@endpoint PUT /v1/brokers/{broker-id}/users/{username}\n@desc Updates the information for an ActiveMQ user.\n@required {BrokerId: str, Username: str}\n@optional {ConsoleAccess: bool, Groups: [str], Password: str, ReplicationUser: bool}\n\n@endgroup\n\n@end\n"}}