diff --git a/schemas/2017-12-01-preview/Microsoft.DBForPostgreSQL.json b/schemas/2017-12-01-preview/Microsoft.DBForPostgreSQL.json new file mode 100644 index 0000000000..098e612d0b --- /dev/null +++ b/schemas/2017-12-01-preview/Microsoft.DBForPostgreSQL.json @@ -0,0 +1,1096 @@ +{ + "id": "https://schema.management.azure.com/schemas/2017-12-01-preview/Microsoft.DBForPostgreSQL.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.DBForPostgreSQL", + "description": "Microsoft DBForPostgreSQL Resource Types", + "resourceDefinitions": { + "servers": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2017-12-01-preview" + ] + }, + "location": { + "type": "string", + "description": "The location the resource resides in." + }, + "name": { + "type": "string", + "description": "The name of the server." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ServerPropertiesForCreate" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties used to create a new server." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/servers_firewallRules_childResource" + }, + { + "$ref": "#/definitions/servers_virtualNetworkRules_childResource" + }, + { + "$ref": "#/definitions/servers_databases_childResource" + }, + { + "$ref": "#/definitions/servers_configurations_childResource" + }, + { + "$ref": "#/definitions/servers_administrators_childResource" + }, + { + "$ref": "#/definitions/servers_securityAlertPolicies_childResource" + } + ] + } + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Billing information related properties of a server." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Application-specific metadata in the form of key-value pairs." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DBForPostgreSQL/servers" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.DBForPostgreSQL/servers" + }, + "servers_administrators": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2017-12-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/activeDirectory$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ServerAdministratorProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of an server Administrator." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DBForPostgreSQL/servers/administrators" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DBForPostgreSQL/servers/administrators" + }, + "servers_configurations": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2017-12-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the server configuration." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ConfigurationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a configuration." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DBForPostgreSQL/servers/configurations" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DBForPostgreSQL/servers/configurations" + }, + "servers_databases": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2017-12-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the database." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DatabaseProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a database." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DBForPostgreSQL/servers/databases" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DBForPostgreSQL/servers/databases" + }, + "servers_firewallRules": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2017-12-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the server firewall rule." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/FirewallRuleProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a server firewall rule." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DBForPostgreSQL/servers/firewallRules" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DBForPostgreSQL/servers/firewallRules" + }, + "servers_securityAlertPolicies": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2017-12-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/default$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the threat detection policy." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SecurityAlertPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a security alert policy." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DBForPostgreSQL/servers/securityAlertPolicies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DBForPostgreSQL/servers/securityAlertPolicies" + }, + "servers_virtualNetworkRules": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2017-12-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the virtual network rule." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualNetworkRuleProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a virtual network rule." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DBForPostgreSQL/servers/virtualNetworkRules" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DBForPostgreSQL/servers/virtualNetworkRules" + } + }, + "definitions": { + "ConfigurationProperties": { + "type": "object", + "properties": { + "source": { + "type": "string", + "description": "Source of the configuration." + }, + "value": { + "type": "string", + "description": "Value of the configuration." + } + }, + "description": "The properties of a configuration." + }, + "DatabaseProperties": { + "type": "object", + "properties": { + "charset": { + "type": "string", + "description": "The charset of the database." + }, + "collation": { + "type": "string", + "description": "The collation of the database." + } + }, + "description": "The properties of a database." + }, + "FirewallRuleProperties": { + "type": "object", + "properties": { + "endIpAddress": { + "oneOf": [ + { + "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])$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The end IP address of the server firewall rule. Must be IPv4 format." + }, + "startIpAddress": { + "oneOf": [ + { + "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])$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The start IP address of the server firewall rule. Must be IPv4 format." + } + }, + "required": [ + "endIpAddress", + "startIpAddress" + ], + "description": "The properties of a server firewall rule." + }, + "SecurityAlertPolicyProperties": { + "type": "object", + "properties": { + "disabledAlerts": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies an array of alerts that are disabled. Allowed values are: Sql_Injection, Sql_Injection_Vulnerability, Access_Anomaly" + }, + "emailAccountAdmins": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies that the alert is sent to the account administrators." + }, + "emailAddresses": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies an array of e-mail addresses to which the alert is sent." + }, + "retentionDays": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the number of days to keep in the Threat Detection audit logs." + }, + "state": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the state of the policy, whether it is enabled or disabled." + }, + "storageAccountAccessKey": { + "type": "string", + "description": "Specifies the identifier key of the Threat Detection audit storage account." + }, + "storageEndpoint": { + "type": "string", + "description": "Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage will hold all Threat Detection audit logs." + } + }, + "required": [ + "state" + ], + "description": "Properties of a security alert policy." + }, + "ServerAdministratorProperties": { + "type": "object", + "properties": { + "administratorType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "ActiveDirectory" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of administrator." + }, + "login": { + "type": "string", + "description": "The server administrator login account name." + }, + "sid": { + "oneOf": [ + { + "type": "string", + "pattern": "^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The server administrator Sid (Secure ID)." + }, + "tenantId": { + "oneOf": [ + { + "type": "string", + "pattern": "^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The server Active Directory Administrator tenant id." + } + }, + "required": [ + "administratorType", + "login", + "sid", + "tenantId" + ], + "description": "The properties of an server Administrator." + }, + "ServerPropertiesForCreate": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/ServerPropertiesForDefaultCreate" + }, + { + "$ref": "#/definitions/ServerPropertiesForRestore" + }, + { + "$ref": "#/definitions/ServerPropertiesForGeoRestore" + }, + { + "$ref": "#/definitions/ServerPropertiesForReplica" + } + ], + "properties": { + "minimalTlsVersion": { + "oneOf": [ + { + "type": "string", + "enum": [ + "TLS1_0", + "TLS1_1", + "TLS1_2", + "TLSEnforcementDisabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enforce a minimal Tls version for the server." + }, + "sslEnforcement": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable ssl enforcement or not when connect to server." + }, + "storageProfile": { + "oneOf": [ + { + "$ref": "#/definitions/StorageProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Storage Profile properties of a server" + }, + "version": { + "oneOf": [ + { + "type": "string", + "enum": [ + "9.5", + "9.6", + "10", + "10.0", + "10.2", + "11" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Server version." + } + }, + "description": "The properties used to create a new server." + }, + "ServerPropertiesForDefaultCreate": { + "type": "object", + "properties": { + "administratorLogin": { + "type": "string", + "description": "The administrator's login name of a server. Can only be specified when the server is being created (and is required for creation)." + }, + "administratorLoginPassword": { + "type": "string", + "format": "password", + "description": "The password of the administrator login." + }, + "createMode": { + "type": "string", + "enum": [ + "Default" + ] + } + }, + "required": [ + "administratorLogin", + "administratorLoginPassword", + "createMode" + ], + "description": "The properties used to create a new server." + }, + "ServerPropertiesForGeoRestore": { + "type": "object", + "properties": { + "createMode": { + "type": "string", + "enum": [ + "GeoRestore" + ] + }, + "sourceServerId": { + "type": "string", + "description": "The source server id to restore from." + } + }, + "required": [ + "createMode", + "sourceServerId" + ], + "description": "The properties used to create a new server by restoring to a different region from a geo replicated backup." + }, + "ServerPropertiesForReplica": { + "type": "object", + "properties": { + "createMode": { + "type": "string", + "enum": [ + "Replica" + ] + }, + "sourceServerId": { + "type": "string", + "description": "The master server id to create replica from." + } + }, + "required": [ + "createMode", + "sourceServerId" + ], + "description": "The properties to create a new replica." + }, + "ServerPropertiesForRestore": { + "type": "object", + "properties": { + "createMode": { + "type": "string", + "enum": [ + "PointInTimeRestore" + ] + }, + "restorePointInTime": { + "type": "string", + "format": "date-time", + "description": "Restore point creation time (ISO8601 format), specifying the time to restore from." + }, + "sourceServerId": { + "type": "string", + "description": "The source server id to restore from." + } + }, + "required": [ + "createMode", + "restorePointInTime", + "sourceServerId" + ], + "description": "The properties used to create a new server by restoring from a backup." + }, + "servers_administrators_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2017-12-01-preview" + ] + }, + "name": { + "type": "string", + "enum": [ + "activeDirectory" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ServerAdministratorProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of an server Administrator." + }, + "type": { + "type": "string", + "enum": [ + "administrators" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DBForPostgreSQL/servers/administrators" + }, + "servers_configurations_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2017-12-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the server configuration." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ConfigurationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a configuration." + }, + "type": { + "type": "string", + "enum": [ + "configurations" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DBForPostgreSQL/servers/configurations" + }, + "servers_databases_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2017-12-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the database." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DatabaseProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a database." + }, + "type": { + "type": "string", + "enum": [ + "databases" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DBForPostgreSQL/servers/databases" + }, + "servers_firewallRules_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2017-12-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the server firewall rule." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/FirewallRuleProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a server firewall rule." + }, + "type": { + "type": "string", + "enum": [ + "firewallRules" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DBForPostgreSQL/servers/firewallRules" + }, + "servers_securityAlertPolicies_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2017-12-01-preview" + ] + }, + "name": { + "type": "string", + "enum": [ + "default" + ], + "description": "The name of the threat detection policy." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SecurityAlertPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a security alert policy." + }, + "type": { + "type": "string", + "enum": [ + "securityAlertPolicies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DBForPostgreSQL/servers/securityAlertPolicies" + }, + "servers_virtualNetworkRules_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2017-12-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the virtual network rule." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualNetworkRuleProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a virtual network rule." + }, + "type": { + "type": "string", + "enum": [ + "virtualNetworkRules" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DBForPostgreSQL/servers/virtualNetworkRules" + }, + "Sku": { + "type": "object", + "properties": { + "capacity": { + "oneOf": [ + { + "type": "integer", + "minimum": 0 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The scale up/out capacity, representing server's compute units." + }, + "family": { + "type": "string", + "description": "The family of hardware." + }, + "name": { + "type": "string", + "description": "The name of the sku, typically, tier + family + cores, e.g. B_Gen4_1, GP_Gen5_8." + }, + "size": { + "type": "string", + "description": "The size code, to be interpreted by resource as appropriate." + }, + "tier": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Basic", + "GeneralPurpose", + "MemoryOptimized" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The tier of the particular SKU, e.g. Basic." + } + }, + "required": [ + "name" + ], + "description": "Billing information related properties of a server." + }, + "StorageProfile": { + "type": "object", + "properties": { + "backupRetentionDays": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Backup retention days for the server." + }, + "geoRedundantBackup": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable Geo-redundant or not for server backup." + }, + "storageAutogrow": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable Storage Auto Grow." + }, + "storageMB": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Max storage allowed for a server." + } + }, + "description": "Storage Profile properties of a server" + }, + "VirtualNetworkRuleProperties": { + "type": "object", + "properties": { + "ignoreMissingVnetServiceEndpoint": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Create firewall rule before the virtual network has vnet service endpoint enabled." + }, + "virtualNetworkSubnetId": { + "type": "string", + "description": "The ARM resource id of the virtual network subnet." + } + }, + "required": [ + "virtualNetworkSubnetId" + ], + "description": "Properties of a virtual network rule." + } + } +} diff --git a/schemas/2017-12-01/Microsoft.DBForPostgreSQL.json b/schemas/2017-12-01/Microsoft.DBForPostgreSQL.json new file mode 100644 index 0000000000..88fe1309a9 --- /dev/null +++ b/schemas/2017-12-01/Microsoft.DBForPostgreSQL.json @@ -0,0 +1,1157 @@ +{ + "id": "https://schema.management.azure.com/schemas/2017-12-01/Microsoft.DBForPostgreSQL.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.DBForPostgreSQL", + "description": "Microsoft DBForPostgreSQL Resource Types", + "resourceDefinitions": { + "servers": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2017-12-01" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ResourceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure Active Directory identity configuration for a resource." + }, + "location": { + "type": "string", + "description": "The location the resource resides in." + }, + "name": { + "type": "string", + "description": "The name of the server." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ServerPropertiesForCreate" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties used to create a new server." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/servers_firewallRules_childResource" + }, + { + "$ref": "#/definitions/servers_virtualNetworkRules_childResource" + }, + { + "$ref": "#/definitions/servers_databases_childResource" + }, + { + "$ref": "#/definitions/servers_configurations_childResource" + }, + { + "$ref": "#/definitions/servers_administrators_childResource" + }, + { + "$ref": "#/definitions/servers_securityAlertPolicies_childResource" + } + ] + } + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Billing information related properties of a server." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Application-specific metadata in the form of key-value pairs." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DBForPostgreSQL/servers" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.DBForPostgreSQL/servers" + }, + "servers_administrators": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2017-12-01" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/activeDirectory$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ServerAdministratorProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of an server Administrator." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DBForPostgreSQL/servers/administrators" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DBForPostgreSQL/servers/administrators" + }, + "servers_configurations": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2017-12-01" + ] + }, + "name": { + "type": "string", + "description": "The name of the server configuration." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ConfigurationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a configuration." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DBForPostgreSQL/servers/configurations" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DBForPostgreSQL/servers/configurations" + }, + "servers_databases": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2017-12-01" + ] + }, + "name": { + "type": "string", + "description": "The name of the database." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DatabaseProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a database." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DBForPostgreSQL/servers/databases" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DBForPostgreSQL/servers/databases" + }, + "servers_firewallRules": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2017-12-01" + ] + }, + "name": { + "type": "string", + "description": "The name of the server firewall rule." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/FirewallRuleProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a server firewall rule." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DBForPostgreSQL/servers/firewallRules" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DBForPostgreSQL/servers/firewallRules" + }, + "servers_securityAlertPolicies": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2017-12-01" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/default$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the threat detection policy." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SecurityAlertPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a security alert policy." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DBforPostgreSQL/servers/securityAlertPolicies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DBforPostgreSQL/servers/securityAlertPolicies" + }, + "servers_virtualNetworkRules": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2017-12-01" + ] + }, + "name": { + "type": "string", + "description": "The name of the virtual network rule." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualNetworkRuleProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a virtual network rule." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DBForPostgreSQL/servers/virtualNetworkRules" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DBForPostgreSQL/servers/virtualNetworkRules" + } + }, + "definitions": { + "ConfigurationProperties": { + "type": "object", + "properties": { + "source": { + "type": "string", + "description": "Source of the configuration." + }, + "value": { + "type": "string", + "description": "Value of the configuration." + } + }, + "description": "The properties of a configuration." + }, + "DatabaseProperties": { + "type": "object", + "properties": { + "charset": { + "type": "string", + "description": "The charset of the database." + }, + "collation": { + "type": "string", + "description": "The collation of the database." + } + }, + "description": "The properties of a database." + }, + "FirewallRuleProperties": { + "type": "object", + "properties": { + "endIpAddress": { + "oneOf": [ + { + "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])$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The end IP address of the server firewall rule. Must be IPv4 format." + }, + "startIpAddress": { + "oneOf": [ + { + "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])$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The start IP address of the server firewall rule. Must be IPv4 format." + } + }, + "required": [ + "endIpAddress", + "startIpAddress" + ], + "description": "The properties of a server firewall rule." + }, + "ResourceIdentity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SystemAssigned" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The identity type. Set this to 'SystemAssigned' in order to automatically create and assign an Azure Active Directory principal for the resource." + } + }, + "description": "Azure Active Directory identity configuration for a resource." + }, + "SecurityAlertPolicyProperties": { + "type": "object", + "properties": { + "disabledAlerts": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies an array of alerts that are disabled. Allowed values are: Sql_Injection, Sql_Injection_Vulnerability, Access_Anomaly" + }, + "emailAccountAdmins": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies that the alert is sent to the account administrators." + }, + "emailAddresses": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies an array of e-mail addresses to which the alert is sent." + }, + "retentionDays": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the number of days to keep in the Threat Detection audit logs." + }, + "state": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the state of the policy, whether it is enabled or disabled." + }, + "storageAccountAccessKey": { + "type": "string", + "description": "Specifies the identifier key of the Threat Detection audit storage account." + }, + "storageEndpoint": { + "type": "string", + "description": "Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage will hold all Threat Detection audit logs." + } + }, + "required": [ + "state" + ], + "description": "Properties of a security alert policy." + }, + "ServerAdministratorProperties": { + "type": "object", + "properties": { + "administratorType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "ActiveDirectory" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of administrator." + }, + "login": { + "type": "string", + "description": "The server administrator login account name." + }, + "sid": { + "oneOf": [ + { + "type": "string", + "pattern": "^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The server administrator Sid (Secure ID)." + }, + "tenantId": { + "oneOf": [ + { + "type": "string", + "pattern": "^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The server Active Directory Administrator tenant id." + } + }, + "required": [ + "administratorType", + "login", + "sid", + "tenantId" + ], + "description": "The properties of an server Administrator." + }, + "ServerPropertiesForCreate": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/ServerPropertiesForDefaultCreate" + }, + { + "$ref": "#/definitions/ServerPropertiesForRestore" + }, + { + "$ref": "#/definitions/ServerPropertiesForGeoRestore" + }, + { + "$ref": "#/definitions/ServerPropertiesForReplica" + } + ], + "properties": { + "infrastructureEncryption": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Status showing whether the server enabled infrastructure encryption." + }, + "minimalTlsVersion": { + "oneOf": [ + { + "type": "string", + "enum": [ + "TLS1_0", + "TLS1_1", + "TLS1_2", + "TLSEnforcementDisabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enforce a minimal Tls version for the server." + }, + "publicNetworkAccess": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether or not public network access is allowed for this server. Value is optional but if passed in, must be 'Enabled' or 'Disabled'." + }, + "sslEnforcement": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable ssl enforcement or not when connect to server." + }, + "storageProfile": { + "oneOf": [ + { + "$ref": "#/definitions/StorageProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Storage Profile properties of a server" + }, + "version": { + "oneOf": [ + { + "type": "string", + "enum": [ + "9.5", + "9.6", + "10", + "10.0", + "10.2", + "11" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Server version." + } + }, + "description": "The properties used to create a new server." + }, + "ServerPropertiesForDefaultCreate": { + "type": "object", + "properties": { + "administratorLogin": { + "type": "string", + "description": "The administrator's login name of a server. Can only be specified when the server is being created (and is required for creation)." + }, + "administratorLoginPassword": { + "type": "string", + "format": "password", + "description": "The password of the administrator login." + }, + "createMode": { + "type": "string", + "enum": [ + "Default" + ] + } + }, + "required": [ + "administratorLogin", + "administratorLoginPassword", + "createMode" + ], + "description": "The properties used to create a new server." + }, + "ServerPropertiesForGeoRestore": { + "type": "object", + "properties": { + "createMode": { + "type": "string", + "enum": [ + "GeoRestore" + ] + }, + "sourceServerId": { + "type": "string", + "description": "The source server id to restore from." + } + }, + "required": [ + "createMode", + "sourceServerId" + ], + "description": "The properties used to create a new server by restoring to a different region from a geo replicated backup." + }, + "ServerPropertiesForReplica": { + "type": "object", + "properties": { + "createMode": { + "type": "string", + "enum": [ + "Replica" + ] + }, + "sourceServerId": { + "type": "string", + "description": "The master server id to create replica from." + } + }, + "required": [ + "createMode", + "sourceServerId" + ], + "description": "The properties to create a new replica." + }, + "ServerPropertiesForRestore": { + "type": "object", + "properties": { + "createMode": { + "type": "string", + "enum": [ + "PointInTimeRestore" + ] + }, + "restorePointInTime": { + "type": "string", + "format": "date-time", + "description": "Restore point creation time (ISO8601 format), specifying the time to restore from." + }, + "sourceServerId": { + "type": "string", + "description": "The source server id to restore from." + } + }, + "required": [ + "createMode", + "restorePointInTime", + "sourceServerId" + ], + "description": "The properties used to create a new server by restoring from a backup." + }, + "servers_administrators_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2017-12-01" + ] + }, + "name": { + "type": "string", + "enum": [ + "activeDirectory" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ServerAdministratorProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of an server Administrator." + }, + "type": { + "type": "string", + "enum": [ + "administrators" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DBForPostgreSQL/servers/administrators" + }, + "servers_configurations_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2017-12-01" + ] + }, + "name": { + "type": "string", + "description": "The name of the server configuration." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ConfigurationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a configuration." + }, + "type": { + "type": "string", + "enum": [ + "configurations" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DBForPostgreSQL/servers/configurations" + }, + "servers_databases_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2017-12-01" + ] + }, + "name": { + "type": "string", + "description": "The name of the database." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DatabaseProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a database." + }, + "type": { + "type": "string", + "enum": [ + "databases" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DBForPostgreSQL/servers/databases" + }, + "servers_firewallRules_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2017-12-01" + ] + }, + "name": { + "type": "string", + "description": "The name of the server firewall rule." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/FirewallRuleProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a server firewall rule." + }, + "type": { + "type": "string", + "enum": [ + "firewallRules" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DBForPostgreSQL/servers/firewallRules" + }, + "servers_securityAlertPolicies_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2017-12-01" + ] + }, + "name": { + "type": "string", + "enum": [ + "default" + ], + "description": "The name of the threat detection policy." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SecurityAlertPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a security alert policy." + }, + "type": { + "type": "string", + "enum": [ + "securityAlertPolicies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DBforPostgreSQL/servers/securityAlertPolicies" + }, + "servers_virtualNetworkRules_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2017-12-01" + ] + }, + "name": { + "type": "string", + "description": "The name of the virtual network rule." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualNetworkRuleProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a virtual network rule." + }, + "type": { + "type": "string", + "enum": [ + "virtualNetworkRules" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DBForPostgreSQL/servers/virtualNetworkRules" + }, + "Sku": { + "type": "object", + "properties": { + "capacity": { + "oneOf": [ + { + "type": "integer", + "minimum": 0 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The scale up/out capacity, representing server's compute units." + }, + "family": { + "type": "string", + "description": "The family of hardware." + }, + "name": { + "type": "string", + "description": "The name of the sku, typically, tier + family + cores, e.g. B_Gen4_1, GP_Gen5_8." + }, + "size": { + "type": "string", + "description": "The size code, to be interpreted by resource as appropriate." + }, + "tier": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Basic", + "GeneralPurpose", + "MemoryOptimized" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The tier of the particular SKU, e.g. Basic." + } + }, + "required": [ + "name" + ], + "description": "Billing information related properties of a server." + }, + "StorageProfile": { + "type": "object", + "properties": { + "backupRetentionDays": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Backup retention days for the server." + }, + "geoRedundantBackup": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable Geo-redundant or not for server backup." + }, + "storageAutogrow": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable Storage Auto Grow." + }, + "storageMB": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Max storage allowed for a server." + } + }, + "description": "Storage Profile properties of a server" + }, + "VirtualNetworkRuleProperties": { + "type": "object", + "properties": { + "ignoreMissingVnetServiceEndpoint": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Create firewall rule before the virtual network has vnet service endpoint enabled." + }, + "virtualNetworkSubnetId": { + "type": "string", + "description": "The ARM resource id of the virtual network subnet." + } + }, + "required": [ + "virtualNetworkSubnetId" + ], + "description": "Properties of a virtual network rule." + } + } +} diff --git a/schemas/2020-02-14-preview/Microsoft.DBForPostgreSql.json b/schemas/2020-02-14-preview/Microsoft.DBForPostgreSql.json new file mode 100644 index 0000000000..09d1d847e0 --- /dev/null +++ b/schemas/2020-02-14-preview/Microsoft.DBForPostgreSql.json @@ -0,0 +1,467 @@ +{ + "id": "https://schema.management.azure.com/schemas/2020-02-14-preview/Microsoft.DBForPostgreSql.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.DBForPostgreSql", + "description": "Microsoft DBForPostgreSql Resource Types", + "resourceDefinitions": { + "flexibleServers": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-02-14-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/Identity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the resource." + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "type": "string", + "description": "The name of the server." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ServerProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a server." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/flexibleServers_firewallRules_childResource" + } + ] + } + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Sku information related properties of a server." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DBForPostgreSql/flexibleServers" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.DBForPostgreSql/flexibleServers" + }, + "flexibleServers_firewallRules": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-02-14-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the server firewall rule." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/FirewallRuleProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a server firewall rule." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DBForPostgreSql/flexibleServers/firewallRules" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DBForPostgreSql/flexibleServers/firewallRules" + } + }, + "definitions": { + "FirewallRuleProperties": { + "type": "object", + "properties": { + "endIpAddress": { + "oneOf": [ + { + "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])$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The end IP address of the server firewall rule. Must be IPv4 format." + }, + "startIpAddress": { + "oneOf": [ + { + "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])$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The start IP address of the server firewall rule. Must be IPv4 format." + } + }, + "required": [ + "endIpAddress", + "startIpAddress" + ], + "description": "The properties of a server firewall rule." + }, + "flexibleServers_firewallRules_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-02-14-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the server firewall rule." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/FirewallRuleProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a server firewall rule." + }, + "type": { + "type": "string", + "enum": [ + "firewallRules" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DBForPostgreSql/flexibleServers/firewallRules" + }, + "Identity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SystemAssigned" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The identity type." + } + }, + "description": "Identity for the resource." + }, + "MaintenanceWindow": { + "type": "object", + "properties": { + "customWindow": { + "type": "string", + "description": "indicates whether custom window is enabled or disabled" + }, + "dayOfWeek": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "day of week for maintenance window" + }, + "startHour": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "start hour for maintenance window" + }, + "startMinute": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "start minute for maintenance window" + } + }, + "description": "Maintenance window of a server." + }, + "ServerProperties": { + "type": "object", + "properties": { + "administratorLogin": { + "type": "string", + "description": "The administrator's login name of a server. Can only be specified when the server is being created (and is required for creation)." + }, + "administratorLoginPassword": { + "type": "string", + "format": "password", + "description": "The administrator login password (required for server creation)." + }, + "availabilityZone": { + "type": "string", + "description": "availability Zone information of the server." + }, + "createMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Default", + "PointInTimeRestore" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The mode to create a new PostgreSQL server." + }, + "delegatedSubnetArguments": { + "oneOf": [ + { + "$ref": "#/definitions/ServerPropertiesDelegatedSubnetArguments" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "displayName": { + "type": "string", + "description": "The display name of a server." + }, + "haEnabled": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "stand by count value can be either enabled or disabled." + }, + "maintenanceWindow": { + "oneOf": [ + { + "$ref": "#/definitions/MaintenanceWindow" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Maintenance window of a server." + }, + "pointInTimeUTC": { + "type": "string", + "format": "date-time", + "description": "Restore point creation time (ISO8601 format), specifying the time to restore from." + }, + "sourceServerName": { + "type": "string", + "description": "The source PostgreSQL server name to restore from." + }, + "storageProfile": { + "oneOf": [ + { + "$ref": "#/definitions/StorageProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Storage Profile properties of a server" + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Application-specific metadata in the form of key-value pairs." + }, + "version": { + "oneOf": [ + { + "type": "string", + "enum": [ + "12", + "11" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "PostgreSQL Server version." + } + }, + "description": "The properties of a server." + }, + "ServerPropertiesDelegatedSubnetArguments": { + "type": "object", + "properties": { + "subnetArmResourceId": { + "type": "string", + "description": "delegated subnet arm resource id." + } + } + }, + "Sku": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the sku, typically, tier + family + cores, e.g. Standard_D4s_v3." + }, + "tier": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Burstable", + "GeneralPurpose", + "MemoryOptimized" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The tier of the particular SKU, e.g. Burstable." + } + }, + "required": [ + "name", + "tier" + ], + "description": "Sku information related properties of a server." + }, + "StorageProfile": { + "type": "object", + "properties": { + "backupRetentionDays": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Backup retention days for the server." + }, + "storageMB": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Max storage allowed for a server." + } + }, + "description": "Storage Profile properties of a server" + } + } +} diff --git a/schemas/2020-11-05-preview/Microsoft.DBForPostgreSql.json b/schemas/2020-11-05-preview/Microsoft.DBForPostgreSql.json new file mode 100644 index 0000000000..01d9e59355 --- /dev/null +++ b/schemas/2020-11-05-preview/Microsoft.DBForPostgreSql.json @@ -0,0 +1,63 @@ +{ + "id": "https://schema.management.azure.com/schemas/2020-11-05-preview/Microsoft.DBForPostgreSql.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.DBForPostgreSql", + "description": "Microsoft DBForPostgreSql Resource Types", + "resourceDefinitions": { + "flexibleServers_databases": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-11-05-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the database." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DatabaseProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a database." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DBForPostgreSql/flexibleServers/databases" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DBForPostgreSql/flexibleServers/databases" + } + }, + "definitions": { + "DatabaseProperties": { + "type": "object", + "properties": { + "charset": { + "type": "string", + "description": "The charset of the database." + }, + "collation": { + "type": "string", + "description": "The collation of the database." + } + }, + "description": "The properties of a database." + } + } +}