Resources/mgmt-plane/L3N1YnNjcmlwdGlvbnMve30vcHJvdmlkZXJzL21pY3Jvc29mdC5wcm92aWRlcmh1Yi9wcm92aWRlcnJlZ2lzdHJhdGlvbnMve30vcmVzb3VyY2V0eXBlcmVnaXN0cmF0aW9ucy97fQ==/2025-03-01-preview.xml (6,669 lines of code) (raw):
<?xml version='1.0' encoding='utf-8'?>
<CodeGen plane="mgmt-plane">
<resource id="/subscriptions/{}/providers/microsoft.providerhub/providerregistrations/{}/resourcetyperegistrations/{}" version="2025-03-01-preview" swagger="mgmt-plane/providerhub/ResourceProviders/Microsoft.ProviderHub/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9wcm92aWRlcnMvTWljcm9zb2Z0LlByb3ZpZGVySHViL3Byb3ZpZGVyUmVnaXN0cmF0aW9ucy97cHJvdmlkZXJOYW1lc3BhY2V9L3Jlc291cmNldHlwZVJlZ2lzdHJhdGlvbnMve3Jlc291cmNlVHlwZX0=/V/MjAyNS0wMy0wMS1wcmV2aWV3"/>
<commandGroup name="providerhub resource-type-registration">
<command name="show" version="2025-03-01-preview">
<resource id="/subscriptions/{}/providers/microsoft.providerhub/providerregistrations/{}/resourcetyperegistrations/{}" version="2025-03-01-preview" swagger="mgmt-plane/providerhub/ResourceProviders/Microsoft.ProviderHub/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9wcm92aWRlcnMvTWljcm9zb2Z0LlByb3ZpZGVySHViL3Byb3ZpZGVyUmVnaXN0cmF0aW9ucy97cHJvdmlkZXJOYW1lc3BhY2V9L3Jlc291cmNldHlwZVJlZ2lzdHJhdGlvbnMve3Jlc291cmNlVHlwZX0=/V/MjAyNS0wMy0wMS1wcmV2aWV3"/>
<argGroup name="">
<arg type="string" var="$Path.providerNamespace" options="provider-namespace" required="True" idPart="name">
<help short="The name of the resource provider hosted within ProviderHub."/>
</arg>
<arg type="string" var="$Path.resourceType" options="resource-type name n" required="True" idPart="child_name_1">
<help short="The resource type."/>
</arg>
<arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/>
</argGroup>
<operation operationId="ResourceTypeRegistrations_Get">
<http path="/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}">
<request method="get">
<path>
<param type="string" name="providerNamespace" arg="$Path.providerNamespace" required="True"/>
<param type="string" name="resourceType" arg="$Path.resourceType" 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/{}/resourcetypeRegistrations/{}"/>
</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="boolean" name="addResourceListTargetLocations"/>
<prop type="string" name="additionalOptions">
<enum>
<item value=""ProtectedAsyncOperationPolling""/>
<item value=""ProtectedAsyncOperationPollingAuditOnly""/>
</enum>
</prop>
<prop type="boolean" name="allowEmptyRoleAssignments"/>
<prop type="array<object>" name="allowedResourceNames" identifiers="getActionVerb name">
<item type="object">
<prop type="string" name="getActionVerb"/>
<prop type="string" name="name"/>
</item>
</prop>
<prop type="array<string>" name="allowedTemplateDeploymentReferenceActions">
<item type="string"/>
</prop>
<prop type="array<string>" name="allowedUnauthorizedActions">
<item type="string"/>
</prop>
<prop type="array<object>" name="allowedUnauthorizedActionsExtensions">
<item type="object">
<prop type="string" name="action"/>
<prop type="string" name="intent">
<enum>
<item value=""DEFERRED_ACCESS_CHECK""/>
<item value=""LOW_PRIVILEGE""/>
<item value=""NOT_SPECIFIED""/>
<item value=""RP_CONTRACT""/>
</enum>
</prop>
</item>
</prop>
<prop type="array<object>" name="apiProfiles" identifiers="profileVersion apiVersion">
<item type="object">
<prop type="string" name="apiVersion"/>
<prop type="string" name="profileVersion"/>
</item>
</prop>
<prop type="string" name="asyncOperationResourceTypeName"/>
<prop type="array<object>" name="asyncTimeoutRules">
<item type="object">
<prop type="string" name="actionName"/>
<prop type="string" name="timeout"/>
</item>
</prop>
<prop type="array<object>" name="authorizationActionMappings" identifiers="original">
<item type="object">
<prop type="string" name="desired"/>
<prop type="string" name="original"/>
</item>
</prop>
<prop type="object" name="availabilityZoneRule">
<prop type="string" name="availabilityZonePolicy">
<enum>
<item value=""MultiZoned""/>
<item value=""NotSpecified""/>
<item value=""SingleZoned""/>
</enum>
</prop>
</prop>
<prop type="object" name="capacityRule">
<prop type="string" name="capacityPolicy">
<enum>
<item value=""Default""/>
<item value=""Restricted""/>
</enum>
</prop>
<prop type="string" name="skuAlias"/>
</prop>
<prop type="string" name="category">
<enum>
<item value=""FreeForm""/>
<item value=""Internal""/>
<item value=""None""/>
<item value=""PureProxy""/>
</enum>
</prop>
<prop type="object" name="checkNameAvailabilitySpecifications">
<prop type="boolean" name="enableDefaultValidation"/>
<prop type="array<string>" name="resourceTypesWithCustomValidation">
<item type="string"/>
</prop>
</prop>
<prop type="array<string>" name="commonApiVersions">
<item type="string"/>
</prop>
<prop type="string" name="crossTenantTokenValidation">
<enum>
<item value=""EnsureSecureValidation""/>
<item value=""PassthroughInsecureToken""/>
</enum>
</prop>
<prop type="string" name="defaultApiVersion"/>
<prop type="array<string>" name="disallowedActionVerbs">
<item type="string"/>
</prop>
<prop type="array<string>" name="disallowedEndUserOperations">
<item type="string"/>
</prop>
<prop type="object" name="dstsConfiguration">
<prop type="string" name="serviceDnsName"/>
<prop type="string" name="serviceName" required="True"/>
</prop>
<prop type="boolean" name="enableAsyncOperation"/>
<prop type="boolean" name="enableThirdPartyS2S"/>
<prop type="array<object>" name="endpoints">
<item type="object">
<prop type="string" name="apiVersion"/>
<prop type="array<string>" name="apiVersions">
<item type="string"/>
</prop>
<prop type="string" name="dataBoundary">
<enum>
<item value=""EU""/>
<item value=""Global""/>
<item value=""NotDefined""/>
<item value=""US""/>
</enum>
</prop>
<prop type="object" name="dstsConfiguration">
<prop type="string" name="serviceDnsName"/>
<prop type="string" name="serviceName" required="True"/>
</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="array<object>" name="extensions" identifiers="endpointUri">
<item type="object">
<prop type="string" name="endpointUri"/>
<prop type="array<string>" name="extensionCategories">
<item type="string">
<enum>
<item value=""BestMatchOperationBegin""/>
<item value=""NotSpecified""/>
<item value=""ResourceCreationBegin""/>
<item value=""ResourceCreationCompleted""/>
<item value=""ResourceCreationValidate""/>
<item value=""ResourceDeletionBegin""/>
<item value=""ResourceDeletionCompleted""/>
<item value=""ResourceDeletionValidate""/>
<item value=""ResourceMoveBegin""/>
<item value=""ResourceMoveCompleted""/>
<item value=""ResourcePatchBegin""/>
<item value=""ResourcePatchCompleted""/>
<item value=""ResourcePatchValidate""/>
<item value=""ResourcePostAction""/>
<item value=""ResourceReadBegin""/>
<item value=""ResourceReadValidate""/>
<item value=""SubscriptionLifecycleNotification""/>
<item value=""SubscriptionLifecycleNotificationDeletion""/>
</enum>
</item>
</prop>
<prop type="duration" name="timeout"/>
</item>
</prop>
<prop type="object" name="featuresRule">
<prop type="string" name="requiredFeaturesPolicy" required="True">
<enum>
<item value=""All""/>
<item value=""Any""/>
</enum>
</prop>
</prop>
<prop type="string" name="kind">
<default value=""Managed""/>
<enum>
<item value=""Direct""/>
<item value=""Managed""/>
</enum>
</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"/>
<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>
<prop type="array<string>" name="zones">
<item type="string"/>
</prop>
</item>
</prop>
<prop type="array<object>" name="extendedLocations">
<item type="object">
<prop type="string" name="supportedPolicy"/>
<prop type="string" name="type"/>
</item>
</prop>
<prop type="object" name="extensionOptions">
<prop type="object" name="resourceCreationBegin">
<prop type="array<string>" name="request">
<item type="string">
<enum>
<item value=""DoNotMergeExistingReadOnlyAndSecretProperties""/>
<item value=""IncludeInternalMetadata""/>
<item value=""NotSpecified""/>
</enum>
</item>
</prop>
<prop type="array<string>" name="response">
<item type="string">
<enum>
<item value=""DoNotMergeExistingReadOnlyAndSecretProperties""/>
<item value=""IncludeInternalMetadata""/>
<item value=""NotSpecified""/>
</enum>
</item>
</prop>
</prop>
</prop>
<prop type="object" name="featuresRule">
<prop type="string" name="requiredFeaturesPolicy" required="True">
<enum>
<item value=""All""/>
<item value=""Any""/>
</enum>
</prop>
</prop>
<prop type="string" name="frontdoorRequestMode">
<enum>
<item value=""NotSpecified""/>
<item value=""UseManifest""/>
</enum>
</prop>
<prop type="string" name="groupingTag"/>
<prop type="object" name="identityManagement">
<prop type="string" name="applicationId"/>
<prop type="array<string>" name="applicationIds">
<item type="string"/>
</prop>
<prop type="array<string>" name="delegationAppIds">
<item type="string"/>
</prop>
<prop type="string" name="type">
<enum>
<item value=""Actor""/>
<item value=""DelegatedResourceIdentity""/>
<item value=""NotSpecified""/>
<item value=""SystemAssigned""/>
<item value=""UserAssigned""/>
</enum>
</prop>
</prop>
<prop type="boolean" name="isPureProxy"/>
<prop type="string" name="legacyName"/>
<prop type="array<string>" name="legacyNames">
<item type="string"/>
</prop>
<prop type="object" name="legacyPolicy">
<prop type="array<object>" name="disallowedConditions">
<item type="object">
<prop type="array<string>" name="disallowedLegacyOperations">
<item type="string">
<enum>
<item value=""Action""/>
<item value=""AzureAsyncOperationWaiting""/>
<item value=""Create""/>
<item value=""Delete""/>
<item value=""DeploymentCleanup""/>
<item value=""EvaluateDeploymentOutput""/>
<item value=""NotSpecified""/>
<item value=""Read""/>
<item value=""ResourceCacheWaiting""/>
<item value=""Waiting""/>
</enum>
</item>
</prop>
<prop type="string" name="feature"/>
</item>
</prop>
<prop type="array<string>" name="disallowedLegacyOperations">
<item type="string">
<enum>
<item value=""Action""/>
<item value=""AzureAsyncOperationWaiting""/>
<item value=""Create""/>
<item value=""Delete""/>
<item value=""DeploymentCleanup""/>
<item value=""EvaluateDeploymentOutput""/>
<item value=""NotSpecified""/>
<item value=""Read""/>
<item value=""ResourceCacheWaiting""/>
<item value=""Waiting""/>
</enum>
</item>
</prop>
</prop>
<prop type="array<object>" name="linkedAccessChecks">
<item type="object">
<prop type="string" name="actionName"/>
<prop type="string" name="linkedAction"/>
<prop type="string" name="linkedActionVerb"/>
<prop type="string" name="linkedProperty"/>
<prop type="string" name="linkedType"/>
<prop readOnly="True" type="string" name="options">
<enum>
<item value=""IgnoreEmptyStringLinkedType""/>
<item value=""NotSpecified""/>
</enum>
</prop>
</item>
</prop>
<prop type="array<object>" name="linkedNotificationRules">
<item type="object">
<prop type="array<string>" name="actions">
<item type="string"/>
</prop>
<prop type="array<string>" name="actionsOnFailedOperation">
<item type="string"/>
</prop>
<prop type="array<string>" name="fastPathActions">
<item type="string"/>
</prop>
<prop type="array<string>" name="fastPathActionsOnFailedOperation">
<item type="string"/>
</prop>
<prop type="duration" name="linkedNotificationTimeout"/>
</item>
</prop>
<prop type="array<object>" name="linkedOperationRules" identifiers="linkedOperation linkedAction">
<item type="object">
<prop type="array<string>" name="dependsOnTypes">
<item type="string"/>
</prop>
<prop type="string" name="linkedAction" required="True">
<enum>
<item value=""Blocked""/>
<item value=""Enabled""/>
<item value=""NotSpecified""/>
<item value=""Validate""/>
</enum>
</prop>
<prop type="string" name="linkedOperation" required="True">
<enum>
<item value=""CrossResourceGroupResourceMove""/>
<item value=""CrossSubscriptionResourceMove""/>
<item value=""None""/>
</enum>
</prop>
</item>
</prop>
<prop type="array<object>" name="loggingRules">
<item type="object">
<prop type="string" name="action" required="True"/>
<prop type="string" name="detailLevel" required="True">
<enum>
<item value=""Body""/>
<item value=""None""/>
</enum>
</prop>
<prop type="string" name="direction" required="True">
<enum>
<item value=""None""/>
<item value=""Request""/>
<item value=""Response""/>
</enum>
</prop>
<prop type="object" name="hiddenPropertyPaths">
<prop type="array<string>" name="hiddenPathsOnRequest">
<item type="string"/>
</prop>
<prop type="array<string>" name="hiddenPathsOnResponse">
<item type="string"/>
</prop>
</prop>
</item>
</prop>
<prop type="object" name="managedResourceGroupConfiguration">
<prop type="array<string>" name="applicationIds">
<item type="string"/>
</prop>
<prop type="object" name="denyAssignmentConfiguration">
<prop type="boolean" name="enabled"/>
<prop type="array<string>" name="notActions">
<item type="string"/>
</prop>
</prop>
<prop type="boolean" name="enabled"/>
<prop type="string" name="resourceGroupLocationOverride"/>
</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<@ServiceTreeInfo_read>" name="serviceTreeInfos">
<item type="@ServiceTreeInfo_read"/>
</prop>
</prop>
<prop type="string" name="manifestLink"/>
<prop type="object" name="marketplaceOptions">
<prop type="boolean" name="addOnPlanConversionAllowed"/>
</prop>
<prop type="string" name="marketplaceType">
<enum>
<item value=""AddOn""/>
<item value=""Bypass""/>
<item value=""NotSpecified""/>
<item value=""ProviderHub""/>
<item value=""Store""/>
</enum>
</prop>
<prop type="object" name="metadata">
<additionalProp>
<item type="object">
<additionalProp anyType="True"/>
</item>
</additionalProp>
</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="object" name="onBehalfOfTokens">
<prop type="string" name="actionName"/>
<prop type="string" name="lifeTime"/>
</prop>
<prop type="object" name="openApiConfiguration">
<prop type="object" name="validation">
<prop type="boolean" name="allowNoncompliantCollectionResponse"/>
</prop>
</prop>
<prop type="string" name="policyExecutionType">
<enum>
<item value=""BypassPolicies""/>
<item value=""ExecutePolicies""/>
<item value=""ExpectPartialPutRequests""/>
<item value=""NotSpecified""/>
</enum>
</prop>
<prop type="object" name="privateEndpointConfiguration">
<prop type="array<object>" name="groupConnectivityInformation" required="True">
<item type="object">
<prop type="string" name="groupId" required="True"/>
<prop type="string" name="redirectMapId"/>
<prop type="array<string>" name="requiredMembers" required="True">
<item type="string"/>
</prop>
<prop type="array<string>" name="requiredZoneNames" required="True">
<item type="string"/>
</prop>
</item>
</prop>
<prop type="string" name="minApiVersion" required="True"/>
</prop>
<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="quotaRule">
<prop type="array<object>" name="locationRules">
<item type="object">
<prop type="string" name="location"/>
<prop type="string" name="policy">
<enum>
<item value=""Default""/>
<item value=""None""/>
<item value=""Restricted""/>
</enum>
</prop>
<prop type="string" name="quotaId"/>
</item>
</prop>
<prop type="string" name="quotaPolicy">
<enum>
<item value=""Default""/>
<item value=""None""/>
<item value=""Restricted""/>
</enum>
</prop>
<prop type="array<string>" name="requiredFeatures">
<item type="string"/>
</prop>
</prop>
<prop type="string" name="regionality">
<enum>
<item value=""Global""/>
<item value=""NotSpecified""/>
<item value=""Regional""/>
</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="resourceCache">
<prop type="boolean" name="enableResourceCache"/>
<prop type="string" name="resourceCacheExpirationTimespan"/>
</prop>
<prop type="object" name="resourceConcurrencyControlOptions">
<additionalProp>
<item type="object">
<prop type="string" name="policy">
<enum>
<item value=""NotSpecified""/>
<item value=""SynchronizeBeginExtension""/>
</enum>
</prop>
</item>
</additionalProp>
</prop>
<prop type="string" name="resourceDeletionPolicy">
<enum>
<item value=""CascadeDeleteAll""/>
<item value=""CascadeDeleteProxyOnlyChildren""/>
<item value=""NotSpecified""/>
</enum>
</prop>
<prop type="object" name="resourceGraphConfiguration">
<prop type="string" name="apiVersion"/>
<prop type="boolean" name="enabled"/>
</prop>
<prop type="object" name="resourceManagementOptions">
<prop type="object" name="batchProvisioningSupport">
<prop type="array<object>" name="actionConfigurations">
<item type="object">
<prop type="string" name="authorizationAction"/>
<prop type="integer64" name="maxBatchSize"/>
</item>
</prop>
<prop type="string" name="batchContractVersion"/>
<prop type="integer64" name="maxBatchSize"/>
<prop type="integer64" name="maxNestedBatchSize"/>
<prop type="array<string>" name="requiredFeatures">
<item type="string"/>
</prop>
<prop type="string" name="supportedOperations">
<enum>
<item value=""Delete""/>
<item value=""Get""/>
<item value=""NotSpecified""/>
</enum>
</prop>
</prop>
<prop type="array<object>" name="deleteDependencies" identifiers="requiredFeatures linkedProperty linkedType">
<item type="object">
<prop type="string" name="linkedProperty"/>
<prop type="string" name="linkedType"/>
<prop type="array<string>" name="requiredFeatures">
<item type="string"/>
</prop>
</item>
</prop>
<prop type="object" name="nestedProvisioningSupport">
<prop type="string" name="minimumApiVersion"/>
</prop>
</prop>
<prop type="object" name="resourceMovePolicy">
<prop type="boolean" name="crossResourceGroupMoveEnabled"/>
<prop type="boolean" name="crossSubscriptionMoveEnabled"/>
<prop type="boolean" name="validationRequired"/>
</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="resourceQueryManagement">
<prop type="string" name="filterOption">
<enum>
<item value=""EnableSubscriptionFilterOnTenant""/>
<item value=""NotSpecified""/>
</enum>
</prop>
</prop>
<prop type="string" name="resourceSubType">
<enum>
<item value=""AsyncOperation""/>
<item value=""NotSpecified""/>
</enum>
</prop>
<prop type="object" name="resourceTypeCommonAttributeManagement">
<prop type="string" name="commonApiVersionsMergeMode">
<enum>
<item value=""Merge""/>
<item value=""Overwrite""/>
</enum>
</prop>
</prop>
<prop type="string" name="resourceValidation">
<enum>
<item value=""NotSpecified""/>
<item value=""ProfaneWords""/>
<item value=""ReservedWords""/>
</enum>
</prop>
<prop type="object" name="routingRule">
<prop type="string" name="hostResourceType"/>
</prop>
<prop type="string" name="routingType">
<enum>
<item value=""CascadeExtension""/>
<item value=""Default""/>
<item value=""Extension""/>
<item value=""Failover""/>
<item value=""Fanout""/>
<item value=""HostBased""/>
<item value=""LocationBased""/>
<item value=""ProxyOnly""/>
<item value=""Tenant""/>
</enum>
</prop>
<prop type="array<object>" name="serviceTreeInfos">
<item type="object" cls="ServiceTreeInfo_read">
<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 type="string" name="skuLink"/>
<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="array<object>" name="subscriptionStateRules">
<item type="object">
<prop type="array<string>" name="allowedActions">
<item type="string"/>
</prop>
<prop type="string" name="state">
<enum>
<item value=""Deleted""/>
<item value=""Disabled""/>
<item value=""Enabled""/>
<item value=""NotDefined""/>
<item value=""PastDue""/>
<item value=""Warned""/>
</enum>
</prop>
</item>
</prop>
<prop type="boolean" name="superScaleEnabled"/>
<prop type="boolean" name="supportsTags"/>
<prop type="array<object>" name="swaggerSpecifications" identifiers="swaggerSpecFolderUri">
<item type="object">
<prop type="array<string>" name="apiVersions">
<item type="string"/>
</prop>
<prop type="string" name="swaggerSpecFolderUri"/>
</item>
</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="object" name="templateDeploymentPolicy">
<prop type="string" name="capabilities" required="True">
<enum>
<item value=""Default""/>
<item value=""Preflight""/>
</enum>
</prop>
<prop type="string" name="preflightNotifications">
<enum>
<item value=""None""/>
<item value=""UnregisteredSubscriptions""/>
</enum>
</prop>
<prop type="string" name="preflightOptions" required="True">
<enum>
<item value=""DeploymentRequests""/>
<item value=""None""/>
<item value=""RegisteredOnly""/>
<item value=""TestOnly""/>
<item value=""ValidationRequests""/>
</enum>
</prop>
</prop>
<prop type="array<object>" name="throttlingRules">
<item type="object">
<prop type="string" name="action" required="True"/>
<prop type="array<string>" name="applicationId">
<item type="string"/>
</prop>
<prop type="array<object>" name="metrics" required="True">
<item type="object">
<prop type="string" name="bucketSize"/>
<prop type="duration" name="interval"/>
<prop type="integer64" name="limit" required="True"/>
<prop type="string" name="type" required="True">
<enum>
<item value=""NotSpecified""/>
<item value=""NumberOfRequests""/>
<item value=""NumberOfResources""/>
</enum>
</prop>
</item>
</prop>
<prop type="array<string>" name="requiredFeatures">
<item type="string"/>
</prop>
</item>
</prop>
<prop type="@TokenAuthConfiguration_read" name="tokenAuthConfiguration"/>
<prop type="object" name="writeLock">
<prop type="string" name="state">
<default value=""Disabled""/>
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
</prop>
</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/{}/resourcetyperegistrations/{}" version="2025-03-01-preview" swagger="mgmt-plane/providerhub/ResourceProviders/Microsoft.ProviderHub/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9wcm92aWRlcnMvTWljcm9zb2Z0LlByb3ZpZGVySHViL3Byb3ZpZGVyUmVnaXN0cmF0aW9ucy97cHJvdmlkZXJOYW1lc3BhY2V9L3Jlc291cmNldHlwZVJlZ2lzdHJhdGlvbnMve3Jlc291cmNlVHlwZX0=/V/MjAyNS0wMy0wMS1wcmV2aWV3"/>
<argGroup name="">
<arg type="string" var="$Path.providerNamespace" options="provider-namespace" required="True" idPart="name">
<help short="The name of the resource provider hosted within ProviderHub."/>
</arg>
<arg type="string" var="$Path.resourceType" options="resource-type name n" required="True" idPart="child_name_1">
<help short="The resource type."/>
</arg>
<arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/>
</argGroup>
<operation operationId="ResourceTypeRegistrations_Delete">
<longRunning finalStateVia="location"/>
<http path="/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}">
<request method="delete">
<path>
<param type="string" name="providerNamespace" arg="$Path.providerNamespace" required="True"/>
<param type="string" name="resourceType" arg="$Path.resourceType" 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">
<header>
<item name="Location"/>
</header>
</response>
<response statusCode="204"/>
<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/{}/resourcetyperegistrations/{}" version="2025-03-01-preview" swagger="mgmt-plane/providerhub/ResourceProviders/Microsoft.ProviderHub/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9wcm92aWRlcnMvTWljcm9zb2Z0LlByb3ZpZGVySHViL3Byb3ZpZGVyUmVnaXN0cmF0aW9ucy97cHJvdmlkZXJOYW1lc3BhY2V9L3Jlc291cmNldHlwZVJlZ2lzdHJhdGlvbnMve3Jlc291cmNlVHlwZX0=/V/MjAyNS0wMy0wMS1wcmV2aWV3"/>
<argGroup name="">
<arg type="string" var="$Path.providerNamespace" options="provider-namespace" required="True" idPart="name">
<help short="The name of the resource provider hosted within ProviderHub."/>
</arg>
<arg type="string" var="$Path.resourceType" options="resource-type name n" required="True" idPart="child_name_1">
<help short="The resource type."/>
</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="Resource type 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="boolean" var="$properties.properties.addResourceListTargetLocations" options="add-resource-list-target-locations" group="Properties">
<help short="Add resource list target locations?"/>
</arg>
<arg type="string" var="$properties.properties.additionalOptions" options="additional-options" group="Properties">
<enum>
<item name="ProtectedAsyncOperationPolling" value=""ProtectedAsyncOperationPolling""/>
<item name="ProtectedAsyncOperationPollingAuditOnly" value=""ProtectedAsyncOperationPollingAuditOnly""/>
</enum>
</arg>
<arg type="boolean" var="$properties.properties.allowEmptyRoleAssignments" options="allow-empty-role-assignments" group="Properties"/>
<arg type="array<object>" var="$properties.properties.allowedResourceNames" options="allowed-resource-names" group="Properties">
<item type="object">
<arg type="string" var="$properties.properties.allowedResourceNames[].getActionVerb" options="get-action-verb">
<help short="Get action verb."/>
</arg>
<arg type="string" var="$properties.properties.allowedResourceNames[].name" options="name">
<help short="Resource name."/>
</arg>
</item>
</arg>
<arg type="array<string>" var="$properties.properties.allowedTemplateDeploymentReferenceActions" options="allowed-template-deployment-reference-actions" group="Properties">
<help short="Allowed template deployment reference actions."/>
<item type="string"/>
</arg>
<arg type="array<string>" var="$properties.properties.allowedUnauthorizedActions" options="allowed-unauthorized-actions" group="Properties">
<item type="string"/>
</arg>
<arg type="array<object>" var="$properties.properties.allowedUnauthorizedActionsExtensions" options="allowed-unauthorized-actions-extensions" group="Properties">
<item type="object">
<arg type="string" var="$properties.properties.allowedUnauthorizedActionsExtensions[].action" options="action"/>
<arg type="string" var="$properties.properties.allowedUnauthorizedActionsExtensions[].intent" options="intent">
<enum>
<item name="DEFERRED_ACCESS_CHECK" value=""DEFERRED_ACCESS_CHECK""/>
<item name="LOW_PRIVILEGE" value=""LOW_PRIVILEGE""/>
<item name="NOT_SPECIFIED" value=""NOT_SPECIFIED""/>
<item name="RP_CONTRACT" value=""RP_CONTRACT""/>
</enum>
</arg>
</item>
</arg>
<arg type="array<object>" var="$properties.properties.apiProfiles" options="api-profiles" group="Properties">
<item type="object">
<arg type="string" var="$properties.properties.apiProfiles[].apiVersion" options="api-version">
<help short="Api version."/>
</arg>
<arg type="string" var="$properties.properties.apiProfiles[].profileVersion" options="profile-version">
<help short="Profile version."/>
</arg>
</item>
</arg>
<arg type="string" var="$properties.properties.asyncOperationResourceTypeName" options="async-operation-resource-type-name" group="Properties"/>
<arg type="array<object>" var="$properties.properties.asyncTimeoutRules" options="async-timeout-rules" group="Properties">
<help short="Async timeout rules"/>
<item type="object">
<arg type="string" var="$properties.properties.asyncTimeoutRules[].actionName" options="action-name"/>
<arg type="string" var="$properties.properties.asyncTimeoutRules[].timeout" options="timeout"/>
</item>
</arg>
<arg type="array<object>" var="$properties.properties.authorizationActionMappings" options="authorization-action-mappings" group="Properties">
<item type="object">
<arg type="string" var="$properties.properties.authorizationActionMappings[].desired" options="desired"/>
<arg type="string" var="$properties.properties.authorizationActionMappings[].original" options="original"/>
</item>
</arg>
<arg type="object" var="$properties.properties.availabilityZoneRule" options="availability-zone-rule" group="Properties">
<arg type="string" var="$properties.properties.availabilityZoneRule.availabilityZonePolicy" options="availability-zone-policy">
<enum>
<item name="MultiZoned" value=""MultiZoned""/>
<item name="NotSpecified" value=""NotSpecified""/>
<item name="SingleZoned" value=""SingleZoned""/>
</enum>
</arg>
</arg>
<arg type="object" var="$properties.properties.capacityRule" options="capacity-rule" group="Properties">
<help short="Capacity rule."/>
<arg type="string" var="$properties.properties.capacityRule.capacityPolicy" options="capacity-policy">
<help short="Capacity policy."/>
<enum>
<item name="Default" value=""Default""/>
<item name="Restricted" value=""Restricted""/>
</enum>
</arg>
<arg type="string" var="$properties.properties.capacityRule.skuAlias" options="sku-alias">
<help short="Sku alias"/>
</arg>
</arg>
<arg type="string" var="$properties.properties.category" options="category" group="Properties">
<enum>
<item name="FreeForm" value=""FreeForm""/>
<item name="Internal" value=""Internal""/>
<item name="None" value=""None""/>
<item name="PureProxy" value=""PureProxy""/>
</enum>
</arg>
<arg type="object" var="$properties.properties.checkNameAvailabilitySpecifications" options="check-name-availability-specifications" group="Properties">
<arg type="boolean" var="$properties.properties.checkNameAvailabilitySpecifications.enableDefaultValidation" options="enable-default-validation"/>
<arg type="array<string>" var="$properties.properties.checkNameAvailabilitySpecifications.resourceTypesWithCustomValidation" options="resource-types-with-custom-validation">
<item type="string"/>
</arg>
</arg>
<arg type="array<string>" var="$properties.properties.commonApiVersions" options="common-api-versions" group="Properties">
<help short="Common API versions for the resource type."/>
<item type="string"/>
</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.defaultApiVersion" options="default-api-version" group="Properties"/>
<arg type="array<string>" var="$properties.properties.disallowedActionVerbs" options="disallowed-action-verbs" group="Properties">
<item type="string"/>
</arg>
<arg type="array<string>" var="$properties.properties.disallowedEndUserOperations" options="disallowed-end-user-operations" group="Properties">
<item type="string"/>
</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.enableAsyncOperation" options="enable-async-operation" group="Properties"/>
<arg type="boolean" var="$properties.properties.enableThirdPartyS2S" options="enable-third-party-s2-s" group="Properties"/>
<arg type="array<object>" var="$properties.properties.endpoints" options="endpoints" group="Properties">
<item type="object">
<arg type="string" var="$properties.properties.endpoints[].apiVersion" options="api-version">
<help short="Api version."/>
</arg>
<arg type="array<string>" var="$properties.properties.endpoints[].apiVersions" options="api-versions">
<item type="string"/>
</arg>
<arg type="string" var="$properties.properties.endpoints[].dataBoundary" options="data-boundary">
<enum>
<item name="EU" value=""EU""/>
<item name="Global" value=""Global""/>
<item name="NotDefined" value=""NotDefined""/>
<item name="US" value=""US""/>
</enum>
</arg>
<arg type="object" var="$properties.properties.endpoints[].dstsConfiguration" options="dsts-configuration">
<arg type="string" var="$properties.properties.endpoints[].dstsConfiguration.serviceDnsName" options="service-dns-name"/>
<arg type="string" var="$properties.properties.endpoints[].dstsConfiguration.serviceName" options="service-name" required="True"/>
</arg>
<arg type="boolean" var="$properties.properties.endpoints[].enabled" options="enabled"/>
<arg type="string" var="$properties.properties.endpoints[].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="$properties.properties.endpoints[].endpointUri" options="endpoint-uri"/>
<arg type="array<object>" var="$properties.properties.endpoints[].extensions" options="extensions">
<item type="object">
<arg type="string" var="$properties.properties.endpoints[].extensions[].endpointUri" options="endpoint-uri"/>
<arg type="array<string>" var="$properties.properties.endpoints[].extensions[].extensionCategories" options="extension-categories">
<item type="string">
<enum>
<item name="BestMatchOperationBegin" value=""BestMatchOperationBegin""/>
<item name="NotSpecified" value=""NotSpecified""/>
<item name="ResourceCreationBegin" value=""ResourceCreationBegin""/>
<item name="ResourceCreationCompleted" value=""ResourceCreationCompleted""/>
<item name="ResourceCreationValidate" value=""ResourceCreationValidate""/>
<item name="ResourceDeletionBegin" value=""ResourceDeletionBegin""/>
<item name="ResourceDeletionCompleted" value=""ResourceDeletionCompleted""/>
<item name="ResourceDeletionValidate" value=""ResourceDeletionValidate""/>
<item name="ResourceMoveBegin" value=""ResourceMoveBegin""/>
<item name="ResourceMoveCompleted" value=""ResourceMoveCompleted""/>
<item name="ResourcePatchBegin" value=""ResourcePatchBegin""/>
<item name="ResourcePatchCompleted" value=""ResourcePatchCompleted""/>
<item name="ResourcePatchValidate" value=""ResourcePatchValidate""/>
<item name="ResourcePostAction" value=""ResourcePostAction""/>
<item name="ResourceReadBegin" value=""ResourceReadBegin""/>
<item name="ResourceReadValidate" value=""ResourceReadValidate""/>
<item name="SubscriptionLifecycleNotification" value=""SubscriptionLifecycleNotification""/>
<item name="SubscriptionLifecycleNotificationDeletion" value=""SubscriptionLifecycleNotificationDeletion""/>
</enum>
</item>
</arg>
<arg type="duration" var="$properties.properties.endpoints[].extensions[].timeout" options="timeout"/>
</item>
</arg>
<arg type="object" var="$properties.properties.endpoints[].featuresRule" options="features-rule">
<arg type="string" var="$properties.properties.endpoints[].featuresRule.requiredFeaturesPolicy" options="required-features-policy" required="True">
<enum>
<item name="All" value=""All""/>
<item name="Any" value=""Any""/>
</enum>
</arg>
</arg>
<arg type="string" var="$properties.properties.endpoints[].kind" options="kind">
<help short="Resource type endpoint 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="Managed" value=""Managed""/>
</enum>
</arg>
<arg type="array<string>" var="$properties.properties.endpoints[].locations" options="locations">
<item type="string"/>
</arg>
<arg type="array<string>" var="$properties.properties.endpoints[].requiredFeatures" options="required-features">
<item type="string"/>
</arg>
<arg type="string" var="$properties.properties.endpoints[].skuLink" options="sku-link"/>
<arg type="duration" var="$properties.properties.endpoints[].timeout" options="timeout"/>
<arg type="object" var="$properties.properties.endpoints[].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>
<arg type="array<string>" var="$properties.properties.endpoints[].zones" options="zones">
<help short="List of zones."/>
<item type="string"/>
</arg>
</item>
</arg>
<arg type="array<object>" var="$properties.properties.extendedLocations" options="extended-locations" group="Properties">
<item type="object">
<arg type="string" var="$properties.properties.extendedLocations[].supportedPolicy" options="supported-policy"/>
<arg type="string" var="$properties.properties.extendedLocations[].type" options="type"/>
</item>
</arg>
<arg type="object" var="$properties.properties.extensionOptions" options="extension-options" group="Properties">
<arg type="object" var="$properties.properties.extensionOptions.resourceCreationBegin" options="resource-creation-begin">
<arg type="array<string>" var="$properties.properties.extensionOptions.resourceCreationBegin.request" options="request">
<item type="string">
<enum>
<item name="DoNotMergeExistingReadOnlyAndSecretProperties" value=""DoNotMergeExistingReadOnlyAndSecretProperties""/>
<item name="IncludeInternalMetadata" value=""IncludeInternalMetadata""/>
<item name="NotSpecified" value=""NotSpecified""/>
</enum>
</item>
</arg>
<arg type="array<string>" var="$properties.properties.extensionOptions.resourceCreationBegin.response" options="response">
<item type="string">
<enum>
<item name="DoNotMergeExistingReadOnlyAndSecretProperties" value=""DoNotMergeExistingReadOnlyAndSecretProperties""/>
<item name="IncludeInternalMetadata" value=""IncludeInternalMetadata""/>
<item name="NotSpecified" value=""NotSpecified""/>
</enum>
</item>
</arg>
</arg>
</arg>
<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="string" var="$properties.properties.frontdoorRequestMode" options="frontdoor-request-mode" group="Properties">
<enum>
<item name="NotSpecified" value=""NotSpecified""/>
<item name="UseManifest" value=""UseManifest""/>
</enum>
</arg>
<arg type="string" var="$properties.properties.groupingTag" options="grouping-tag" group="Properties">
<help short="Grouping tag."/>
</arg>
<arg type="object" var="$properties.properties.identityManagement" options="identity-management" group="Properties">
<arg type="string" var="$properties.properties.identityManagement.applicationId" options="application-id"/>
<arg type="array<string>" var="$properties.properties.identityManagement.applicationIds" options="application-ids">
<item type="string"/>
</arg>
<arg type="array<string>" var="$properties.properties.identityManagement.delegationAppIds" options="delegation-app-ids">
<item type="string"/>
</arg>
<arg type="string" var="$properties.properties.identityManagement.type" options="type">
<enum>
<item name="Actor" value=""Actor""/>
<item name="DelegatedResourceIdentity" value=""DelegatedResourceIdentity""/>
<item name="NotSpecified" value=""NotSpecified""/>
<item name="SystemAssigned" value=""SystemAssigned""/>
<item name="UserAssigned" value=""UserAssigned""/>
</enum>
</arg>
</arg>
<arg type="boolean" var="$properties.properties.isPureProxy" options="is-pure-proxy" group="Properties"/>
<arg type="string" var="$properties.properties.legacyName" options="legacy-name" group="Properties"/>
<arg type="array<string>" var="$properties.properties.legacyNames" options="legacy-names" group="Properties">
<item type="string"/>
</arg>
<arg type="object" var="$properties.properties.legacyPolicy" options="legacy-policy" group="Properties">
<arg type="array<object>" var="$properties.properties.legacyPolicy.disallowedConditions" options="disallowed-conditions">
<item type="object">
<arg type="array<string>" var="$properties.properties.legacyPolicy.disallowedConditions[].disallowedLegacyOperations" options="disallowed-legacy-operations">
<item type="string">
<enum>
<item name="Action" value=""Action""/>
<item name="AzureAsyncOperationWaiting" value=""AzureAsyncOperationWaiting""/>
<item name="Create" value=""Create""/>
<item name="Delete" value=""Delete""/>
<item name="DeploymentCleanup" value=""DeploymentCleanup""/>
<item name="EvaluateDeploymentOutput" value=""EvaluateDeploymentOutput""/>
<item name="NotSpecified" value=""NotSpecified""/>
<item name="Read" value=""Read""/>
<item name="ResourceCacheWaiting" value=""ResourceCacheWaiting""/>
<item name="Waiting" value=""Waiting""/>
</enum>
</item>
</arg>
<arg type="string" var="$properties.properties.legacyPolicy.disallowedConditions[].feature" options="feature">
<help short="Feature string."/>
</arg>
</item>
</arg>
<arg type="array<string>" var="$properties.properties.legacyPolicy.disallowedLegacyOperations" options="disallowed-legacy-operations">
<item type="string">
<enum>
<item name="Action" value=""Action""/>
<item name="AzureAsyncOperationWaiting" value=""AzureAsyncOperationWaiting""/>
<item name="Create" value=""Create""/>
<item name="Delete" value=""Delete""/>
<item name="DeploymentCleanup" value=""DeploymentCleanup""/>
<item name="EvaluateDeploymentOutput" value=""EvaluateDeploymentOutput""/>
<item name="NotSpecified" value=""NotSpecified""/>
<item name="Read" value=""Read""/>
<item name="ResourceCacheWaiting" value=""ResourceCacheWaiting""/>
<item name="Waiting" value=""Waiting""/>
</enum>
</item>
</arg>
</arg>
<arg type="array<object>" var="$properties.properties.linkedAccessChecks" options="linked-access-checks" group="Properties">
<item type="object">
<arg type="string" var="$properties.properties.linkedAccessChecks[].actionName" options="action-name"/>
<arg type="string" var="$properties.properties.linkedAccessChecks[].linkedAction" options="linked-action"/>
<arg type="string" var="$properties.properties.linkedAccessChecks[].linkedActionVerb" options="linked-action-verb"/>
<arg type="string" var="$properties.properties.linkedAccessChecks[].linkedProperty" options="linked-property"/>
<arg type="string" var="$properties.properties.linkedAccessChecks[].linkedType" options="linked-type"/>
</item>
</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="array<string>" var="$properties.properties.linkedNotificationRules[].actionsOnFailedOperation" options="actions-on-failed-operation">
<item type="string"/>
</arg>
<arg type="array<string>" var="$properties.properties.linkedNotificationRules[].fastPathActions" options="fast-path-actions">
<item type="string"/>
</arg>
<arg type="array<string>" var="$properties.properties.linkedNotificationRules[].fastPathActionsOnFailedOperation" options="fast-path-actions-on-failed-operation">
<item type="string"/>
</arg>
<arg type="duration" var="$properties.properties.linkedNotificationRules[].linkedNotificationTimeout" options="linked-notification-timeout"/>
</item>
</arg>
<arg type="array<object>" var="$properties.properties.linkedOperationRules" options="linked-operation-rules" group="Properties">
<item type="object">
<arg type="array<string>" var="$properties.properties.linkedOperationRules[].dependsOnTypes" options="depends-on-types">
<help short="Depends on types."/>
<item type="string"/>
</arg>
<arg type="string" var="$properties.properties.linkedOperationRules[].linkedAction" options="linked-action" required="True">
<enum>
<item name="Blocked" value=""Blocked""/>
<item name="Enabled" value=""Enabled""/>
<item name="NotSpecified" value=""NotSpecified""/>
<item name="Validate" value=""Validate""/>
</enum>
</arg>
<arg type="string" var="$properties.properties.linkedOperationRules[].linkedOperation" options="linked-operation" required="True">
<enum>
<item name="CrossResourceGroupResourceMove" value=""CrossResourceGroupResourceMove""/>
<item name="CrossSubscriptionResourceMove" value=""CrossSubscriptionResourceMove""/>
<item name="None" value=""None""/>
</enum>
</arg>
</item>
</arg>
<arg type="array<object>" var="$properties.properties.loggingRules" options="logging-rules" group="Properties">
<item type="object">
<arg type="string" var="$properties.properties.loggingRules[].action" options="action" required="True"/>
<arg type="string" var="$properties.properties.loggingRules[].detailLevel" options="detail-level" required="True">
<enum>
<item name="Body" value=""Body""/>
<item name="None" value=""None""/>
</enum>
</arg>
<arg type="string" var="$properties.properties.loggingRules[].direction" options="direction" required="True">
<enum>
<item name="None" value=""None""/>
<item name="Request" value=""Request""/>
<item name="Response" value=""Response""/>
</enum>
</arg>
<arg type="object" var="$properties.properties.loggingRules[].hiddenPropertyPaths" options="hidden-property-paths">
<arg type="array<string>" var="$properties.properties.loggingRules[].hiddenPropertyPaths.hiddenPathsOnRequest" options="hidden-paths-on-request">
<item type="string"/>
</arg>
<arg type="array<string>" var="$properties.properties.loggingRules[].hiddenPropertyPaths.hiddenPathsOnResponse" options="hidden-paths-on-response">
<item type="string"/>
</arg>
</arg>
</item>
</arg>
<arg type="object" var="$properties.properties.managedResourceGroupConfiguration" options="managed-resource-group-configuration" group="Properties">
<arg type="array<string>" var="$properties.properties.managedResourceGroupConfiguration.applicationIds" options="application-ids">
<item type="string"/>
</arg>
<arg type="object" var="$properties.properties.managedResourceGroupConfiguration.denyAssignmentConfiguration" options="deny-assignment-configuration">
<arg type="boolean" var="$properties.properties.managedResourceGroupConfiguration.denyAssignmentConfiguration.enabled" options="enabled"/>
<arg type="array<string>" var="$properties.properties.managedResourceGroupConfiguration.denyAssignmentConfiguration.notActions" options="not-actions">
<item type="string"/>
</arg>
</arg>
<arg type="boolean" var="$properties.properties.managedResourceGroupConfiguration.enabled" options="enabled"/>
<arg type="string" var="$properties.properties.managedResourceGroupConfiguration.resourceGroupLocationOverride" options="resource-group-location-override"/>
</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<@ServiceTreeInfo_create>" var="$properties.properties.management.serviceTreeInfos" options="service-tree-infos">
<item type="@ServiceTreeInfo_create"/>
</arg>
</arg>
<arg type="string" var="$properties.properties.manifestLink" options="manifest-link" group="Properties">
<help short="Manifest link."/>
</arg>
<arg type="object" var="$properties.properties.marketplaceOptions" options="marketplace-options" group="Properties">
<help short="Marketplace options."/>
<arg type="boolean" var="$properties.properties.marketplaceOptions.addOnPlanConversionAllowed" options="add-on-plan-conversion-allowed">
<help short="Add-on plan conversion allowed."/>
</arg>
</arg>
<arg type="string" var="$properties.properties.marketplaceType" options="marketplace-type" group="Properties">
<enum>
<item name="AddOn" value=""AddOn""/>
<item name="Bypass" value=""Bypass""/>
<item name="NotSpecified" value=""NotSpecified""/>
<item name="ProviderHub" value=""ProviderHub""/>
<item name="Store" value=""Store""/>
</enum>
</arg>
<arg type="object" var="$properties.properties.metadata" options="metadata" group="Properties">
<additionalProp>
<item type="object">
<additionalProp anyType="True"/>
</item>
</additionalProp>
</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="object" var="$properties.properties.onBehalfOfTokens" options="on-behalf-of-tokens" group="Properties">
<arg type="string" var="$properties.properties.onBehalfOfTokens.actionName" options="action-name"/>
<arg type="string" var="$properties.properties.onBehalfOfTokens.lifeTime" options="life-time"/>
</arg>
<arg type="object" var="$properties.properties.openApiConfiguration" options="open-api-configuration" group="Properties">
<arg type="object" var="$properties.properties.openApiConfiguration.validation" options="validation">
<arg type="boolean" var="$properties.properties.openApiConfiguration.validation.allowNoncompliantCollectionResponse" options="allow-noncompliant-collection-response">
<help short="Indicates whether a non compliance response is allowed for a LIST call"/>
</arg>
</arg>
</arg>
<arg type="string" var="$properties.properties.policyExecutionType" options="policy-execution-type" group="Properties">
<enum>
<item name="BypassPolicies" value=""BypassPolicies""/>
<item name="ExecutePolicies" value=""ExecutePolicies""/>
<item name="ExpectPartialPutRequests" value=""ExpectPartialPutRequests""/>
<item name="NotSpecified" value=""NotSpecified""/>
</enum>
</arg>
<arg type="object" var="$properties.properties.privateEndpointConfiguration" options="private-endpoint-configuration" group="Properties">
<arg type="array<object>" var="$properties.properties.privateEndpointConfiguration.groupConnectivityInformation" options="group-connectivity-information" required="True">
<help short="The list of group connectivity information."/>
<item type="object">
<arg type="string" var="$properties.properties.privateEndpointConfiguration.groupConnectivityInformation[].groupId" options="group-id" required="True">
<help short="The group id."/>
</arg>
<arg type="string" var="$properties.properties.privateEndpointConfiguration.groupConnectivityInformation[].redirectMapId" options="redirect-map-id">
<help short="The redirect map id."/>
</arg>
<arg type="array<string>" var="$properties.properties.privateEndpointConfiguration.groupConnectivityInformation[].requiredMembers" options="required-members" required="True">
<help short="List of required members for the group id."/>
<item type="string"/>
</arg>
<arg type="array<string>" var="$properties.properties.privateEndpointConfiguration.groupConnectivityInformation[].requiredZoneNames" options="required-zone-names" required="True">
<help short="List of required zone names for the group id."/>
<item type="string"/>
</arg>
</item>
</arg>
<arg type="string" var="$properties.properties.privateEndpointConfiguration.minApiVersion" options="min-api-version" required="True">
<help short="The first api version that support private endpoint."/>
</arg>
</arg>
<arg type="object" var="$properties.properties.quotaRule" options="quota-rule" group="Properties">
<arg type="array<object>" var="$properties.properties.quotaRule.locationRules" options="location-rules">
<item type="object">
<arg type="string" var="$properties.properties.quotaRule.locationRules[].location" options="location"/>
<arg type="string" var="$properties.properties.quotaRule.locationRules[].policy" options="policy">
<help short="Quota policy."/>
<enum>
<item name="Default" value=""Default""/>
<item name="None" value=""None""/>
<item name="Restricted" value=""Restricted""/>
</enum>
</arg>
<arg type="string" var="$properties.properties.quotaRule.locationRules[].quotaId" options="quota-id"/>
</item>
</arg>
<arg type="string" var="$properties.properties.quotaRule.quotaPolicy" options="quota-policy">
<help short="Quota policy."/>
<enum>
<item name="Default" value=""Default""/>
<item name="None" value=""None""/>
<item name="Restricted" value=""Restricted""/>
</enum>
</arg>
<arg type="array<string>" var="$properties.properties.quotaRule.requiredFeatures" options="required-features">
<item type="string"/>
</arg>
</arg>
<arg type="string" var="$properties.properties.regionality" options="regionality" group="Properties">
<enum>
<item name="Global" value=""Global""/>
<item name="NotSpecified" value=""NotSpecified""/>
<item name="Regional" value=""Regional""/>
</enum>
</arg>
<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.resourceCache" options="resource-cache" group="Properties">
<help short="Resource cache options."/>
<arg type="boolean" var="$properties.properties.resourceCache.enableResourceCache" options="enable-resource-cache">
<help short="Enable resource cache."/>
</arg>
<arg type="string" var="$properties.properties.resourceCache.resourceCacheExpirationTimespan" options="resource-cache-expiration-timespan">
<help short="Resource cache expiration timespan."/>
</arg>
</arg>
<arg type="object" var="$properties.properties.resourceConcurrencyControlOptions" options="resource-concurrency-control-options" group="Properties">
<additionalProp>
<item type="object">
<arg type="string" var="$properties.properties.resourceConcurrencyControlOptions{}.policy" options="policy">
<enum>
<item name="NotSpecified" value=""NotSpecified""/>
<item name="SynchronizeBeginExtension" value=""SynchronizeBeginExtension""/>
</enum>
</arg>
</item>
</additionalProp>
</arg>
<arg type="string" var="$properties.properties.resourceDeletionPolicy" options="resource-deletion-policy" group="Properties">
<enum>
<item name="CascadeDeleteAll" value=""CascadeDeleteAll""/>
<item name="CascadeDeleteProxyOnlyChildren" value=""CascadeDeleteProxyOnlyChildren""/>
<item name="NotSpecified" value=""NotSpecified""/>
</enum>
</arg>
<arg type="object" var="$properties.properties.resourceGraphConfiguration" options="resource-graph-configuration" group="Properties">
<arg type="string" var="$properties.properties.resourceGraphConfiguration.apiVersion" options="api-version"/>
<arg type="boolean" var="$properties.properties.resourceGraphConfiguration.enabled" options="enabled"/>
</arg>
<arg type="object" var="$properties.properties.resourceManagementOptions" options="resource-management-options" group="Properties">
<help short="Resource management options."/>
<arg type="object" var="$properties.properties.resourceManagementOptions.batchProvisioningSupport" options="batch-provisioning-support">
<help short="Batch provisioning support."/>
<arg type="array<object>" var="$properties.properties.resourceManagementOptions.batchProvisioningSupport.actionConfigurations" options="action-configurations">
<help short="Action Configurations."/>
<item type="object">
<arg type="string" var="$properties.properties.resourceManagementOptions.batchProvisioningSupport.actionConfigurations[].authorizationAction" options="authorization-action">
<help short="Authorization action."/>
</arg>
<arg type="integer64" var="$properties.properties.resourceManagementOptions.batchProvisioningSupport.actionConfigurations[].maxBatchSize" options="max-batch-size"/>
</item>
</arg>
<arg type="string" var="$properties.properties.resourceManagementOptions.batchProvisioningSupport.batchContractVersion" options="batch-contract-version">
<help short="Batch contract version."/>
</arg>
<arg type="integer64" var="$properties.properties.resourceManagementOptions.batchProvisioningSupport.maxBatchSize" options="max-batch-size"/>
<arg type="integer64" var="$properties.properties.resourceManagementOptions.batchProvisioningSupport.maxNestedBatchSize" options="max-nested-batch-size"/>
<arg type="array<string>" var="$properties.properties.resourceManagementOptions.batchProvisioningSupport.requiredFeatures" options="required-features">
<item type="string"/>
</arg>
<arg type="string" var="$properties.properties.resourceManagementOptions.batchProvisioningSupport.supportedOperations" options="supported-operations">
<help short="Supported operations."/>
<enum>
<item name="Delete" value=""Delete""/>
<item name="Get" value=""Get""/>
<item name="NotSpecified" value=""NotSpecified""/>
</enum>
</arg>
</arg>
<arg type="array<object>" var="$properties.properties.resourceManagementOptions.deleteDependencies" options="delete-dependencies">
<help short="Delete dependencies."/>
<item type="object">
<arg type="string" var="$properties.properties.resourceManagementOptions.deleteDependencies[].linkedProperty" options="linked-property">
<help short="Linked property."/>
</arg>
<arg type="string" var="$properties.properties.resourceManagementOptions.deleteDependencies[].linkedType" options="linked-type">
<help short="Linked type."/>
</arg>
<arg type="array<string>" var="$properties.properties.resourceManagementOptions.deleteDependencies[].requiredFeatures" options="required-features">
<help short="Required features."/>
<item type="string"/>
</arg>
</item>
</arg>
<arg type="object" var="$properties.properties.resourceManagementOptions.nestedProvisioningSupport" options="nested-provisioning-support">
<help short="Nested provisioning support."/>
<arg type="string" var="$properties.properties.resourceManagementOptions.nestedProvisioningSupport.minimumApiVersion" options="minimum-api-version">
<help short="Minimum API version."/>
</arg>
</arg>
</arg>
<arg type="object" var="$properties.properties.resourceMovePolicy" options="resource-move-policy" group="Properties">
<arg type="boolean" var="$properties.properties.resourceMovePolicy.crossResourceGroupMoveEnabled" options="cross-resource-group-move-enabled"/>
<arg type="boolean" var="$properties.properties.resourceMovePolicy.crossSubscriptionMoveEnabled" options="cross-subscription-move-enabled"/>
<arg type="boolean" var="$properties.properties.resourceMovePolicy.validationRequired" options="validation-required"/>
</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.resourceQueryManagement" options="resource-query-management" group="Properties">
<help short="Resource query management options."/>
<arg type="string" var="$properties.properties.resourceQueryManagement.filterOption" options="filter-option">
<help short="Filter option."/>
<enum>
<item name="EnableSubscriptionFilterOnTenant" value=""EnableSubscriptionFilterOnTenant""/>
<item name="NotSpecified" value=""NotSpecified""/>
</enum>
</arg>
</arg>
<arg type="string" var="$properties.properties.resourceSubType" options="resource-sub-type" group="Properties">
<enum>
<item name="AsyncOperation" value=""AsyncOperation""/>
<item name="NotSpecified" value=""NotSpecified""/>
</enum>
</arg>
<arg type="object" var="$properties.properties.resourceTypeCommonAttributeManagement" options="resource-type-common-attribute-management" group="Properties">
<help short="Resource type common attribute management."/>
<arg type="string" var="$properties.properties.resourceTypeCommonAttributeManagement.commonApiVersionsMergeMode" options="common-api-versions-merge-mode">
<help short="Common api versions merge mode."/>
<enum>
<item name="Merge" value=""Merge""/>
<item name="Overwrite" value=""Overwrite""/>
</enum>
</arg>
</arg>
<arg type="string" var="$properties.properties.resourceValidation" options="resource-validation" group="Properties">
<enum>
<item name="NotSpecified" value=""NotSpecified""/>
<item name="ProfaneWords" value=""ProfaneWords""/>
<item name="ReservedWords" value=""ReservedWords""/>
</enum>
</arg>
<arg type="object" var="$properties.properties.routingRule" options="routing-rule" group="Properties">
<help short="Routing rule."/>
<arg type="string" var="$properties.properties.routingRule.hostResourceType" options="host-resource-type">
<help short="Hosted resource type."/>
</arg>
</arg>
<arg type="string" var="$properties.properties.routingType" options="routing-type" group="Properties">
<enum>
<item name="CascadeExtension" value=""CascadeExtension""/>
<item name="Default" value=""Default""/>
<item name="Extension" value=""Extension""/>
<item name="Failover" value=""Failover""/>
<item name="Fanout" value=""Fanout""/>
<item name="HostBased" value=""HostBased""/>
<item name="LocationBased" value=""LocationBased""/>
<item name="ProxyOnly" value=""ProxyOnly""/>
<item name="Tenant" value=""Tenant""/>
</enum>
</arg>
<arg type="array<object>" var="$properties.properties.serviceTreeInfos" options="service-tree-infos" group="Properties">
<item type="object" cls="ServiceTreeInfo_create">
<arg type="string" var="@ServiceTreeInfo_create.componentId" options="component-id"/>
<arg type="string" var="@ServiceTreeInfo_create.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="@ServiceTreeInfo_create.serviceId" options="service-id"/>
</item>
</arg>
<arg type="string" var="$properties.properties.skuLink" options="sku-link" group="Properties"/>
<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="array<object>" var="$properties.properties.subscriptionStateRules" options="subscription-state-rules" group="Properties">
<item type="object">
<arg type="array<string>" var="$properties.properties.subscriptionStateRules[].allowedActions" options="allowed-actions">
<item type="string"/>
</arg>
<arg type="string" var="$properties.properties.subscriptionStateRules[].state" options="state">
<enum>
<item name="Deleted" value=""Deleted""/>
<item name="Disabled" value=""Disabled""/>
<item name="Enabled" value=""Enabled""/>
<item name="NotDefined" value=""NotDefined""/>
<item name="PastDue" value=""PastDue""/>
<item name="Warned" value=""Warned""/>
</enum>
</arg>
</item>
</arg>
<arg type="boolean" var="$properties.properties.superScaleEnabled" options="super-scale-enabled" group="Properties"/>
<arg type="boolean" var="$properties.properties.supportsTags" options="supports-tags" group="Properties"/>
<arg type="array<object>" var="$properties.properties.swaggerSpecifications" options="swagger-specifications" group="Properties">
<item type="object">
<arg type="array<string>" var="$properties.properties.swaggerSpecifications[].apiVersions" options="api-versions">
<item type="string"/>
</arg>
<arg type="string" var="$properties.properties.swaggerSpecifications[].swaggerSpecFolderUri" options="swagger-spec-folder-uri"/>
</item>
</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="object" var="$properties.properties.templateDeploymentPolicy" options="template-deployment-policy" group="Properties">
<arg type="string" var="$properties.properties.templateDeploymentPolicy.capabilities" options="capabilities" required="True">
<enum>
<item name="Default" value=""Default""/>
<item name="Preflight" value=""Preflight""/>
</enum>
</arg>
<arg type="string" var="$properties.properties.templateDeploymentPolicy.preflightNotifications" options="preflight-notifications">
<enum>
<item name="None" value=""None""/>
<item name="UnregisteredSubscriptions" value=""UnregisteredSubscriptions""/>
</enum>
</arg>
<arg type="string" var="$properties.properties.templateDeploymentPolicy.preflightOptions" options="preflight-options" required="True">
<enum>
<item name="DeploymentRequests" value=""DeploymentRequests""/>
<item name="None" value=""None""/>
<item name="RegisteredOnly" value=""RegisteredOnly""/>
<item name="TestOnly" value=""TestOnly""/>
<item name="ValidationRequests" value=""ValidationRequests""/>
</enum>
</arg>
</arg>
<arg type="array<object>" var="$properties.properties.throttlingRules" options="throttling-rules" group="Properties">
<item type="object">
<arg type="string" var="$properties.properties.throttlingRules[].action" options="action" required="True"/>
<arg type="array<string>" var="$properties.properties.throttlingRules[].applicationId" options="application-id">
<item type="string"/>
</arg>
<arg type="array<object>" var="$properties.properties.throttlingRules[].metrics" options="metrics" required="True">
<item type="object">
<arg type="string" var="$properties.properties.throttlingRules[].metrics[].bucketSize" options="bucket-size"/>
<arg type="duration" var="$properties.properties.throttlingRules[].metrics[].interval" options="interval"/>
<arg type="integer64" var="$properties.properties.throttlingRules[].metrics[].limit" options="limit" required="True"/>
<arg type="string" var="$properties.properties.throttlingRules[].metrics[].type" options="type" required="True">
<enum>
<item name="NotSpecified" value=""NotSpecified""/>
<item name="NumberOfRequests" value=""NumberOfRequests""/>
<item name="NumberOfResources" value=""NumberOfResources""/>
</enum>
</arg>
</item>
</arg>
<arg type="array<string>" var="$properties.properties.throttlingRules[].requiredFeatures" options="required-features">
<item type="string"/>
</arg>
</item>
</arg>
<arg type="@TokenAuthConfiguration_create" var="$properties.properties.tokenAuthConfiguration" options="token-auth-configuration" group="Properties"/>
<arg type="object" var="$properties.properties.writeLock" options="write-lock" group="Properties">
<arg type="string" var="$properties.properties.writeLock.state" options="state">
<help short="The state of write lock feature. The feature will ensure a deterministic sequence of write-operation within and across the verbs. Also the feature will ensure that the semantics of synchronous and long-running operations are honored."/>
<default value=""Disabled""/>
<enum>
<item name="Disabled" value=""Disabled""/>
<item name="Enabled" value=""Enabled""/>
</enum>
</arg>
</arg>
</argGroup>
<operation operationId="ResourceTypeRegistrations_CreateOrUpdate">
<longRunning finalStateVia="azure-async-operation"/>
<http path="/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}">
<request method="put">
<path>
<param type="string" name="providerNamespace" arg="$Path.providerNamespace" required="True"/>
<param type="string" name="resourceType" arg="$Path.resourceType" 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="boolean" name="addResourceListTargetLocations" arg="$properties.properties.addResourceListTargetLocations"/>
<prop type="string" name="additionalOptions" arg="$properties.properties.additionalOptions">
<enum>
<item value=""ProtectedAsyncOperationPolling""/>
<item value=""ProtectedAsyncOperationPollingAuditOnly""/>
</enum>
</prop>
<prop type="boolean" name="allowEmptyRoleAssignments" arg="$properties.properties.allowEmptyRoleAssignments"/>
<prop type="array<object>" name="allowedResourceNames" arg="$properties.properties.allowedResourceNames" identifiers="getActionVerb name">
<item type="object">
<prop type="string" name="getActionVerb" arg="$properties.properties.allowedResourceNames[].getActionVerb"/>
<prop type="string" name="name" arg="$properties.properties.allowedResourceNames[].name"/>
</item>
</prop>
<prop type="array<string>" name="allowedTemplateDeploymentReferenceActions" arg="$properties.properties.allowedTemplateDeploymentReferenceActions">
<item type="string"/>
</prop>
<prop type="array<string>" name="allowedUnauthorizedActions" arg="$properties.properties.allowedUnauthorizedActions">
<item type="string"/>
</prop>
<prop type="array<object>" name="allowedUnauthorizedActionsExtensions" arg="$properties.properties.allowedUnauthorizedActionsExtensions">
<item type="object">
<prop type="string" name="action" arg="$properties.properties.allowedUnauthorizedActionsExtensions[].action"/>
<prop type="string" name="intent" arg="$properties.properties.allowedUnauthorizedActionsExtensions[].intent">
<enum>
<item value=""DEFERRED_ACCESS_CHECK""/>
<item value=""LOW_PRIVILEGE""/>
<item value=""NOT_SPECIFIED""/>
<item value=""RP_CONTRACT""/>
</enum>
</prop>
</item>
</prop>
<prop type="array<object>" name="apiProfiles" arg="$properties.properties.apiProfiles" identifiers="profileVersion apiVersion">
<item type="object">
<prop type="string" name="apiVersion" arg="$properties.properties.apiProfiles[].apiVersion"/>
<prop type="string" name="profileVersion" arg="$properties.properties.apiProfiles[].profileVersion"/>
</item>
</prop>
<prop type="string" name="asyncOperationResourceTypeName" arg="$properties.properties.asyncOperationResourceTypeName"/>
<prop type="array<object>" name="asyncTimeoutRules" arg="$properties.properties.asyncTimeoutRules">
<item type="object">
<prop type="string" name="actionName" arg="$properties.properties.asyncTimeoutRules[].actionName"/>
<prop type="string" name="timeout" arg="$properties.properties.asyncTimeoutRules[].timeout"/>
</item>
</prop>
<prop type="array<object>" name="authorizationActionMappings" arg="$properties.properties.authorizationActionMappings" identifiers="original">
<item type="object">
<prop type="string" name="desired" arg="$properties.properties.authorizationActionMappings[].desired"/>
<prop type="string" name="original" arg="$properties.properties.authorizationActionMappings[].original"/>
</item>
</prop>
<prop type="object" name="availabilityZoneRule" arg="$properties.properties.availabilityZoneRule">
<prop type="string" name="availabilityZonePolicy" arg="$properties.properties.availabilityZoneRule.availabilityZonePolicy">
<enum>
<item value=""MultiZoned""/>
<item value=""NotSpecified""/>
<item value=""SingleZoned""/>
</enum>
</prop>
</prop>
<prop type="object" name="capacityRule" arg="$properties.properties.capacityRule">
<prop type="string" name="capacityPolicy" arg="$properties.properties.capacityRule.capacityPolicy">
<enum>
<item value=""Default""/>
<item value=""Restricted""/>
</enum>
</prop>
<prop type="string" name="skuAlias" arg="$properties.properties.capacityRule.skuAlias"/>
</prop>
<prop type="string" name="category" arg="$properties.properties.category">
<enum>
<item value=""FreeForm""/>
<item value=""Internal""/>
<item value=""None""/>
<item value=""PureProxy""/>
</enum>
</prop>
<prop type="object" name="checkNameAvailabilitySpecifications" arg="$properties.properties.checkNameAvailabilitySpecifications">
<prop type="boolean" name="enableDefaultValidation" arg="$properties.properties.checkNameAvailabilitySpecifications.enableDefaultValidation"/>
<prop type="array<string>" name="resourceTypesWithCustomValidation" arg="$properties.properties.checkNameAvailabilitySpecifications.resourceTypesWithCustomValidation">
<item type="string"/>
</prop>
</prop>
<prop type="array<string>" name="commonApiVersions" arg="$properties.properties.commonApiVersions">
<item type="string"/>
</prop>
<prop type="string" name="crossTenantTokenValidation" arg="$properties.properties.crossTenantTokenValidation">
<enum>
<item value=""EnsureSecureValidation""/>
<item value=""PassthroughInsecureToken""/>
</enum>
</prop>
<prop type="string" name="defaultApiVersion" arg="$properties.properties.defaultApiVersion"/>
<prop type="array<string>" name="disallowedActionVerbs" arg="$properties.properties.disallowedActionVerbs">
<item type="string"/>
</prop>
<prop type="array<string>" name="disallowedEndUserOperations" arg="$properties.properties.disallowedEndUserOperations">
<item type="string"/>
</prop>
<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="enableAsyncOperation" arg="$properties.properties.enableAsyncOperation"/>
<prop type="boolean" name="enableThirdPartyS2S" arg="$properties.properties.enableThirdPartyS2S"/>
<prop type="array<object>" name="endpoints" arg="$properties.properties.endpoints">
<item type="object">
<prop type="string" name="apiVersion" arg="$properties.properties.endpoints[].apiVersion"/>
<prop type="array<string>" name="apiVersions" arg="$properties.properties.endpoints[].apiVersions">
<item type="string"/>
</prop>
<prop type="string" name="dataBoundary" arg="$properties.properties.endpoints[].dataBoundary">
<enum>
<item value=""EU""/>
<item value=""Global""/>
<item value=""NotDefined""/>
<item value=""US""/>
</enum>
</prop>
<prop type="object" name="dstsConfiguration" arg="$properties.properties.endpoints[].dstsConfiguration">
<prop type="string" name="serviceDnsName" arg="$properties.properties.endpoints[].dstsConfiguration.serviceDnsName"/>
<prop type="string" name="serviceName" arg="$properties.properties.endpoints[].dstsConfiguration.serviceName" required="True"/>
</prop>
<prop type="boolean" name="enabled" arg="$properties.properties.endpoints[].enabled"/>
<prop type="string" name="endpointType" arg="$properties.properties.endpoints[].endpointType">
<enum>
<item value=""Canary""/>
<item value=""NotSpecified""/>
<item value=""Production""/>
<item value=""TestInProduction""/>
</enum>
</prop>
<prop type="string" name="endpointUri" arg="$properties.properties.endpoints[].endpointUri"/>
<prop type="array<object>" name="extensions" arg="$properties.properties.endpoints[].extensions" identifiers="endpointUri">
<item type="object">
<prop type="string" name="endpointUri" arg="$properties.properties.endpoints[].extensions[].endpointUri"/>
<prop type="array<string>" name="extensionCategories" arg="$properties.properties.endpoints[].extensions[].extensionCategories">
<item type="string">
<enum>
<item value=""BestMatchOperationBegin""/>
<item value=""NotSpecified""/>
<item value=""ResourceCreationBegin""/>
<item value=""ResourceCreationCompleted""/>
<item value=""ResourceCreationValidate""/>
<item value=""ResourceDeletionBegin""/>
<item value=""ResourceDeletionCompleted""/>
<item value=""ResourceDeletionValidate""/>
<item value=""ResourceMoveBegin""/>
<item value=""ResourceMoveCompleted""/>
<item value=""ResourcePatchBegin""/>
<item value=""ResourcePatchCompleted""/>
<item value=""ResourcePatchValidate""/>
<item value=""ResourcePostAction""/>
<item value=""ResourceReadBegin""/>
<item value=""ResourceReadValidate""/>
<item value=""SubscriptionLifecycleNotification""/>
<item value=""SubscriptionLifecycleNotificationDeletion""/>
</enum>
</item>
</prop>
<prop type="duration" name="timeout" arg="$properties.properties.endpoints[].extensions[].timeout"/>
</item>
</prop>
<prop type="object" name="featuresRule" arg="$properties.properties.endpoints[].featuresRule">
<prop type="string" name="requiredFeaturesPolicy" arg="$properties.properties.endpoints[].featuresRule.requiredFeaturesPolicy" required="True">
<enum>
<item value=""All""/>
<item value=""Any""/>
</enum>
</prop>
</prop>
<prop type="string" name="kind" arg="$properties.properties.endpoints[].kind">
<default value=""Managed""/>
<enum>
<item value=""Direct""/>
<item value=""Managed""/>
</enum>
</prop>
<prop type="array<string>" name="locations" arg="$properties.properties.endpoints[].locations">
<item type="string"/>
</prop>
<prop type="array<string>" name="requiredFeatures" arg="$properties.properties.endpoints[].requiredFeatures">
<item type="string"/>
</prop>
<prop type="string" name="skuLink" arg="$properties.properties.endpoints[].skuLink"/>
<prop type="duration" name="timeout" arg="$properties.properties.endpoints[].timeout"/>
<prop type="object" name="tokenAuthConfiguration" arg="$properties.properties.endpoints[].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>
<prop type="array<string>" name="zones" arg="$properties.properties.endpoints[].zones">
<item type="string"/>
</prop>
</item>
</prop>
<prop type="array<object>" name="extendedLocations" arg="$properties.properties.extendedLocations">
<item type="object">
<prop type="string" name="supportedPolicy" arg="$properties.properties.extendedLocations[].supportedPolicy"/>
<prop type="string" name="type" arg="$properties.properties.extendedLocations[].type"/>
</item>
</prop>
<prop type="object" name="extensionOptions" arg="$properties.properties.extensionOptions">
<prop type="object" name="resourceCreationBegin" arg="$properties.properties.extensionOptions.resourceCreationBegin">
<prop type="array<string>" name="request" arg="$properties.properties.extensionOptions.resourceCreationBegin.request">
<item type="string">
<enum>
<item value=""DoNotMergeExistingReadOnlyAndSecretProperties""/>
<item value=""IncludeInternalMetadata""/>
<item value=""NotSpecified""/>
</enum>
</item>
</prop>
<prop type="array<string>" name="response" arg="$properties.properties.extensionOptions.resourceCreationBegin.response">
<item type="string">
<enum>
<item value=""DoNotMergeExistingReadOnlyAndSecretProperties""/>
<item value=""IncludeInternalMetadata""/>
<item value=""NotSpecified""/>
</enum>
</item>
</prop>
</prop>
</prop>
<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="string" name="frontdoorRequestMode" arg="$properties.properties.frontdoorRequestMode">
<enum>
<item value=""NotSpecified""/>
<item value=""UseManifest""/>
</enum>
</prop>
<prop type="string" name="groupingTag" arg="$properties.properties.groupingTag"/>
<prop type="object" name="identityManagement" arg="$properties.properties.identityManagement">
<prop type="string" name="applicationId" arg="$properties.properties.identityManagement.applicationId"/>
<prop type="array<string>" name="applicationIds" arg="$properties.properties.identityManagement.applicationIds">
<item type="string"/>
</prop>
<prop type="array<string>" name="delegationAppIds" arg="$properties.properties.identityManagement.delegationAppIds">
<item type="string"/>
</prop>
<prop type="string" name="type" arg="$properties.properties.identityManagement.type">
<enum>
<item value=""Actor""/>
<item value=""DelegatedResourceIdentity""/>
<item value=""NotSpecified""/>
<item value=""SystemAssigned""/>
<item value=""UserAssigned""/>
</enum>
</prop>
</prop>
<prop type="boolean" name="isPureProxy" arg="$properties.properties.isPureProxy"/>
<prop type="string" name="legacyName" arg="$properties.properties.legacyName"/>
<prop type="array<string>" name="legacyNames" arg="$properties.properties.legacyNames">
<item type="string"/>
</prop>
<prop type="object" name="legacyPolicy" arg="$properties.properties.legacyPolicy">
<prop type="array<object>" name="disallowedConditions" arg="$properties.properties.legacyPolicy.disallowedConditions">
<item type="object">
<prop type="array<string>" name="disallowedLegacyOperations" arg="$properties.properties.legacyPolicy.disallowedConditions[].disallowedLegacyOperations">
<item type="string">
<enum>
<item value=""Action""/>
<item value=""AzureAsyncOperationWaiting""/>
<item value=""Create""/>
<item value=""Delete""/>
<item value=""DeploymentCleanup""/>
<item value=""EvaluateDeploymentOutput""/>
<item value=""NotSpecified""/>
<item value=""Read""/>
<item value=""ResourceCacheWaiting""/>
<item value=""Waiting""/>
</enum>
</item>
</prop>
<prop type="string" name="feature" arg="$properties.properties.legacyPolicy.disallowedConditions[].feature"/>
</item>
</prop>
<prop type="array<string>" name="disallowedLegacyOperations" arg="$properties.properties.legacyPolicy.disallowedLegacyOperations">
<item type="string">
<enum>
<item value=""Action""/>
<item value=""AzureAsyncOperationWaiting""/>
<item value=""Create""/>
<item value=""Delete""/>
<item value=""DeploymentCleanup""/>
<item value=""EvaluateDeploymentOutput""/>
<item value=""NotSpecified""/>
<item value=""Read""/>
<item value=""ResourceCacheWaiting""/>
<item value=""Waiting""/>
</enum>
</item>
</prop>
</prop>
<prop type="array<object>" name="linkedAccessChecks" arg="$properties.properties.linkedAccessChecks">
<item type="object">
<prop type="string" name="actionName" arg="$properties.properties.linkedAccessChecks[].actionName"/>
<prop type="string" name="linkedAction" arg="$properties.properties.linkedAccessChecks[].linkedAction"/>
<prop type="string" name="linkedActionVerb" arg="$properties.properties.linkedAccessChecks[].linkedActionVerb"/>
<prop type="string" name="linkedProperty" arg="$properties.properties.linkedAccessChecks[].linkedProperty"/>
<prop type="string" name="linkedType" arg="$properties.properties.linkedAccessChecks[].linkedType"/>
</item>
</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="array<string>" name="actionsOnFailedOperation" arg="$properties.properties.linkedNotificationRules[].actionsOnFailedOperation">
<item type="string"/>
</prop>
<prop type="array<string>" name="fastPathActions" arg="$properties.properties.linkedNotificationRules[].fastPathActions">
<item type="string"/>
</prop>
<prop type="array<string>" name="fastPathActionsOnFailedOperation" arg="$properties.properties.linkedNotificationRules[].fastPathActionsOnFailedOperation">
<item type="string"/>
</prop>
<prop type="duration" name="linkedNotificationTimeout" arg="$properties.properties.linkedNotificationRules[].linkedNotificationTimeout"/>
</item>
</prop>
<prop type="array<object>" name="linkedOperationRules" arg="$properties.properties.linkedOperationRules" identifiers="linkedOperation linkedAction">
<item type="object">
<prop type="array<string>" name="dependsOnTypes" arg="$properties.properties.linkedOperationRules[].dependsOnTypes">
<item type="string"/>
</prop>
<prop type="string" name="linkedAction" arg="$properties.properties.linkedOperationRules[].linkedAction" required="True">
<enum>
<item value=""Blocked""/>
<item value=""Enabled""/>
<item value=""NotSpecified""/>
<item value=""Validate""/>
</enum>
</prop>
<prop type="string" name="linkedOperation" arg="$properties.properties.linkedOperationRules[].linkedOperation" required="True">
<enum>
<item value=""CrossResourceGroupResourceMove""/>
<item value=""CrossSubscriptionResourceMove""/>
<item value=""None""/>
</enum>
</prop>
</item>
</prop>
<prop type="array<object>" name="loggingRules" arg="$properties.properties.loggingRules">
<item type="object">
<prop type="string" name="action" arg="$properties.properties.loggingRules[].action" required="True"/>
<prop type="string" name="detailLevel" arg="$properties.properties.loggingRules[].detailLevel" required="True">
<enum>
<item value=""Body""/>
<item value=""None""/>
</enum>
</prop>
<prop type="string" name="direction" arg="$properties.properties.loggingRules[].direction" required="True">
<enum>
<item value=""None""/>
<item value=""Request""/>
<item value=""Response""/>
</enum>
</prop>
<prop type="object" name="hiddenPropertyPaths" arg="$properties.properties.loggingRules[].hiddenPropertyPaths">
<prop type="array<string>" name="hiddenPathsOnRequest" arg="$properties.properties.loggingRules[].hiddenPropertyPaths.hiddenPathsOnRequest">
<item type="string"/>
</prop>
<prop type="array<string>" name="hiddenPathsOnResponse" arg="$properties.properties.loggingRules[].hiddenPropertyPaths.hiddenPathsOnResponse">
<item type="string"/>
</prop>
</prop>
</item>
</prop>
<prop type="object" name="managedResourceGroupConfiguration" arg="$properties.properties.managedResourceGroupConfiguration">
<prop type="array<string>" name="applicationIds" arg="$properties.properties.managedResourceGroupConfiguration.applicationIds">
<item type="string"/>
</prop>
<prop type="object" name="denyAssignmentConfiguration" arg="$properties.properties.managedResourceGroupConfiguration.denyAssignmentConfiguration">
<prop type="boolean" name="enabled" arg="$properties.properties.managedResourceGroupConfiguration.denyAssignmentConfiguration.enabled"/>
<prop type="array<string>" name="notActions" arg="$properties.properties.managedResourceGroupConfiguration.denyAssignmentConfiguration.notActions">
<item type="string"/>
</prop>
</prop>
<prop type="boolean" name="enabled" arg="$properties.properties.managedResourceGroupConfiguration.enabled"/>
<prop type="string" name="resourceGroupLocationOverride" arg="$properties.properties.managedResourceGroupConfiguration.resourceGroupLocationOverride"/>
</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<@ServiceTreeInfo_create>" name="serviceTreeInfos" arg="$properties.properties.management.serviceTreeInfos">
<item type="@ServiceTreeInfo_create"/>
</prop>
</prop>
<prop type="string" name="manifestLink" arg="$properties.properties.manifestLink"/>
<prop type="object" name="marketplaceOptions" arg="$properties.properties.marketplaceOptions">
<prop type="boolean" name="addOnPlanConversionAllowed" arg="$properties.properties.marketplaceOptions.addOnPlanConversionAllowed"/>
</prop>
<prop type="string" name="marketplaceType" arg="$properties.properties.marketplaceType">
<enum>
<item value=""AddOn""/>
<item value=""Bypass""/>
<item value=""NotSpecified""/>
<item value=""ProviderHub""/>
<item value=""Store""/>
</enum>
</prop>
<prop type="object" name="metadata" arg="$properties.properties.metadata">
<additionalProp>
<item type="object">
<additionalProp anyType="True"/>
</item>
</additionalProp>
</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="object" name="onBehalfOfTokens" arg="$properties.properties.onBehalfOfTokens">
<prop type="string" name="actionName" arg="$properties.properties.onBehalfOfTokens.actionName"/>
<prop type="string" name="lifeTime" arg="$properties.properties.onBehalfOfTokens.lifeTime"/>
</prop>
<prop type="object" name="openApiConfiguration" arg="$properties.properties.openApiConfiguration">
<prop type="object" name="validation" arg="$properties.properties.openApiConfiguration.validation">
<prop type="boolean" name="allowNoncompliantCollectionResponse" arg="$properties.properties.openApiConfiguration.validation.allowNoncompliantCollectionResponse"/>
</prop>
</prop>
<prop type="string" name="policyExecutionType" arg="$properties.properties.policyExecutionType">
<enum>
<item value=""BypassPolicies""/>
<item value=""ExecutePolicies""/>
<item value=""ExpectPartialPutRequests""/>
<item value=""NotSpecified""/>
</enum>
</prop>
<prop type="object" name="privateEndpointConfiguration" arg="$properties.properties.privateEndpointConfiguration">
<prop type="array<object>" name="groupConnectivityInformation" arg="$properties.properties.privateEndpointConfiguration.groupConnectivityInformation" required="True">
<item type="object">
<prop type="string" name="groupId" arg="$properties.properties.privateEndpointConfiguration.groupConnectivityInformation[].groupId" required="True"/>
<prop type="string" name="redirectMapId" arg="$properties.properties.privateEndpointConfiguration.groupConnectivityInformation[].redirectMapId"/>
<prop type="array<string>" name="requiredMembers" arg="$properties.properties.privateEndpointConfiguration.groupConnectivityInformation[].requiredMembers" required="True">
<item type="string"/>
</prop>
<prop type="array<string>" name="requiredZoneNames" arg="$properties.properties.privateEndpointConfiguration.groupConnectivityInformation[].requiredZoneNames" required="True">
<item type="string"/>
</prop>
</item>
</prop>
<prop type="string" name="minApiVersion" arg="$properties.properties.privateEndpointConfiguration.minApiVersion" required="True"/>
</prop>
<prop type="object" name="quotaRule" arg="$properties.properties.quotaRule">
<prop type="array<object>" name="locationRules" arg="$properties.properties.quotaRule.locationRules">
<item type="object">
<prop type="string" name="location" arg="$properties.properties.quotaRule.locationRules[].location"/>
<prop type="string" name="policy" arg="$properties.properties.quotaRule.locationRules[].policy">
<enum>
<item value=""Default""/>
<item value=""None""/>
<item value=""Restricted""/>
</enum>
</prop>
<prop type="string" name="quotaId" arg="$properties.properties.quotaRule.locationRules[].quotaId"/>
</item>
</prop>
<prop type="string" name="quotaPolicy" arg="$properties.properties.quotaRule.quotaPolicy">
<enum>
<item value=""Default""/>
<item value=""None""/>
<item value=""Restricted""/>
</enum>
</prop>
<prop type="array<string>" name="requiredFeatures" arg="$properties.properties.quotaRule.requiredFeatures">
<item type="string"/>
</prop>
</prop>
<prop type="string" name="regionality" arg="$properties.properties.regionality">
<enum>
<item value=""Global""/>
<item value=""NotSpecified""/>
<item value=""Regional""/>
</enum>
</prop>
<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="resourceCache" arg="$properties.properties.resourceCache">
<prop type="boolean" name="enableResourceCache" arg="$properties.properties.resourceCache.enableResourceCache"/>
<prop type="string" name="resourceCacheExpirationTimespan" arg="$properties.properties.resourceCache.resourceCacheExpirationTimespan"/>
</prop>
<prop type="object" name="resourceConcurrencyControlOptions" arg="$properties.properties.resourceConcurrencyControlOptions">
<additionalProp>
<item type="object">
<prop type="string" name="policy" arg="$properties.properties.resourceConcurrencyControlOptions{}.policy">
<enum>
<item value=""NotSpecified""/>
<item value=""SynchronizeBeginExtension""/>
</enum>
</prop>
</item>
</additionalProp>
</prop>
<prop type="string" name="resourceDeletionPolicy" arg="$properties.properties.resourceDeletionPolicy">
<enum>
<item value=""CascadeDeleteAll""/>
<item value=""CascadeDeleteProxyOnlyChildren""/>
<item value=""NotSpecified""/>
</enum>
</prop>
<prop type="object" name="resourceGraphConfiguration" arg="$properties.properties.resourceGraphConfiguration">
<prop type="string" name="apiVersion" arg="$properties.properties.resourceGraphConfiguration.apiVersion"/>
<prop type="boolean" name="enabled" arg="$properties.properties.resourceGraphConfiguration.enabled"/>
</prop>
<prop type="object" name="resourceManagementOptions" arg="$properties.properties.resourceManagementOptions">
<prop type="object" name="batchProvisioningSupport" arg="$properties.properties.resourceManagementOptions.batchProvisioningSupport">
<prop type="array<object>" name="actionConfigurations" arg="$properties.properties.resourceManagementOptions.batchProvisioningSupport.actionConfigurations">
<item type="object">
<prop type="string" name="authorizationAction" arg="$properties.properties.resourceManagementOptions.batchProvisioningSupport.actionConfigurations[].authorizationAction"/>
<prop type="integer64" name="maxBatchSize" arg="$properties.properties.resourceManagementOptions.batchProvisioningSupport.actionConfigurations[].maxBatchSize"/>
</item>
</prop>
<prop type="string" name="batchContractVersion" arg="$properties.properties.resourceManagementOptions.batchProvisioningSupport.batchContractVersion"/>
<prop type="integer64" name="maxBatchSize" arg="$properties.properties.resourceManagementOptions.batchProvisioningSupport.maxBatchSize"/>
<prop type="integer64" name="maxNestedBatchSize" arg="$properties.properties.resourceManagementOptions.batchProvisioningSupport.maxNestedBatchSize"/>
<prop type="array<string>" name="requiredFeatures" arg="$properties.properties.resourceManagementOptions.batchProvisioningSupport.requiredFeatures">
<item type="string"/>
</prop>
<prop type="string" name="supportedOperations" arg="$properties.properties.resourceManagementOptions.batchProvisioningSupport.supportedOperations">
<enum>
<item value=""Delete""/>
<item value=""Get""/>
<item value=""NotSpecified""/>
</enum>
</prop>
</prop>
<prop type="array<object>" name="deleteDependencies" arg="$properties.properties.resourceManagementOptions.deleteDependencies" identifiers="requiredFeatures linkedProperty linkedType">
<item type="object">
<prop type="string" name="linkedProperty" arg="$properties.properties.resourceManagementOptions.deleteDependencies[].linkedProperty"/>
<prop type="string" name="linkedType" arg="$properties.properties.resourceManagementOptions.deleteDependencies[].linkedType"/>
<prop type="array<string>" name="requiredFeatures" arg="$properties.properties.resourceManagementOptions.deleteDependencies[].requiredFeatures">
<item type="string"/>
</prop>
</item>
</prop>
<prop type="object" name="nestedProvisioningSupport" arg="$properties.properties.resourceManagementOptions.nestedProvisioningSupport">
<prop type="string" name="minimumApiVersion" arg="$properties.properties.resourceManagementOptions.nestedProvisioningSupport.minimumApiVersion"/>
</prop>
</prop>
<prop type="object" name="resourceMovePolicy" arg="$properties.properties.resourceMovePolicy">
<prop type="boolean" name="crossResourceGroupMoveEnabled" arg="$properties.properties.resourceMovePolicy.crossResourceGroupMoveEnabled"/>
<prop type="boolean" name="crossSubscriptionMoveEnabled" arg="$properties.properties.resourceMovePolicy.crossSubscriptionMoveEnabled"/>
<prop type="boolean" name="validationRequired" arg="$properties.properties.resourceMovePolicy.validationRequired"/>
</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="resourceQueryManagement" arg="$properties.properties.resourceQueryManagement">
<prop type="string" name="filterOption" arg="$properties.properties.resourceQueryManagement.filterOption">
<enum>
<item value=""EnableSubscriptionFilterOnTenant""/>
<item value=""NotSpecified""/>
</enum>
</prop>
</prop>
<prop type="string" name="resourceSubType" arg="$properties.properties.resourceSubType">
<enum>
<item value=""AsyncOperation""/>
<item value=""NotSpecified""/>
</enum>
</prop>
<prop type="object" name="resourceTypeCommonAttributeManagement" arg="$properties.properties.resourceTypeCommonAttributeManagement">
<prop type="string" name="commonApiVersionsMergeMode" arg="$properties.properties.resourceTypeCommonAttributeManagement.commonApiVersionsMergeMode">
<enum>
<item value=""Merge""/>
<item value=""Overwrite""/>
</enum>
</prop>
</prop>
<prop type="string" name="resourceValidation" arg="$properties.properties.resourceValidation">
<enum>
<item value=""NotSpecified""/>
<item value=""ProfaneWords""/>
<item value=""ReservedWords""/>
</enum>
</prop>
<prop type="object" name="routingRule" arg="$properties.properties.routingRule">
<prop type="string" name="hostResourceType" arg="$properties.properties.routingRule.hostResourceType"/>
</prop>
<prop type="string" name="routingType" arg="$properties.properties.routingType">
<enum>
<item value=""CascadeExtension""/>
<item value=""Default""/>
<item value=""Extension""/>
<item value=""Failover""/>
<item value=""Fanout""/>
<item value=""HostBased""/>
<item value=""LocationBased""/>
<item value=""ProxyOnly""/>
<item value=""Tenant""/>
</enum>
</prop>
<prop type="array<object>" name="serviceTreeInfos" arg="$properties.properties.serviceTreeInfos">
<item type="object" cls="ServiceTreeInfo_create">
<prop type="string" name="componentId" arg="@ServiceTreeInfo_create.componentId"/>
<prop type="string" name="readiness" arg="@ServiceTreeInfo_create.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="@ServiceTreeInfo_create.serviceId"/>
</item>
</prop>
<prop type="string" name="skuLink" arg="$properties.properties.skuLink"/>
<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="array<object>" name="subscriptionStateRules" arg="$properties.properties.subscriptionStateRules">
<item type="object">
<prop type="array<string>" name="allowedActions" arg="$properties.properties.subscriptionStateRules[].allowedActions">
<item type="string"/>
</prop>
<prop type="string" name="state" arg="$properties.properties.subscriptionStateRules[].state">
<enum>
<item value=""Deleted""/>
<item value=""Disabled""/>
<item value=""Enabled""/>
<item value=""NotDefined""/>
<item value=""PastDue""/>
<item value=""Warned""/>
</enum>
</prop>
</item>
</prop>
<prop type="boolean" name="superScaleEnabled" arg="$properties.properties.superScaleEnabled"/>
<prop type="boolean" name="supportsTags" arg="$properties.properties.supportsTags"/>
<prop type="array<object>" name="swaggerSpecifications" arg="$properties.properties.swaggerSpecifications" identifiers="swaggerSpecFolderUri">
<item type="object">
<prop type="array<string>" name="apiVersions" arg="$properties.properties.swaggerSpecifications[].apiVersions">
<item type="string"/>
</prop>
<prop type="string" name="swaggerSpecFolderUri" arg="$properties.properties.swaggerSpecifications[].swaggerSpecFolderUri"/>
</item>
</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="object" name="templateDeploymentPolicy" arg="$properties.properties.templateDeploymentPolicy">
<prop type="string" name="capabilities" arg="$properties.properties.templateDeploymentPolicy.capabilities" required="True">
<enum>
<item value=""Default""/>
<item value=""Preflight""/>
</enum>
</prop>
<prop type="string" name="preflightNotifications" arg="$properties.properties.templateDeploymentPolicy.preflightNotifications">
<enum>
<item value=""None""/>
<item value=""UnregisteredSubscriptions""/>
</enum>
</prop>
<prop type="string" name="preflightOptions" arg="$properties.properties.templateDeploymentPolicy.preflightOptions" required="True">
<enum>
<item value=""DeploymentRequests""/>
<item value=""None""/>
<item value=""RegisteredOnly""/>
<item value=""TestOnly""/>
<item value=""ValidationRequests""/>
</enum>
</prop>
</prop>
<prop type="array<object>" name="throttlingRules" arg="$properties.properties.throttlingRules">
<item type="object">
<prop type="string" name="action" arg="$properties.properties.throttlingRules[].action" required="True"/>
<prop type="array<string>" name="applicationId" arg="$properties.properties.throttlingRules[].applicationId">
<item type="string"/>
</prop>
<prop type="array<object>" name="metrics" arg="$properties.properties.throttlingRules[].metrics" required="True">
<item type="object">
<prop type="string" name="bucketSize" arg="$properties.properties.throttlingRules[].metrics[].bucketSize"/>
<prop type="duration" name="interval" arg="$properties.properties.throttlingRules[].metrics[].interval"/>
<prop type="integer64" name="limit" arg="$properties.properties.throttlingRules[].metrics[].limit" required="True"/>
<prop type="string" name="type" arg="$properties.properties.throttlingRules[].metrics[].type" required="True">
<enum>
<item value=""NotSpecified""/>
<item value=""NumberOfRequests""/>
<item value=""NumberOfResources""/>
</enum>
</prop>
</item>
</prop>
<prop type="array<string>" name="requiredFeatures" arg="$properties.properties.throttlingRules[].requiredFeatures">
<item type="string"/>
</prop>
</item>
</prop>
<prop type="@TokenAuthConfiguration_create" name="tokenAuthConfiguration" arg="$properties.properties.tokenAuthConfiguration"/>
<prop type="object" name="writeLock" arg="$properties.properties.writeLock">
<prop type="string" name="state" arg="$properties.properties.writeLock.state">
<default value=""Disabled""/>
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
</prop>
</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/{}/resourcetypeRegistrations/{}"/>
</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="boolean" name="addResourceListTargetLocations"/>
<prop type="string" name="additionalOptions">
<enum>
<item value=""ProtectedAsyncOperationPolling""/>
<item value=""ProtectedAsyncOperationPollingAuditOnly""/>
</enum>
</prop>
<prop type="boolean" name="allowEmptyRoleAssignments"/>
<prop type="array<object>" name="allowedResourceNames" identifiers="getActionVerb name">
<item type="object">
<prop type="string" name="getActionVerb"/>
<prop type="string" name="name"/>
</item>
</prop>
<prop type="array<string>" name="allowedTemplateDeploymentReferenceActions">
<item type="string"/>
</prop>
<prop type="array<string>" name="allowedUnauthorizedActions">
<item type="string"/>
</prop>
<prop type="array<object>" name="allowedUnauthorizedActionsExtensions">
<item type="object">
<prop type="string" name="action"/>
<prop type="string" name="intent">
<enum>
<item value=""DEFERRED_ACCESS_CHECK""/>
<item value=""LOW_PRIVILEGE""/>
<item value=""NOT_SPECIFIED""/>
<item value=""RP_CONTRACT""/>
</enum>
</prop>
</item>
</prop>
<prop type="array<object>" name="apiProfiles" identifiers="profileVersion apiVersion">
<item type="object">
<prop type="string" name="apiVersion"/>
<prop type="string" name="profileVersion"/>
</item>
</prop>
<prop type="string" name="asyncOperationResourceTypeName"/>
<prop type="array<object>" name="asyncTimeoutRules">
<item type="object">
<prop type="string" name="actionName"/>
<prop type="string" name="timeout"/>
</item>
</prop>
<prop type="array<object>" name="authorizationActionMappings" identifiers="original">
<item type="object">
<prop type="string" name="desired"/>
<prop type="string" name="original"/>
</item>
</prop>
<prop type="object" name="availabilityZoneRule">
<prop type="string" name="availabilityZonePolicy">
<enum>
<item value=""MultiZoned""/>
<item value=""NotSpecified""/>
<item value=""SingleZoned""/>
</enum>
</prop>
</prop>
<prop type="object" name="capacityRule">
<prop type="string" name="capacityPolicy">
<enum>
<item value=""Default""/>
<item value=""Restricted""/>
</enum>
</prop>
<prop type="string" name="skuAlias"/>
</prop>
<prop type="string" name="category">
<enum>
<item value=""FreeForm""/>
<item value=""Internal""/>
<item value=""None""/>
<item value=""PureProxy""/>
</enum>
</prop>
<prop type="object" name="checkNameAvailabilitySpecifications">
<prop type="boolean" name="enableDefaultValidation"/>
<prop type="array<string>" name="resourceTypesWithCustomValidation">
<item type="string"/>
</prop>
</prop>
<prop type="array<string>" name="commonApiVersions">
<item type="string"/>
</prop>
<prop type="string" name="crossTenantTokenValidation">
<enum>
<item value=""EnsureSecureValidation""/>
<item value=""PassthroughInsecureToken""/>
</enum>
</prop>
<prop type="string" name="defaultApiVersion"/>
<prop type="array<string>" name="disallowedActionVerbs">
<item type="string"/>
</prop>
<prop type="array<string>" name="disallowedEndUserOperations">
<item type="string"/>
</prop>
<prop type="object" name="dstsConfiguration">
<prop type="string" name="serviceDnsName"/>
<prop type="string" name="serviceName" required="True"/>
</prop>
<prop type="boolean" name="enableAsyncOperation"/>
<prop type="boolean" name="enableThirdPartyS2S"/>
<prop type="array<object>" name="endpoints">
<item type="object">
<prop type="string" name="apiVersion"/>
<prop type="array<string>" name="apiVersions">
<item type="string"/>
</prop>
<prop type="string" name="dataBoundary">
<enum>
<item value=""EU""/>
<item value=""Global""/>
<item value=""NotDefined""/>
<item value=""US""/>
</enum>
</prop>
<prop type="object" name="dstsConfiguration">
<prop type="string" name="serviceDnsName"/>
<prop type="string" name="serviceName" required="True"/>
</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="array<object>" name="extensions" identifiers="endpointUri">
<item type="object">
<prop type="string" name="endpointUri"/>
<prop type="array<string>" name="extensionCategories">
<item type="string">
<enum>
<item value=""BestMatchOperationBegin""/>
<item value=""NotSpecified""/>
<item value=""ResourceCreationBegin""/>
<item value=""ResourceCreationCompleted""/>
<item value=""ResourceCreationValidate""/>
<item value=""ResourceDeletionBegin""/>
<item value=""ResourceDeletionCompleted""/>
<item value=""ResourceDeletionValidate""/>
<item value=""ResourceMoveBegin""/>
<item value=""ResourceMoveCompleted""/>
<item value=""ResourcePatchBegin""/>
<item value=""ResourcePatchCompleted""/>
<item value=""ResourcePatchValidate""/>
<item value=""ResourcePostAction""/>
<item value=""ResourceReadBegin""/>
<item value=""ResourceReadValidate""/>
<item value=""SubscriptionLifecycleNotification""/>
<item value=""SubscriptionLifecycleNotificationDeletion""/>
</enum>
</item>
</prop>
<prop type="duration" name="timeout"/>
</item>
</prop>
<prop type="object" name="featuresRule">
<prop type="string" name="requiredFeaturesPolicy" required="True">
<enum>
<item value=""All""/>
<item value=""Any""/>
</enum>
</prop>
</prop>
<prop type="string" name="kind">
<default value=""Managed""/>
<enum>
<item value=""Direct""/>
<item value=""Managed""/>
</enum>
</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"/>
<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>
<prop type="array<string>" name="zones">
<item type="string"/>
</prop>
</item>
</prop>
<prop type="array<object>" name="extendedLocations">
<item type="object">
<prop type="string" name="supportedPolicy"/>
<prop type="string" name="type"/>
</item>
</prop>
<prop type="object" name="extensionOptions">
<prop type="object" name="resourceCreationBegin">
<prop type="array<string>" name="request">
<item type="string">
<enum>
<item value=""DoNotMergeExistingReadOnlyAndSecretProperties""/>
<item value=""IncludeInternalMetadata""/>
<item value=""NotSpecified""/>
</enum>
</item>
</prop>
<prop type="array<string>" name="response">
<item type="string">
<enum>
<item value=""DoNotMergeExistingReadOnlyAndSecretProperties""/>
<item value=""IncludeInternalMetadata""/>
<item value=""NotSpecified""/>
</enum>
</item>
</prop>
</prop>
</prop>
<prop type="object" name="featuresRule">
<prop type="string" name="requiredFeaturesPolicy" required="True">
<enum>
<item value=""All""/>
<item value=""Any""/>
</enum>
</prop>
</prop>
<prop type="string" name="frontdoorRequestMode">
<enum>
<item value=""NotSpecified""/>
<item value=""UseManifest""/>
</enum>
</prop>
<prop type="string" name="groupingTag"/>
<prop type="object" name="identityManagement">
<prop type="string" name="applicationId"/>
<prop type="array<string>" name="applicationIds">
<item type="string"/>
</prop>
<prop type="array<string>" name="delegationAppIds">
<item type="string"/>
</prop>
<prop type="string" name="type">
<enum>
<item value=""Actor""/>
<item value=""DelegatedResourceIdentity""/>
<item value=""NotSpecified""/>
<item value=""SystemAssigned""/>
<item value=""UserAssigned""/>
</enum>
</prop>
</prop>
<prop type="boolean" name="isPureProxy"/>
<prop type="string" name="legacyName"/>
<prop type="array<string>" name="legacyNames">
<item type="string"/>
</prop>
<prop type="object" name="legacyPolicy">
<prop type="array<object>" name="disallowedConditions">
<item type="object">
<prop type="array<string>" name="disallowedLegacyOperations">
<item type="string">
<enum>
<item value=""Action""/>
<item value=""AzureAsyncOperationWaiting""/>
<item value=""Create""/>
<item value=""Delete""/>
<item value=""DeploymentCleanup""/>
<item value=""EvaluateDeploymentOutput""/>
<item value=""NotSpecified""/>
<item value=""Read""/>
<item value=""ResourceCacheWaiting""/>
<item value=""Waiting""/>
</enum>
</item>
</prop>
<prop type="string" name="feature"/>
</item>
</prop>
<prop type="array<string>" name="disallowedLegacyOperations">
<item type="string">
<enum>
<item value=""Action""/>
<item value=""AzureAsyncOperationWaiting""/>
<item value=""Create""/>
<item value=""Delete""/>
<item value=""DeploymentCleanup""/>
<item value=""EvaluateDeploymentOutput""/>
<item value=""NotSpecified""/>
<item value=""Read""/>
<item value=""ResourceCacheWaiting""/>
<item value=""Waiting""/>
</enum>
</item>
</prop>
</prop>
<prop type="array<object>" name="linkedAccessChecks">
<item type="object">
<prop type="string" name="actionName"/>
<prop type="string" name="linkedAction"/>
<prop type="string" name="linkedActionVerb"/>
<prop type="string" name="linkedProperty"/>
<prop type="string" name="linkedType"/>
<prop readOnly="True" type="string" name="options">
<enum>
<item value=""IgnoreEmptyStringLinkedType""/>
<item value=""NotSpecified""/>
</enum>
</prop>
</item>
</prop>
<prop type="array<object>" name="linkedNotificationRules">
<item type="object">
<prop type="array<string>" name="actions">
<item type="string"/>
</prop>
<prop type="array<string>" name="actionsOnFailedOperation">
<item type="string"/>
</prop>
<prop type="array<string>" name="fastPathActions">
<item type="string"/>
</prop>
<prop type="array<string>" name="fastPathActionsOnFailedOperation">
<item type="string"/>
</prop>
<prop type="duration" name="linkedNotificationTimeout"/>
</item>
</prop>
<prop type="array<object>" name="linkedOperationRules" identifiers="linkedOperation linkedAction">
<item type="object">
<prop type="array<string>" name="dependsOnTypes">
<item type="string"/>
</prop>
<prop type="string" name="linkedAction" required="True">
<enum>
<item value=""Blocked""/>
<item value=""Enabled""/>
<item value=""NotSpecified""/>
<item value=""Validate""/>
</enum>
</prop>
<prop type="string" name="linkedOperation" required="True">
<enum>
<item value=""CrossResourceGroupResourceMove""/>
<item value=""CrossSubscriptionResourceMove""/>
<item value=""None""/>
</enum>
</prop>
</item>
</prop>
<prop type="array<object>" name="loggingRules">
<item type="object">
<prop type="string" name="action" required="True"/>
<prop type="string" name="detailLevel" required="True">
<enum>
<item value=""Body""/>
<item value=""None""/>
</enum>
</prop>
<prop type="string" name="direction" required="True">
<enum>
<item value=""None""/>
<item value=""Request""/>
<item value=""Response""/>
</enum>
</prop>
<prop type="object" name="hiddenPropertyPaths">
<prop type="array<string>" name="hiddenPathsOnRequest">
<item type="string"/>
</prop>
<prop type="array<string>" name="hiddenPathsOnResponse">
<item type="string"/>
</prop>
</prop>
</item>
</prop>
<prop type="object" name="managedResourceGroupConfiguration">
<prop type="array<string>" name="applicationIds">
<item type="string"/>
</prop>
<prop type="object" name="denyAssignmentConfiguration">
<prop type="boolean" name="enabled"/>
<prop type="array<string>" name="notActions">
<item type="string"/>
</prop>
</prop>
<prop type="boolean" name="enabled"/>
<prop type="string" name="resourceGroupLocationOverride"/>
</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<@ServiceTreeInfo_read>" name="serviceTreeInfos">
<item type="@ServiceTreeInfo_read"/>
</prop>
</prop>
<prop type="string" name="manifestLink"/>
<prop type="object" name="marketplaceOptions">
<prop type="boolean" name="addOnPlanConversionAllowed"/>
</prop>
<prop type="string" name="marketplaceType">
<enum>
<item value=""AddOn""/>
<item value=""Bypass""/>
<item value=""NotSpecified""/>
<item value=""ProviderHub""/>
<item value=""Store""/>
</enum>
</prop>
<prop type="object" name="metadata">
<additionalProp>
<item type="object">
<additionalProp anyType="True"/>
</item>
</additionalProp>
</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="object" name="onBehalfOfTokens">
<prop type="string" name="actionName"/>
<prop type="string" name="lifeTime"/>
</prop>
<prop type="object" name="openApiConfiguration">
<prop type="object" name="validation">
<prop type="boolean" name="allowNoncompliantCollectionResponse"/>
</prop>
</prop>
<prop type="string" name="policyExecutionType">
<enum>
<item value=""BypassPolicies""/>
<item value=""ExecutePolicies""/>
<item value=""ExpectPartialPutRequests""/>
<item value=""NotSpecified""/>
</enum>
</prop>
<prop type="object" name="privateEndpointConfiguration">
<prop type="array<object>" name="groupConnectivityInformation" required="True">
<item type="object">
<prop type="string" name="groupId" required="True"/>
<prop type="string" name="redirectMapId"/>
<prop type="array<string>" name="requiredMembers" required="True">
<item type="string"/>
</prop>
<prop type="array<string>" name="requiredZoneNames" required="True">
<item type="string"/>
</prop>
</item>
</prop>
<prop type="string" name="minApiVersion" required="True"/>
</prop>
<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="quotaRule">
<prop type="array<object>" name="locationRules">
<item type="object">
<prop type="string" name="location"/>
<prop type="string" name="policy">
<enum>
<item value=""Default""/>
<item value=""None""/>
<item value=""Restricted""/>
</enum>
</prop>
<prop type="string" name="quotaId"/>
</item>
</prop>
<prop type="string" name="quotaPolicy">
<enum>
<item value=""Default""/>
<item value=""None""/>
<item value=""Restricted""/>
</enum>
</prop>
<prop type="array<string>" name="requiredFeatures">
<item type="string"/>
</prop>
</prop>
<prop type="string" name="regionality">
<enum>
<item value=""Global""/>
<item value=""NotSpecified""/>
<item value=""Regional""/>
</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="resourceCache">
<prop type="boolean" name="enableResourceCache"/>
<prop type="string" name="resourceCacheExpirationTimespan"/>
</prop>
<prop type="object" name="resourceConcurrencyControlOptions">
<additionalProp>
<item type="object">
<prop type="string" name="policy">
<enum>
<item value=""NotSpecified""/>
<item value=""SynchronizeBeginExtension""/>
</enum>
</prop>
</item>
</additionalProp>
</prop>
<prop type="string" name="resourceDeletionPolicy">
<enum>
<item value=""CascadeDeleteAll""/>
<item value=""CascadeDeleteProxyOnlyChildren""/>
<item value=""NotSpecified""/>
</enum>
</prop>
<prop type="object" name="resourceGraphConfiguration">
<prop type="string" name="apiVersion"/>
<prop type="boolean" name="enabled"/>
</prop>
<prop type="object" name="resourceManagementOptions">
<prop type="object" name="batchProvisioningSupport">
<prop type="array<object>" name="actionConfigurations">
<item type="object">
<prop type="string" name="authorizationAction"/>
<prop type="integer64" name="maxBatchSize"/>
</item>
</prop>
<prop type="string" name="batchContractVersion"/>
<prop type="integer64" name="maxBatchSize"/>
<prop type="integer64" name="maxNestedBatchSize"/>
<prop type="array<string>" name="requiredFeatures">
<item type="string"/>
</prop>
<prop type="string" name="supportedOperations">
<enum>
<item value=""Delete""/>
<item value=""Get""/>
<item value=""NotSpecified""/>
</enum>
</prop>
</prop>
<prop type="array<object>" name="deleteDependencies" identifiers="requiredFeatures linkedProperty linkedType">
<item type="object">
<prop type="string" name="linkedProperty"/>
<prop type="string" name="linkedType"/>
<prop type="array<string>" name="requiredFeatures">
<item type="string"/>
</prop>
</item>
</prop>
<prop type="object" name="nestedProvisioningSupport">
<prop type="string" name="minimumApiVersion"/>
</prop>
</prop>
<prop type="object" name="resourceMovePolicy">
<prop type="boolean" name="crossResourceGroupMoveEnabled"/>
<prop type="boolean" name="crossSubscriptionMoveEnabled"/>
<prop type="boolean" name="validationRequired"/>
</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="resourceQueryManagement">
<prop type="string" name="filterOption">
<enum>
<item value=""EnableSubscriptionFilterOnTenant""/>
<item value=""NotSpecified""/>
</enum>
</prop>
</prop>
<prop type="string" name="resourceSubType">
<enum>
<item value=""AsyncOperation""/>
<item value=""NotSpecified""/>
</enum>
</prop>
<prop type="object" name="resourceTypeCommonAttributeManagement">
<prop type="string" name="commonApiVersionsMergeMode">
<enum>
<item value=""Merge""/>
<item value=""Overwrite""/>
</enum>
</prop>
</prop>
<prop type="string" name="resourceValidation">
<enum>
<item value=""NotSpecified""/>
<item value=""ProfaneWords""/>
<item value=""ReservedWords""/>
</enum>
</prop>
<prop type="object" name="routingRule">
<prop type="string" name="hostResourceType"/>
</prop>
<prop type="string" name="routingType">
<enum>
<item value=""CascadeExtension""/>
<item value=""Default""/>
<item value=""Extension""/>
<item value=""Failover""/>
<item value=""Fanout""/>
<item value=""HostBased""/>
<item value=""LocationBased""/>
<item value=""ProxyOnly""/>
<item value=""Tenant""/>
</enum>
</prop>
<prop type="array<object>" name="serviceTreeInfos">
<item type="object" cls="ServiceTreeInfo_read">
<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 type="string" name="skuLink"/>
<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="array<object>" name="subscriptionStateRules">
<item type="object">
<prop type="array<string>" name="allowedActions">
<item type="string"/>
</prop>
<prop type="string" name="state">
<enum>
<item value=""Deleted""/>
<item value=""Disabled""/>
<item value=""Enabled""/>
<item value=""NotDefined""/>
<item value=""PastDue""/>
<item value=""Warned""/>
</enum>
</prop>
</item>
</prop>
<prop type="boolean" name="superScaleEnabled"/>
<prop type="boolean" name="supportsTags"/>
<prop type="array<object>" name="swaggerSpecifications" identifiers="swaggerSpecFolderUri">
<item type="object">
<prop type="array<string>" name="apiVersions">
<item type="string"/>
</prop>
<prop type="string" name="swaggerSpecFolderUri"/>
</item>
</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="object" name="templateDeploymentPolicy">
<prop type="string" name="capabilities" required="True">
<enum>
<item value=""Default""/>
<item value=""Preflight""/>
</enum>
</prop>
<prop type="string" name="preflightNotifications">
<enum>
<item value=""None""/>
<item value=""UnregisteredSubscriptions""/>
</enum>
</prop>
<prop type="string" name="preflightOptions" required="True">
<enum>
<item value=""DeploymentRequests""/>
<item value=""None""/>
<item value=""RegisteredOnly""/>
<item value=""TestOnly""/>
<item value=""ValidationRequests""/>
</enum>
</prop>
</prop>
<prop type="array<object>" name="throttlingRules">
<item type="object">
<prop type="string" name="action" required="True"/>
<prop type="array<string>" name="applicationId">
<item type="string"/>
</prop>
<prop type="array<object>" name="metrics" required="True">
<item type="object">
<prop type="string" name="bucketSize"/>
<prop type="duration" name="interval"/>
<prop type="integer64" name="limit" required="True"/>
<prop type="string" name="type" required="True">
<enum>
<item value=""NotSpecified""/>
<item value=""NumberOfRequests""/>
<item value=""NumberOfResources""/>
</enum>
</prop>
</item>
</prop>
<prop type="array<string>" name="requiredFeatures">
<item type="string"/>
</prop>
</item>
</prop>
<prop type="@TokenAuthConfiguration_read" name="tokenAuthConfiguration"/>
<prop type="object" name="writeLock">
<prop type="string" name="state">
<default value=""Disabled""/>
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
</prop>
</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/{}/resourcetyperegistrations/{}" version="2025-03-01-preview" swagger="mgmt-plane/providerhub/ResourceProviders/Microsoft.ProviderHub/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9wcm92aWRlcnMvTWljcm9zb2Z0LlByb3ZpZGVySHViL3Byb3ZpZGVyUmVnaXN0cmF0aW9ucy97cHJvdmlkZXJOYW1lc3BhY2V9L3Jlc291cmNldHlwZVJlZ2lzdHJhdGlvbnMve3Jlc291cmNlVHlwZX0=/V/MjAyNS0wMy0wMS1wcmV2aWV3"/>
<argGroup name="">
<arg type="string" var="$Path.providerNamespace" options="provider-namespace" required="True" idPart="name">
<help short="The name of the resource provider hosted within ProviderHub."/>
</arg>
<arg type="string" var="$Path.resourceType" options="resource-type name n" required="True" idPart="child_name_1">
<help short="The resource type."/>
</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="Resource type 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="boolean" var="$properties.properties.addResourceListTargetLocations" options="add-resource-list-target-locations" group="Properties">
<help short="Add resource list target locations?"/>
</arg>
<arg nullable="True" type="string" var="$properties.properties.additionalOptions" options="additional-options" group="Properties">
<enum>
<item name="ProtectedAsyncOperationPolling" value=""ProtectedAsyncOperationPolling""/>
<item name="ProtectedAsyncOperationPollingAuditOnly" value=""ProtectedAsyncOperationPollingAuditOnly""/>
</enum>
</arg>
<arg nullable="True" type="boolean" var="$properties.properties.allowEmptyRoleAssignments" options="allow-empty-role-assignments" group="Properties"/>
<arg nullable="True" type="array<object>" var="$properties.properties.allowedResourceNames" options="allowed-resource-names" group="Properties">
<item nullable="True" type="object">
<arg nullable="True" type="string" var="$properties.properties.allowedResourceNames[].getActionVerb" options="get-action-verb">
<help short="Get action verb."/>
</arg>
<arg nullable="True" type="string" var="$properties.properties.allowedResourceNames[].name" options="name">
<help short="Resource name."/>
</arg>
</item>
</arg>
<arg nullable="True" type="array<string>" var="$properties.properties.allowedTemplateDeploymentReferenceActions" options="allowed-template-deployment-reference-actions" group="Properties">
<help short="Allowed template deployment reference actions."/>
<item nullable="True" type="string"/>
</arg>
<arg nullable="True" type="array<string>" var="$properties.properties.allowedUnauthorizedActions" options="allowed-unauthorized-actions" group="Properties">
<item nullable="True" type="string"/>
</arg>
<arg nullable="True" type="array<object>" var="$properties.properties.allowedUnauthorizedActionsExtensions" options="allowed-unauthorized-actions-extensions" group="Properties">
<item nullable="True" type="object">
<arg nullable="True" type="string" var="$properties.properties.allowedUnauthorizedActionsExtensions[].action" options="action"/>
<arg nullable="True" type="string" var="$properties.properties.allowedUnauthorizedActionsExtensions[].intent" options="intent">
<enum>
<item name="DEFERRED_ACCESS_CHECK" value=""DEFERRED_ACCESS_CHECK""/>
<item name="LOW_PRIVILEGE" value=""LOW_PRIVILEGE""/>
<item name="NOT_SPECIFIED" value=""NOT_SPECIFIED""/>
<item name="RP_CONTRACT" value=""RP_CONTRACT""/>
</enum>
</arg>
</item>
</arg>
<arg nullable="True" type="array<object>" var="$properties.properties.apiProfiles" options="api-profiles" group="Properties">
<item nullable="True" type="object">
<arg nullable="True" type="string" var="$properties.properties.apiProfiles[].apiVersion" options="api-version">
<help short="Api version."/>
</arg>
<arg nullable="True" type="string" var="$properties.properties.apiProfiles[].profileVersion" options="profile-version">
<help short="Profile version."/>
</arg>
</item>
</arg>
<arg nullable="True" type="string" var="$properties.properties.asyncOperationResourceTypeName" options="async-operation-resource-type-name" group="Properties"/>
<arg nullable="True" type="array<object>" var="$properties.properties.asyncTimeoutRules" options="async-timeout-rules" group="Properties">
<help short="Async timeout rules"/>
<item nullable="True" type="object">
<arg nullable="True" type="string" var="$properties.properties.asyncTimeoutRules[].actionName" options="action-name"/>
<arg nullable="True" type="string" var="$properties.properties.asyncTimeoutRules[].timeout" options="timeout"/>
</item>
</arg>
<arg nullable="True" type="array<object>" var="$properties.properties.authorizationActionMappings" options="authorization-action-mappings" group="Properties">
<item nullable="True" type="object">
<arg nullable="True" type="string" var="$properties.properties.authorizationActionMappings[].desired" options="desired"/>
<arg nullable="True" type="string" var="$properties.properties.authorizationActionMappings[].original" options="original"/>
</item>
</arg>
<arg nullable="True" type="object" var="$properties.properties.availabilityZoneRule" options="availability-zone-rule" group="Properties">
<arg nullable="True" type="string" var="$properties.properties.availabilityZoneRule.availabilityZonePolicy" options="availability-zone-policy">
<enum>
<item name="MultiZoned" value=""MultiZoned""/>
<item name="NotSpecified" value=""NotSpecified""/>
<item name="SingleZoned" value=""SingleZoned""/>
</enum>
</arg>
</arg>
<arg nullable="True" type="object" var="$properties.properties.capacityRule" options="capacity-rule" group="Properties">
<help short="Capacity rule."/>
<arg nullable="True" type="string" var="$properties.properties.capacityRule.capacityPolicy" options="capacity-policy">
<help short="Capacity policy."/>
<enum>
<item name="Default" value=""Default""/>
<item name="Restricted" value=""Restricted""/>
</enum>
</arg>
<arg nullable="True" type="string" var="$properties.properties.capacityRule.skuAlias" options="sku-alias">
<help short="Sku alias"/>
</arg>
</arg>
<arg nullable="True" type="string" var="$properties.properties.category" options="category" group="Properties">
<enum>
<item name="FreeForm" value=""FreeForm""/>
<item name="Internal" value=""Internal""/>
<item name="None" value=""None""/>
<item name="PureProxy" value=""PureProxy""/>
</enum>
</arg>
<arg nullable="True" type="object" var="$properties.properties.checkNameAvailabilitySpecifications" options="check-name-availability-specifications" group="Properties">
<arg nullable="True" type="boolean" var="$properties.properties.checkNameAvailabilitySpecifications.enableDefaultValidation" options="enable-default-validation"/>
<arg nullable="True" type="array<string>" var="$properties.properties.checkNameAvailabilitySpecifications.resourceTypesWithCustomValidation" options="resource-types-with-custom-validation">
<item nullable="True" type="string"/>
</arg>
</arg>
<arg nullable="True" type="array<string>" var="$properties.properties.commonApiVersions" options="common-api-versions" group="Properties">
<help short="Common API versions for the resource type."/>
<item nullable="True" type="string"/>
</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.defaultApiVersion" options="default-api-version" group="Properties"/>
<arg nullable="True" type="array<string>" var="$properties.properties.disallowedActionVerbs" options="disallowed-action-verbs" group="Properties">
<item nullable="True" type="string"/>
</arg>
<arg nullable="True" type="array<string>" var="$properties.properties.disallowedEndUserOperations" options="disallowed-end-user-operations" group="Properties">
<item nullable="True" type="string"/>
</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.enableAsyncOperation" options="enable-async-operation" group="Properties"/>
<arg nullable="True" type="boolean" var="$properties.properties.enableThirdPartyS2S" options="enable-third-party-s2-s" group="Properties"/>
<arg nullable="True" type="array<object>" var="$properties.properties.endpoints" options="endpoints" group="Properties">
<item nullable="True" type="object">
<arg nullable="True" type="string" var="$properties.properties.endpoints[].apiVersion" options="api-version">
<help short="Api version."/>
</arg>
<arg nullable="True" type="array<string>" var="$properties.properties.endpoints[].apiVersions" options="api-versions">
<item nullable="True" type="string"/>
</arg>
<arg nullable="True" type="string" var="$properties.properties.endpoints[].dataBoundary" options="data-boundary">
<enum>
<item name="EU" value=""EU""/>
<item name="Global" value=""Global""/>
<item name="NotDefined" value=""NotDefined""/>
<item name="US" value=""US""/>
</enum>
</arg>
<arg nullable="True" type="object" var="$properties.properties.endpoints[].dstsConfiguration" options="dsts-configuration">
<arg nullable="True" type="string" var="$properties.properties.endpoints[].dstsConfiguration.serviceDnsName" options="service-dns-name"/>
<arg type="string" var="$properties.properties.endpoints[].dstsConfiguration.serviceName" options="service-name"/>
</arg>
<arg nullable="True" type="boolean" var="$properties.properties.endpoints[].enabled" options="enabled"/>
<arg nullable="True" type="string" var="$properties.properties.endpoints[].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="$properties.properties.endpoints[].endpointUri" options="endpoint-uri"/>
<arg nullable="True" type="array<object>" var="$properties.properties.endpoints[].extensions" options="extensions">
<item nullable="True" type="object">
<arg nullable="True" type="string" var="$properties.properties.endpoints[].extensions[].endpointUri" options="endpoint-uri"/>
<arg nullable="True" type="array<string>" var="$properties.properties.endpoints[].extensions[].extensionCategories" options="extension-categories">
<item nullable="True" type="string">
<enum>
<item name="BestMatchOperationBegin" value=""BestMatchOperationBegin""/>
<item name="NotSpecified" value=""NotSpecified""/>
<item name="ResourceCreationBegin" value=""ResourceCreationBegin""/>
<item name="ResourceCreationCompleted" value=""ResourceCreationCompleted""/>
<item name="ResourceCreationValidate" value=""ResourceCreationValidate""/>
<item name="ResourceDeletionBegin" value=""ResourceDeletionBegin""/>
<item name="ResourceDeletionCompleted" value=""ResourceDeletionCompleted""/>
<item name="ResourceDeletionValidate" value=""ResourceDeletionValidate""/>
<item name="ResourceMoveBegin" value=""ResourceMoveBegin""/>
<item name="ResourceMoveCompleted" value=""ResourceMoveCompleted""/>
<item name="ResourcePatchBegin" value=""ResourcePatchBegin""/>
<item name="ResourcePatchCompleted" value=""ResourcePatchCompleted""/>
<item name="ResourcePatchValidate" value=""ResourcePatchValidate""/>
<item name="ResourcePostAction" value=""ResourcePostAction""/>
<item name="ResourceReadBegin" value=""ResourceReadBegin""/>
<item name="ResourceReadValidate" value=""ResourceReadValidate""/>
<item name="SubscriptionLifecycleNotification" value=""SubscriptionLifecycleNotification""/>
<item name="SubscriptionLifecycleNotificationDeletion" value=""SubscriptionLifecycleNotificationDeletion""/>
</enum>
</item>
</arg>
<arg nullable="True" type="duration" var="$properties.properties.endpoints[].extensions[].timeout" options="timeout"/>
</item>
</arg>
<arg nullable="True" type="object" var="$properties.properties.endpoints[].featuresRule" options="features-rule">
<arg type="string" var="$properties.properties.endpoints[].featuresRule.requiredFeaturesPolicy" options="required-features-policy">
<enum>
<item name="All" value=""All""/>
<item name="Any" value=""Any""/>
</enum>
</arg>
</arg>
<arg nullable="True" type="string" var="$properties.properties.endpoints[].kind" options="kind">
<help short="Resource type endpoint 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="Managed" value=""Managed""/>
</enum>
</arg>
<arg nullable="True" type="array<string>" var="$properties.properties.endpoints[].locations" options="locations">
<item nullable="True" type="string"/>
</arg>
<arg nullable="True" type="array<string>" var="$properties.properties.endpoints[].requiredFeatures" options="required-features">
<item nullable="True" type="string"/>
</arg>
<arg nullable="True" type="string" var="$properties.properties.endpoints[].skuLink" options="sku-link"/>
<arg nullable="True" type="duration" var="$properties.properties.endpoints[].timeout" options="timeout"/>
<arg nullable="True" type="object" var="$properties.properties.endpoints[].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>
<arg nullable="True" type="array<string>" var="$properties.properties.endpoints[].zones" options="zones">
<help short="List of zones."/>
<item nullable="True" type="string"/>
</arg>
</item>
</arg>
<arg nullable="True" type="array<object>" var="$properties.properties.extendedLocations" options="extended-locations" group="Properties">
<item nullable="True" type="object">
<arg nullable="True" type="string" var="$properties.properties.extendedLocations[].supportedPolicy" options="supported-policy"/>
<arg nullable="True" type="string" var="$properties.properties.extendedLocations[].type" options="type"/>
</item>
</arg>
<arg nullable="True" type="object" var="$properties.properties.extensionOptions" options="extension-options" group="Properties">
<arg nullable="True" type="object" var="$properties.properties.extensionOptions.resourceCreationBegin" options="resource-creation-begin">
<arg nullable="True" type="array<string>" var="$properties.properties.extensionOptions.resourceCreationBegin.request" options="request">
<item nullable="True" type="string">
<enum>
<item name="DoNotMergeExistingReadOnlyAndSecretProperties" value=""DoNotMergeExistingReadOnlyAndSecretProperties""/>
<item name="IncludeInternalMetadata" value=""IncludeInternalMetadata""/>
<item name="NotSpecified" value=""NotSpecified""/>
</enum>
</item>
</arg>
<arg nullable="True" type="array<string>" var="$properties.properties.extensionOptions.resourceCreationBegin.response" options="response">
<item nullable="True" type="string">
<enum>
<item name="DoNotMergeExistingReadOnlyAndSecretProperties" value=""DoNotMergeExistingReadOnlyAndSecretProperties""/>
<item name="IncludeInternalMetadata" value=""IncludeInternalMetadata""/>
<item name="NotSpecified" value=""NotSpecified""/>
</enum>
</item>
</arg>
</arg>
</arg>
<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="string" var="$properties.properties.frontdoorRequestMode" options="frontdoor-request-mode" group="Properties">
<enum>
<item name="NotSpecified" value=""NotSpecified""/>
<item name="UseManifest" value=""UseManifest""/>
</enum>
</arg>
<arg nullable="True" type="string" var="$properties.properties.groupingTag" options="grouping-tag" group="Properties">
<help short="Grouping tag."/>
</arg>
<arg nullable="True" type="object" var="$properties.properties.identityManagement" options="identity-management" group="Properties">
<arg nullable="True" type="string" var="$properties.properties.identityManagement.applicationId" options="application-id"/>
<arg nullable="True" type="array<string>" var="$properties.properties.identityManagement.applicationIds" options="application-ids">
<item nullable="True" type="string"/>
</arg>
<arg nullable="True" type="array<string>" var="$properties.properties.identityManagement.delegationAppIds" options="delegation-app-ids">
<item nullable="True" type="string"/>
</arg>
<arg nullable="True" type="string" var="$properties.properties.identityManagement.type" options="type">
<enum>
<item name="Actor" value=""Actor""/>
<item name="DelegatedResourceIdentity" value=""DelegatedResourceIdentity""/>
<item name="NotSpecified" value=""NotSpecified""/>
<item name="SystemAssigned" value=""SystemAssigned""/>
<item name="UserAssigned" value=""UserAssigned""/>
</enum>
</arg>
</arg>
<arg nullable="True" type="boolean" var="$properties.properties.isPureProxy" options="is-pure-proxy" group="Properties"/>
<arg nullable="True" type="string" var="$properties.properties.legacyName" options="legacy-name" group="Properties"/>
<arg nullable="True" type="array<string>" var="$properties.properties.legacyNames" options="legacy-names" group="Properties">
<item nullable="True" type="string"/>
</arg>
<arg nullable="True" type="object" var="$properties.properties.legacyPolicy" options="legacy-policy" group="Properties">
<arg nullable="True" type="array<object>" var="$properties.properties.legacyPolicy.disallowedConditions" options="disallowed-conditions">
<item nullable="True" type="object">
<arg nullable="True" type="array<string>" var="$properties.properties.legacyPolicy.disallowedConditions[].disallowedLegacyOperations" options="disallowed-legacy-operations">
<item nullable="True" type="string">
<enum>
<item name="Action" value=""Action""/>
<item name="AzureAsyncOperationWaiting" value=""AzureAsyncOperationWaiting""/>
<item name="Create" value=""Create""/>
<item name="Delete" value=""Delete""/>
<item name="DeploymentCleanup" value=""DeploymentCleanup""/>
<item name="EvaluateDeploymentOutput" value=""EvaluateDeploymentOutput""/>
<item name="NotSpecified" value=""NotSpecified""/>
<item name="Read" value=""Read""/>
<item name="ResourceCacheWaiting" value=""ResourceCacheWaiting""/>
<item name="Waiting" value=""Waiting""/>
</enum>
</item>
</arg>
<arg nullable="True" type="string" var="$properties.properties.legacyPolicy.disallowedConditions[].feature" options="feature">
<help short="Feature string."/>
</arg>
</item>
</arg>
<arg nullable="True" type="array<string>" var="$properties.properties.legacyPolicy.disallowedLegacyOperations" options="disallowed-legacy-operations">
<item nullable="True" type="string">
<enum>
<item name="Action" value=""Action""/>
<item name="AzureAsyncOperationWaiting" value=""AzureAsyncOperationWaiting""/>
<item name="Create" value=""Create""/>
<item name="Delete" value=""Delete""/>
<item name="DeploymentCleanup" value=""DeploymentCleanup""/>
<item name="EvaluateDeploymentOutput" value=""EvaluateDeploymentOutput""/>
<item name="NotSpecified" value=""NotSpecified""/>
<item name="Read" value=""Read""/>
<item name="ResourceCacheWaiting" value=""ResourceCacheWaiting""/>
<item name="Waiting" value=""Waiting""/>
</enum>
</item>
</arg>
</arg>
<arg nullable="True" type="array<object>" var="$properties.properties.linkedAccessChecks" options="linked-access-checks" group="Properties">
<item nullable="True" type="object">
<arg nullable="True" type="string" var="$properties.properties.linkedAccessChecks[].actionName" options="action-name"/>
<arg nullable="True" type="string" var="$properties.properties.linkedAccessChecks[].linkedAction" options="linked-action"/>
<arg nullable="True" type="string" var="$properties.properties.linkedAccessChecks[].linkedActionVerb" options="linked-action-verb"/>
<arg nullable="True" type="string" var="$properties.properties.linkedAccessChecks[].linkedProperty" options="linked-property"/>
<arg nullable="True" type="string" var="$properties.properties.linkedAccessChecks[].linkedType" options="linked-type"/>
</item>
</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="array<string>" var="$properties.properties.linkedNotificationRules[].actionsOnFailedOperation" options="actions-on-failed-operation">
<item nullable="True" type="string"/>
</arg>
<arg nullable="True" type="array<string>" var="$properties.properties.linkedNotificationRules[].fastPathActions" options="fast-path-actions">
<item nullable="True" type="string"/>
</arg>
<arg nullable="True" type="array<string>" var="$properties.properties.linkedNotificationRules[].fastPathActionsOnFailedOperation" options="fast-path-actions-on-failed-operation">
<item nullable="True" type="string"/>
</arg>
<arg nullable="True" type="duration" var="$properties.properties.linkedNotificationRules[].linkedNotificationTimeout" options="linked-notification-timeout"/>
</item>
</arg>
<arg nullable="True" type="array<object>" var="$properties.properties.linkedOperationRules" options="linked-operation-rules" group="Properties">
<item nullable="True" type="object">
<arg nullable="True" type="array<string>" var="$properties.properties.linkedOperationRules[].dependsOnTypes" options="depends-on-types">
<help short="Depends on types."/>
<item nullable="True" type="string"/>
</arg>
<arg type="string" var="$properties.properties.linkedOperationRules[].linkedAction" options="linked-action">
<enum>
<item name="Blocked" value=""Blocked""/>
<item name="Enabled" value=""Enabled""/>
<item name="NotSpecified" value=""NotSpecified""/>
<item name="Validate" value=""Validate""/>
</enum>
</arg>
<arg type="string" var="$properties.properties.linkedOperationRules[].linkedOperation" options="linked-operation">
<enum>
<item name="CrossResourceGroupResourceMove" value=""CrossResourceGroupResourceMove""/>
<item name="CrossSubscriptionResourceMove" value=""CrossSubscriptionResourceMove""/>
<item name="None" value=""None""/>
</enum>
</arg>
</item>
</arg>
<arg nullable="True" type="array<object>" var="$properties.properties.loggingRules" options="logging-rules" group="Properties">
<item nullable="True" type="object">
<arg type="string" var="$properties.properties.loggingRules[].action" options="action"/>
<arg type="string" var="$properties.properties.loggingRules[].detailLevel" options="detail-level">
<enum>
<item name="Body" value=""Body""/>
<item name="None" value=""None""/>
</enum>
</arg>
<arg type="string" var="$properties.properties.loggingRules[].direction" options="direction">
<enum>
<item name="None" value=""None""/>
<item name="Request" value=""Request""/>
<item name="Response" value=""Response""/>
</enum>
</arg>
<arg nullable="True" type="object" var="$properties.properties.loggingRules[].hiddenPropertyPaths" options="hidden-property-paths">
<arg nullable="True" type="array<string>" var="$properties.properties.loggingRules[].hiddenPropertyPaths.hiddenPathsOnRequest" options="hidden-paths-on-request">
<item nullable="True" type="string"/>
</arg>
<arg nullable="True" type="array<string>" var="$properties.properties.loggingRules[].hiddenPropertyPaths.hiddenPathsOnResponse" options="hidden-paths-on-response">
<item nullable="True" type="string"/>
</arg>
</arg>
</item>
</arg>
<arg nullable="True" type="object" var="$properties.properties.managedResourceGroupConfiguration" options="managed-resource-group-configuration" group="Properties">
<arg nullable="True" type="array<string>" var="$properties.properties.managedResourceGroupConfiguration.applicationIds" options="application-ids">
<item nullable="True" type="string"/>
</arg>
<arg nullable="True" type="object" var="$properties.properties.managedResourceGroupConfiguration.denyAssignmentConfiguration" options="deny-assignment-configuration">
<arg nullable="True" type="boolean" var="$properties.properties.managedResourceGroupConfiguration.denyAssignmentConfiguration.enabled" options="enabled"/>
<arg nullable="True" type="array<string>" var="$properties.properties.managedResourceGroupConfiguration.denyAssignmentConfiguration.notActions" options="not-actions">
<item nullable="True" type="string"/>
</arg>
</arg>
<arg nullable="True" type="boolean" var="$properties.properties.managedResourceGroupConfiguration.enabled" options="enabled"/>
<arg nullable="True" type="string" var="$properties.properties.managedResourceGroupConfiguration.resourceGroupLocationOverride" options="resource-group-location-override"/>
</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<@ServiceTreeInfo_update>" var="$properties.properties.management.serviceTreeInfos" options="service-tree-infos">
<item nullable="True" type="@ServiceTreeInfo_update"/>
</arg>
</arg>
<arg nullable="True" type="string" var="$properties.properties.manifestLink" options="manifest-link" group="Properties">
<help short="Manifest link."/>
</arg>
<arg nullable="True" type="object" var="$properties.properties.marketplaceOptions" options="marketplace-options" group="Properties">
<help short="Marketplace options."/>
<arg nullable="True" type="boolean" var="$properties.properties.marketplaceOptions.addOnPlanConversionAllowed" options="add-on-plan-conversion-allowed">
<help short="Add-on plan conversion allowed."/>
</arg>
</arg>
<arg nullable="True" type="string" var="$properties.properties.marketplaceType" options="marketplace-type" group="Properties">
<enum>
<item name="AddOn" value=""AddOn""/>
<item name="Bypass" value=""Bypass""/>
<item name="NotSpecified" value=""NotSpecified""/>
<item name="ProviderHub" value=""ProviderHub""/>
<item name="Store" value=""Store""/>
</enum>
</arg>
<arg nullable="True" type="object" var="$properties.properties.metadata" options="metadata" group="Properties">
<additionalProp>
<item nullable="True" type="object">
<additionalProp anyType="True"/>
</item>
</additionalProp>
</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="object" var="$properties.properties.onBehalfOfTokens" options="on-behalf-of-tokens" group="Properties">
<arg nullable="True" type="string" var="$properties.properties.onBehalfOfTokens.actionName" options="action-name"/>
<arg nullable="True" type="string" var="$properties.properties.onBehalfOfTokens.lifeTime" options="life-time"/>
</arg>
<arg nullable="True" type="object" var="$properties.properties.openApiConfiguration" options="open-api-configuration" group="Properties">
<arg nullable="True" type="object" var="$properties.properties.openApiConfiguration.validation" options="validation">
<arg nullable="True" type="boolean" var="$properties.properties.openApiConfiguration.validation.allowNoncompliantCollectionResponse" options="allow-noncompliant-collection-response">
<help short="Indicates whether a non compliance response is allowed for a LIST call"/>
</arg>
</arg>
</arg>
<arg nullable="True" type="string" var="$properties.properties.policyExecutionType" options="policy-execution-type" group="Properties">
<enum>
<item name="BypassPolicies" value=""BypassPolicies""/>
<item name="ExecutePolicies" value=""ExecutePolicies""/>
<item name="ExpectPartialPutRequests" value=""ExpectPartialPutRequests""/>
<item name="NotSpecified" value=""NotSpecified""/>
</enum>
</arg>
<arg nullable="True" type="object" var="$properties.properties.privateEndpointConfiguration" options="private-endpoint-configuration" group="Properties">
<arg type="array<object>" var="$properties.properties.privateEndpointConfiguration.groupConnectivityInformation" options="group-connectivity-information">
<help short="The list of group connectivity information."/>
<item nullable="True" type="object">
<arg type="string" var="$properties.properties.privateEndpointConfiguration.groupConnectivityInformation[].groupId" options="group-id">
<help short="The group id."/>
</arg>
<arg nullable="True" type="string" var="$properties.properties.privateEndpointConfiguration.groupConnectivityInformation[].redirectMapId" options="redirect-map-id">
<help short="The redirect map id."/>
</arg>
<arg type="array<string>" var="$properties.properties.privateEndpointConfiguration.groupConnectivityInformation[].requiredMembers" options="required-members">
<help short="List of required members for the group id."/>
<item nullable="True" type="string"/>
</arg>
<arg type="array<string>" var="$properties.properties.privateEndpointConfiguration.groupConnectivityInformation[].requiredZoneNames" options="required-zone-names">
<help short="List of required zone names for the group id."/>
<item nullable="True" type="string"/>
</arg>
</item>
</arg>
<arg type="string" var="$properties.properties.privateEndpointConfiguration.minApiVersion" options="min-api-version">
<help short="The first api version that support private endpoint."/>
</arg>
</arg>
<arg nullable="True" type="object" var="$properties.properties.quotaRule" options="quota-rule" group="Properties">
<arg nullable="True" type="array<object>" var="$properties.properties.quotaRule.locationRules" options="location-rules">
<item nullable="True" type="object">
<arg nullable="True" type="string" var="$properties.properties.quotaRule.locationRules[].location" options="location"/>
<arg nullable="True" type="string" var="$properties.properties.quotaRule.locationRules[].policy" options="policy">
<help short="Quota policy."/>
<enum>
<item name="Default" value=""Default""/>
<item name="None" value=""None""/>
<item name="Restricted" value=""Restricted""/>
</enum>
</arg>
<arg nullable="True" type="string" var="$properties.properties.quotaRule.locationRules[].quotaId" options="quota-id"/>
</item>
</arg>
<arg nullable="True" type="string" var="$properties.properties.quotaRule.quotaPolicy" options="quota-policy">
<help short="Quota policy."/>
<enum>
<item name="Default" value=""Default""/>
<item name="None" value=""None""/>
<item name="Restricted" value=""Restricted""/>
</enum>
</arg>
<arg nullable="True" type="array<string>" var="$properties.properties.quotaRule.requiredFeatures" options="required-features">
<item nullable="True" type="string"/>
</arg>
</arg>
<arg nullable="True" type="string" var="$properties.properties.regionality" options="regionality" group="Properties">
<enum>
<item name="Global" value=""Global""/>
<item name="NotSpecified" value=""NotSpecified""/>
<item name="Regional" value=""Regional""/>
</enum>
</arg>
<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.resourceCache" options="resource-cache" group="Properties">
<help short="Resource cache options."/>
<arg nullable="True" type="boolean" var="$properties.properties.resourceCache.enableResourceCache" options="enable-resource-cache">
<help short="Enable resource cache."/>
</arg>
<arg nullable="True" type="string" var="$properties.properties.resourceCache.resourceCacheExpirationTimespan" options="resource-cache-expiration-timespan">
<help short="Resource cache expiration timespan."/>
</arg>
</arg>
<arg nullable="True" type="object" var="$properties.properties.resourceConcurrencyControlOptions" options="resource-concurrency-control-options" group="Properties">
<additionalProp>
<item nullable="True" type="object">
<arg nullable="True" type="string" var="$properties.properties.resourceConcurrencyControlOptions{}.policy" options="policy">
<enum>
<item name="NotSpecified" value=""NotSpecified""/>
<item name="SynchronizeBeginExtension" value=""SynchronizeBeginExtension""/>
</enum>
</arg>
</item>
</additionalProp>
</arg>
<arg nullable="True" type="string" var="$properties.properties.resourceDeletionPolicy" options="resource-deletion-policy" group="Properties">
<enum>
<item name="CascadeDeleteAll" value=""CascadeDeleteAll""/>
<item name="CascadeDeleteProxyOnlyChildren" value=""CascadeDeleteProxyOnlyChildren""/>
<item name="NotSpecified" value=""NotSpecified""/>
</enum>
</arg>
<arg nullable="True" type="object" var="$properties.properties.resourceGraphConfiguration" options="resource-graph-configuration" group="Properties">
<arg nullable="True" type="string" var="$properties.properties.resourceGraphConfiguration.apiVersion" options="api-version"/>
<arg nullable="True" type="boolean" var="$properties.properties.resourceGraphConfiguration.enabled" options="enabled"/>
</arg>
<arg nullable="True" type="object" var="$properties.properties.resourceManagementOptions" options="resource-management-options" group="Properties">
<help short="Resource management options."/>
<arg nullable="True" type="object" var="$properties.properties.resourceManagementOptions.batchProvisioningSupport" options="batch-provisioning-support">
<help short="Batch provisioning support."/>
<arg nullable="True" type="array<object>" var="$properties.properties.resourceManagementOptions.batchProvisioningSupport.actionConfigurations" options="action-configurations">
<help short="Action Configurations."/>
<item nullable="True" type="object">
<arg nullable="True" type="string" var="$properties.properties.resourceManagementOptions.batchProvisioningSupport.actionConfigurations[].authorizationAction" options="authorization-action">
<help short="Authorization action."/>
</arg>
<arg nullable="True" type="integer64" var="$properties.properties.resourceManagementOptions.batchProvisioningSupport.actionConfigurations[].maxBatchSize" options="max-batch-size"/>
</item>
</arg>
<arg nullable="True" type="string" var="$properties.properties.resourceManagementOptions.batchProvisioningSupport.batchContractVersion" options="batch-contract-version">
<help short="Batch contract version."/>
</arg>
<arg nullable="True" type="integer64" var="$properties.properties.resourceManagementOptions.batchProvisioningSupport.maxBatchSize" options="max-batch-size"/>
<arg nullable="True" type="integer64" var="$properties.properties.resourceManagementOptions.batchProvisioningSupport.maxNestedBatchSize" options="max-nested-batch-size"/>
<arg nullable="True" type="array<string>" var="$properties.properties.resourceManagementOptions.batchProvisioningSupport.requiredFeatures" options="required-features">
<item nullable="True" type="string"/>
</arg>
<arg nullable="True" type="string" var="$properties.properties.resourceManagementOptions.batchProvisioningSupport.supportedOperations" options="supported-operations">
<help short="Supported operations."/>
<enum>
<item name="Delete" value=""Delete""/>
<item name="Get" value=""Get""/>
<item name="NotSpecified" value=""NotSpecified""/>
</enum>
</arg>
</arg>
<arg nullable="True" type="array<object>" var="$properties.properties.resourceManagementOptions.deleteDependencies" options="delete-dependencies">
<help short="Delete dependencies."/>
<item nullable="True" type="object">
<arg nullable="True" type="string" var="$properties.properties.resourceManagementOptions.deleteDependencies[].linkedProperty" options="linked-property">
<help short="Linked property."/>
</arg>
<arg nullable="True" type="string" var="$properties.properties.resourceManagementOptions.deleteDependencies[].linkedType" options="linked-type">
<help short="Linked type."/>
</arg>
<arg nullable="True" type="array<string>" var="$properties.properties.resourceManagementOptions.deleteDependencies[].requiredFeatures" options="required-features">
<help short="Required features."/>
<item nullable="True" type="string"/>
</arg>
</item>
</arg>
<arg nullable="True" type="object" var="$properties.properties.resourceManagementOptions.nestedProvisioningSupport" options="nested-provisioning-support">
<help short="Nested provisioning support."/>
<arg nullable="True" type="string" var="$properties.properties.resourceManagementOptions.nestedProvisioningSupport.minimumApiVersion" options="minimum-api-version">
<help short="Minimum API version."/>
</arg>
</arg>
</arg>
<arg nullable="True" type="object" var="$properties.properties.resourceMovePolicy" options="resource-move-policy" group="Properties">
<arg nullable="True" type="boolean" var="$properties.properties.resourceMovePolicy.crossResourceGroupMoveEnabled" options="cross-resource-group-move-enabled"/>
<arg nullable="True" type="boolean" var="$properties.properties.resourceMovePolicy.crossSubscriptionMoveEnabled" options="cross-subscription-move-enabled"/>
<arg nullable="True" type="boolean" var="$properties.properties.resourceMovePolicy.validationRequired" options="validation-required"/>
</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.resourceQueryManagement" options="resource-query-management" group="Properties">
<help short="Resource query management options."/>
<arg nullable="True" type="string" var="$properties.properties.resourceQueryManagement.filterOption" options="filter-option">
<help short="Filter option."/>
<enum>
<item name="EnableSubscriptionFilterOnTenant" value=""EnableSubscriptionFilterOnTenant""/>
<item name="NotSpecified" value=""NotSpecified""/>
</enum>
</arg>
</arg>
<arg nullable="True" type="string" var="$properties.properties.resourceSubType" options="resource-sub-type" group="Properties">
<enum>
<item name="AsyncOperation" value=""AsyncOperation""/>
<item name="NotSpecified" value=""NotSpecified""/>
</enum>
</arg>
<arg nullable="True" type="object" var="$properties.properties.resourceTypeCommonAttributeManagement" options="resource-type-common-attribute-management" group="Properties">
<help short="Resource type common attribute management."/>
<arg nullable="True" type="string" var="$properties.properties.resourceTypeCommonAttributeManagement.commonApiVersionsMergeMode" options="common-api-versions-merge-mode">
<help short="Common api versions merge mode."/>
<enum>
<item name="Merge" value=""Merge""/>
<item name="Overwrite" value=""Overwrite""/>
</enum>
</arg>
</arg>
<arg nullable="True" type="string" var="$properties.properties.resourceValidation" options="resource-validation" group="Properties">
<enum>
<item name="NotSpecified" value=""NotSpecified""/>
<item name="ProfaneWords" value=""ProfaneWords""/>
<item name="ReservedWords" value=""ReservedWords""/>
</enum>
</arg>
<arg nullable="True" type="object" var="$properties.properties.routingRule" options="routing-rule" group="Properties">
<help short="Routing rule."/>
<arg nullable="True" type="string" var="$properties.properties.routingRule.hostResourceType" options="host-resource-type">
<help short="Hosted resource type."/>
</arg>
</arg>
<arg nullable="True" type="string" var="$properties.properties.routingType" options="routing-type" group="Properties">
<enum>
<item name="CascadeExtension" value=""CascadeExtension""/>
<item name="Default" value=""Default""/>
<item name="Extension" value=""Extension""/>
<item name="Failover" value=""Failover""/>
<item name="Fanout" value=""Fanout""/>
<item name="HostBased" value=""HostBased""/>
<item name="LocationBased" value=""LocationBased""/>
<item name="ProxyOnly" value=""ProxyOnly""/>
<item name="Tenant" value=""Tenant""/>
</enum>
</arg>
<arg nullable="True" type="array<object>" var="$properties.properties.serviceTreeInfos" options="service-tree-infos" group="Properties">
<item nullable="True" type="object" cls="ServiceTreeInfo_update">
<arg nullable="True" type="string" var="@ServiceTreeInfo_update.componentId" options="component-id"/>
<arg nullable="True" type="string" var="@ServiceTreeInfo_update.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="@ServiceTreeInfo_update.serviceId" options="service-id"/>
</item>
</arg>
<arg nullable="True" type="string" var="$properties.properties.skuLink" options="sku-link" group="Properties"/>
<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="array<object>" var="$properties.properties.subscriptionStateRules" options="subscription-state-rules" group="Properties">
<item nullable="True" type="object">
<arg nullable="True" type="array<string>" var="$properties.properties.subscriptionStateRules[].allowedActions" options="allowed-actions">
<item nullable="True" type="string"/>
</arg>
<arg nullable="True" type="string" var="$properties.properties.subscriptionStateRules[].state" options="state">
<enum>
<item name="Deleted" value=""Deleted""/>
<item name="Disabled" value=""Disabled""/>
<item name="Enabled" value=""Enabled""/>
<item name="NotDefined" value=""NotDefined""/>
<item name="PastDue" value=""PastDue""/>
<item name="Warned" value=""Warned""/>
</enum>
</arg>
</item>
</arg>
<arg nullable="True" type="boolean" var="$properties.properties.superScaleEnabled" options="super-scale-enabled" group="Properties"/>
<arg nullable="True" type="boolean" var="$properties.properties.supportsTags" options="supports-tags" group="Properties"/>
<arg nullable="True" type="array<object>" var="$properties.properties.swaggerSpecifications" options="swagger-specifications" group="Properties">
<item nullable="True" type="object">
<arg nullable="True" type="array<string>" var="$properties.properties.swaggerSpecifications[].apiVersions" options="api-versions">
<item nullable="True" type="string"/>
</arg>
<arg nullable="True" type="string" var="$properties.properties.swaggerSpecifications[].swaggerSpecFolderUri" options="swagger-spec-folder-uri"/>
</item>
</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="object" var="$properties.properties.templateDeploymentPolicy" options="template-deployment-policy" group="Properties">
<arg type="string" var="$properties.properties.templateDeploymentPolicy.capabilities" options="capabilities">
<enum>
<item name="Default" value=""Default""/>
<item name="Preflight" value=""Preflight""/>
</enum>
</arg>
<arg nullable="True" type="string" var="$properties.properties.templateDeploymentPolicy.preflightNotifications" options="preflight-notifications">
<enum>
<item name="None" value=""None""/>
<item name="UnregisteredSubscriptions" value=""UnregisteredSubscriptions""/>
</enum>
</arg>
<arg type="string" var="$properties.properties.templateDeploymentPolicy.preflightOptions" options="preflight-options">
<enum>
<item name="DeploymentRequests" value=""DeploymentRequests""/>
<item name="None" value=""None""/>
<item name="RegisteredOnly" value=""RegisteredOnly""/>
<item name="TestOnly" value=""TestOnly""/>
<item name="ValidationRequests" value=""ValidationRequests""/>
</enum>
</arg>
</arg>
<arg nullable="True" type="array<object>" var="$properties.properties.throttlingRules" options="throttling-rules" group="Properties">
<item nullable="True" type="object">
<arg type="string" var="$properties.properties.throttlingRules[].action" options="action"/>
<arg nullable="True" type="array<string>" var="$properties.properties.throttlingRules[].applicationId" options="application-id">
<item nullable="True" type="string"/>
</arg>
<arg type="array<object>" var="$properties.properties.throttlingRules[].metrics" options="metrics">
<item nullable="True" type="object">
<arg nullable="True" type="string" var="$properties.properties.throttlingRules[].metrics[].bucketSize" options="bucket-size"/>
<arg nullable="True" type="duration" var="$properties.properties.throttlingRules[].metrics[].interval" options="interval"/>
<arg type="integer64" var="$properties.properties.throttlingRules[].metrics[].limit" options="limit"/>
<arg type="string" var="$properties.properties.throttlingRules[].metrics[].type" options="type">
<enum>
<item name="NotSpecified" value=""NotSpecified""/>
<item name="NumberOfRequests" value=""NumberOfRequests""/>
<item name="NumberOfResources" value=""NumberOfResources""/>
</enum>
</arg>
</item>
</arg>
<arg nullable="True" type="array<string>" var="$properties.properties.throttlingRules[].requiredFeatures" options="required-features">
<item nullable="True" type="string"/>
</arg>
</item>
</arg>
<arg nullable="True" type="@TokenAuthConfiguration_update" var="$properties.properties.tokenAuthConfiguration" options="token-auth-configuration" group="Properties"/>
<arg nullable="True" type="object" var="$properties.properties.writeLock" options="write-lock" group="Properties">
<arg nullable="True" type="string" var="$properties.properties.writeLock.state" options="state">
<help short="The state of write lock feature. The feature will ensure a deterministic sequence of write-operation within and across the verbs. Also the feature will ensure that the semantics of synchronous and long-running operations are honored."/>
<enum>
<item name="Disabled" value=""Disabled""/>
<item name="Enabled" value=""Enabled""/>
</enum>
</arg>
</arg>
</argGroup>
<operation operationId="ResourceTypeRegistrations_Get">
<http path="/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}">
<request method="get">
<path>
<param type="string" name="providerNamespace" arg="$Path.providerNamespace" required="True"/>
<param type="string" name="resourceType" arg="$Path.resourceType" 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="ResourceTypeRegistration_read">
<prop readOnly="True" type="ResourceId" name="id">
<format template="/subscriptions/{}/providers/Microsoft.ProviderHub/providerRegistrations/{}/resourcetypeRegistrations/{}"/>
</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="boolean" name="addResourceListTargetLocations"/>
<prop type="string" name="additionalOptions">
<enum>
<item value=""ProtectedAsyncOperationPolling""/>
<item value=""ProtectedAsyncOperationPollingAuditOnly""/>
</enum>
</prop>
<prop type="boolean" name="allowEmptyRoleAssignments"/>
<prop type="array<object>" name="allowedResourceNames" identifiers="getActionVerb name">
<item type="object">
<prop type="string" name="getActionVerb"/>
<prop type="string" name="name"/>
</item>
</prop>
<prop type="array<string>" name="allowedTemplateDeploymentReferenceActions">
<item type="string"/>
</prop>
<prop type="array<string>" name="allowedUnauthorizedActions">
<item type="string"/>
</prop>
<prop type="array<object>" name="allowedUnauthorizedActionsExtensions">
<item type="object">
<prop type="string" name="action"/>
<prop type="string" name="intent">
<enum>
<item value=""DEFERRED_ACCESS_CHECK""/>
<item value=""LOW_PRIVILEGE""/>
<item value=""NOT_SPECIFIED""/>
<item value=""RP_CONTRACT""/>
</enum>
</prop>
</item>
</prop>
<prop type="array<object>" name="apiProfiles" identifiers="profileVersion apiVersion">
<item type="object">
<prop type="string" name="apiVersion"/>
<prop type="string" name="profileVersion"/>
</item>
</prop>
<prop type="string" name="asyncOperationResourceTypeName"/>
<prop type="array<object>" name="asyncTimeoutRules">
<item type="object">
<prop type="string" name="actionName"/>
<prop type="string" name="timeout"/>
</item>
</prop>
<prop type="array<object>" name="authorizationActionMappings" identifiers="original">
<item type="object">
<prop type="string" name="desired"/>
<prop type="string" name="original"/>
</item>
</prop>
<prop type="object" name="availabilityZoneRule">
<prop type="string" name="availabilityZonePolicy">
<enum>
<item value=""MultiZoned""/>
<item value=""NotSpecified""/>
<item value=""SingleZoned""/>
</enum>
</prop>
</prop>
<prop type="object" name="capacityRule">
<prop type="string" name="capacityPolicy">
<enum>
<item value=""Default""/>
<item value=""Restricted""/>
</enum>
</prop>
<prop type="string" name="skuAlias"/>
</prop>
<prop type="string" name="category">
<enum>
<item value=""FreeForm""/>
<item value=""Internal""/>
<item value=""None""/>
<item value=""PureProxy""/>
</enum>
</prop>
<prop type="object" name="checkNameAvailabilitySpecifications">
<prop type="boolean" name="enableDefaultValidation"/>
<prop type="array<string>" name="resourceTypesWithCustomValidation">
<item type="string"/>
</prop>
</prop>
<prop type="array<string>" name="commonApiVersions">
<item type="string"/>
</prop>
<prop type="string" name="crossTenantTokenValidation">
<enum>
<item value=""EnsureSecureValidation""/>
<item value=""PassthroughInsecureToken""/>
</enum>
</prop>
<prop type="string" name="defaultApiVersion"/>
<prop type="array<string>" name="disallowedActionVerbs">
<item type="string"/>
</prop>
<prop type="array<string>" name="disallowedEndUserOperations">
<item type="string"/>
</prop>
<prop type="object" name="dstsConfiguration">
<prop type="string" name="serviceDnsName"/>
<prop type="string" name="serviceName" required="True"/>
</prop>
<prop type="boolean" name="enableAsyncOperation"/>
<prop type="boolean" name="enableThirdPartyS2S"/>
<prop type="array<object>" name="endpoints">
<item type="object">
<prop type="string" name="apiVersion"/>
<prop type="array<string>" name="apiVersions">
<item type="string"/>
</prop>
<prop type="string" name="dataBoundary">
<enum>
<item value=""EU""/>
<item value=""Global""/>
<item value=""NotDefined""/>
<item value=""US""/>
</enum>
</prop>
<prop type="object" name="dstsConfiguration">
<prop type="string" name="serviceDnsName"/>
<prop type="string" name="serviceName" required="True"/>
</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="array<object>" name="extensions" identifiers="endpointUri">
<item type="object">
<prop type="string" name="endpointUri"/>
<prop type="array<string>" name="extensionCategories">
<item type="string">
<enum>
<item value=""BestMatchOperationBegin""/>
<item value=""NotSpecified""/>
<item value=""ResourceCreationBegin""/>
<item value=""ResourceCreationCompleted""/>
<item value=""ResourceCreationValidate""/>
<item value=""ResourceDeletionBegin""/>
<item value=""ResourceDeletionCompleted""/>
<item value=""ResourceDeletionValidate""/>
<item value=""ResourceMoveBegin""/>
<item value=""ResourceMoveCompleted""/>
<item value=""ResourcePatchBegin""/>
<item value=""ResourcePatchCompleted""/>
<item value=""ResourcePatchValidate""/>
<item value=""ResourcePostAction""/>
<item value=""ResourceReadBegin""/>
<item value=""ResourceReadValidate""/>
<item value=""SubscriptionLifecycleNotification""/>
<item value=""SubscriptionLifecycleNotificationDeletion""/>
</enum>
</item>
</prop>
<prop type="duration" name="timeout"/>
</item>
</prop>
<prop type="object" name="featuresRule">
<prop type="string" name="requiredFeaturesPolicy" required="True">
<enum>
<item value=""All""/>
<item value=""Any""/>
</enum>
</prop>
</prop>
<prop type="string" name="kind">
<default value=""Managed""/>
<enum>
<item value=""Direct""/>
<item value=""Managed""/>
</enum>
</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"/>
<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>
<prop type="array<string>" name="zones">
<item type="string"/>
</prop>
</item>
</prop>
<prop type="array<object>" name="extendedLocations">
<item type="object">
<prop type="string" name="supportedPolicy"/>
<prop type="string" name="type"/>
</item>
</prop>
<prop type="object" name="extensionOptions">
<prop type="object" name="resourceCreationBegin">
<prop type="array<string>" name="request">
<item type="string">
<enum>
<item value=""DoNotMergeExistingReadOnlyAndSecretProperties""/>
<item value=""IncludeInternalMetadata""/>
<item value=""NotSpecified""/>
</enum>
</item>
</prop>
<prop type="array<string>" name="response">
<item type="string">
<enum>
<item value=""DoNotMergeExistingReadOnlyAndSecretProperties""/>
<item value=""IncludeInternalMetadata""/>
<item value=""NotSpecified""/>
</enum>
</item>
</prop>
</prop>
</prop>
<prop type="object" name="featuresRule">
<prop type="string" name="requiredFeaturesPolicy" required="True">
<enum>
<item value=""All""/>
<item value=""Any""/>
</enum>
</prop>
</prop>
<prop type="string" name="frontdoorRequestMode">
<enum>
<item value=""NotSpecified""/>
<item value=""UseManifest""/>
</enum>
</prop>
<prop type="string" name="groupingTag"/>
<prop type="object" name="identityManagement">
<prop type="string" name="applicationId"/>
<prop type="array<string>" name="applicationIds">
<item type="string"/>
</prop>
<prop type="array<string>" name="delegationAppIds">
<item type="string"/>
</prop>
<prop type="string" name="type">
<enum>
<item value=""Actor""/>
<item value=""DelegatedResourceIdentity""/>
<item value=""NotSpecified""/>
<item value=""SystemAssigned""/>
<item value=""UserAssigned""/>
</enum>
</prop>
</prop>
<prop type="boolean" name="isPureProxy"/>
<prop type="string" name="legacyName"/>
<prop type="array<string>" name="legacyNames">
<item type="string"/>
</prop>
<prop type="object" name="legacyPolicy">
<prop type="array<object>" name="disallowedConditions">
<item type="object">
<prop type="array<string>" name="disallowedLegacyOperations">
<item type="string">
<enum>
<item value=""Action""/>
<item value=""AzureAsyncOperationWaiting""/>
<item value=""Create""/>
<item value=""Delete""/>
<item value=""DeploymentCleanup""/>
<item value=""EvaluateDeploymentOutput""/>
<item value=""NotSpecified""/>
<item value=""Read""/>
<item value=""ResourceCacheWaiting""/>
<item value=""Waiting""/>
</enum>
</item>
</prop>
<prop type="string" name="feature"/>
</item>
</prop>
<prop type="array<string>" name="disallowedLegacyOperations">
<item type="string">
<enum>
<item value=""Action""/>
<item value=""AzureAsyncOperationWaiting""/>
<item value=""Create""/>
<item value=""Delete""/>
<item value=""DeploymentCleanup""/>
<item value=""EvaluateDeploymentOutput""/>
<item value=""NotSpecified""/>
<item value=""Read""/>
<item value=""ResourceCacheWaiting""/>
<item value=""Waiting""/>
</enum>
</item>
</prop>
</prop>
<prop type="array<object>" name="linkedAccessChecks">
<item type="object">
<prop type="string" name="actionName"/>
<prop type="string" name="linkedAction"/>
<prop type="string" name="linkedActionVerb"/>
<prop type="string" name="linkedProperty"/>
<prop type="string" name="linkedType"/>
<prop readOnly="True" type="string" name="options">
<enum>
<item value=""IgnoreEmptyStringLinkedType""/>
<item value=""NotSpecified""/>
</enum>
</prop>
</item>
</prop>
<prop type="array<object>" name="linkedNotificationRules">
<item type="object">
<prop type="array<string>" name="actions">
<item type="string"/>
</prop>
<prop type="array<string>" name="actionsOnFailedOperation">
<item type="string"/>
</prop>
<prop type="array<string>" name="fastPathActions">
<item type="string"/>
</prop>
<prop type="array<string>" name="fastPathActionsOnFailedOperation">
<item type="string"/>
</prop>
<prop type="duration" name="linkedNotificationTimeout"/>
</item>
</prop>
<prop type="array<object>" name="linkedOperationRules" identifiers="linkedOperation linkedAction">
<item type="object">
<prop type="array<string>" name="dependsOnTypes">
<item type="string"/>
</prop>
<prop type="string" name="linkedAction" required="True">
<enum>
<item value=""Blocked""/>
<item value=""Enabled""/>
<item value=""NotSpecified""/>
<item value=""Validate""/>
</enum>
</prop>
<prop type="string" name="linkedOperation" required="True">
<enum>
<item value=""CrossResourceGroupResourceMove""/>
<item value=""CrossSubscriptionResourceMove""/>
<item value=""None""/>
</enum>
</prop>
</item>
</prop>
<prop type="array<object>" name="loggingRules">
<item type="object">
<prop type="string" name="action" required="True"/>
<prop type="string" name="detailLevel" required="True">
<enum>
<item value=""Body""/>
<item value=""None""/>
</enum>
</prop>
<prop type="string" name="direction" required="True">
<enum>
<item value=""None""/>
<item value=""Request""/>
<item value=""Response""/>
</enum>
</prop>
<prop type="object" name="hiddenPropertyPaths">
<prop type="array<string>" name="hiddenPathsOnRequest">
<item type="string"/>
</prop>
<prop type="array<string>" name="hiddenPathsOnResponse">
<item type="string"/>
</prop>
</prop>
</item>
</prop>
<prop type="object" name="managedResourceGroupConfiguration">
<prop type="array<string>" name="applicationIds">
<item type="string"/>
</prop>
<prop type="object" name="denyAssignmentConfiguration">
<prop type="boolean" name="enabled"/>
<prop type="array<string>" name="notActions">
<item type="string"/>
</prop>
</prop>
<prop type="boolean" name="enabled"/>
<prop type="string" name="resourceGroupLocationOverride"/>
</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<@ServiceTreeInfo_read>" name="serviceTreeInfos">
<item type="@ServiceTreeInfo_read"/>
</prop>
</prop>
<prop type="string" name="manifestLink"/>
<prop type="object" name="marketplaceOptions">
<prop type="boolean" name="addOnPlanConversionAllowed"/>
</prop>
<prop type="string" name="marketplaceType">
<enum>
<item value=""AddOn""/>
<item value=""Bypass""/>
<item value=""NotSpecified""/>
<item value=""ProviderHub""/>
<item value=""Store""/>
</enum>
</prop>
<prop type="object" name="metadata">
<additionalProp>
<item type="object">
<additionalProp anyType="True"/>
</item>
</additionalProp>
</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="object" name="onBehalfOfTokens">
<prop type="string" name="actionName"/>
<prop type="string" name="lifeTime"/>
</prop>
<prop type="object" name="openApiConfiguration">
<prop type="object" name="validation">
<prop type="boolean" name="allowNoncompliantCollectionResponse"/>
</prop>
</prop>
<prop type="string" name="policyExecutionType">
<enum>
<item value=""BypassPolicies""/>
<item value=""ExecutePolicies""/>
<item value=""ExpectPartialPutRequests""/>
<item value=""NotSpecified""/>
</enum>
</prop>
<prop type="object" name="privateEndpointConfiguration">
<prop type="array<object>" name="groupConnectivityInformation" required="True">
<item type="object">
<prop type="string" name="groupId" required="True"/>
<prop type="string" name="redirectMapId"/>
<prop type="array<string>" name="requiredMembers" required="True">
<item type="string"/>
</prop>
<prop type="array<string>" name="requiredZoneNames" required="True">
<item type="string"/>
</prop>
</item>
</prop>
<prop type="string" name="minApiVersion" required="True"/>
</prop>
<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="quotaRule">
<prop type="array<object>" name="locationRules">
<item type="object">
<prop type="string" name="location"/>
<prop type="string" name="policy">
<enum>
<item value=""Default""/>
<item value=""None""/>
<item value=""Restricted""/>
</enum>
</prop>
<prop type="string" name="quotaId"/>
</item>
</prop>
<prop type="string" name="quotaPolicy">
<enum>
<item value=""Default""/>
<item value=""None""/>
<item value=""Restricted""/>
</enum>
</prop>
<prop type="array<string>" name="requiredFeatures">
<item type="string"/>
</prop>
</prop>
<prop type="string" name="regionality">
<enum>
<item value=""Global""/>
<item value=""NotSpecified""/>
<item value=""Regional""/>
</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="resourceCache">
<prop type="boolean" name="enableResourceCache"/>
<prop type="string" name="resourceCacheExpirationTimespan"/>
</prop>
<prop type="object" name="resourceConcurrencyControlOptions">
<additionalProp>
<item type="object">
<prop type="string" name="policy">
<enum>
<item value=""NotSpecified""/>
<item value=""SynchronizeBeginExtension""/>
</enum>
</prop>
</item>
</additionalProp>
</prop>
<prop type="string" name="resourceDeletionPolicy">
<enum>
<item value=""CascadeDeleteAll""/>
<item value=""CascadeDeleteProxyOnlyChildren""/>
<item value=""NotSpecified""/>
</enum>
</prop>
<prop type="object" name="resourceGraphConfiguration">
<prop type="string" name="apiVersion"/>
<prop type="boolean" name="enabled"/>
</prop>
<prop type="object" name="resourceManagementOptions">
<prop type="object" name="batchProvisioningSupport">
<prop type="array<object>" name="actionConfigurations">
<item type="object">
<prop type="string" name="authorizationAction"/>
<prop type="integer64" name="maxBatchSize"/>
</item>
</prop>
<prop type="string" name="batchContractVersion"/>
<prop type="integer64" name="maxBatchSize"/>
<prop type="integer64" name="maxNestedBatchSize"/>
<prop type="array<string>" name="requiredFeatures">
<item type="string"/>
</prop>
<prop type="string" name="supportedOperations">
<enum>
<item value=""Delete""/>
<item value=""Get""/>
<item value=""NotSpecified""/>
</enum>
</prop>
</prop>
<prop type="array<object>" name="deleteDependencies" identifiers="requiredFeatures linkedProperty linkedType">
<item type="object">
<prop type="string" name="linkedProperty"/>
<prop type="string" name="linkedType"/>
<prop type="array<string>" name="requiredFeatures">
<item type="string"/>
</prop>
</item>
</prop>
<prop type="object" name="nestedProvisioningSupport">
<prop type="string" name="minimumApiVersion"/>
</prop>
</prop>
<prop type="object" name="resourceMovePolicy">
<prop type="boolean" name="crossResourceGroupMoveEnabled"/>
<prop type="boolean" name="crossSubscriptionMoveEnabled"/>
<prop type="boolean" name="validationRequired"/>
</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="resourceQueryManagement">
<prop type="string" name="filterOption">
<enum>
<item value=""EnableSubscriptionFilterOnTenant""/>
<item value=""NotSpecified""/>
</enum>
</prop>
</prop>
<prop type="string" name="resourceSubType">
<enum>
<item value=""AsyncOperation""/>
<item value=""NotSpecified""/>
</enum>
</prop>
<prop type="object" name="resourceTypeCommonAttributeManagement">
<prop type="string" name="commonApiVersionsMergeMode">
<enum>
<item value=""Merge""/>
<item value=""Overwrite""/>
</enum>
</prop>
</prop>
<prop type="string" name="resourceValidation">
<enum>
<item value=""NotSpecified""/>
<item value=""ProfaneWords""/>
<item value=""ReservedWords""/>
</enum>
</prop>
<prop type="object" name="routingRule">
<prop type="string" name="hostResourceType"/>
</prop>
<prop type="string" name="routingType">
<enum>
<item value=""CascadeExtension""/>
<item value=""Default""/>
<item value=""Extension""/>
<item value=""Failover""/>
<item value=""Fanout""/>
<item value=""HostBased""/>
<item value=""LocationBased""/>
<item value=""ProxyOnly""/>
<item value=""Tenant""/>
</enum>
</prop>
<prop type="array<object>" name="serviceTreeInfos">
<item type="object" cls="ServiceTreeInfo_read">
<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 type="string" name="skuLink"/>
<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="array<object>" name="subscriptionStateRules">
<item type="object">
<prop type="array<string>" name="allowedActions">
<item type="string"/>
</prop>
<prop type="string" name="state">
<enum>
<item value=""Deleted""/>
<item value=""Disabled""/>
<item value=""Enabled""/>
<item value=""NotDefined""/>
<item value=""PastDue""/>
<item value=""Warned""/>
</enum>
</prop>
</item>
</prop>
<prop type="boolean" name="superScaleEnabled"/>
<prop type="boolean" name="supportsTags"/>
<prop type="array<object>" name="swaggerSpecifications" identifiers="swaggerSpecFolderUri">
<item type="object">
<prop type="array<string>" name="apiVersions">
<item type="string"/>
</prop>
<prop type="string" name="swaggerSpecFolderUri"/>
</item>
</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="object" name="templateDeploymentPolicy">
<prop type="string" name="capabilities" required="True">
<enum>
<item value=""Default""/>
<item value=""Preflight""/>
</enum>
</prop>
<prop type="string" name="preflightNotifications">
<enum>
<item value=""None""/>
<item value=""UnregisteredSubscriptions""/>
</enum>
</prop>
<prop type="string" name="preflightOptions" required="True">
<enum>
<item value=""DeploymentRequests""/>
<item value=""None""/>
<item value=""RegisteredOnly""/>
<item value=""TestOnly""/>
<item value=""ValidationRequests""/>
</enum>
</prop>
</prop>
<prop type="array<object>" name="throttlingRules">
<item type="object">
<prop type="string" name="action" required="True"/>
<prop type="array<string>" name="applicationId">
<item type="string"/>
</prop>
<prop type="array<object>" name="metrics" required="True">
<item type="object">
<prop type="string" name="bucketSize"/>
<prop type="duration" name="interval"/>
<prop type="integer64" name="limit" required="True"/>
<prop type="string" name="type" required="True">
<enum>
<item value=""NotSpecified""/>
<item value=""NumberOfRequests""/>
<item value=""NumberOfResources""/>
</enum>
</prop>
</item>
</prop>
<prop type="array<string>" name="requiredFeatures">
<item type="string"/>
</prop>
</item>
</prop>
<prop type="@TokenAuthConfiguration_read" name="tokenAuthConfiguration"/>
<prop type="object" name="writeLock">
<prop type="string" name="state">
<default value=""Disabled""/>
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
</prop>
</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="boolean" name="addResourceListTargetLocations" arg="$properties.properties.addResourceListTargetLocations"/>
<prop type="string" name="additionalOptions" arg="$properties.properties.additionalOptions">
<enum>
<item value=""ProtectedAsyncOperationPolling""/>
<item value=""ProtectedAsyncOperationPollingAuditOnly""/>
</enum>
</prop>
<prop type="boolean" name="allowEmptyRoleAssignments" arg="$properties.properties.allowEmptyRoleAssignments"/>
<prop type="array<object>" name="allowedResourceNames" arg="$properties.properties.allowedResourceNames" identifiers="getActionVerb name">
<item type="object">
<prop type="string" name="getActionVerb" arg="$properties.properties.allowedResourceNames[].getActionVerb"/>
<prop type="string" name="name" arg="$properties.properties.allowedResourceNames[].name"/>
</item>
</prop>
<prop type="array<string>" name="allowedTemplateDeploymentReferenceActions" arg="$properties.properties.allowedTemplateDeploymentReferenceActions">
<item type="string"/>
</prop>
<prop type="array<string>" name="allowedUnauthorizedActions" arg="$properties.properties.allowedUnauthorizedActions">
<item type="string"/>
</prop>
<prop type="array<object>" name="allowedUnauthorizedActionsExtensions" arg="$properties.properties.allowedUnauthorizedActionsExtensions">
<item type="object">
<prop type="string" name="action" arg="$properties.properties.allowedUnauthorizedActionsExtensions[].action"/>
<prop type="string" name="intent" arg="$properties.properties.allowedUnauthorizedActionsExtensions[].intent">
<enum>
<item value=""DEFERRED_ACCESS_CHECK""/>
<item value=""LOW_PRIVILEGE""/>
<item value=""NOT_SPECIFIED""/>
<item value=""RP_CONTRACT""/>
</enum>
</prop>
</item>
</prop>
<prop type="array<object>" name="apiProfiles" arg="$properties.properties.apiProfiles" identifiers="profileVersion apiVersion">
<item type="object">
<prop type="string" name="apiVersion" arg="$properties.properties.apiProfiles[].apiVersion"/>
<prop type="string" name="profileVersion" arg="$properties.properties.apiProfiles[].profileVersion"/>
</item>
</prop>
<prop type="string" name="asyncOperationResourceTypeName" arg="$properties.properties.asyncOperationResourceTypeName"/>
<prop type="array<object>" name="asyncTimeoutRules" arg="$properties.properties.asyncTimeoutRules">
<item type="object">
<prop type="string" name="actionName" arg="$properties.properties.asyncTimeoutRules[].actionName"/>
<prop type="string" name="timeout" arg="$properties.properties.asyncTimeoutRules[].timeout"/>
</item>
</prop>
<prop type="array<object>" name="authorizationActionMappings" arg="$properties.properties.authorizationActionMappings" identifiers="original">
<item type="object">
<prop type="string" name="desired" arg="$properties.properties.authorizationActionMappings[].desired"/>
<prop type="string" name="original" arg="$properties.properties.authorizationActionMappings[].original"/>
</item>
</prop>
<prop type="object" name="availabilityZoneRule" arg="$properties.properties.availabilityZoneRule">
<prop type="string" name="availabilityZonePolicy" arg="$properties.properties.availabilityZoneRule.availabilityZonePolicy">
<enum>
<item value=""MultiZoned""/>
<item value=""NotSpecified""/>
<item value=""SingleZoned""/>
</enum>
</prop>
</prop>
<prop type="object" name="capacityRule" arg="$properties.properties.capacityRule">
<prop type="string" name="capacityPolicy" arg="$properties.properties.capacityRule.capacityPolicy">
<enum>
<item value=""Default""/>
<item value=""Restricted""/>
</enum>
</prop>
<prop type="string" name="skuAlias" arg="$properties.properties.capacityRule.skuAlias"/>
</prop>
<prop type="string" name="category" arg="$properties.properties.category">
<enum>
<item value=""FreeForm""/>
<item value=""Internal""/>
<item value=""None""/>
<item value=""PureProxy""/>
</enum>
</prop>
<prop type="object" name="checkNameAvailabilitySpecifications" arg="$properties.properties.checkNameAvailabilitySpecifications">
<prop type="boolean" name="enableDefaultValidation" arg="$properties.properties.checkNameAvailabilitySpecifications.enableDefaultValidation"/>
<prop type="array<string>" name="resourceTypesWithCustomValidation" arg="$properties.properties.checkNameAvailabilitySpecifications.resourceTypesWithCustomValidation">
<item type="string"/>
</prop>
</prop>
<prop type="array<string>" name="commonApiVersions" arg="$properties.properties.commonApiVersions">
<item type="string"/>
</prop>
<prop type="string" name="crossTenantTokenValidation" arg="$properties.properties.crossTenantTokenValidation">
<enum>
<item value=""EnsureSecureValidation""/>
<item value=""PassthroughInsecureToken""/>
</enum>
</prop>
<prop type="string" name="defaultApiVersion" arg="$properties.properties.defaultApiVersion"/>
<prop type="array<string>" name="disallowedActionVerbs" arg="$properties.properties.disallowedActionVerbs">
<item type="string"/>
</prop>
<prop type="array<string>" name="disallowedEndUserOperations" arg="$properties.properties.disallowedEndUserOperations">
<item type="string"/>
</prop>
<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="enableAsyncOperation" arg="$properties.properties.enableAsyncOperation"/>
<prop type="boolean" name="enableThirdPartyS2S" arg="$properties.properties.enableThirdPartyS2S"/>
<prop type="array<object>" name="endpoints" arg="$properties.properties.endpoints">
<item type="object">
<prop type="string" name="apiVersion" arg="$properties.properties.endpoints[].apiVersion"/>
<prop type="array<string>" name="apiVersions" arg="$properties.properties.endpoints[].apiVersions">
<item type="string"/>
</prop>
<prop type="string" name="dataBoundary" arg="$properties.properties.endpoints[].dataBoundary">
<enum>
<item value=""EU""/>
<item value=""Global""/>
<item value=""NotDefined""/>
<item value=""US""/>
</enum>
</prop>
<prop type="object" name="dstsConfiguration" arg="$properties.properties.endpoints[].dstsConfiguration">
<prop type="string" name="serviceDnsName" arg="$properties.properties.endpoints[].dstsConfiguration.serviceDnsName"/>
<prop type="string" name="serviceName" arg="$properties.properties.endpoints[].dstsConfiguration.serviceName" required="True"/>
</prop>
<prop type="boolean" name="enabled" arg="$properties.properties.endpoints[].enabled"/>
<prop type="string" name="endpointType" arg="$properties.properties.endpoints[].endpointType">
<enum>
<item value=""Canary""/>
<item value=""NotSpecified""/>
<item value=""Production""/>
<item value=""TestInProduction""/>
</enum>
</prop>
<prop type="string" name="endpointUri" arg="$properties.properties.endpoints[].endpointUri"/>
<prop type="array<object>" name="extensions" arg="$properties.properties.endpoints[].extensions" identifiers="endpointUri">
<item type="object">
<prop type="string" name="endpointUri" arg="$properties.properties.endpoints[].extensions[].endpointUri"/>
<prop type="array<string>" name="extensionCategories" arg="$properties.properties.endpoints[].extensions[].extensionCategories">
<item type="string">
<enum>
<item value=""BestMatchOperationBegin""/>
<item value=""NotSpecified""/>
<item value=""ResourceCreationBegin""/>
<item value=""ResourceCreationCompleted""/>
<item value=""ResourceCreationValidate""/>
<item value=""ResourceDeletionBegin""/>
<item value=""ResourceDeletionCompleted""/>
<item value=""ResourceDeletionValidate""/>
<item value=""ResourceMoveBegin""/>
<item value=""ResourceMoveCompleted""/>
<item value=""ResourcePatchBegin""/>
<item value=""ResourcePatchCompleted""/>
<item value=""ResourcePatchValidate""/>
<item value=""ResourcePostAction""/>
<item value=""ResourceReadBegin""/>
<item value=""ResourceReadValidate""/>
<item value=""SubscriptionLifecycleNotification""/>
<item value=""SubscriptionLifecycleNotificationDeletion""/>
</enum>
</item>
</prop>
<prop type="duration" name="timeout" arg="$properties.properties.endpoints[].extensions[].timeout"/>
</item>
</prop>
<prop type="object" name="featuresRule" arg="$properties.properties.endpoints[].featuresRule">
<prop type="string" name="requiredFeaturesPolicy" arg="$properties.properties.endpoints[].featuresRule.requiredFeaturesPolicy" required="True">
<enum>
<item value=""All""/>
<item value=""Any""/>
</enum>
</prop>
</prop>
<prop type="string" name="kind" arg="$properties.properties.endpoints[].kind">
<default value=""Managed""/>
<enum>
<item value=""Direct""/>
<item value=""Managed""/>
</enum>
</prop>
<prop type="array<string>" name="locations" arg="$properties.properties.endpoints[].locations">
<item type="string"/>
</prop>
<prop type="array<string>" name="requiredFeatures" arg="$properties.properties.endpoints[].requiredFeatures">
<item type="string"/>
</prop>
<prop type="string" name="skuLink" arg="$properties.properties.endpoints[].skuLink"/>
<prop type="duration" name="timeout" arg="$properties.properties.endpoints[].timeout"/>
<prop type="object" name="tokenAuthConfiguration" arg="$properties.properties.endpoints[].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>
<prop type="array<string>" name="zones" arg="$properties.properties.endpoints[].zones">
<item type="string"/>
</prop>
</item>
</prop>
<prop type="array<object>" name="extendedLocations" arg="$properties.properties.extendedLocations">
<item type="object">
<prop type="string" name="supportedPolicy" arg="$properties.properties.extendedLocations[].supportedPolicy"/>
<prop type="string" name="type" arg="$properties.properties.extendedLocations[].type"/>
</item>
</prop>
<prop type="object" name="extensionOptions" arg="$properties.properties.extensionOptions">
<prop type="object" name="resourceCreationBegin" arg="$properties.properties.extensionOptions.resourceCreationBegin">
<prop type="array<string>" name="request" arg="$properties.properties.extensionOptions.resourceCreationBegin.request">
<item type="string">
<enum>
<item value=""DoNotMergeExistingReadOnlyAndSecretProperties""/>
<item value=""IncludeInternalMetadata""/>
<item value=""NotSpecified""/>
</enum>
</item>
</prop>
<prop type="array<string>" name="response" arg="$properties.properties.extensionOptions.resourceCreationBegin.response">
<item type="string">
<enum>
<item value=""DoNotMergeExistingReadOnlyAndSecretProperties""/>
<item value=""IncludeInternalMetadata""/>
<item value=""NotSpecified""/>
</enum>
</item>
</prop>
</prop>
</prop>
<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="string" name="frontdoorRequestMode" arg="$properties.properties.frontdoorRequestMode">
<enum>
<item value=""NotSpecified""/>
<item value=""UseManifest""/>
</enum>
</prop>
<prop type="string" name="groupingTag" arg="$properties.properties.groupingTag"/>
<prop type="object" name="identityManagement" arg="$properties.properties.identityManagement">
<prop type="string" name="applicationId" arg="$properties.properties.identityManagement.applicationId"/>
<prop type="array<string>" name="applicationIds" arg="$properties.properties.identityManagement.applicationIds">
<item type="string"/>
</prop>
<prop type="array<string>" name="delegationAppIds" arg="$properties.properties.identityManagement.delegationAppIds">
<item type="string"/>
</prop>
<prop type="string" name="type" arg="$properties.properties.identityManagement.type">
<enum>
<item value=""Actor""/>
<item value=""DelegatedResourceIdentity""/>
<item value=""NotSpecified""/>
<item value=""SystemAssigned""/>
<item value=""UserAssigned""/>
</enum>
</prop>
</prop>
<prop type="boolean" name="isPureProxy" arg="$properties.properties.isPureProxy"/>
<prop type="string" name="legacyName" arg="$properties.properties.legacyName"/>
<prop type="array<string>" name="legacyNames" arg="$properties.properties.legacyNames">
<item type="string"/>
</prop>
<prop type="object" name="legacyPolicy" arg="$properties.properties.legacyPolicy">
<prop type="array<object>" name="disallowedConditions" arg="$properties.properties.legacyPolicy.disallowedConditions">
<item type="object">
<prop type="array<string>" name="disallowedLegacyOperations" arg="$properties.properties.legacyPolicy.disallowedConditions[].disallowedLegacyOperations">
<item type="string">
<enum>
<item value=""Action""/>
<item value=""AzureAsyncOperationWaiting""/>
<item value=""Create""/>
<item value=""Delete""/>
<item value=""DeploymentCleanup""/>
<item value=""EvaluateDeploymentOutput""/>
<item value=""NotSpecified""/>
<item value=""Read""/>
<item value=""ResourceCacheWaiting""/>
<item value=""Waiting""/>
</enum>
</item>
</prop>
<prop type="string" name="feature" arg="$properties.properties.legacyPolicy.disallowedConditions[].feature"/>
</item>
</prop>
<prop type="array<string>" name="disallowedLegacyOperations" arg="$properties.properties.legacyPolicy.disallowedLegacyOperations">
<item type="string">
<enum>
<item value=""Action""/>
<item value=""AzureAsyncOperationWaiting""/>
<item value=""Create""/>
<item value=""Delete""/>
<item value=""DeploymentCleanup""/>
<item value=""EvaluateDeploymentOutput""/>
<item value=""NotSpecified""/>
<item value=""Read""/>
<item value=""ResourceCacheWaiting""/>
<item value=""Waiting""/>
</enum>
</item>
</prop>
</prop>
<prop type="array<object>" name="linkedAccessChecks" arg="$properties.properties.linkedAccessChecks">
<item type="object">
<prop type="string" name="actionName" arg="$properties.properties.linkedAccessChecks[].actionName"/>
<prop type="string" name="linkedAction" arg="$properties.properties.linkedAccessChecks[].linkedAction"/>
<prop type="string" name="linkedActionVerb" arg="$properties.properties.linkedAccessChecks[].linkedActionVerb"/>
<prop type="string" name="linkedProperty" arg="$properties.properties.linkedAccessChecks[].linkedProperty"/>
<prop type="string" name="linkedType" arg="$properties.properties.linkedAccessChecks[].linkedType"/>
</item>
</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="array<string>" name="actionsOnFailedOperation" arg="$properties.properties.linkedNotificationRules[].actionsOnFailedOperation">
<item type="string"/>
</prop>
<prop type="array<string>" name="fastPathActions" arg="$properties.properties.linkedNotificationRules[].fastPathActions">
<item type="string"/>
</prop>
<prop type="array<string>" name="fastPathActionsOnFailedOperation" arg="$properties.properties.linkedNotificationRules[].fastPathActionsOnFailedOperation">
<item type="string"/>
</prop>
<prop type="duration" name="linkedNotificationTimeout" arg="$properties.properties.linkedNotificationRules[].linkedNotificationTimeout"/>
</item>
</prop>
<prop type="array<object>" name="linkedOperationRules" arg="$properties.properties.linkedOperationRules" identifiers="linkedOperation linkedAction">
<item type="object">
<prop type="array<string>" name="dependsOnTypes" arg="$properties.properties.linkedOperationRules[].dependsOnTypes">
<item type="string"/>
</prop>
<prop type="string" name="linkedAction" arg="$properties.properties.linkedOperationRules[].linkedAction" required="True">
<enum>
<item value=""Blocked""/>
<item value=""Enabled""/>
<item value=""NotSpecified""/>
<item value=""Validate""/>
</enum>
</prop>
<prop type="string" name="linkedOperation" arg="$properties.properties.linkedOperationRules[].linkedOperation" required="True">
<enum>
<item value=""CrossResourceGroupResourceMove""/>
<item value=""CrossSubscriptionResourceMove""/>
<item value=""None""/>
</enum>
</prop>
</item>
</prop>
<prop type="array<object>" name="loggingRules" arg="$properties.properties.loggingRules">
<item type="object">
<prop type="string" name="action" arg="$properties.properties.loggingRules[].action" required="True"/>
<prop type="string" name="detailLevel" arg="$properties.properties.loggingRules[].detailLevel" required="True">
<enum>
<item value=""Body""/>
<item value=""None""/>
</enum>
</prop>
<prop type="string" name="direction" arg="$properties.properties.loggingRules[].direction" required="True">
<enum>
<item value=""None""/>
<item value=""Request""/>
<item value=""Response""/>
</enum>
</prop>
<prop type="object" name="hiddenPropertyPaths" arg="$properties.properties.loggingRules[].hiddenPropertyPaths">
<prop type="array<string>" name="hiddenPathsOnRequest" arg="$properties.properties.loggingRules[].hiddenPropertyPaths.hiddenPathsOnRequest">
<item type="string"/>
</prop>
<prop type="array<string>" name="hiddenPathsOnResponse" arg="$properties.properties.loggingRules[].hiddenPropertyPaths.hiddenPathsOnResponse">
<item type="string"/>
</prop>
</prop>
</item>
</prop>
<prop type="object" name="managedResourceGroupConfiguration" arg="$properties.properties.managedResourceGroupConfiguration">
<prop type="array<string>" name="applicationIds" arg="$properties.properties.managedResourceGroupConfiguration.applicationIds">
<item type="string"/>
</prop>
<prop type="object" name="denyAssignmentConfiguration" arg="$properties.properties.managedResourceGroupConfiguration.denyAssignmentConfiguration">
<prop type="boolean" name="enabled" arg="$properties.properties.managedResourceGroupConfiguration.denyAssignmentConfiguration.enabled"/>
<prop type="array<string>" name="notActions" arg="$properties.properties.managedResourceGroupConfiguration.denyAssignmentConfiguration.notActions">
<item type="string"/>
</prop>
</prop>
<prop type="boolean" name="enabled" arg="$properties.properties.managedResourceGroupConfiguration.enabled"/>
<prop type="string" name="resourceGroupLocationOverride" arg="$properties.properties.managedResourceGroupConfiguration.resourceGroupLocationOverride"/>
</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<@ServiceTreeInfo_update>" name="serviceTreeInfos" arg="$properties.properties.management.serviceTreeInfos">
<item type="@ServiceTreeInfo_update"/>
</prop>
</prop>
<prop type="string" name="manifestLink" arg="$properties.properties.manifestLink"/>
<prop type="object" name="marketplaceOptions" arg="$properties.properties.marketplaceOptions">
<prop type="boolean" name="addOnPlanConversionAllowed" arg="$properties.properties.marketplaceOptions.addOnPlanConversionAllowed"/>
</prop>
<prop type="string" name="marketplaceType" arg="$properties.properties.marketplaceType">
<enum>
<item value=""AddOn""/>
<item value=""Bypass""/>
<item value=""NotSpecified""/>
<item value=""ProviderHub""/>
<item value=""Store""/>
</enum>
</prop>
<prop type="object" name="metadata" arg="$properties.properties.metadata">
<additionalProp>
<item type="object">
<additionalProp anyType="True"/>
</item>
</additionalProp>
</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="object" name="onBehalfOfTokens" arg="$properties.properties.onBehalfOfTokens">
<prop type="string" name="actionName" arg="$properties.properties.onBehalfOfTokens.actionName"/>
<prop type="string" name="lifeTime" arg="$properties.properties.onBehalfOfTokens.lifeTime"/>
</prop>
<prop type="object" name="openApiConfiguration" arg="$properties.properties.openApiConfiguration">
<prop type="object" name="validation" arg="$properties.properties.openApiConfiguration.validation">
<prop type="boolean" name="allowNoncompliantCollectionResponse" arg="$properties.properties.openApiConfiguration.validation.allowNoncompliantCollectionResponse"/>
</prop>
</prop>
<prop type="string" name="policyExecutionType" arg="$properties.properties.policyExecutionType">
<enum>
<item value=""BypassPolicies""/>
<item value=""ExecutePolicies""/>
<item value=""ExpectPartialPutRequests""/>
<item value=""NotSpecified""/>
</enum>
</prop>
<prop type="object" name="privateEndpointConfiguration" arg="$properties.properties.privateEndpointConfiguration">
<prop type="array<object>" name="groupConnectivityInformation" arg="$properties.properties.privateEndpointConfiguration.groupConnectivityInformation" required="True">
<item type="object">
<prop type="string" name="groupId" arg="$properties.properties.privateEndpointConfiguration.groupConnectivityInformation[].groupId" required="True"/>
<prop type="string" name="redirectMapId" arg="$properties.properties.privateEndpointConfiguration.groupConnectivityInformation[].redirectMapId"/>
<prop type="array<string>" name="requiredMembers" arg="$properties.properties.privateEndpointConfiguration.groupConnectivityInformation[].requiredMembers" required="True">
<item type="string"/>
</prop>
<prop type="array<string>" name="requiredZoneNames" arg="$properties.properties.privateEndpointConfiguration.groupConnectivityInformation[].requiredZoneNames" required="True">
<item type="string"/>
</prop>
</item>
</prop>
<prop type="string" name="minApiVersion" arg="$properties.properties.privateEndpointConfiguration.minApiVersion" required="True"/>
</prop>
<prop type="object" name="quotaRule" arg="$properties.properties.quotaRule">
<prop type="array<object>" name="locationRules" arg="$properties.properties.quotaRule.locationRules">
<item type="object">
<prop type="string" name="location" arg="$properties.properties.quotaRule.locationRules[].location"/>
<prop type="string" name="policy" arg="$properties.properties.quotaRule.locationRules[].policy">
<enum>
<item value=""Default""/>
<item value=""None""/>
<item value=""Restricted""/>
</enum>
</prop>
<prop type="string" name="quotaId" arg="$properties.properties.quotaRule.locationRules[].quotaId"/>
</item>
</prop>
<prop type="string" name="quotaPolicy" arg="$properties.properties.quotaRule.quotaPolicy">
<enum>
<item value=""Default""/>
<item value=""None""/>
<item value=""Restricted""/>
</enum>
</prop>
<prop type="array<string>" name="requiredFeatures" arg="$properties.properties.quotaRule.requiredFeatures">
<item type="string"/>
</prop>
</prop>
<prop type="string" name="regionality" arg="$properties.properties.regionality">
<enum>
<item value=""Global""/>
<item value=""NotSpecified""/>
<item value=""Regional""/>
</enum>
</prop>
<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="resourceCache" arg="$properties.properties.resourceCache">
<prop type="boolean" name="enableResourceCache" arg="$properties.properties.resourceCache.enableResourceCache"/>
<prop type="string" name="resourceCacheExpirationTimespan" arg="$properties.properties.resourceCache.resourceCacheExpirationTimespan"/>
</prop>
<prop type="object" name="resourceConcurrencyControlOptions" arg="$properties.properties.resourceConcurrencyControlOptions">
<additionalProp>
<item type="object">
<prop type="string" name="policy" arg="$properties.properties.resourceConcurrencyControlOptions{}.policy">
<enum>
<item value=""NotSpecified""/>
<item value=""SynchronizeBeginExtension""/>
</enum>
</prop>
</item>
</additionalProp>
</prop>
<prop type="string" name="resourceDeletionPolicy" arg="$properties.properties.resourceDeletionPolicy">
<enum>
<item value=""CascadeDeleteAll""/>
<item value=""CascadeDeleteProxyOnlyChildren""/>
<item value=""NotSpecified""/>
</enum>
</prop>
<prop type="object" name="resourceGraphConfiguration" arg="$properties.properties.resourceGraphConfiguration">
<prop type="string" name="apiVersion" arg="$properties.properties.resourceGraphConfiguration.apiVersion"/>
<prop type="boolean" name="enabled" arg="$properties.properties.resourceGraphConfiguration.enabled"/>
</prop>
<prop type="object" name="resourceManagementOptions" arg="$properties.properties.resourceManagementOptions">
<prop type="object" name="batchProvisioningSupport" arg="$properties.properties.resourceManagementOptions.batchProvisioningSupport">
<prop type="array<object>" name="actionConfigurations" arg="$properties.properties.resourceManagementOptions.batchProvisioningSupport.actionConfigurations">
<item type="object">
<prop type="string" name="authorizationAction" arg="$properties.properties.resourceManagementOptions.batchProvisioningSupport.actionConfigurations[].authorizationAction"/>
<prop type="integer64" name="maxBatchSize" arg="$properties.properties.resourceManagementOptions.batchProvisioningSupport.actionConfigurations[].maxBatchSize"/>
</item>
</prop>
<prop type="string" name="batchContractVersion" arg="$properties.properties.resourceManagementOptions.batchProvisioningSupport.batchContractVersion"/>
<prop type="integer64" name="maxBatchSize" arg="$properties.properties.resourceManagementOptions.batchProvisioningSupport.maxBatchSize"/>
<prop type="integer64" name="maxNestedBatchSize" arg="$properties.properties.resourceManagementOptions.batchProvisioningSupport.maxNestedBatchSize"/>
<prop type="array<string>" name="requiredFeatures" arg="$properties.properties.resourceManagementOptions.batchProvisioningSupport.requiredFeatures">
<item type="string"/>
</prop>
<prop type="string" name="supportedOperations" arg="$properties.properties.resourceManagementOptions.batchProvisioningSupport.supportedOperations">
<enum>
<item value=""Delete""/>
<item value=""Get""/>
<item value=""NotSpecified""/>
</enum>
</prop>
</prop>
<prop type="array<object>" name="deleteDependencies" arg="$properties.properties.resourceManagementOptions.deleteDependencies" identifiers="requiredFeatures linkedProperty linkedType">
<item type="object">
<prop type="string" name="linkedProperty" arg="$properties.properties.resourceManagementOptions.deleteDependencies[].linkedProperty"/>
<prop type="string" name="linkedType" arg="$properties.properties.resourceManagementOptions.deleteDependencies[].linkedType"/>
<prop type="array<string>" name="requiredFeatures" arg="$properties.properties.resourceManagementOptions.deleteDependencies[].requiredFeatures">
<item type="string"/>
</prop>
</item>
</prop>
<prop type="object" name="nestedProvisioningSupport" arg="$properties.properties.resourceManagementOptions.nestedProvisioningSupport">
<prop type="string" name="minimumApiVersion" arg="$properties.properties.resourceManagementOptions.nestedProvisioningSupport.minimumApiVersion"/>
</prop>
</prop>
<prop type="object" name="resourceMovePolicy" arg="$properties.properties.resourceMovePolicy">
<prop type="boolean" name="crossResourceGroupMoveEnabled" arg="$properties.properties.resourceMovePolicy.crossResourceGroupMoveEnabled"/>
<prop type="boolean" name="crossSubscriptionMoveEnabled" arg="$properties.properties.resourceMovePolicy.crossSubscriptionMoveEnabled"/>
<prop type="boolean" name="validationRequired" arg="$properties.properties.resourceMovePolicy.validationRequired"/>
</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="resourceQueryManagement" arg="$properties.properties.resourceQueryManagement">
<prop type="string" name="filterOption" arg="$properties.properties.resourceQueryManagement.filterOption">
<enum>
<item value=""EnableSubscriptionFilterOnTenant""/>
<item value=""NotSpecified""/>
</enum>
</prop>
</prop>
<prop type="string" name="resourceSubType" arg="$properties.properties.resourceSubType">
<enum>
<item value=""AsyncOperation""/>
<item value=""NotSpecified""/>
</enum>
</prop>
<prop type="object" name="resourceTypeCommonAttributeManagement" arg="$properties.properties.resourceTypeCommonAttributeManagement">
<prop type="string" name="commonApiVersionsMergeMode" arg="$properties.properties.resourceTypeCommonAttributeManagement.commonApiVersionsMergeMode">
<enum>
<item value=""Merge""/>
<item value=""Overwrite""/>
</enum>
</prop>
</prop>
<prop type="string" name="resourceValidation" arg="$properties.properties.resourceValidation">
<enum>
<item value=""NotSpecified""/>
<item value=""ProfaneWords""/>
<item value=""ReservedWords""/>
</enum>
</prop>
<prop type="object" name="routingRule" arg="$properties.properties.routingRule">
<prop type="string" name="hostResourceType" arg="$properties.properties.routingRule.hostResourceType"/>
</prop>
<prop type="string" name="routingType" arg="$properties.properties.routingType">
<enum>
<item value=""CascadeExtension""/>
<item value=""Default""/>
<item value=""Extension""/>
<item value=""Failover""/>
<item value=""Fanout""/>
<item value=""HostBased""/>
<item value=""LocationBased""/>
<item value=""ProxyOnly""/>
<item value=""Tenant""/>
</enum>
</prop>
<prop type="array<object>" name="serviceTreeInfos" arg="$properties.properties.serviceTreeInfos">
<item type="object" cls="ServiceTreeInfo_update">
<prop type="string" name="componentId" arg="@ServiceTreeInfo_update.componentId"/>
<prop type="string" name="readiness" arg="@ServiceTreeInfo_update.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="@ServiceTreeInfo_update.serviceId"/>
</item>
</prop>
<prop type="string" name="skuLink" arg="$properties.properties.skuLink"/>
<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="array<object>" name="subscriptionStateRules" arg="$properties.properties.subscriptionStateRules">
<item type="object">
<prop type="array<string>" name="allowedActions" arg="$properties.properties.subscriptionStateRules[].allowedActions">
<item type="string"/>
</prop>
<prop type="string" name="state" arg="$properties.properties.subscriptionStateRules[].state">
<enum>
<item value=""Deleted""/>
<item value=""Disabled""/>
<item value=""Enabled""/>
<item value=""NotDefined""/>
<item value=""PastDue""/>
<item value=""Warned""/>
</enum>
</prop>
</item>
</prop>
<prop type="boolean" name="superScaleEnabled" arg="$properties.properties.superScaleEnabled"/>
<prop type="boolean" name="supportsTags" arg="$properties.properties.supportsTags"/>
<prop type="array<object>" name="swaggerSpecifications" arg="$properties.properties.swaggerSpecifications" identifiers="swaggerSpecFolderUri">
<item type="object">
<prop type="array<string>" name="apiVersions" arg="$properties.properties.swaggerSpecifications[].apiVersions">
<item type="string"/>
</prop>
<prop type="string" name="swaggerSpecFolderUri" arg="$properties.properties.swaggerSpecifications[].swaggerSpecFolderUri"/>
</item>
</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="object" name="templateDeploymentPolicy" arg="$properties.properties.templateDeploymentPolicy">
<prop type="string" name="capabilities" arg="$properties.properties.templateDeploymentPolicy.capabilities" required="True">
<enum>
<item value=""Default""/>
<item value=""Preflight""/>
</enum>
</prop>
<prop type="string" name="preflightNotifications" arg="$properties.properties.templateDeploymentPolicy.preflightNotifications">
<enum>
<item value=""None""/>
<item value=""UnregisteredSubscriptions""/>
</enum>
</prop>
<prop type="string" name="preflightOptions" arg="$properties.properties.templateDeploymentPolicy.preflightOptions" required="True">
<enum>
<item value=""DeploymentRequests""/>
<item value=""None""/>
<item value=""RegisteredOnly""/>
<item value=""TestOnly""/>
<item value=""ValidationRequests""/>
</enum>
</prop>
</prop>
<prop type="array<object>" name="throttlingRules" arg="$properties.properties.throttlingRules">
<item type="object">
<prop type="string" name="action" arg="$properties.properties.throttlingRules[].action" required="True"/>
<prop type="array<string>" name="applicationId" arg="$properties.properties.throttlingRules[].applicationId">
<item type="string"/>
</prop>
<prop type="array<object>" name="metrics" arg="$properties.properties.throttlingRules[].metrics" required="True">
<item type="object">
<prop type="string" name="bucketSize" arg="$properties.properties.throttlingRules[].metrics[].bucketSize"/>
<prop type="duration" name="interval" arg="$properties.properties.throttlingRules[].metrics[].interval"/>
<prop type="integer64" name="limit" arg="$properties.properties.throttlingRules[].metrics[].limit" required="True"/>
<prop type="string" name="type" arg="$properties.properties.throttlingRules[].metrics[].type" required="True">
<enum>
<item value=""NotSpecified""/>
<item value=""NumberOfRequests""/>
<item value=""NumberOfResources""/>
</enum>
</prop>
</item>
</prop>
<prop type="array<string>" name="requiredFeatures" arg="$properties.properties.throttlingRules[].requiredFeatures">
<item type="string"/>
</prop>
</item>
</prop>
<prop type="@TokenAuthConfiguration_update" name="tokenAuthConfiguration" arg="$properties.properties.tokenAuthConfiguration"/>
<prop type="object" name="writeLock" arg="$properties.properties.writeLock">
<prop type="string" name="state" arg="$properties.properties.writeLock.state">
<default value=""Disabled""/>
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
</prop>
</prop>
</schema>
</json>
</instanceUpdate>
</operation>
<operation operationId="ResourceTypeRegistrations_CreateOrUpdate">
<longRunning finalStateVia="azure-async-operation"/>
<http path="/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations/{providerNamespace}/resourcetypeRegistrations/{resourceType}">
<request method="put">
<path>
<param type="string" name="providerNamespace" arg="$Path.providerNamespace" required="True"/>
<param type="string" name="resourceType" arg="$Path.resourceType" 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="@ResourceTypeRegistration_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>