@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Relay API
@base https://management.azure.com
@version 2017-04-01
@auth OAuth2
@common_fields {api-version: any # Client API version., subscriptionId: any # Subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.}
@endpoints 34
@hint download_for_search
@toc providers(1), subscriptions(33)

@group providers
@endpoint GET /providers/Microsoft.Relay/operations
@desc Lists all available Relay REST API operations.
@returns(200) OK. The request has succeeded.

@endgroup

@group subscriptions
@endpoint POST /subscriptions/{subscriptionId}/providers/Microsoft.Relay/checkNameAvailability
@desc Check the specified namespace name availability.
@required {parameters: any # Parameters to check availability of the specified namespace name.}
@returns(200) Check availability returned successfully.

@endpoint GET /subscriptions/{subscriptionId}/providers/Microsoft.Relay/namespaces
@desc Lists all the available namespaces within the subscription regardless of the resourceGroups.
@returns(200) Namespaces returned successfully

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces
@desc Lists all the available namespaces within the ResourceGroup.
@required {resourceGroupName: any # Name of the Resource group within the Azure subscription.}
@returns(200) Namespaces by resource group returned successfully

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}
@desc Create Azure Relay namespace.
@required {resourceGroupName: any # Name of the Resource group within the Azure subscription., namespaceName: any # The namespace name, parameters: any # Parameters supplied to create a namespace resource.}
@returns(200) Namespace create request succeeded.
@returns(201) Namespace create request accepted.

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}
@desc Deletes an existing namespace. This operation also removes all associated resources under the namespace.
@required {resourceGroupName: any # Name of the Resource group within the Azure subscription., namespaceName: any # The namespace name}
@returns(200) Namespace delete request succeeded.
@returns(202) Namespace delete request has been accepted for processing and the operation will complete asynchronously.
@returns(204) Namespace delete request has been accepted, but the namespace was not found.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}
@desc Returns the description for the specified namespace.
@required {resourceGroupName: any # Name of the Resource group within the Azure subscription., namespaceName: any # The namespace name}
@returns(200) Namespace description returned successfully.

@endpoint PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}
@desc Creates or updates a namespace. Once created, this namespace's resource manifest is immutable. This operation is idempotent.
@required {resourceGroupName: any # Name of the Resource group within the Azure subscription., namespaceName: any # The namespace name, parameters: any # Parameters for updating a namespace resource.}
@returns(200) Namespace successfuly updated.
@returns(201) Namespace update request accepted.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/authorizationRules
@desc Authorization rules for a namespace.
@required {resourceGroupName: any # Name of the Resource group within the Azure subscription., namespaceName: any # The namespace name}
@returns(200) Namespace authorization rule returned successfully.

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName}
@desc Creates or updates an authorization rule for a namespace.
@required {resourceGroupName: any # Name of the Resource group within the Azure subscription., namespaceName: any # The namespace name, authorizationRuleName: any # The authorization rule name., parameters: any # The authorization rule parameters.}
@returns(200) Request to create namespace authorization rule succeeded.

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName}
@desc Deletes a namespace authorization rule.
@required {resourceGroupName: any # Name of the Resource group within the Azure subscription., namespaceName: any # The namespace name, authorizationRuleName: any # The authorization rule name.}
@returns(200) Request to delete namespace authorization rule succeeded.
@returns(204) No content. The request has been accepted but the namespace authorization rule was not found.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName}
@desc Authorization rule for a namespace by name.
@required {resourceGroupName: any # Name of the Resource group within the Azure subscription., namespaceName: any # The namespace name, authorizationRuleName: any # The authorization rule name.}
@returns(200) Namespace Authorization rule returned successfully.

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName}/listKeys
@desc Primary and secondary connection strings to the namespace.
@required {resourceGroupName: any # Name of the Resource group within the Azure subscription., namespaceName: any # The namespace name, authorizationRuleName: any # The authorization rule name.}
@returns(200) Successful.

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName}/regenerateKeys
@desc Regenerates the primary or secondary connection strings to the namespace.
@required {resourceGroupName: any # Name of the Resource group within the Azure subscription., namespaceName: any # The namespace name, authorizationRuleName: any # The authorization rule name., parameters: any # Parameters supplied to regenerate authorization rule.}
@returns(200) Successful.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections
@desc Lists the hybrid connection within the namespace.
@required {resourceGroupName: any # Name of the Resource group within the Azure subscription., namespaceName: any # The namespace name}
@returns(200) Request to retrieve hybrid connections by namespace succeeded.

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections/{hybridConnectionName}
@desc Creates or updates a service hybrid connection. This operation is idempotent.
@required {resourceGroupName: any # Name of the Resource group within the Azure subscription., namespaceName: any # The namespace name, hybridConnectionName: any # The hybrid connection name., parameters: any # Parameters supplied to create a hybrid connection.}
@returns(200) Request to create hybrid connections succeeded.

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections/{hybridConnectionName}
@desc Deletes a hybrid connection.
@required {resourceGroupName: any # Name of the Resource group within the Azure subscription., namespaceName: any # The namespace name, hybridConnectionName: any # The hybrid connection name.}
@returns(200) Request to delete hybrid connection succeeded.
@returns(204) No content. The request has been accepted but the hybrid connection was not found.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections/{hybridConnectionName}
@desc Returns the description for the specified hybrid connection.
@required {resourceGroupName: any # Name of the Resource group within the Azure subscription., namespaceName: any # The namespace name, hybridConnectionName: any # The hybrid connection name.}
@returns(200) Successfully retrieved description for the hybrid connection.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections/{hybridConnectionName}/authorizationRules
@desc Authorization rules for a hybrid connection.
@required {resourceGroupName: any # Name of the Resource group within the Azure subscription., namespaceName: any # The namespace name, hybridConnectionName: any # The hybrid connection name.}
@returns(200) Authorization rules successfully returned.

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections/{hybridConnectionName}/authorizationRules/{authorizationRuleName}
@desc Creates or updates an authorization rule for a hybrid connection.
@required {resourceGroupName: any # Name of the Resource group within the Azure subscription., namespaceName: any # The namespace name, hybridConnectionName: any # The hybrid connection name., authorizationRuleName: any # The authorization rule name., parameters: any # The authorization rule parameters.}
@returns(200) Hybrid connection authorization rule created.

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections/{hybridConnectionName}/authorizationRules/{authorizationRuleName}
@desc Deletes a hybrid connection authorization rule.
@required {resourceGroupName: any # Name of the Resource group within the Azure subscription., namespaceName: any # The namespace name, hybridConnectionName: any # The hybrid connection name., authorizationRuleName: any # The authorization rule name.}
@returns(200) Hybrid connection authorization rule deleted.
@returns(204) Authorization rule does not exist.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections/{hybridConnectionName}/authorizationRules/{authorizationRuleName}
@desc Hybrid connection authorization rule for a hybrid connection by name.
@required {resourceGroupName: any # Name of the Resource group within the Azure subscription., namespaceName: any # The namespace name, hybridConnectionName: any # The hybrid connection name., authorizationRuleName: any # The authorization rule name.}
@returns(200) Hybrid connection authorization rule returned successfully.

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections/{hybridConnectionName}/authorizationRules/{authorizationRuleName}/listKeys
@desc Primary and secondary connection strings to the hybrid connection.
@required {resourceGroupName: any # Name of the Resource group within the Azure subscription., namespaceName: any # The namespace name, hybridConnectionName: any # The hybrid connection name., authorizationRuleName: any # The authorization rule name.}
@returns(200) Request to retirve connection strings to the hybrid connection succeeded.

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections/{hybridConnectionName}/authorizationRules/{authorizationRuleName}/regenerateKeys
@desc Regenerates the primary or secondary connection strings to the hybrid connection.
@required {resourceGroupName: any # Name of the Resource group within the Azure subscription., namespaceName: any # The namespace name, hybridConnectionName: any # The hybrid connection name., authorizationRuleName: any # The authorization rule name., parameters: any # Parameters supplied to regenerate authorization rule.}
@returns(200) Request to regenerate connection strings to hybrid connection succeeded.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays
@desc Lists the WCF relays within the namespace.
@required {resourceGroupName: any # Name of the Resource group within the Azure subscription., namespaceName: any # The namespace name}
@returns(200) WCF relays returned successfully.

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays/{relayName}
@desc Creates or updates a WCF relay. This operation is idempotent.
@required {resourceGroupName: any # Name of the Resource group within the Azure subscription., namespaceName: any # The namespace name, relayName: any # The relay name., parameters: any # Parameters supplied to create a WCF relay.}
@returns(200) Request to create WCF relay succeeded.

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays/{relayName}
@desc Deletes a WCF relay.
@required {resourceGroupName: any # Name of the Resource group within the Azure subscription., namespaceName: any # The namespace name, relayName: any # The relay name.}
@returns(200) WCF relay deleted.
@returns(204) No content.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays/{relayName}
@desc Returns the description for the specified WCF relay.
@required {resourceGroupName: any # Name of the Resource group within the Azure subscription., namespaceName: any # The namespace name, relayName: any # The relay name.}
@returns(200) Successfully retrieved WCF relay description.
@returns(204) WCF relay not found

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays/{relayName}/authorizationRules
@desc Authorization rules for a WCF relay.
@required {resourceGroupName: any # Name of the Resource group within the Azure subscription., namespaceName: any # The namespace name, relayName: any # The relay name.}
@returns(200) Authorization rules successfully returned.

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays/{relayName}/authorizationRules/{authorizationRuleName}
@desc Creates or updates an authorization rule for a WCF relay.
@required {resourceGroupName: any # Name of the Resource group within the Azure subscription., namespaceName: any # The namespace name, relayName: any # The relay name., authorizationRuleName: any # The authorization rule name., parameters: any # The authorization rule parameters.}
@returns(200) WCF relay authorization rule created.

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays/{relayName}/authorizationRules/{authorizationRuleName}
@desc Deletes a WCF relay authorization rule.
@required {resourceGroupName: any # Name of the Resource group within the Azure subscription., namespaceName: any # The namespace name, relayName: any # The relay name., authorizationRuleName: any # The authorization rule name.}
@returns(200) Request to delete WCF relay authorization rule succeeded.
@returns(204) Request accepted butthe authorization rule does not exist.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays/{relayName}/authorizationRules/{authorizationRuleName}
@desc Get authorizationRule for a WCF relay by name.
@required {resourceGroupName: any # Name of the Resource group within the Azure subscription., namespaceName: any # The namespace name, relayName: any # The relay name., authorizationRuleName: any # The authorization rule name.}
@returns(200) Request for WCF relay authorization rule succeeded.

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays/{relayName}/authorizationRules/{authorizationRuleName}/listKeys
@desc Primary and secondary connection strings to the WCF relay.
@required {resourceGroupName: any # Name of the Resource group within the Azure subscription., namespaceName: any # The namespace name, relayName: any # The relay name., authorizationRuleName: any # The authorization rule name.}
@returns(200) Successful.

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays/{relayName}/authorizationRules/{authorizationRuleName}/regenerateKeys
@desc Regenerates the primary or secondary connection strings to the WCF relay.
@required {resourceGroupName: any # Name of the Resource group within the Azure subscription., namespaceName: any # The namespace name, relayName: any # The relay name., authorizationRuleName: any # The authorization rule name., parameters: any # Parameters supplied to regenerate authorization rule.}
@returns(200) Successful.

@endgroup

@end
