{
    "api_version": "1",
    "kind": "dse_post",
    "self": "https://update.dsesecurity.com/api/v1/posts/dse-20260909-402-validate-the-portal-control-s-values-against-the-deployment-template/",
    "item": {
        "id": "https://update.dsesecurity.com/updates/dse-20260909-402-validate-the-portal-control-s-values-against-the-deployment-template/",
        "slug": "dse-20260909-402-validate-the-portal-control-s-values-against-the-deployment-template",
        "url": "https://update.dsesecurity.com/updates/dse-20260909-402-validate-the-portal-control-s-values-against-the-deployment-template/",
        "alternate_urls": {
            "markdown": "https://update.dsesecurity.com/updates/dse-20260909-402-validate-the-portal-control-s-values-against-the-deployment-template.md",
            "json": "https://update.dsesecurity.com/api/v1/posts/dse-20260909-402-validate-the-portal-control-s-values-against-the-deployment-template/"
        },
        "title": "Validate the portal control's values against the deployment template",
        "summary": "A working createUiDefinition control can still produce a name, type or default that the ARM template does not accept.",
        "format": {
            "slug": "guide",
            "name": "Guide"
        },
        "priority": {
            "slug": "info",
            "name": "Information"
        },
        "featured": false,
        "image": {
            "theme": "network-infrastructure",
            "label": "Networks & infrastructure",
            "alt": "Resilient network core with engineered blue and gold data paths.",
            "card_url": "https://update.dsesecurity.com/assets/editorial/network-infrastructure-card.webp?v=1.8.20",
            "hero_url": "https://update.dsesecurity.com/assets/editorial/network-infrastructure-hero.webp?v=1.8.20",
            "social_url": "https://update.dsesecurity.com/assets/editorial/network-infrastructure-social-v2.jpg?v=1.8.20",
            "width": 2400,
            "height": 1350
        },
        "topics": [
            {
                "slug": "cybersecurity",
                "name": "Cybersecurity",
                "url": "https://update.dsesecurity.com/topic/cybersecurity/"
            },
            {
                "slug": "networks-infrastructure",
                "name": "Networks & Infrastructure",
                "url": "https://update.dsesecurity.com/topic/networks-infrastructure/"
            }
        ],
        "author": {
            "name": "DSE Security Editorial Team",
            "url": "https://update.dsesecurity.com/#editorial-team",
            "type": "Organization"
        },
        "publisher": {
            "name": "Detection Systems & Engineering",
            "url": "https://dsesecurity.com/"
        },
        "published_at": "2026-09-10T00:25:14+00:00",
        "modified_at": "2026-09-10T02:04:56+00:00",
        "reviewed_on": "2026-09-09",
        "reading_minutes": 2,
        "word_count": 232,
        "potentially_affected": "Azure managed-application createUiDefinition.json interfaces paired with ARM templates.",
        "dse_recommendation": "Test the UI definition and main template as one parameter contract.",
        "primary_source": {
            "name": "createUiDefinition.json test cases for Azure Resource Manager test toolkit - Azure Resource Manager | Microsoft Learn",
            "url": "https://learn.microsoft.com/en-us/azure/azure-resource-manager/templates/createuidefinition-test-cases",
            "published_on": null,
            "authority": "Microsoft Learn"
        },
        "publishing_principles": "https://update.dsesecurity.com/updates/dse-updates-editorial-methodology/",
        "usage_info": "https://update.dsesecurity.com/usage/",
        "copyright_notice": "Copyright © 2026 Detection Systems & Engineering. All rights reserved.",
        "content_html": "<h2>Source facts</h2>\n<p>The template test toolkit checks that control values in createUiDefinition.json are allowed by the main template&#8217;s parameters. Microsoft&#8217;s examples fail when parameter names differ or when a template integer parameter receives a control&#8217;s string value. A template default must also be one of the control&#8217;s allowed values.</p>\n<p>For a VM SizeSelector, the tests compare the UI outputs with the main template parameters and require a template default to match the control&#8217;s allowedSizes. <a href=\"https://learn.microsoft.com/en-us/azure/azure-resource-manager/templates/createuidefinition-test-cases\" target=\"_blank\" rel=\"noopener noreferrer\">Microsoft Learn</a>.</p>\n<h2>Applicability</h2>\n<p>Identify the exact UI definition and main template released together. Distinguish a control&#8217;s displayed label from the output parameter name and the value&#8217;s actual type.</p>\n<h2>DSE recommendation</h2>\n<p>DSE recommends reviewing every UI output alongside the receiving parameter before publication. Compare names, types, defaults and permitted choices, especially after changing a dropdown or size selector. Keep the two files versioned as one deliverable. Do not bypass a contract failure by accepting all values or changing a parameter type without checking the deployment&#8217;s real requirement.</p>\n<h2>Verification</h2>\n<p>Run the relevant toolkit tests against the paired files, then exercise representative UI selections in an approved test experience. Include the default and boundary choices, and inspect the resulting parameter values without exposing secrets. Retain both file revisions and test results. A successful portal preview alone should not replace the cross-file validation evidence.</p>\n<h2>Official references</h2>\n<p><a href=\"https://learn.microsoft.com/en-us/azure/azure-resource-manager/templates/createuidefinition-test-cases\" target=\"_blank\" rel=\"noopener noreferrer\">Microsoft Learn: createUiDefinition.json test cases for Azure Resource Manager test toolkit</a>. Source retrieved September 9, 2026.</p>",
        "content_text": "Source facts\nThe template test toolkit checks that control values in createUiDefinition.json are allowed by the main template’s parameters. Microsoft’s examples fail when parameter names differ or when a template integer parameter receives a control’s string value. A template default must also be one of the control’s allowed values.\nFor a VM SizeSelector, the tests compare the UI outputs with the main template parameters and require a template default to match the control’s allowedSizes. Microsoft Learn.\nApplicability\nIdentify the exact UI definition and main template released together. Distinguish a control’s displayed label from the output parameter name and the value’s actual type.\nDSE recommendation\nDSE recommends reviewing every UI output alongside the receiving parameter before publication. Compare names, types, defaults and permitted choices, especially after changing a dropdown or size selector. Keep the two files versioned as one deliverable. Do not bypass a contract failure by accepting all values or changing a parameter type without checking the deployment’s real requirement.\nVerification\nRun the relevant toolkit tests against the paired files, then exercise representative UI selections in an approved test experience. Include the default and boundary choices, and inspect the resulting parameter values without exposing secrets. Retain both file revisions and test results. A successful portal preview alone should not replace the cross-file validation evidence.\nOfficial references\nMicrosoft Learn: createUiDefinition.json test cases for Azure Resource Manager test toolkit. Source retrieved September 9, 2026.",
        "content_markdown": "## Source facts\n\nThe template test toolkit checks that control values in createUiDefinition.json are allowed by the main template’s parameters. Microsoft’s examples fail when parameter names differ or when a template integer parameter receives a control’s string value. A template default must also be one of the control’s allowed values.\n\nFor a VM SizeSelector, the tests compare the UI outputs with the main template parameters and require a template default to match the control’s allowedSizes. [Microsoft Learn](https://learn.microsoft.com/en-us/azure/azure-resource-manager/templates/createuidefinition-test-cases).\n\n## Applicability\n\nIdentify the exact UI definition and main template released together. Distinguish a control’s displayed label from the output parameter name and the value’s actual type.\n\n## DSE recommendation\n\nDSE recommends reviewing every UI output alongside the receiving parameter before publication. Compare names, types, defaults and permitted choices, especially after changing a dropdown or size selector. Keep the two files versioned as one deliverable. Do not bypass a contract failure by accepting all values or changing a parameter type without checking the deployment’s real requirement.\n\n## Verification\n\nRun the relevant toolkit tests against the paired files, then exercise representative UI selections in an approved test experience. Include the default and boundary choices, and inspect the resulting parameter values without exposing secrets. Retain both file revisions and test results. A successful portal preview alone should not replace the cross-file validation evidence.\n\n## Official references\n\n[Microsoft Learn: createUiDefinition.json test cases for Azure Resource Manager test toolkit](https://learn.microsoft.com/en-us/azure/azure-resource-manager/templates/createuidefinition-test-cases). Source retrieved September 9, 2026."
    },
    "json_ld": {
        "@context": "https://schema.org",
        "@graph": [
            {
                "@type": "Organization",
                "@id": "https://dsesecurity.com/#organization",
                "name": "Detection Systems & Engineering",
                "alternateName": "DSE Security",
                "url": "https://dsesecurity.com/",
                "logo": {
                    "@type": "ImageObject",
                    "url": "https://update.dsesecurity.com/assets/dse-logo-20260812.png?v=1.8.20"
                }
            },
            {
                "@type": "Organization",
                "@id": "https://update.dsesecurity.com/#editorial-team",
                "name": "DSE Security Editorial Team",
                "url": "https://update.dsesecurity.com/",
                "parentOrganization": {
                    "@id": "https://dsesecurity.com/#organization"
                }
            },
            {
                "@type": "WebSite",
                "@id": "https://update.dsesecurity.com/#website",
                "name": "DSE Updates",
                "alternateName": "DSE Security Knowledge Hub",
                "url": "https://update.dsesecurity.com/",
                "inLanguage": "en-US",
                "publisher": {
                    "@id": "https://dsesecurity.com/#organization"
                },
                "potentialAction": {
                    "@type": "SearchAction",
                    "target": {
                        "@type": "EntryPoint",
                        "urlTemplate": "https://update.dsesecurity.com/?q={search_term_string}"
                    },
                    "query-input": "required name=search_term_string"
                }
            },
            {
                "@type": "WebPage",
                "@id": "https://update.dsesecurity.com/updates/dse-20260909-402-validate-the-portal-control-s-values-against-the-deployment-template/",
                "url": "https://update.dsesecurity.com/updates/dse-20260909-402-validate-the-portal-control-s-values-against-the-deployment-template/",
                "isPartOf": {
                    "@id": "https://update.dsesecurity.com/#website"
                },
                "lastReviewed": "2026-09-09"
            },
            {
                "@type": "BreadcrumbList",
                "@id": "https://update.dsesecurity.com/updates/dse-20260909-402-validate-the-portal-control-s-values-against-the-deployment-template/#breadcrumbs",
                "itemListElement": [
                    {
                        "@type": "ListItem",
                        "position": 1,
                        "name": "DSE Updates",
                        "item": "https://update.dsesecurity.com/"
                    },
                    {
                        "@type": "ListItem",
                        "position": 2,
                        "name": "Validate the portal control's values against the deployment template",
                        "item": "https://update.dsesecurity.com/updates/dse-20260909-402-validate-the-portal-control-s-values-against-the-deployment-template/"
                    }
                ]
            },
            {
                "@type": [
                    "Article",
                    "TechArticle"
                ],
                "@id": "https://update.dsesecurity.com/updates/dse-20260909-402-validate-the-portal-control-s-values-against-the-deployment-template/#article",
                "identifier": "https://update.dsesecurity.com/updates/dse-20260909-402-validate-the-portal-control-s-values-against-the-deployment-template/",
                "url": "https://update.dsesecurity.com/updates/dse-20260909-402-validate-the-portal-control-s-values-against-the-deployment-template/",
                "headline": "Validate the portal control's values against the deployment template",
                "description": "A working createUiDefinition control can still produce a name, type or default that the ARM template does not accept.",
                "abstract": "A working createUiDefinition control can still produce a name, type or default that the ARM template does not accept.",
                "articleBody": "Source facts\nThe template test toolkit checks that control values in createUiDefinition.json are allowed by the main template’s parameters. Microsoft’s examples fail when parameter names differ or when a template integer parameter receives a control’s string value. A template default must also be one of the control’s allowed values.\nFor a VM SizeSelector, the tests compare the UI outputs with the main template parameters and require a template default to match the control’s allowedSizes. Microsoft Learn.\nApplicability\nIdentify the exact UI definition and main template released together. Distinguish a control’s displayed label from the output parameter name and the value’s actual type.\nDSE recommendation\nDSE recommends reviewing every UI output alongside the receiving parameter before publication. Compare names, types, defaults and permitted choices, especially after changing a dropdown or size selector. Keep the two files versioned as one deliverable. Do not bypass a contract failure by accepting all values or changing a parameter type without checking the deployment’s real requirement.\nVerification\nRun the relevant toolkit tests against the paired files, then exercise representative UI selections in an approved test experience. Include the default and boundary choices, and inspect the resulting parameter values without exposing secrets. Retain both file revisions and test results. A successful portal preview alone should not replace the cross-file validation evidence.\nOfficial references\nMicrosoft Learn: createUiDefinition.json test cases for Azure Resource Manager test toolkit. Source retrieved September 9, 2026.",
                "datePublished": "2026-09-10T00:25:14+00:00",
                "dateModified": "2026-09-10T02:04:56+00:00",
                "mainEntityOfPage": {
                    "@id": "https://update.dsesecurity.com/updates/dse-20260909-402-validate-the-portal-control-s-values-against-the-deployment-template/"
                },
                "inLanguage": "en-US",
                "isAccessibleForFree": true,
                "author": {
                    "@type": "Organization",
                    "name": "DSE Security Editorial Team",
                    "url": "https://update.dsesecurity.com/#editorial-team"
                },
                "publisher": {
                    "@id": "https://dsesecurity.com/#organization"
                },
                "image": {
                    "@type": "ImageObject",
                    "@id": "https://update.dsesecurity.com/updates/dse-20260909-402-validate-the-portal-control-s-values-against-the-deployment-template/#primaryimage",
                    "url": "https://update.dsesecurity.com/assets/editorial/network-infrastructure-social-v2.jpg?v=1.8.20",
                    "contentUrl": "https://update.dsesecurity.com/assets/editorial/network-infrastructure-social-v2.jpg?v=1.8.20",
                    "width": 1200,
                    "height": 630,
                    "caption": "Validate the portal control's values against the deployment template"
                },
                "articleSection": [
                    "Cybersecurity",
                    "Networks & Infrastructure"
                ],
                "keywords": [
                    "Cybersecurity",
                    "Networks & Infrastructure",
                    "Guide",
                    "Information priority"
                ],
                "genre": "Guide",
                "about": [
                    {
                        "@type": "Thing",
                        "name": "Cybersecurity",
                        "url": "https://update.dsesecurity.com/topic/cybersecurity/"
                    },
                    {
                        "@type": "Thing",
                        "name": "Networks & Infrastructure",
                        "url": "https://update.dsesecurity.com/topic/networks-infrastructure/"
                    }
                ],
                "wordCount": 232,
                "timeRequired": "PT2M",
                "publishingPrinciples": "https://update.dsesecurity.com/updates/dse-updates-editorial-methodology/",
                "usageInfo": "https://update.dsesecurity.com/usage/",
                "copyrightHolder": {
                    "@id": "https://dsesecurity.com/#organization"
                },
                "copyrightNotice": "Copyright © 2026 Detection Systems & Engineering. All rights reserved.",
                "citation": {
                    "@type": "CreativeWork",
                    "name": "createUiDefinition.json test cases for Azure Resource Manager test toolkit - Azure Resource Manager | Microsoft Learn",
                    "url": "https://learn.microsoft.com/en-us/azure/azure-resource-manager/templates/createuidefinition-test-cases"
                }
            }
        ]
    }
}