diff --git a/Commands/readme.md b/Commands/readme.md index 5e7757ac4..fec62ace0 100644 --- a/Commands/readme.md +++ b/Commands/readme.md @@ -357,10 +357,10 @@ : Manage Azure Stack HCI. - [standby-container-group-pool](/Commands/standby-container-group-pool/readme.md) -: Manage Standby Container Group Pool +: Standby Container Group Pool Operations - [standby-vm-pool](/Commands/standby-vm-pool/readme.md) -: Manage Standby Virtual Machine Pool +: Standby Virtual Machine Pool Operations - [storage](/Commands/storage/readme.md) : Manage Azure Cloud Storage resources. diff --git a/Commands/sig/_create.md b/Commands/sig/_create.md index c8cbcba23..86a3623e4 100644 --- a/Commands/sig/_create.md +++ b/Commands/sig/_create.md @@ -25,3 +25,14 @@ Create a shared image gallery. ```bash sig create --resource-group MyResourceGroup --gallery-name MyGallery ``` + +### [2025-03-03](/Resources/mgmt-plane/L3N1YnNjcmlwdGlvbnMve30vcmVzb3VyY2Vncm91cHMve30vcHJvdmlkZXJzL21pY3Jvc29mdC5jb21wdXRlL2dhbGxlcmllcy97fQ==/2025-03-03.xml) **Stable** + + + +#### examples + +- Create a shared image gallery + ```bash + sig create --resource-group MyResourceGroup --gallery-name MyGallery + ``` diff --git a/Commands/sig/_delete.md b/Commands/sig/_delete.md index 37d2b0643..385f8f80d 100644 --- a/Commands/sig/_delete.md +++ b/Commands/sig/_delete.md @@ -11,3 +11,7 @@ Delete a Shared Image Gallery. ### [2021-10-01](/Resources/mgmt-plane/L3N1YnNjcmlwdGlvbnMve30vcmVzb3VyY2Vncm91cHMve30vcHJvdmlkZXJzL21pY3Jvc29mdC5jb21wdXRlL2dhbGxlcmllcy97fQ==/2021-10-01.xml) **Stable** + +### [2025-03-03](/Resources/mgmt-plane/L3N1YnNjcmlwdGlvbnMve30vcmVzb3VyY2Vncm91cHMve30vcHJvdmlkZXJzL21pY3Jvc29mdC5jb21wdXRlL2dhbGxlcmllcy97fQ==/2025-03-03.xml) **Stable** + + diff --git a/Commands/sig/_show.md b/Commands/sig/_show.md index ab74a35b0..3f74e0678 100644 --- a/Commands/sig/_show.md +++ b/Commands/sig/_show.md @@ -11,3 +11,7 @@ Retrieve information about a Shared Image Gallery. ### [2021-10-01](/Resources/mgmt-plane/L3N1YnNjcmlwdGlvbnMve30vcmVzb3VyY2Vncm91cHMve30vcHJvdmlkZXJzL21pY3Jvc29mdC5jb21wdXRlL2dhbGxlcmllcy97fQ==/2021-10-01.xml) **Stable** + +### [2025-03-03](/Resources/mgmt-plane/L3N1YnNjcmlwdGlvbnMve30vcmVzb3VyY2Vncm91cHMve30vcHJvdmlkZXJzL21pY3Jvc29mdC5jb21wdXRlL2dhbGxlcmllcy97fQ==/2025-03-03.xml) **Stable** + + diff --git a/Commands/sig/_update.md b/Commands/sig/_update.md index 879c53d41..c9c10b744 100644 --- a/Commands/sig/_update.md +++ b/Commands/sig/_update.md @@ -23,3 +23,19 @@ Update a Shared Image Gallery. ```bash sig update -g myResourceGroup --gallery-name myGallery --permissions Community --publisher-uri myPublisherUri --publisher-email myPublisherEmail --eula myEula --public-name-prefix myPublicNamePrefix ``` + +### [2025-03-03](/Resources/mgmt-plane/L3N1YnNjcmlwdGlvbnMve30vcmVzb3VyY2Vncm91cHMve30vcHJvdmlkZXJzL21pY3Jvc29mdC5jb21wdXRlL2dhbGxlcmllcy97fQ==/2025-03-03.xml) **Stable** + + + +#### examples + +- Enable gallery to be shared to subscription or tenant + ```bash + sig update --resource-group myResourceGroup --gallery-name myGallery --permissions groups + ``` + +- Update gallery from private to community + ```bash + sig update -g myResourceGroup --gallery-name myGallery --permissions Community --publisher-uri myPublisherUri --publisher-email myPublisherEmail --eula myEula --public-name-prefix myPublicNamePrefix + ``` diff --git a/Commands/sig/identity/_assign.md b/Commands/sig/identity/_assign.md new file mode 100644 index 000000000..ddceafb7e --- /dev/null +++ b/Commands/sig/identity/_assign.md @@ -0,0 +1,9 @@ +# [Command] _sig identity assign_ + +Assign the user or system managed identities. + +## Versions + +### [2025-03-03](/Resources/mgmt-plane/L3N1YnNjcmlwdGlvbnMve30vcmVzb3VyY2Vncm91cHMve30vcHJvdmlkZXJzL21pY3Jvc29mdC5jb21wdXRlL2dhbGxlcmllcy97fQ==/2025-03-03.xml) **Stable** + + diff --git a/Commands/sig/identity/_remove.md b/Commands/sig/identity/_remove.md new file mode 100644 index 000000000..43a854304 --- /dev/null +++ b/Commands/sig/identity/_remove.md @@ -0,0 +1,21 @@ +# [Command] _sig identity remove_ + +Remove the user or system managed identities. + +## Versions + +### [2025-03-03](/Resources/mgmt-plane/L3N1YnNjcmlwdGlvbnMve30vcmVzb3VyY2Vncm91cHMve30vcHJvdmlkZXJzL21pY3Jvc29mdC5jb21wdXRlL2dhbGxlcmllcy97fQ==/2025-03-03.xml) **Stable** + + + +#### examples + +- Remove the system assigned identity. + ```bash + sig identity remove --resource-group myResourceGroup --gallery-name myGalleryName + ``` + +- Remove a user assigned identity. + ```bash + sig identity remove --resource-group myResourceGroup --gallery-name myGalleryName --identities readerId + ``` diff --git a/Commands/sig/identity/_show.md b/Commands/sig/identity/_show.md new file mode 100644 index 000000000..ea72e862b --- /dev/null +++ b/Commands/sig/identity/_show.md @@ -0,0 +1,16 @@ +# [Command] _sig identity show_ + +Show the details of managed identities. + +## Versions + +### [2025-03-03](/Resources/mgmt-plane/L3N1YnNjcmlwdGlvbnMve30vcmVzb3VyY2Vncm91cHMve30vcHJvdmlkZXJzL21pY3Jvc29mdC5jb21wdXRlL2dhbGxlcmllcy97fQ==/2025-03-03.xml) **Stable** + + + +#### examples + +- Get a community gallery. + ```bash + sig identity show --resource-group myResourceGroup --gallery-name myGalleryName + ``` diff --git a/Commands/sig/identity/readme.md b/Commands/sig/identity/readme.md new file mode 100644 index 000000000..9414e4906 --- /dev/null +++ b/Commands/sig/identity/readme.md @@ -0,0 +1,14 @@ +# [Group] _sig identity_ + +Manage Identity + +## Commands + +- [assign](/Commands/sig/identity/_assign.md) +: Assign the user or system managed identities. + +- [remove](/Commands/sig/identity/_remove.md) +: Remove the user or system managed identities. + +- [show](/Commands/sig/identity/_show.md) +: Show the details of managed identities. diff --git a/Commands/sig/readme.md b/Commands/sig/readme.md index 05f2dfcaa..111699664 100644 --- a/Commands/sig/readme.md +++ b/Commands/sig/readme.md @@ -7,6 +7,9 @@ Manage shared image gallery. - [gallery-application](/Commands/sig/gallery-application/readme.md) : Manage gallery application. +- [identity](/Commands/sig/identity/readme.md) +: Manage Identity + - [image-definition](/Commands/sig/image-definition/readme.md) : Manage shared gallery image with VM diff --git a/Resources/mgmt-plane/L3N1YnNjcmlwdGlvbnMve30vcmVzb3VyY2Vncm91cHMve30vcHJvdmlkZXJzL21pY3Jvc29mdC5jb21wdXRlL2dhbGxlcmllcy97fQ==/2025-03-03.json b/Resources/mgmt-plane/L3N1YnNjcmlwdGlvbnMve30vcmVzb3VyY2Vncm91cHMve30vcHJvdmlkZXJzL21pY3Jvc29mdC5jb21wdXRlL2dhbGxlcmllcy97fQ==/2025-03-03.json new file mode 100644 index 000000000..0d7e33dea --- /dev/null +++ b/Resources/mgmt-plane/L3N1YnNjcmlwdGlvbnMve30vcmVzb3VyY2Vncm91cHMve30vcHJvdmlkZXJzL21pY3Jvc29mdC5jb21wdXRlL2dhbGxlcmllcy97fQ==/2025-03-03.json @@ -0,0 +1 @@ +{"plane": "mgmt-plane", "resources": [{"id": "/subscriptions/{}/resourcegroups/{}/providers/microsoft.compute/galleries/{}", "version": "2025-03-03", "swagger": "mgmt-plane/compute/ResourceProviders/Microsoft.Compute/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29tcHV0ZS9nYWxsZXJpZXMve2dhbGxlcnlOYW1lfQ==/V/MjAyNS0wMy0wMw=="}], "commandGroups": [{"name": "sig", "commands": [{"name": "show", "version": "2025-03-03", "resources": [{"id": "/subscriptions/{}/resourcegroups/{}/providers/microsoft.compute/galleries/{}", "version": "2025-03-03", "swagger": "mgmt-plane/compute/ResourceProviders/Microsoft.Compute/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29tcHV0ZS9nYWxsZXJpZXMve2dhbGxlcnlOYW1lfQ==/V/MjAyNS0wMy0wMw=="}], "argGroups": [{"name": "", "args": [{"type": "string", "var": "$Path.galleryName", "options": ["r", "gallery-name"], "required": true, "group": "", "idPart": "name", "help": {"short": "The name of the Shared Image Gallery to be deleted."}, "format": {"pattern": "^[^_\\W][\\w._-]{0,79}(?", "name": "publicNames", "item": {"type": "string"}}, {"type": "string", "name": "publisherContact"}, {"type": "string", "name": "publisherUri"}]}, {"readOnly": true, "type": "array", "name": "groups", "item": {"type": "object", "props": [{"type": "array", "name": "ids", "item": {"type": "string"}}, {"type": "string", "name": "type", "enum": {"items": [{"value": "AADTenants"}, {"value": "Subscriptions"}]}}]}}, {"type": "string", "name": "permissions", "enum": {"items": [{"value": "Community"}, {"value": "Groups"}, {"value": "Private"}]}}]}, {"readOnly": true, "type": "object", "name": "sharingStatus", "props": [{"readOnly": true, "type": "string", "name": "aggregatedState", "enum": {"items": [{"value": "Failed"}, {"value": "InProgress"}, {"value": "Succeeded"}, {"value": "Unknown"}]}}, {"type": "array", "name": "summary", "item": {"type": "object", "props": [{"type": "string", "name": "details"}, {"type": "string", "name": "region"}, {"readOnly": true, "type": "string", "name": "state", "enum": {"items": [{"value": "Failed"}, {"value": "InProgress"}, {"value": "Succeeded"}, {"value": "Unknown"}]}}]}, "identifiers": ["region"]}]}, {"type": "object", "name": "softDeletePolicy", "props": [{"type": "boolean", "name": "isSoftDeleteEnabled"}]}], "clientFlatten": true}, {"readOnly": true, "type": "object", "name": "systemData", "props": [{"type": "dateTime", "name": "createdAt", "format": {"protocol": "iso"}}, {"type": "string", "name": "createdBy"}, {"type": "string", "name": "createdByType", "enum": {"items": [{"value": "Application"}, {"value": "Key"}, {"value": "ManagedIdentity"}, {"value": "User"}]}}, {"type": "dateTime", "name": "lastModifiedAt", "format": {"protocol": "iso"}}, {"type": "string", "name": "lastModifiedBy"}, {"type": "string", "name": "lastModifiedByType", "enum": {"items": [{"value": "Application"}, {"value": "Key"}, {"value": "ManagedIdentity"}, {"value": "User"}]}}]}, {"type": "object", "name": "tags", "additionalProps": {"item": {"type": "string"}}}, {"readOnly": true, "type": "string", "name": "type"}]}}}}, {"isError": true, "body": {"json": {"schema": {"type": "@ODataV4Format"}}}}]}}], "outputs": [{"type": "object", "ref": "$Instance", "clientFlatten": true}], "confirmation": ""}, {"name": "delete", "version": "2025-03-03", "resources": [{"id": "/subscriptions/{}/resourcegroups/{}/providers/microsoft.compute/galleries/{}", "version": "2025-03-03", "swagger": "mgmt-plane/compute/ResourceProviders/Microsoft.Compute/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29tcHV0ZS9nYWxsZXJpZXMve2dhbGxlcnlOYW1lfQ==/V/MjAyNS0wMy0wMw=="}], "argGroups": [{"name": "", "args": [{"type": "string", "var": "$Path.galleryName", "options": ["r", "gallery-name"], "required": true, "group": "", "idPart": "name", "help": {"short": "The name of the Shared Image Gallery to be deleted."}, "format": {"pattern": "^[^_\\W][\\w._-]{0,79}(?", "var": "$gallery.identity.userAssigned", "options": ["user-assigned", "mi-user-assigned"], "group": "Identity", "help": {"short": "Set the user managed identities."}, "item": {"type": "string"}}, {"type": "object", "var": "$gallery.identity.userAssignedIdentities", "options": ["user-assigned-identities"], "hide": true, "group": "Identity", "help": {"short": "The list of user identities associated with the gallery. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'."}, "additionalProps": {"item": {"blank": {"value": {}}, "type": "object"}}}]}, {"name": "Properties", "args": [{"type": "string", "var": "$gallery.properties.description", "options": ["description"], "group": "Properties", "help": {"short": "The description of the gallery."}}]}, {"name": "SharingProfile", "args": [{"type": "string", "var": "$gallery.properties.sharingProfile.permissions", "options": ["permissions"], "group": "SharingProfile", "help": {"short": "This property allows you to specify the permission of sharing gallery."}, "enum": {"items": [{"name": "Community", "value": "Community"}, {"name": "Groups", "value": "Groups"}, {"name": "Private", "value": "Private"}]}}]}, {"name": "SoftDeletePolicy", "args": [{"type": "boolean", "var": "$gallery.properties.softDeletePolicy.isSoftDeleteEnabled", "options": ["soft-delete"], "group": "SoftDeletePolicy", "help": {"short": "Enable soft-deletion for resources in this gallery, allowing them to be recovered within retention time."}}]}], "operations": [{"longRunning": {"finalStateVia": "location"}, "operationId": "Galleries_CreateOrUpdate", "http": {"path": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}", "request": {"method": "put", "path": {"params": [{"type": "string", "name": "galleryName", "arg": "$Path.galleryName", "required": true, "format": {"pattern": "^[^_\\W][\\w._-]{0,79}(?", "name": "userAssigned", "arg": "$gallery.identity.userAssigned", "item": {"action": "create", "type": "string"}}, "systemAssigned": {"action": "create", "type": "string", "name": "systemAssigned", "arg": "$gallery.identity.systemAssigned"}}, {"type": "ResourceLocation", "name": "location", "arg": "$gallery.location", "required": true}, {"type": "object", "name": "properties", "props": [{"type": "string", "name": "description", "arg": "$gallery.properties.description"}, {"type": "object", "name": "sharingProfile", "props": [{"type": "object", "name": "communityGalleryInfo", "props": [{"type": "string", "name": "eula", "arg": "$gallery.properties.sharingProfile.communityGalleryInfo.eula"}, {"type": "string", "name": "publicNamePrefix", "arg": "$gallery.properties.sharingProfile.communityGalleryInfo.publicNamePrefix"}, {"type": "string", "name": "publisherContact", "arg": "$gallery.properties.sharingProfile.communityGalleryInfo.publisherContact"}, {"type": "string", "name": "publisherUri", "arg": "$gallery.properties.sharingProfile.communityGalleryInfo.publisherUri"}]}, {"type": "string", "name": "permissions", "arg": "$gallery.properties.sharingProfile.permissions", "enum": {"items": [{"value": "Community"}, {"value": "Groups"}, {"value": "Private"}]}}]}, {"type": "object", "name": "softDeletePolicy", "props": [{"type": "boolean", "name": "isSoftDeleteEnabled", "arg": "$gallery.properties.softDeletePolicy.isSoftDeleteEnabled"}]}], "clientFlatten": true}, {"type": "object", "name": "tags", "arg": "$gallery.tags", "additionalProps": {"item": {"type": "string"}}}], "clientFlatten": true}}}}, "responses": [{"statusCode": [200, 201], "body": {"json": {"var": "$Instance", "schema": {"type": "object", "props": [{"readOnly": true, "type": "ResourceId", "name": "id", "format": {"template": "/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Compute/galleries/{}"}}, {"type": "IdentityObject", "name": "identity", "props": [{"readOnly": true, "type": "string", "name": "principalId"}, {"readOnly": true, "type": "string", "name": "tenantId"}, {"type": "string", "name": "type", "enum": {"items": [{"value": "None"}, {"value": "SystemAssigned"}, {"value": "SystemAssigned, UserAssigned"}, {"value": "UserAssigned"}]}}, {"type": "object", "name": "userAssignedIdentities", "additionalProps": {"item": {"type": "object", "props": [{"readOnly": true, "type": "string", "name": "clientId"}, {"readOnly": true, "type": "string", "name": "principalId"}]}}}]}, {"type": "ResourceLocation", "name": "location", "required": true}, {"readOnly": true, "type": "string", "name": "name"}, {"type": "object", "name": "properties", "props": [{"type": "string", "name": "description"}, {"type": "object", "name": "identifier", "props": [{"readOnly": true, "type": "string", "name": "uniqueName"}]}, {"readOnly": true, "type": "string", "name": "provisioningState", "enum": {"items": [{"value": "Creating"}, {"value": "Deleting"}, {"value": "Failed"}, {"value": "Migrating"}, {"value": "Succeeded"}, {"value": "Updating"}]}}, {"type": "object", "name": "sharingProfile", "props": [{"type": "object", "name": "communityGalleryInfo", "props": [{"readOnly": true, "type": "boolean", "name": "communityGalleryEnabled"}, {"type": "string", "name": "eula"}, {"type": "string", "name": "publicNamePrefix"}, {"readOnly": true, "type": "array", "name": "publicNames", "item": {"type": "string"}}, {"type": "string", "name": "publisherContact"}, {"type": "string", "name": "publisherUri"}]}, {"readOnly": true, "type": "array", "name": "groups", "item": {"type": "object", "props": [{"type": "array", "name": "ids", "item": {"type": "string"}}, {"type": "string", "name": "type", "enum": {"items": [{"value": "AADTenants"}, {"value": "Subscriptions"}]}}]}}, {"type": "string", "name": "permissions", "enum": {"items": [{"value": "Community"}, {"value": "Groups"}, {"value": "Private"}]}}]}, {"readOnly": true, "type": "object", "name": "sharingStatus", "props": [{"readOnly": true, "type": "string", "name": "aggregatedState", "enum": {"items": [{"value": "Failed"}, {"value": "InProgress"}, {"value": "Succeeded"}, {"value": "Unknown"}]}}, {"type": "array", "name": "summary", "item": {"type": "object", "props": [{"type": "string", "name": "details"}, {"type": "string", "name": "region"}, {"readOnly": true, "type": "string", "name": "state", "enum": {"items": [{"value": "Failed"}, {"value": "InProgress"}, {"value": "Succeeded"}, {"value": "Unknown"}]}}]}, "identifiers": ["region"]}]}, {"type": "object", "name": "softDeletePolicy", "props": [{"type": "boolean", "name": "isSoftDeleteEnabled"}]}], "clientFlatten": true}, {"readOnly": true, "type": "object", "name": "systemData", "props": [{"type": "dateTime", "name": "createdAt", "format": {"protocol": "iso"}}, {"type": "string", "name": "createdBy"}, {"type": "string", "name": "createdByType", "enum": {"items": [{"value": "Application"}, {"value": "Key"}, {"value": "ManagedIdentity"}, {"value": "User"}]}}, {"type": "dateTime", "name": "lastModifiedAt", "format": {"protocol": "iso"}}, {"type": "string", "name": "lastModifiedBy"}, {"type": "string", "name": "lastModifiedByType", "enum": {"items": [{"value": "Application"}, {"value": "Key"}, {"value": "ManagedIdentity"}, {"value": "User"}]}}]}, {"type": "object", "name": "tags", "additionalProps": {"item": {"type": "string"}}}, {"readOnly": true, "type": "string", "name": "type"}], "cls": "Gallery_read"}}}}, {"statusCode": [202], "header": {"items": [{"name": "Location"}, {"name": "Retry-After"}]}, "body": {"json": {"var": "$Instance", "schema": {"type": "@Gallery_read"}}}}, {"isError": true, "body": {"json": {"schema": {"type": "@ODataV4Format"}}}}]}}], "outputs": [{"type": "object", "ref": "$Instance", "clientFlatten": true}], "confirmation": ""}, {"name": "update", "version": "2025-03-03", "resources": [{"id": "/subscriptions/{}/resourcegroups/{}/providers/microsoft.compute/galleries/{}", "version": "2025-03-03", "swagger": "mgmt-plane/compute/ResourceProviders/Microsoft.Compute/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29tcHV0ZS9nYWxsZXJpZXMve2dhbGxlcnlOYW1lfQ==/V/MjAyNS0wMy0wMw=="}], "argGroups": [{"name": "", "args": [{"type": "string", "var": "$Path.galleryName", "options": ["r", "gallery-name"], "required": true, "group": "", "idPart": "name", "help": {"short": "The name of the Shared Image Gallery."}, "format": {"pattern": "^[^_\\W][\\w._-]{0,79}(?", "var": "$gallery.identity.userAssigned", "options": ["user-assigned", "mi-user-assigned"], "group": "Identity", "help": {"short": "Set the user managed identities."}, "item": {"type": "string"}}, {"type": "object", "var": "$gallery.identity.userAssignedIdentities", "options": ["user-assigned-identities"], "hide": true, "group": "Identity", "help": {"short": "The list of user identities associated with the gallery. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'."}, "additionalProps": {"item": {"blank": {"value": {}}, "type": "object"}}}]}, {"name": "Properties", "args": [{"type": "string", "var": "$gallery.properties.description", "options": ["description"], "group": "Properties", "help": {"short": "The description of this Shared Image Gallery resource. This property is updatable."}}, {"type": "object", "var": "$gallery.properties.sharingProfile", "options": ["sharing-profile"], "group": "Properties", "help": {"short": "Profile for gallery sharing to subscription or tenant"}, "args": [{"type": "object", "var": "$gallery.properties.sharingProfile.communityGalleryInfo", "options": ["community-gallery-info"], "help": {"short": "Information of community gallery if current gallery is shared to community."}, "args": [{"type": "string", "var": "$gallery.properties.sharingProfile.communityGalleryInfo.eula", "options": ["eula"], "help": {"short": "End-user license agreement for community gallery image."}}, {"type": "string", "var": "$gallery.properties.sharingProfile.communityGalleryInfo.publicNamePrefix", "options": ["public-name-prefix"], "help": {"short": "The prefix of the gallery name that will be displayed publicly. Visible to all users."}}, {"type": "string", "var": "$gallery.properties.sharingProfile.communityGalleryInfo.publisherContact", "options": ["publisher-contact"], "help": {"short": "Community gallery publisher support email. The email address of the publisher. Visible to all users."}}, {"type": "string", "var": "$gallery.properties.sharingProfile.communityGalleryInfo.publisherUri", "options": ["publisher-uri"], "help": {"short": "The link to the publisher website. Visible to all users."}}]}, {"type": "string", "var": "$gallery.properties.sharingProfile.permissions", "options": ["permissions"], "help": {"short": "This property allows you to specify the permission of sharing gallery. Possible values are: **Private,** **Groups,** **Community.**"}, "enum": {"items": [{"name": "Community", "value": "Community"}, {"name": "Groups", "value": "Groups"}, {"name": "Private", "value": "Private"}]}}]}, {"type": "object", "var": "$gallery.properties.softDeletePolicy", "options": ["soft-delete-policy"], "group": "Properties", "help": {"short": "Contains information about the soft deletion policy of the gallery."}, "args": [{"type": "boolean", "var": "$gallery.properties.softDeletePolicy.isSoftDeleteEnabled", "options": ["is-soft-delete-enabled"], "help": {"short": "Enables soft-deletion for resources in this gallery, allowing them to be recovered within retention time."}}]}]}], "operations": [{"longRunning": {"finalStateVia": "location"}, "operationId": "Galleries_Update", "http": {"path": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}", "request": {"method": "patch", "path": {"params": [{"type": "string", "name": "galleryName", "arg": "$Path.galleryName", "required": true, "format": {"pattern": "^[^_\\W][\\w._-]{0,79}(?", "name": "userAssigned", "arg": "$gallery.identity.userAssigned", "item": {"action": "create", "type": "string"}}, "systemAssigned": {"action": "create", "type": "string", "name": "systemAssigned", "arg": "$gallery.identity.systemAssigned"}}, {"type": "object", "name": "properties", "props": [{"type": "string", "name": "description", "arg": "$gallery.properties.description"}, {"type": "object", "name": "sharingProfile", "arg": "$gallery.properties.sharingProfile", "props": [{"type": "object", "name": "communityGalleryInfo", "arg": "$gallery.properties.sharingProfile.communityGalleryInfo", "props": [{"type": "string", "name": "eula", "arg": "$gallery.properties.sharingProfile.communityGalleryInfo.eula"}, {"type": "string", "name": "publicNamePrefix", "arg": "$gallery.properties.sharingProfile.communityGalleryInfo.publicNamePrefix"}, {"type": "string", "name": "publisherContact", "arg": "$gallery.properties.sharingProfile.communityGalleryInfo.publisherContact"}, {"type": "string", "name": "publisherUri", "arg": "$gallery.properties.sharingProfile.communityGalleryInfo.publisherUri"}]}, {"type": "string", "name": "permissions", "arg": "$gallery.properties.sharingProfile.permissions", "enum": {"items": [{"value": "Community"}, {"value": "Groups"}, {"value": "Private"}]}}]}, {"type": "object", "name": "softDeletePolicy", "arg": "$gallery.properties.softDeletePolicy", "props": [{"type": "boolean", "name": "isSoftDeleteEnabled", "arg": "$gallery.properties.softDeletePolicy.isSoftDeleteEnabled"}]}], "clientFlatten": true}, {"type": "object", "name": "tags", "arg": "$gallery.tags", "additionalProps": {"item": {"type": "string"}}}], "clientFlatten": true}}}}, "responses": [{"statusCode": [200], "header": {"items": [{"name": "Location"}, {"name": "Retry-After"}]}, "body": {"json": {"var": "$Instance", "schema": {"type": "object", "props": [{"readOnly": true, "type": "ResourceId", "name": "id", "format": {"template": "/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Compute/galleries/{}"}}, {"type": "IdentityObject", "name": "identity", "props": [{"readOnly": true, "type": "string", "name": "principalId"}, {"readOnly": true, "type": "string", "name": "tenantId"}, {"type": "string", "name": "type", "enum": {"items": [{"value": "None"}, {"value": "SystemAssigned"}, {"value": "SystemAssigned, UserAssigned"}, {"value": "UserAssigned"}]}}, {"type": "object", "name": "userAssignedIdentities", "additionalProps": {"item": {"type": "object", "props": [{"readOnly": true, "type": "string", "name": "clientId"}, {"readOnly": true, "type": "string", "name": "principalId"}]}}}]}, {"type": "ResourceLocation", "name": "location", "required": true}, {"readOnly": true, "type": "string", "name": "name"}, {"type": "object", "name": "properties", "props": [{"type": "string", "name": "description"}, {"type": "object", "name": "identifier", "props": [{"readOnly": true, "type": "string", "name": "uniqueName"}]}, {"readOnly": true, "type": "string", "name": "provisioningState", "enum": {"items": [{"value": "Creating"}, {"value": "Deleting"}, {"value": "Failed"}, {"value": "Migrating"}, {"value": "Succeeded"}, {"value": "Updating"}]}}, {"type": "object", "name": "sharingProfile", "props": [{"type": "object", "name": "communityGalleryInfo", "props": [{"readOnly": true, "type": "boolean", "name": "communityGalleryEnabled"}, {"type": "string", "name": "eula"}, {"type": "string", "name": "publicNamePrefix"}, {"readOnly": true, "type": "array", "name": "publicNames", "item": {"type": "string"}}, {"type": "string", "name": "publisherContact"}, {"type": "string", "name": "publisherUri"}]}, {"readOnly": true, "type": "array", "name": "groups", "item": {"type": "object", "props": [{"type": "array", "name": "ids", "item": {"type": "string"}}, {"type": "string", "name": "type", "enum": {"items": [{"value": "AADTenants"}, {"value": "Subscriptions"}]}}]}}, {"type": "string", "name": "permissions", "enum": {"items": [{"value": "Community"}, {"value": "Groups"}, {"value": "Private"}]}}]}, {"readOnly": true, "type": "object", "name": "sharingStatus", "props": [{"readOnly": true, "type": "string", "name": "aggregatedState", "enum": {"items": [{"value": "Failed"}, {"value": "InProgress"}, {"value": "Succeeded"}, {"value": "Unknown"}]}}, {"type": "array", "name": "summary", "item": {"type": "object", "props": [{"type": "string", "name": "details"}, {"type": "string", "name": "region"}, {"readOnly": true, "type": "string", "name": "state", "enum": {"items": [{"value": "Failed"}, {"value": "InProgress"}, {"value": "Succeeded"}, {"value": "Unknown"}]}}]}, "identifiers": ["region"]}]}, {"type": "object", "name": "softDeletePolicy", "props": [{"type": "boolean", "name": "isSoftDeleteEnabled"}]}], "clientFlatten": true}, {"readOnly": true, "type": "object", "name": "systemData", "props": [{"type": "dateTime", "name": "createdAt", "format": {"protocol": "iso"}}, {"type": "string", "name": "createdBy"}, {"type": "string", "name": "createdByType", "enum": {"items": [{"value": "Application"}, {"value": "Key"}, {"value": "ManagedIdentity"}, {"value": "User"}]}}, {"type": "dateTime", "name": "lastModifiedAt", "format": {"protocol": "iso"}}, {"type": "string", "name": "lastModifiedBy"}, {"type": "string", "name": "lastModifiedByType", "enum": {"items": [{"value": "Application"}, {"value": "Key"}, {"value": "ManagedIdentity"}, {"value": "User"}]}}]}, {"type": "object", "name": "tags", "additionalProps": {"item": {"type": "string"}}}, {"readOnly": true, "type": "string", "name": "type"}]}}}}, {"isError": true, "body": {"json": {"schema": {"type": "@ODataV4Format"}}}}]}}], "outputs": [{"type": "object", "ref": "$Instance", "clientFlatten": true}]}], "commandGroups": [{"name": "identity", "commands": [{"name": "assign", "version": "2025-03-03", "resources": [{"id": "/subscriptions/{}/resourcegroups/{}/providers/microsoft.compute/galleries/{}", "version": "2025-03-03", "subresource": "identity", "swagger": "mgmt-plane/compute/ResourceProviders/Microsoft.Compute/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29tcHV0ZS9nYWxsZXJpZXMve2dhbGxlcnlOYW1lfQ==/V/MjAyNS0wMy0wMw=="}], "argGroups": [{"name": "", "args": [{"type": "string", "var": "$Path.galleryName", "options": ["r", "gallery-name"], "required": true, "group": "", "idPart": "name", "help": {"short": "The name of the Shared Image Gallery."}, "format": {"pattern": "^[^_\\W][\\w._-]{0,79}(?", "var": "$gallery.identity.userAssigned", "options": ["user-assigned", "mi-user-assigned"], "group": "Gallery.identity", "help": {"short": "Set the user managed identities."}, "item": {"type": "string"}}]}], "subresourceSelector": {"var": "$Subresource", "ref": "$Instance", "json": {"type": "object", "name": "gallery", "prop": {"type": "object", "name": "identity"}}}, "operations": [{"operationId": "Galleries_Get", "http": {"path": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}", "request": {"method": "get", "path": {"params": [{"type": "string", "name": "galleryName", "arg": "$Path.galleryName", "required": true, "format": {"pattern": "^[^_\\W][\\w._-]{0,79}(?", "name": "publicNames", "item": {"type": "string"}}, {"type": "string", "name": "publisherContact"}, {"type": "string", "name": "publisherUri"}]}, {"readOnly": true, "type": "array", "name": "groups", "item": {"type": "object", "props": [{"type": "array", "name": "ids", "item": {"type": "string"}}, {"type": "string", "name": "type", "enum": {"items": [{"value": "AADTenants"}, {"value": "Subscriptions"}]}}]}}, {"type": "string", "name": "permissions", "enum": {"items": [{"value": "Community"}, {"value": "Groups"}, {"value": "Private"}]}}]}, {"readOnly": true, "type": "object", "name": "sharingStatus", "props": [{"readOnly": true, "type": "string", "name": "aggregatedState", "enum": {"items": [{"value": "Failed"}, {"value": "InProgress"}, {"value": "Succeeded"}, {"value": "Unknown"}]}}, {"type": "array", "name": "summary", "item": {"type": "object", "props": [{"type": "string", "name": "details"}, {"type": "string", "name": "region"}, {"readOnly": true, "type": "string", "name": "state", "enum": {"items": [{"value": "Failed"}, {"value": "InProgress"}, {"value": "Succeeded"}, {"value": "Unknown"}]}}]}, "identifiers": ["region"]}]}, {"type": "object", "name": "softDeletePolicy", "props": [{"type": "boolean", "name": "isSoftDeleteEnabled"}]}], "clientFlatten": true}, {"readOnly": true, "type": "object", "name": "systemData", "props": [{"type": "dateTime", "name": "createdAt", "format": {"protocol": "iso"}}, {"type": "string", "name": "createdBy"}, {"type": "string", "name": "createdByType", "enum": {"items": [{"value": "Application"}, {"value": "Key"}, {"value": "ManagedIdentity"}, {"value": "User"}]}}, {"type": "dateTime", "name": "lastModifiedAt", "format": {"protocol": "iso"}}, {"type": "string", "name": "lastModifiedBy"}, {"type": "string", "name": "lastModifiedByType", "enum": {"items": [{"value": "Application"}, {"value": "Key"}, {"value": "ManagedIdentity"}, {"value": "User"}]}}]}, {"type": "object", "name": "tags", "additionalProps": {"item": {"type": "string"}}}, {"readOnly": true, "type": "string", "name": "type"}], "cls": "Gallery_read"}}}}, {"isError": true, "body": {"json": {"schema": {"type": "@ODataV4Format"}}}}]}}, {"instanceUpdate": {"ref": "$Subresource", "json": {"schema": {"action": "assign", "type": "IdentityObject", "name": "gallery.identity", "required": true, "userAssigned": {"action": "assign", "type": "array", "name": "userAssigned", "arg": "$gallery.identity.userAssigned", "item": {"action": "assign", "type": "string"}}, "systemAssigned": {"action": "assign", "type": "string", "name": "systemAssigned", "arg": "$gallery.identity.systemAssigned"}}}}}, {"longRunning": {"finalStateVia": "location"}, "operationId": "Galleries_Update", "http": {"path": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}", "request": {"method": "patch", "path": {"params": [{"type": "string", "name": "galleryName", "arg": "$Path.galleryName", "required": true, "format": {"pattern": "^[^_\\W][\\w._-]{0,79}(?", "var": "$gallery.identity.userAssigned", "options": ["user-assigned", "mi-user-assigned"], "group": "Gallery.identity", "help": {"short": "Set the user managed identities."}, "item": {"type": "string"}}]}], "subresourceSelector": {"var": "$Subresource", "ref": "$Instance", "json": {"type": "object", "name": "gallery", "prop": {"type": "object", "name": "identity"}}}, "operations": [{"operationId": "Galleries_Get", "http": {"path": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}", "request": {"method": "get", "path": {"params": [{"type": "string", "name": "galleryName", "arg": "$Path.galleryName", "required": true, "format": {"pattern": "^[^_\\W][\\w._-]{0,79}(?", "name": "publicNames", "item": {"type": "string"}}, {"type": "string", "name": "publisherContact"}, {"type": "string", "name": "publisherUri"}]}, {"readOnly": true, "type": "array", "name": "groups", "item": {"type": "object", "props": [{"type": "array", "name": "ids", "item": {"type": "string"}}, {"type": "string", "name": "type", "enum": {"items": [{"value": "AADTenants"}, {"value": "Subscriptions"}]}}]}}, {"type": "string", "name": "permissions", "enum": {"items": [{"value": "Community"}, {"value": "Groups"}, {"value": "Private"}]}}]}, {"readOnly": true, "type": "object", "name": "sharingStatus", "props": [{"readOnly": true, "type": "string", "name": "aggregatedState", "enum": {"items": [{"value": "Failed"}, {"value": "InProgress"}, {"value": "Succeeded"}, {"value": "Unknown"}]}}, {"type": "array", "name": "summary", "item": {"type": "object", "props": [{"type": "string", "name": "details"}, {"type": "string", "name": "region"}, {"readOnly": true, "type": "string", "name": "state", "enum": {"items": [{"value": "Failed"}, {"value": "InProgress"}, {"value": "Succeeded"}, {"value": "Unknown"}]}}]}, "identifiers": ["region"]}]}, {"type": "object", "name": "softDeletePolicy", "props": [{"type": "boolean", "name": "isSoftDeleteEnabled"}]}], "clientFlatten": true}, {"readOnly": true, "type": "object", "name": "systemData", "props": [{"type": "dateTime", "name": "createdAt", "format": {"protocol": "iso"}}, {"type": "string", "name": "createdBy"}, {"type": "string", "name": "createdByType", "enum": {"items": [{"value": "Application"}, {"value": "Key"}, {"value": "ManagedIdentity"}, {"value": "User"}]}}, {"type": "dateTime", "name": "lastModifiedAt", "format": {"protocol": "iso"}}, {"type": "string", "name": "lastModifiedBy"}, {"type": "string", "name": "lastModifiedByType", "enum": {"items": [{"value": "Application"}, {"value": "Key"}, {"value": "ManagedIdentity"}, {"value": "User"}]}}]}, {"type": "object", "name": "tags", "additionalProps": {"item": {"type": "string"}}}, {"readOnly": true, "type": "string", "name": "type"}], "cls": "Gallery_read"}}}}, {"isError": true, "body": {"json": {"schema": {"type": "@ODataV4Format"}}}}]}}, {"instanceUpdate": {"ref": "$Subresource", "json": {"schema": {"action": "remove", "type": "IdentityObject", "name": "gallery.identity", "required": true, "userAssigned": {"action": "remove", "type": "array", "name": "userAssigned", "arg": "$gallery.identity.userAssigned", "item": {"action": "remove", "type": "string"}}, "systemAssigned": {"action": "remove", "type": "string", "name": "systemAssigned", "arg": "$gallery.identity.systemAssigned"}}}}}, {"longRunning": {"finalStateVia": "location"}, "operationId": "Galleries_Update", "http": {"path": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}", "request": {"method": "patch", "path": {"params": [{"type": "string", "name": "galleryName", "arg": "$Path.galleryName", "required": true, "format": {"pattern": "^[^_\\W][\\w._-]{0,79}(?", "name": "publicNames", "item": {"type": "string"}}, {"type": "string", "name": "publisherContact"}, {"type": "string", "name": "publisherUri"}]}, {"readOnly": true, "type": "array", "name": "groups", "item": {"type": "object", "props": [{"type": "array", "name": "ids", "item": {"type": "string"}}, {"type": "string", "name": "type", "enum": {"items": [{"value": "AADTenants"}, {"value": "Subscriptions"}]}}]}}, {"type": "string", "name": "permissions", "enum": {"items": [{"value": "Community"}, {"value": "Groups"}, {"value": "Private"}]}}]}, {"readOnly": true, "type": "object", "name": "sharingStatus", "props": [{"readOnly": true, "type": "string", "name": "aggregatedState", "enum": {"items": [{"value": "Failed"}, {"value": "InProgress"}, {"value": "Succeeded"}, {"value": "Unknown"}]}}, {"type": "array", "name": "summary", "item": {"type": "object", "props": [{"type": "string", "name": "details"}, {"type": "string", "name": "region"}, {"readOnly": true, "type": "string", "name": "state", "enum": {"items": [{"value": "Failed"}, {"value": "InProgress"}, {"value": "Succeeded"}, {"value": "Unknown"}]}}]}, "identifiers": ["region"]}]}, {"type": "object", "name": "softDeletePolicy", "props": [{"type": "boolean", "name": "isSoftDeleteEnabled"}]}], "clientFlatten": true}, {"readOnly": true, "type": "object", "name": "systemData", "props": [{"type": "dateTime", "name": "createdAt", "format": {"protocol": "iso"}}, {"type": "string", "name": "createdBy"}, {"type": "string", "name": "createdByType", "enum": {"items": [{"value": "Application"}, {"value": "Key"}, {"value": "ManagedIdentity"}, {"value": "User"}]}}, {"type": "dateTime", "name": "lastModifiedAt", "format": {"protocol": "iso"}}, {"type": "string", "name": "lastModifiedBy"}, {"type": "string", "name": "lastModifiedByType", "enum": {"items": [{"value": "Application"}, {"value": "Key"}, {"value": "ManagedIdentity"}, {"value": "User"}]}}]}, {"type": "object", "name": "tags", "additionalProps": {"item": {"type": "string"}}}, {"readOnly": true, "type": "string", "name": "type"}], "cls": "Gallery_read"}}}}, {"isError": true, "body": {"json": {"schema": {"type": "@ODataV4Format"}}}}]}}], "outputs": [{"type": "object", "ref": "$Subresource", "clientFlatten": true}]}]}]}]} \ No newline at end of file diff --git a/Resources/mgmt-plane/L3N1YnNjcmlwdGlvbnMve30vcmVzb3VyY2Vncm91cHMve30vcHJvdmlkZXJzL21pY3Jvc29mdC5jb21wdXRlL2dhbGxlcmllcy97fQ==/2025-03-03.xml b/Resources/mgmt-plane/L3N1YnNjcmlwdGlvbnMve30vcmVzb3VyY2Vncm91cHMve30vcHJvdmlkZXJzL21pY3Jvc29mdC5jb21wdXRlL2dhbGxlcmllcy97fQ==/2025-03-03.xml new file mode 100644 index 000000000..d3840f66e --- /dev/null +++ b/Resources/mgmt-plane/L3N1YnNjcmlwdGlvbnMve30vcmVzb3VyY2Vncm91cHMve30vcHJvdmlkZXJzL21pY3Jvc29mdC5jb21wdXRlL2dhbGxlcmllcy97fQ==/2025-03-03.xml @@ -0,0 +1,1597 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+ + + + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + + + + +
+ + + + + + + +
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + + + + +
+ + + + + + + +
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + + + + +
+ + + + + + + +
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+