Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New resource: Add InGuest resource type software to Compute #4012

Closed
wants to merge 4 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -1892,6 +1892,104 @@
}
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/guestResourceTypes/software/items":{
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lets make the values of guestResourceTypes as an enum and add the allowed values there.

"get": {
"tags": [
"InGuestResource"
],
"operationId": "VirtualMachines_ListInGuestSoftwareItems",
"description": "Lists all of the In-Guest software items of virtual machines in the specified subscription. Use the nextLink property in the response to get the next page of items.",
"parameters": [
{
"name": "resourceGroupName",
"in": "path",
"required": true,
"type": "string",
"description": "The name of the resource group."
},
{
"name": "vmName",
"in": "path",
"required": true,
"type": "string",
"description": "The name of the virtual machine."
},
{
"$ref": "#/parameters/ApiVersionParameter"
},
{
"$ref": "#/parameters/SubscriptionIdParameter"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/InGuestSoftwareItemsListResult"
}
}
},
"x-ms-pageable": {
"nextLinkName": "nextLink"
},
"x-ms-examples": {
"Get the InGuest software items.": {
"$ref": "./examples/ListInGuestSoftwareItems.json"
}
}
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/guestResourceTypes/software/items/{itemId}":{
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What would GET on /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/guestResourceTypes/software return? Do you want to support this API?

"get": {
"tags": [
"InGuestResource"
],
"operationId": "VirtualMachines_GetInGuestSoftwareItem",
"description": "Get the In-Guest software item of the virtual machine in the specified subscription",
"parameters": [
{
"name": "resourceGroupName",
"in": "path",
"required": true,
"type": "string",
"description": "The name of the resource group."
},
{
"name": "vmName",
"in": "path",
"required": true,
"type": "string",
"description": "The name of the virtual machine."
},
{
"name": "itemId",
"in": "path",
"required": true,
"type": "string",
"description": "Identifier of the In-Guest resource type."
},
{
"$ref": "#/parameters/ApiVersionParameter"
},
{
"$ref": "#/parameters/SubscriptionIdParameter"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/InGuestSoftwareItem"
}
}
},
"x-ms-examples": {
"Get an InGuest software item.": {
"$ref": "./examples/GetInGuestSoftwareItem.json"
}
}
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}": {
"put": {
"tags": [
Expand Down Expand Up @@ -5730,6 +5828,58 @@
}
},
"description": "Operation status response"
},
"InGuestSoftwareItemsListResult": {
"properties": {
"value": {
"type": "array",
"readOnly": true,
"items": {
"$ref": "#/definitions/InGuestSoftwareItem"
},
"description": "The list of InGuest software items on the VM."
},
"nextLink": {
"type": "string",
"readOnly": true,
"description": "The uri to fetch the next page of InGuest software items on the VM. Call ListNext() with this to fetch the next page of items."
}
},
"description": "The List of Software items operation response."
},
"InGuestSoftwareItemProperties": {
"properties": {
"name": {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

top level property names should not be repeated inside the properties bag. Lets rename this to softwareName

"type": "string",
"readOnly": true,
"description": "Specifies the name of the software."
},
"version": {
"type": "string",
"readOnly": true,
"description": "Specifies the version of the software."
},
"publisher": {
"type": "string",
"readOnly": true,
"description": "Specifies the publisher of the software."
}
},
"description": "Describes the properties of an InGuest software item."
},
"InGuestSoftwareItem": {
"properties": {
"properties": {
"x-ms-client-flatten": true,
"$ref": "#/definitions/InGuestSoftwareItemProperties"
}
},
"allOf": [
{
"$ref": "#/definitions/Resource"
}
],
"description": "Describes a InGuest software item."
}
},
"parameters": {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
{
"parameters": {
"subscriptionId": "{subscription-id}",
"resourceGroupName": "myResourceGroup",
"vmName": "myVirtualMachine",
"itemId": "myItemId",
"api-version": "2018-10-01"
},
"responses": {
"200": {
"body": {
"id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/guestResourceTypes/software/items/{itemId}",
"name": "myItemId",
"type": "Microsoft.Compute/virtualMachines/guestResourceTypes/items",
"location": "West US",
"properties": {
"name": "Microsoft Visual Studio Code",
"version": "1.25.1",
"publisher": "Microsoft Corporation"
}
}
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
{
"parameters": {
"subscriptionId": "{subscription-id}",
"resourceGroupName": "myResourceGroup",
"vmName": "myVirtualMachine",
"api-version": "2018-10-01"
},
"responses": {
"200": {
"body": {
"value": [
{
"id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/guestResourceTypes/software/items/itemId1",
"name": "itemId1",
"type": "Microsoft.Compute/virtualMachines/guestResourceTypes/items",
"location": "West US",
"properties": {
"name": "Microsoft Visual Studio Code",
"version": "1.25.1",
"publisher": "Microsoft Corporation"
}
},
{
"id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/guestResourceTypes/software/items/itemId1",
"name": "itemId1",
"type": "Microsoft.Compute/virtualMachines/guestResourceTypes/items",
"location": "West US",
"properties": {
"name": "Microsoft SQL Server 2016 LocalDB",
"version": "13.1.4001.0",
"publisher": "Microsoft Corporation"
}
}
]
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2177,6 +2177,104 @@
"x-ms-long-running-operation": true
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/guestResourceTypes/software/items":{
"get": {
"tags": [
"InGuestResource"
],
"operationId": "VirtualMachines_ListInGuestSoftwareItems",
"description": "Lists all of the In-Guest software items of virtual machines in the specified subscription. Use the nextLink property in the response to get the next page of items.",
"parameters": [
{
"name": "resourceGroupName",
"in": "path",
"required": true,
"type": "string",
"description": "The name of the resource group."
},
{
"name": "vmName",
"in": "path",
"required": true,
"type": "string",
"description": "The name of the virtual machine."
},
{
"$ref": "#/parameters/ApiVersionParameter"
},
{
"$ref": "#/parameters/SubscriptionIdParameter"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/InGuestSoftwareItemsListResult"
}
}
},
"x-ms-pageable": {
"nextLinkName": "nextLink"
},
"x-ms-examples": {
"Get the InGuest software items.": {
"$ref": "./examples/ListInGuestSoftwareItems.json"
}
}
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/guestResourceTypes/software/items/{itemId}":{
"get": {
"tags": [
"InGuestResource"
],
"operationId": "VirtualMachines_GetInGuestSoftwareItem",
"description": "Get the In-Guest software item of the virtual machine in the specified subscription",
"parameters": [
{
"name": "resourceGroupName",
"in": "path",
"required": true,
"type": "string",
"description": "The name of the resource group."
},
{
"name": "vmName",
"in": "path",
"required": true,
"type": "string",
"description": "The name of the virtual machine."
},
{
"name": "itemId",
abhinav-ghai marked this conversation as resolved.
Show resolved Hide resolved
"in": "path",
"required": true,
"type": "string",
"description": "Identifier of the In-Guest resource type."
},
{
"$ref": "#/parameters/ApiVersionParameter"
},
{
"$ref": "#/parameters/SubscriptionIdParameter"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/InGuestSoftwareItem"
}
}
},
"x-ms-examples": {
"Get an InGuest software item.": {
"$ref": "./examples/GetInGuestSoftwareItem.json"
}
}
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}": {
"put": {
"tags": [
Expand Down Expand Up @@ -8209,6 +8307,59 @@
}
},
"description": "LogAnalytics output properties"
},
"InGuestSoftwareItemsListResult": {
"properties": {
"value": {
"type": "array",
"readOnly": true,
"items": {
"$ref": "#/definitions/InGuestSoftwareItem"
},
"description": "The list of InGuest software items on the VM."
},
"nextLink": {
"type": "string",
"readOnly": true,
"description": "The uri to fetch the next page of InGuest software items on the VM. Call ListNext() with this to fetch the next page of items."
}
},
"description": "The List of Software items operation response."
abhinav-ghai marked this conversation as resolved.
Show resolved Hide resolved
},
"InGuestSoftwareItemProperties": {
"properties": {
"name": {
"type": "string",
"readOnly": true,
"description": "Specifies the name of the software."
},
"version": {
"type": "string",
"readOnly": true,
"description": "Specifies the version of the software."
},
"publisher": {
"type": "string",
"readOnly": true,
"description": "Specifies the publisher of the software."
}
},
"description": "Describes the properties of an InGuest software item."
abhinav-ghai marked this conversation as resolved.
Show resolved Hide resolved
},
"InGuestSoftwareItem": {
"properties": {
"properties": {
"x-ms-client-flatten": true,
"$ref": "#/definitions/InGuestSoftwareItemProperties",
"description": "Describes the properties of an InGuest software item."
}
},
"allOf": [
{
"$ref": "#/definitions/Resource"
}
abhinav-ghai marked this conversation as resolved.
Show resolved Hide resolved
],
"description": "Describes a InGuest software item."
}
},
"parameters": {
Expand Down
Loading