Загрузка шаблонов в Azure с использованием API или SDK - PullRequest
0 голосов
/ 13 апреля 2020

Я хочу загрузить шаблон развертывания виртуальной машины в Azure программным способом, используя Go SDK или Rest API. Я не могу найти правильную документацию для того же.

Кроме того, я не хочу начинать развертывание виртуальной машины. Загрузка шаблона развертывания в Azure ограничена.

enter image description here

1 Ответ

0 голосов
/ 13 апреля 2020

Хорошо, вот пример запроса API для размещения пустого шаблона на портале:

{
    "name": "test",
    "type": "Microsoft.Gallery/myareas/galleryitems",
    "properties": {
        "publisherName": "username_goes_here",
        "publisherDisplayName": "username_goes_here",
        "displayName": "test",
        "description": "test",
        "artifacts": {
            "default": {
                "name": "template",
                "type": "template",
                "uri": "https://gallery.azure.com/artifact/20161101/Microsoft.MyGallery.0.0.9-preview/DeploymentTemplates/EmptyTemplate.json"
            }
        },
        "images": [
            {
                "context": "ibiza",
                "items": [
                    {
                        "name": "large",
                        "type": "icon",
                        "uri": "https://gallery.azure.com/GalleryRp/Content/GalleryItemDefaultLargeIcon.png"
                    }
                ]
            }
        ],
        "version": "1.0.0",
        "uiDefinitionUri": "",
        "publishingState": "stable",
        "categoryIds": [],
        "links": []
    }
}

PUT: https://management.azure.com/providers/Microsoft.Gallery/myareas/df010a79-26a3-401a-8697-a5736c82895a/galleryItems/test?api-version=2016-03-01-preview

не уверен, где взять руководству, возможно, придется создать первое вручную, или, возможно, запрос get к myareas покажет список возможных областей

К сожалению, я не вижу этого документированного в API где-либо.

РЕДАКТИРОВАТЬ : Я смог найти список операций для провайдера:

{
    "namespace": "Microsoft.Gallery",
    "resourceTypes": [
        {
            "resourceType": "myareas",
            "locations": "",
            "apiVersions": "2016-03-01-preview",
            "capabilities": "None"
        },
        {
            "resourceType": "myareas/areas",
            "locations": "",
            "apiVersions": "2016-03-01-preview",
            "capabilities": "None"
        },
        {
            "resourceType": "myareas/areas/areas",
            "locations": "",
            "apiVersions": "2016-03-01-preview",
            "capabilities": "None"
        },
        {
            "resourceType": "myareas/galleryitems",
            "locations": "",
            "apiVersions": "2016-03-01-preview",
            "capabilities": "None"
        },
        {
            "resourceType": "myareas/areas/galleryitems",
            "locations": "",
            "apiVersions": "2016-03-01-preview",
            "capabilities": "None"
        },
        {
            "resourceType": "myareas/areas/areas/galleryitems",
            "locations": "",
            "apiVersions": "2016-03-01-preview",
            "capabilities": "None"
        },
        {
            "resourceType": "enroll",
            "locations": "",
            "apiVersions": "2016-03-01-preview",
            "capabilities": "None"
        },
        {
            "resourceType": "register",
            "locations": "",
            "apiVersions": "2016-03-01-preview",
            "capabilities": "None"
        },
        {
            "resourceType": "galleryitems",
            "locations": "",
            "apiVersions": "2016-03-01-preview 2014-04-01-preview",
            "capabilities": "None"
        },
        {
            "resourceType": "resources",
            "locations": "",
            "apiVersions": "2016-03-01-preview 2014-04-01-preview",
            "capabilities": "None"
        },
        {
            "resourceType": "retrieveresourcesbyid",
            "locations": "",
            "apiVersions": "2016-03-01-preview 2014-04-01-preview",
            "capabilities": "None"
        },
        {
            "resourceType": "generateartifactaccessuri",
            "locations": "",
            "apiVersions": "2016-03-01-preview",
            "capabilities": "None"
        },
        {
            "resourceType": "checknameavailability",
            "locations": "",
            "apiVersions": "2016-03-01-preview",
            "capabilities": "None"
        }
    ]
}

Так что я не думаю, что это прокси UI. Кажется, это реальный поставщик, но, кажется, он сидит на уровне арендаторов или что-то? Обратите внимание на URL: https://management.azure.com/providers.

РЕДАКТИРОВАТЬ: Да, я могу получить список моих областей с помощью этого вызова: https://management.azure.com/providers/microsoft.gallery/myareas/?api-version=2020-01-01

, и он пока вернет мою единственную область: df010a79 -26a3-401a-8697-a5736c82895a

...