Resources/mgmt-plane/L3N1YnNjcmlwdGlvbnMve30vcHJvdmlkZXJzL21pY3Jvc29mdC5wcm92aWRlcmh1Yi9wcm92aWRlcnJlZ2lzdHJhdGlvbnMve30=/2025-03-01-preview.xml (3,520 lines of code) (raw):
<?xml version='1.0' encoding='utf-8'?>
<CodeGen plane="mgmt-plane">
<resource id="/subscriptions/{}/providers/microsoft.providerhub/providerregistrations/{}" version="2025-03-01-preview" swagger="mgmt-plane/providerhub/ResourceProviders/Microsoft.ProviderHub/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9wcm92aWRlcnMvTWljcm9zb2Z0LlByb3ZpZGVySHViL3Byb3ZpZGVyUmVnaXN0cmF0aW9ucy97cHJvdmlkZXJOYW1lc3BhY2V9/V/MjAyNS0wMy0wMS1wcmV2aWV3"/>
<commandGroup name="providerhub provider-registration">
<command name="show" version="2025-03-01-preview">
<resource id="/subscriptions/{}/providers/microsoft.providerhub/providerregistrations/{}" version="2025-03-01-preview" swagger="mgmt-plane/providerhub/ResourceProviders/Microsoft.ProviderHub/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9wcm92aWRlcnMvTWljcm9zb2Z0LlByb3ZpZGVySHViL3Byb3ZpZGVyUmVnaXN0cmF0aW9ucy97cHJvdmlkZXJOYW1lc3BhY2V9/V/MjAyNS0wMy0wMS1wcmV2aWV3"/>
<argGroup name="">
<arg type="string" var="$Path.providerNamespace" options="provider-namespace name n" required="True" idPart="name">
<help short="The name of the resource provider hosted within ProviderHub."/>
</arg>
<arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/>
</argGroup>
<operation operationId="ProviderRegistrations_Get">
<http path="/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}">
<request method="get">
<path>
<param type="string" name="providerNamespace" arg="$Path.providerNamespace" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True">
<format minLength="1"/>
</param>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2025-03-01-preview""/>
<format minLength="1"/>
</const>
</query>
</request>
<response statusCode="200">
<body>
<json var="$Instance">
<schema type="object">
<prop readOnly="True" type="ResourceId" name="id">
<format template="/subscriptions/{}/providers/Microsoft.ProviderHub/providerRegistrations/{}"/>
</prop>
<prop type="string" name="kind">
<default value=""Managed""/>
<enum>
<item value=""Direct""/>
<item value=""Hybrid""/>
<item value=""Managed""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties">
<prop type="array<object>" name="capabilities" identifiers="quotaId">
<item type="object">
<prop type="string" name="effect" required="True">
<enum>
<item value=""Allow""/>
<item value=""Disallow""/>
<item value=""NotSpecified""/>
</enum>
</prop>
<prop type="string" name="quotaId" required="True"/>
<prop type="array<string>" name="requiredFeatures">
<item type="string"/>
</prop>
</item>
</prop>
<prop type="string" name="crossTenantTokenValidation">
<enum>
<item value=""EnsureSecureValidation""/>
<item value=""PassthroughInsecureToken""/>
</enum>
</prop>
<prop type="string" name="customManifestVersion"/>
<prop type="object" name="dstsConfiguration">
<prop type="string" name="serviceDnsName"/>
<prop type="string" name="serviceName" required="True"/>
</prop>
<prop type="boolean" name="enablePresetResourceTypes"/>
<prop nullable="True" type="boolean" name="enableTenantLinkedNotification"/>
<prop type="object" name="featuresRule">
<prop type="string" name="requiredFeaturesPolicy" required="True">
<enum>
<item value=""All""/>
<item value=""Any""/>
</enum>
</prop>
</prop>
<prop type="array<object>" name="globalNotificationEndpoints">
<item type="object" cls="ResourceProviderEndpoint_read">
<prop type="array<string>" name="apiVersions">
<item type="string"/>
</prop>
<prop type="boolean" name="enabled"/>
<prop type="string" name="endpointType">
<enum>
<item value=""Canary""/>
<item value=""NotSpecified""/>
<item value=""Production""/>
<item value=""TestInProduction""/>
</enum>
</prop>
<prop type="string" name="endpointUri"/>
<prop type="object" name="featuresRule">
<prop type="string" name="requiredFeaturesPolicy" required="True">
<enum>
<item value=""All""/>
<item value=""Any""/>
</enum>
</prop>
</prop>
<prop type="array<string>" name="locations">
<item type="string"/>
</prop>
<prop type="array<string>" name="requiredFeatures">
<item type="string"/>
</prop>
<prop type="string" name="skuLink"/>
<prop type="duration" name="timeout"/>
</item>
</prop>
<prop type="string" name="legacyNamespace"/>
<prop type="array<string>" name="legacyRegistrations">
<item type="string"/>
</prop>
<prop type="array<object>" name="linkedNotificationRules">
<item type="object">
<prop type="array<string>" name="actions">
<item type="string"/>
</prop>
<prop type="object" name="dstsConfiguration">
<prop type="string" name="serviceDnsName"/>
<prop type="string" name="serviceName" required="True"/>
</prop>
<prop type="array<@ResourceProviderEndpoint_read>" name="endpoints">
<item type="@ResourceProviderEndpoint_read"/>
</prop>
<prop type="object" name="tokenAuthConfiguration" cls="TokenAuthConfiguration_read">
<prop type="string" name="authenticationScheme">
<enum>
<item value=""Bearer""/>
<item value=""PoP""/>
</enum>
</prop>
<prop type="boolean" name="disableCertificateAuthenticationFallback"/>
<prop type="string" name="signedRequestScope">
<enum>
<item value=""Endpoint""/>
<item value=""ResourceUri""/>
</enum>
</prop>
</prop>
</item>
</prop>
<prop type="object" name="management">
<prop type="array<string>" name="authorizationOwners">
<item type="string"/>
</prop>
<prop type="array<string>" name="canaryManifestOwners">
<item type="string"/>
</prop>
<prop type="object" name="errorResponseMessageOptions">
<prop type="string" name="serverFailureResponseMessageType">
<enum>
<item value=""NotSpecified""/>
<item value=""OutageReporting""/>
</enum>
</prop>
</prop>
<prop type="object" name="expeditedRolloutMetadata">
<prop type="boolean" name="enabled"/>
<prop type="string" name="expeditedRolloutIntent">
<enum>
<item value=""Hotfix""/>
<item value=""NotSpecified""/>
</enum>
</prop>
</prop>
<prop type="array<string>" name="expeditedRolloutSubmitters">
<item type="string"/>
</prop>
<prop type="string" name="incidentContactEmail"/>
<prop type="string" name="incidentRoutingService"/>
<prop type="string" name="incidentRoutingTeam"/>
<prop type="array<string>" name="manifestOwners">
<item type="string"/>
</prop>
<prop type="string" name="pcCode"/>
<prop type="string" name="profitCenterProgramId"/>
<prop type="string" name="resourceAccessPolicy">
<enum>
<item value=""AcisActionAllowed""/>
<item value=""AcisReadAllowed""/>
<item value=""NotSpecified""/>
</enum>
</prop>
<prop type="array<object>" name="resourceAccessRoles">
<item type="object">
<prop type="array<string>" name="actions">
<item type="string"/>
</prop>
<prop type="array<string>" name="allowedGroupClaims">
<item type="string"/>
</prop>
</item>
</prop>
<prop type="array<string>" name="schemaOwners">
<item type="string"/>
</prop>
<prop type="array<object>" name="serviceTreeInfos">
<item type="object">
<prop type="string" name="componentId"/>
<prop type="string" name="readiness">
<enum>
<item value=""ClosingDown""/>
<item value=""Deprecated""/>
<item value=""GA""/>
<item value=""InDevelopment""/>
<item value=""InternalOnly""/>
<item value=""PrivatePreview""/>
<item value=""PublicPreview""/>
<item value=""RemovedFromARM""/>
<item value=""Retired""/>
</enum>
</prop>
<prop type="string" name="serviceId"/>
</item>
</prop>
</prop>
<prop type="array<@ResourceProviderEndpoint_read>" name="managementGroupGlobalNotificationEndpoints">
<item type="@ResourceProviderEndpoint_read"/>
</prop>
<prop type="object" name="metadata">
<additionalProp anyType="True"/>
</prop>
<prop type="string" name="namespace"/>
<prop type="string" name="notificationOptions">
<enum>
<item value=""EmitSpendingLimit""/>
<item value=""None""/>
<item value=""NotSpecified""/>
</enum>
</prop>
<prop type="object" name="notificationSettings">
<prop type="array<object>" name="subscriberSettings">
<item type="object">
<prop type="array<object>" name="filterRules">
<item type="object">
<prop type="array<object>" name="endpointInformation">
<item type="object">
<prop type="string" name="endpoint"/>
<prop type="string" name="endpointType">
<enum>
<item value=""Eventhub""/>
<item value=""Webhook""/>
</enum>
</prop>
<prop type="string" name="schemaVersion"/>
</item>
</prop>
<prop type="string" name="filterQuery"/>
</item>
</prop>
</item>
</prop>
</prop>
<prop type="array<object>" name="notifications">
<item type="object">
<prop type="string" name="notificationType">
<enum>
<item value=""SubscriptionNotification""/>
<item value=""Unspecified""/>
</enum>
</prop>
<prop type="string" name="skipNotifications">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
<item value=""Unspecified""/>
</enum>
</prop>
</item>
</prop>
<prop type="string" name="oboSubscriptionId"/>
<prop type="array<string>" name="optionalFeatures">
<item type="string"/>
</prop>
<prop type="object" name="privateResourceProviderConfiguration">
<prop type="array<string>" name="allowedSubscriptions">
<item type="string"/>
</prop>
</prop>
<prop type="object" name="providerAuthentication">
<prop type="array<string>" name="allowedAudiences" required="True">
<item type="string"/>
</prop>
</prop>
<prop type="array<object>" name="providerAuthorizations">
<item type="object" cls="ResourceProviderAuthorization_read">
<prop type="array<object>" name="allowedThirdPartyExtensions" identifiers="name">
<item type="object">
<prop type="string" name="name"/>
</item>
</prop>
<prop type="string" name="applicationId"/>
<prop type="string" name="groupingTag"/>
<prop type="object" name="managedByAuthorization">
<prop type="array<object>" name="additionalAuthorizations" identifiers="roleDefinitionId applicationId">
<item type="object">
<prop type="string" name="applicationId"/>
<prop type="string" name="roleDefinitionId"/>
</item>
</prop>
<prop type="boolean" name="allowManagedByInheritance"/>
<prop type="string" name="managedByResourceRoleDefinitionId"/>
</prop>
<prop type="string" name="managedByRoleDefinitionId"/>
<prop type="string" name="roleDefinitionId"/>
</item>
</prop>
<prop type="object" name="providerHubMetadata">
<prop type="string" name="directRpRoleDefinitionId"/>
<prop type="string" name="globalAsyncOperationResourceTypeName"/>
<prop type="object" name="providerAuthentication">
<prop type="array<string>" name="allowedAudiences" required="True">
<item type="string"/>
</prop>
</prop>
<prop type="array<@ResourceProviderAuthorization_read>" name="providerAuthorizations">
<item type="@ResourceProviderAuthorization_read"/>
</prop>
<prop type="string" name="regionalAsyncOperationResourceTypeName"/>
<prop type="object" name="thirdPartyProviderAuthorization">
<prop type="array<object>" name="authorizations">
<item type="object">
<prop type="string" name="principalId" required="True"/>
<prop type="string" name="roleDefinitionId" required="True"/>
</item>
</prop>
<prop type="string" name="managedByTenantId"/>
</prop>
</prop>
<prop type="string" name="providerType">
<enum>
<item value=""AuthorizationFree""/>
<item value=""Decommissioned""/>
<item value=""External""/>
<item value=""Hidden""/>
<item value=""Internal""/>
<item value=""LegacyRegistrationRequired""/>
<item value=""NotSpecified""/>
<item value=""RegistrationFree""/>
<item value=""TenantOnly""/>
</enum>
</prop>
<prop type="string" name="providerVersion"/>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Accepted""/>
<item value=""Canceled""/>
<item value=""Created""/>
<item value=""Creating""/>
<item value=""Deleted""/>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""MovingResources""/>
<item value=""NotSpecified""/>
<item value=""RolloutInProgress""/>
<item value=""Running""/>
<item value=""Succeeded""/>
<item value=""TransientFailure""/>
</enum>
</prop>
<prop type="object" name="requestHeaderOptions">
<prop type="string" name="optInHeaders">
<enum>
<item value=""ClientGroupMembership""/>
<item value=""ClientPrincipalNameEncoded""/>
<item value=""MSIResourceIdEncoded""/>
<item value=""ManagementGroupAncestorsEncoded""/>
<item value=""NotSpecified""/>
<item value=""PrivateLinkId""/>
<item value=""PrivateLinkResourceId""/>
<item value=""PrivateLinkVnetTrafficTag""/>
<item value=""ResourceGroupLocation""/>
<item value=""SignedAuxiliaryTokens""/>
<item value=""SignedUserToken""/>
<item value=""UnboundedClientGroupMembership""/>
</enum>
</prop>
<prop type="string" name="optOutHeaders">
<enum>
<item value=""NotSpecified""/>
<item value=""SystemDataCreatedByLastModifiedBy""/>
</enum>
</prop>
</prop>
<prop type="array<string>" name="requiredFeatures">
<item type="string"/>
</prop>
<prop type="object" name="resourceGroupLockOptionDuringMove">
<prop type="string" name="blockActionVerb">
<enum>
<item value=""Action""/>
<item value=""Delete""/>
<item value=""NotSpecified""/>
<item value=""Read""/>
<item value=""Unrecognized""/>
<item value=""Write""/>
</enum>
</prop>
</prop>
<prop type="array<object>" name="resourceHydrationAccounts">
<item type="object">
<prop type="string" name="accountName"/>
<prop type="string" name="encryptedKey"/>
<prop type="integer64" name="maxChildResourceConsistencyJobLimit"/>
<prop type="string" name="subscriptionId"/>
</item>
</prop>
<prop type="object" name="resourceProviderAuthorizationRules">
<prop type="object" name="asyncOperationPollingRules">
<prop type="string" name="additionalOptions">
<enum>
<item value=""ProtectedAsyncOperationPolling""/>
<item value=""ProtectedAsyncOperationPollingAuditOnly""/>
</enum>
</prop>
<prop type="array<string>" name="authorizationActions">
<item type="string"/>
</prop>
</prop>
</prop>
<prop type="object" name="responseOptions">
<prop type="string" name="serviceClientOptionsType">
<enum>
<item value=""DisableAutomaticDecompression""/>
<item value=""NotSpecified""/>
</enum>
</prop>
</prop>
<prop type="string" name="serviceName"/>
<prop type="array<object>" name="services">
<item type="object">
<prop type="string" name="serviceName"/>
<prop type="string" name="status">
<enum>
<item value=""Active""/>
<item value=""Inactive""/>
</enum>
</prop>
</item>
</prop>
<prop type="object" name="subscriptionLifecycleNotificationSpecifications">
<prop type="duration" name="softDeleteTTL"/>
<prop type="array<object>" name="subscriptionStateOverrideActions">
<item type="object">
<prop type="string" name="action" required="True">
<enum>
<item value=""BillingCancellation""/>
<item value=""DeleteAllResources""/>
<item value=""NoOp""/>
<item value=""NotDefined""/>
<item value=""SoftDeleteAllResources""/>
<item value=""UndoSoftDelete""/>
</enum>
</prop>
<prop type="string" name="state" required="True">
<enum>
<item value=""Deleted""/>
<item value=""Registered""/>
<item value=""Suspended""/>
<item value=""SuspendedToDeleted""/>
<item value=""SuspendedToRegistered""/>
<item value=""SuspendedToUnregistered""/>
<item value=""SuspendedToWarned""/>
<item value=""Unregistered""/>
<item value=""Warned""/>
<item value=""WarnedToDeleted""/>
<item value=""WarnedToRegistered""/>
<item value=""WarnedToSuspended""/>
<item value=""WarnedToUnregistered""/>
</enum>
</prop>
</item>
</prop>
</prop>
<prop type="object" name="templateDeploymentOptions">
<prop type="array<string>" name="preflightOptions">
<item type="string">
<enum>
<item value=""ContinueDeploymentOnFailure""/>
<item value=""DefaultValidationOnly""/>
<item value=""None""/>
</enum>
</item>
</prop>
<prop type="boolean" name="preflightSupported"/>
</prop>
<prop type="@TokenAuthConfiguration_read" name="tokenAuthConfiguration"/>
</prop>
<prop readOnly="True" type="object" name="systemData">
<prop type="dateTime" name="createdAt"/>
<prop type="string" name="createdBy"/>
<prop type="string" name="createdByType">
<enum>
<item value=""Application""/>
<item value=""Key""/>
<item value=""ManagedIdentity""/>
<item value=""User""/>
</enum>
</prop>
<prop type="dateTime" name="lastModifiedAt"/>
<prop type="string" name="lastModifiedBy"/>
<prop type="string" name="lastModifiedByType">
<enum>
<item value=""Application""/>
<item value=""Key""/>
<item value=""ManagedIdentity""/>
<item value=""User""/>
</enum>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
</schema>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
<output type="object" ref="$Instance" clientFlatten="True"/>
</command>
<command name="delete" version="2025-03-01-preview" confirmation="Are you sure you want to perform this operation?">
<resource id="/subscriptions/{}/providers/microsoft.providerhub/providerregistrations/{}" version="2025-03-01-preview" swagger="mgmt-plane/providerhub/ResourceProviders/Microsoft.ProviderHub/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9wcm92aWRlcnMvTWljcm9zb2Z0LlByb3ZpZGVySHViL3Byb3ZpZGVyUmVnaXN0cmF0aW9ucy97cHJvdmlkZXJOYW1lc3BhY2V9/V/MjAyNS0wMy0wMS1wcmV2aWV3"/>
<argGroup name="">
<arg type="string" var="$Path.providerNamespace" options="provider-namespace name n" required="True" idPart="name">
<help short="The name of the resource provider hosted within ProviderHub."/>
</arg>
<arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/>
</argGroup>
<operation operationId="ProviderRegistrations_Delete">
<longRunning finalStateVia="azure-async-operation"/>
<http path="/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}">
<request method="delete">
<path>
<param type="string" name="providerNamespace" arg="$Path.providerNamespace" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True">
<format minLength="1"/>
</param>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2025-03-01-preview""/>
<format minLength="1"/>
</const>
</query>
</request>
<response statusCode="202">
<header>
<item name="Location"/>
</header>
</response>
<response statusCode="204"/>
<response statusCode="200 201"/>
<response isError="True">
<body>
<json>
<schema type="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
</command>
<command name="create" version="2025-03-01-preview">
<resource id="/subscriptions/{}/providers/microsoft.providerhub/providerregistrations/{}" version="2025-03-01-preview" swagger="mgmt-plane/providerhub/ResourceProviders/Microsoft.ProviderHub/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9wcm92aWRlcnMvTWljcm9zb2Z0LlByb3ZpZGVySHViL3Byb3ZpZGVyUmVnaXN0cmF0aW9ucy97cHJvdmlkZXJOYW1lc3BhY2V9/V/MjAyNS0wMy0wMS1wcmV2aWV3"/>
<argGroup name="">
<arg type="string" var="$Path.providerNamespace" options="provider-namespace name n" required="True" idPart="name">
<help short="The name of the resource provider hosted within ProviderHub."/>
</arg>
<arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/>
</argGroup>
<argGroup name="Properties">
<arg type="string" var="$properties.kind" options="kind" group="Properties">
<help short="Provider registration kind. This Metadata is also used by portal/tooling/etc to render different UX experiences for resources of the same type."/>
<default value=""Managed""/>
<enum>
<item name="Direct" value=""Direct""/>
<item name="Hybrid" value=""Hybrid""/>
<item name="Managed" value=""Managed""/>
</enum>
</arg>
<arg type="array<object>" var="$properties.properties.capabilities" options="capabilities" group="Properties">
<item type="object">
<arg type="string" var="$properties.properties.capabilities[].effect" options="effect" required="True">
<enum>
<item name="Allow" value=""Allow""/>
<item name="Disallow" value=""Disallow""/>
<item name="NotSpecified" value=""NotSpecified""/>
</enum>
</arg>
<arg type="string" var="$properties.properties.capabilities[].quotaId" options="quota-id" required="True"/>
<arg type="array<string>" var="$properties.properties.capabilities[].requiredFeatures" options="required-features">
<item type="string"/>
</arg>
</item>
</arg>
<arg type="string" var="$properties.properties.crossTenantTokenValidation" options="cross-tenant-token-validation" group="Properties">
<enum>
<item name="EnsureSecureValidation" value=""EnsureSecureValidation""/>
<item name="PassthroughInsecureToken" value=""PassthroughInsecureToken""/>
</enum>
</arg>
<arg type="string" var="$properties.properties.customManifestVersion" options="custom-manifest-version" group="Properties">
<help short="Custom manifest version."/>
</arg>
<arg type="object" var="$properties.properties.dstsConfiguration" options="dsts-configuration" group="Properties">
<arg type="string" var="$properties.properties.dstsConfiguration.serviceDnsName" options="service-dns-name"/>
<arg type="string" var="$properties.properties.dstsConfiguration.serviceName" options="service-name" required="True"/>
</arg>
<arg type="boolean" var="$properties.properties.enablePresetResourceTypes" options="enable-preset-resource-types" group="Properties">
<help short="Preset resource types enabled?"/>
</arg>
<arg nullable="True" type="boolean" var="$properties.properties.enableTenantLinkedNotification" options="enable-tenant-linked-notification" group="Properties"/>
<arg type="object" var="$properties.properties.featuresRule" options="features-rule" group="Properties">
<arg type="string" var="$properties.properties.featuresRule.requiredFeaturesPolicy" options="required-features-policy" required="True">
<enum>
<item name="All" value=""All""/>
<item name="Any" value=""Any""/>
</enum>
</arg>
</arg>
<arg type="array<object>" var="$properties.properties.globalNotificationEndpoints" options="global-notification-endpoints" group="Properties">
<item type="object" cls="ResourceProviderEndpoint_create">
<arg type="array<string>" var="@ResourceProviderEndpoint_create.apiVersions" options="api-versions">
<item type="string"/>
</arg>
<arg type="boolean" var="@ResourceProviderEndpoint_create.enabled" options="enabled"/>
<arg type="string" var="@ResourceProviderEndpoint_create.endpointType" options="endpoint-type">
<enum>
<item name="Canary" value=""Canary""/>
<item name="NotSpecified" value=""NotSpecified""/>
<item name="Production" value=""Production""/>
<item name="TestInProduction" value=""TestInProduction""/>
</enum>
</arg>
<arg type="string" var="@ResourceProviderEndpoint_create.endpointUri" options="endpoint-uri"/>
<arg type="object" var="@ResourceProviderEndpoint_create.featuresRule" options="features-rule">
<arg type="string" var="@ResourceProviderEndpoint_create.featuresRule.requiredFeaturesPolicy" options="required-features-policy" required="True">
<enum>
<item name="All" value=""All""/>
<item name="Any" value=""Any""/>
</enum>
</arg>
</arg>
<arg type="array<string>" var="@ResourceProviderEndpoint_create.locations" options="locations">
<item type="string"/>
</arg>
<arg type="array<string>" var="@ResourceProviderEndpoint_create.requiredFeatures" options="required-features">
<item type="string"/>
</arg>
<arg type="string" var="@ResourceProviderEndpoint_create.skuLink" options="sku-link"/>
<arg type="duration" var="@ResourceProviderEndpoint_create.timeout" options="timeout"/>
</item>
</arg>
<arg type="string" var="$properties.properties.legacyNamespace" options="legacy-namespace" group="Properties">
<help short="Legacy namespace."/>
</arg>
<arg type="array<string>" var="$properties.properties.legacyRegistrations" options="legacy-registrations" group="Properties">
<help short="Legacy registrations."/>
<item type="string"/>
</arg>
<arg type="array<object>" var="$properties.properties.linkedNotificationRules" options="linked-notification-rules" group="Properties">
<item type="object">
<arg type="array<string>" var="$properties.properties.linkedNotificationRules[].actions" options="actions">
<item type="string"/>
</arg>
<arg type="object" var="$properties.properties.linkedNotificationRules[].dstsConfiguration" options="dsts-configuration">
<arg type="string" var="$properties.properties.linkedNotificationRules[].dstsConfiguration.serviceDnsName" options="service-dns-name"/>
<arg type="string" var="$properties.properties.linkedNotificationRules[].dstsConfiguration.serviceName" options="service-name" required="True"/>
</arg>
<arg type="array<@ResourceProviderEndpoint_create>" var="$properties.properties.linkedNotificationRules[].endpoints" options="endpoints">
<item type="@ResourceProviderEndpoint_create"/>
</arg>
<arg type="object" var="$properties.properties.linkedNotificationRules[].tokenAuthConfiguration" options="token-auth-configuration" cls="TokenAuthConfiguration_create">
<arg type="string" var="@TokenAuthConfiguration_create.authenticationScheme" options="authentication-scheme">
<enum>
<item name="Bearer" value=""Bearer""/>
<item name="PoP" value=""PoP""/>
</enum>
</arg>
<arg type="boolean" var="@TokenAuthConfiguration_create.disableCertificateAuthenticationFallback" options="disable-certificate-authentication-fallback"/>
<arg type="string" var="@TokenAuthConfiguration_create.signedRequestScope" options="signed-request-scope">
<enum>
<item name="Endpoint" value=""Endpoint""/>
<item name="ResourceUri" value=""ResourceUri""/>
</enum>
</arg>
</arg>
</item>
</arg>
<arg type="object" var="$properties.properties.management" options="management" group="Properties">
<arg type="array<string>" var="$properties.properties.management.authorizationOwners" options="authorization-owners">
<item type="string"/>
</arg>
<arg type="array<string>" var="$properties.properties.management.canaryManifestOwners" options="canary-manifest-owners">
<help short="List of manifest owners for canary."/>
<item type="string"/>
</arg>
<arg type="object" var="$properties.properties.management.errorResponseMessageOptions" options="error-response-message-options">
<help short="Options for error response messages."/>
<arg type="string" var="$properties.properties.management.errorResponseMessageOptions.serverFailureResponseMessageType" options="server-failure-response-message-type">
<help short="Type of server failure response message."/>
<enum>
<item name="NotSpecified" value=""NotSpecified""/>
<item name="OutageReporting" value=""OutageReporting""/>
</enum>
</arg>
</arg>
<arg type="object" var="$properties.properties.management.expeditedRolloutMetadata" options="expedited-rollout-metadata">
<help short="Metadata for expedited rollout."/>
<arg type="boolean" var="$properties.properties.management.expeditedRolloutMetadata.enabled" options="enabled">
<help short="Expedited rollout enabled?"/>
</arg>
<arg type="string" var="$properties.properties.management.expeditedRolloutMetadata.expeditedRolloutIntent" options="expedited-rollout-intent">
<help short="Expedited rollout intent."/>
<enum>
<item name="Hotfix" value=""Hotfix""/>
<item name="NotSpecified" value=""NotSpecified""/>
</enum>
</arg>
</arg>
<arg type="array<string>" var="$properties.properties.management.expeditedRolloutSubmitters" options="expedited-rollout-submitters">
<help short="List of expedited rollout submitters."/>
<item type="string"/>
</arg>
<arg type="string" var="$properties.properties.management.incidentContactEmail" options="incident-contact-email"/>
<arg type="string" var="$properties.properties.management.incidentRoutingService" options="incident-routing-service"/>
<arg type="string" var="$properties.properties.management.incidentRoutingTeam" options="incident-routing-team"/>
<arg type="array<string>" var="$properties.properties.management.manifestOwners" options="manifest-owners">
<item type="string"/>
</arg>
<arg type="string" var="$properties.properties.management.pcCode" options="pc-code">
<help short="The profit center code for the subscription."/>
</arg>
<arg type="string" var="$properties.properties.management.profitCenterProgramId" options="profit-center-program-id">
<help short="The profit center program id for the subscription."/>
</arg>
<arg type="string" var="$properties.properties.management.resourceAccessPolicy" options="resource-access-policy">
<enum>
<item name="AcisActionAllowed" value=""AcisActionAllowed""/>
<item name="AcisReadAllowed" value=""AcisReadAllowed""/>
<item name="NotSpecified" value=""NotSpecified""/>
</enum>
</arg>
<arg type="array<object>" var="$properties.properties.management.resourceAccessRoles" options="resource-access-roles">
<item type="object">
<arg type="array<string>" var="$properties.properties.management.resourceAccessRoles[].actions" options="actions">
<item type="string"/>
</arg>
<arg type="array<string>" var="$properties.properties.management.resourceAccessRoles[].allowedGroupClaims" options="allowed-group-claims">
<item type="string"/>
</arg>
</item>
</arg>
<arg type="array<string>" var="$properties.properties.management.schemaOwners" options="schema-owners">
<item type="string"/>
</arg>
<arg type="array<object>" var="$properties.properties.management.serviceTreeInfos" options="service-tree-infos">
<item type="object">
<arg type="string" var="$properties.properties.management.serviceTreeInfos[].componentId" options="component-id"/>
<arg type="string" var="$properties.properties.management.serviceTreeInfos[].readiness" options="readiness">
<enum>
<item name="ClosingDown" value=""ClosingDown""/>
<item name="Deprecated" value=""Deprecated""/>
<item name="GA" value=""GA""/>
<item name="InDevelopment" value=""InDevelopment""/>
<item name="InternalOnly" value=""InternalOnly""/>
<item name="PrivatePreview" value=""PrivatePreview""/>
<item name="PublicPreview" value=""PublicPreview""/>
<item name="RemovedFromARM" value=""RemovedFromARM""/>
<item name="Retired" value=""Retired""/>
</enum>
</arg>
<arg type="string" var="$properties.properties.management.serviceTreeInfos[].serviceId" options="service-id"/>
</item>
</arg>
</arg>
<arg type="array<@ResourceProviderEndpoint_create>" var="$properties.properties.managementGroupGlobalNotificationEndpoints" options="management-group-global-notification-endpoints" group="Properties">
<help short="Management groups global notification endpoints."/>
<item type="@ResourceProviderEndpoint_create"/>
</arg>
<arg type="object" var="$properties.properties.metadata" options="metadata" group="Properties">
<additionalProp anyType="True"/>
</arg>
<arg type="string" var="$properties.properties.namespace" options="namespace" group="Properties"/>
<arg type="string" var="$properties.properties.notificationOptions" options="notification-options" group="Properties">
<help short="Notification options."/>
<enum>
<item name="EmitSpendingLimit" value=""EmitSpendingLimit""/>
<item name="None" value=""None""/>
<item name="NotSpecified" value=""NotSpecified""/>
</enum>
</arg>
<arg type="object" var="$properties.properties.notificationSettings" options="notification-settings" group="Properties">
<help short="Notification settings."/>
<arg type="array<object>" var="$properties.properties.notificationSettings.subscriberSettings" options="subscriber-settings">
<item type="object">
<arg type="array<object>" var="$properties.properties.notificationSettings.subscriberSettings[].filterRules" options="filter-rules">
<item type="object">
<arg type="array<object>" var="$properties.properties.notificationSettings.subscriberSettings[].filterRules[].endpointInformation" options="endpoint-information">
<item type="object">
<arg type="string" var="$properties.properties.notificationSettings.subscriberSettings[].filterRules[].endpointInformation[].endpoint" options="endpoint"/>
<arg type="string" var="$properties.properties.notificationSettings.subscriberSettings[].filterRules[].endpointInformation[].endpointType" options="endpoint-type">
<enum>
<item name="Eventhub" value=""Eventhub""/>
<item name="Webhook" value=""Webhook""/>
</enum>
</arg>
<arg type="string" var="$properties.properties.notificationSettings.subscriberSettings[].filterRules[].endpointInformation[].schemaVersion" options="schema-version"/>
</item>
</arg>
<arg type="string" var="$properties.properties.notificationSettings.subscriberSettings[].filterRules[].filterQuery" options="filter-query"/>
</item>
</arg>
</item>
</arg>
</arg>
<arg type="array<object>" var="$properties.properties.notifications" options="notifications" group="Properties">
<item type="object">
<arg type="string" var="$properties.properties.notifications[].notificationType" options="notification-type">
<enum>
<item name="SubscriptionNotification" value=""SubscriptionNotification""/>
<item name="Unspecified" value=""Unspecified""/>
</enum>
</arg>
<arg type="string" var="$properties.properties.notifications[].skipNotifications" options="skip-notifications">
<enum>
<item name="Disabled" value=""Disabled""/>
<item name="Enabled" value=""Enabled""/>
<item name="Unspecified" value=""Unspecified""/>
</enum>
</arg>
</item>
</arg>
<arg type="string" var="$properties.properties.oboSubscriptionId" options="obo-subscription-id" group="Properties">
<help short="The on behalf of subscription id for the resource provider."/>
</arg>
<arg type="array<string>" var="$properties.properties.optionalFeatures" options="optional-features" group="Properties">
<help short="Optional features."/>
<item type="string"/>
</arg>
<arg type="object" var="$properties.properties.privateResourceProviderConfiguration" options="private-resource-provider-configuration" group="Properties">
<arg type="array<string>" var="$properties.properties.privateResourceProviderConfiguration.allowedSubscriptions" options="allowed-subscriptions">
<item type="string"/>
</arg>
</arg>
<arg type="object" var="$properties.properties.providerAuthentication" options="provider-authentication" group="Properties">
<arg type="array<string>" var="$properties.properties.providerAuthentication.allowedAudiences" options="allowed-audiences" required="True">
<item type="string"/>
</arg>
</arg>
<arg type="array<object>" var="$properties.properties.providerAuthorizations" options="provider-authorizations" group="Properties">
<item type="object" cls="ResourceProviderAuthorization_create">
<arg type="array<object>" var="@ResourceProviderAuthorization_create.allowedThirdPartyExtensions" options="allowed-third-party-extensions">
<item type="object">
<arg type="string" var="@ResourceProviderAuthorization_create.allowedThirdPartyExtensions[].name" options="name">
<help short="Name of third party extension."/>
</arg>
</item>
</arg>
<arg type="string" var="@ResourceProviderAuthorization_create.applicationId" options="application-id"/>
<arg type="string" var="@ResourceProviderAuthorization_create.groupingTag" options="grouping-tag"/>
<arg type="object" var="@ResourceProviderAuthorization_create.managedByAuthorization" options="managed-by-authorization">
<help short="Managed by authorization."/>
<arg type="array<object>" var="@ResourceProviderAuthorization_create.managedByAuthorization.additionalAuthorizations" options="additional-authorizations">
<item type="object">
<arg type="string" var="@ResourceProviderAuthorization_create.managedByAuthorization.additionalAuthorizations[].applicationId" options="application-id"/>
<arg type="string" var="@ResourceProviderAuthorization_create.managedByAuthorization.additionalAuthorizations[].roleDefinitionId" options="role-definition-id"/>
</item>
</arg>
<arg type="boolean" var="@ResourceProviderAuthorization_create.managedByAuthorization.allowManagedByInheritance" options="allow-managed-by-inheritance">
<help short="Indicates whether the managed by resource role definition ID should be inherited."/>
</arg>
<arg type="string" var="@ResourceProviderAuthorization_create.managedByAuthorization.managedByResourceRoleDefinitionId" options="managed-by-resource-role-definition-id">
<help short="The managed by resource role definition ID for the application."/>
</arg>
</arg>
<arg type="string" var="@ResourceProviderAuthorization_create.managedByRoleDefinitionId" options="managed-by-role-definition-id"/>
<arg type="string" var="@ResourceProviderAuthorization_create.roleDefinitionId" options="role-definition-id"/>
</item>
</arg>
<arg type="object" var="$properties.properties.providerHubMetadata" options="provider-hub-metadata" group="Properties">
<arg type="string" var="$properties.properties.providerHubMetadata.directRpRoleDefinitionId" options="direct-rp-role-definition-id"/>
<arg type="string" var="$properties.properties.providerHubMetadata.globalAsyncOperationResourceTypeName" options="global-async-operation-resource-type-name"/>
<arg type="object" var="$properties.properties.providerHubMetadata.providerAuthentication" options="provider-authentication">
<arg type="array<string>" var="$properties.properties.providerHubMetadata.providerAuthentication.allowedAudiences" options="allowed-audiences" required="True">
<item type="string"/>
</arg>
</arg>
<arg type="array<@ResourceProviderAuthorization_create>" var="$properties.properties.providerHubMetadata.providerAuthorizations" options="provider-authorizations">
<item type="@ResourceProviderAuthorization_create"/>
</arg>
<arg type="string" var="$properties.properties.providerHubMetadata.regionalAsyncOperationResourceTypeName" options="regional-async-operation-resource-type-name"/>
<arg type="object" var="$properties.properties.providerHubMetadata.thirdPartyProviderAuthorization" options="third-party-provider-authorization">
<arg type="array<object>" var="$properties.properties.providerHubMetadata.thirdPartyProviderAuthorization.authorizations" options="authorizations">
<item type="object">
<arg type="string" var="$properties.properties.providerHubMetadata.thirdPartyProviderAuthorization.authorizations[].principalId" options="principal-id" required="True"/>
<arg type="string" var="$properties.properties.providerHubMetadata.thirdPartyProviderAuthorization.authorizations[].roleDefinitionId" options="role-definition-id" required="True"/>
</item>
</arg>
<arg type="string" var="$properties.properties.providerHubMetadata.thirdPartyProviderAuthorization.managedByTenantId" options="managed-by-tenant-id"/>
</arg>
</arg>
<arg type="string" var="$properties.properties.providerType" options="provider-type" group="Properties">
<enum>
<item name="AuthorizationFree" value=""AuthorizationFree""/>
<item name="Decommissioned" value=""Decommissioned""/>
<item name="External" value=""External""/>
<item name="Hidden" value=""Hidden""/>
<item name="Internal" value=""Internal""/>
<item name="LegacyRegistrationRequired" value=""LegacyRegistrationRequired""/>
<item name="NotSpecified" value=""NotSpecified""/>
<item name="RegistrationFree" value=""RegistrationFree""/>
<item name="TenantOnly" value=""TenantOnly""/>
</enum>
</arg>
<arg type="string" var="$properties.properties.providerVersion" options="provider-version" group="Properties"/>
<arg type="object" var="$properties.properties.requestHeaderOptions" options="request-header-options" group="Properties">
<arg type="string" var="$properties.properties.requestHeaderOptions.optInHeaders" options="opt-in-headers">
<enum>
<item name="ClientGroupMembership" value=""ClientGroupMembership""/>
<item name="ClientPrincipalNameEncoded" value=""ClientPrincipalNameEncoded""/>
<item name="MSIResourceIdEncoded" value=""MSIResourceIdEncoded""/>
<item name="ManagementGroupAncestorsEncoded" value=""ManagementGroupAncestorsEncoded""/>
<item name="NotSpecified" value=""NotSpecified""/>
<item name="PrivateLinkId" value=""PrivateLinkId""/>
<item name="PrivateLinkResourceId" value=""PrivateLinkResourceId""/>
<item name="PrivateLinkVnetTrafficTag" value=""PrivateLinkVnetTrafficTag""/>
<item name="ResourceGroupLocation" value=""ResourceGroupLocation""/>
<item name="SignedAuxiliaryTokens" value=""SignedAuxiliaryTokens""/>
<item name="SignedUserToken" value=""SignedUserToken""/>
<item name="UnboundedClientGroupMembership" value=""UnboundedClientGroupMembership""/>
</enum>
</arg>
<arg type="string" var="$properties.properties.requestHeaderOptions.optOutHeaders" options="opt-out-headers">
<enum>
<item name="NotSpecified" value=""NotSpecified""/>
<item name="SystemDataCreatedByLastModifiedBy" value=""SystemDataCreatedByLastModifiedBy""/>
</enum>
</arg>
</arg>
<arg type="array<string>" var="$properties.properties.requiredFeatures" options="required-features" group="Properties">
<item type="string"/>
</arg>
<arg type="object" var="$properties.properties.resourceGroupLockOptionDuringMove" options="resource-group-lock-option-during-move" group="Properties">
<help short="Resource group lock option during move."/>
<arg type="string" var="$properties.properties.resourceGroupLockOptionDuringMove.blockActionVerb" options="block-action-verb">
<help short="The action verb that will be blocked when the resource group is locked during move."/>
<enum>
<item name="Action" value=""Action""/>
<item name="Delete" value=""Delete""/>
<item name="NotSpecified" value=""NotSpecified""/>
<item name="Read" value=""Read""/>
<item name="Unrecognized" value=""Unrecognized""/>
<item name="Write" value=""Write""/>
</enum>
</arg>
</arg>
<arg type="array<object>" var="$properties.properties.resourceHydrationAccounts" options="resource-hydration-accounts" group="Properties">
<help short="resource hydration accounts"/>
<item type="object">
<arg type="string" var="$properties.properties.resourceHydrationAccounts[].accountName" options="account-name"/>
<arg type="string" var="$properties.properties.resourceHydrationAccounts[].encryptedKey" options="encrypted-key"/>
<arg type="integer64" var="$properties.properties.resourceHydrationAccounts[].maxChildResourceConsistencyJobLimit" options="max-child-resource-consistency-job-limit"/>
<arg type="string" var="$properties.properties.resourceHydrationAccounts[].subscriptionId" options="subscription-id"/>
</item>
</arg>
<arg type="object" var="$properties.properties.resourceProviderAuthorizationRules" options="resource-provider-authorization-rules" group="Properties">
<arg type="object" var="$properties.properties.resourceProviderAuthorizationRules.asyncOperationPollingRules" options="async-operation-polling-rules">
<arg type="string" var="$properties.properties.resourceProviderAuthorizationRules.asyncOperationPollingRules.additionalOptions" options="additional-options">
<enum>
<item name="ProtectedAsyncOperationPolling" value=""ProtectedAsyncOperationPolling""/>
<item name="ProtectedAsyncOperationPollingAuditOnly" value=""ProtectedAsyncOperationPollingAuditOnly""/>
</enum>
</arg>
<arg type="array<string>" var="$properties.properties.resourceProviderAuthorizationRules.asyncOperationPollingRules.authorizationActions" options="authorization-actions">
<item type="string"/>
</arg>
</arg>
</arg>
<arg type="object" var="$properties.properties.responseOptions" options="response-options" group="Properties">
<help short="Response options."/>
<arg type="string" var="$properties.properties.responseOptions.serviceClientOptionsType" options="service-client-options-type">
<enum>
<item name="DisableAutomaticDecompression" value=""DisableAutomaticDecompression""/>
<item name="NotSpecified" value=""NotSpecified""/>
</enum>
</arg>
</arg>
<arg type="string" var="$properties.properties.serviceName" options="service-name" group="Properties"/>
<arg type="array<object>" var="$properties.properties.services" options="services" group="Properties">
<item type="object">
<arg type="string" var="$properties.properties.services[].serviceName" options="service-name"/>
<arg type="string" var="$properties.properties.services[].status" options="status">
<enum>
<item name="Active" value=""Active""/>
<item name="Inactive" value=""Inactive""/>
</enum>
</arg>
</item>
</arg>
<arg type="object" var="$properties.properties.subscriptionLifecycleNotificationSpecifications" options="subscription-lifecycle-notification-specifications" group="Properties">
<arg type="duration" var="$properties.properties.subscriptionLifecycleNotificationSpecifications.softDeleteTTL" options="soft-delete-ttl"/>
<arg type="array<object>" var="$properties.properties.subscriptionLifecycleNotificationSpecifications.subscriptionStateOverrideActions" options="subscription-state-override-actions">
<item type="object">
<arg type="string" var="$properties.properties.subscriptionLifecycleNotificationSpecifications.subscriptionStateOverrideActions[].action" options="action" required="True">
<enum>
<item name="BillingCancellation" value=""BillingCancellation""/>
<item name="DeleteAllResources" value=""DeleteAllResources""/>
<item name="NoOp" value=""NoOp""/>
<item name="NotDefined" value=""NotDefined""/>
<item name="SoftDeleteAllResources" value=""SoftDeleteAllResources""/>
<item name="UndoSoftDelete" value=""UndoSoftDelete""/>
</enum>
</arg>
<arg type="string" var="$properties.properties.subscriptionLifecycleNotificationSpecifications.subscriptionStateOverrideActions[].state" options="state" required="True">
<enum>
<item name="Deleted" value=""Deleted""/>
<item name="Registered" value=""Registered""/>
<item name="Suspended" value=""Suspended""/>
<item name="SuspendedToDeleted" value=""SuspendedToDeleted""/>
<item name="SuspendedToRegistered" value=""SuspendedToRegistered""/>
<item name="SuspendedToUnregistered" value=""SuspendedToUnregistered""/>
<item name="SuspendedToWarned" value=""SuspendedToWarned""/>
<item name="Unregistered" value=""Unregistered""/>
<item name="Warned" value=""Warned""/>
<item name="WarnedToDeleted" value=""WarnedToDeleted""/>
<item name="WarnedToRegistered" value=""WarnedToRegistered""/>
<item name="WarnedToSuspended" value=""WarnedToSuspended""/>
<item name="WarnedToUnregistered" value=""WarnedToUnregistered""/>
</enum>
</arg>
</item>
</arg>
</arg>
<arg type="object" var="$properties.properties.templateDeploymentOptions" options="template-deployment-options" group="Properties">
<arg type="array<string>" var="$properties.properties.templateDeploymentOptions.preflightOptions" options="preflight-options">
<item type="string">
<enum>
<item name="ContinueDeploymentOnFailure" value=""ContinueDeploymentOnFailure""/>
<item name="DefaultValidationOnly" value=""DefaultValidationOnly""/>
<item name="None" value=""None""/>
</enum>
</item>
</arg>
<arg type="boolean" var="$properties.properties.templateDeploymentOptions.preflightSupported" options="preflight-supported"/>
</arg>
<arg type="@TokenAuthConfiguration_create" var="$properties.properties.tokenAuthConfiguration" options="token-auth-configuration" group="Properties"/>
</argGroup>
<operation operationId="ProviderRegistrations_CreateOrUpdate">
<longRunning finalStateVia="azure-async-operation"/>
<http path="/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}">
<request method="put">
<path>
<param type="string" name="providerNamespace" arg="$Path.providerNamespace" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True">
<format minLength="1"/>
</param>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2025-03-01-preview""/>
<format minLength="1"/>
</const>
</query>
<body>
<json>
<schema type="object" name="properties" required="True" clientFlatten="True">
<prop type="string" name="kind" arg="$properties.kind">
<default value=""Managed""/>
<enum>
<item value=""Direct""/>
<item value=""Hybrid""/>
<item value=""Managed""/>
</enum>
</prop>
<prop type="object" name="properties">
<prop type="array<object>" name="capabilities" arg="$properties.properties.capabilities" identifiers="quotaId">
<item type="object">
<prop type="string" name="effect" arg="$properties.properties.capabilities[].effect" required="True">
<enum>
<item value=""Allow""/>
<item value=""Disallow""/>
<item value=""NotSpecified""/>
</enum>
</prop>
<prop type="string" name="quotaId" arg="$properties.properties.capabilities[].quotaId" required="True"/>
<prop type="array<string>" name="requiredFeatures" arg="$properties.properties.capabilities[].requiredFeatures">
<item type="string"/>
</prop>
</item>
</prop>
<prop type="string" name="crossTenantTokenValidation" arg="$properties.properties.crossTenantTokenValidation">
<enum>
<item value=""EnsureSecureValidation""/>
<item value=""PassthroughInsecureToken""/>
</enum>
</prop>
<prop type="string" name="customManifestVersion" arg="$properties.properties.customManifestVersion"/>
<prop type="object" name="dstsConfiguration" arg="$properties.properties.dstsConfiguration">
<prop type="string" name="serviceDnsName" arg="$properties.properties.dstsConfiguration.serviceDnsName"/>
<prop type="string" name="serviceName" arg="$properties.properties.dstsConfiguration.serviceName" required="True"/>
</prop>
<prop type="boolean" name="enablePresetResourceTypes" arg="$properties.properties.enablePresetResourceTypes"/>
<prop nullable="True" type="boolean" name="enableTenantLinkedNotification" arg="$properties.properties.enableTenantLinkedNotification"/>
<prop type="object" name="featuresRule" arg="$properties.properties.featuresRule">
<prop type="string" name="requiredFeaturesPolicy" arg="$properties.properties.featuresRule.requiredFeaturesPolicy" required="True">
<enum>
<item value=""All""/>
<item value=""Any""/>
</enum>
</prop>
</prop>
<prop type="array<object>" name="globalNotificationEndpoints" arg="$properties.properties.globalNotificationEndpoints">
<item type="object" cls="ResourceProviderEndpoint_create">
<prop type="array<string>" name="apiVersions" arg="@ResourceProviderEndpoint_create.apiVersions">
<item type="string"/>
</prop>
<prop type="boolean" name="enabled" arg="@ResourceProviderEndpoint_create.enabled"/>
<prop type="string" name="endpointType" arg="@ResourceProviderEndpoint_create.endpointType">
<enum>
<item value=""Canary""/>
<item value=""NotSpecified""/>
<item value=""Production""/>
<item value=""TestInProduction""/>
</enum>
</prop>
<prop type="string" name="endpointUri" arg="@ResourceProviderEndpoint_create.endpointUri"/>
<prop type="object" name="featuresRule" arg="@ResourceProviderEndpoint_create.featuresRule">
<prop type="string" name="requiredFeaturesPolicy" arg="@ResourceProviderEndpoint_create.featuresRule.requiredFeaturesPolicy" required="True">
<enum>
<item value=""All""/>
<item value=""Any""/>
</enum>
</prop>
</prop>
<prop type="array<string>" name="locations" arg="@ResourceProviderEndpoint_create.locations">
<item type="string"/>
</prop>
<prop type="array<string>" name="requiredFeatures" arg="@ResourceProviderEndpoint_create.requiredFeatures">
<item type="string"/>
</prop>
<prop type="string" name="skuLink" arg="@ResourceProviderEndpoint_create.skuLink"/>
<prop type="duration" name="timeout" arg="@ResourceProviderEndpoint_create.timeout"/>
</item>
</prop>
<prop type="string" name="legacyNamespace" arg="$properties.properties.legacyNamespace"/>
<prop type="array<string>" name="legacyRegistrations" arg="$properties.properties.legacyRegistrations">
<item type="string"/>
</prop>
<prop type="array<object>" name="linkedNotificationRules" arg="$properties.properties.linkedNotificationRules">
<item type="object">
<prop type="array<string>" name="actions" arg="$properties.properties.linkedNotificationRules[].actions">
<item type="string"/>
</prop>
<prop type="object" name="dstsConfiguration" arg="$properties.properties.linkedNotificationRules[].dstsConfiguration">
<prop type="string" name="serviceDnsName" arg="$properties.properties.linkedNotificationRules[].dstsConfiguration.serviceDnsName"/>
<prop type="string" name="serviceName" arg="$properties.properties.linkedNotificationRules[].dstsConfiguration.serviceName" required="True"/>
</prop>
<prop type="array<@ResourceProviderEndpoint_create>" name="endpoints" arg="$properties.properties.linkedNotificationRules[].endpoints">
<item type="@ResourceProviderEndpoint_create"/>
</prop>
<prop type="object" name="tokenAuthConfiguration" arg="$properties.properties.linkedNotificationRules[].tokenAuthConfiguration" cls="TokenAuthConfiguration_create">
<prop type="string" name="authenticationScheme" arg="@TokenAuthConfiguration_create.authenticationScheme">
<enum>
<item value=""Bearer""/>
<item value=""PoP""/>
</enum>
</prop>
<prop type="boolean" name="disableCertificateAuthenticationFallback" arg="@TokenAuthConfiguration_create.disableCertificateAuthenticationFallback"/>
<prop type="string" name="signedRequestScope" arg="@TokenAuthConfiguration_create.signedRequestScope">
<enum>
<item value=""Endpoint""/>
<item value=""ResourceUri""/>
</enum>
</prop>
</prop>
</item>
</prop>
<prop type="object" name="management" arg="$properties.properties.management">
<prop type="array<string>" name="authorizationOwners" arg="$properties.properties.management.authorizationOwners">
<item type="string"/>
</prop>
<prop type="array<string>" name="canaryManifestOwners" arg="$properties.properties.management.canaryManifestOwners">
<item type="string"/>
</prop>
<prop type="object" name="errorResponseMessageOptions" arg="$properties.properties.management.errorResponseMessageOptions">
<prop type="string" name="serverFailureResponseMessageType" arg="$properties.properties.management.errorResponseMessageOptions.serverFailureResponseMessageType">
<enum>
<item value=""NotSpecified""/>
<item value=""OutageReporting""/>
</enum>
</prop>
</prop>
<prop type="object" name="expeditedRolloutMetadata" arg="$properties.properties.management.expeditedRolloutMetadata">
<prop type="boolean" name="enabled" arg="$properties.properties.management.expeditedRolloutMetadata.enabled"/>
<prop type="string" name="expeditedRolloutIntent" arg="$properties.properties.management.expeditedRolloutMetadata.expeditedRolloutIntent">
<enum>
<item value=""Hotfix""/>
<item value=""NotSpecified""/>
</enum>
</prop>
</prop>
<prop type="array<string>" name="expeditedRolloutSubmitters" arg="$properties.properties.management.expeditedRolloutSubmitters">
<item type="string"/>
</prop>
<prop type="string" name="incidentContactEmail" arg="$properties.properties.management.incidentContactEmail"/>
<prop type="string" name="incidentRoutingService" arg="$properties.properties.management.incidentRoutingService"/>
<prop type="string" name="incidentRoutingTeam" arg="$properties.properties.management.incidentRoutingTeam"/>
<prop type="array<string>" name="manifestOwners" arg="$properties.properties.management.manifestOwners">
<item type="string"/>
</prop>
<prop type="string" name="pcCode" arg="$properties.properties.management.pcCode"/>
<prop type="string" name="profitCenterProgramId" arg="$properties.properties.management.profitCenterProgramId"/>
<prop type="string" name="resourceAccessPolicy" arg="$properties.properties.management.resourceAccessPolicy">
<enum>
<item value=""AcisActionAllowed""/>
<item value=""AcisReadAllowed""/>
<item value=""NotSpecified""/>
</enum>
</prop>
<prop type="array<object>" name="resourceAccessRoles" arg="$properties.properties.management.resourceAccessRoles">
<item type="object">
<prop type="array<string>" name="actions" arg="$properties.properties.management.resourceAccessRoles[].actions">
<item type="string"/>
</prop>
<prop type="array<string>" name="allowedGroupClaims" arg="$properties.properties.management.resourceAccessRoles[].allowedGroupClaims">
<item type="string"/>
</prop>
</item>
</prop>
<prop type="array<string>" name="schemaOwners" arg="$properties.properties.management.schemaOwners">
<item type="string"/>
</prop>
<prop type="array<object>" name="serviceTreeInfos" arg="$properties.properties.management.serviceTreeInfos">
<item type="object">
<prop type="string" name="componentId" arg="$properties.properties.management.serviceTreeInfos[].componentId"/>
<prop type="string" name="readiness" arg="$properties.properties.management.serviceTreeInfos[].readiness">
<enum>
<item value=""ClosingDown""/>
<item value=""Deprecated""/>
<item value=""GA""/>
<item value=""InDevelopment""/>
<item value=""InternalOnly""/>
<item value=""PrivatePreview""/>
<item value=""PublicPreview""/>
<item value=""RemovedFromARM""/>
<item value=""Retired""/>
</enum>
</prop>
<prop type="string" name="serviceId" arg="$properties.properties.management.serviceTreeInfos[].serviceId"/>
</item>
</prop>
</prop>
<prop type="array<@ResourceProviderEndpoint_create>" name="managementGroupGlobalNotificationEndpoints" arg="$properties.properties.managementGroupGlobalNotificationEndpoints">
<item type="@ResourceProviderEndpoint_create"/>
</prop>
<prop type="object" name="metadata" arg="$properties.properties.metadata">
<additionalProp anyType="True"/>
</prop>
<prop type="string" name="namespace" arg="$properties.properties.namespace"/>
<prop type="string" name="notificationOptions" arg="$properties.properties.notificationOptions">
<enum>
<item value=""EmitSpendingLimit""/>
<item value=""None""/>
<item value=""NotSpecified""/>
</enum>
</prop>
<prop type="object" name="notificationSettings" arg="$properties.properties.notificationSettings">
<prop type="array<object>" name="subscriberSettings" arg="$properties.properties.notificationSettings.subscriberSettings">
<item type="object">
<prop type="array<object>" name="filterRules" arg="$properties.properties.notificationSettings.subscriberSettings[].filterRules">
<item type="object">
<prop type="array<object>" name="endpointInformation" arg="$properties.properties.notificationSettings.subscriberSettings[].filterRules[].endpointInformation">
<item type="object">
<prop type="string" name="endpoint" arg="$properties.properties.notificationSettings.subscriberSettings[].filterRules[].endpointInformation[].endpoint"/>
<prop type="string" name="endpointType" arg="$properties.properties.notificationSettings.subscriberSettings[].filterRules[].endpointInformation[].endpointType">
<enum>
<item value=""Eventhub""/>
<item value=""Webhook""/>
</enum>
</prop>
<prop type="string" name="schemaVersion" arg="$properties.properties.notificationSettings.subscriberSettings[].filterRules[].endpointInformation[].schemaVersion"/>
</item>
</prop>
<prop type="string" name="filterQuery" arg="$properties.properties.notificationSettings.subscriberSettings[].filterRules[].filterQuery"/>
</item>
</prop>
</item>
</prop>
</prop>
<prop type="array<object>" name="notifications" arg="$properties.properties.notifications">
<item type="object">
<prop type="string" name="notificationType" arg="$properties.properties.notifications[].notificationType">
<enum>
<item value=""SubscriptionNotification""/>
<item value=""Unspecified""/>
</enum>
</prop>
<prop type="string" name="skipNotifications" arg="$properties.properties.notifications[].skipNotifications">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
<item value=""Unspecified""/>
</enum>
</prop>
</item>
</prop>
<prop type="string" name="oboSubscriptionId" arg="$properties.properties.oboSubscriptionId"/>
<prop type="array<string>" name="optionalFeatures" arg="$properties.properties.optionalFeatures">
<item type="string"/>
</prop>
<prop type="object" name="privateResourceProviderConfiguration" arg="$properties.properties.privateResourceProviderConfiguration">
<prop type="array<string>" name="allowedSubscriptions" arg="$properties.properties.privateResourceProviderConfiguration.allowedSubscriptions">
<item type="string"/>
</prop>
</prop>
<prop type="object" name="providerAuthentication" arg="$properties.properties.providerAuthentication">
<prop type="array<string>" name="allowedAudiences" arg="$properties.properties.providerAuthentication.allowedAudiences" required="True">
<item type="string"/>
</prop>
</prop>
<prop type="array<object>" name="providerAuthorizations" arg="$properties.properties.providerAuthorizations">
<item type="object" cls="ResourceProviderAuthorization_create">
<prop type="array<object>" name="allowedThirdPartyExtensions" arg="@ResourceProviderAuthorization_create.allowedThirdPartyExtensions" identifiers="name">
<item type="object">
<prop type="string" name="name" arg="@ResourceProviderAuthorization_create.allowedThirdPartyExtensions[].name"/>
</item>
</prop>
<prop type="string" name="applicationId" arg="@ResourceProviderAuthorization_create.applicationId"/>
<prop type="string" name="groupingTag" arg="@ResourceProviderAuthorization_create.groupingTag"/>
<prop type="object" name="managedByAuthorization" arg="@ResourceProviderAuthorization_create.managedByAuthorization">
<prop type="array<object>" name="additionalAuthorizations" arg="@ResourceProviderAuthorization_create.managedByAuthorization.additionalAuthorizations" identifiers="roleDefinitionId applicationId">
<item type="object">
<prop type="string" name="applicationId" arg="@ResourceProviderAuthorization_create.managedByAuthorization.additionalAuthorizations[].applicationId"/>
<prop type="string" name="roleDefinitionId" arg="@ResourceProviderAuthorization_create.managedByAuthorization.additionalAuthorizations[].roleDefinitionId"/>
</item>
</prop>
<prop type="boolean" name="allowManagedByInheritance" arg="@ResourceProviderAuthorization_create.managedByAuthorization.allowManagedByInheritance"/>
<prop type="string" name="managedByResourceRoleDefinitionId" arg="@ResourceProviderAuthorization_create.managedByAuthorization.managedByResourceRoleDefinitionId"/>
</prop>
<prop type="string" name="managedByRoleDefinitionId" arg="@ResourceProviderAuthorization_create.managedByRoleDefinitionId"/>
<prop type="string" name="roleDefinitionId" arg="@ResourceProviderAuthorization_create.roleDefinitionId"/>
</item>
</prop>
<prop type="object" name="providerHubMetadata" arg="$properties.properties.providerHubMetadata">
<prop type="string" name="directRpRoleDefinitionId" arg="$properties.properties.providerHubMetadata.directRpRoleDefinitionId"/>
<prop type="string" name="globalAsyncOperationResourceTypeName" arg="$properties.properties.providerHubMetadata.globalAsyncOperationResourceTypeName"/>
<prop type="object" name="providerAuthentication" arg="$properties.properties.providerHubMetadata.providerAuthentication">
<prop type="array<string>" name="allowedAudiences" arg="$properties.properties.providerHubMetadata.providerAuthentication.allowedAudiences" required="True">
<item type="string"/>
</prop>
</prop>
<prop type="array<@ResourceProviderAuthorization_create>" name="providerAuthorizations" arg="$properties.properties.providerHubMetadata.providerAuthorizations">
<item type="@ResourceProviderAuthorization_create"/>
</prop>
<prop type="string" name="regionalAsyncOperationResourceTypeName" arg="$properties.properties.providerHubMetadata.regionalAsyncOperationResourceTypeName"/>
<prop type="object" name="thirdPartyProviderAuthorization" arg="$properties.properties.providerHubMetadata.thirdPartyProviderAuthorization">
<prop type="array<object>" name="authorizations" arg="$properties.properties.providerHubMetadata.thirdPartyProviderAuthorization.authorizations">
<item type="object">
<prop type="string" name="principalId" arg="$properties.properties.providerHubMetadata.thirdPartyProviderAuthorization.authorizations[].principalId" required="True"/>
<prop type="string" name="roleDefinitionId" arg="$properties.properties.providerHubMetadata.thirdPartyProviderAuthorization.authorizations[].roleDefinitionId" required="True"/>
</item>
</prop>
<prop type="string" name="managedByTenantId" arg="$properties.properties.providerHubMetadata.thirdPartyProviderAuthorization.managedByTenantId"/>
</prop>
</prop>
<prop type="string" name="providerType" arg="$properties.properties.providerType">
<enum>
<item value=""AuthorizationFree""/>
<item value=""Decommissioned""/>
<item value=""External""/>
<item value=""Hidden""/>
<item value=""Internal""/>
<item value=""LegacyRegistrationRequired""/>
<item value=""NotSpecified""/>
<item value=""RegistrationFree""/>
<item value=""TenantOnly""/>
</enum>
</prop>
<prop type="string" name="providerVersion" arg="$properties.properties.providerVersion"/>
<prop type="object" name="requestHeaderOptions" arg="$properties.properties.requestHeaderOptions">
<prop type="string" name="optInHeaders" arg="$properties.properties.requestHeaderOptions.optInHeaders">
<enum>
<item value=""ClientGroupMembership""/>
<item value=""ClientPrincipalNameEncoded""/>
<item value=""MSIResourceIdEncoded""/>
<item value=""ManagementGroupAncestorsEncoded""/>
<item value=""NotSpecified""/>
<item value=""PrivateLinkId""/>
<item value=""PrivateLinkResourceId""/>
<item value=""PrivateLinkVnetTrafficTag""/>
<item value=""ResourceGroupLocation""/>
<item value=""SignedAuxiliaryTokens""/>
<item value=""SignedUserToken""/>
<item value=""UnboundedClientGroupMembership""/>
</enum>
</prop>
<prop type="string" name="optOutHeaders" arg="$properties.properties.requestHeaderOptions.optOutHeaders">
<enum>
<item value=""NotSpecified""/>
<item value=""SystemDataCreatedByLastModifiedBy""/>
</enum>
</prop>
</prop>
<prop type="array<string>" name="requiredFeatures" arg="$properties.properties.requiredFeatures">
<item type="string"/>
</prop>
<prop type="object" name="resourceGroupLockOptionDuringMove" arg="$properties.properties.resourceGroupLockOptionDuringMove">
<prop type="string" name="blockActionVerb" arg="$properties.properties.resourceGroupLockOptionDuringMove.blockActionVerb">
<enum>
<item value=""Action""/>
<item value=""Delete""/>
<item value=""NotSpecified""/>
<item value=""Read""/>
<item value=""Unrecognized""/>
<item value=""Write""/>
</enum>
</prop>
</prop>
<prop type="array<object>" name="resourceHydrationAccounts" arg="$properties.properties.resourceHydrationAccounts">
<item type="object">
<prop type="string" name="accountName" arg="$properties.properties.resourceHydrationAccounts[].accountName"/>
<prop type="string" name="encryptedKey" arg="$properties.properties.resourceHydrationAccounts[].encryptedKey"/>
<prop type="integer64" name="maxChildResourceConsistencyJobLimit" arg="$properties.properties.resourceHydrationAccounts[].maxChildResourceConsistencyJobLimit"/>
<prop type="string" name="subscriptionId" arg="$properties.properties.resourceHydrationAccounts[].subscriptionId"/>
</item>
</prop>
<prop type="object" name="resourceProviderAuthorizationRules" arg="$properties.properties.resourceProviderAuthorizationRules">
<prop type="object" name="asyncOperationPollingRules" arg="$properties.properties.resourceProviderAuthorizationRules.asyncOperationPollingRules">
<prop type="string" name="additionalOptions" arg="$properties.properties.resourceProviderAuthorizationRules.asyncOperationPollingRules.additionalOptions">
<enum>
<item value=""ProtectedAsyncOperationPolling""/>
<item value=""ProtectedAsyncOperationPollingAuditOnly""/>
</enum>
</prop>
<prop type="array<string>" name="authorizationActions" arg="$properties.properties.resourceProviderAuthorizationRules.asyncOperationPollingRules.authorizationActions">
<item type="string"/>
</prop>
</prop>
</prop>
<prop type="object" name="responseOptions" arg="$properties.properties.responseOptions">
<prop type="string" name="serviceClientOptionsType" arg="$properties.properties.responseOptions.serviceClientOptionsType">
<enum>
<item value=""DisableAutomaticDecompression""/>
<item value=""NotSpecified""/>
</enum>
</prop>
</prop>
<prop type="string" name="serviceName" arg="$properties.properties.serviceName"/>
<prop type="array<object>" name="services" arg="$properties.properties.services">
<item type="object">
<prop type="string" name="serviceName" arg="$properties.properties.services[].serviceName"/>
<prop type="string" name="status" arg="$properties.properties.services[].status">
<enum>
<item value=""Active""/>
<item value=""Inactive""/>
</enum>
</prop>
</item>
</prop>
<prop type="object" name="subscriptionLifecycleNotificationSpecifications" arg="$properties.properties.subscriptionLifecycleNotificationSpecifications">
<prop type="duration" name="softDeleteTTL" arg="$properties.properties.subscriptionLifecycleNotificationSpecifications.softDeleteTTL"/>
<prop type="array<object>" name="subscriptionStateOverrideActions" arg="$properties.properties.subscriptionLifecycleNotificationSpecifications.subscriptionStateOverrideActions">
<item type="object">
<prop type="string" name="action" arg="$properties.properties.subscriptionLifecycleNotificationSpecifications.subscriptionStateOverrideActions[].action" required="True">
<enum>
<item value=""BillingCancellation""/>
<item value=""DeleteAllResources""/>
<item value=""NoOp""/>
<item value=""NotDefined""/>
<item value=""SoftDeleteAllResources""/>
<item value=""UndoSoftDelete""/>
</enum>
</prop>
<prop type="string" name="state" arg="$properties.properties.subscriptionLifecycleNotificationSpecifications.subscriptionStateOverrideActions[].state" required="True">
<enum>
<item value=""Deleted""/>
<item value=""Registered""/>
<item value=""Suspended""/>
<item value=""SuspendedToDeleted""/>
<item value=""SuspendedToRegistered""/>
<item value=""SuspendedToUnregistered""/>
<item value=""SuspendedToWarned""/>
<item value=""Unregistered""/>
<item value=""Warned""/>
<item value=""WarnedToDeleted""/>
<item value=""WarnedToRegistered""/>
<item value=""WarnedToSuspended""/>
<item value=""WarnedToUnregistered""/>
</enum>
</prop>
</item>
</prop>
</prop>
<prop type="object" name="templateDeploymentOptions" arg="$properties.properties.templateDeploymentOptions">
<prop type="array<string>" name="preflightOptions" arg="$properties.properties.templateDeploymentOptions.preflightOptions">
<item type="string">
<enum>
<item value=""ContinueDeploymentOnFailure""/>
<item value=""DefaultValidationOnly""/>
<item value=""None""/>
</enum>
</item>
</prop>
<prop type="boolean" name="preflightSupported" arg="$properties.properties.templateDeploymentOptions.preflightSupported"/>
</prop>
<prop type="@TokenAuthConfiguration_create" name="tokenAuthConfiguration" arg="$properties.properties.tokenAuthConfiguration"/>
</prop>
</schema>
</json>
</body>
</request>
<response statusCode="200 201">
<body>
<json var="$Instance">
<schema type="object">
<prop readOnly="True" type="ResourceId" name="id">
<format template="/subscriptions/{}/providers/Microsoft.ProviderHub/providerRegistrations/{}"/>
</prop>
<prop type="string" name="kind">
<default value=""Managed""/>
<enum>
<item value=""Direct""/>
<item value=""Hybrid""/>
<item value=""Managed""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties">
<prop type="array<object>" name="capabilities" identifiers="quotaId">
<item type="object">
<prop type="string" name="effect" required="True">
<enum>
<item value=""Allow""/>
<item value=""Disallow""/>
<item value=""NotSpecified""/>
</enum>
</prop>
<prop type="string" name="quotaId" required="True"/>
<prop type="array<string>" name="requiredFeatures">
<item type="string"/>
</prop>
</item>
</prop>
<prop type="string" name="crossTenantTokenValidation">
<enum>
<item value=""EnsureSecureValidation""/>
<item value=""PassthroughInsecureToken""/>
</enum>
</prop>
<prop type="string" name="customManifestVersion"/>
<prop type="object" name="dstsConfiguration">
<prop type="string" name="serviceDnsName"/>
<prop type="string" name="serviceName" required="True"/>
</prop>
<prop type="boolean" name="enablePresetResourceTypes"/>
<prop nullable="True" type="boolean" name="enableTenantLinkedNotification"/>
<prop type="object" name="featuresRule">
<prop type="string" name="requiredFeaturesPolicy" required="True">
<enum>
<item value=""All""/>
<item value=""Any""/>
</enum>
</prop>
</prop>
<prop type="array<object>" name="globalNotificationEndpoints">
<item type="object" cls="ResourceProviderEndpoint_read">
<prop type="array<string>" name="apiVersions">
<item type="string"/>
</prop>
<prop type="boolean" name="enabled"/>
<prop type="string" name="endpointType">
<enum>
<item value=""Canary""/>
<item value=""NotSpecified""/>
<item value=""Production""/>
<item value=""TestInProduction""/>
</enum>
</prop>
<prop type="string" name="endpointUri"/>
<prop type="object" name="featuresRule">
<prop type="string" name="requiredFeaturesPolicy" required="True">
<enum>
<item value=""All""/>
<item value=""Any""/>
</enum>
</prop>
</prop>
<prop type="array<string>" name="locations">
<item type="string"/>
</prop>
<prop type="array<string>" name="requiredFeatures">
<item type="string"/>
</prop>
<prop type="string" name="skuLink"/>
<prop type="duration" name="timeout"/>
</item>
</prop>
<prop type="string" name="legacyNamespace"/>
<prop type="array<string>" name="legacyRegistrations">
<item type="string"/>
</prop>
<prop type="array<object>" name="linkedNotificationRules">
<item type="object">
<prop type="array<string>" name="actions">
<item type="string"/>
</prop>
<prop type="object" name="dstsConfiguration">
<prop type="string" name="serviceDnsName"/>
<prop type="string" name="serviceName" required="True"/>
</prop>
<prop type="array<@ResourceProviderEndpoint_read>" name="endpoints">
<item type="@ResourceProviderEndpoint_read"/>
</prop>
<prop type="object" name="tokenAuthConfiguration" cls="TokenAuthConfiguration_read">
<prop type="string" name="authenticationScheme">
<enum>
<item value=""Bearer""/>
<item value=""PoP""/>
</enum>
</prop>
<prop type="boolean" name="disableCertificateAuthenticationFallback"/>
<prop type="string" name="signedRequestScope">
<enum>
<item value=""Endpoint""/>
<item value=""ResourceUri""/>
</enum>
</prop>
</prop>
</item>
</prop>
<prop type="object" name="management">
<prop type="array<string>" name="authorizationOwners">
<item type="string"/>
</prop>
<prop type="array<string>" name="canaryManifestOwners">
<item type="string"/>
</prop>
<prop type="object" name="errorResponseMessageOptions">
<prop type="string" name="serverFailureResponseMessageType">
<enum>
<item value=""NotSpecified""/>
<item value=""OutageReporting""/>
</enum>
</prop>
</prop>
<prop type="object" name="expeditedRolloutMetadata">
<prop type="boolean" name="enabled"/>
<prop type="string" name="expeditedRolloutIntent">
<enum>
<item value=""Hotfix""/>
<item value=""NotSpecified""/>
</enum>
</prop>
</prop>
<prop type="array<string>" name="expeditedRolloutSubmitters">
<item type="string"/>
</prop>
<prop type="string" name="incidentContactEmail"/>
<prop type="string" name="incidentRoutingService"/>
<prop type="string" name="incidentRoutingTeam"/>
<prop type="array<string>" name="manifestOwners">
<item type="string"/>
</prop>
<prop type="string" name="pcCode"/>
<prop type="string" name="profitCenterProgramId"/>
<prop type="string" name="resourceAccessPolicy">
<enum>
<item value=""AcisActionAllowed""/>
<item value=""AcisReadAllowed""/>
<item value=""NotSpecified""/>
</enum>
</prop>
<prop type="array<object>" name="resourceAccessRoles">
<item type="object">
<prop type="array<string>" name="actions">
<item type="string"/>
</prop>
<prop type="array<string>" name="allowedGroupClaims">
<item type="string"/>
</prop>
</item>
</prop>
<prop type="array<string>" name="schemaOwners">
<item type="string"/>
</prop>
<prop type="array<object>" name="serviceTreeInfos">
<item type="object">
<prop type="string" name="componentId"/>
<prop type="string" name="readiness">
<enum>
<item value=""ClosingDown""/>
<item value=""Deprecated""/>
<item value=""GA""/>
<item value=""InDevelopment""/>
<item value=""InternalOnly""/>
<item value=""PrivatePreview""/>
<item value=""PublicPreview""/>
<item value=""RemovedFromARM""/>
<item value=""Retired""/>
</enum>
</prop>
<prop type="string" name="serviceId"/>
</item>
</prop>
</prop>
<prop type="array<@ResourceProviderEndpoint_read>" name="managementGroupGlobalNotificationEndpoints">
<item type="@ResourceProviderEndpoint_read"/>
</prop>
<prop type="object" name="metadata">
<additionalProp anyType="True"/>
</prop>
<prop type="string" name="namespace"/>
<prop type="string" name="notificationOptions">
<enum>
<item value=""EmitSpendingLimit""/>
<item value=""None""/>
<item value=""NotSpecified""/>
</enum>
</prop>
<prop type="object" name="notificationSettings">
<prop type="array<object>" name="subscriberSettings">
<item type="object">
<prop type="array<object>" name="filterRules">
<item type="object">
<prop type="array<object>" name="endpointInformation">
<item type="object">
<prop type="string" name="endpoint"/>
<prop type="string" name="endpointType">
<enum>
<item value=""Eventhub""/>
<item value=""Webhook""/>
</enum>
</prop>
<prop type="string" name="schemaVersion"/>
</item>
</prop>
<prop type="string" name="filterQuery"/>
</item>
</prop>
</item>
</prop>
</prop>
<prop type="array<object>" name="notifications">
<item type="object">
<prop type="string" name="notificationType">
<enum>
<item value=""SubscriptionNotification""/>
<item value=""Unspecified""/>
</enum>
</prop>
<prop type="string" name="skipNotifications">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
<item value=""Unspecified""/>
</enum>
</prop>
</item>
</prop>
<prop type="string" name="oboSubscriptionId"/>
<prop type="array<string>" name="optionalFeatures">
<item type="string"/>
</prop>
<prop type="object" name="privateResourceProviderConfiguration">
<prop type="array<string>" name="allowedSubscriptions">
<item type="string"/>
</prop>
</prop>
<prop type="object" name="providerAuthentication">
<prop type="array<string>" name="allowedAudiences" required="True">
<item type="string"/>
</prop>
</prop>
<prop type="array<object>" name="providerAuthorizations">
<item type="object" cls="ResourceProviderAuthorization_read">
<prop type="array<object>" name="allowedThirdPartyExtensions" identifiers="name">
<item type="object">
<prop type="string" name="name"/>
</item>
</prop>
<prop type="string" name="applicationId"/>
<prop type="string" name="groupingTag"/>
<prop type="object" name="managedByAuthorization">
<prop type="array<object>" name="additionalAuthorizations" identifiers="roleDefinitionId applicationId">
<item type="object">
<prop type="string" name="applicationId"/>
<prop type="string" name="roleDefinitionId"/>
</item>
</prop>
<prop type="boolean" name="allowManagedByInheritance"/>
<prop type="string" name="managedByResourceRoleDefinitionId"/>
</prop>
<prop type="string" name="managedByRoleDefinitionId"/>
<prop type="string" name="roleDefinitionId"/>
</item>
</prop>
<prop type="object" name="providerHubMetadata">
<prop type="string" name="directRpRoleDefinitionId"/>
<prop type="string" name="globalAsyncOperationResourceTypeName"/>
<prop type="object" name="providerAuthentication">
<prop type="array<string>" name="allowedAudiences" required="True">
<item type="string"/>
</prop>
</prop>
<prop type="array<@ResourceProviderAuthorization_read>" name="providerAuthorizations">
<item type="@ResourceProviderAuthorization_read"/>
</prop>
<prop type="string" name="regionalAsyncOperationResourceTypeName"/>
<prop type="object" name="thirdPartyProviderAuthorization">
<prop type="array<object>" name="authorizations">
<item type="object">
<prop type="string" name="principalId" required="True"/>
<prop type="string" name="roleDefinitionId" required="True"/>
</item>
</prop>
<prop type="string" name="managedByTenantId"/>
</prop>
</prop>
<prop type="string" name="providerType">
<enum>
<item value=""AuthorizationFree""/>
<item value=""Decommissioned""/>
<item value=""External""/>
<item value=""Hidden""/>
<item value=""Internal""/>
<item value=""LegacyRegistrationRequired""/>
<item value=""NotSpecified""/>
<item value=""RegistrationFree""/>
<item value=""TenantOnly""/>
</enum>
</prop>
<prop type="string" name="providerVersion"/>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Accepted""/>
<item value=""Canceled""/>
<item value=""Created""/>
<item value=""Creating""/>
<item value=""Deleted""/>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""MovingResources""/>
<item value=""NotSpecified""/>
<item value=""RolloutInProgress""/>
<item value=""Running""/>
<item value=""Succeeded""/>
<item value=""TransientFailure""/>
</enum>
</prop>
<prop type="object" name="requestHeaderOptions">
<prop type="string" name="optInHeaders">
<enum>
<item value=""ClientGroupMembership""/>
<item value=""ClientPrincipalNameEncoded""/>
<item value=""MSIResourceIdEncoded""/>
<item value=""ManagementGroupAncestorsEncoded""/>
<item value=""NotSpecified""/>
<item value=""PrivateLinkId""/>
<item value=""PrivateLinkResourceId""/>
<item value=""PrivateLinkVnetTrafficTag""/>
<item value=""ResourceGroupLocation""/>
<item value=""SignedAuxiliaryTokens""/>
<item value=""SignedUserToken""/>
<item value=""UnboundedClientGroupMembership""/>
</enum>
</prop>
<prop type="string" name="optOutHeaders">
<enum>
<item value=""NotSpecified""/>
<item value=""SystemDataCreatedByLastModifiedBy""/>
</enum>
</prop>
</prop>
<prop type="array<string>" name="requiredFeatures">
<item type="string"/>
</prop>
<prop type="object" name="resourceGroupLockOptionDuringMove">
<prop type="string" name="blockActionVerb">
<enum>
<item value=""Action""/>
<item value=""Delete""/>
<item value=""NotSpecified""/>
<item value=""Read""/>
<item value=""Unrecognized""/>
<item value=""Write""/>
</enum>
</prop>
</prop>
<prop type="array<object>" name="resourceHydrationAccounts">
<item type="object">
<prop type="string" name="accountName"/>
<prop type="string" name="encryptedKey"/>
<prop type="integer64" name="maxChildResourceConsistencyJobLimit"/>
<prop type="string" name="subscriptionId"/>
</item>
</prop>
<prop type="object" name="resourceProviderAuthorizationRules">
<prop type="object" name="asyncOperationPollingRules">
<prop type="string" name="additionalOptions">
<enum>
<item value=""ProtectedAsyncOperationPolling""/>
<item value=""ProtectedAsyncOperationPollingAuditOnly""/>
</enum>
</prop>
<prop type="array<string>" name="authorizationActions">
<item type="string"/>
</prop>
</prop>
</prop>
<prop type="object" name="responseOptions">
<prop type="string" name="serviceClientOptionsType">
<enum>
<item value=""DisableAutomaticDecompression""/>
<item value=""NotSpecified""/>
</enum>
</prop>
</prop>
<prop type="string" name="serviceName"/>
<prop type="array<object>" name="services">
<item type="object">
<prop type="string" name="serviceName"/>
<prop type="string" name="status">
<enum>
<item value=""Active""/>
<item value=""Inactive""/>
</enum>
</prop>
</item>
</prop>
<prop type="object" name="subscriptionLifecycleNotificationSpecifications">
<prop type="duration" name="softDeleteTTL"/>
<prop type="array<object>" name="subscriptionStateOverrideActions">
<item type="object">
<prop type="string" name="action" required="True">
<enum>
<item value=""BillingCancellation""/>
<item value=""DeleteAllResources""/>
<item value=""NoOp""/>
<item value=""NotDefined""/>
<item value=""SoftDeleteAllResources""/>
<item value=""UndoSoftDelete""/>
</enum>
</prop>
<prop type="string" name="state" required="True">
<enum>
<item value=""Deleted""/>
<item value=""Registered""/>
<item value=""Suspended""/>
<item value=""SuspendedToDeleted""/>
<item value=""SuspendedToRegistered""/>
<item value=""SuspendedToUnregistered""/>
<item value=""SuspendedToWarned""/>
<item value=""Unregistered""/>
<item value=""Warned""/>
<item value=""WarnedToDeleted""/>
<item value=""WarnedToRegistered""/>
<item value=""WarnedToSuspended""/>
<item value=""WarnedToUnregistered""/>
</enum>
</prop>
</item>
</prop>
</prop>
<prop type="object" name="templateDeploymentOptions">
<prop type="array<string>" name="preflightOptions">
<item type="string">
<enum>
<item value=""ContinueDeploymentOnFailure""/>
<item value=""DefaultValidationOnly""/>
<item value=""None""/>
</enum>
</item>
</prop>
<prop type="boolean" name="preflightSupported"/>
</prop>
<prop type="@TokenAuthConfiguration_read" name="tokenAuthConfiguration"/>
</prop>
<prop readOnly="True" type="object" name="systemData">
<prop type="dateTime" name="createdAt"/>
<prop type="string" name="createdBy"/>
<prop type="string" name="createdByType">
<enum>
<item value=""Application""/>
<item value=""Key""/>
<item value=""ManagedIdentity""/>
<item value=""User""/>
</enum>
</prop>
<prop type="dateTime" name="lastModifiedAt"/>
<prop type="string" name="lastModifiedBy"/>
<prop type="string" name="lastModifiedByType">
<enum>
<item value=""Application""/>
<item value=""Key""/>
<item value=""ManagedIdentity""/>
<item value=""User""/>
</enum>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
</schema>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
<output type="object" ref="$Instance" clientFlatten="True"/>
</command>
<command name="update" version="2025-03-01-preview">
<resource id="/subscriptions/{}/providers/microsoft.providerhub/providerregistrations/{}" version="2025-03-01-preview" swagger="mgmt-plane/providerhub/ResourceProviders/Microsoft.ProviderHub/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9wcm92aWRlcnMvTWljcm9zb2Z0LlByb3ZpZGVySHViL3Byb3ZpZGVyUmVnaXN0cmF0aW9ucy97cHJvdmlkZXJOYW1lc3BhY2V9/V/MjAyNS0wMy0wMS1wcmV2aWV3"/>
<argGroup name="">
<arg type="string" var="$Path.providerNamespace" options="provider-namespace name n" required="True" idPart="name">
<help short="The name of the resource provider hosted within ProviderHub."/>
</arg>
<arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/>
</argGroup>
<argGroup name="Properties">
<arg nullable="True" type="string" var="$properties.kind" options="kind" group="Properties">
<help short="Provider registration kind. This Metadata is also used by portal/tooling/etc to render different UX experiences for resources of the same type."/>
<enum>
<item name="Direct" value=""Direct""/>
<item name="Hybrid" value=""Hybrid""/>
<item name="Managed" value=""Managed""/>
</enum>
</arg>
<arg nullable="True" type="array<object>" var="$properties.properties.capabilities" options="capabilities" group="Properties">
<item nullable="True" type="object">
<arg type="string" var="$properties.properties.capabilities[].effect" options="effect">
<enum>
<item name="Allow" value=""Allow""/>
<item name="Disallow" value=""Disallow""/>
<item name="NotSpecified" value=""NotSpecified""/>
</enum>
</arg>
<arg type="string" var="$properties.properties.capabilities[].quotaId" options="quota-id"/>
<arg nullable="True" type="array<string>" var="$properties.properties.capabilities[].requiredFeatures" options="required-features">
<item nullable="True" type="string"/>
</arg>
</item>
</arg>
<arg nullable="True" type="string" var="$properties.properties.crossTenantTokenValidation" options="cross-tenant-token-validation" group="Properties">
<enum>
<item name="EnsureSecureValidation" value=""EnsureSecureValidation""/>
<item name="PassthroughInsecureToken" value=""PassthroughInsecureToken""/>
</enum>
</arg>
<arg nullable="True" type="string" var="$properties.properties.customManifestVersion" options="custom-manifest-version" group="Properties">
<help short="Custom manifest version."/>
</arg>
<arg nullable="True" type="object" var="$properties.properties.dstsConfiguration" options="dsts-configuration" group="Properties">
<arg nullable="True" type="string" var="$properties.properties.dstsConfiguration.serviceDnsName" options="service-dns-name"/>
<arg type="string" var="$properties.properties.dstsConfiguration.serviceName" options="service-name"/>
</arg>
<arg nullable="True" type="boolean" var="$properties.properties.enablePresetResourceTypes" options="enable-preset-resource-types" group="Properties">
<help short="Preset resource types enabled?"/>
</arg>
<arg nullable="True" type="boolean" var="$properties.properties.enableTenantLinkedNotification" options="enable-tenant-linked-notification" group="Properties"/>
<arg nullable="True" type="object" var="$properties.properties.featuresRule" options="features-rule" group="Properties">
<arg type="string" var="$properties.properties.featuresRule.requiredFeaturesPolicy" options="required-features-policy">
<enum>
<item name="All" value=""All""/>
<item name="Any" value=""Any""/>
</enum>
</arg>
</arg>
<arg nullable="True" type="array<object>" var="$properties.properties.globalNotificationEndpoints" options="global-notification-endpoints" group="Properties">
<item nullable="True" type="object" cls="ResourceProviderEndpoint_update">
<arg nullable="True" type="array<string>" var="@ResourceProviderEndpoint_update.apiVersions" options="api-versions">
<item nullable="True" type="string"/>
</arg>
<arg nullable="True" type="boolean" var="@ResourceProviderEndpoint_update.enabled" options="enabled"/>
<arg nullable="True" type="string" var="@ResourceProviderEndpoint_update.endpointType" options="endpoint-type">
<enum>
<item name="Canary" value=""Canary""/>
<item name="NotSpecified" value=""NotSpecified""/>
<item name="Production" value=""Production""/>
<item name="TestInProduction" value=""TestInProduction""/>
</enum>
</arg>
<arg nullable="True" type="string" var="@ResourceProviderEndpoint_update.endpointUri" options="endpoint-uri"/>
<arg nullable="True" type="object" var="@ResourceProviderEndpoint_update.featuresRule" options="features-rule">
<arg type="string" var="@ResourceProviderEndpoint_update.featuresRule.requiredFeaturesPolicy" options="required-features-policy">
<enum>
<item name="All" value=""All""/>
<item name="Any" value=""Any""/>
</enum>
</arg>
</arg>
<arg nullable="True" type="array<string>" var="@ResourceProviderEndpoint_update.locations" options="locations">
<item nullable="True" type="string"/>
</arg>
<arg nullable="True" type="array<string>" var="@ResourceProviderEndpoint_update.requiredFeatures" options="required-features">
<item nullable="True" type="string"/>
</arg>
<arg nullable="True" type="string" var="@ResourceProviderEndpoint_update.skuLink" options="sku-link"/>
<arg nullable="True" type="duration" var="@ResourceProviderEndpoint_update.timeout" options="timeout"/>
</item>
</arg>
<arg nullable="True" type="string" var="$properties.properties.legacyNamespace" options="legacy-namespace" group="Properties">
<help short="Legacy namespace."/>
</arg>
<arg nullable="True" type="array<string>" var="$properties.properties.legacyRegistrations" options="legacy-registrations" group="Properties">
<help short="Legacy registrations."/>
<item nullable="True" type="string"/>
</arg>
<arg nullable="True" type="array<object>" var="$properties.properties.linkedNotificationRules" options="linked-notification-rules" group="Properties">
<item nullable="True" type="object">
<arg nullable="True" type="array<string>" var="$properties.properties.linkedNotificationRules[].actions" options="actions">
<item nullable="True" type="string"/>
</arg>
<arg nullable="True" type="object" var="$properties.properties.linkedNotificationRules[].dstsConfiguration" options="dsts-configuration">
<arg nullable="True" type="string" var="$properties.properties.linkedNotificationRules[].dstsConfiguration.serviceDnsName" options="service-dns-name"/>
<arg type="string" var="$properties.properties.linkedNotificationRules[].dstsConfiguration.serviceName" options="service-name"/>
</arg>
<arg nullable="True" type="array<@ResourceProviderEndpoint_update>" var="$properties.properties.linkedNotificationRules[].endpoints" options="endpoints">
<item nullable="True" type="@ResourceProviderEndpoint_update"/>
</arg>
<arg nullable="True" type="object" var="$properties.properties.linkedNotificationRules[].tokenAuthConfiguration" options="token-auth-configuration" cls="TokenAuthConfiguration_update">
<arg nullable="True" type="string" var="@TokenAuthConfiguration_update.authenticationScheme" options="authentication-scheme">
<enum>
<item name="Bearer" value=""Bearer""/>
<item name="PoP" value=""PoP""/>
</enum>
</arg>
<arg nullable="True" type="boolean" var="@TokenAuthConfiguration_update.disableCertificateAuthenticationFallback" options="disable-certificate-authentication-fallback"/>
<arg nullable="True" type="string" var="@TokenAuthConfiguration_update.signedRequestScope" options="signed-request-scope">
<enum>
<item name="Endpoint" value=""Endpoint""/>
<item name="ResourceUri" value=""ResourceUri""/>
</enum>
</arg>
</arg>
</item>
</arg>
<arg nullable="True" type="object" var="$properties.properties.management" options="management" group="Properties">
<arg nullable="True" type="array<string>" var="$properties.properties.management.authorizationOwners" options="authorization-owners">
<item nullable="True" type="string"/>
</arg>
<arg nullable="True" type="array<string>" var="$properties.properties.management.canaryManifestOwners" options="canary-manifest-owners">
<help short="List of manifest owners for canary."/>
<item nullable="True" type="string"/>
</arg>
<arg nullable="True" type="object" var="$properties.properties.management.errorResponseMessageOptions" options="error-response-message-options">
<help short="Options for error response messages."/>
<arg nullable="True" type="string" var="$properties.properties.management.errorResponseMessageOptions.serverFailureResponseMessageType" options="server-failure-response-message-type">
<help short="Type of server failure response message."/>
<enum>
<item name="NotSpecified" value=""NotSpecified""/>
<item name="OutageReporting" value=""OutageReporting""/>
</enum>
</arg>
</arg>
<arg nullable="True" type="object" var="$properties.properties.management.expeditedRolloutMetadata" options="expedited-rollout-metadata">
<help short="Metadata for expedited rollout."/>
<arg nullable="True" type="boolean" var="$properties.properties.management.expeditedRolloutMetadata.enabled" options="enabled">
<help short="Expedited rollout enabled?"/>
</arg>
<arg nullable="True" type="string" var="$properties.properties.management.expeditedRolloutMetadata.expeditedRolloutIntent" options="expedited-rollout-intent">
<help short="Expedited rollout intent."/>
<enum>
<item name="Hotfix" value=""Hotfix""/>
<item name="NotSpecified" value=""NotSpecified""/>
</enum>
</arg>
</arg>
<arg nullable="True" type="array<string>" var="$properties.properties.management.expeditedRolloutSubmitters" options="expedited-rollout-submitters">
<help short="List of expedited rollout submitters."/>
<item nullable="True" type="string"/>
</arg>
<arg nullable="True" type="string" var="$properties.properties.management.incidentContactEmail" options="incident-contact-email"/>
<arg nullable="True" type="string" var="$properties.properties.management.incidentRoutingService" options="incident-routing-service"/>
<arg nullable="True" type="string" var="$properties.properties.management.incidentRoutingTeam" options="incident-routing-team"/>
<arg nullable="True" type="array<string>" var="$properties.properties.management.manifestOwners" options="manifest-owners">
<item nullable="True" type="string"/>
</arg>
<arg nullable="True" type="string" var="$properties.properties.management.pcCode" options="pc-code">
<help short="The profit center code for the subscription."/>
</arg>
<arg nullable="True" type="string" var="$properties.properties.management.profitCenterProgramId" options="profit-center-program-id">
<help short="The profit center program id for the subscription."/>
</arg>
<arg nullable="True" type="string" var="$properties.properties.management.resourceAccessPolicy" options="resource-access-policy">
<enum>
<item name="AcisActionAllowed" value=""AcisActionAllowed""/>
<item name="AcisReadAllowed" value=""AcisReadAllowed""/>
<item name="NotSpecified" value=""NotSpecified""/>
</enum>
</arg>
<arg nullable="True" type="array<object>" var="$properties.properties.management.resourceAccessRoles" options="resource-access-roles">
<item nullable="True" type="object">
<arg nullable="True" type="array<string>" var="$properties.properties.management.resourceAccessRoles[].actions" options="actions">
<item nullable="True" type="string"/>
</arg>
<arg nullable="True" type="array<string>" var="$properties.properties.management.resourceAccessRoles[].allowedGroupClaims" options="allowed-group-claims">
<item nullable="True" type="string"/>
</arg>
</item>
</arg>
<arg nullable="True" type="array<string>" var="$properties.properties.management.schemaOwners" options="schema-owners">
<item nullable="True" type="string"/>
</arg>
<arg nullable="True" type="array<object>" var="$properties.properties.management.serviceTreeInfos" options="service-tree-infos">
<item nullable="True" type="object">
<arg nullable="True" type="string" var="$properties.properties.management.serviceTreeInfos[].componentId" options="component-id"/>
<arg nullable="True" type="string" var="$properties.properties.management.serviceTreeInfos[].readiness" options="readiness">
<enum>
<item name="ClosingDown" value=""ClosingDown""/>
<item name="Deprecated" value=""Deprecated""/>
<item name="GA" value=""GA""/>
<item name="InDevelopment" value=""InDevelopment""/>
<item name="InternalOnly" value=""InternalOnly""/>
<item name="PrivatePreview" value=""PrivatePreview""/>
<item name="PublicPreview" value=""PublicPreview""/>
<item name="RemovedFromARM" value=""RemovedFromARM""/>
<item name="Retired" value=""Retired""/>
</enum>
</arg>
<arg nullable="True" type="string" var="$properties.properties.management.serviceTreeInfos[].serviceId" options="service-id"/>
</item>
</arg>
</arg>
<arg nullable="True" type="array<@ResourceProviderEndpoint_update>" var="$properties.properties.managementGroupGlobalNotificationEndpoints" options="management-group-global-notification-endpoints" group="Properties">
<help short="Management groups global notification endpoints."/>
<item nullable="True" type="@ResourceProviderEndpoint_update"/>
</arg>
<arg nullable="True" type="object" var="$properties.properties.metadata" options="metadata" group="Properties">
<additionalProp anyType="True"/>
</arg>
<arg nullable="True" type="string" var="$properties.properties.namespace" options="namespace" group="Properties"/>
<arg nullable="True" type="string" var="$properties.properties.notificationOptions" options="notification-options" group="Properties">
<help short="Notification options."/>
<enum>
<item name="EmitSpendingLimit" value=""EmitSpendingLimit""/>
<item name="None" value=""None""/>
<item name="NotSpecified" value=""NotSpecified""/>
</enum>
</arg>
<arg nullable="True" type="object" var="$properties.properties.notificationSettings" options="notification-settings" group="Properties">
<help short="Notification settings."/>
<arg nullable="True" type="array<object>" var="$properties.properties.notificationSettings.subscriberSettings" options="subscriber-settings">
<item nullable="True" type="object">
<arg nullable="True" type="array<object>" var="$properties.properties.notificationSettings.subscriberSettings[].filterRules" options="filter-rules">
<item nullable="True" type="object">
<arg nullable="True" type="array<object>" var="$properties.properties.notificationSettings.subscriberSettings[].filterRules[].endpointInformation" options="endpoint-information">
<item nullable="True" type="object">
<arg nullable="True" type="string" var="$properties.properties.notificationSettings.subscriberSettings[].filterRules[].endpointInformation[].endpoint" options="endpoint"/>
<arg nullable="True" type="string" var="$properties.properties.notificationSettings.subscriberSettings[].filterRules[].endpointInformation[].endpointType" options="endpoint-type">
<enum>
<item name="Eventhub" value=""Eventhub""/>
<item name="Webhook" value=""Webhook""/>
</enum>
</arg>
<arg nullable="True" type="string" var="$properties.properties.notificationSettings.subscriberSettings[].filterRules[].endpointInformation[].schemaVersion" options="schema-version"/>
</item>
</arg>
<arg nullable="True" type="string" var="$properties.properties.notificationSettings.subscriberSettings[].filterRules[].filterQuery" options="filter-query"/>
</item>
</arg>
</item>
</arg>
</arg>
<arg nullable="True" type="array<object>" var="$properties.properties.notifications" options="notifications" group="Properties">
<item nullable="True" type="object">
<arg nullable="True" type="string" var="$properties.properties.notifications[].notificationType" options="notification-type">
<enum>
<item name="SubscriptionNotification" value=""SubscriptionNotification""/>
<item name="Unspecified" value=""Unspecified""/>
</enum>
</arg>
<arg nullable="True" type="string" var="$properties.properties.notifications[].skipNotifications" options="skip-notifications">
<enum>
<item name="Disabled" value=""Disabled""/>
<item name="Enabled" value=""Enabled""/>
<item name="Unspecified" value=""Unspecified""/>
</enum>
</arg>
</item>
</arg>
<arg nullable="True" type="string" var="$properties.properties.oboSubscriptionId" options="obo-subscription-id" group="Properties">
<help short="The on behalf of subscription id for the resource provider."/>
</arg>
<arg nullable="True" type="array<string>" var="$properties.properties.optionalFeatures" options="optional-features" group="Properties">
<help short="Optional features."/>
<item nullable="True" type="string"/>
</arg>
<arg nullable="True" type="object" var="$properties.properties.privateResourceProviderConfiguration" options="private-resource-provider-configuration" group="Properties">
<arg nullable="True" type="array<string>" var="$properties.properties.privateResourceProviderConfiguration.allowedSubscriptions" options="allowed-subscriptions">
<item nullable="True" type="string"/>
</arg>
</arg>
<arg nullable="True" type="object" var="$properties.properties.providerAuthentication" options="provider-authentication" group="Properties">
<arg type="array<string>" var="$properties.properties.providerAuthentication.allowedAudiences" options="allowed-audiences">
<item nullable="True" type="string"/>
</arg>
</arg>
<arg nullable="True" type="array<object>" var="$properties.properties.providerAuthorizations" options="provider-authorizations" group="Properties">
<item nullable="True" type="object" cls="ResourceProviderAuthorization_update">
<arg nullable="True" type="array<object>" var="@ResourceProviderAuthorization_update.allowedThirdPartyExtensions" options="allowed-third-party-extensions">
<item nullable="True" type="object">
<arg nullable="True" type="string" var="@ResourceProviderAuthorization_update.allowedThirdPartyExtensions[].name" options="name">
<help short="Name of third party extension."/>
</arg>
</item>
</arg>
<arg nullable="True" type="string" var="@ResourceProviderAuthorization_update.applicationId" options="application-id"/>
<arg nullable="True" type="string" var="@ResourceProviderAuthorization_update.groupingTag" options="grouping-tag"/>
<arg nullable="True" type="object" var="@ResourceProviderAuthorization_update.managedByAuthorization" options="managed-by-authorization">
<help short="Managed by authorization."/>
<arg nullable="True" type="array<object>" var="@ResourceProviderAuthorization_update.managedByAuthorization.additionalAuthorizations" options="additional-authorizations">
<item nullable="True" type="object">
<arg nullable="True" type="string" var="@ResourceProviderAuthorization_update.managedByAuthorization.additionalAuthorizations[].applicationId" options="application-id"/>
<arg nullable="True" type="string" var="@ResourceProviderAuthorization_update.managedByAuthorization.additionalAuthorizations[].roleDefinitionId" options="role-definition-id"/>
</item>
</arg>
<arg nullable="True" type="boolean" var="@ResourceProviderAuthorization_update.managedByAuthorization.allowManagedByInheritance" options="allow-managed-by-inheritance">
<help short="Indicates whether the managed by resource role definition ID should be inherited."/>
</arg>
<arg nullable="True" type="string" var="@ResourceProviderAuthorization_update.managedByAuthorization.managedByResourceRoleDefinitionId" options="managed-by-resource-role-definition-id">
<help short="The managed by resource role definition ID for the application."/>
</arg>
</arg>
<arg nullable="True" type="string" var="@ResourceProviderAuthorization_update.managedByRoleDefinitionId" options="managed-by-role-definition-id"/>
<arg nullable="True" type="string" var="@ResourceProviderAuthorization_update.roleDefinitionId" options="role-definition-id"/>
</item>
</arg>
<arg nullable="True" type="object" var="$properties.properties.providerHubMetadata" options="provider-hub-metadata" group="Properties">
<arg nullable="True" type="string" var="$properties.properties.providerHubMetadata.directRpRoleDefinitionId" options="direct-rp-role-definition-id"/>
<arg nullable="True" type="string" var="$properties.properties.providerHubMetadata.globalAsyncOperationResourceTypeName" options="global-async-operation-resource-type-name"/>
<arg nullable="True" type="object" var="$properties.properties.providerHubMetadata.providerAuthentication" options="provider-authentication">
<arg type="array<string>" var="$properties.properties.providerHubMetadata.providerAuthentication.allowedAudiences" options="allowed-audiences">
<item nullable="True" type="string"/>
</arg>
</arg>
<arg nullable="True" type="array<@ResourceProviderAuthorization_update>" var="$properties.properties.providerHubMetadata.providerAuthorizations" options="provider-authorizations">
<item nullable="True" type="@ResourceProviderAuthorization_update"/>
</arg>
<arg nullable="True" type="string" var="$properties.properties.providerHubMetadata.regionalAsyncOperationResourceTypeName" options="regional-async-operation-resource-type-name"/>
<arg nullable="True" type="object" var="$properties.properties.providerHubMetadata.thirdPartyProviderAuthorization" options="third-party-provider-authorization">
<arg nullable="True" type="array<object>" var="$properties.properties.providerHubMetadata.thirdPartyProviderAuthorization.authorizations" options="authorizations">
<item nullable="True" type="object">
<arg type="string" var="$properties.properties.providerHubMetadata.thirdPartyProviderAuthorization.authorizations[].principalId" options="principal-id"/>
<arg type="string" var="$properties.properties.providerHubMetadata.thirdPartyProviderAuthorization.authorizations[].roleDefinitionId" options="role-definition-id"/>
</item>
</arg>
<arg nullable="True" type="string" var="$properties.properties.providerHubMetadata.thirdPartyProviderAuthorization.managedByTenantId" options="managed-by-tenant-id"/>
</arg>
</arg>
<arg nullable="True" type="string" var="$properties.properties.providerType" options="provider-type" group="Properties">
<enum>
<item name="AuthorizationFree" value=""AuthorizationFree""/>
<item name="Decommissioned" value=""Decommissioned""/>
<item name="External" value=""External""/>
<item name="Hidden" value=""Hidden""/>
<item name="Internal" value=""Internal""/>
<item name="LegacyRegistrationRequired" value=""LegacyRegistrationRequired""/>
<item name="NotSpecified" value=""NotSpecified""/>
<item name="RegistrationFree" value=""RegistrationFree""/>
<item name="TenantOnly" value=""TenantOnly""/>
</enum>
</arg>
<arg nullable="True" type="string" var="$properties.properties.providerVersion" options="provider-version" group="Properties"/>
<arg nullable="True" type="object" var="$properties.properties.requestHeaderOptions" options="request-header-options" group="Properties">
<arg nullable="True" type="string" var="$properties.properties.requestHeaderOptions.optInHeaders" options="opt-in-headers">
<enum>
<item name="ClientGroupMembership" value=""ClientGroupMembership""/>
<item name="ClientPrincipalNameEncoded" value=""ClientPrincipalNameEncoded""/>
<item name="MSIResourceIdEncoded" value=""MSIResourceIdEncoded""/>
<item name="ManagementGroupAncestorsEncoded" value=""ManagementGroupAncestorsEncoded""/>
<item name="NotSpecified" value=""NotSpecified""/>
<item name="PrivateLinkId" value=""PrivateLinkId""/>
<item name="PrivateLinkResourceId" value=""PrivateLinkResourceId""/>
<item name="PrivateLinkVnetTrafficTag" value=""PrivateLinkVnetTrafficTag""/>
<item name="ResourceGroupLocation" value=""ResourceGroupLocation""/>
<item name="SignedAuxiliaryTokens" value=""SignedAuxiliaryTokens""/>
<item name="SignedUserToken" value=""SignedUserToken""/>
<item name="UnboundedClientGroupMembership" value=""UnboundedClientGroupMembership""/>
</enum>
</arg>
<arg nullable="True" type="string" var="$properties.properties.requestHeaderOptions.optOutHeaders" options="opt-out-headers">
<enum>
<item name="NotSpecified" value=""NotSpecified""/>
<item name="SystemDataCreatedByLastModifiedBy" value=""SystemDataCreatedByLastModifiedBy""/>
</enum>
</arg>
</arg>
<arg nullable="True" type="array<string>" var="$properties.properties.requiredFeatures" options="required-features" group="Properties">
<item nullable="True" type="string"/>
</arg>
<arg nullable="True" type="object" var="$properties.properties.resourceGroupLockOptionDuringMove" options="resource-group-lock-option-during-move" group="Properties">
<help short="Resource group lock option during move."/>
<arg nullable="True" type="string" var="$properties.properties.resourceGroupLockOptionDuringMove.blockActionVerb" options="block-action-verb">
<help short="The action verb that will be blocked when the resource group is locked during move."/>
<enum>
<item name="Action" value=""Action""/>
<item name="Delete" value=""Delete""/>
<item name="NotSpecified" value=""NotSpecified""/>
<item name="Read" value=""Read""/>
<item name="Unrecognized" value=""Unrecognized""/>
<item name="Write" value=""Write""/>
</enum>
</arg>
</arg>
<arg nullable="True" type="array<object>" var="$properties.properties.resourceHydrationAccounts" options="resource-hydration-accounts" group="Properties">
<help short="resource hydration accounts"/>
<item nullable="True" type="object">
<arg nullable="True" type="string" var="$properties.properties.resourceHydrationAccounts[].accountName" options="account-name"/>
<arg nullable="True" type="string" var="$properties.properties.resourceHydrationAccounts[].encryptedKey" options="encrypted-key"/>
<arg nullable="True" type="integer64" var="$properties.properties.resourceHydrationAccounts[].maxChildResourceConsistencyJobLimit" options="max-child-resource-consistency-job-limit"/>
<arg nullable="True" type="string" var="$properties.properties.resourceHydrationAccounts[].subscriptionId" options="subscription-id"/>
</item>
</arg>
<arg nullable="True" type="object" var="$properties.properties.resourceProviderAuthorizationRules" options="resource-provider-authorization-rules" group="Properties">
<arg nullable="True" type="object" var="$properties.properties.resourceProviderAuthorizationRules.asyncOperationPollingRules" options="async-operation-polling-rules">
<arg nullable="True" type="string" var="$properties.properties.resourceProviderAuthorizationRules.asyncOperationPollingRules.additionalOptions" options="additional-options">
<enum>
<item name="ProtectedAsyncOperationPolling" value=""ProtectedAsyncOperationPolling""/>
<item name="ProtectedAsyncOperationPollingAuditOnly" value=""ProtectedAsyncOperationPollingAuditOnly""/>
</enum>
</arg>
<arg nullable="True" type="array<string>" var="$properties.properties.resourceProviderAuthorizationRules.asyncOperationPollingRules.authorizationActions" options="authorization-actions">
<item nullable="True" type="string"/>
</arg>
</arg>
</arg>
<arg nullable="True" type="object" var="$properties.properties.responseOptions" options="response-options" group="Properties">
<help short="Response options."/>
<arg nullable="True" type="string" var="$properties.properties.responseOptions.serviceClientOptionsType" options="service-client-options-type">
<enum>
<item name="DisableAutomaticDecompression" value=""DisableAutomaticDecompression""/>
<item name="NotSpecified" value=""NotSpecified""/>
</enum>
</arg>
</arg>
<arg nullable="True" type="string" var="$properties.properties.serviceName" options="service-name" group="Properties"/>
<arg nullable="True" type="array<object>" var="$properties.properties.services" options="services" group="Properties">
<item nullable="True" type="object">
<arg nullable="True" type="string" var="$properties.properties.services[].serviceName" options="service-name"/>
<arg nullable="True" type="string" var="$properties.properties.services[].status" options="status">
<enum>
<item name="Active" value=""Active""/>
<item name="Inactive" value=""Inactive""/>
</enum>
</arg>
</item>
</arg>
<arg nullable="True" type="object" var="$properties.properties.subscriptionLifecycleNotificationSpecifications" options="subscription-lifecycle-notification-specifications" group="Properties">
<arg nullable="True" type="duration" var="$properties.properties.subscriptionLifecycleNotificationSpecifications.softDeleteTTL" options="soft-delete-ttl"/>
<arg nullable="True" type="array<object>" var="$properties.properties.subscriptionLifecycleNotificationSpecifications.subscriptionStateOverrideActions" options="subscription-state-override-actions">
<item nullable="True" type="object">
<arg type="string" var="$properties.properties.subscriptionLifecycleNotificationSpecifications.subscriptionStateOverrideActions[].action" options="action">
<enum>
<item name="BillingCancellation" value=""BillingCancellation""/>
<item name="DeleteAllResources" value=""DeleteAllResources""/>
<item name="NoOp" value=""NoOp""/>
<item name="NotDefined" value=""NotDefined""/>
<item name="SoftDeleteAllResources" value=""SoftDeleteAllResources""/>
<item name="UndoSoftDelete" value=""UndoSoftDelete""/>
</enum>
</arg>
<arg type="string" var="$properties.properties.subscriptionLifecycleNotificationSpecifications.subscriptionStateOverrideActions[].state" options="state">
<enum>
<item name="Deleted" value=""Deleted""/>
<item name="Registered" value=""Registered""/>
<item name="Suspended" value=""Suspended""/>
<item name="SuspendedToDeleted" value=""SuspendedToDeleted""/>
<item name="SuspendedToRegistered" value=""SuspendedToRegistered""/>
<item name="SuspendedToUnregistered" value=""SuspendedToUnregistered""/>
<item name="SuspendedToWarned" value=""SuspendedToWarned""/>
<item name="Unregistered" value=""Unregistered""/>
<item name="Warned" value=""Warned""/>
<item name="WarnedToDeleted" value=""WarnedToDeleted""/>
<item name="WarnedToRegistered" value=""WarnedToRegistered""/>
<item name="WarnedToSuspended" value=""WarnedToSuspended""/>
<item name="WarnedToUnregistered" value=""WarnedToUnregistered""/>
</enum>
</arg>
</item>
</arg>
</arg>
<arg nullable="True" type="object" var="$properties.properties.templateDeploymentOptions" options="template-deployment-options" group="Properties">
<arg nullable="True" type="array<string>" var="$properties.properties.templateDeploymentOptions.preflightOptions" options="preflight-options">
<item nullable="True" type="string">
<enum>
<item name="ContinueDeploymentOnFailure" value=""ContinueDeploymentOnFailure""/>
<item name="DefaultValidationOnly" value=""DefaultValidationOnly""/>
<item name="None" value=""None""/>
</enum>
</item>
</arg>
<arg nullable="True" type="boolean" var="$properties.properties.templateDeploymentOptions.preflightSupported" options="preflight-supported"/>
</arg>
<arg nullable="True" type="@TokenAuthConfiguration_update" var="$properties.properties.tokenAuthConfiguration" options="token-auth-configuration" group="Properties"/>
</argGroup>
<operation operationId="ProviderRegistrations_Get">
<http path="/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}">
<request method="get">
<path>
<param type="string" name="providerNamespace" arg="$Path.providerNamespace" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True">
<format minLength="1"/>
</param>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2025-03-01-preview""/>
<format minLength="1"/>
</const>
</query>
</request>
<response statusCode="200">
<body>
<json var="$Instance">
<schema type="object" cls="ProviderRegistration_read">
<prop readOnly="True" type="ResourceId" name="id">
<format template="/subscriptions/{}/providers/Microsoft.ProviderHub/providerRegistrations/{}"/>
</prop>
<prop type="string" name="kind">
<default value=""Managed""/>
<enum>
<item value=""Direct""/>
<item value=""Hybrid""/>
<item value=""Managed""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties">
<prop type="array<object>" name="capabilities" identifiers="quotaId">
<item type="object">
<prop type="string" name="effect" required="True">
<enum>
<item value=""Allow""/>
<item value=""Disallow""/>
<item value=""NotSpecified""/>
</enum>
</prop>
<prop type="string" name="quotaId" required="True"/>
<prop type="array<string>" name="requiredFeatures">
<item type="string"/>
</prop>
</item>
</prop>
<prop type="string" name="crossTenantTokenValidation">
<enum>
<item value=""EnsureSecureValidation""/>
<item value=""PassthroughInsecureToken""/>
</enum>
</prop>
<prop type="string" name="customManifestVersion"/>
<prop type="object" name="dstsConfiguration">
<prop type="string" name="serviceDnsName"/>
<prop type="string" name="serviceName" required="True"/>
</prop>
<prop type="boolean" name="enablePresetResourceTypes"/>
<prop nullable="True" type="boolean" name="enableTenantLinkedNotification"/>
<prop type="object" name="featuresRule">
<prop type="string" name="requiredFeaturesPolicy" required="True">
<enum>
<item value=""All""/>
<item value=""Any""/>
</enum>
</prop>
</prop>
<prop type="array<object>" name="globalNotificationEndpoints">
<item type="object" cls="ResourceProviderEndpoint_read">
<prop type="array<string>" name="apiVersions">
<item type="string"/>
</prop>
<prop type="boolean" name="enabled"/>
<prop type="string" name="endpointType">
<enum>
<item value=""Canary""/>
<item value=""NotSpecified""/>
<item value=""Production""/>
<item value=""TestInProduction""/>
</enum>
</prop>
<prop type="string" name="endpointUri"/>
<prop type="object" name="featuresRule">
<prop type="string" name="requiredFeaturesPolicy" required="True">
<enum>
<item value=""All""/>
<item value=""Any""/>
</enum>
</prop>
</prop>
<prop type="array<string>" name="locations">
<item type="string"/>
</prop>
<prop type="array<string>" name="requiredFeatures">
<item type="string"/>
</prop>
<prop type="string" name="skuLink"/>
<prop type="duration" name="timeout"/>
</item>
</prop>
<prop type="string" name="legacyNamespace"/>
<prop type="array<string>" name="legacyRegistrations">
<item type="string"/>
</prop>
<prop type="array<object>" name="linkedNotificationRules">
<item type="object">
<prop type="array<string>" name="actions">
<item type="string"/>
</prop>
<prop type="object" name="dstsConfiguration">
<prop type="string" name="serviceDnsName"/>
<prop type="string" name="serviceName" required="True"/>
</prop>
<prop type="array<@ResourceProviderEndpoint_read>" name="endpoints">
<item type="@ResourceProviderEndpoint_read"/>
</prop>
<prop type="object" name="tokenAuthConfiguration" cls="TokenAuthConfiguration_read">
<prop type="string" name="authenticationScheme">
<enum>
<item value=""Bearer""/>
<item value=""PoP""/>
</enum>
</prop>
<prop type="boolean" name="disableCertificateAuthenticationFallback"/>
<prop type="string" name="signedRequestScope">
<enum>
<item value=""Endpoint""/>
<item value=""ResourceUri""/>
</enum>
</prop>
</prop>
</item>
</prop>
<prop type="object" name="management">
<prop type="array<string>" name="authorizationOwners">
<item type="string"/>
</prop>
<prop type="array<string>" name="canaryManifestOwners">
<item type="string"/>
</prop>
<prop type="object" name="errorResponseMessageOptions">
<prop type="string" name="serverFailureResponseMessageType">
<enum>
<item value=""NotSpecified""/>
<item value=""OutageReporting""/>
</enum>
</prop>
</prop>
<prop type="object" name="expeditedRolloutMetadata">
<prop type="boolean" name="enabled"/>
<prop type="string" name="expeditedRolloutIntent">
<enum>
<item value=""Hotfix""/>
<item value=""NotSpecified""/>
</enum>
</prop>
</prop>
<prop type="array<string>" name="expeditedRolloutSubmitters">
<item type="string"/>
</prop>
<prop type="string" name="incidentContactEmail"/>
<prop type="string" name="incidentRoutingService"/>
<prop type="string" name="incidentRoutingTeam"/>
<prop type="array<string>" name="manifestOwners">
<item type="string"/>
</prop>
<prop type="string" name="pcCode"/>
<prop type="string" name="profitCenterProgramId"/>
<prop type="string" name="resourceAccessPolicy">
<enum>
<item value=""AcisActionAllowed""/>
<item value=""AcisReadAllowed""/>
<item value=""NotSpecified""/>
</enum>
</prop>
<prop type="array<object>" name="resourceAccessRoles">
<item type="object">
<prop type="array<string>" name="actions">
<item type="string"/>
</prop>
<prop type="array<string>" name="allowedGroupClaims">
<item type="string"/>
</prop>
</item>
</prop>
<prop type="array<string>" name="schemaOwners">
<item type="string"/>
</prop>
<prop type="array<object>" name="serviceTreeInfos">
<item type="object">
<prop type="string" name="componentId"/>
<prop type="string" name="readiness">
<enum>
<item value=""ClosingDown""/>
<item value=""Deprecated""/>
<item value=""GA""/>
<item value=""InDevelopment""/>
<item value=""InternalOnly""/>
<item value=""PrivatePreview""/>
<item value=""PublicPreview""/>
<item value=""RemovedFromARM""/>
<item value=""Retired""/>
</enum>
</prop>
<prop type="string" name="serviceId"/>
</item>
</prop>
</prop>
<prop type="array<@ResourceProviderEndpoint_read>" name="managementGroupGlobalNotificationEndpoints">
<item type="@ResourceProviderEndpoint_read"/>
</prop>
<prop type="object" name="metadata">
<additionalProp anyType="True"/>
</prop>
<prop type="string" name="namespace"/>
<prop type="string" name="notificationOptions">
<enum>
<item value=""EmitSpendingLimit""/>
<item value=""None""/>
<item value=""NotSpecified""/>
</enum>
</prop>
<prop type="object" name="notificationSettings">
<prop type="array<object>" name="subscriberSettings">
<item type="object">
<prop type="array<object>" name="filterRules">
<item type="object">
<prop type="array<object>" name="endpointInformation">
<item type="object">
<prop type="string" name="endpoint"/>
<prop type="string" name="endpointType">
<enum>
<item value=""Eventhub""/>
<item value=""Webhook""/>
</enum>
</prop>
<prop type="string" name="schemaVersion"/>
</item>
</prop>
<prop type="string" name="filterQuery"/>
</item>
</prop>
</item>
</prop>
</prop>
<prop type="array<object>" name="notifications">
<item type="object">
<prop type="string" name="notificationType">
<enum>
<item value=""SubscriptionNotification""/>
<item value=""Unspecified""/>
</enum>
</prop>
<prop type="string" name="skipNotifications">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
<item value=""Unspecified""/>
</enum>
</prop>
</item>
</prop>
<prop type="string" name="oboSubscriptionId"/>
<prop type="array<string>" name="optionalFeatures">
<item type="string"/>
</prop>
<prop type="object" name="privateResourceProviderConfiguration">
<prop type="array<string>" name="allowedSubscriptions">
<item type="string"/>
</prop>
</prop>
<prop type="object" name="providerAuthentication">
<prop type="array<string>" name="allowedAudiences" required="True">
<item type="string"/>
</prop>
</prop>
<prop type="array<object>" name="providerAuthorizations">
<item type="object" cls="ResourceProviderAuthorization_read">
<prop type="array<object>" name="allowedThirdPartyExtensions" identifiers="name">
<item type="object">
<prop type="string" name="name"/>
</item>
</prop>
<prop type="string" name="applicationId"/>
<prop type="string" name="groupingTag"/>
<prop type="object" name="managedByAuthorization">
<prop type="array<object>" name="additionalAuthorizations" identifiers="roleDefinitionId applicationId">
<item type="object">
<prop type="string" name="applicationId"/>
<prop type="string" name="roleDefinitionId"/>
</item>
</prop>
<prop type="boolean" name="allowManagedByInheritance"/>
<prop type="string" name="managedByResourceRoleDefinitionId"/>
</prop>
<prop type="string" name="managedByRoleDefinitionId"/>
<prop type="string" name="roleDefinitionId"/>
</item>
</prop>
<prop type="object" name="providerHubMetadata">
<prop type="string" name="directRpRoleDefinitionId"/>
<prop type="string" name="globalAsyncOperationResourceTypeName"/>
<prop type="object" name="providerAuthentication">
<prop type="array<string>" name="allowedAudiences" required="True">
<item type="string"/>
</prop>
</prop>
<prop type="array<@ResourceProviderAuthorization_read>" name="providerAuthorizations">
<item type="@ResourceProviderAuthorization_read"/>
</prop>
<prop type="string" name="regionalAsyncOperationResourceTypeName"/>
<prop type="object" name="thirdPartyProviderAuthorization">
<prop type="array<object>" name="authorizations">
<item type="object">
<prop type="string" name="principalId" required="True"/>
<prop type="string" name="roleDefinitionId" required="True"/>
</item>
</prop>
<prop type="string" name="managedByTenantId"/>
</prop>
</prop>
<prop type="string" name="providerType">
<enum>
<item value=""AuthorizationFree""/>
<item value=""Decommissioned""/>
<item value=""External""/>
<item value=""Hidden""/>
<item value=""Internal""/>
<item value=""LegacyRegistrationRequired""/>
<item value=""NotSpecified""/>
<item value=""RegistrationFree""/>
<item value=""TenantOnly""/>
</enum>
</prop>
<prop type="string" name="providerVersion"/>
<prop readOnly="True" type="string" name="provisioningState">
<enum>
<item value=""Accepted""/>
<item value=""Canceled""/>
<item value=""Created""/>
<item value=""Creating""/>
<item value=""Deleted""/>
<item value=""Deleting""/>
<item value=""Failed""/>
<item value=""MovingResources""/>
<item value=""NotSpecified""/>
<item value=""RolloutInProgress""/>
<item value=""Running""/>
<item value=""Succeeded""/>
<item value=""TransientFailure""/>
</enum>
</prop>
<prop type="object" name="requestHeaderOptions">
<prop type="string" name="optInHeaders">
<enum>
<item value=""ClientGroupMembership""/>
<item value=""ClientPrincipalNameEncoded""/>
<item value=""MSIResourceIdEncoded""/>
<item value=""ManagementGroupAncestorsEncoded""/>
<item value=""NotSpecified""/>
<item value=""PrivateLinkId""/>
<item value=""PrivateLinkResourceId""/>
<item value=""PrivateLinkVnetTrafficTag""/>
<item value=""ResourceGroupLocation""/>
<item value=""SignedAuxiliaryTokens""/>
<item value=""SignedUserToken""/>
<item value=""UnboundedClientGroupMembership""/>
</enum>
</prop>
<prop type="string" name="optOutHeaders">
<enum>
<item value=""NotSpecified""/>
<item value=""SystemDataCreatedByLastModifiedBy""/>
</enum>
</prop>
</prop>
<prop type="array<string>" name="requiredFeatures">
<item type="string"/>
</prop>
<prop type="object" name="resourceGroupLockOptionDuringMove">
<prop type="string" name="blockActionVerb">
<enum>
<item value=""Action""/>
<item value=""Delete""/>
<item value=""NotSpecified""/>
<item value=""Read""/>
<item value=""Unrecognized""/>
<item value=""Write""/>
</enum>
</prop>
</prop>
<prop type="array<object>" name="resourceHydrationAccounts">
<item type="object">
<prop type="string" name="accountName"/>
<prop type="string" name="encryptedKey"/>
<prop type="integer64" name="maxChildResourceConsistencyJobLimit"/>
<prop type="string" name="subscriptionId"/>
</item>
</prop>
<prop type="object" name="resourceProviderAuthorizationRules">
<prop type="object" name="asyncOperationPollingRules">
<prop type="string" name="additionalOptions">
<enum>
<item value=""ProtectedAsyncOperationPolling""/>
<item value=""ProtectedAsyncOperationPollingAuditOnly""/>
</enum>
</prop>
<prop type="array<string>" name="authorizationActions">
<item type="string"/>
</prop>
</prop>
</prop>
<prop type="object" name="responseOptions">
<prop type="string" name="serviceClientOptionsType">
<enum>
<item value=""DisableAutomaticDecompression""/>
<item value=""NotSpecified""/>
</enum>
</prop>
</prop>
<prop type="string" name="serviceName"/>
<prop type="array<object>" name="services">
<item type="object">
<prop type="string" name="serviceName"/>
<prop type="string" name="status">
<enum>
<item value=""Active""/>
<item value=""Inactive""/>
</enum>
</prop>
</item>
</prop>
<prop type="object" name="subscriptionLifecycleNotificationSpecifications">
<prop type="duration" name="softDeleteTTL"/>
<prop type="array<object>" name="subscriptionStateOverrideActions">
<item type="object">
<prop type="string" name="action" required="True">
<enum>
<item value=""BillingCancellation""/>
<item value=""DeleteAllResources""/>
<item value=""NoOp""/>
<item value=""NotDefined""/>
<item value=""SoftDeleteAllResources""/>
<item value=""UndoSoftDelete""/>
</enum>
</prop>
<prop type="string" name="state" required="True">
<enum>
<item value=""Deleted""/>
<item value=""Registered""/>
<item value=""Suspended""/>
<item value=""SuspendedToDeleted""/>
<item value=""SuspendedToRegistered""/>
<item value=""SuspendedToUnregistered""/>
<item value=""SuspendedToWarned""/>
<item value=""Unregistered""/>
<item value=""Warned""/>
<item value=""WarnedToDeleted""/>
<item value=""WarnedToRegistered""/>
<item value=""WarnedToSuspended""/>
<item value=""WarnedToUnregistered""/>
</enum>
</prop>
</item>
</prop>
</prop>
<prop type="object" name="templateDeploymentOptions">
<prop type="array<string>" name="preflightOptions">
<item type="string">
<enum>
<item value=""ContinueDeploymentOnFailure""/>
<item value=""DefaultValidationOnly""/>
<item value=""None""/>
</enum>
</item>
</prop>
<prop type="boolean" name="preflightSupported"/>
</prop>
<prop type="@TokenAuthConfiguration_read" name="tokenAuthConfiguration"/>
</prop>
<prop readOnly="True" type="object" name="systemData">
<prop type="dateTime" name="createdAt"/>
<prop type="string" name="createdBy"/>
<prop type="string" name="createdByType">
<enum>
<item value=""Application""/>
<item value=""Key""/>
<item value=""ManagedIdentity""/>
<item value=""User""/>
</enum>
</prop>
<prop type="dateTime" name="lastModifiedAt"/>
<prop type="string" name="lastModifiedBy"/>
<prop type="string" name="lastModifiedByType">
<enum>
<item value=""Application""/>
<item value=""Key""/>
<item value=""ManagedIdentity""/>
<item value=""User""/>
</enum>
</prop>
</prop>
<prop readOnly="True" type="string" name="type"/>
</schema>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
<operation>
<instanceUpdate ref="$Instance">
<json>
<schema type="object" name="properties" required="True" clientFlatten="True">
<prop type="string" name="kind" arg="$properties.kind">
<default value=""Managed""/>
<enum>
<item value=""Direct""/>
<item value=""Hybrid""/>
<item value=""Managed""/>
</enum>
</prop>
<prop type="object" name="properties">
<prop type="array<object>" name="capabilities" arg="$properties.properties.capabilities" identifiers="quotaId">
<item type="object">
<prop type="string" name="effect" arg="$properties.properties.capabilities[].effect" required="True">
<enum>
<item value=""Allow""/>
<item value=""Disallow""/>
<item value=""NotSpecified""/>
</enum>
</prop>
<prop type="string" name="quotaId" arg="$properties.properties.capabilities[].quotaId" required="True"/>
<prop type="array<string>" name="requiredFeatures" arg="$properties.properties.capabilities[].requiredFeatures">
<item type="string"/>
</prop>
</item>
</prop>
<prop type="string" name="crossTenantTokenValidation" arg="$properties.properties.crossTenantTokenValidation">
<enum>
<item value=""EnsureSecureValidation""/>
<item value=""PassthroughInsecureToken""/>
</enum>
</prop>
<prop type="string" name="customManifestVersion" arg="$properties.properties.customManifestVersion"/>
<prop type="object" name="dstsConfiguration" arg="$properties.properties.dstsConfiguration">
<prop type="string" name="serviceDnsName" arg="$properties.properties.dstsConfiguration.serviceDnsName"/>
<prop type="string" name="serviceName" arg="$properties.properties.dstsConfiguration.serviceName" required="True"/>
</prop>
<prop type="boolean" name="enablePresetResourceTypes" arg="$properties.properties.enablePresetResourceTypes"/>
<prop nullable="True" type="boolean" name="enableTenantLinkedNotification" arg="$properties.properties.enableTenantLinkedNotification"/>
<prop type="object" name="featuresRule" arg="$properties.properties.featuresRule">
<prop type="string" name="requiredFeaturesPolicy" arg="$properties.properties.featuresRule.requiredFeaturesPolicy" required="True">
<enum>
<item value=""All""/>
<item value=""Any""/>
</enum>
</prop>
</prop>
<prop type="array<object>" name="globalNotificationEndpoints" arg="$properties.properties.globalNotificationEndpoints">
<item type="object" cls="ResourceProviderEndpoint_update">
<prop type="array<string>" name="apiVersions" arg="@ResourceProviderEndpoint_update.apiVersions">
<item type="string"/>
</prop>
<prop type="boolean" name="enabled" arg="@ResourceProviderEndpoint_update.enabled"/>
<prop type="string" name="endpointType" arg="@ResourceProviderEndpoint_update.endpointType">
<enum>
<item value=""Canary""/>
<item value=""NotSpecified""/>
<item value=""Production""/>
<item value=""TestInProduction""/>
</enum>
</prop>
<prop type="string" name="endpointUri" arg="@ResourceProviderEndpoint_update.endpointUri"/>
<prop type="object" name="featuresRule" arg="@ResourceProviderEndpoint_update.featuresRule">
<prop type="string" name="requiredFeaturesPolicy" arg="@ResourceProviderEndpoint_update.featuresRule.requiredFeaturesPolicy" required="True">
<enum>
<item value=""All""/>
<item value=""Any""/>
</enum>
</prop>
</prop>
<prop type="array<string>" name="locations" arg="@ResourceProviderEndpoint_update.locations">
<item type="string"/>
</prop>
<prop type="array<string>" name="requiredFeatures" arg="@ResourceProviderEndpoint_update.requiredFeatures">
<item type="string"/>
</prop>
<prop type="string" name="skuLink" arg="@ResourceProviderEndpoint_update.skuLink"/>
<prop type="duration" name="timeout" arg="@ResourceProviderEndpoint_update.timeout"/>
</item>
</prop>
<prop type="string" name="legacyNamespace" arg="$properties.properties.legacyNamespace"/>
<prop type="array<string>" name="legacyRegistrations" arg="$properties.properties.legacyRegistrations">
<item type="string"/>
</prop>
<prop type="array<object>" name="linkedNotificationRules" arg="$properties.properties.linkedNotificationRules">
<item type="object">
<prop type="array<string>" name="actions" arg="$properties.properties.linkedNotificationRules[].actions">
<item type="string"/>
</prop>
<prop type="object" name="dstsConfiguration" arg="$properties.properties.linkedNotificationRules[].dstsConfiguration">
<prop type="string" name="serviceDnsName" arg="$properties.properties.linkedNotificationRules[].dstsConfiguration.serviceDnsName"/>
<prop type="string" name="serviceName" arg="$properties.properties.linkedNotificationRules[].dstsConfiguration.serviceName" required="True"/>
</prop>
<prop type="array<@ResourceProviderEndpoint_update>" name="endpoints" arg="$properties.properties.linkedNotificationRules[].endpoints">
<item type="@ResourceProviderEndpoint_update"/>
</prop>
<prop type="object" name="tokenAuthConfiguration" arg="$properties.properties.linkedNotificationRules[].tokenAuthConfiguration" cls="TokenAuthConfiguration_update">
<prop type="string" name="authenticationScheme" arg="@TokenAuthConfiguration_update.authenticationScheme">
<enum>
<item value=""Bearer""/>
<item value=""PoP""/>
</enum>
</prop>
<prop type="boolean" name="disableCertificateAuthenticationFallback" arg="@TokenAuthConfiguration_update.disableCertificateAuthenticationFallback"/>
<prop type="string" name="signedRequestScope" arg="@TokenAuthConfiguration_update.signedRequestScope">
<enum>
<item value=""Endpoint""/>
<item value=""ResourceUri""/>
</enum>
</prop>
</prop>
</item>
</prop>
<prop type="object" name="management" arg="$properties.properties.management">
<prop type="array<string>" name="authorizationOwners" arg="$properties.properties.management.authorizationOwners">
<item type="string"/>
</prop>
<prop type="array<string>" name="canaryManifestOwners" arg="$properties.properties.management.canaryManifestOwners">
<item type="string"/>
</prop>
<prop type="object" name="errorResponseMessageOptions" arg="$properties.properties.management.errorResponseMessageOptions">
<prop type="string" name="serverFailureResponseMessageType" arg="$properties.properties.management.errorResponseMessageOptions.serverFailureResponseMessageType">
<enum>
<item value=""NotSpecified""/>
<item value=""OutageReporting""/>
</enum>
</prop>
</prop>
<prop type="object" name="expeditedRolloutMetadata" arg="$properties.properties.management.expeditedRolloutMetadata">
<prop type="boolean" name="enabled" arg="$properties.properties.management.expeditedRolloutMetadata.enabled"/>
<prop type="string" name="expeditedRolloutIntent" arg="$properties.properties.management.expeditedRolloutMetadata.expeditedRolloutIntent">
<enum>
<item value=""Hotfix""/>
<item value=""NotSpecified""/>
</enum>
</prop>
</prop>
<prop type="array<string>" name="expeditedRolloutSubmitters" arg="$properties.properties.management.expeditedRolloutSubmitters">
<item type="string"/>
</prop>
<prop type="string" name="incidentContactEmail" arg="$properties.properties.management.incidentContactEmail"/>
<prop type="string" name="incidentRoutingService" arg="$properties.properties.management.incidentRoutingService"/>
<prop type="string" name="incidentRoutingTeam" arg="$properties.properties.management.incidentRoutingTeam"/>
<prop type="array<string>" name="manifestOwners" arg="$properties.properties.management.manifestOwners">
<item type="string"/>
</prop>
<prop type="string" name="pcCode" arg="$properties.properties.management.pcCode"/>
<prop type="string" name="profitCenterProgramId" arg="$properties.properties.management.profitCenterProgramId"/>
<prop type="string" name="resourceAccessPolicy" arg="$properties.properties.management.resourceAccessPolicy">
<enum>
<item value=""AcisActionAllowed""/>
<item value=""AcisReadAllowed""/>
<item value=""NotSpecified""/>
</enum>
</prop>
<prop type="array<object>" name="resourceAccessRoles" arg="$properties.properties.management.resourceAccessRoles">
<item type="object">
<prop type="array<string>" name="actions" arg="$properties.properties.management.resourceAccessRoles[].actions">
<item type="string"/>
</prop>
<prop type="array<string>" name="allowedGroupClaims" arg="$properties.properties.management.resourceAccessRoles[].allowedGroupClaims">
<item type="string"/>
</prop>
</item>
</prop>
<prop type="array<string>" name="schemaOwners" arg="$properties.properties.management.schemaOwners">
<item type="string"/>
</prop>
<prop type="array<object>" name="serviceTreeInfos" arg="$properties.properties.management.serviceTreeInfos">
<item type="object">
<prop type="string" name="componentId" arg="$properties.properties.management.serviceTreeInfos[].componentId"/>
<prop type="string" name="readiness" arg="$properties.properties.management.serviceTreeInfos[].readiness">
<enum>
<item value=""ClosingDown""/>
<item value=""Deprecated""/>
<item value=""GA""/>
<item value=""InDevelopment""/>
<item value=""InternalOnly""/>
<item value=""PrivatePreview""/>
<item value=""PublicPreview""/>
<item value=""RemovedFromARM""/>
<item value=""Retired""/>
</enum>
</prop>
<prop type="string" name="serviceId" arg="$properties.properties.management.serviceTreeInfos[].serviceId"/>
</item>
</prop>
</prop>
<prop type="array<@ResourceProviderEndpoint_update>" name="managementGroupGlobalNotificationEndpoints" arg="$properties.properties.managementGroupGlobalNotificationEndpoints">
<item type="@ResourceProviderEndpoint_update"/>
</prop>
<prop type="object" name="metadata" arg="$properties.properties.metadata">
<additionalProp anyType="True"/>
</prop>
<prop type="string" name="namespace" arg="$properties.properties.namespace"/>
<prop type="string" name="notificationOptions" arg="$properties.properties.notificationOptions">
<enum>
<item value=""EmitSpendingLimit""/>
<item value=""None""/>
<item value=""NotSpecified""/>
</enum>
</prop>
<prop type="object" name="notificationSettings" arg="$properties.properties.notificationSettings">
<prop type="array<object>" name="subscriberSettings" arg="$properties.properties.notificationSettings.subscriberSettings">
<item type="object">
<prop type="array<object>" name="filterRules" arg="$properties.properties.notificationSettings.subscriberSettings[].filterRules">
<item type="object">
<prop type="array<object>" name="endpointInformation" arg="$properties.properties.notificationSettings.subscriberSettings[].filterRules[].endpointInformation">
<item type="object">
<prop type="string" name="endpoint" arg="$properties.properties.notificationSettings.subscriberSettings[].filterRules[].endpointInformation[].endpoint"/>
<prop type="string" name="endpointType" arg="$properties.properties.notificationSettings.subscriberSettings[].filterRules[].endpointInformation[].endpointType">
<enum>
<item value=""Eventhub""/>
<item value=""Webhook""/>
</enum>
</prop>
<prop type="string" name="schemaVersion" arg="$properties.properties.notificationSettings.subscriberSettings[].filterRules[].endpointInformation[].schemaVersion"/>
</item>
</prop>
<prop type="string" name="filterQuery" arg="$properties.properties.notificationSettings.subscriberSettings[].filterRules[].filterQuery"/>
</item>
</prop>
</item>
</prop>
</prop>
<prop type="array<object>" name="notifications" arg="$properties.properties.notifications">
<item type="object">
<prop type="string" name="notificationType" arg="$properties.properties.notifications[].notificationType">
<enum>
<item value=""SubscriptionNotification""/>
<item value=""Unspecified""/>
</enum>
</prop>
<prop type="string" name="skipNotifications" arg="$properties.properties.notifications[].skipNotifications">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
<item value=""Unspecified""/>
</enum>
</prop>
</item>
</prop>
<prop type="string" name="oboSubscriptionId" arg="$properties.properties.oboSubscriptionId"/>
<prop type="array<string>" name="optionalFeatures" arg="$properties.properties.optionalFeatures">
<item type="string"/>
</prop>
<prop type="object" name="privateResourceProviderConfiguration" arg="$properties.properties.privateResourceProviderConfiguration">
<prop type="array<string>" name="allowedSubscriptions" arg="$properties.properties.privateResourceProviderConfiguration.allowedSubscriptions">
<item type="string"/>
</prop>
</prop>
<prop type="object" name="providerAuthentication" arg="$properties.properties.providerAuthentication">
<prop type="array<string>" name="allowedAudiences" arg="$properties.properties.providerAuthentication.allowedAudiences" required="True">
<item type="string"/>
</prop>
</prop>
<prop type="array<object>" name="providerAuthorizations" arg="$properties.properties.providerAuthorizations">
<item type="object" cls="ResourceProviderAuthorization_update">
<prop type="array<object>" name="allowedThirdPartyExtensions" arg="@ResourceProviderAuthorization_update.allowedThirdPartyExtensions" identifiers="name">
<item type="object">
<prop type="string" name="name" arg="@ResourceProviderAuthorization_update.allowedThirdPartyExtensions[].name"/>
</item>
</prop>
<prop type="string" name="applicationId" arg="@ResourceProviderAuthorization_update.applicationId"/>
<prop type="string" name="groupingTag" arg="@ResourceProviderAuthorization_update.groupingTag"/>
<prop type="object" name="managedByAuthorization" arg="@ResourceProviderAuthorization_update.managedByAuthorization">
<prop type="array<object>" name="additionalAuthorizations" arg="@ResourceProviderAuthorization_update.managedByAuthorization.additionalAuthorizations" identifiers="roleDefinitionId applicationId">
<item type="object">
<prop type="string" name="applicationId" arg="@ResourceProviderAuthorization_update.managedByAuthorization.additionalAuthorizations[].applicationId"/>
<prop type="string" name="roleDefinitionId" arg="@ResourceProviderAuthorization_update.managedByAuthorization.additionalAuthorizations[].roleDefinitionId"/>
</item>
</prop>
<prop type="boolean" name="allowManagedByInheritance" arg="@ResourceProviderAuthorization_update.managedByAuthorization.allowManagedByInheritance"/>
<prop type="string" name="managedByResourceRoleDefinitionId" arg="@ResourceProviderAuthorization_update.managedByAuthorization.managedByResourceRoleDefinitionId"/>
</prop>
<prop type="string" name="managedByRoleDefinitionId" arg="@ResourceProviderAuthorization_update.managedByRoleDefinitionId"/>
<prop type="string" name="roleDefinitionId" arg="@ResourceProviderAuthorization_update.roleDefinitionId"/>
</item>
</prop>
<prop type="object" name="providerHubMetadata" arg="$properties.properties.providerHubMetadata">
<prop type="string" name="directRpRoleDefinitionId" arg="$properties.properties.providerHubMetadata.directRpRoleDefinitionId"/>
<prop type="string" name="globalAsyncOperationResourceTypeName" arg="$properties.properties.providerHubMetadata.globalAsyncOperationResourceTypeName"/>
<prop type="object" name="providerAuthentication" arg="$properties.properties.providerHubMetadata.providerAuthentication">
<prop type="array<string>" name="allowedAudiences" arg="$properties.properties.providerHubMetadata.providerAuthentication.allowedAudiences" required="True">
<item type="string"/>
</prop>
</prop>
<prop type="array<@ResourceProviderAuthorization_update>" name="providerAuthorizations" arg="$properties.properties.providerHubMetadata.providerAuthorizations">
<item type="@ResourceProviderAuthorization_update"/>
</prop>
<prop type="string" name="regionalAsyncOperationResourceTypeName" arg="$properties.properties.providerHubMetadata.regionalAsyncOperationResourceTypeName"/>
<prop type="object" name="thirdPartyProviderAuthorization" arg="$properties.properties.providerHubMetadata.thirdPartyProviderAuthorization">
<prop type="array<object>" name="authorizations" arg="$properties.properties.providerHubMetadata.thirdPartyProviderAuthorization.authorizations">
<item type="object">
<prop type="string" name="principalId" arg="$properties.properties.providerHubMetadata.thirdPartyProviderAuthorization.authorizations[].principalId" required="True"/>
<prop type="string" name="roleDefinitionId" arg="$properties.properties.providerHubMetadata.thirdPartyProviderAuthorization.authorizations[].roleDefinitionId" required="True"/>
</item>
</prop>
<prop type="string" name="managedByTenantId" arg="$properties.properties.providerHubMetadata.thirdPartyProviderAuthorization.managedByTenantId"/>
</prop>
</prop>
<prop type="string" name="providerType" arg="$properties.properties.providerType">
<enum>
<item value=""AuthorizationFree""/>
<item value=""Decommissioned""/>
<item value=""External""/>
<item value=""Hidden""/>
<item value=""Internal""/>
<item value=""LegacyRegistrationRequired""/>
<item value=""NotSpecified""/>
<item value=""RegistrationFree""/>
<item value=""TenantOnly""/>
</enum>
</prop>
<prop type="string" name="providerVersion" arg="$properties.properties.providerVersion"/>
<prop type="object" name="requestHeaderOptions" arg="$properties.properties.requestHeaderOptions">
<prop type="string" name="optInHeaders" arg="$properties.properties.requestHeaderOptions.optInHeaders">
<enum>
<item value=""ClientGroupMembership""/>
<item value=""ClientPrincipalNameEncoded""/>
<item value=""MSIResourceIdEncoded""/>
<item value=""ManagementGroupAncestorsEncoded""/>
<item value=""NotSpecified""/>
<item value=""PrivateLinkId""/>
<item value=""PrivateLinkResourceId""/>
<item value=""PrivateLinkVnetTrafficTag""/>
<item value=""ResourceGroupLocation""/>
<item value=""SignedAuxiliaryTokens""/>
<item value=""SignedUserToken""/>
<item value=""UnboundedClientGroupMembership""/>
</enum>
</prop>
<prop type="string" name="optOutHeaders" arg="$properties.properties.requestHeaderOptions.optOutHeaders">
<enum>
<item value=""NotSpecified""/>
<item value=""SystemDataCreatedByLastModifiedBy""/>
</enum>
</prop>
</prop>
<prop type="array<string>" name="requiredFeatures" arg="$properties.properties.requiredFeatures">
<item type="string"/>
</prop>
<prop type="object" name="resourceGroupLockOptionDuringMove" arg="$properties.properties.resourceGroupLockOptionDuringMove">
<prop type="string" name="blockActionVerb" arg="$properties.properties.resourceGroupLockOptionDuringMove.blockActionVerb">
<enum>
<item value=""Action""/>
<item value=""Delete""/>
<item value=""NotSpecified""/>
<item value=""Read""/>
<item value=""Unrecognized""/>
<item value=""Write""/>
</enum>
</prop>
</prop>
<prop type="array<object>" name="resourceHydrationAccounts" arg="$properties.properties.resourceHydrationAccounts">
<item type="object">
<prop type="string" name="accountName" arg="$properties.properties.resourceHydrationAccounts[].accountName"/>
<prop type="string" name="encryptedKey" arg="$properties.properties.resourceHydrationAccounts[].encryptedKey"/>
<prop type="integer64" name="maxChildResourceConsistencyJobLimit" arg="$properties.properties.resourceHydrationAccounts[].maxChildResourceConsistencyJobLimit"/>
<prop type="string" name="subscriptionId" arg="$properties.properties.resourceHydrationAccounts[].subscriptionId"/>
</item>
</prop>
<prop type="object" name="resourceProviderAuthorizationRules" arg="$properties.properties.resourceProviderAuthorizationRules">
<prop type="object" name="asyncOperationPollingRules" arg="$properties.properties.resourceProviderAuthorizationRules.asyncOperationPollingRules">
<prop type="string" name="additionalOptions" arg="$properties.properties.resourceProviderAuthorizationRules.asyncOperationPollingRules.additionalOptions">
<enum>
<item value=""ProtectedAsyncOperationPolling""/>
<item value=""ProtectedAsyncOperationPollingAuditOnly""/>
</enum>
</prop>
<prop type="array<string>" name="authorizationActions" arg="$properties.properties.resourceProviderAuthorizationRules.asyncOperationPollingRules.authorizationActions">
<item type="string"/>
</prop>
</prop>
</prop>
<prop type="object" name="responseOptions" arg="$properties.properties.responseOptions">
<prop type="string" name="serviceClientOptionsType" arg="$properties.properties.responseOptions.serviceClientOptionsType">
<enum>
<item value=""DisableAutomaticDecompression""/>
<item value=""NotSpecified""/>
</enum>
</prop>
</prop>
<prop type="string" name="serviceName" arg="$properties.properties.serviceName"/>
<prop type="array<object>" name="services" arg="$properties.properties.services">
<item type="object">
<prop type="string" name="serviceName" arg="$properties.properties.services[].serviceName"/>
<prop type="string" name="status" arg="$properties.properties.services[].status">
<enum>
<item value=""Active""/>
<item value=""Inactive""/>
</enum>
</prop>
</item>
</prop>
<prop type="object" name="subscriptionLifecycleNotificationSpecifications" arg="$properties.properties.subscriptionLifecycleNotificationSpecifications">
<prop type="duration" name="softDeleteTTL" arg="$properties.properties.subscriptionLifecycleNotificationSpecifications.softDeleteTTL"/>
<prop type="array<object>" name="subscriptionStateOverrideActions" arg="$properties.properties.subscriptionLifecycleNotificationSpecifications.subscriptionStateOverrideActions">
<item type="object">
<prop type="string" name="action" arg="$properties.properties.subscriptionLifecycleNotificationSpecifications.subscriptionStateOverrideActions[].action" required="True">
<enum>
<item value=""BillingCancellation""/>
<item value=""DeleteAllResources""/>
<item value=""NoOp""/>
<item value=""NotDefined""/>
<item value=""SoftDeleteAllResources""/>
<item value=""UndoSoftDelete""/>
</enum>
</prop>
<prop type="string" name="state" arg="$properties.properties.subscriptionLifecycleNotificationSpecifications.subscriptionStateOverrideActions[].state" required="True">
<enum>
<item value=""Deleted""/>
<item value=""Registered""/>
<item value=""Suspended""/>
<item value=""SuspendedToDeleted""/>
<item value=""SuspendedToRegistered""/>
<item value=""SuspendedToUnregistered""/>
<item value=""SuspendedToWarned""/>
<item value=""Unregistered""/>
<item value=""Warned""/>
<item value=""WarnedToDeleted""/>
<item value=""WarnedToRegistered""/>
<item value=""WarnedToSuspended""/>
<item value=""WarnedToUnregistered""/>
</enum>
</prop>
</item>
</prop>
</prop>
<prop type="object" name="templateDeploymentOptions" arg="$properties.properties.templateDeploymentOptions">
<prop type="array<string>" name="preflightOptions" arg="$properties.properties.templateDeploymentOptions.preflightOptions">
<item type="string">
<enum>
<item value=""ContinueDeploymentOnFailure""/>
<item value=""DefaultValidationOnly""/>
<item value=""None""/>
</enum>
</item>
</prop>
<prop type="boolean" name="preflightSupported" arg="$properties.properties.templateDeploymentOptions.preflightSupported"/>
</prop>
<prop type="@TokenAuthConfiguration_update" name="tokenAuthConfiguration" arg="$properties.properties.tokenAuthConfiguration"/>
</prop>
</schema>
</json>
</instanceUpdate>
</operation>
<operation operationId="ProviderRegistrations_CreateOrUpdate">
<longRunning finalStateVia="azure-async-operation"/>
<http path="/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}">
<request method="put">
<path>
<param type="string" name="providerNamespace" arg="$Path.providerNamespace" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True">
<format minLength="1"/>
</param>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2025-03-01-preview""/>
<format minLength="1"/>
</const>
</query>
<body>
<json ref="$Instance"/>
</body>
</request>
<response statusCode="200 201">
<body>
<json var="$Instance">
<schema type="@ProviderRegistration_read"/>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
<output type="object" ref="$Instance" clientFlatten="True"/>
</command>
</commandGroup>
</CodeGen>