@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api PostgreSQLManagementClient
@base https://management.azure.com
@version 2017-12-01-preview
@auth OAuth2
@common_fields {api-version: any # The API version to use for the request.}
@endpoints 37
@hint download_for_search
@toc subscriptions(36), providers(1)

@group subscriptions
@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}
@desc Creates a new server, or will overwrite an existing server.
@required {subscriptionId: any # The subscription ID that identifies an Azure subscription., resourceGroupName: any # The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal., serverName: any # The name of the server., parameters: any # The required parameters for creating or updating a server.}
@returns(200) OK
@returns(201) Created
@returns(202) Accepted

@endpoint PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}
@desc Updates an existing server. The request body can contain one to many of the properties present in the normal server definition.
@required {subscriptionId: any # The subscription ID that identifies an Azure subscription., resourceGroupName: any # The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal., serverName: any # The name of the server., parameters: any # The required parameters for updating a server.}
@returns(200) OK
@returns(202) Accepted

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}
@desc Deletes a server.
@required {subscriptionId: any # The subscription ID that identifies an Azure subscription., resourceGroupName: any # The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal., serverName: any # The name of the server.}
@returns(200) OK
@returns(202) Accepted
@returns(204) NoContent

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}
@desc Gets information about a server.
@required {subscriptionId: any # The subscription ID that identifies an Azure subscription., resourceGroupName: any # The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal., serverName: any # The name of the server.}
@returns(200) OK

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers
@desc List all the servers in a given resource group.
@required {subscriptionId: any # The subscription ID that identifies an Azure subscription., resourceGroupName: any # The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.}
@returns(200) OK

@endpoint GET /subscriptions/{subscriptionId}/providers/Microsoft.DBforPostgreSQL/servers
@desc List all the servers in a given subscription.
@required {subscriptionId: any # The subscription ID that identifies an Azure subscription.}
@returns(200) OK

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/replicas
@desc List all the replicas for a given server.
@required {subscriptionId: any # The subscription ID that identifies an Azure subscription., resourceGroupName: any # The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal., serverName: any # The name of the server.}
@returns(200) OK

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/restart
@desc Restarts a server.
@required {subscriptionId: any # The subscription ID that identifies an Azure subscription., resourceGroupName: any # The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal., serverName: any # The name of the server.}
@returns(200) OK
@returns(202) Accepted

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/firewallRules/{firewallRuleName}
@desc Creates a new firewall rule or updates an existing firewall rule.
@required {subscriptionId: any # The subscription ID that identifies an Azure subscription., resourceGroupName: any # The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal., serverName: any # The name of the server., firewallRuleName: any # The name of the server firewall rule., parameters: any # The required parameters for creating or updating a firewall rule.}
@returns(200) OK
@returns(201) Created
@returns(202) Accepted

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/firewallRules/{firewallRuleName}
@desc Deletes a server firewall rule.
@required {subscriptionId: any # The subscription ID that identifies an Azure subscription., resourceGroupName: any # The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal., serverName: any # The name of the server., firewallRuleName: any # The name of the server firewall rule.}
@returns(200) OK
@returns(202) Accepted
@returns(204) NoContent

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/firewallRules/{firewallRuleName}
@desc Gets information about a server firewall rule.
@required {subscriptionId: any # The subscription ID that identifies an Azure subscription., resourceGroupName: any # The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal., serverName: any # The name of the server., firewallRuleName: any # The name of the server firewall rule.}
@returns(200) OK

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/firewallRules
@desc List all the firewall rules in a given server.
@required {subscriptionId: any # The subscription ID that identifies an Azure subscription., resourceGroupName: any # The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal., serverName: any # The name of the server.}
@returns(200) OK

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}
@desc Gets a virtual network rule.
@required {resourceGroupName: any # The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal., serverName: any # The name of the server., subscriptionId: any # The subscription ID that identifies an Azure subscription., virtualNetworkRuleName: any # The name of the virtual network rule.}
@returns(200) Successfully retrieved a specified virtual network rule.

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}
@desc Creates or updates an existing virtual network rule.
@required {resourceGroupName: any # The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal., serverName: any # The name of the server., subscriptionId: any # The subscription ID that identifies an Azure subscription., virtualNetworkRuleName: any # The name of the virtual network rule., parameters: map # The requested virtual Network Rule Resource state.}
@returns(200) Successfully updated a virtual network rule.
@returns(201) Successfully created a virtual network rule.
@returns(202) Accepted

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}
@desc Deletes the virtual network rule with the given name.
@required {resourceGroupName: any # The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal., serverName: any # The name of the server., virtualNetworkRuleName: any # The name of the virtual network rule., subscriptionId: any # The subscription ID that identifies an Azure subscription.}
@returns(200) Successfully deleted the virtual network rule.
@returns(202) Accepted
@returns(204) The specified virtual network rule does not exist.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/virtualNetworkRules
@desc Gets a list of virtual network rules in a server.
@required {resourceGroupName: any # The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal., serverName: any # The name of the server., subscriptionId: any # The subscription ID that identifies an Azure subscription.}
@returns(200) Successfully retrieved the list of virtual network rules.

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/databases/{databaseName}
@desc Creates a new database or updates an existing database.
@required {subscriptionId: any # The subscription ID that identifies an Azure subscription., resourceGroupName: any # The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal., serverName: any # The name of the server., databaseName: any # The name of the database., parameters: any # The required parameters for creating or updating a database.}
@returns(200) OK
@returns(201) Created
@returns(202) Accepted

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/databases/{databaseName}
@desc Deletes a database.
@required {subscriptionId: any # The subscription ID that identifies an Azure subscription., resourceGroupName: any # The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal., serverName: any # The name of the server., databaseName: any # The name of the database.}
@returns(200) OK
@returns(202) Accepted
@returns(204) NoContent

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/databases/{databaseName}
@desc Gets information about a database.
@required {subscriptionId: any # The subscription ID that identifies an Azure subscription., resourceGroupName: any # The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal., serverName: any # The name of the server., databaseName: any # The name of the database.}
@returns(200) OK

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/databases
@desc List all the databases in a given server.
@required {subscriptionId: any # The subscription ID that identifies an Azure subscription., resourceGroupName: any # The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal., serverName: any # The name of the server.}
@returns(200) OK

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/configurations/{configurationName}
@desc Updates a configuration of a server.
@required {subscriptionId: any # The subscription ID that identifies an Azure subscription., resourceGroupName: any # The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal., serverName: any # The name of the server., configurationName: any # The name of the server configuration., parameters: any # The required parameters for updating a server configuration.}
@returns(200) OK
@returns(202) Accepted

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/configurations/{configurationName}
@desc Gets information about a configuration of server.
@required {subscriptionId: any # The subscription ID that identifies an Azure subscription., resourceGroupName: any # The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal., serverName: any # The name of the server., configurationName: any # The name of the server configuration.}
@returns(200) OK

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/configurations
@desc List all the configurations in a given server.
@required {subscriptionId: any # The subscription ID that identifies an Azure subscription., resourceGroupName: any # The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal., serverName: any # The name of the server.}
@returns(200) OK

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/updateConfigurations
@desc Update a list of configurations in a given server.
@required {subscriptionId: any # The subscription ID that identifies an Azure subscription., resourceGroupName: any # The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal., serverName: any # The name of the server., value: any # The parameters for updating a list of server configuration.}
@returns(200) OK
@returns(202) Accepted

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/logFiles
@desc List all the log files in a given server.
@required {subscriptionId: any # The subscription ID that identifies an Azure subscription., resourceGroupName: any # The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal., serverName: any # The name of the server.}
@returns(200) OK

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/administrators/activeDirectory
@desc Gets information about a AAD server administrator.
@required {subscriptionId: any # The subscription ID that identifies an Azure subscription., resourceGroupName: any # The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal., serverName: any # The name of the server.}
@returns(200) OK

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/administrators/activeDirectory
@desc Creates or update active directory administrator on an existing server. The update action will overwrite the existing administrator.
@required {subscriptionId: any # The subscription ID that identifies an Azure subscription., resourceGroupName: any # The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal., serverName: any # The name of the server., properties: any # The required parameters for creating or updating an AAD server administrator.}
@returns(200) Successfully updated the active directory administrator
@returns(202) Operation in progress

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/administrators/activeDirectory
@desc Deletes AAD Administrator.
@required {subscriptionId: any # The subscription ID that identifies an Azure subscription., resourceGroupName: any # The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal., serverName: any # The name of the server.}
@returns(200) Successfully deleted the active directory administrator
@returns(202) Operation in progress
@returns(204) The specified Server active directory administrator does not exist

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/administrators
@desc Returns a list of server Administrators.
@required {subscriptionId: any # The subscription ID that identifies an Azure subscription., resourceGroupName: any # The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal., serverName: any # The name of the server.}
@returns(200) OK

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/recoverableServers
@desc Gets a recoverable PostgreSQL Server.
@required {subscriptionId: any # The subscription ID that identifies an Azure subscription., resourceGroupName: any # The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal., serverName: any # The name of the server.}
@returns(200) OK

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/performanceTiers
@desc List all the performance tiers for a PostgreSQL server.
@required {subscriptionId: any # The subscription ID that identifies an Azure subscription., resourceGroupName: any # The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal., serverName: any # The name of the server.}
@returns(200) OK

@endpoint GET /subscriptions/{subscriptionId}/providers/Microsoft.DBforPostgreSQL/locations/{locationName}/performanceTiers
@desc List all the performance tiers at specified location in a given subscription.
@required {subscriptionId: any # The subscription ID that identifies an Azure subscription., locationName: any # The name of the location.}
@returns(200) OK

@endpoint POST /subscriptions/{subscriptionId}/providers/Microsoft.DBforPostgreSQL/checkNameAvailability
@desc Check the availability of name for resource
@required {subscriptionId: any # The subscription ID that identifies an Azure subscription., nameAvailabilityRequest: any # The required parameters for checking if resource name is available.}
@returns(200) OK

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/securityAlertPolicies/{securityAlertPolicyName}
@desc Get a server's security alert policy.
@required {resourceGroupName: any # The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal., serverName: any # The name of the server., securityAlertPolicyName: any # The name of the security alert policy., subscriptionId: any # The subscription ID that identifies an Azure subscription.}
@returns(200) Successfully retrieved the server threat detection policy.

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/securityAlertPolicies/{securityAlertPolicyName}
@desc Creates or updates a threat detection policy.
@required {resourceGroupName: any # The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal., serverName: any # The name of the server., securityAlertPolicyName: any # The name of the threat detection policy., parameters: map # The server security alert policy., subscriptionId: any # The subscription ID that identifies an Azure subscription.}
@returns(200) Successfully updated the threat detection policy.
@returns(202) Created request to set the server threat detection policy.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/securityAlertPolicies
@desc Get the server's threat detection policies.
@required {serverName: any # The name of the server.}
@returns(200) Successfully retrieved the server threat detection policies.

@endgroup

@group providers
@endpoint GET /providers/Microsoft.DBforPostgreSQL/operations
@desc Lists all of the available REST API operations.
@returns(200) OK

@endgroup

@end
