diff --git a/schemas/2022-01-20-preview/Microsoft.DBforPostgreSQL.json b/schemas/2022-01-20-preview/Microsoft.DBforPostgreSQL.json new file mode 100644 index 0000000000..ad98d4fd1e --- /dev/null +++ b/schemas/2022-01-20-preview/Microsoft.DBforPostgreSQL.json @@ -0,0 +1,679 @@ +{ + "id": "https://schema.management.azure.com/schemas/2022-01-20-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": [ + "2022-01-20-preview" + ] + }, + "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_databases_childResource" + }, + { + "$ref": "#/definitions/flexibleServers_firewallRules_childResource" + }, + { + "$ref": "#/definitions/flexibleServers_configurations_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_configurations": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-01-20-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/flexibleServers/configurations" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + "flexibleServers_databases": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-01-20-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" + }, + "flexibleServers_firewallRules": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-01-20-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": { + "Backup": { + "type": "object", + "properties": { + "backupRetentionDays": { + "oneOf": [ + { + "type": "integer", + "default": "7" + }, + { + "$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": "A value indicating whether Geo-Redundant backup is enabled on the server." + } + }, + "description": "Backup properties of a server" + }, + "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." + }, + "flexibleServers_configurations_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-01-20-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/flexibleServers/configurations" + }, + "flexibleServers_databases_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-01-20-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/flexibleServers/databases" + }, + "flexibleServers_firewallRules_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-01-20-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" + }, + "HighAvailability": { + "type": "object", + "properties": { + "mode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Disabled", + "ZoneRedundant", + "SameZone" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The HA mode for the server." + }, + "standbyAvailabilityZone": { + "type": "string", + "default": "", + "description": "availability zone information of the standby." + } + }, + "description": "High availability properties of a server" + }, + "MaintenanceWindow": { + "type": "object", + "properties": { + "customWindow": { + "type": "string", + "default": "Disabled", + "description": "indicates whether custom window is enabled or disabled" + }, + "dayOfWeek": { + "oneOf": [ + { + "type": "integer", + "default": "0" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "day of week for maintenance window" + }, + "startHour": { + "oneOf": [ + { + "type": "integer", + "default": "0" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "start hour for maintenance window" + }, + "startMinute": { + "oneOf": [ + { + "type": "integer", + "default": "0" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "start minute for maintenance window" + } + }, + "description": "Maintenance window properties of a server." + }, + "Network": { + "type": "object", + "properties": { + "delegatedSubnetResourceId": { + "type": "string", + "default": "", + "description": "delegated subnet arm resource id." + }, + "privateDnsZoneArmResourceId": { + "type": "string", + "default": "", + "description": "private dns zone arm resource id." + } + }, + "description": "Network properties 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", + "default": "", + "description": "availability zone information of the server." + }, + "backup": { + "oneOf": [ + { + "$ref": "#/definitions/Backup" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Backup properties of a server" + }, + "createMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Default", + "Create", + "Update", + "PointInTimeRestore" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The mode to create a new PostgreSQL server." + }, + "highAvailability": { + "oneOf": [ + { + "$ref": "#/definitions/HighAvailability" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "High availability properties of a server" + }, + "maintenanceWindow": { + "oneOf": [ + { + "$ref": "#/definitions/MaintenanceWindow" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Maintenance window properties of a server." + }, + "network": { + "oneOf": [ + { + "$ref": "#/definitions/Network" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Network properties of a server" + }, + "pointInTimeUTC": { + "type": "string", + "format": "date-time", + "description": "Restore point creation time (ISO8601 format), specifying the time to restore from. It's required when 'createMode' is 'PointInTimeRestore'." + }, + "sourceServerResourceId": { + "type": "string", + "description": "The source server resource ID to restore from. It's required when 'createMode' is 'PointInTimeRestore'." + }, + "storage": { + "oneOf": [ + { + "$ref": "#/definitions/Storage" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Storage properties of a server" + }, + "version": { + "oneOf": [ + { + "type": "string", + "enum": [ + "13", + "12", + "11" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "PostgreSQL Server version." + } + }, + "description": "The properties of a server." + }, + "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." + }, + "Storage": { + "type": "object", + "properties": { + "storageSizeGB": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Max storage allowed for a server." + } + }, + "description": "Storage properties of a server" + } + } +} \ No newline at end of file diff --git a/schemas/common/autogeneratedResources.json b/schemas/common/autogeneratedResources.json index fc92fad023..c3a9534f8e 100644 --- a/schemas/common/autogeneratedResources.json +++ b/schemas/common/autogeneratedResources.json @@ -6583,6 +6583,18 @@ { "$ref": "https://schema.management.azure.com/schemas/2021-06-01-preview/Microsoft.DBforPostgreSQL.json#/resourceDefinitions/flexibleServers_firewallRules" }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-01-20-preview/Microsoft.DBforPostgreSQL.json#/resourceDefinitions/flexibleServers" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-01-20-preview/Microsoft.DBforPostgreSQL.json#/resourceDefinitions/flexibleServers_configurations" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-01-20-preview/Microsoft.DBforPostgreSQL.json#/resourceDefinitions/flexibleServers_databases" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-01-20-preview/Microsoft.DBforPostgreSQL.json#/resourceDefinitions/flexibleServers_firewallRules" + }, { "$ref": "https://schema.management.azure.com/schemas/2020-08-08-preview/Microsoft.DelegatedNetwork.json#/resourceDefinitions/controller" },