Skip to content

Commit 2a7a26a

Browse files
authored
Merge pull request #2 from Caoxuyang/xuyang/byos
Add BYOS feature support
2 parents d1d0a9a + bd6b986 commit 2a7a26a

File tree

11 files changed

+628
-11
lines changed

11 files changed

+628
-11
lines changed

specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/appplatform.json

Lines changed: 370 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1391,6 +1391,214 @@
13911391
}
13921392
}
13931393
},
1394+
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/storages/{storageName}": {
1395+
"get": {
1396+
"tags": [
1397+
"AppPlatform"
1398+
],
1399+
"description": "Get the storage resource.",
1400+
"operationId": "Storages_Get",
1401+
"parameters": [
1402+
{
1403+
"$ref": "#/parameters/ApiVersionParameter"
1404+
},
1405+
{
1406+
"$ref": "#/parameters/SubscriptionIdParameter"
1407+
},
1408+
{
1409+
"$ref": "#/parameters/ResourceGroupNameParameter"
1410+
},
1411+
{
1412+
"$ref": "#/parameters/ServiceNameParameter"
1413+
},
1414+
{
1415+
"$ref": "#/parameters/StorageNameParameter"
1416+
}
1417+
],
1418+
"responses": {
1419+
"200": {
1420+
"description": "Success. The response describe the storage.",
1421+
"schema": {
1422+
"$ref": "#/definitions/StorageResource"
1423+
}
1424+
},
1425+
"default": {
1426+
"description": "Error response describing why the operation failed.",
1427+
"schema": {
1428+
"$ref": "#/definitions/CloudError"
1429+
}
1430+
}
1431+
},
1432+
"x-ms-examples": {
1433+
"Storages_Get": {
1434+
"$ref": "./examples/Storages_Get.json"
1435+
}
1436+
}
1437+
},
1438+
"put": {
1439+
"tags": [
1440+
"AppPlatform"
1441+
],
1442+
"description": "Create or update storage resource.",
1443+
"operationId": "Storages_CreateOrUpdate",
1444+
"parameters": [
1445+
{
1446+
"$ref": "#/parameters/ApiVersionParameter"
1447+
},
1448+
{
1449+
"$ref": "#/parameters/SubscriptionIdParameter"
1450+
},
1451+
{
1452+
"$ref": "#/parameters/ResourceGroupNameParameter"
1453+
},
1454+
{
1455+
"$ref": "#/parameters/ServiceNameParameter"
1456+
},
1457+
{
1458+
"$ref": "#/parameters/StorageNameParameter"
1459+
},
1460+
{
1461+
"name": "storageResource",
1462+
"in": "body",
1463+
"description": "Parameters for the create or update operation",
1464+
"required": true,
1465+
"schema": {
1466+
"$ref": "#/definitions/StorageResource"
1467+
}
1468+
}
1469+
],
1470+
"responses": {
1471+
"200": {
1472+
"description": "Success. The response describe the existed storage updated.",
1473+
"schema": {
1474+
"$ref": "#/definitions/StorageResource"
1475+
}
1476+
},
1477+
"201": {
1478+
"description": "Created. The response describes the new storage and contains a Location header to query the\r\noperation result.",
1479+
"schema": {
1480+
"$ref": "#/definitions/StorageResource"
1481+
}
1482+
},
1483+
"202": {
1484+
"description": "Accepted. The response indicates the exiting storage is now updating and contains a Location\r\nheader to query the operation result.",
1485+
"schema": {
1486+
"$ref": "#/definitions/StorageResource"
1487+
}
1488+
},
1489+
"default": {
1490+
"description": "Error response describing why the operation failed.",
1491+
"schema": {
1492+
"$ref": "#/definitions/CloudError"
1493+
}
1494+
}
1495+
},
1496+
"x-ms-long-running-operation": true,
1497+
"x-ms-long-running-operation-options": {
1498+
"final-state-via": "azure-async-operation"
1499+
},
1500+
"x-ms-examples": {
1501+
"Storages_CreateOrUpdate": {
1502+
"$ref": "./examples/Storages_CreateOrUpdate.json"
1503+
}
1504+
}
1505+
},
1506+
"delete": {
1507+
"tags": [
1508+
"AppPlatform"
1509+
],
1510+
"description": "Delete the storage resource.",
1511+
"operationId": "Storages_Delete",
1512+
"parameters": [
1513+
{
1514+
"$ref": "#/parameters/ApiVersionParameter"
1515+
},
1516+
{
1517+
"$ref": "#/parameters/SubscriptionIdParameter"
1518+
},
1519+
{
1520+
"$ref": "#/parameters/ResourceGroupNameParameter"
1521+
},
1522+
{
1523+
"$ref": "#/parameters/ServiceNameParameter"
1524+
},
1525+
{
1526+
"$ref": "#/parameters/StorageNameParameter"
1527+
}
1528+
],
1529+
"responses": {
1530+
"200": {
1531+
"description": "Success. The response indicates the storage deleted."
1532+
},
1533+
"202": {
1534+
"description": "Accepted. The response indicates the delete operation is performed in the background."
1535+
},
1536+
"204": {
1537+
"description": "No content. The response indicates the storage doesn't exist."
1538+
},
1539+
"default": {
1540+
"description": "Error response describing why the operation failed.",
1541+
"schema": {
1542+
"$ref": "#/definitions/CloudError"
1543+
}
1544+
}
1545+
},
1546+
"x-ms-long-running-operation": true,
1547+
"x-ms-long-running-operation-options": {
1548+
"final-state-via": "azure-async-operation"
1549+
},
1550+
"x-ms-examples": {
1551+
"Storages_Delete": {
1552+
"$ref": "./examples/Storages_Delete.json"
1553+
}
1554+
}
1555+
}
1556+
},
1557+
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/storages": {
1558+
"get": {
1559+
"tags": [
1560+
"AppPlatform"
1561+
],
1562+
"description": "List all the storages of one Azure Spring Cloud instance.",
1563+
"operationId": "Storages_List",
1564+
"parameters": [
1565+
{
1566+
"$ref": "#/parameters/ApiVersionParameter"
1567+
},
1568+
{
1569+
"$ref": "#/parameters/SubscriptionIdParameter"
1570+
},
1571+
{
1572+
"$ref": "#/parameters/ResourceGroupNameParameter"
1573+
},
1574+
{
1575+
"$ref": "#/parameters/ServiceNameParameter"
1576+
}
1577+
],
1578+
"responses": {
1579+
"200": {
1580+
"description": "Success. The response describe all the storages attached to one Azure Spring Cloud instance.",
1581+
"schema": {
1582+
"$ref": "#/definitions/StorageResourceCollection"
1583+
}
1584+
},
1585+
"default": {
1586+
"description": "Error response describing why the operation failed.",
1587+
"schema": {
1588+
"$ref": "#/definitions/CloudError"
1589+
}
1590+
}
1591+
},
1592+
"x-ms-pageable": {
1593+
"nextLinkName": "nextLink"
1594+
},
1595+
"x-ms-examples": {
1596+
"Storages_List": {
1597+
"$ref": "./examples/Storages_List.json"
1598+
}
1599+
}
1600+
}
1601+
},
13941602
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/certificates/{certificateName}": {
13951603
"get": {
13961604
"tags": [
@@ -3458,6 +3666,10 @@
34583666
"$ref": "#/definitions/PersistentDisk",
34593667
"description": "Persistent disk settings"
34603668
},
3669+
"customPersistentDisks": {
3670+
"$ref": "#/definitions/CustomPersistentDiskCollection",
3671+
"description": "List of custom persistent disks"
3672+
},
34613673
"enableEndToEndTLS": {
34623674
"description": "Indicate if end to end TLS is enabled.",
34633675
"type": "boolean",
@@ -3715,6 +3927,156 @@
37153927
}
37163928
}
37173929
},
3930+
"StorageResource": {
3931+
"description": "Storage resource payload.",
3932+
"type": "object",
3933+
"allOf": [
3934+
{
3935+
"$ref": "#/definitions/ProxyResource"
3936+
}
3937+
],
3938+
"properties": {
3939+
"properties": {
3940+
"$ref": "#/definitions/StorageProperties",
3941+
"description": "Properties of the storage resource payload.",
3942+
"x-ms-client-flatten": false
3943+
}
3944+
}
3945+
},
3946+
"StorageProperties": {
3947+
"description": "Storage resource payload.",
3948+
"type": "object",
3949+
"required": [
3950+
"storageType"
3951+
],
3952+
"properties": {
3953+
"storageType": {
3954+
"description": "The type of the storage.",
3955+
"type": "string"
3956+
}
3957+
},
3958+
"discriminator": "storageType"
3959+
},
3960+
"StorageAccount": {
3961+
"description": "storage resource of type Azure Storage Account.",
3962+
"type": "object",
3963+
"required": [
3964+
"storageType",
3965+
"accountName",
3966+
"accountKey"
3967+
],
3968+
"allOf": [
3969+
{
3970+
"$ref": "#/definitions/StorageProperties"
3971+
}
3972+
],
3973+
"properties": {
3974+
"accountName": {
3975+
"description": "The account name of the Azure Storage Account.",
3976+
"type": "string"
3977+
},
3978+
"accountKey": {
3979+
"description": "The account key of the Azure Storage Account.",
3980+
"type": "string"
3981+
}
3982+
},
3983+
"x-ms-discriminator-value": "StorageAccount"
3984+
},
3985+
"StorageResourceCollection": {
3986+
"description": "Collection compose of storage resources list and a possible link for next page.",
3987+
"type": "object",
3988+
"properties": {
3989+
"value": {
3990+
"description": "The storage resources list.",
3991+
"uniqueItems": false,
3992+
"type": "array",
3993+
"items": {
3994+
"$ref": "#/definitions/StorageResource"
3995+
}
3996+
},
3997+
"nextLink": {
3998+
"description": "The link to next page of storage list.",
3999+
"type": "string"
4000+
}
4001+
}
4002+
},
4003+
"CustomPersistentDiskResource": {
4004+
"description": "Custom persistent disk resource payload.",
4005+
"type": "object",
4006+
"required": [
4007+
"storageId"
4008+
],
4009+
"properties": {
4010+
"properties": {
4011+
"$ref": "#/definitions/CustomPersistentDiskProperties",
4012+
"description": "Properties of the custom persistent disk resource payload.",
4013+
"x-ms-client-flatten": false
4014+
},
4015+
"storageId": {
4016+
"description": "The resource id of Azure Spring Cloud Storage resource.",
4017+
"type": "string"
4018+
}
4019+
}
4020+
},
4021+
"CustomPersistentDiskProperties": {
4022+
"description": "Custom persistent disk resource payload.",
4023+
"required": [
4024+
"type",
4025+
"mountPath"
4026+
],
4027+
"type": "object",
4028+
"properties": {
4029+
"type": {
4030+
"description": "The type of the underlying resource to mount as a persistent disk.",
4031+
"type": "string"
4032+
},
4033+
"mountPath": {
4034+
"description": "The mount path of the persistent disk.",
4035+
"type": "string"
4036+
},
4037+
"readonly": {
4038+
"description": "Indicates whether the persistent disk is a readonly one.",
4039+
"type": "boolean"
4040+
},
4041+
"mountOptions": {
4042+
"description": "These are the mount options for a persistent disk.",
4043+
"uniqueItems": false,
4044+
"type": "array",
4045+
"items": {
4046+
"type": "string"
4047+
}
4048+
}
4049+
},
4050+
"discriminator": "type"
4051+
},
4052+
"CustomPersistentDiskCollection": {
4053+
"description": "Collection of persistent disk resources list and a possible link for next page.",
4054+
"type": "array",
4055+
"items": {
4056+
"$ref": "#/definitions/CustomPersistentDiskResource"
4057+
}
4058+
},
4059+
"AzureFileVolume": {
4060+
"description": "The properties of the Azure File volume. Azure File shares are mounted as volumes.",
4061+
"type": "object",
4062+
"required": [
4063+
"type",
4064+
"mountPath",
4065+
"shareName"
4066+
],
4067+
"allOf": [
4068+
{
4069+
"$ref": "#/definitions/CustomPersistentDiskProperties"
4070+
}
4071+
],
4072+
"properties": {
4073+
"shareName": {
4074+
"description": "The share name of the Azure File share.",
4075+
"type": "string"
4076+
}
4077+
},
4078+
"x-ms-discriminator-value": "AzureFileVolume"
4079+
},
37184080
"NameAvailabilityParameters": {
37194081
"description": "Name availability parameters payload",
37204082
"required": [
@@ -4729,6 +5091,14 @@
47295091
"required": true,
47305092
"type": "string",
47315093
"x-ms-parameter-location": "method"
5094+
},
5095+
"StorageNameParameter": {
5096+
"name": "storageName",
5097+
"in": "path",
5098+
"description": "The name of the storage resource.",
5099+
"required": true,
5100+
"type": "string",
5101+
"x-ms-parameter-location": "method"
47325102
}
47335103
},
47345104
"securityDefinitions": {

0 commit comments

Comments
 (0)