diff --git a/api/services/elastigroup/azure/stateful/node/schemas/create/createStatefulNodeCompute.yaml b/api/services/elastigroup/azure/stateful/node/schemas/create/createStatefulNodeCompute.yaml index 7eca0495..cde2011f 100644 --- a/api/services/elastigroup/azure/stateful/node/schemas/create/createStatefulNodeCompute.yaml +++ b/api/services/elastigroup/azure/stateful/node/schemas/create/createStatefulNodeCompute.yaml @@ -210,6 +210,11 @@ properties: description: "The Spot account ID that connected to the Azure subscription to which the gallery belongs. Relevant only in case of cross-subscription shared galleries. [Read more](https://docs.flexera.com/spot/elastigroup/features-azure/shared-image-galleries) about cross-subscription shared galleries in Elastigroup." type: string example: "act-123456789" + purchasePlan: + description: | + Defines the Azure Marketplace purchase plan metadata for the selected image or osDisk image. + allOf: + - $ref: "createStatefulNodePurchasePlan.yaml" vmName: type: string description: | diff --git a/api/services/elastigroup/azure/stateful/node/schemas/create/createStatefulNodePurchasePlan.yaml b/api/services/elastigroup/azure/stateful/node/schemas/create/createStatefulNodePurchasePlan.yaml new file mode 100644 index 00000000..aaeb518a --- /dev/null +++ b/api/services/elastigroup/azure/stateful/node/schemas/create/createStatefulNodePurchasePlan.yaml @@ -0,0 +1,29 @@ +type: object +title: Purchase Plan +additionalProperties: false +description: | + Defines the Azure Marketplace purchase plan for the VM image. +required: + - publisher + - product + - name +properties: + publisher: + type: string + minLength: 1 + description: | + Purchase plan publisher. + example: "canonical" + product: + type: string + minLength: 1 + description: | + Purchase plan product / offer. + example: "0001-com-ubuntu-pro-jammy" + name: + type: string + minLength: 1 + description: | + Purchase plan name / SKU. + * This value is case-sensitive and must exactly match the Azure plan metadata. + example: "pro-22_04-lts" diff --git a/api/services/elastigroup/azure/stateful/node/schemas/update/updateStatefulNodeCompute.yaml b/api/services/elastigroup/azure/stateful/node/schemas/update/updateStatefulNodeCompute.yaml index 954c5758..e9e18473 100644 --- a/api/services/elastigroup/azure/stateful/node/schemas/update/updateStatefulNodeCompute.yaml +++ b/api/services/elastigroup/azure/stateful/node/schemas/update/updateStatefulNodeCompute.yaml @@ -202,6 +202,11 @@ properties: description: "The Spot account ID that connected to the Azure subscription to which the gallery belongs. Relevant only in case of cross-subscription shared galleries. [Read more](https://docs.flexera.com/spot/elastigroup/features-azure/shared-image-galleries) about cross-subscription shared galleries in Elastigroup." type: string example: "act-123456789" + purchasePlan: + description: | + Defines the Azure Marketplace purchase plan metadata for the selected image or osDisk image. + allOf: + - $ref: "updateStatefulNodePurchasePlan.yaml" vmName: type: string description: | diff --git a/api/services/elastigroup/azure/stateful/node/schemas/update/updateStatefulNodePurchasePlan.yaml b/api/services/elastigroup/azure/stateful/node/schemas/update/updateStatefulNodePurchasePlan.yaml new file mode 100644 index 00000000..b3ffaaf3 --- /dev/null +++ b/api/services/elastigroup/azure/stateful/node/schemas/update/updateStatefulNodePurchasePlan.yaml @@ -0,0 +1,26 @@ +type: object +title: Purchase Plan +additionalProperties: false +description: | + Defines the Azure Marketplace purchase plan for the VM image. + * On update, each provided field must contain a non-empty value. +properties: + publisher: + type: string + minLength: 1 + description: | + Purchase plan publisher. + example: "canonical" + product: + type: string + minLength: 1 + description: | + Purchase plan product / offer. + example: "0001-com-ubuntu-pro-jammy" + name: + type: string + minLength: 1 + description: | + Purchase plan name / SKU. + * This value is case-sensitive and must exactly match the Azure plan metadata. + example: "pro-22_04-lts"