{ "swagger": "2.0", "info": { "title": "Applications.Messaging Resource Management APIs", "version": "2023-10-01-preview", "description": "REST APIs for Applications.Messaging", "x-typespec-generated": [ { "emitter": "@azure-tools/typespec-autorest" } ] }, "schemes": [ "https" ], "host": "management.azure.com", "produces": [ "application/json" ], "consumes": [ "application/json" ], "security": [ { "azure_auth": [ "user_impersonation" ] } ], "securityDefinitions": { "azure_auth": { "type": "oauth2", "description": "Azure Active Directory OAuth2 Flow.", "flow": "implicit", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "scopes": { "user_impersonation": "impersonate your user account" } } }, "tags": [ { "name": "Operations" }, { "name": "RabbitMQQueues" } ], "paths": { "/{rootScope}/providers/Applications.Messaging/rabbitMQQueues": { "get": { "operationId": "RabbitMQQueues_ListByScope", "tags": [ "RabbitMQQueues" ], "description": "List RabbitMQQueueResource resources by Scope", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { "$ref": "#/parameters/RootScopeParameter" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/RabbitMQQueueResourceListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "List RabbitMQQueue resources by resource group": { "$ref": "./examples/RabbitMQQueues_List.json" }, "List RabbitMQQueue resources by rootScope": { "$ref": "./examples/RabbitMQQueues_ListByRootScope.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/{rootScope}/providers/Applications.Messaging/rabbitMQQueues/{rabbitMQQueueName}": { "get": { "operationId": "RabbitMQQueues_Get", "tags": [ "RabbitMQQueues" ], "description": "Get a RabbitMQQueueResource", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { "$ref": "#/parameters/RootScopeParameter" }, { "name": "rabbitMQQueueName", "in": "path", "description": "The name of the RabbitMQQueue portable resource resource", "required": true, "type": "string", "maxLength": 63, "pattern": "^[A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9])?$" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/RabbitMQQueueResource" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Get a RabbitMQQueue resource": { "$ref": "./examples/RabbitMQQueues_Get.json" } } }, "put": { "operationId": "RabbitMQQueues_CreateOrUpdate", "tags": [ "RabbitMQQueues" ], "description": "Create a RabbitMQQueueResource", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { "$ref": "#/parameters/RootScopeParameter" }, { "name": "rabbitMQQueueName", "in": "path", "description": "The name of the RabbitMQQueue portable resource resource", "required": true, "type": "string", "maxLength": 63, "pattern": "^[A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9])?$" }, { "name": "resource", "in": "body", "description": "Resource create parameters.", "required": true, "schema": { "$ref": "#/definitions/RabbitMQQueueResource" } } ], "responses": { "200": { "description": "Resource 'RabbitMQQueueResource' update operation succeeded", "schema": { "$ref": "#/definitions/RabbitMQQueueResource" } }, "201": { "description": "Resource 'RabbitMQQueueResource' create operation succeeded", "schema": { "$ref": "#/definitions/RabbitMQQueueResource" }, "headers": { "Azure-AsyncOperation": { "type": "string", "description": "A link to the status monitor" }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Create Or Update a RabbitMQQueue resource": { "$ref": "./examples/RabbitMQQueues_CreateOrUpdate.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "azure-async-operation" }, "x-ms-long-running-operation": true }, "patch": { "operationId": "RabbitMQQueues_Update", "tags": [ "RabbitMQQueues" ], "description": "Update a RabbitMQQueueResource", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { "$ref": "#/parameters/RootScopeParameter" }, { "name": "rabbitMQQueueName", "in": "path", "description": "The name of the RabbitMQQueue portable resource resource", "required": true, "type": "string", "maxLength": 63, "pattern": "^[A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9])?$" }, { "name": "properties", "in": "body", "description": "The resource properties to be updated.", "required": true, "schema": { "$ref": "#/definitions/RabbitMQQueueResourceUpdate" } } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/RabbitMQQueueResource" } }, "202": { "description": "Resource update request accepted.", "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Update a RabbitMQQueue resource": { "$ref": "./examples/RabbitMQQueues_Update.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location" }, "x-ms-long-running-operation": true }, "delete": { "operationId": "RabbitMQQueues_Delete", "tags": [ "RabbitMQQueues" ], "description": "Delete a RabbitMQQueueResource", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { "$ref": "#/parameters/RootScopeParameter" }, { "name": "rabbitMQQueueName", "in": "path", "description": "The name of the RabbitMQQueue portable resource resource", "required": true, "type": "string", "maxLength": 63, "pattern": "^[A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9])?$" } ], "responses": { "202": { "description": "Resource deletion accepted.", "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "204": { "description": "Resource does not exist." }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Delete a RabbitMQQueue resource": { "$ref": "./examples/RabbitMQQueues_Delete.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location" }, "x-ms-long-running-operation": true } }, "/{rootScope}/providers/Applications.Messaging/rabbitMQQueues/{rabbitMQQueueName}/listSecrets": { "post": { "operationId": "RabbitMQQueues_ListSecrets", "tags": [ "RabbitMQQueues" ], "description": "Lists secrets values for the specified RabbitMQQueue resource", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { "$ref": "#/parameters/RootScopeParameter" }, { "name": "rabbitMQQueueName", "in": "path", "description": "The name of the RabbitMQQueue portable resource resource", "required": true, "type": "string", "maxLength": 63, "pattern": "^[A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9])?$" }, { "name": "body", "in": "body", "description": "The content of the action request", "required": true, "schema": { "type": "object" } } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/RabbitMQListSecretsResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "List the secrets of a RabbitMQQueue resource": { "$ref": "./examples/RabbitMQQueues_ListSecrets.json" } } } }, "/providers/Applications.Messaging/operations": { "get": { "operationId": "Operations_List", "tags": [ "Operations" ], "description": "List the operations for the provider", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/OperationListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } } }, "definitions": { "Azure.ResourceManager.CommonTypes.TrackedResourceUpdate": { "type": "object", "title": "Tracked Resource", "description": "The resource model definition for an Azure Resource Manager tracked top level resource which has 'tags' and a 'location'", "properties": { "tags": { "type": "object", "description": "Resource tags.", "additionalProperties": { "type": "string" } } }, "allOf": [ { "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/Resource" } ] }, "AzureContainerInstanceCompute": { "type": "object", "description": "The Azure container instance compute configuration", "properties": { "resourceGroup": { "type": "string", "description": "The resource group to use for the environment." } }, "allOf": [ { "$ref": "#/definitions/EnvironmentCompute" } ], "x-ms-discriminator-value": "aci" }, "EnvironmentCompute": { "type": "object", "description": "Represents backing compute resource", "properties": { "kind": { "type": "string", "description": "Discriminator property for EnvironmentCompute." }, "resourceId": { "type": "string", "description": "The resource id of the compute resource for application environment." }, "identity": { "$ref": "#/definitions/IdentitySettings", "description": "Configuration for supported external identity providers" } }, "discriminator": "kind", "required": [ "kind" ] }, "IdentitySettingKind": { "type": "string", "description": "IdentitySettingKind is the kind of supported external identity setting", "enum": [ "undefined", "azure.com.workload", "userAssigned", "systemAssigned", "systemAssignedUserAssigned" ], "x-ms-enum": { "name": "IdentitySettingKind", "modelAsString": false, "values": [ { "name": "undefined", "value": "undefined", "description": "undefined identity" }, { "name": "azure.com.workload", "value": "azure.com.workload", "description": "azure ad workload identity" }, { "name": "userAssigned", "value": "userAssigned", "description": "User assigned managed identity" }, { "name": "systemAssigned", "value": "systemAssigned", "description": "System assigned managed identity" }, { "name": "systemAssignedUserAssigned", "value": "systemAssignedUserAssigned", "description": "System assigned and user assigned managed identity" } ] } }, "IdentitySettings": { "type": "object", "description": "IdentitySettings is the external identity setting.", "properties": { "kind": { "$ref": "#/definitions/IdentitySettingKind", "description": "kind of identity setting" }, "oidcIssuer": { "type": "string", "description": "The URI for your compute platform's OIDC issuer" }, "resource": { "type": "string", "description": "The resource ID of the provisioned identity" }, "managedIdentity": { "type": "array", "description": "The list of user assigned managed identities", "items": { "type": "string" } } }, "required": [ "kind" ] }, "KubernetesCompute": { "type": "object", "description": "The Kubernetes compute configuration", "properties": { "namespace": { "type": "string", "description": "The namespace to use for the environment." } }, "required": [ "namespace" ], "allOf": [ { "$ref": "#/definitions/EnvironmentCompute" } ], "x-ms-discriminator-value": "kubernetes" }, "OutputResource": { "type": "object", "description": "Properties of an output resource.", "properties": { "localId": { "type": "string", "description": "The logical identifier scoped to the owning Radius resource. This is only needed or used when a resource has a dependency relationship. LocalIDs do not have any particular format or meaning beyond being compared to determine dependency relationships." }, "id": { "type": "string", "description": "The UCP resource ID of the underlying resource." }, "radiusManaged": { "type": "boolean", "description": "Determines whether Radius manages the lifecycle of the underlying resource." } } }, "ProvisioningState": { "type": "string", "description": "Provisioning state of the resource at the time the operation was called", "enum": [ "Creating", "Updating", "Deleting", "Accepted", "Provisioning", "Succeeded", "Failed", "Canceled" ], "x-ms-enum": { "name": "ProvisioningState", "modelAsString": false, "values": [ { "name": "Creating", "value": "Creating", "description": "The resource is being created" }, { "name": "Updating", "value": "Updating", "description": "The resource is being updated" }, { "name": "Deleting", "value": "Deleting", "description": "The resource is being deleted" }, { "name": "Accepted", "value": "Accepted", "description": "The resource create request has been accepted" }, { "name": "Provisioning", "value": "Provisioning", "description": "The resource is being provisioned" }, { "name": "Succeeded", "value": "Succeeded", "description": "The resource has been successfully provisioned" }, { "name": "Failed", "value": "Failed", "description": "The resource provisioning has failed" }, { "name": "Canceled", "value": "Canceled", "description": "The resource provisioning has been canceled" } ] }, "readOnly": true }, "RabbitMQListSecretsResult": { "type": "object", "description": "The secret values for the given RabbitMQQueue resource", "properties": { "password": { "type": "string", "description": "The password used to connect to the RabbitMQ instance" }, "uri": { "type": "string", "description": "The connection URI of the RabbitMQ instance. Generated automatically from host, port, SSL, username, password, and vhost. Can be overridden with a custom value" } } }, "RabbitMQQueueProperties": { "type": "object", "description": "RabbitMQQueue portable resource properties", "properties": { "environment": { "type": "string", "description": "Fully qualified resource ID for the environment that the portable resource is linked to" }, "application": { "type": "string", "description": "Fully qualified resource ID for the application that the portable resource is consumed by (if applicable)" }, "provisioningState": { "$ref": "#/definitions/ProvisioningState", "description": "The status of the asynchronous operation.", "readOnly": true }, "status": { "$ref": "#/definitions/ResourceStatus", "description": "Status of a resource.", "readOnly": true }, "secrets": { "$ref": "#/definitions/RabbitMQSecrets", "description": "The secrets to connect to the RabbitMQ instance" }, "queue": { "type": "string", "description": "The name of the queue" }, "host": { "type": "string", "description": "The hostname of the RabbitMQ instance" }, "port": { "type": "integer", "format": "int32", "description": "The port of the RabbitMQ instance. Defaults to 5672" }, "vHost": { "type": "string", "description": "The RabbitMQ virtual host (vHost) the client will connect to. Defaults to no vHost." }, "username": { "type": "string", "description": "The username to use when connecting to the RabbitMQ instance" }, "resources": { "type": "array", "description": "List of the resource IDs that support the rabbitMQ resource", "items": { "$ref": "#/definitions/ResourceReference" } }, "tls": { "type": "boolean", "description": "Specifies whether to use SSL when connecting to the RabbitMQ instance" }, "recipe": { "$ref": "#/definitions/Recipe", "description": "The recipe used to automatically deploy underlying infrastructure for the resource" }, "resourceProvisioning": { "$ref": "#/definitions/ResourceProvisioning", "description": "Specifies how the underlying service/resource is provisioned and managed." } }, "required": [ "environment" ] }, "RabbitMQQueueResource": { "type": "object", "description": "RabbitMQQueue portable resource", "properties": { "properties": { "$ref": "#/definitions/RabbitMQQueueProperties", "description": "The resource-specific properties for this resource.", "x-ms-client-flatten": true, "x-ms-mutability": [ "read", "create" ] } }, "required": [ "properties" ], "allOf": [ { "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" } ] }, "RabbitMQQueueResourceListResult": { "type": "object", "description": "The response of a RabbitMQQueueResource list operation.", "properties": { "value": { "type": "array", "description": "The RabbitMQQueueResource items on this page", "items": { "$ref": "#/definitions/RabbitMQQueueResource" } }, "nextLink": { "type": "string", "format": "uri", "description": "The link to the next page of items" } }, "required": [ "value" ] }, "RabbitMQQueueResourceUpdate": { "type": "object", "description": "RabbitMQQueue portable resource", "allOf": [ { "$ref": "#/definitions/Azure.ResourceManager.CommonTypes.TrackedResourceUpdate" } ] }, "RabbitMQSecrets": { "type": "object", "description": "The connection secrets properties to the RabbitMQ instance", "properties": { "password": { "type": "string", "description": "The password used to connect to the RabbitMQ instance" }, "uri": { "type": "string", "description": "The connection URI of the RabbitMQ instance. Generated automatically from host, port, SSL, username, password, and vhost. Can be overridden with a custom value" } } }, "Recipe": { "type": "object", "description": "The recipe used to automatically deploy underlying infrastructure for a portable resource", "properties": { "name": { "type": "string", "description": "The name of the recipe within the environment to use" }, "parameters": { "type": "object", "description": "Key/value parameters to pass into the recipe at deployment" } }, "required": [ "name" ] }, "RecipeStatus": { "type": "object", "description": "Recipe status at deployment time for a resource.", "properties": { "templateKind": { "type": "string", "description": "TemplateKind is the kind of the recipe template used by the portable resource upon deployment." }, "templatePath": { "type": "string", "description": "TemplatePath is the path of the recipe consumed by the portable resource upon deployment." }, "templateVersion": { "type": "string", "description": "TemplateVersion is the version number of the template." } }, "required": [ "templateKind", "templatePath" ] }, "ResourceProvisioning": { "type": "string", "description": "Specifies how the underlying service/resource is provisioned and managed. Available values are 'recipe', where Radius manages the lifecycle of the resource through a Recipe, and 'manual', where a user manages the resource and provides the values.", "enum": [ "recipe", "manual" ], "x-ms-enum": { "name": "ResourceProvisioning", "modelAsString": false, "values": [ { "name": "recipe", "value": "recipe", "description": "The resource lifecycle will be managed by Radius" }, { "name": "manual", "value": "manual", "description": "The resource lifecycle will be managed by the user" } ] } }, "ResourceReference": { "type": "object", "description": "Describes a reference to an existing resource", "properties": { "id": { "type": "string", "description": "Resource id of an existing resource" } }, "required": [ "id" ] }, "ResourceStatus": { "type": "object", "description": "Status of a resource.", "properties": { "compute": { "$ref": "#/definitions/EnvironmentCompute", "description": "The compute resource associated with the resource." }, "recipe": { "$ref": "#/definitions/RecipeStatus", "description": "The recipe data at the time of deployment", "readOnly": true }, "outputResources": { "type": "array", "description": "Properties of an output resource", "items": { "$ref": "#/definitions/OutputResource" }, "x-ms-identifiers": [] } } } }, "parameters": { "RootScopeParameter": { "name": "rootScope", "in": "path", "description": "The scope in which the resource is present. UCP Scope is /planes/{planeType}/{planeName}/resourceGroup/{resourcegroupID} and Azure resource scope is /subscriptions/{subscriptionID}/resourceGroup/{resourcegroupID}", "required": true, "type": "string", "minLength": 1, "x-ms-parameter-location": "client", "x-ms-skip-url-encoding": true } } }