From 80e4e1b77162711ca1123042f50db03ffbf1bb40 Mon Sep 17 00:00:00 2001 From: Furkan Sahin Date: Thu, 4 Mar 2021 03:59:38 +0100 Subject: [PATCH] read replica added (#12567) --- .../ServerGroupCreateReadReplica.json | 55 +++++++++++++++++++ .../examples/ServerGroupGet.json | 5 ++ .../examples/ServerGroupList.json | 8 +++ .../ServerGroupListByResourceGroup.json | 6 ++ .../postgresqlhsc.json | 28 ++++++++-- 5 files changed, 97 insertions(+), 5 deletions(-) create mode 100644 specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ServerGroupCreateReadReplica.json diff --git a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ServerGroupCreateReadReplica.json b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ServerGroupCreateReadReplica.json new file mode 100644 index 000000000000..1fbc862ba238 --- /dev/null +++ b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ServerGroupCreateReadReplica.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "TestGroup", + "serverGroupName": "hsctestsg", + "api-version": "2020-10-05-privatepreview", + "parameters": { + "location": "westus", + "properties": { + "createMode": "ReadReplica", + "sourceLocation": "eastus", + "sourceSubscriptionId": "dddddddd-dddd-dddd-dddd-dddddddddddd", + "sourceResourceGroupName": "SourceGroup", + "sourceServerGroupName": "pgtests-source-server-group" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DBforPostgreSQL/serverGroupsv2/hsctestsg", + "name": "hsctestsg", + "type": "Microsoft.DBforPostgreSQL/serverGroupsv2", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": {}, + "location": "westus2" + } + }, + "201": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DBforPostgreSQL/serverGroupsv2/hsctestsg", + "name": "hsctestsg", + "type": "Microsoft.DBforPostgreSQL/serverGroupsv2", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": {}, + "location": "westus2" + } + }, + "202": {} + } +} diff --git a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ServerGroupGet.json b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ServerGroupGet.json index 6610abb0f22f..72465e75fc48 100644 --- a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ServerGroupGet.json +++ b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ServerGroupGet.json @@ -45,6 +45,11 @@ "startMinute": 0, "customWindow": "Disabled" }, + "readReplicas": [ + "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBForPostgreSQL/serverGroupsv2/hsctestreadreplica-01", + "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBForPostgreSQL/serverGroupsv2/hsctestreadreplica-02" + ], + "sourceServerGroup": null, "serverRoleGroups": [ { "name": "", diff --git a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ServerGroupList.json b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ServerGroupList.json index 10a9e65f6d9d..46e1369acf02 100644 --- a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ServerGroupList.json +++ b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ServerGroupList.json @@ -38,6 +38,10 @@ "delegatedSubnetArguments": { "subnetArmResourceId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-vnet-subnet" }, + "readReplicas": [ + "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/serverGroupsv2/hsctestsg2" + ], + "sourceServerGroup": null, "serverRoleGroups": [ { "name": "", @@ -109,6 +113,8 @@ "resourceProviderType": "Meru", "availabilityZone": "1", "standbyAvailabilityZone": "2", + "readReplicas": null, + "sourceServerGroup": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/serverGroupsv2/hsctestsg1", "serverRoleGroups": [ { "name": "", @@ -179,6 +185,8 @@ "delegatedSubnetArguments": { "subnetArmResourceId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-vnet-subnet" }, + "readReplicas": null, + "sourceServerGroup": null, "serverRoleGroups": [ { "name": "", diff --git a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ServerGroupListByResourceGroup.json b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ServerGroupListByResourceGroup.json index 52b61ab7b156..32a127929e81 100644 --- a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ServerGroupListByResourceGroup.json +++ b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/examples/ServerGroupListByResourceGroup.json @@ -39,6 +39,8 @@ "delegatedSubnetArguments": { "subnetArmResourceId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-vnet-subnet" }, + "readReplicas": null, + "sourceServerGroup": null, "serverRoleGroups": [ { "name": "", @@ -110,6 +112,8 @@ "resourceProviderType": "Meru", "availabilityZone": "1", "standbyAvailabilityZone": "2", + "readReplicas": null, + "sourceServerGroup": null, "serverRoleGroups": [ { "name": "", @@ -180,6 +184,8 @@ "delegatedSubnetArguments": { "subnetArmResourceId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-vnet-subnet" }, + "readReplicas": null, + "sourceServerGroup": null, "serverRoleGroups": [ { "name": "", diff --git a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/postgresqlhsc.json b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/postgresqlhsc.json index 41aeaeeafc66..477ae61dd759 100644 --- a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/postgresqlhsc.json +++ b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/postgresqlhsc.json @@ -129,6 +129,9 @@ }, "Create a new server group as a point in time restore": { "$ref": "./examples/ServerGroupCreatePITR.json" + }, + "Create a new server group as a read replica": { + "$ref": "./examples/ServerGroupCreateReadReplica.json" } }, "parameters": [ @@ -1544,7 +1547,8 @@ "description": "The mode to create a new server group.", "enum": [ "Default", - "PointInTimeRestore" + "PointInTimeRestore", + "ReadReplica" ], "x-ms-enum": { "name": "CreateMode", @@ -1653,30 +1657,44 @@ } } }, + "readReplicas": { + "type": "array", + "description": "The array of read replica server groups.", + "items": { + "type": "string" + }, + "readOnly": true, + "uniqueItems": true + }, + "sourceServerGroup": { + "type": "string", + "description": "The source server group id for read replica server groups.", + "readOnly": true + }, "sourceSubscriptionId": { "type": "string", - "description": "The source subscription id to restore from. It's required when 'createMode' is 'PointInTimeRestore'", + "description": "The source subscription id to restore from. It's required when 'createMode' is 'PointInTimeRestore' or 'ReadReplica'", "x-ms-mutability": [ "create" ] }, "sourceResourceGroupName": { "type": "string", - "description": "The source resource group name to restore from. It's required when 'createMode' is 'PointInTimeRestore'", + "description": "The source resource group name to restore from. It's required when 'createMode' is 'PointInTimeRestore' or 'ReadReplica'", "x-ms-mutability": [ "create" ] }, "sourceServerGroupName": { "type": "string", - "description": "The source server group name to restore from. It's required when 'createMode' is 'PointInTimeRestore'", + "description": "The source server group name to restore from. It's required when 'createMode' is 'PointInTimeRestore' or 'ReadReplica'", "x-ms-mutability": [ "create" ] }, "sourceLocation": { "type": "string", - "description": "The source server group location to restore from. It's required when 'createMode' is 'PointInTimeRestore'", + "description": "The source server group location to restore from. It's required when 'createMode' is 'PointInTimeRestore' or 'ReadReplica'", "x-ms-mutability": [ "create" ]