diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2025-08-01/AdministratorsMicrosoftEntra.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2025-08-01/AdministratorsMicrosoftEntra.json new file mode 100644 index 000000000000..d76be55ef6d0 --- /dev/null +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2025-08-01/AdministratorsMicrosoftEntra.json @@ -0,0 +1,434 @@ +{ + "swagger": "2.0", + "info": { + "title": "PostgreSQLManagementClient", + "description": "The Azure Database for PostgreSQL management API provides create, read, update, and delete functionality for Azure PostgreSQL resources including servers, databases, firewall rules, network configuration, security alert policies, log files and configurations with new business model.", + "version": "2025-08-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Microsoft Entra OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/administrators/{objectId}": { + "put": { + "tags": [ + "AdministratorsMicrosoftEntra" + ], + "operationId": "AdministratorsMicrosoftEntra_CreateOrUpdate", + "x-ms-examples": { + "Add a server administrator associated to a Microsoft Entra principal.": { + "$ref": "./examples/AdministratorsMicrosoftEntraAdd.json" + } + }, + "description": "Creates a new server administrator associated to a Microsoft Entra principal.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/ObjectIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AdministratorMicrosoftEntraAdd" + }, + "description": "Required parameters for adding a server administrator associated to a Microsoft Entra principal." + } + ], + "responses": { + "202": { + "description": "Accepted.", + "headers": { + "Location": { + "type": "string" + }, + "Azure-AsyncOperation": { + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "tags": [ + "AdministratorsMicrosoftEntra" + ], + "operationId": "AdministratorsMicrosoftEntra_Delete", + "x-ms-examples": { + "Delete a server administrator associated to a Microsoft Entra principal.": { + "$ref": "./examples/AdministratorsMicrosoftEntraDelete.json" + } + }, + "description": "Deletes an existing server administrator associated to a Microsoft Entra principal.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/ObjectIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted.", + "headers": { + "Location": { + "type": "string" + }, + "Azure-AsyncOperation": { + "type": "string" + } + } + }, + "204": { + "description": "No Content." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "AdministratorsMicrosoftEntra" + ], + "operationId": "AdministratorsMicrosoftEntra_Get", + "x-ms-examples": { + "Get information about a server administrator associated to a Microsoft Entra principal.": { + "$ref": "./examples/AdministratorsMicrosoftEntraGet.json" + } + }, + "description": "Gets information about a server administrator associated to a Microsoft Entra principal.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/ObjectIdParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/AdministratorMicrosoftEntra" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/administrators": { + "get": { + "tags": [ + "AdministratorsMicrosoftEntra" + ], + "operationId": "AdministratorsMicrosoftEntra_ListByServer", + "x-ms-examples": { + "List information about all server administrators associated to Microsoft Entra principals.": { + "$ref": "./examples/AdministratorsMicrosoftEntraListByServer.json" + } + }, + "description": "List all server administrators associated to a Microsoft Entra principal.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/AdministratorMicrosoftEntraList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "AdministratorMicrosoftEntraAdd": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/AdministratorMicrosoftEntraPropertiesForAdd", + "x-ms-client-flatten": true, + "description": "Properties of the server administrator associated to a Microsoft Entra principal." + } + }, + "description": "Server administrator associated to a Microsoft Entra principal." + }, + "AdministratorMicrosoftEntraPropertiesForAdd": { + "type": "object", + "properties": { + "principalType": { + "type": "string", + "description": "Type of Microsoft Entra principal to which the server administrator is associated.", + "enum": [ + "Unknown", + "User", + "Group", + "ServicePrincipal" + ], + "x-ms-enum": { + "name": "PrincipalType", + "modelAsString": true, + "values": [ + { + "value": "Unknown", + "description": "The principal type is not known or not specified." + }, + { + "value": "User", + "description": "A Microsoft Entra user." + }, + { + "value": "Group", + "description": "A Microsoft Entra group." + }, + { + "value": "ServicePrincipal", + "description": "A Microsoft Entra service principal, typically representing an application or service identity" + } + ] + }, + "x-ms-mutability": [ + "create", + "update", + "read" + ] + }, + "principalName": { + "type": "string", + "description": "Name of the Microsoft Entra principal.", + "x-ms-mutability": [ + "create", + "update", + "read" + ] + }, + "tenantId": { + "type": "string", + "description": "Identifier of the tenant in which the Microsoft Entra principal exists.", + "x-ms-mutability": [ + "create", + "update" + ] + } + }, + "description": "Properties of a server administrator associated to a Microsoft Entra principal." + }, + "AdministratorMicrosoftEntraProperties": { + "type": "object", + "properties": { + "principalType": { + "type": "string", + "description": "Type of Microsoft Entra principal to which the server administrator is associated.", + "enum": [ + "Unknown", + "User", + "Group", + "ServicePrincipal" + ], + "x-ms-enum": { + "name": "PrincipalType", + "modelAsString": true, + "values": [ + { + "value": "Unknown", + "description": "The principal type is not known or not specified." + }, + { + "value": "User", + "description": "A Microsoft Entra user." + }, + { + "value": "Group", + "description": "A Microsoft Entra group." + }, + { + "value": "ServicePrincipal", + "description": "A Microsoft Entra service principal, typically representing an application or service identity" + } + ] + }, + "x-ms-mutability": [ + "create", + "update", + "read" + ] + }, + "principalName": { + "type": "string", + "description": "Name of the Microsoft Entra principal.", + "x-ms-mutability": [ + "create", + "update", + "read" + ] + }, + "objectId": { + "type": "string", + "description": "Object identifier of the Microsoft Entra principal.", + "x-ms-mutability": [ + "create", + "update", + "read" + ] + }, + "tenantId": { + "type": "string", + "description": "Identifier of the tenant in which the Microsoft Entra principal exists.", + "x-ms-mutability": [ + "create", + "update", + "read" + ] + } + }, + "description": "Properties of a server administrator associated to a Microsoft Entra principal." + }, + "AdministratorMicrosoftEntra": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/AdministratorMicrosoftEntraProperties", + "x-ms-client-flatten": true, + "description": "Properties of a server administrator associated to a Microsoft Entra principal." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" + } + ], + "required": [ + "properties" + ], + "description": "Server administrator associated to a Microsoft Entra principal." + }, + "AdministratorMicrosoftEntraList": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AdministratorMicrosoftEntra" + }, + "description": "List of server administrators associated to Microsoft Entra principals." + }, + "nextLink": { + "description": "Link used to get the next page of results.", + "type": "string", + "format": "uri" + } + }, + "description": "List of server administrators associated to Microsoft Entra principals." + } + }, + "parameters": { + "ObjectIdParameter": { + "name": "objectId", + "in": "path", + "required": true, + "type": "string", + "description": "Object identifier of the Microsoft Entra principal.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2025-08-01/AdvancedThreatProtectionSettings.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2025-08-01/AdvancedThreatProtectionSettings.json new file mode 100644 index 000000000000..9dcda05f6078 --- /dev/null +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2025-08-01/AdvancedThreatProtectionSettings.json @@ -0,0 +1,287 @@ +{ + "swagger": "2.0", + "info": { + "title": "PostgreSQLManagementClient", + "description": "The Azure Database for PostgreSQL management API provides create, read, update, and delete functionality for Azure PostgreSQL resources including servers, databases, firewall rules, administrators, log files, configurations, migrations, advanced threat protection settings with new business model.", + "version": "2025-08-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Microsoft Entra OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/advancedThreatProtectionSettings": { + "get": { + "tags": [ + "AdvancedThreatProtectionSettings" + ], + "description": "Lists state of advanced threat protection settings for a server.", + "operationId": "AdvancedThreatProtectionSettings_ListByServer", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/AdvancedThreatProtectionSettingsList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List state of advanced threat protection settings for a server.": { + "$ref": "./examples/AdvancedThreatProtectionSettingsListByServer.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/advancedThreatProtectionSettings/{threatProtectionName}": { + "get": { + "tags": [ + "AdvancedThreatProtectionSettings" + ], + "description": "Gets state of advanced threat protection settings for a server.", + "operationId": "AdvancedThreatProtectionSettings_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/ThreatProtectionNameParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/AdvancedThreatProtectionSettingsModel" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get state of advanced threat protection settings for a server.": { + "$ref": "./examples/AdvancedThreatProtectionSettingsGet.json" + } + } + }, + "put": { + "tags": [ + "AdvancedThreatProtectionSettings" + ], + "description": "Creates or updates a server's Advanced Threat Protection settings.", + "operationId": "ServerThreatProtectionSettings_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/ThreatProtectionNameParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "The Advanced Threat Protection state for the server.", + "required": true, + "schema": { + "$ref": "#/definitions/AdvancedThreatProtectionSettingsModel" + } + } + ], + "responses": { + "202": { + "description": "Accepted.", + "headers": { + "Location": { + "type": "string" + }, + "Azure-AsyncOperation": { + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Update the advanced threat protection settings of a server.": { + "$ref": "./examples/AdvancedThreatProtectionSettingsCreateOrUpdate.json" + } + } + } + } + }, + "definitions": { + "AdvancedThreatProtectionSettingsProperties": { + "description": "Properties of advanced threat protection state for a server.", + "required": [ + "state" + ], + "type": "object", + "properties": { + "state": { + "description": "Specifies the state of the advanced threat protection, whether it is enabled, disabled, or a state has not been applied yet on the server.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "ThreatProtectionState", + "modelAsString": false, + "values": [ + { + "value": "Enabled", + "description": "Advanced threat protection is enabled." + }, + { + "value": "Disabled", + "description": "Advanced threat protection is disabled." + } + ] + } + }, + "creationTime": { + "format": "date-time", + "description": "Specifies the creation time (UTC) of the policy.", + "type": "string", + "readOnly": true + } + } + }, + "AdvancedThreatProtectionSettingsModel": { + "description": "Advanced threat protection settings of the server.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/AdvancedThreatProtectionSettingsProperties", + "description": "Advanced threat protection properties.", + "x-ms-client-flatten": true + } + } + }, + "AdvancedThreatProtectionSettingsList": { + "description": "List of advanced threat protection settings for a server.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/AdvancedThreatProtectionSettingsModel" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link used to get the next page of results.", + "type": "string", + "format": "uri" + } + } + } + }, + "parameters": { + "ThreatProtectionNameParameter": { + "name": "threatProtectionName", + "in": "path", + "description": "Name of the advanced threat protection settings.", + "required": true, + "type": "string", + "enum": [ + "Default" + ], + "x-ms-enum": { + "name": "ThreatProtectionName", + "modelAsString": true, + "values": [ + { + "value": "Default", + "description": "Default advanced threat protection settings." + } + ] + }, + "pattern": "^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2025-08-01/BackupsAutomaticAndOnDemand.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2025-08-01/BackupsAutomaticAndOnDemand.json new file mode 100644 index 000000000000..34f5094746b6 --- /dev/null +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2025-08-01/BackupsAutomaticAndOnDemand.json @@ -0,0 +1,321 @@ +{ + "swagger": "2.0", + "info": { + "title": "PostgreSQLManagementClient", + "description": "The Azure Database for PostgreSQL management API provides create, read, update, and delete functionality for Azure PostgreSQL resources including servers, databases, firewall rules, network configuration, security alert policies, log files and configurations with new business model.", + "version": "2025-08-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Microsoft Entra OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/backups/{backupName}": { + "put": { + "tags": [ + "BackupsAutomaticAndOnDemand" + ], + "operationId": "BackupsAutomaticAndOnDemand_Create", + "x-ms-examples": { + "Create an on demand backup of a server.": { + "$ref": "./examples/BackupsAutomaticAndOnDemandCreate.json" + } + }, + "description": "Creates an on demand backup of a server.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/BackupNameParameter" + } + ], + "responses": { + "202": { + "description": "Accepted.", + "headers": { + "Location": { + "type": "string" + }, + "Azure-AsyncOperation": { + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "tags": [ + "BackupsAutomaticAndOnDemand" + ], + "operationId": "BackupsAutomaticAndOnDemand_Delete", + "x-ms-examples": { + "Delete an on demand backup, given its name.": { + "$ref": "./examples/BackupsAutomaticAndOnDemandDelete.json" + } + }, + "description": "Deletes a specific backup, given its name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/BackupNameParameter" + } + ], + "responses": { + "202": { + "description": "Accepted.", + "headers": { + "Location": { + "type": "string" + }, + "Azure-AsyncOperation": { + "type": "string" + } + } + }, + "204": { + "description": "No Content." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "BackupsAutomaticAndOnDemand" + ], + "operationId": "BackupsAutomaticAndOnDemand_Get", + "x-ms-examples": { + "Get an on demand backup, given its name.": { + "$ref": "./examples/BackupsAutomaticAndOnDemandGet.json" + } + }, + "description": "Gets information of an on demand backup, given its name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/BackupNameParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/BackupAutomaticAndOnDemand" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/backups": { + "get": { + "tags": [ + "BackupsAutomaticAndOnDemand" + ], + "operationId": "BackupsAutomaticAndOnDemand_ListByServer", + "x-ms-examples": { + "List all available backups of a server.": { + "$ref": "./examples/BackupsAutomaticAndOnDemandListByServer.json" + } + }, + "description": "Lists all available backups of a server.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/BackupAutomaticAndOnDemandList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "BackupAutomaticAndOnDemandProperties": { + "type": "object", + "properties": { + "backupType": { + "type": "string", + "description": "Type of backup.", + "enum": [ + "Full", + "Customer On-Demand" + ], + "x-ms-enum": { + "name": "BackupType", + "modelAsString": true, + "values": [ + { + "value": "Full", + "description": "A full backup taken automatically by the service. These backups are retained for a period of time as defined by the backup retention policy, and they cannot be deleted by the customer." + }, + { + "value": "Customer On-Demand", + "description": "A full backup triggered by the customer. These backups are retained for a period of time as defined by the backup retention policy, and they can also be deleted by the customer." + } + ] + } + }, + "completedTime": { + "type": "string", + "format": "date-time", + "description": "Time(ISO8601 format) at which the backup was completed." + }, + "source": { + "type": "string", + "description": "Source of the backup." + } + }, + "description": "Properties of a backup." + }, + "BackupAutomaticAndOnDemand": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/BackupAutomaticAndOnDemandProperties", + "x-ms-client-flatten": true, + "description": "Properties of a backup." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" + } + ], + "description": "Properties of a backup." + }, + "BackupAutomaticAndOnDemandList": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/BackupAutomaticAndOnDemand" + }, + "description": "List of available backups." + }, + "nextLink": { + "description": "Link used to get the next page of results.", + "type": "string", + "format": "uri" + } + }, + "description": "List of backups." + } + }, + "parameters": { + "BackupNameParameter": { + "name": "backupName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the backup.", + "minLength": 1, + "pattern": "^[-\\w\\._]+$", + "maxLength": 128, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2025-08-01/BackupsLongTermRetention.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2025-08-01/BackupsLongTermRetention.json new file mode 100644 index 000000000000..8df7f3d78906 --- /dev/null +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2025-08-01/BackupsLongTermRetention.json @@ -0,0 +1,537 @@ +{ + "swagger": "2.0", + "info": { + "title": "PostgreSQLManagementClient", + "description": "The Azure Database for PostgreSQL management API provides create, read, update, and delete functionality for Azure PostgreSQL resources including servers, databases, firewall rules, network configuration, security alert policies, log files and configurations with new business model.", + "version": "2025-08-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Microsoft Entra OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/ltrPreBackup": { + "post": { + "description": "Performs all checks required for a long term retention backup operation to succeed.", + "tags": [ + "BackupsLongTermRetention" + ], + "operationId": "BackupsLongTermRetention_CheckPrerequisites", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "Request body for operation", + "required": true, + "schema": { + "$ref": "#/definitions/LtrPreBackupRequest" + } + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/LtrPreBackupResponse" + }, + "headers": { + "x-ms-request-id": { + "description": "A unique ID for the current operation, service generated. All the resource providers must return this value in the response headers to facilitate debugging.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "description": "ErrorCode string in the event of a failure.", + "type": "string" + }, + "x-ms-request-id": { + "description": "A unique ID for the current operation, service generated. All the resource providers must return this value in the response headers to facilitate debugging.", + "type": "string" + } + } + } + }, + "x-ms-examples": { + "Perform all checks required for a long term retention backup operation to succeed.": { + "$ref": "./examples/BackupsLongTermRetentionCheckPrerequisites.json" + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/startLtrBackup": { + "post": { + "description": "Initiates a long term retention backup.", + "tags": [ + "BackupsLongTermRetention" + ], + "operationId": "BackupsLongTermRetention_Start", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "Request body for operation", + "required": true, + "schema": { + "$ref": "#/definitions/BackupsLongTermRetentionRequest" + } + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/BackupsLongTermRetentionResponse" + }, + "headers": { + "x-ms-request-id": { + "description": "A unique ID for the current operation, service generated. All the resource providers must return this value in the response headers to facilitate debugging.", + "type": "string" + } + } + }, + "202": { + "description": "Accepted.", + "headers": { + "Retry-After": { + "description": "The number of seconds to wait before checking the status of the asynchronous operation.", + "type": "integer", + "format": "int32" + }, + "x-ms-request-id": { + "description": "A unique ID for the current operation, service generated. All the resource providers must return this value in the response headers to facilitate debugging.", + "type": "string" + }, + "Location": { + "description": "URL to retrieve the final result after operation completes.", + "type": "string" + }, + "Azure-AsyncOperation": { + "description": "URL for checking the ongoing status of the operation.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "description": "ErrorCode string in the event of a failure.", + "type": "string" + }, + "x-ms-request-id": { + "description": "A unique ID for the current operation, service generated. All the resource providers must return this value in the response headers to facilitate debugging.", + "type": "string" + } + } + } + }, + "x-ms-examples": { + "Initiate a long term retention backup.": { + "$ref": "./examples/BackupsLongTermRetentionStart.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/ltrBackupOperations/{backupName}": { + "get": { + "tags": [ + "BackupsLongTermRetention" + ], + "operationId": "BackupsLongTermRetention_Get", + "x-ms-examples": { + "Get the results of a long retention backup operation for a server.": { + "$ref": "./examples/BackupsLongTermRetentionGet.json" + } + }, + "description": "Gets the results of a long retention backup operation for a server.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/BackupNameParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/BackupsLongTermRetentionOperation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/ltrBackupOperations": { + "get": { + "tags": [ + "BackupsLongTermRetention" + ], + "operationId": "BackupsLongTermRetention_ListByServer", + "x-ms-examples": { + "List the results of the long term retention backup operations for a server.": { + "$ref": "./examples/BackupsLongTermRetentionListByServer.json" + } + }, + "description": "Lists the results of the long term retention backup operations for a server.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/LtrServerBackupOperationList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "BackupRequestBase": { + "description": "BackupRequestBase is the base for all backup request.", + "required": [ + "backupSettings" + ], + "type": "object", + "properties": { + "backupSettings": { + "$ref": "#/definitions/BackupSettings", + "description": "Backup Settings" + } + } + }, + "BackupsLongTermRetentionRequest": { + "description": "The request that is made for a long term retention backup.", + "type": "object", + "properties": { + "targetDetails": { + "$ref": "#/definitions/BackupStoreDetails", + "description": "Backup store detail for target server" + } + }, + "allOf": [ + { + "$ref": "#/definitions/BackupRequestBase" + } + ], + "required": [ + "targetDetails" + ] + }, + "LtrPreBackupRequest": { + "description": "A request that is made for pre-backup.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BackupRequestBase" + } + ] + }, + "BackupSettings": { + "description": "The settings for the long term backup.", + "type": "object", + "required": [ + "backupName" + ], + "properties": { + "backupName": { + "type": "string", + "description": "Backup Name for the current backup" + } + } + }, + "BackupStoreDetails": { + "description": "Details about the target where the backup content will be stored.", + "required": [ + "sasUriList" + ], + "type": "object", + "properties": { + "sasUriList": { + "description": "List of SAS uri of storage containers where backup data is to be streamed/copied.", + "type": "array", + "items": { + "type": "string", + "description": "SAS URI of Azure Storage Account Container.", + "x-ms-secret": true + } + } + } + }, + "BackupsLongTermRetentionResponseProperties": { + "description": "Response for the pre-backup request.", + "type": "object", + "required": [ + "numberOfContainers" + ], + "properties": { + "numberOfContainers": { + "format": "int32", + "description": "Number of storage containers the plugin will use during backup. More than one containers may be used for size limitations, parallelism, or redundancy etc.", + "type": "integer" + } + } + }, + "LtrBackupOperationResponseProperties": { + "description": "Response for the backup request.", + "type": "object", + "required": [ + "status", + "startTime" + ], + "properties": { + "datasourceSizeInBytes": { + "format": "int64", + "description": "Size of datasource in bytes", + "type": "integer" + }, + "dataTransferredInBytes": { + "format": "int64", + "description": "Data transferred in bytes", + "type": "integer" + }, + "backupName": { + "description": "Name of Backup operation", + "type": "string" + }, + "backupMetadata": { + "description": "Metadata to be stored in RP. Store everything that will be required to perform a successful restore using this Recovery point. e.g. Versions, DataFormat etc", + "type": "string" + }, + "status": { + "description": "Service-set extensible enum indicating the status of operation", + "enum": [ + "Running", + "Cancelled", + "Failed", + "Succeeded" + ], + "type": "string", + "x-ms-enum": { + "name": "ExecutionStatus", + "modelAsString": true, + "values": [ + { + "value": "Running", + "description": "The operation is currently running." + }, + { + "value": "Cancelled", + "description": "The operation was cancelled." + }, + { + "value": "Failed", + "description": "The operation failed." + }, + { + "value": "Succeeded", + "description": "The operation succeeded." + } + ] + } + }, + "startTime": { + "description": "Start time of the operation.", + "format": "date-time", + "type": "string" + }, + "endTime": { + "description": "End time of the operation.", + "format": "date-time", + "type": "string" + }, + "percentComplete": { + "description": "PercentageCompleted", + "format": "double", + "type": "number", + "minimum": 0, + "maximum": 100 + }, + "errorCode": { + "readOnly": true, + "type": "string", + "description": "The error code." + }, + "errorMessage": { + "readOnly": true, + "type": "string", + "description": "The error message." + } + } + }, + "BackupsLongTermRetentionResponse": { + "description": "Response for the LTR backup API call", + "type": "object", + "properties": { + "properties": { + "description": "Long Term Retention Backup Operation Resource Properties", + "x-ms-client-flatten": true, + "$ref": "#/definitions/LtrBackupOperationResponseProperties" + } + } + }, + "BackupsLongTermRetentionOperation": { + "description": "Response for the LTR backup Operation API call", + "type": "object", + "required": [ + "id", + "name" + ], + "properties": { + "properties": { + "description": "Long Term Retention Backup Operation Resource Properties", + "x-ms-client-flatten": true, + "$ref": "#/definitions/LtrBackupOperationResponseProperties" + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" + } + ] + }, + "LtrServerBackupOperationList": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/BackupsLongTermRetentionOperation" + }, + "description": "The list of long term retention server backup operations" + }, + "nextLink": { + "description": "The link used to get the next page of operations.", + "type": "string", + "format": "uri" + } + }, + "description": "A list of long term retention backup operations for server." + }, + "LtrPreBackupResponse": { + "description": "Response for the LTR pre-backup API call", + "type": "object", + "required": [ + "properties" + ], + "properties": { + "properties": { + "description": "Additional Properties for the pre backup response", + "x-ms-client-flatten": true, + "$ref": "#/definitions/BackupsLongTermRetentionResponseProperties" + } + } + } + }, + "parameters": { + "BackupNameParameter": { + "name": "backupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the backup.", + "x-ms-parameter-location": "method", + "pattern": "^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*" + } + } +} diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2025-08-01/Capabilities.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2025-08-01/Capabilities.json new file mode 100644 index 000000000000..437e66b57d60 --- /dev/null +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2025-08-01/Capabilities.json @@ -0,0 +1,775 @@ +{ + "swagger": "2.0", + "info": { + "title": "PostgreSQLManagementClient", + "description": "The Azure Database for PostgreSQL management API provides create, read, update, and delete functionality for Azure PostgreSQL resources including servers, databases, firewall rules, network configuration, security alert policies, log files and configurations with new business model.", + "version": "2025-08-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Microsoft Entra OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DBforPostgreSQL/locations/{locationName}/capabilities": { + "get": { + "tags": [ + "CapabilitiesByLocation" + ], + "operationId": "CapabilitiesByLocation_List", + "x-ms-examples": { + "List the capabilities available in a given location for a specific subscription.": { + "$ref": "./examples/CapabilitiesByLocationList.json" + } + }, + "description": "Lists the capabilities available in a given location for a specific subscription.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../types/common-types.json#/parameters/LocationNameParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/CapabilityList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/capabilities": { + "get": { + "tags": [ + "CapabilitiesByServer" + ], + "operationId": "CapabilitiesByServer_List", + "x-ms-examples": { + "List the capabilities available for a given server.": { + "$ref": "./examples/CapabilitiesByServerList.json" + } + }, + "description": "Lists the capabilities available for a given server.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/CapabilityList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "StorageTierCapability": { + "type": "object", + "description": "Capability of a storage tier.", + "properties": { + "name": { + "type": "string", + "description": "Name of the storage tier.", + "readOnly": true + }, + "iops": { + "type": "integer", + "format": "int32", + "description": "Supported IOPS for the storage tier.", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "../../../types/common-types.json#/definitions/CapabilityBase" + } + ] + }, + "StorageMbCapability": { + "type": "object", + "properties": { + "supportedIops": { + "type": "integer", + "format": "int32", + "description": "Minimum IOPS supported by the storage size.", + "readOnly": true + }, + "supportedMaximumIops": { + "type": "integer", + "format": "int32", + "description": "Maximum IOPS supported by the storage size.", + "readOnly": true + }, + "storageSizeMb": { + "type": "integer", + "format": "int64", + "description": "Minimum supported size (in MB) of storage.", + "readOnly": true + }, + "maximumStorageSizeMb": { + "type": "integer", + "format": "int64", + "description": "Maximum supported size (in MB) of storage.", + "readOnly": true + }, + "supportedThroughput": { + "type": "integer", + "format": "int32", + "description": "Minimum supported throughput (in MB/s) of storage.", + "readOnly": true + }, + "supportedMaximumThroughput": { + "type": "integer", + "format": "int32", + "description": "Maximum supported throughput (in MB/s) of storage.", + "readOnly": true + }, + "defaultIopsTier": { + "type": "string", + "description": "Default IOPS for this tier and storage size.", + "readOnly": true + }, + "supportedIopsTiers": { + "type": "array", + "description": "List of all supported storage tiers for this tier and storage size.", + "items": { + "$ref": "#/definitions/StorageTierCapability" + }, + "x-ms-identifiers": [ + "name" + ], + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "../../../types/common-types.json#/definitions/CapabilityBase" + } + ], + "description": "Storage size (in MB) capability." + }, + "ServerSkuCapability": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the compute (SKU).", + "readOnly": true + }, + "vCores": { + "type": "integer", + "format": "int32", + "description": "vCores available for this compute.", + "readOnly": true + }, + "supportedIops": { + "type": "integer", + "format": "int32", + "description": "Maximum IOPS supported by this compute.", + "readOnly": true + }, + "supportedMemoryPerVcoreMb": { + "type": "integer", + "format": "int64", + "description": "Supported memory (in MB) per virtual core assigned to this compute.", + "readOnly": true + }, + "supportedZones": { + "type": "array", + "description": "List of supported availability zones. E.g. '1', '2', '3'", + "items": { + "type": "string" + }, + "readOnly": true + }, + "supportedHaMode": { + "type": "array", + "items": { + "type": "string", + "description": "Modes of high availability supported for this compute.", + "enum": [ + "SameZone", + "ZoneRedundant" + ], + "x-ms-enum": { + "name": "HighAvailabilityMode", + "modelAsString": true, + "values": [ + { + "value": "ZoneRedundant", + "description": "High availability is enabled for the server, with standby server in a different availability zone than that of the primary." + }, + { + "value": "SameZone", + "description": "High availability is enabled for the server, with standby server in the same availability zone as the primary." + } + ] + } + }, + "description": "Modes of high availability supported for this compute.", + "readOnly": true + }, + "supportedFeatures": { + "type": "array", + "description": "Features supported.", + "items": { + "$ref": "#/definitions/SupportedFeature" + }, + "x-ms-identifiers": [ + "name" + ], + "readOnly": true + }, + "securityProfile": { + "type": "string", + "description": "Security profile of the compute. Indicates if it's a Confidential Compute virtual machine.", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "../../../types/common-types.json#/definitions/CapabilityBase" + } + ], + "description": "Capabilities in terms of compute." + }, + "ServerVersion": { + "type": "string", + "description": "Major version of PostgreSQL database engine.", + "enum": [ + "18", + "17", + "16", + "15", + "14", + "13", + "12", + "11" + ], + "x-ms-enum": { + "name": "PostgresMajorVersion", + "modelAsString": true, + "values": [ + { + "value": "18", + "description": "PostgreSQL 18." + }, + { + "value": "17", + "description": "PostgreSQL 17." + }, + { + "value": "16", + "description": "PostgreSQL 16." + }, + { + "value": "15", + "description": "PostgreSQL 15." + }, + { + "value": "14", + "description": "PostgreSQL 14." + }, + { + "value": "13", + "description": "PostgreSQL 13." + }, + { + "value": "12", + "description": "PostgreSQL 12." + }, + { + "value": "11", + "description": "PostgreSQL 11." + } + ] + } + }, + "ServerVersionCapability": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Major version of PostgreSQL database engine.", + "readOnly": true + }, + "supportedVersionsToUpgrade": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Major versions of PostgreSQL database engine to which this version can be automatically upgraded.", + "readOnly": true + }, + "supportedFeatures": { + "type": "array", + "description": "Features supported.", + "items": { + "$ref": "#/definitions/SupportedFeature" + }, + "x-ms-identifiers": [ + "name" + ], + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "../../../types/common-types.json#/definitions/CapabilityBase" + } + ], + "description": "Capabilities in terms of major versions of PostgreSQL database engine." + }, + "StorageEditionCapability": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of storage tier.", + "readOnly": true + }, + "defaultStorageSizeMb": { + "type": "integer", + "format": "int64", + "description": "Default storage size (in MB) for this storage tier.", + "readOnly": true + }, + "supportedStorageMb": { + "type": "array", + "description": "Configurations of storage supported for this storage tier.", + "items": { + "$ref": "#/definitions/StorageMbCapability" + }, + "x-ms-identifiers": [ + "storageSizeMb" + ], + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "../../../types/common-types.json#/definitions/CapabilityBase" + } + ], + "description": "Capabilities in terms of storage tier." + }, + "SupportedFeature": { + "type": "object", + "description": "Features supported.", + "properties": { + "name": { + "type": "string", + "description": "Name of the feature.", + "readOnly": true + }, + "status": { + "type": "string", + "description": "Status of the feature. Indicates if the feature is enabled or not.", + "readOnly": true, + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "FeatureStatus", + "modelAsString": true, + "values": [ + { + "value": "Enabled", + "description": "Feature is enabled." + }, + { + "value": "Disabled", + "description": "Feature is disabled." + } + ] + } + } + } + }, + "FastProvisioningEditionCapability": { + "type": "object", + "description": "Capability of a fast provisioning compute tier.", + "properties": { + "supportedTier": { + "type": "string", + "description": "Compute tier supporting fast provisioning.", + "readOnly": true + }, + "supportedSku": { + "type": "string", + "description": "Compute name (SKU) supporting fast provisioning.", + "readOnly": true + }, + "supportedStorageGb": { + "type": "integer", + "format": "int32", + "description": "Storage size (in GB) supporting fast provisioning.", + "readOnly": true + }, + "supportedServerVersions": { + "type": "string", + "description": "Major version of PostgreSQL database engine supporting fast provisioning.", + "readOnly": true + }, + "serverCount": { + "type": "integer", + "description": "Count of servers in cache matching this specification.", + "format": "int32", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "../../../types/common-types.json#/definitions/CapabilityBase" + } + ] + }, + "ServerEditionCapability": { + "type": "object", + "allOf": [ + { + "$ref": "../../../types/common-types.json#/definitions/CapabilityBase" + } + ], + "properties": { + "name": { + "type": "string", + "description": "Name of compute tier.", + "readOnly": true + }, + "defaultSkuName": { + "type": "string", + "description": "Default compute name (SKU) for this computer tier.", + "readOnly": true + }, + "supportedStorageEditions": { + "type": "array", + "items": { + "$ref": "#/definitions/StorageEditionCapability" + }, + "description": "List of storage editions supported by this compute tier and compute name.", + "readOnly": true, + "x-ms-identifiers": [ + "name" + ] + }, + "supportedServerSkus": { + "type": "array", + "description": "List of supported compute names (SKUs).", + "items": { + "$ref": "#/definitions/ServerSkuCapability" + }, + "x-ms-identifiers": [ + "name" + ], + "readOnly": true + } + }, + "description": "Capabilities in terms of compute tier." + }, + "Capability": { + "type": "object", + "allOf": [ + { + "$ref": "../../../types/common-types.json#/definitions/CapabilityBase" + } + ], + "properties": { + "name": { + "type": "string", + "description": "Name of flexible servers capabilities." + }, + "supportedServerEditions": { + "type": "array", + "items": { + "$ref": "#/definitions/ServerEditionCapability" + }, + "x-ms-identifiers": [ + "name" + ], + "readOnly": true, + "description": "List of supported compute tiers." + }, + "supportedServerVersions": { + "type": "array", + "items": { + "$ref": "#/definitions/ServerVersionCapability" + }, + "x-ms-identifiers": [ + "name" + ], + "description": "List of supported major versions of PostgreSQL database engine.", + "readOnly": true + }, + "supportedFeatures": { + "type": "array", + "description": "Features supported.", + "items": { + "$ref": "#/definitions/SupportedFeature" + }, + "x-ms-identifiers": [ + "name" + ], + "readOnly": true + }, + "fastProvisioningSupported": { + "type": "string", + "description": "Indicates if fast provisioning is supported. 'Enabled' means fast provisioning is supported. 'Disabled' stands for fast provisioning is not supported. Will be deprecated in the future. Look to Supported Features for 'FastProvisioning'.", + "readOnly": true, + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "FastProvisioningSupport", + "modelAsString": true, + "values": [ + { + "value": "Enabled", + "description": "Fast provisioning is supported." + }, + { + "value": "Disabled", + "description": "Fast provisioning is not supported." + } + ] + } + }, + "supportedFastProvisioningEditions": { + "type": "array", + "description": "List of compute tiers supporting fast provisioning.", + "items": { + "$ref": "#/definitions/FastProvisioningEditionCapability" + }, + "x-ms-identifiers": [ + "supportedSku" + ], + "readOnly": true + }, + "geoBackupSupported": { + "type": "string", + "description": "Indicates if geographically redundant backups are supported in this location. 'Enabled' means geographically redundant backups are supported. 'Disabled' stands for geographically redundant backup is not supported. Will be deprecated in the future. Look to Supported Features for 'GeoBackup'.", + "readOnly": true, + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "GeographicallyRedundantBackupSupport", + "modelAsString": true, + "values": [ + { + "value": "Enabled", + "description": "Geographically redundant backups are supported." + }, + { + "value": "Disabled", + "description": "Geographically redundant backups are not supported." + } + ] + } + }, + "zoneRedundantHaSupported": { + "type": "string", + "description": "Indicates if high availability with zone redundancy is supported in this location. 'Enabled' means high availability with zone redundancy is supported. 'Disabled' stands for high availability with zone redundancy is not supported. Will be deprecated in the future. Look to Supported Features for 'ZoneRedundantHa'.", + "readOnly": true, + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "ZoneRedundantHighAvailabilitySupport", + "modelAsString": true, + "values": [ + { + "value": "Enabled", + "description": "High availability with zone redundancy is supported." + }, + { + "value": "Disabled", + "description": "High availability with zone redundancy is not supported." + } + ] + } + }, + "zoneRedundantHaAndGeoBackupSupported": { + "type": "string", + "description": "Indicates if high availability with zone redundancy is supported in conjunction with geographically redundant backups in this location. 'Enabled' means high availability with zone redundancy is supported in conjunction with geographically redundant backups is supported. 'Disabled' stands for high availability with zone redundancy is supported in conjunction with geographically redundant backups is not supported. Will be deprecated in the future. Look to Supported Features for 'ZoneRedundantHaAndGeoBackup'.", + "readOnly": true, + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "ZoneRedundantHighAvailabilityAndGeographicallyRedundantBackupSupport", + "modelAsString": true, + "values": [ + { + "value": "Enabled", + "description": "High availability with zone redundancy is supported in conjunction with geographically redundant backups." + }, + { + "value": "Disabled", + "description": "High availability with zone redundancy is not supported in conjunction with geographically redundant backups." + } + ] + } + }, + "storageAutoGrowthSupported": { + "type": "string", + "description": "Indicates if storage autogrow is supported in this location. 'Enabled' means storage autogrow is supported. 'Disabled' stands for storage autogrow is not supported. Will be deprecated in the future. Look to Supported Features for 'StorageAutoGrowth'.", + "readOnly": true, + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "StorageAutoGrowthSupport", + "modelAsString": true, + "values": [ + { + "value": "Enabled", + "description": "Storage autogrow is supported." + }, + { + "value": "Disabled", + "description": "Storage autogrow is not supported." + } + ] + } + }, + "onlineResizeSupported": { + "type": "string", + "description": "Indicates if resizing the storage, without interrupting the operation of the database engine, is supported in this location for the given subscription. 'Enabled' means resizing the storage without interrupting the operation of the database engine is supported. 'Disabled' means resizing the storage without interrupting the operation of the database engine is not supported. Will be deprecated in the future. Look to Supported Features for 'OnlineResize'.", + "readOnly": true, + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "OnlineStorageResizeSupport", + "modelAsString": true, + "values": [ + { + "value": "Enabled", + "description": "Resizing the storage without interrupting the operation of the database engine is supported." + }, + { + "value": "Disabled", + "description": "Resizing the storage without interrupting the operation of the database engine is not supported." + } + ] + } + }, + "restricted": { + "type": "string", + "description": "Indicates if this location is restricted. 'Enabled' means location is restricted. 'Disabled' stands for location is not restricted. Will be deprecated in the future. Look to Supported Features for 'Restricted'.", + "readOnly": true, + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "LocationRestricted", + "modelAsString": true, + "values": [ + { + "value": "Enabled", + "description": "Location is restricted." + }, + { + "value": "Disabled", + "description": "Location is not restricted." + } + ] + } + } + }, + "description": "Capability for the Azure Database for PostgreSQL flexible server." + }, + "CapabilityList": { + "type": "object", + "properties": { + "value": { + "description": "List of supported capabilities.", + "type": "array", + "items": { + "$ref": "#/definitions/Capability" + }, + "x-ms-identifiers": [ + "name" + ], + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "format": "uri" + } + }, + "description": "List of capabilities for the Azure Database for PostgreSQL flexible server." + } + }, + "parameters": {} +} diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2025-08-01/CapturedLogs.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2025-08-01/CapturedLogs.json new file mode 100644 index 000000000000..03cb1302f157 --- /dev/null +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2025-08-01/CapturedLogs.json @@ -0,0 +1,149 @@ +{ + "swagger": "2.0", + "info": { + "title": "PostgreSQLManagementClient", + "description": "The Azure Database for PostgreSQL management API provides create, read, update, and delete functionality for Azure PostgreSQL resources including servers, databases, firewall rules, network configuration, security alert policies, log files and configurations with new business model.", + "version": "2025-08-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Microsoft Entra OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/logFiles": { + "get": { + "tags": [ + "CapturedLogs" + ], + "operationId": "CapturedLogs_ListByServer", + "x-ms-examples": { + "List all captured logs for download in a server.": { + "$ref": "./examples/CapturedLogsListByServer.json" + } + }, + "description": "Lists all captured logs for download in a server.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/CapturedLogList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "CapturedLogProperties": { + "type": "object", + "properties": { + "createdTime": { + "type": "string", + "format": "date-time", + "description": "Creation timestamp of the log file." + }, + "lastModifiedTime": { + "type": "string", + "format": "date-time", + "description": "Last modified timestamp of the log file." + }, + "sizeInKb": { + "type": "integer", + "format": "int64", + "description": "Size (in KB) of the log file." + }, + "type": { + "type": "string", + "description": "Type of log file. Can be 'ServerLogs' or 'UpgradeLogs'." + }, + "url": { + "type": "string", + "description": "URL to download the log file from." + } + }, + "description": "Properties of a log file." + }, + "CapturedLog": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/CapturedLogProperties", + "x-ms-client-flatten": true, + "description": "Properties of a log file." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" + } + ], + "description": "Log file." + }, + "CapturedLogList": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/CapturedLog" + }, + "description": "List of log files in a server." + }, + "nextLink": { + "description": "Link used to get the next page of results.", + "type": "string", + "format": "uri" + } + }, + "description": "List of log files." + } + }, + "parameters": {} +} diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2025-08-01/Configurations.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2025-08-01/Configurations.json new file mode 100644 index 000000000000..4eb9d7f418ea --- /dev/null +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2025-08-01/Configurations.json @@ -0,0 +1,407 @@ +{ + "swagger": "2.0", + "info": { + "title": "PostgreSQLManagementClient", + "description": "The Azure Database for PostgreSQL management API provides create, read, update, and delete functionality for Azure PostgreSQL resources including servers, databases, firewall rules, network configuration, security alert policies, log files and configurations with new business model.", + "version": "2025-08-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Microsoft Entra OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/configurations": { + "get": { + "tags": [ + "Configurations" + ], + "operationId": "Configurations_ListByServer", + "x-ms-examples": { + "List all configurations (also known as server parameters) of a server.": { + "$ref": "./examples/ConfigurationsListByServer.json" + } + }, + "description": "Lists all configurations (also known as server parameters) of a server.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/ConfigurationList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/configurations/{configurationName}": { + "get": { + "tags": [ + "Configurations" + ], + "operationId": "Configurations_Get", + "x-ms-examples": { + "Get information about a specific configuration (also known as server parameter) of a server.": { + "$ref": "./examples/ConfigurationsGet.json" + } + }, + "description": "Gets information about a specific configuration (also known as server parameter) of a server.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/ConfigurationNameParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/Configuration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "Configurations" + ], + "operationId": "Configurations_Update", + "x-ms-examples": { + "Update the value assigned to a specific modifiable configuration (also known as server parameter) of a server.": { + "$ref": "./examples/ConfigurationsUpdate.json" + } + }, + "description": "Updates the value assigned to a specific modifiable configuration (also known as server parameter) of a server.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/ConfigurationNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ConfigurationForUpdate" + }, + "description": "Parameters required to update the value of a specific modifiable configuration (also known as server parameter)." + } + ], + "responses": { + "202": { + "description": "Accepted.", + "headers": { + "Location": { + "type": "string" + }, + "Azure-AsyncOperation": { + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "put": { + "tags": [ + "Configurations" + ], + "operationId": "Configurations_Put", + "x-ms-examples": { + "Update, using Put verb, the value assigned to a specific modifiable configuration (also known as server parameter) of a server.": { + "$ref": "./examples/ConfigurationsUpdateUsingPut.json" + } + }, + "description": "Updates, using Put verb, the value assigned to a specific modifiable configuration (also known as server parameter) of a server.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/ConfigurationNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ConfigurationForUpdate" + }, + "description": "Parameters required to update the value of a specific modifiable configuration (also known as server parameter)." + } + ], + "responses": { + "202": { + "description": "Accepted.", + "headers": { + "Location": { + "type": "string" + }, + "Azure-AsyncOperation": { + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + } + }, + "definitions": { + "ConfigurationProperties": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "Value of the configuration (also known as server parameter). Required to update the value assigned to a specific modifiable configuration." + }, + "description": { + "type": "string", + "readOnly": true, + "description": "Description of the configuration (also known as server parameter)." + }, + "defaultValue": { + "type": "string", + "readOnly": true, + "description": "Value assigned by default to the configuration (also known as server parameter)." + }, + "dataType": { + "type": "string", + "readOnly": true, + "description": "Data type of the configuration (also known as server parameter).", + "enum": [ + "Boolean", + "Numeric", + "Integer", + "Enumeration", + "String", + "Set" + ], + "x-ms-enum": { + "name": "ConfigurationDataType", + "modelAsString": true, + "values": [ + { + "value": "Boolean", + "description": "A boolean value." + }, + { + "value": "Numeric", + "description": "A numeric value." + }, + { + "value": "Integer", + "description": "An integer value." + }, + { + "value": "Enumeration", + "description": "An enumeration value." + }, + { + "value": "String", + "description": "A string value." + }, + { + "value": "Set", + "description": "A set of values." + } + ] + } + }, + "allowedValues": { + "type": "string", + "readOnly": true, + "description": "Allowed values of the configuration (also known as server parameter)." + }, + "source": { + "type": "string", + "description": "Source of the value assigned to the configuration (also known as server parameter). Required to update the value assigned to a specific modifiable configuration." + }, + "isDynamicConfig": { + "type": "boolean", + "readOnly": true, + "description": "Indicates if it's a dynamic (true) or static (false) configuration (also known as server parameter). Static server parameters require a server restart after changing the value assigned to them, for the change to take effect. Dynamic server parameters do not require a server restart after changing the value assigned to them, for the change to take effect." + }, + "isReadOnly": { + "type": "boolean", + "readOnly": true, + "description": "Indicates if it's a read-only (true) or modifiable (false) configuration (also known as server parameter)." + }, + "isConfigPendingRestart": { + "type": "boolean", + "readOnly": true, + "description": "Indicates if the value assigned to the configuration (also known as server parameter) is pending a server restart for it to take effect." + }, + "unit": { + "type": "string", + "readOnly": true, + "description": "Units in which the configuration (also known as server parameter) value is expressed." + }, + "documentationLink": { + "type": "string", + "readOnly": true, + "description": "Link pointing to the documentation of the configuration (also known as server parameter)." + } + }, + "description": "Properties of a configuration (also known as server parameter)." + }, + "Configuration": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/ConfigurationProperties", + "x-ms-client-flatten": true, + "description": "Properties of a configuration (also known as server parameter)." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" + } + ], + "description": "Configuration (also known as server parameter)." + }, + "ConfigurationForUpdate": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/ConfigurationProperties", + "x-ms-client-flatten": true, + "description": "Properties of a configuration (also known as server parameter)." + } + }, + "description": "Configuration (also known as server parameter)." + }, + "ConfigurationList": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Configuration" + }, + "description": "List of configurations (also known as server parameters)." + }, + "nextLink": { + "description": "Link used to get the next page of results.", + "type": "string", + "format": "uri" + } + }, + "description": "List of configurations (also known as server parameters)." + } + }, + "parameters": { + "ConfigurationNameParameter": { + "name": "configurationName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the configuration (also known as server parameter).", + "minLength": 1, + "pattern": "^[-\\w\\._]+$", + "maxLength": 256, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2025-08-01/Databases.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2025-08-01/Databases.json new file mode 100644 index 000000000000..e34e7ca38c4f --- /dev/null +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2025-08-01/Databases.json @@ -0,0 +1,309 @@ +{ + "swagger": "2.0", + "info": { + "title": "PostgreSQLManagementClient", + "description": "The Azure Database for PostgreSQL management API provides create, read, update, and delete functionality for Azure PostgreSQL resources including servers, databases, firewall rules, network configuration, security alert policies, log files and configurations with new business model.", + "version": "2025-08-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Microsoft Entra OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/databases/{databaseName}": { + "put": { + "tags": [ + "Databases" + ], + "operationId": "Databases_Create", + "x-ms-examples": { + "Create a database.": { + "$ref": "./examples/DatabasesCreate.json" + } + }, + "description": "Creates a new database.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Database" + }, + "description": "Parameters required to create a new database." + } + ], + "responses": { + "202": { + "description": "Accepted.", + "headers": { + "Location": { + "type": "string" + }, + "Azure-AsyncOperation": { + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "tags": [ + "Databases" + ], + "operationId": "Databases_Delete", + "x-ms-examples": { + "Delete an existing database": { + "$ref": "./examples/DatabasesDelete.json" + } + }, + "description": "Deletes an existing database.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + } + ], + "responses": { + "202": { + "description": "Accepted.", + "headers": { + "Location": { + "type": "string" + }, + "Azure-AsyncOperation": { + "type": "string" + } + } + }, + "204": { + "description": "No Content." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "Databases" + ], + "operationId": "Databases_Get", + "x-ms-examples": { + "Get information about an existing database.": { + "$ref": "./examples/DatabasesGet.json" + } + }, + "description": "Gets information about an existing database.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/Database" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/databases": { + "get": { + "tags": [ + "Databases" + ], + "operationId": "Databases_ListByServer", + "x-ms-examples": { + "List all databases in a server.": { + "$ref": "./examples/DatabasesListByServer.json" + } + }, + "description": "Lists all databases in a server.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/DatabaseList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "DatabaseProperties": { + "type": "object", + "properties": { + "charset": { + "type": "string", + "description": "Character set of the database.", + "pattern": "^[a-zA-Z]+\\w*$" + }, + "collation": { + "type": "string", + "description": "Collation of the database.", + "pattern": "^[a-zA-Z\\-]+([. ]|\\w)*$" + } + }, + "description": "Properties of a database." + }, + "Database": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/DatabaseProperties", + "x-ms-client-flatten": true, + "description": "Properties of a database." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" + } + ], + "description": "Represents a database." + }, + "DatabaseList": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Database" + }, + "description": "List of all databases in a server." + }, + "nextLink": { + "description": "Link used to get the next page of results.", + "type": "string", + "format": "uri" + } + }, + "description": "List of all databases in a server." + } + }, + "parameters": { + "DatabaseNameParameter": { + "name": "databaseName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the database (case-sensitive). Exact database names can be retrieved by getting the list of all existing databases in a server.", + "minLength": 1, + "pattern": "^[a-zA-Z_][\\w\\-]{0,62}$", + "maxLength": 63, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2025-08-01/FirewallRules.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2025-08-01/FirewallRules.json new file mode 100644 index 000000000000..35f141e17923 --- /dev/null +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2025-08-01/FirewallRules.json @@ -0,0 +1,316 @@ +{ + "swagger": "2.0", + "info": { + "title": "PostgreSQLManagementClient", + "description": "The Azure Database for PostgreSQL management API provides create, read, update, and delete functionality for Azure PostgreSQL resources including servers, databases, firewall rules, network configuration, security alert policies, log files and configurations with new business model.", + "version": "2025-08-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Microsoft Entra OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/firewallRules/{firewallRuleName}": { + "put": { + "tags": [ + "FirewallRules" + ], + "operationId": "FirewallRules_CreateOrUpdate", + "x-ms-examples": { + "Create a new firewall rule or update an existing firewall rule.": { + "$ref": "./examples/FirewallRulesCreateOrUpdate.json" + } + }, + "description": "Creates a new firewall rule or updates an existing firewall rule.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/FirewallRuleNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/FirewallRule" + }, + "description": "Parameters required for creating or updating a firewall rule." + } + ], + "responses": { + "202": { + "description": "Accepted.", + "headers": { + "Location": { + "type": "string" + }, + "Azure-AsyncOperation": { + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "tags": [ + "FirewallRules" + ], + "operationId": "FirewallRules_Delete", + "x-ms-examples": { + "Delete an existing firewall rule.": { + "$ref": "./examples/FirewallRulesDelete.json" + } + }, + "description": "Deletes an existing firewall rule.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/FirewallRuleNameParameter" + } + ], + "responses": { + "202": { + "description": "Accepted.", + "headers": { + "Location": { + "type": "string" + }, + "Azure-AsyncOperation": { + "type": "string" + } + } + }, + "204": { + "description": "No Content." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "FirewallRules" + ], + "operationId": "FirewallRules_Get", + "x-ms-examples": { + "Get information about a firewall rule in a server.": { + "$ref": "./examples/FirewallRulesGet.json" + } + }, + "description": "Gets information about a firewall rule in a server.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/FirewallRuleNameParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/FirewallRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/firewallRules": { + "get": { + "tags": [ + "FirewallRules" + ], + "operationId": "FirewallRules_ListByServer", + "x-ms-examples": { + "List information about all firewall rules in a server.": { + "$ref": "./examples/FirewallRulesListByServer.json" + } + }, + "description": "Lists information about all firewall rules in a server.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../types/common-types.json#/parameters/ServerNameParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/FirewallRuleList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "FirewallRuleProperties": { + "type": "object", + "properties": { + "startIpAddress": { + "type": "string", + "pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$", + "description": "IP address defining the start of the range of addresses of a firewall rule. Must be expressed in IPv4 format." + }, + "endIpAddress": { + "type": "string", + "pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$", + "description": "IP address defining the end of the range of addresses of a firewall rule. Must be expressed in IPv4 format." + } + }, + "required": [ + "startIpAddress", + "endIpAddress" + ], + "description": "Properties of a firewall rule." + }, + "FirewallRule": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/FirewallRuleProperties", + "x-ms-client-flatten": true, + "description": "Properties of a firewall rule." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" + } + ], + "required": [ + "properties" + ], + "description": "Firewall rule." + }, + "FirewallRuleList": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/FirewallRule" + }, + "description": "List of firewall rules in a server." + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "format": "uri" + } + }, + "description": "List of firewall rules." + } + }, + "parameters": { + "FirewallRuleNameParameter": { + "name": "firewallRuleName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the firewall rule.", + "minLength": 1, + "pattern": "^[a-zA-Z0-9][-_a-zA-Z0-9]{0,79}(?