@azure/arm-policy 5.0.0-beta.2 → 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +5 -45
- package/README.md +4 -0
- package/dist/index.js +4 -24
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/dist-esm/src/index.d.ts +0 -1
- package/dist-esm/src/index.d.ts.map +1 -1
- package/dist-esm/src/index.js +0 -1
- package/dist-esm/src/index.js.map +1 -1
- package/dist-esm/src/operations/dataPolicyManifests.d.ts +2 -2
- package/dist-esm/src/operations/dataPolicyManifests.d.ts.map +1 -1
- package/dist-esm/src/operations/dataPolicyManifests.js.map +1 -1
- package/dist-esm/src/operations/policyAssignments.d.ts +2 -2
- package/dist-esm/src/operations/policyAssignments.d.ts.map +1 -1
- package/dist-esm/src/operations/policyAssignments.js.map +1 -1
- package/dist-esm/src/operations/policyDefinitions.d.ts +2 -2
- package/dist-esm/src/operations/policyDefinitions.d.ts.map +1 -1
- package/dist-esm/src/operations/policyDefinitions.js.map +1 -1
- package/dist-esm/src/operations/policyExemptions.d.ts +2 -2
- package/dist-esm/src/operations/policyExemptions.d.ts.map +1 -1
- package/dist-esm/src/operations/policyExemptions.js.map +1 -1
- package/dist-esm/src/operations/policySetDefinitions.d.ts +2 -2
- package/dist-esm/src/operations/policySetDefinitions.d.ts.map +1 -1
- package/dist-esm/src/operations/policySetDefinitions.js.map +1 -1
- package/dist-esm/src/policyClient.d.ts +4 -2
- package/dist-esm/src/policyClient.d.ts.map +1 -1
- package/dist-esm/src/policyClient.js +31 -3
- package/dist-esm/src/policyClient.js.map +1 -1
- package/dist-esm/test/policy_examples.d.ts +3 -1
- package/dist-esm/test/policy_examples.d.ts.map +1 -1
- package/dist-esm/test/policy_examples.js +56 -22
- package/dist-esm/test/policy_examples.js.map +1 -1
- package/package.json +8 -8
- package/review/arm-policy.api.md +3 -9
- package/src/index.ts +0 -1
- package/src/operations/dataPolicyManifests.ts +3 -3
- package/src/operations/policyAssignments.ts +3 -3
- package/src/operations/policyDefinitions.ts +3 -3
- package/src/operations/policyExemptions.ts +3 -3
- package/src/operations/policySetDefinitions.ts +3 -3
- package/src/policyClient.ts +44 -3
- package/types/arm-policy.d.ts +3 -13
- package/types/tsdoc-metadata.json +1 -1
- package/dist-esm/src/policyClientContext.d.ts +0 -15
- package/dist-esm/src/policyClientContext.d.ts.map +0 -1
- package/dist-esm/src/policyClientContext.js +0 -48
- package/dist-esm/src/policyClientContext.js.map +0 -1
- package/src/policyClientContext.ts +0 -68
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/models/index.ts","../src/models/mappers.ts","../src/models/parameters.ts","../src/operations/dataPolicyManifests.ts","../src/operations/policyAssignments.ts","../src/operations/policyDefinitions.ts","../src/operations/policySetDefinitions.ts","../src/operations/policyExemptions.ts","../src/policyClientContext.ts","../src/policyClient.ts"],"sourcesContent":["/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreClient from \"@azure/core-client\";\n\n/** The data policy manifest. */\nexport interface DataPolicyManifest {\n /**\n * The ID of the data policy manifest.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly id?: string;\n /**\n * The name of the data policy manifest (it's the same as the Policy Mode).\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly name?: string;\n /**\n * The type of the resource (Microsoft.Authorization/dataPolicyManifests).\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly type?: string;\n /** The list of namespaces for the data policy manifest. */\n namespaces?: string[];\n /** The policy mode of the data policy manifest. */\n policyMode?: string;\n /** A value indicating whether policy mode is allowed only in built-in definitions. */\n isBuiltInOnly?: boolean;\n /** An array of resource type aliases. */\n resourceTypeAliases?: ResourceTypeAliases[];\n /** The effect definition. */\n effects?: DataEffect[];\n /** The non-alias field accessor values that can be used in the policy rule. */\n fieldValues?: string[];\n /** The standard resource functions (subscription and/or resourceGroup). */\n standard?: string[];\n /** An array of data manifest custom resource definition. */\n custom?: DataManifestCustomResourceFunctionDefinition[];\n}\n\n/** The resource type aliases definition. */\nexport interface ResourceTypeAliases {\n /** The resource type name. */\n resourceType?: string;\n /** The aliases for property names. */\n aliases?: Alias[];\n}\n\n/** The alias type. */\nexport interface Alias {\n /** The alias name. */\n name?: string;\n /** The paths for an alias. */\n paths?: AliasPath[];\n /** The type of the alias. */\n type?: AliasType;\n /** The default path for an alias. */\n defaultPath?: string;\n /** The default pattern for an alias. */\n defaultPattern?: AliasPattern;\n /**\n * The default alias path metadata. Applies to the default path and to any alias path that doesn't have metadata\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly defaultMetadata?: AliasPathMetadata;\n}\n\n/** The type of the paths for alias. */\nexport interface AliasPath {\n /** The path of an alias. */\n path?: string;\n /** The API versions. */\n apiVersions?: string[];\n /** The pattern for an alias path. */\n pattern?: AliasPattern;\n /**\n * The metadata of the alias path. If missing, fall back to the default metadata of the alias.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly metadata?: AliasPathMetadata;\n}\n\n/** The type of the pattern for an alias path. */\nexport interface AliasPattern {\n /** The alias pattern phrase. */\n phrase?: string;\n /** The alias pattern variable. */\n variable?: string;\n /** The type of alias pattern */\n type?: AliasPatternType;\n}\n\nexport interface AliasPathMetadata {\n /**\n * The type of the token that the alias path is referring to.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly type?: AliasPathTokenType;\n /**\n * The attributes of the token that the alias path is referring to.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly attributes?: AliasPathAttributes;\n}\n\n/** The data effect definition. */\nexport interface DataEffect {\n /** The data effect name. */\n name?: string;\n /** The data effect details schema. */\n detailsSchema?: Record<string, unknown>;\n}\n\n/** The custom resource function definition. */\nexport interface DataManifestCustomResourceFunctionDefinition {\n /** The function name as it will appear in the policy rule. eg - 'vault'. */\n name?: string;\n /** The fully qualified control plane resource type that this function represents. eg - 'Microsoft.KeyVault/vaults'. */\n fullyQualifiedResourceType?: string;\n /** The top-level properties that can be selected on the function's output. eg - [ \"name\", \"location\" ] if vault().name and vault().location are supported */\n defaultProperties?: string[];\n /** A value indicating whether the custom properties within the property bag are allowed. Needs api-version to be specified in the policy rule eg - vault('2019-06-01'). */\n allowCustomProperties?: boolean;\n}\n\n/** An error response from a policy operation. */\nexport interface CloudError {\n /** Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.) */\n error?: ErrorResponse;\n}\n\n/** Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.) */\nexport interface ErrorResponse {\n /**\n * The error code.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly code?: string;\n /**\n * The error message.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly message?: string;\n /**\n * The error target.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly target?: string;\n /**\n * The error details.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly details?: ErrorResponse[];\n /**\n * The error additional info.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly additionalInfo?: ErrorAdditionalInfo[];\n}\n\n/** The resource management error additional info. */\nexport interface ErrorAdditionalInfo {\n /**\n * The additional info type.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly type?: string;\n /**\n * The additional info.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly info?: Record<string, unknown>;\n}\n\n/** List of data policy manifests. */\nexport interface DataPolicyManifestListResult {\n /** An array of data policy manifests. */\n value?: DataPolicyManifest[];\n /** The URL to use for getting the next set of results. */\n nextLink?: string;\n}\n\n/** The policy assignment. */\nexport interface PolicyAssignment {\n /**\n * The ID of the policy assignment.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly id?: string;\n /**\n * The type of the policy assignment.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly type?: string;\n /**\n * The name of the policy assignment.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly name?: string;\n /** The location of the policy assignment. Only required when utilizing managed identity. */\n location?: string;\n /** The managed identity associated with the policy assignment. */\n identity?: Identity;\n /**\n * The system metadata relating to this resource.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly systemData?: SystemData;\n /** The display name of the policy assignment. */\n displayName?: string;\n /** The ID of the policy definition or policy set definition being assigned. */\n policyDefinitionId?: string;\n /**\n * The scope for the policy assignment.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly scope?: string;\n /** The policy's excluded scopes. */\n notScopes?: string[];\n /** The parameter values for the assigned policy rule. The keys are the parameter names. */\n parameters?: { [propertyName: string]: ParameterValuesValue };\n /** This message will be part of response in case of policy violation. */\n description?: string;\n /** The policy assignment metadata. Metadata is an open ended object and is typically a collection of key value pairs. */\n metadata?: Record<string, unknown>;\n /** The policy assignment enforcement mode. Possible values are Default and DoNotEnforce. */\n enforcementMode?: EnforcementMode;\n /** The messages that describe why a resource is non-compliant with the policy. */\n nonComplianceMessages?: NonComplianceMessage[];\n}\n\n/** The value of a parameter. */\nexport interface ParameterValuesValue {\n /** The value of the parameter. */\n value?: Record<string, unknown>;\n}\n\n/** A message that describes why a resource is non-compliant with the policy. This is shown in 'deny' error messages and on resource's non-compliant compliance results. */\nexport interface NonComplianceMessage {\n /** A message that describes why a resource is non-compliant with the policy. This is shown in 'deny' error messages and on resource's non-compliant compliance results. */\n message: string;\n /** The policy definition reference ID within a policy set definition the message is intended for. This is only applicable if the policy assignment assigns a policy set definition. If this is not provided the message applies to all policies assigned by this policy assignment. */\n policyDefinitionReferenceId?: string;\n}\n\n/** Identity for the resource. Policy assignments support a maximum of one identity. That is either a system assigned identity or a single user assigned identity. */\nexport interface Identity {\n /**\n * The principal ID of the resource identity. This property will only be provided for a system assigned identity\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly principalId?: string;\n /**\n * The tenant ID of the resource identity. This property will only be provided for a system assigned identity\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly tenantId?: string;\n /** The identity type. This is the only required field when adding a system or user assigned identity to a resource. */\n type?: ResourceIdentityType;\n /** The user identity associated with the policy. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. */\n userAssignedIdentities?: {\n [propertyName: string]: UserAssignedIdentitiesValue;\n };\n}\n\nexport interface UserAssignedIdentitiesValue {\n /**\n * The principal id of user assigned identity.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly principalId?: string;\n /**\n * The client id of user assigned identity.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly clientId?: string;\n}\n\n/** Metadata pertaining to creation and last modification of the resource. */\nexport interface SystemData {\n /** The identity that created the resource. */\n createdBy?: string;\n /** The type of identity that created the resource. */\n createdByType?: CreatedByType;\n /** The timestamp of resource creation (UTC). */\n createdAt?: Date;\n /** The identity that last modified the resource. */\n lastModifiedBy?: string;\n /** The type of identity that last modified the resource. */\n lastModifiedByType?: CreatedByType;\n /** The timestamp of resource last modification (UTC) */\n lastModifiedAt?: Date;\n}\n\nexport interface PolicyAssignmentUpdate {\n /** The location of the policy assignment. Only required when utilizing managed identity. */\n location?: string;\n /** The managed identity associated with the policy assignment. */\n identity?: Identity;\n}\n\n/** List of policy assignments. */\nexport interface PolicyAssignmentListResult {\n /** An array of policy assignments. */\n value?: PolicyAssignment[];\n /** The URL to use for getting the next set of results. */\n nextLink?: string;\n}\n\n/** The policy definition. */\nexport interface PolicyDefinition {\n /**\n * The ID of the policy definition.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly id?: string;\n /**\n * The name of the policy definition.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly name?: string;\n /**\n * The type of the resource (Microsoft.Authorization/policyDefinitions).\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly type?: string;\n /**\n * The system metadata relating to this resource.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly systemData?: SystemData;\n /** The type of policy definition. Possible values are NotSpecified, BuiltIn, Custom, and Static. */\n policyType?: PolicyType;\n /** The policy definition mode. Some examples are All, Indexed, Microsoft.KeyVault.Data. */\n mode?: string;\n /** The display name of the policy definition. */\n displayName?: string;\n /** The policy definition description. */\n description?: string;\n /** The policy rule. */\n policyRule?: Record<string, unknown>;\n /** The policy definition metadata. Metadata is an open ended object and is typically a collection of key value pairs. */\n metadata?: Record<string, unknown>;\n /** The parameter definitions for parameters used in the policy rule. The keys are the parameter names. */\n parameters?: { [propertyName: string]: ParameterDefinitionsValue };\n}\n\n/** The definition of a parameter that can be provided to the policy. */\nexport interface ParameterDefinitionsValue {\n /** The data type of the parameter. */\n type?: ParameterType;\n /** The allowed values for the parameter. */\n allowedValues?: Record<string, unknown>[];\n /** The default value for the parameter if no value is provided. */\n defaultValue?: Record<string, unknown>;\n /** General metadata for the parameter. */\n metadata?: ParameterDefinitionsValueMetadata;\n}\n\n/** General metadata for the parameter. */\nexport interface ParameterDefinitionsValueMetadata {\n /** Describes unknown properties. The value of an unknown property can be of \"any\" type. */\n [property: string]: any;\n /** The display name for the parameter. */\n displayName?: string;\n /** The description of the parameter. */\n description?: string;\n /** Used when assigning the policy definition through the portal. Provides a context aware list of values for the user to choose from. */\n strongType?: string;\n /** Set to true to have Azure portal create role assignments on the resource ID or resource scope value of this parameter during policy assignment. This property is useful in case you wish to assign permissions outside the assignment scope. */\n assignPermissions?: boolean;\n}\n\n/** List of policy definitions. */\nexport interface PolicyDefinitionListResult {\n /** An array of policy definitions. */\n value?: PolicyDefinition[];\n /** The URL to use for getting the next set of results. */\n nextLink?: string;\n}\n\n/** The policy set definition. */\nexport interface PolicySetDefinition {\n /**\n * The ID of the policy set definition.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly id?: string;\n /**\n * The name of the policy set definition.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly name?: string;\n /**\n * The type of the resource (Microsoft.Authorization/policySetDefinitions).\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly type?: string;\n /**\n * The system metadata relating to this resource.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly systemData?: SystemData;\n /** The type of policy definition. Possible values are NotSpecified, BuiltIn, Custom, and Static. */\n policyType?: PolicyType;\n /** The display name of the policy set definition. */\n displayName?: string;\n /** The policy set definition description. */\n description?: string;\n /** The policy set definition metadata. Metadata is an open ended object and is typically a collection of key value pairs. */\n metadata?: Record<string, unknown>;\n /** The policy set definition parameters that can be used in policy definition references. */\n parameters?: { [propertyName: string]: ParameterDefinitionsValue };\n /** An array of policy definition references. */\n policyDefinitions?: PolicyDefinitionReference[];\n /** The metadata describing groups of policy definition references within the policy set definition. */\n policyDefinitionGroups?: PolicyDefinitionGroup[];\n}\n\n/** The policy definition reference. */\nexport interface PolicyDefinitionReference {\n /** The ID of the policy definition or policy set definition. */\n policyDefinitionId: string;\n /** The parameter values for the referenced policy rule. The keys are the parameter names. */\n parameters?: { [propertyName: string]: ParameterValuesValue };\n /** A unique id (within the policy set definition) for this policy definition reference. */\n policyDefinitionReferenceId?: string;\n /** The name of the groups that this policy definition reference belongs to. */\n groupNames?: string[];\n}\n\n/** The policy definition group. */\nexport interface PolicyDefinitionGroup {\n /** The name of the group. */\n name: string;\n /** The group's display name. */\n displayName?: string;\n /** The group's category. */\n category?: string;\n /** The group's description. */\n description?: string;\n /** A resource ID of a resource that contains additional metadata about the group. */\n additionalMetadataId?: string;\n}\n\n/** List of policy set definitions. */\nexport interface PolicySetDefinitionListResult {\n /** An array of policy set definitions. */\n value?: PolicySetDefinition[];\n /** The URL to use for getting the next set of results. */\n nextLink?: string;\n}\n\n/** The policy exemption. */\nexport interface PolicyExemption {\n /**\n * Azure Resource Manager metadata containing createdBy and modifiedBy information.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly systemData?: SystemData;\n /**\n * The ID of the policy exemption.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly id?: string;\n /**\n * The name of the policy exemption.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly name?: string;\n /**\n * The type of the resource (Microsoft.Authorization/policyExemptions).\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly type?: string;\n /** The ID of the policy assignment that is being exempted. */\n policyAssignmentId: string;\n /** The policy definition reference ID list when the associated policy assignment is an assignment of a policy set definition. */\n policyDefinitionReferenceIds?: string[];\n /** The policy exemption category. Possible values are Waiver and Mitigated. */\n exemptionCategory: ExemptionCategory;\n /** The expiration date and time (in UTC ISO 8601 format yyyy-MM-ddTHH:mm:ssZ) of the policy exemption. */\n expiresOn?: Date;\n /** The display name of the policy exemption. */\n displayName?: string;\n /** The description of the policy exemption. */\n description?: string;\n /** The policy exemption metadata. Metadata is an open ended object and is typically a collection of key value pairs. */\n metadata?: Record<string, unknown>;\n}\n\n/** List of policy exemptions. */\nexport interface PolicyExemptionListResult {\n /** An array of policy exemptions. */\n value?: PolicyExemption[];\n /**\n * The URL to use for getting the next set of results.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly nextLink?: string;\n}\n\n/** Known values of {@link AliasPathTokenType} that the service accepts. */\nexport enum KnownAliasPathTokenType {\n /** The token type is not specified. */\n NotSpecified = \"NotSpecified\",\n /** The token type can be anything. */\n Any = \"Any\",\n /** The token type is string. */\n String = \"String\",\n /** The token type is object. */\n Object = \"Object\",\n /** The token type is array. */\n Array = \"Array\",\n /** The token type is integer. */\n Integer = \"Integer\",\n /** The token type is number. */\n Number = \"Number\",\n /** The token type is boolean. */\n Boolean = \"Boolean\"\n}\n\n/**\n * Defines values for AliasPathTokenType. \\\n * {@link KnownAliasPathTokenType} can be used interchangeably with AliasPathTokenType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **NotSpecified**: The token type is not specified. \\\n * **Any**: The token type can be anything. \\\n * **String**: The token type is string. \\\n * **Object**: The token type is object. \\\n * **Array**: The token type is array. \\\n * **Integer**: The token type is integer. \\\n * **Number**: The token type is number. \\\n * **Boolean**: The token type is boolean.\n */\nexport type AliasPathTokenType = string;\n\n/** Known values of {@link AliasPathAttributes} that the service accepts. */\nexport enum KnownAliasPathAttributes {\n /** The token that the alias path is referring to has no attributes. */\n None = \"None\",\n /** The token that the alias path is referring to is modifiable by policies with 'modify' effect. */\n Modifiable = \"Modifiable\"\n}\n\n/**\n * Defines values for AliasPathAttributes. \\\n * {@link KnownAliasPathAttributes} can be used interchangeably with AliasPathAttributes,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **None**: The token that the alias path is referring to has no attributes. \\\n * **Modifiable**: The token that the alias path is referring to is modifiable by policies with 'modify' effect.\n */\nexport type AliasPathAttributes = string;\n\n/** Known values of {@link EnforcementMode} that the service accepts. */\nexport enum KnownEnforcementMode {\n /** The policy effect is enforced during resource creation or update. */\n Default = \"Default\",\n /** The policy effect is not enforced during resource creation or update. */\n DoNotEnforce = \"DoNotEnforce\"\n}\n\n/**\n * Defines values for EnforcementMode. \\\n * {@link KnownEnforcementMode} can be used interchangeably with EnforcementMode,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Default**: The policy effect is enforced during resource creation or update. \\\n * **DoNotEnforce**: The policy effect is not enforced during resource creation or update.\n */\nexport type EnforcementMode = string;\n\n/** Known values of {@link CreatedByType} that the service accepts. */\nexport enum KnownCreatedByType {\n User = \"User\",\n Application = \"Application\",\n ManagedIdentity = \"ManagedIdentity\",\n Key = \"Key\"\n}\n\n/**\n * Defines values for CreatedByType. \\\n * {@link KnownCreatedByType} can be used interchangeably with CreatedByType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **User** \\\n * **Application** \\\n * **ManagedIdentity** \\\n * **Key**\n */\nexport type CreatedByType = string;\n\n/** Known values of {@link PolicyType} that the service accepts. */\nexport enum KnownPolicyType {\n NotSpecified = \"NotSpecified\",\n BuiltIn = \"BuiltIn\",\n Custom = \"Custom\",\n Static = \"Static\"\n}\n\n/**\n * Defines values for PolicyType. \\\n * {@link KnownPolicyType} can be used interchangeably with PolicyType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **NotSpecified** \\\n * **BuiltIn** \\\n * **Custom** \\\n * **Static**\n */\nexport type PolicyType = string;\n\n/** Known values of {@link ParameterType} that the service accepts. */\nexport enum KnownParameterType {\n String = \"String\",\n Array = \"Array\",\n Object = \"Object\",\n Boolean = \"Boolean\",\n Integer = \"Integer\",\n Float = \"Float\",\n DateTime = \"DateTime\"\n}\n\n/**\n * Defines values for ParameterType. \\\n * {@link KnownParameterType} can be used interchangeably with ParameterType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **String** \\\n * **Array** \\\n * **Object** \\\n * **Boolean** \\\n * **Integer** \\\n * **Float** \\\n * **DateTime**\n */\nexport type ParameterType = string;\n\n/** Known values of {@link ExemptionCategory} that the service accepts. */\nexport enum KnownExemptionCategory {\n /** This category of exemptions usually means the scope is not applicable for the policy. */\n Waiver = \"Waiver\",\n /** This category of exemptions usually means the mitigation actions have been applied to the scope. */\n Mitigated = \"Mitigated\"\n}\n\n/**\n * Defines values for ExemptionCategory. \\\n * {@link KnownExemptionCategory} can be used interchangeably with ExemptionCategory,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Waiver**: This category of exemptions usually means the scope is not applicable for the policy. \\\n * **Mitigated**: This category of exemptions usually means the mitigation actions have been applied to the scope.\n */\nexport type ExemptionCategory = string;\n/** Defines values for AliasPatternType. */\nexport type AliasPatternType = \"NotSpecified\" | \"Extract\";\n/** Defines values for AliasType. */\nexport type AliasType = \"NotSpecified\" | \"PlainText\" | \"Mask\";\n/** Defines values for ResourceIdentityType. */\nexport type ResourceIdentityType = \"SystemAssigned\" | \"UserAssigned\" | \"None\";\n\n/** Optional parameters. */\nexport interface DataPolicyManifestsGetByPolicyModeOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the getByPolicyMode operation. */\nexport type DataPolicyManifestsGetByPolicyModeResponse = DataPolicyManifest;\n\n/** Optional parameters. */\nexport interface DataPolicyManifestsListOptionalParams\n extends coreClient.OperationOptions {\n /** The filter to apply on the operation. Valid values for $filter are: \"namespace eq '{value}'\". If $filter is not provided, no filtering is performed. If $filter=namespace eq '{value}' is provided, the returned list only includes all data policy manifests that have a namespace matching the provided value. */\n filter?: string;\n}\n\n/** Contains response data for the list operation. */\nexport type DataPolicyManifestsListResponse = DataPolicyManifestListResult;\n\n/** Optional parameters. */\nexport interface DataPolicyManifestsListNextOptionalParams\n extends coreClient.OperationOptions {\n /** The filter to apply on the operation. Valid values for $filter are: \"namespace eq '{value}'\". If $filter is not provided, no filtering is performed. If $filter=namespace eq '{value}' is provided, the returned list only includes all data policy manifests that have a namespace matching the provided value. */\n filter?: string;\n}\n\n/** Contains response data for the listNext operation. */\nexport type DataPolicyManifestsListNextResponse = DataPolicyManifestListResult;\n\n/** Optional parameters. */\nexport interface PolicyAssignmentsDeleteOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the delete operation. */\nexport type PolicyAssignmentsDeleteResponse = PolicyAssignment;\n\n/** Optional parameters. */\nexport interface PolicyAssignmentsCreateOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the create operation. */\nexport type PolicyAssignmentsCreateResponse = PolicyAssignment;\n\n/** Optional parameters. */\nexport interface PolicyAssignmentsGetOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the get operation. */\nexport type PolicyAssignmentsGetResponse = PolicyAssignment;\n\n/** Optional parameters. */\nexport interface PolicyAssignmentsUpdateOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the update operation. */\nexport type PolicyAssignmentsUpdateResponse = PolicyAssignment;\n\n/** Optional parameters. */\nexport interface PolicyAssignmentsListForResourceGroupOptionalParams\n extends coreClient.OperationOptions {\n /** The filter to apply on the operation. Valid values for $filter are: 'atScope()', 'atExactScope()' or 'policyDefinitionId eq '{value}''. If $filter is not provided, no filtering is performed. If $filter=atScope() is provided, the returned list only includes all policy assignments that apply to the scope, which is everything in the unfiltered list except those applied to sub scopes contained within the given scope. If $filter=atExactScope() is provided, the returned list only includes all policy assignments that at the given scope. If $filter=policyDefinitionId eq '{value}' is provided, the returned list includes all policy assignments of the policy definition whose id is {value}. */\n filter?: string;\n /** Maximum number of records to return. When the $top filter is not provided, it will return 500 records. */\n top?: number;\n}\n\n/** Contains response data for the listForResourceGroup operation. */\nexport type PolicyAssignmentsListForResourceGroupResponse = PolicyAssignmentListResult;\n\n/** Optional parameters. */\nexport interface PolicyAssignmentsListForResourceOptionalParams\n extends coreClient.OperationOptions {\n /** The filter to apply on the operation. Valid values for $filter are: 'atScope()', 'atExactScope()' or 'policyDefinitionId eq '{value}''. If $filter is not provided, no filtering is performed. If $filter=atScope() is provided, the returned list only includes all policy assignments that apply to the scope, which is everything in the unfiltered list except those applied to sub scopes contained within the given scope. If $filter=atExactScope() is provided, the returned list only includes all policy assignments that at the given scope. If $filter=policyDefinitionId eq '{value}' is provided, the returned list includes all policy assignments of the policy definition whose id is {value}. */\n filter?: string;\n /** Maximum number of records to return. When the $top filter is not provided, it will return 500 records. */\n top?: number;\n}\n\n/** Contains response data for the listForResource operation. */\nexport type PolicyAssignmentsListForResourceResponse = PolicyAssignmentListResult;\n\n/** Optional parameters. */\nexport interface PolicyAssignmentsListForManagementGroupOptionalParams\n extends coreClient.OperationOptions {\n /** The filter to apply on the operation. Valid values for $filter are: 'atScope()', 'atExactScope()' or 'policyDefinitionId eq '{value}''. If $filter is not provided, no filtering is performed. If $filter=atScope() is provided, the returned list only includes all policy assignments that apply to the scope, which is everything in the unfiltered list except those applied to sub scopes contained within the given scope. If $filter=atExactScope() is provided, the returned list only includes all policy assignments that at the given scope. If $filter=policyDefinitionId eq '{value}' is provided, the returned list includes all policy assignments of the policy definition whose id is {value}. */\n filter?: string;\n /** Maximum number of records to return. When the $top filter is not provided, it will return 500 records. */\n top?: number;\n}\n\n/** Contains response data for the listForManagementGroup operation. */\nexport type PolicyAssignmentsListForManagementGroupResponse = PolicyAssignmentListResult;\n\n/** Optional parameters. */\nexport interface PolicyAssignmentsListOptionalParams\n extends coreClient.OperationOptions {\n /** The filter to apply on the operation. Valid values for $filter are: 'atScope()', 'atExactScope()' or 'policyDefinitionId eq '{value}''. If $filter is not provided, no filtering is performed. If $filter=atScope() is provided, the returned list only includes all policy assignments that apply to the scope, which is everything in the unfiltered list except those applied to sub scopes contained within the given scope. If $filter=atExactScope() is provided, the returned list only includes all policy assignments that at the given scope. If $filter=policyDefinitionId eq '{value}' is provided, the returned list includes all policy assignments of the policy definition whose id is {value}. */\n filter?: string;\n /** Maximum number of records to return. When the $top filter is not provided, it will return 500 records. */\n top?: number;\n}\n\n/** Contains response data for the list operation. */\nexport type PolicyAssignmentsListResponse = PolicyAssignmentListResult;\n\n/** Optional parameters. */\nexport interface PolicyAssignmentsDeleteByIdOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the deleteById operation. */\nexport type PolicyAssignmentsDeleteByIdResponse = PolicyAssignment;\n\n/** Optional parameters. */\nexport interface PolicyAssignmentsCreateByIdOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the createById operation. */\nexport type PolicyAssignmentsCreateByIdResponse = PolicyAssignment;\n\n/** Optional parameters. */\nexport interface PolicyAssignmentsGetByIdOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the getById operation. */\nexport type PolicyAssignmentsGetByIdResponse = PolicyAssignment;\n\n/** Optional parameters. */\nexport interface PolicyAssignmentsUpdateByIdOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the updateById operation. */\nexport type PolicyAssignmentsUpdateByIdResponse = PolicyAssignment;\n\n/** Optional parameters. */\nexport interface PolicyAssignmentsListForResourceGroupNextOptionalParams\n extends coreClient.OperationOptions {\n /** The filter to apply on the operation. Valid values for $filter are: 'atScope()', 'atExactScope()' or 'policyDefinitionId eq '{value}''. If $filter is not provided, no filtering is performed. If $filter=atScope() is provided, the returned list only includes all policy assignments that apply to the scope, which is everything in the unfiltered list except those applied to sub scopes contained within the given scope. If $filter=atExactScope() is provided, the returned list only includes all policy assignments that at the given scope. If $filter=policyDefinitionId eq '{value}' is provided, the returned list includes all policy assignments of the policy definition whose id is {value}. */\n filter?: string;\n /** Maximum number of records to return. When the $top filter is not provided, it will return 500 records. */\n top?: number;\n}\n\n/** Contains response data for the listForResourceGroupNext operation. */\nexport type PolicyAssignmentsListForResourceGroupNextResponse = PolicyAssignmentListResult;\n\n/** Optional parameters. */\nexport interface PolicyAssignmentsListForResourceNextOptionalParams\n extends coreClient.OperationOptions {\n /** The filter to apply on the operation. Valid values for $filter are: 'atScope()', 'atExactScope()' or 'policyDefinitionId eq '{value}''. If $filter is not provided, no filtering is performed. If $filter=atScope() is provided, the returned list only includes all policy assignments that apply to the scope, which is everything in the unfiltered list except those applied to sub scopes contained within the given scope. If $filter=atExactScope() is provided, the returned list only includes all policy assignments that at the given scope. If $filter=policyDefinitionId eq '{value}' is provided, the returned list includes all policy assignments of the policy definition whose id is {value}. */\n filter?: string;\n /** Maximum number of records to return. When the $top filter is not provided, it will return 500 records. */\n top?: number;\n}\n\n/** Contains response data for the listForResourceNext operation. */\nexport type PolicyAssignmentsListForResourceNextResponse = PolicyAssignmentListResult;\n\n/** Optional parameters. */\nexport interface PolicyAssignmentsListForManagementGroupNextOptionalParams\n extends coreClient.OperationOptions {\n /** The filter to apply on the operation. Valid values for $filter are: 'atScope()', 'atExactScope()' or 'policyDefinitionId eq '{value}''. If $filter is not provided, no filtering is performed. If $filter=atScope() is provided, the returned list only includes all policy assignments that apply to the scope, which is everything in the unfiltered list except those applied to sub scopes contained within the given scope. If $filter=atExactScope() is provided, the returned list only includes all policy assignments that at the given scope. If $filter=policyDefinitionId eq '{value}' is provided, the returned list includes all policy assignments of the policy definition whose id is {value}. */\n filter?: string;\n /** Maximum number of records to return. When the $top filter is not provided, it will return 500 records. */\n top?: number;\n}\n\n/** Contains response data for the listForManagementGroupNext operation. */\nexport type PolicyAssignmentsListForManagementGroupNextResponse = PolicyAssignmentListResult;\n\n/** Optional parameters. */\nexport interface PolicyAssignmentsListNextOptionalParams\n extends coreClient.OperationOptions {\n /** The filter to apply on the operation. Valid values for $filter are: 'atScope()', 'atExactScope()' or 'policyDefinitionId eq '{value}''. If $filter is not provided, no filtering is performed. If $filter=atScope() is provided, the returned list only includes all policy assignments that apply to the scope, which is everything in the unfiltered list except those applied to sub scopes contained within the given scope. If $filter=atExactScope() is provided, the returned list only includes all policy assignments that at the given scope. If $filter=policyDefinitionId eq '{value}' is provided, the returned list includes all policy assignments of the policy definition whose id is {value}. */\n filter?: string;\n /** Maximum number of records to return. When the $top filter is not provided, it will return 500 records. */\n top?: number;\n}\n\n/** Contains response data for the listNext operation. */\nexport type PolicyAssignmentsListNextResponse = PolicyAssignmentListResult;\n\n/** Optional parameters. */\nexport interface PolicyDefinitionsCreateOrUpdateOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the createOrUpdate operation. */\nexport type PolicyDefinitionsCreateOrUpdateResponse = PolicyDefinition;\n\n/** Optional parameters. */\nexport interface PolicyDefinitionsDeleteOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Optional parameters. */\nexport interface PolicyDefinitionsGetOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the get operation. */\nexport type PolicyDefinitionsGetResponse = PolicyDefinition;\n\n/** Optional parameters. */\nexport interface PolicyDefinitionsGetBuiltInOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the getBuiltIn operation. */\nexport type PolicyDefinitionsGetBuiltInResponse = PolicyDefinition;\n\n/** Optional parameters. */\nexport interface PolicyDefinitionsCreateOrUpdateAtManagementGroupOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the createOrUpdateAtManagementGroup operation. */\nexport type PolicyDefinitionsCreateOrUpdateAtManagementGroupResponse = PolicyDefinition;\n\n/** Optional parameters. */\nexport interface PolicyDefinitionsDeleteAtManagementGroupOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Optional parameters. */\nexport interface PolicyDefinitionsGetAtManagementGroupOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the getAtManagementGroup operation. */\nexport type PolicyDefinitionsGetAtManagementGroupResponse = PolicyDefinition;\n\n/** Optional parameters. */\nexport interface PolicyDefinitionsListOptionalParams\n extends coreClient.OperationOptions {\n /** The filter to apply on the operation. Valid values for $filter are: 'atExactScope()', 'policyType -eq {value}' or 'category eq '{value}''. If $filter is not provided, no filtering is performed. If $filter=atExactScope() is provided, the returned list only includes all policy definitions that at the given scope. If $filter='policyType -eq {value}' is provided, the returned list only includes all policy definitions whose type match the {value}. Possible policyType values are NotSpecified, BuiltIn, Custom, and Static. If $filter='category -eq {value}' is provided, the returned list only includes all policy definitions whose category match the {value}. */\n filter?: string;\n /** Maximum number of records to return. When the $top filter is not provided, it will return 500 records. */\n top?: number;\n}\n\n/** Contains response data for the list operation. */\nexport type PolicyDefinitionsListResponse = PolicyDefinitionListResult;\n\n/** Optional parameters. */\nexport interface PolicyDefinitionsListBuiltInOptionalParams\n extends coreClient.OperationOptions {\n /** The filter to apply on the operation. Valid values for $filter are: 'atExactScope()', 'policyType -eq {value}' or 'category eq '{value}''. If $filter is not provided, no filtering is performed. If $filter=atExactScope() is provided, the returned list only includes all policy definitions that at the given scope. If $filter='policyType -eq {value}' is provided, the returned list only includes all policy definitions whose type match the {value}. Possible policyType values are NotSpecified, BuiltIn, Custom, and Static. If $filter='category -eq {value}' is provided, the returned list only includes all policy definitions whose category match the {value}. */\n filter?: string;\n /** Maximum number of records to return. When the $top filter is not provided, it will return 500 records. */\n top?: number;\n}\n\n/** Contains response data for the listBuiltIn operation. */\nexport type PolicyDefinitionsListBuiltInResponse = PolicyDefinitionListResult;\n\n/** Optional parameters. */\nexport interface PolicyDefinitionsListByManagementGroupOptionalParams\n extends coreClient.OperationOptions {\n /** The filter to apply on the operation. Valid values for $filter are: 'atExactScope()', 'policyType -eq {value}' or 'category eq '{value}''. If $filter is not provided, no filtering is performed. If $filter=atExactScope() is provided, the returned list only includes all policy definitions that at the given scope. If $filter='policyType -eq {value}' is provided, the returned list only includes all policy definitions whose type match the {value}. Possible policyType values are NotSpecified, BuiltIn, Custom, and Static. If $filter='category -eq {value}' is provided, the returned list only includes all policy definitions whose category match the {value}. */\n filter?: string;\n /** Maximum number of records to return. When the $top filter is not provided, it will return 500 records. */\n top?: number;\n}\n\n/** Contains response data for the listByManagementGroup operation. */\nexport type PolicyDefinitionsListByManagementGroupResponse = PolicyDefinitionListResult;\n\n/** Optional parameters. */\nexport interface PolicyDefinitionsListNextOptionalParams\n extends coreClient.OperationOptions {\n /** The filter to apply on the operation. Valid values for $filter are: 'atExactScope()', 'policyType -eq {value}' or 'category eq '{value}''. If $filter is not provided, no filtering is performed. If $filter=atExactScope() is provided, the returned list only includes all policy definitions that at the given scope. If $filter='policyType -eq {value}' is provided, the returned list only includes all policy definitions whose type match the {value}. Possible policyType values are NotSpecified, BuiltIn, Custom, and Static. If $filter='category -eq {value}' is provided, the returned list only includes all policy definitions whose category match the {value}. */\n filter?: string;\n /** Maximum number of records to return. When the $top filter is not provided, it will return 500 records. */\n top?: number;\n}\n\n/** Contains response data for the listNext operation. */\nexport type PolicyDefinitionsListNextResponse = PolicyDefinitionListResult;\n\n/** Optional parameters. */\nexport interface PolicyDefinitionsListBuiltInNextOptionalParams\n extends coreClient.OperationOptions {\n /** The filter to apply on the operation. Valid values for $filter are: 'atExactScope()', 'policyType -eq {value}' or 'category eq '{value}''. If $filter is not provided, no filtering is performed. If $filter=atExactScope() is provided, the returned list only includes all policy definitions that at the given scope. If $filter='policyType -eq {value}' is provided, the returned list only includes all policy definitions whose type match the {value}. Possible policyType values are NotSpecified, BuiltIn, Custom, and Static. If $filter='category -eq {value}' is provided, the returned list only includes all policy definitions whose category match the {value}. */\n filter?: string;\n /** Maximum number of records to return. When the $top filter is not provided, it will return 500 records. */\n top?: number;\n}\n\n/** Contains response data for the listBuiltInNext operation. */\nexport type PolicyDefinitionsListBuiltInNextResponse = PolicyDefinitionListResult;\n\n/** Optional parameters. */\nexport interface PolicyDefinitionsListByManagementGroupNextOptionalParams\n extends coreClient.OperationOptions {\n /** The filter to apply on the operation. Valid values for $filter are: 'atExactScope()', 'policyType -eq {value}' or 'category eq '{value}''. If $filter is not provided, no filtering is performed. If $filter=atExactScope() is provided, the returned list only includes all policy definitions that at the given scope. If $filter='policyType -eq {value}' is provided, the returned list only includes all policy definitions whose type match the {value}. Possible policyType values are NotSpecified, BuiltIn, Custom, and Static. If $filter='category -eq {value}' is provided, the returned list only includes all policy definitions whose category match the {value}. */\n filter?: string;\n /** Maximum number of records to return. When the $top filter is not provided, it will return 500 records. */\n top?: number;\n}\n\n/** Contains response data for the listByManagementGroupNext operation. */\nexport type PolicyDefinitionsListByManagementGroupNextResponse = PolicyDefinitionListResult;\n\n/** Optional parameters. */\nexport interface PolicySetDefinitionsCreateOrUpdateOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the createOrUpdate operation. */\nexport type PolicySetDefinitionsCreateOrUpdateResponse = PolicySetDefinition;\n\n/** Optional parameters. */\nexport interface PolicySetDefinitionsDeleteOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Optional parameters. */\nexport interface PolicySetDefinitionsGetOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the get operation. */\nexport type PolicySetDefinitionsGetResponse = PolicySetDefinition;\n\n/** Optional parameters. */\nexport interface PolicySetDefinitionsGetBuiltInOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the getBuiltIn operation. */\nexport type PolicySetDefinitionsGetBuiltInResponse = PolicySetDefinition;\n\n/** Optional parameters. */\nexport interface PolicySetDefinitionsListOptionalParams\n extends coreClient.OperationOptions {\n /** The filter to apply on the operation. Valid values for $filter are: 'atExactScope()', 'policyType -eq {value}' or 'category eq '{value}''. If $filter is not provided, no filtering is performed. If $filter=atExactScope() is provided, the returned list only includes all policy set definitions that at the given scope. If $filter='policyType -eq {value}' is provided, the returned list only includes all policy set definitions whose type match the {value}. Possible policyType values are NotSpecified, BuiltIn, Custom, and Static. If $filter='category -eq {value}' is provided, the returned list only includes all policy set definitions whose category match the {value}. */\n filter?: string;\n /** Maximum number of records to return. When the $top filter is not provided, it will return 500 records. */\n top?: number;\n}\n\n/** Contains response data for the list operation. */\nexport type PolicySetDefinitionsListResponse = PolicySetDefinitionListResult;\n\n/** Optional parameters. */\nexport interface PolicySetDefinitionsListBuiltInOptionalParams\n extends coreClient.OperationOptions {\n /** The filter to apply on the operation. Valid values for $filter are: 'atExactScope()', 'policyType -eq {value}' or 'category eq '{value}''. If $filter is not provided, no filtering is performed. If $filter=atExactScope() is provided, the returned list only includes all policy set definitions that at the given scope. If $filter='policyType -eq {value}' is provided, the returned list only includes all policy set definitions whose type match the {value}. Possible policyType values are NotSpecified, BuiltIn, Custom, and Static. If $filter='category -eq {value}' is provided, the returned list only includes all policy set definitions whose category match the {value}. */\n filter?: string;\n /** Maximum number of records to return. When the $top filter is not provided, it will return 500 records. */\n top?: number;\n}\n\n/** Contains response data for the listBuiltIn operation. */\nexport type PolicySetDefinitionsListBuiltInResponse = PolicySetDefinitionListResult;\n\n/** Optional parameters. */\nexport interface PolicySetDefinitionsCreateOrUpdateAtManagementGroupOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the createOrUpdateAtManagementGroup operation. */\nexport type PolicySetDefinitionsCreateOrUpdateAtManagementGroupResponse = PolicySetDefinition;\n\n/** Optional parameters. */\nexport interface PolicySetDefinitionsDeleteAtManagementGroupOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Optional parameters. */\nexport interface PolicySetDefinitionsGetAtManagementGroupOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the getAtManagementGroup operation. */\nexport type PolicySetDefinitionsGetAtManagementGroupResponse = PolicySetDefinition;\n\n/** Optional parameters. */\nexport interface PolicySetDefinitionsListByManagementGroupOptionalParams\n extends coreClient.OperationOptions {\n /** The filter to apply on the operation. Valid values for $filter are: 'atExactScope()', 'policyType -eq {value}' or 'category eq '{value}''. If $filter is not provided, no filtering is performed. If $filter=atExactScope() is provided, the returned list only includes all policy set definitions that at the given scope. If $filter='policyType -eq {value}' is provided, the returned list only includes all policy set definitions whose type match the {value}. Possible policyType values are NotSpecified, BuiltIn, Custom, and Static. If $filter='category -eq {value}' is provided, the returned list only includes all policy set definitions whose category match the {value}. */\n filter?: string;\n /** Maximum number of records to return. When the $top filter is not provided, it will return 500 records. */\n top?: number;\n}\n\n/** Contains response data for the listByManagementGroup operation. */\nexport type PolicySetDefinitionsListByManagementGroupResponse = PolicySetDefinitionListResult;\n\n/** Optional parameters. */\nexport interface PolicySetDefinitionsListNextOptionalParams\n extends coreClient.OperationOptions {\n /** The filter to apply on the operation. Valid values for $filter are: 'atExactScope()', 'policyType -eq {value}' or 'category eq '{value}''. If $filter is not provided, no filtering is performed. If $filter=atExactScope() is provided, the returned list only includes all policy set definitions that at the given scope. If $filter='policyType -eq {value}' is provided, the returned list only includes all policy set definitions whose type match the {value}. Possible policyType values are NotSpecified, BuiltIn, Custom, and Static. If $filter='category -eq {value}' is provided, the returned list only includes all policy set definitions whose category match the {value}. */\n filter?: string;\n /** Maximum number of records to return. When the $top filter is not provided, it will return 500 records. */\n top?: number;\n}\n\n/** Contains response data for the listNext operation. */\nexport type PolicySetDefinitionsListNextResponse = PolicySetDefinitionListResult;\n\n/** Optional parameters. */\nexport interface PolicySetDefinitionsListBuiltInNextOptionalParams\n extends coreClient.OperationOptions {\n /** The filter to apply on the operation. Valid values for $filter are: 'atExactScope()', 'policyType -eq {value}' or 'category eq '{value}''. If $filter is not provided, no filtering is performed. If $filter=atExactScope() is provided, the returned list only includes all policy set definitions that at the given scope. If $filter='policyType -eq {value}' is provided, the returned list only includes all policy set definitions whose type match the {value}. Possible policyType values are NotSpecified, BuiltIn, Custom, and Static. If $filter='category -eq {value}' is provided, the returned list only includes all policy set definitions whose category match the {value}. */\n filter?: string;\n /** Maximum number of records to return. When the $top filter is not provided, it will return 500 records. */\n top?: number;\n}\n\n/** Contains response data for the listBuiltInNext operation. */\nexport type PolicySetDefinitionsListBuiltInNextResponse = PolicySetDefinitionListResult;\n\n/** Optional parameters. */\nexport interface PolicySetDefinitionsListByManagementGroupNextOptionalParams\n extends coreClient.OperationOptions {\n /** The filter to apply on the operation. Valid values for $filter are: 'atExactScope()', 'policyType -eq {value}' or 'category eq '{value}''. If $filter is not provided, no filtering is performed. If $filter=atExactScope() is provided, the returned list only includes all policy set definitions that at the given scope. If $filter='policyType -eq {value}' is provided, the returned list only includes all policy set definitions whose type match the {value}. Possible policyType values are NotSpecified, BuiltIn, Custom, and Static. If $filter='category -eq {value}' is provided, the returned list only includes all policy set definitions whose category match the {value}. */\n filter?: string;\n /** Maximum number of records to return. When the $top filter is not provided, it will return 500 records. */\n top?: number;\n}\n\n/** Contains response data for the listByManagementGroupNext operation. */\nexport type PolicySetDefinitionsListByManagementGroupNextResponse = PolicySetDefinitionListResult;\n\n/** Optional parameters. */\nexport interface PolicyExemptionsDeleteOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Optional parameters. */\nexport interface PolicyExemptionsCreateOrUpdateOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the createOrUpdate operation. */\nexport type PolicyExemptionsCreateOrUpdateResponse = PolicyExemption;\n\n/** Optional parameters. */\nexport interface PolicyExemptionsGetOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the get operation. */\nexport type PolicyExemptionsGetResponse = PolicyExemption;\n\n/** Optional parameters. */\nexport interface PolicyExemptionsListOptionalParams\n extends coreClient.OperationOptions {\n /** The filter to apply on the operation. Valid values for $filter are: 'atScope()', 'atExactScope()', 'excludeExpired()' or 'policyAssignmentId eq '{value}''. If $filter is not provided, no filtering is performed. If $filter is not provided, the unfiltered list includes all policy exemptions associated with the scope, including those that apply directly or apply from containing scopes. If $filter=atScope() is provided, the returned list only includes all policy exemptions that apply to the scope, which is everything in the unfiltered list except those applied to sub scopes contained within the given scope. If $filter=atExactScope() is provided, the returned list only includes all policy exemptions that at the given scope. If $filter=excludeExpired() is provided, the returned list only includes all policy exemptions that either haven't expired or didn't set expiration date. If $filter=policyAssignmentId eq '{value}' is provided. the returned list only includes all policy exemptions that are associated with the give policyAssignmentId. */\n filter?: string;\n}\n\n/** Contains response data for the list operation. */\nexport type PolicyExemptionsListResponse = PolicyExemptionListResult;\n\n/** Optional parameters. */\nexport interface PolicyExemptionsListForResourceGroupOptionalParams\n extends coreClient.OperationOptions {\n /** The filter to apply on the operation. Valid values for $filter are: 'atScope()', 'atExactScope()', 'excludeExpired()' or 'policyAssignmentId eq '{value}''. If $filter is not provided, no filtering is performed. If $filter is not provided, the unfiltered list includes all policy exemptions associated with the scope, including those that apply directly or apply from containing scopes. If $filter=atScope() is provided, the returned list only includes all policy exemptions that apply to the scope, which is everything in the unfiltered list except those applied to sub scopes contained within the given scope. If $filter=atExactScope() is provided, the returned list only includes all policy exemptions that at the given scope. If $filter=excludeExpired() is provided, the returned list only includes all policy exemptions that either haven't expired or didn't set expiration date. If $filter=policyAssignmentId eq '{value}' is provided. the returned list only includes all policy exemptions that are associated with the give policyAssignmentId. */\n filter?: string;\n}\n\n/** Contains response data for the listForResourceGroup operation. */\nexport type PolicyExemptionsListForResourceGroupResponse = PolicyExemptionListResult;\n\n/** Optional parameters. */\nexport interface PolicyExemptionsListForResourceOptionalParams\n extends coreClient.OperationOptions {\n /** The filter to apply on the operation. Valid values for $filter are: 'atScope()', 'atExactScope()', 'excludeExpired()' or 'policyAssignmentId eq '{value}''. If $filter is not provided, no filtering is performed. If $filter is not provided, the unfiltered list includes all policy exemptions associated with the scope, including those that apply directly or apply from containing scopes. If $filter=atScope() is provided, the returned list only includes all policy exemptions that apply to the scope, which is everything in the unfiltered list except those applied to sub scopes contained within the given scope. If $filter=atExactScope() is provided, the returned list only includes all policy exemptions that at the given scope. If $filter=excludeExpired() is provided, the returned list only includes all policy exemptions that either haven't expired or didn't set expiration date. If $filter=policyAssignmentId eq '{value}' is provided. the returned list only includes all policy exemptions that are associated with the give policyAssignmentId. */\n filter?: string;\n}\n\n/** Contains response data for the listForResource operation. */\nexport type PolicyExemptionsListForResourceResponse = PolicyExemptionListResult;\n\n/** Optional parameters. */\nexport interface PolicyExemptionsListForManagementGroupOptionalParams\n extends coreClient.OperationOptions {\n /** The filter to apply on the operation. Valid values for $filter are: 'atScope()', 'atExactScope()', 'excludeExpired()' or 'policyAssignmentId eq '{value}''. If $filter is not provided, no filtering is performed. If $filter is not provided, the unfiltered list includes all policy exemptions associated with the scope, including those that apply directly or apply from containing scopes. If $filter=atScope() is provided, the returned list only includes all policy exemptions that apply to the scope, which is everything in the unfiltered list except those applied to sub scopes contained within the given scope. If $filter=atExactScope() is provided, the returned list only includes all policy exemptions that at the given scope. If $filter=excludeExpired() is provided, the returned list only includes all policy exemptions that either haven't expired or didn't set expiration date. If $filter=policyAssignmentId eq '{value}' is provided. the returned list only includes all policy exemptions that are associated with the give policyAssignmentId. */\n filter?: string;\n}\n\n/** Contains response data for the listForManagementGroup operation. */\nexport type PolicyExemptionsListForManagementGroupResponse = PolicyExemptionListResult;\n\n/** Optional parameters. */\nexport interface PolicyExemptionsListNextOptionalParams\n extends coreClient.OperationOptions {\n /** The filter to apply on the operation. Valid values for $filter are: 'atScope()', 'atExactScope()', 'excludeExpired()' or 'policyAssignmentId eq '{value}''. If $filter is not provided, no filtering is performed. If $filter is not provided, the unfiltered list includes all policy exemptions associated with the scope, including those that apply directly or apply from containing scopes. If $filter=atScope() is provided, the returned list only includes all policy exemptions that apply to the scope, which is everything in the unfiltered list except those applied to sub scopes contained within the given scope. If $filter=atExactScope() is provided, the returned list only includes all policy exemptions that at the given scope. If $filter=excludeExpired() is provided, the returned list only includes all policy exemptions that either haven't expired or didn't set expiration date. If $filter=policyAssignmentId eq '{value}' is provided. the returned list only includes all policy exemptions that are associated with the give policyAssignmentId. */\n filter?: string;\n}\n\n/** Contains response data for the listNext operation. */\nexport type PolicyExemptionsListNextResponse = PolicyExemptionListResult;\n\n/** Optional parameters. */\nexport interface PolicyExemptionsListForResourceGroupNextOptionalParams\n extends coreClient.OperationOptions {\n /** The filter to apply on the operation. Valid values for $filter are: 'atScope()', 'atExactScope()', 'excludeExpired()' or 'policyAssignmentId eq '{value}''. If $filter is not provided, no filtering is performed. If $filter is not provided, the unfiltered list includes all policy exemptions associated with the scope, including those that apply directly or apply from containing scopes. If $filter=atScope() is provided, the returned list only includes all policy exemptions that apply to the scope, which is everything in the unfiltered list except those applied to sub scopes contained within the given scope. If $filter=atExactScope() is provided, the returned list only includes all policy exemptions that at the given scope. If $filter=excludeExpired() is provided, the returned list only includes all policy exemptions that either haven't expired or didn't set expiration date. If $filter=policyAssignmentId eq '{value}' is provided. the returned list only includes all policy exemptions that are associated with the give policyAssignmentId. */\n filter?: string;\n}\n\n/** Contains response data for the listForResourceGroupNext operation. */\nexport type PolicyExemptionsListForResourceGroupNextResponse = PolicyExemptionListResult;\n\n/** Optional parameters. */\nexport interface PolicyExemptionsListForResourceNextOptionalParams\n extends coreClient.OperationOptions {\n /** The filter to apply on the operation. Valid values for $filter are: 'atScope()', 'atExactScope()', 'excludeExpired()' or 'policyAssignmentId eq '{value}''. If $filter is not provided, no filtering is performed. If $filter is not provided, the unfiltered list includes all policy exemptions associated with the scope, including those that apply directly or apply from containing scopes. If $filter=atScope() is provided, the returned list only includes all policy exemptions that apply to the scope, which is everything in the unfiltered list except those applied to sub scopes contained within the given scope. If $filter=atExactScope() is provided, the returned list only includes all policy exemptions that at the given scope. If $filter=excludeExpired() is provided, the returned list only includes all policy exemptions that either haven't expired or didn't set expiration date. If $filter=policyAssignmentId eq '{value}' is provided. the returned list only includes all policy exemptions that are associated with the give policyAssignmentId. */\n filter?: string;\n}\n\n/** Contains response data for the listForResourceNext operation. */\nexport type PolicyExemptionsListForResourceNextResponse = PolicyExemptionListResult;\n\n/** Optional parameters. */\nexport interface PolicyExemptionsListForManagementGroupNextOptionalParams\n extends coreClient.OperationOptions {\n /** The filter to apply on the operation. Valid values for $filter are: 'atScope()', 'atExactScope()', 'excludeExpired()' or 'policyAssignmentId eq '{value}''. If $filter is not provided, no filtering is performed. If $filter is not provided, the unfiltered list includes all policy exemptions associated with the scope, including those that apply directly or apply from containing scopes. If $filter=atScope() is provided, the returned list only includes all policy exemptions that apply to the scope, which is everything in the unfiltered list except those applied to sub scopes contained within the given scope. If $filter=atExactScope() is provided, the returned list only includes all policy exemptions that at the given scope. If $filter=excludeExpired() is provided, the returned list only includes all policy exemptions that either haven't expired or didn't set expiration date. If $filter=policyAssignmentId eq '{value}' is provided. the returned list only includes all policy exemptions that are associated with the give policyAssignmentId. */\n filter?: string;\n}\n\n/** Contains response data for the listForManagementGroupNext operation. */\nexport type PolicyExemptionsListForManagementGroupNextResponse = PolicyExemptionListResult;\n\n/** Optional parameters. */\nexport interface PolicyClientOptionalParams\n extends coreClient.ServiceClientOptions {\n /** server parameter */\n $host?: string;\n /** Overrides client endpoint. */\n endpoint?: string;\n}\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreClient from \"@azure/core-client\";\n\nexport const DataPolicyManifest: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DataPolicyManifest\",\n modelProperties: {\n id: {\n serializedName: \"id\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n name: {\n serializedName: \"name\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n type: {\n serializedName: \"type\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n namespaces: {\n serializedName: \"properties.namespaces\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n policyMode: {\n serializedName: \"properties.policyMode\",\n type: {\n name: \"String\"\n }\n },\n isBuiltInOnly: {\n serializedName: \"properties.isBuiltInOnly\",\n type: {\n name: \"Boolean\"\n }\n },\n resourceTypeAliases: {\n serializedName: \"properties.resourceTypeAliases\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ResourceTypeAliases\"\n }\n }\n }\n },\n effects: {\n serializedName: \"properties.effects\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"DataEffect\"\n }\n }\n }\n },\n fieldValues: {\n serializedName: \"properties.fieldValues\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n standard: {\n serializedName: \"properties.resourceFunctions.standard\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n custom: {\n serializedName: \"properties.resourceFunctions.custom\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"DataManifestCustomResourceFunctionDefinition\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const ResourceTypeAliases: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ResourceTypeAliases\",\n modelProperties: {\n resourceType: {\n serializedName: \"resourceType\",\n type: {\n name: \"String\"\n }\n },\n aliases: {\n serializedName: \"aliases\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"Alias\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const Alias: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Alias\",\n modelProperties: {\n name: {\n serializedName: \"name\",\n type: {\n name: \"String\"\n }\n },\n paths: {\n serializedName: \"paths\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"AliasPath\"\n }\n }\n }\n },\n type: {\n serializedName: \"type\",\n type: {\n name: \"Enum\",\n allowedValues: [\"NotSpecified\", \"PlainText\", \"Mask\"]\n }\n },\n defaultPath: {\n serializedName: \"defaultPath\",\n type: {\n name: \"String\"\n }\n },\n defaultPattern: {\n serializedName: \"defaultPattern\",\n type: {\n name: \"Composite\",\n className: \"AliasPattern\"\n }\n },\n defaultMetadata: {\n serializedName: \"defaultMetadata\",\n type: {\n name: \"Composite\",\n className: \"AliasPathMetadata\"\n }\n }\n }\n }\n};\n\nexport const AliasPath: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AliasPath\",\n modelProperties: {\n path: {\n serializedName: \"path\",\n type: {\n name: \"String\"\n }\n },\n apiVersions: {\n serializedName: \"apiVersions\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n pattern: {\n serializedName: \"pattern\",\n type: {\n name: \"Composite\",\n className: \"AliasPattern\"\n }\n },\n metadata: {\n serializedName: \"metadata\",\n type: {\n name: \"Composite\",\n className: \"AliasPathMetadata\"\n }\n }\n }\n }\n};\n\nexport const AliasPattern: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AliasPattern\",\n modelProperties: {\n phrase: {\n serializedName: \"phrase\",\n type: {\n name: \"String\"\n }\n },\n variable: {\n serializedName: \"variable\",\n type: {\n name: \"String\"\n }\n },\n type: {\n serializedName: \"type\",\n type: {\n name: \"Enum\",\n allowedValues: [\"NotSpecified\", \"Extract\"]\n }\n }\n }\n }\n};\n\nexport const AliasPathMetadata: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AliasPathMetadata\",\n modelProperties: {\n type: {\n serializedName: \"type\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n attributes: {\n serializedName: \"attributes\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const DataEffect: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DataEffect\",\n modelProperties: {\n name: {\n serializedName: \"name\",\n type: {\n name: \"String\"\n }\n },\n detailsSchema: {\n serializedName: \"detailsSchema\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"any\" } }\n }\n }\n }\n }\n};\n\nexport const DataManifestCustomResourceFunctionDefinition: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DataManifestCustomResourceFunctionDefinition\",\n modelProperties: {\n name: {\n serializedName: \"name\",\n type: {\n name: \"String\"\n }\n },\n fullyQualifiedResourceType: {\n serializedName: \"fullyQualifiedResourceType\",\n type: {\n name: \"String\"\n }\n },\n defaultProperties: {\n serializedName: \"defaultProperties\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n allowCustomProperties: {\n serializedName: \"allowCustomProperties\",\n type: {\n name: \"Boolean\"\n }\n }\n }\n }\n};\n\nexport const CloudError: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CloudError\",\n modelProperties: {\n error: {\n serializedName: \"error\",\n type: {\n name: \"Composite\",\n className: \"ErrorResponse\"\n }\n }\n }\n }\n};\n\nexport const ErrorResponse: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ErrorResponse\",\n modelProperties: {\n code: {\n serializedName: \"code\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n message: {\n serializedName: \"message\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n target: {\n serializedName: \"target\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n details: {\n serializedName: \"details\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ErrorResponse\"\n }\n }\n }\n },\n additionalInfo: {\n serializedName: \"additionalInfo\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ErrorAdditionalInfo\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const ErrorAdditionalInfo: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ErrorAdditionalInfo\",\n modelProperties: {\n type: {\n serializedName: \"type\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n info: {\n serializedName: \"info\",\n readOnly: true,\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"any\" } }\n }\n }\n }\n }\n};\n\nexport const DataPolicyManifestListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DataPolicyManifestListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"DataPolicyManifest\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const PolicyAssignment: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PolicyAssignment\",\n modelProperties: {\n id: {\n serializedName: \"id\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n type: {\n serializedName: \"type\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n name: {\n serializedName: \"name\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n location: {\n serializedName: \"location\",\n type: {\n name: \"String\"\n }\n },\n identity: {\n serializedName: \"identity\",\n type: {\n name: \"Composite\",\n className: \"Identity\"\n }\n },\n systemData: {\n serializedName: \"systemData\",\n type: {\n name: \"Composite\",\n className: \"SystemData\"\n }\n },\n displayName: {\n serializedName: \"properties.displayName\",\n type: {\n name: \"String\"\n }\n },\n policyDefinitionId: {\n serializedName: \"properties.policyDefinitionId\",\n type: {\n name: \"String\"\n }\n },\n scope: {\n serializedName: \"properties.scope\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n notScopes: {\n serializedName: \"properties.notScopes\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n parameters: {\n serializedName: \"properties.parameters\",\n type: {\n name: \"Dictionary\",\n value: {\n type: { name: \"Composite\", className: \"ParameterValuesValue\" }\n }\n }\n },\n description: {\n serializedName: \"properties.description\",\n type: {\n name: \"String\"\n }\n },\n metadata: {\n serializedName: \"properties.metadata\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"any\" } }\n }\n },\n enforcementMode: {\n defaultValue: \"Default\",\n serializedName: \"properties.enforcementMode\",\n type: {\n name: \"String\"\n }\n },\n nonComplianceMessages: {\n serializedName: \"properties.nonComplianceMessages\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"NonComplianceMessage\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const ParameterValuesValue: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ParameterValuesValue\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"any\" } }\n }\n }\n }\n }\n};\n\nexport const NonComplianceMessage: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"NonComplianceMessage\",\n modelProperties: {\n message: {\n serializedName: \"message\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n policyDefinitionReferenceId: {\n serializedName: \"policyDefinitionReferenceId\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const Identity: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Identity\",\n modelProperties: {\n principalId: {\n serializedName: \"principalId\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n tenantId: {\n serializedName: \"tenantId\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n type: {\n serializedName: \"type\",\n type: {\n name: \"Enum\",\n allowedValues: [\"SystemAssigned\", \"UserAssigned\", \"None\"]\n }\n },\n userAssignedIdentities: {\n serializedName: \"userAssignedIdentities\",\n type: {\n name: \"Dictionary\",\n value: {\n type: {\n name: \"Composite\",\n className: \"UserAssignedIdentitiesValue\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const UserAssignedIdentitiesValue: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"UserAssignedIdentitiesValue\",\n modelProperties: {\n principalId: {\n serializedName: \"principalId\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n clientId: {\n serializedName: \"clientId\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const SystemData: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SystemData\",\n modelProperties: {\n createdBy: {\n serializedName: \"createdBy\",\n type: {\n name: \"String\"\n }\n },\n createdByType: {\n serializedName: \"createdByType\",\n type: {\n name: \"String\"\n }\n },\n createdAt: {\n serializedName: \"createdAt\",\n type: {\n name: \"DateTime\"\n }\n },\n lastModifiedBy: {\n serializedName: \"lastModifiedBy\",\n type: {\n name: \"String\"\n }\n },\n lastModifiedByType: {\n serializedName: \"lastModifiedByType\",\n type: {\n name: \"String\"\n }\n },\n lastModifiedAt: {\n serializedName: \"lastModifiedAt\",\n type: {\n name: \"DateTime\"\n }\n }\n }\n }\n};\n\nexport const PolicyAssignmentUpdate: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PolicyAssignmentUpdate\",\n modelProperties: {\n location: {\n serializedName: \"location\",\n type: {\n name: \"String\"\n }\n },\n identity: {\n serializedName: \"identity\",\n type: {\n name: \"Composite\",\n className: \"Identity\"\n }\n }\n }\n }\n};\n\nexport const PolicyAssignmentListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PolicyAssignmentListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"PolicyAssignment\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const PolicyDefinition: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PolicyDefinition\",\n modelProperties: {\n id: {\n serializedName: \"id\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n name: {\n serializedName: \"name\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n type: {\n serializedName: \"type\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n systemData: {\n serializedName: \"systemData\",\n type: {\n name: \"Composite\",\n className: \"SystemData\"\n }\n },\n policyType: {\n serializedName: \"properties.policyType\",\n type: {\n name: \"String\"\n }\n },\n mode: {\n defaultValue: \"Indexed\",\n serializedName: \"properties.mode\",\n type: {\n name: \"String\"\n }\n },\n displayName: {\n serializedName: \"properties.displayName\",\n type: {\n name: \"String\"\n }\n },\n description: {\n serializedName: \"properties.description\",\n type: {\n name: \"String\"\n }\n },\n policyRule: {\n serializedName: \"properties.policyRule\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"any\" } }\n }\n },\n metadata: {\n serializedName: \"properties.metadata\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"any\" } }\n }\n },\n parameters: {\n serializedName: \"properties.parameters\",\n type: {\n name: \"Dictionary\",\n value: {\n type: { name: \"Composite\", className: \"ParameterDefinitionsValue\" }\n }\n }\n }\n }\n }\n};\n\nexport const ParameterDefinitionsValue: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ParameterDefinitionsValue\",\n modelProperties: {\n type: {\n serializedName: \"type\",\n type: {\n name: \"String\"\n }\n },\n allowedValues: {\n serializedName: \"allowedValues\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"any\" } }\n }\n }\n }\n },\n defaultValue: {\n serializedName: \"defaultValue\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"any\" } }\n }\n },\n metadata: {\n serializedName: \"metadata\",\n type: {\n name: \"Composite\",\n className: \"ParameterDefinitionsValueMetadata\"\n }\n }\n }\n }\n};\n\nexport const ParameterDefinitionsValueMetadata: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ParameterDefinitionsValueMetadata\",\n additionalProperties: { type: { name: \"Object\" } },\n modelProperties: {\n displayName: {\n serializedName: \"displayName\",\n type: {\n name: \"String\"\n }\n },\n description: {\n serializedName: \"description\",\n type: {\n name: \"String\"\n }\n },\n strongType: {\n serializedName: \"strongType\",\n type: {\n name: \"String\"\n }\n },\n assignPermissions: {\n serializedName: \"assignPermissions\",\n type: {\n name: \"Boolean\"\n }\n }\n }\n }\n};\n\nexport const PolicyDefinitionListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PolicyDefinitionListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"PolicyDefinition\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const PolicySetDefinition: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PolicySetDefinition\",\n modelProperties: {\n id: {\n serializedName: \"id\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n name: {\n serializedName: \"name\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n type: {\n serializedName: \"type\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n systemData: {\n serializedName: \"systemData\",\n type: {\n name: \"Composite\",\n className: \"SystemData\"\n }\n },\n policyType: {\n serializedName: \"properties.policyType\",\n type: {\n name: \"String\"\n }\n },\n displayName: {\n serializedName: \"properties.displayName\",\n type: {\n name: \"String\"\n }\n },\n description: {\n serializedName: \"properties.description\",\n type: {\n name: \"String\"\n }\n },\n metadata: {\n serializedName: \"properties.metadata\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"any\" } }\n }\n },\n parameters: {\n serializedName: \"properties.parameters\",\n type: {\n name: \"Dictionary\",\n value: {\n type: { name: \"Composite\", className: \"ParameterDefinitionsValue\" }\n }\n }\n },\n policyDefinitions: {\n serializedName: \"properties.policyDefinitions\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"PolicyDefinitionReference\"\n }\n }\n }\n },\n policyDefinitionGroups: {\n serializedName: \"properties.policyDefinitionGroups\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"PolicyDefinitionGroup\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const PolicyDefinitionReference: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PolicyDefinitionReference\",\n modelProperties: {\n policyDefinitionId: {\n serializedName: \"policyDefinitionId\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n parameters: {\n serializedName: \"parameters\",\n type: {\n name: \"Dictionary\",\n value: {\n type: { name: \"Composite\", className: \"ParameterValuesValue\" }\n }\n }\n },\n policyDefinitionReferenceId: {\n serializedName: \"policyDefinitionReferenceId\",\n type: {\n name: \"String\"\n }\n },\n groupNames: {\n serializedName: \"groupNames\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const PolicyDefinitionGroup: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PolicyDefinitionGroup\",\n modelProperties: {\n name: {\n serializedName: \"name\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n displayName: {\n serializedName: \"displayName\",\n type: {\n name: \"String\"\n }\n },\n category: {\n serializedName: \"category\",\n type: {\n name: \"String\"\n }\n },\n description: {\n serializedName: \"description\",\n type: {\n name: \"String\"\n }\n },\n additionalMetadataId: {\n serializedName: \"additionalMetadataId\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const PolicySetDefinitionListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PolicySetDefinitionListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"PolicySetDefinition\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const PolicyExemption: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PolicyExemption\",\n modelProperties: {\n systemData: {\n serializedName: \"systemData\",\n type: {\n name: \"Composite\",\n className: \"SystemData\"\n }\n },\n id: {\n serializedName: \"id\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n name: {\n serializedName: \"name\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n type: {\n serializedName: \"type\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n policyAssignmentId: {\n serializedName: \"properties.policyAssignmentId\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n policyDefinitionReferenceIds: {\n serializedName: \"properties.policyDefinitionReferenceIds\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n exemptionCategory: {\n serializedName: \"properties.exemptionCategory\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n expiresOn: {\n serializedName: \"properties.expiresOn\",\n type: {\n name: \"DateTime\"\n }\n },\n displayName: {\n serializedName: \"properties.displayName\",\n type: {\n name: \"String\"\n }\n },\n description: {\n serializedName: \"properties.description\",\n type: {\n name: \"String\"\n }\n },\n metadata: {\n serializedName: \"properties.metadata\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"any\" } }\n }\n }\n }\n }\n};\n\nexport const PolicyExemptionListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PolicyExemptionListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"PolicyExemption\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport {\n OperationParameter,\n OperationURLParameter,\n OperationQueryParameter\n} from \"@azure/core-client\";\nimport {\n PolicyAssignment as PolicyAssignmentMapper,\n PolicyAssignmentUpdate as PolicyAssignmentUpdateMapper,\n PolicyDefinition as PolicyDefinitionMapper,\n PolicySetDefinition as PolicySetDefinitionMapper,\n PolicyExemption as PolicyExemptionMapper\n} from \"../models/mappers\";\n\nexport const accept: OperationParameter = {\n parameterPath: \"accept\",\n mapper: {\n defaultValue: \"application/json\",\n isConstant: true,\n serializedName: \"Accept\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const $host: OperationURLParameter = {\n parameterPath: \"$host\",\n mapper: {\n serializedName: \"$host\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n skipEncoding: true\n};\n\nexport const policyMode: OperationURLParameter = {\n parameterPath: \"policyMode\",\n mapper: {\n serializedName: \"policyMode\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const apiVersion: OperationQueryParameter = {\n parameterPath: \"apiVersion\",\n mapper: {\n defaultValue: \"2020-09-01\",\n isConstant: true,\n serializedName: \"api-version\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const filter: OperationQueryParameter = {\n parameterPath: [\"options\", \"filter\"],\n mapper: {\n serializedName: \"$filter\",\n type: {\n name: \"String\"\n }\n },\n skipEncoding: true\n};\n\nexport const nextLink: OperationURLParameter = {\n parameterPath: \"nextLink\",\n mapper: {\n serializedName: \"nextLink\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n skipEncoding: true\n};\n\nexport const scope: OperationURLParameter = {\n parameterPath: \"scope\",\n mapper: {\n serializedName: \"scope\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n skipEncoding: true\n};\n\nexport const policyAssignmentName: OperationURLParameter = {\n parameterPath: \"policyAssignmentName\",\n mapper: {\n serializedName: \"policyAssignmentName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const apiVersion1: OperationQueryParameter = {\n parameterPath: \"apiVersion\",\n mapper: {\n defaultValue: \"2021-06-01\",\n isConstant: true,\n serializedName: \"api-version\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const contentType: OperationParameter = {\n parameterPath: [\"options\", \"contentType\"],\n mapper: {\n defaultValue: \"application/json\",\n isConstant: true,\n serializedName: \"Content-Type\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const parameters: OperationParameter = {\n parameterPath: \"parameters\",\n mapper: PolicyAssignmentMapper\n};\n\nexport const parameters1: OperationParameter = {\n parameterPath: \"parameters\",\n mapper: PolicyAssignmentUpdateMapper\n};\n\nexport const resourceGroupName: OperationURLParameter = {\n parameterPath: \"resourceGroupName\",\n mapper: {\n constraints: {\n Pattern: new RegExp(\"^[-\\\\w\\\\._\\\\(\\\\)]+$\"),\n MaxLength: 90,\n MinLength: 1\n },\n serializedName: \"resourceGroupName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const top: OperationQueryParameter = {\n parameterPath: [\"options\", \"top\"],\n mapper: {\n constraints: {\n InclusiveMaximum: 1000,\n InclusiveMinimum: 1\n },\n serializedName: \"$top\",\n type: {\n name: \"Number\"\n }\n }\n};\n\nexport const subscriptionId: OperationURLParameter = {\n parameterPath: \"subscriptionId\",\n mapper: {\n serializedName: \"subscriptionId\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const resourceProviderNamespace: OperationURLParameter = {\n parameterPath: \"resourceProviderNamespace\",\n mapper: {\n serializedName: \"resourceProviderNamespace\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const parentResourcePath: OperationURLParameter = {\n parameterPath: \"parentResourcePath\",\n mapper: {\n serializedName: \"parentResourcePath\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n skipEncoding: true\n};\n\nexport const resourceType: OperationURLParameter = {\n parameterPath: \"resourceType\",\n mapper: {\n serializedName: \"resourceType\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n skipEncoding: true\n};\n\nexport const resourceName: OperationURLParameter = {\n parameterPath: \"resourceName\",\n mapper: {\n serializedName: \"resourceName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const managementGroupId: OperationURLParameter = {\n parameterPath: \"managementGroupId\",\n mapper: {\n serializedName: \"managementGroupId\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const policyAssignmentId: OperationURLParameter = {\n parameterPath: \"policyAssignmentId\",\n mapper: {\n serializedName: \"policyAssignmentId\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n skipEncoding: true\n};\n\nexport const parameters2: OperationParameter = {\n parameterPath: \"parameters\",\n mapper: PolicyDefinitionMapper\n};\n\nexport const policyDefinitionName: OperationURLParameter = {\n parameterPath: \"policyDefinitionName\",\n mapper: {\n serializedName: \"policyDefinitionName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const parameters3: OperationParameter = {\n parameterPath: \"parameters\",\n mapper: PolicySetDefinitionMapper\n};\n\nexport const policySetDefinitionName: OperationURLParameter = {\n parameterPath: \"policySetDefinitionName\",\n mapper: {\n serializedName: \"policySetDefinitionName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const policyExemptionName: OperationURLParameter = {\n parameterPath: \"policyExemptionName\",\n mapper: {\n serializedName: \"policyExemptionName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const apiVersion2: OperationQueryParameter = {\n parameterPath: \"apiVersion\",\n mapper: {\n defaultValue: \"2020-07-01-preview\",\n isConstant: true,\n serializedName: \"api-version\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const parameters4: OperationParameter = {\n parameterPath: \"parameters\",\n mapper: PolicyExemptionMapper\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport { DataPolicyManifests } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { PolicyClientContext } from \"../policyClientContext\";\nimport {\n DataPolicyManifest,\n DataPolicyManifestsListNextOptionalParams,\n DataPolicyManifestsListOptionalParams,\n DataPolicyManifestsGetByPolicyModeOptionalParams,\n DataPolicyManifestsGetByPolicyModeResponse,\n DataPolicyManifestsListResponse,\n DataPolicyManifestsListNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing DataPolicyManifests operations. */\nexport class DataPolicyManifestsImpl implements DataPolicyManifests {\n private readonly client: PolicyClientContext;\n\n /**\n * Initialize a new instance of the class DataPolicyManifests class.\n * @param client Reference to the service client\n */\n constructor(client: PolicyClientContext) {\n this.client = client;\n }\n\n /**\n * This operation retrieves a list of all the data policy manifests that match the optional given\n * $filter. Valid values for $filter are: \"$filter=namespace eq '{0}'\". If $filter is not provided, the\n * unfiltered list includes all data policy manifests for data resource types. If $filter=namespace is\n * provided, the returned list only includes all data policy manifests that have a namespace matching\n * the provided value.\n * @param options The options parameters.\n */\n public list(\n options?: DataPolicyManifestsListOptionalParams\n ): PagedAsyncIterableIterator<DataPolicyManifest> {\n const iter = this.listPagingAll(options);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listPagingPage(options);\n }\n };\n }\n\n private async *listPagingPage(\n options?: DataPolicyManifestsListOptionalParams\n ): AsyncIterableIterator<DataPolicyManifest[]> {\n let result = await this._list(options);\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listNext(continuationToken, options);\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listPagingAll(\n options?: DataPolicyManifestsListOptionalParams\n ): AsyncIterableIterator<DataPolicyManifest> {\n for await (const page of this.listPagingPage(options)) {\n yield* page;\n }\n }\n\n /**\n * This operation retrieves the data policy manifest with the given policy mode.\n * @param policyMode The policy mode of the data policy manifest to get.\n * @param options The options parameters.\n */\n getByPolicyMode(\n policyMode: string,\n options?: DataPolicyManifestsGetByPolicyModeOptionalParams\n ): Promise<DataPolicyManifestsGetByPolicyModeResponse> {\n return this.client.sendOperationRequest(\n { policyMode, options },\n getByPolicyModeOperationSpec\n );\n }\n\n /**\n * This operation retrieves a list of all the data policy manifests that match the optional given\n * $filter. Valid values for $filter are: \"$filter=namespace eq '{0}'\". If $filter is not provided, the\n * unfiltered list includes all data policy manifests for data resource types. If $filter=namespace is\n * provided, the returned list only includes all data policy manifests that have a namespace matching\n * the provided value.\n * @param options The options parameters.\n */\n private _list(\n options?: DataPolicyManifestsListOptionalParams\n ): Promise<DataPolicyManifestsListResponse> {\n return this.client.sendOperationRequest({ options }, listOperationSpec);\n }\n\n /**\n * ListNext\n * @param nextLink The nextLink from the previous successful call to the List method.\n * @param options The options parameters.\n */\n private _listNext(\n nextLink: string,\n options?: DataPolicyManifestsListNextOptionalParams\n ): Promise<DataPolicyManifestsListNextResponse> {\n return this.client.sendOperationRequest(\n { nextLink, options },\n listNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst getByPolicyModeOperationSpec: coreClient.OperationSpec = {\n path: \"/providers/Microsoft.Authorization/dataPolicyManifests/{policyMode}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.DataPolicyManifest\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.policyMode],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listOperationSpec: coreClient.OperationSpec = {\n path: \"/providers/Microsoft.Authorization/dataPolicyManifests\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.DataPolicyManifestListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.filter],\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.DataPolicyManifestListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.filter],\n urlParameters: [Parameters.$host, Parameters.nextLink],\n headerParameters: [Parameters.accept],\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport { PolicyAssignments } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { PolicyClientContext } from \"../policyClientContext\";\nimport {\n PolicyAssignment,\n PolicyAssignmentsListForResourceGroupNextOptionalParams,\n PolicyAssignmentsListForResourceGroupOptionalParams,\n PolicyAssignmentsListForResourceNextOptionalParams,\n PolicyAssignmentsListForResourceOptionalParams,\n PolicyAssignmentsListForManagementGroupNextOptionalParams,\n PolicyAssignmentsListForManagementGroupOptionalParams,\n PolicyAssignmentsListNextOptionalParams,\n PolicyAssignmentsListOptionalParams,\n PolicyAssignmentsDeleteOptionalParams,\n PolicyAssignmentsDeleteResponse,\n PolicyAssignmentsCreateOptionalParams,\n PolicyAssignmentsCreateResponse,\n PolicyAssignmentsGetOptionalParams,\n PolicyAssignmentsGetResponse,\n PolicyAssignmentUpdate,\n PolicyAssignmentsUpdateOptionalParams,\n PolicyAssignmentsUpdateResponse,\n PolicyAssignmentsListForResourceGroupResponse,\n PolicyAssignmentsListForResourceResponse,\n PolicyAssignmentsListForManagementGroupResponse,\n PolicyAssignmentsListResponse,\n PolicyAssignmentsDeleteByIdOptionalParams,\n PolicyAssignmentsDeleteByIdResponse,\n PolicyAssignmentsCreateByIdOptionalParams,\n PolicyAssignmentsCreateByIdResponse,\n PolicyAssignmentsGetByIdOptionalParams,\n PolicyAssignmentsGetByIdResponse,\n PolicyAssignmentsUpdateByIdOptionalParams,\n PolicyAssignmentsUpdateByIdResponse,\n PolicyAssignmentsListForResourceGroupNextResponse,\n PolicyAssignmentsListForResourceNextResponse,\n PolicyAssignmentsListForManagementGroupNextResponse,\n PolicyAssignmentsListNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing PolicyAssignments operations. */\nexport class PolicyAssignmentsImpl implements PolicyAssignments {\n private readonly client: PolicyClientContext;\n\n /**\n * Initialize a new instance of the class PolicyAssignments class.\n * @param client Reference to the service client\n */\n constructor(client: PolicyClientContext) {\n this.client = client;\n }\n\n /**\n * This operation retrieves the list of all policy assignments associated with the given resource group\n * in the given subscription that match the optional given $filter. Valid values for $filter are:\n * 'atScope()', 'atExactScope()' or 'policyDefinitionId eq '{value}''. If $filter is not provided, the\n * unfiltered list includes all policy assignments associated with the resource group, including those\n * that apply directly or apply from containing scopes, as well as any applied to resources contained\n * within the resource group. If $filter=atScope() is provided, the returned list includes all policy\n * assignments that apply to the resource group, which is everything in the unfiltered list except\n * those applied to resources contained within the resource group. If $filter=atExactScope() is\n * provided, the returned list only includes all policy assignments that at the resource group. If\n * $filter=policyDefinitionId eq '{value}' is provided, the returned list includes all policy\n * assignments of the policy definition whose id is {value} that apply to the resource group.\n * @param resourceGroupName The name of the resource group that contains policy assignments.\n * @param options The options parameters.\n */\n public listForResourceGroup(\n resourceGroupName: string,\n options?: PolicyAssignmentsListForResourceGroupOptionalParams\n ): PagedAsyncIterableIterator<PolicyAssignment> {\n const iter = this.listForResourceGroupPagingAll(resourceGroupName, options);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listForResourceGroupPagingPage(resourceGroupName, options);\n }\n };\n }\n\n private async *listForResourceGroupPagingPage(\n resourceGroupName: string,\n options?: PolicyAssignmentsListForResourceGroupOptionalParams\n ): AsyncIterableIterator<PolicyAssignment[]> {\n let result = await this._listForResourceGroup(resourceGroupName, options);\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listForResourceGroupNext(\n resourceGroupName,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listForResourceGroupPagingAll(\n resourceGroupName: string,\n options?: PolicyAssignmentsListForResourceGroupOptionalParams\n ): AsyncIterableIterator<PolicyAssignment> {\n for await (const page of this.listForResourceGroupPagingPage(\n resourceGroupName,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * This operation retrieves the list of all policy assignments associated with the specified resource\n * in the given resource group and subscription that match the optional given $filter. Valid values for\n * $filter are: 'atScope()', 'atExactScope()' or 'policyDefinitionId eq '{value}''. If $filter is not\n * provided, the unfiltered list includes all policy assignments associated with the resource,\n * including those that apply directly or from all containing scopes, as well as any applied to\n * resources contained within the resource. If $filter=atScope() is provided, the returned list\n * includes all policy assignments that apply to the resource, which is everything in the unfiltered\n * list except those applied to resources contained within the resource. If $filter=atExactScope() is\n * provided, the returned list only includes all policy assignments that at the resource level. If\n * $filter=policyDefinitionId eq '{value}' is provided, the returned list includes all policy\n * assignments of the policy definition whose id is {value} that apply to the resource. Three\n * parameters plus the resource name are used to identify a specific resource. If the resource is not\n * part of a parent resource (the more common case), the parent resource path should not be provided\n * (or provided as ''). For example a web app could be specified as ({resourceProviderNamespace} ==\n * 'Microsoft.Web', {parentResourcePath} == '', {resourceType} == 'sites', {resourceName} ==\n * 'MyWebApp'). If the resource is part of a parent resource, then all parameters should be provided.\n * For example a virtual machine DNS name could be specified as ({resourceProviderNamespace} ==\n * 'Microsoft.Compute', {parentResourcePath} == 'virtualMachines/MyVirtualMachine', {resourceType} ==\n * 'domainNames', {resourceName} == 'MyComputerName'). A convenient alternative to providing the\n * namespace and type name separately is to provide both in the {resourceType} parameter, format:\n * ({resourceProviderNamespace} == '', {parentResourcePath} == '', {resourceType} ==\n * 'Microsoft.Web/sites', {resourceName} == 'MyWebApp').\n * @param resourceGroupName The name of the resource group containing the resource.\n * @param resourceProviderNamespace The namespace of the resource provider. For example, the namespace\n * of a virtual machine is Microsoft.Compute (from Microsoft.Compute/virtualMachines)\n * @param parentResourcePath The parent resource path. Use empty string if there is none.\n * @param resourceType The resource type name. For example the type name of a web app is 'sites' (from\n * Microsoft.Web/sites).\n * @param resourceName The name of the resource.\n * @param options The options parameters.\n */\n public listForResource(\n resourceGroupName: string,\n resourceProviderNamespace: string,\n parentResourcePath: string,\n resourceType: string,\n resourceName: string,\n options?: PolicyAssignmentsListForResourceOptionalParams\n ): PagedAsyncIterableIterator<PolicyAssignment> {\n const iter = this.listForResourcePagingAll(\n resourceGroupName,\n resourceProviderNamespace,\n parentResourcePath,\n resourceType,\n resourceName,\n options\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listForResourcePagingPage(\n resourceGroupName,\n resourceProviderNamespace,\n parentResourcePath,\n resourceType,\n resourceName,\n options\n );\n }\n };\n }\n\n private async *listForResourcePagingPage(\n resourceGroupName: string,\n resourceProviderNamespace: string,\n parentResourcePath: string,\n resourceType: string,\n resourceName: string,\n options?: PolicyAssignmentsListForResourceOptionalParams\n ): AsyncIterableIterator<PolicyAssignment[]> {\n let result = await this._listForResource(\n resourceGroupName,\n resourceProviderNamespace,\n parentResourcePath,\n resourceType,\n resourceName,\n options\n );\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listForResourceNext(\n resourceGroupName,\n resourceProviderNamespace,\n parentResourcePath,\n resourceType,\n resourceName,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listForResourcePagingAll(\n resourceGroupName: string,\n resourceProviderNamespace: string,\n parentResourcePath: string,\n resourceType: string,\n resourceName: string,\n options?: PolicyAssignmentsListForResourceOptionalParams\n ): AsyncIterableIterator<PolicyAssignment> {\n for await (const page of this.listForResourcePagingPage(\n resourceGroupName,\n resourceProviderNamespace,\n parentResourcePath,\n resourceType,\n resourceName,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * This operation retrieves the list of all policy assignments applicable to the management group that\n * match the given $filter. Valid values for $filter are: 'atScope()', 'atExactScope()' or\n * 'policyDefinitionId eq '{value}''. If $filter=atScope() is provided, the returned list includes all\n * policy assignments that are assigned to the management group or the management group's ancestors. If\n * $filter=atExactScope() is provided, the returned list only includes all policy assignments that at\n * the management group. If $filter=policyDefinitionId eq '{value}' is provided, the returned list\n * includes all policy assignments of the policy definition whose id is {value} that apply to the\n * management group.\n * @param managementGroupId The ID of the management group.\n * @param options The options parameters.\n */\n public listForManagementGroup(\n managementGroupId: string,\n options?: PolicyAssignmentsListForManagementGroupOptionalParams\n ): PagedAsyncIterableIterator<PolicyAssignment> {\n const iter = this.listForManagementGroupPagingAll(\n managementGroupId,\n options\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listForManagementGroupPagingPage(\n managementGroupId,\n options\n );\n }\n };\n }\n\n private async *listForManagementGroupPagingPage(\n managementGroupId: string,\n options?: PolicyAssignmentsListForManagementGroupOptionalParams\n ): AsyncIterableIterator<PolicyAssignment[]> {\n let result = await this._listForManagementGroup(managementGroupId, options);\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listForManagementGroupNext(\n managementGroupId,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listForManagementGroupPagingAll(\n managementGroupId: string,\n options?: PolicyAssignmentsListForManagementGroupOptionalParams\n ): AsyncIterableIterator<PolicyAssignment> {\n for await (const page of this.listForManagementGroupPagingPage(\n managementGroupId,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * This operation retrieves the list of all policy assignments associated with the given subscription\n * that match the optional given $filter. Valid values for $filter are: 'atScope()', 'atExactScope()'\n * or 'policyDefinitionId eq '{value}''. If $filter is not provided, the unfiltered list includes all\n * policy assignments associated with the subscription, including those that apply directly or from\n * management groups that contain the given subscription, as well as any applied to objects contained\n * within the subscription. If $filter=atScope() is provided, the returned list includes all policy\n * assignments that apply to the subscription, which is everything in the unfiltered list except those\n * applied to objects contained within the subscription. If $filter=atExactScope() is provided, the\n * returned list only includes all policy assignments that at the subscription. If\n * $filter=policyDefinitionId eq '{value}' is provided, the returned list includes all policy\n * assignments of the policy definition whose id is {value}.\n * @param options The options parameters.\n */\n public list(\n options?: PolicyAssignmentsListOptionalParams\n ): PagedAsyncIterableIterator<PolicyAssignment> {\n const iter = this.listPagingAll(options);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listPagingPage(options);\n }\n };\n }\n\n private async *listPagingPage(\n options?: PolicyAssignmentsListOptionalParams\n ): AsyncIterableIterator<PolicyAssignment[]> {\n let result = await this._list(options);\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listNext(continuationToken, options);\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listPagingAll(\n options?: PolicyAssignmentsListOptionalParams\n ): AsyncIterableIterator<PolicyAssignment> {\n for await (const page of this.listPagingPage(options)) {\n yield* page;\n }\n }\n\n /**\n * This operation deletes a policy assignment, given its name and the scope it was created in. The\n * scope of a policy assignment is the part of its ID preceding\n * '/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}'.\n * @param scope The scope of the policy assignment. Valid scopes are: management group (format:\n * '/providers/Microsoft.Management/managementGroups/{managementGroup}'), subscription (format:\n * '/subscriptions/{subscriptionId}'), resource group (format:\n * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format:\n * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'\n * @param policyAssignmentName The name of the policy assignment to delete.\n * @param options The options parameters.\n */\n delete(\n scope: string,\n policyAssignmentName: string,\n options?: PolicyAssignmentsDeleteOptionalParams\n ): Promise<PolicyAssignmentsDeleteResponse> {\n return this.client.sendOperationRequest(\n { scope, policyAssignmentName, options },\n deleteOperationSpec\n );\n }\n\n /**\n * This operation creates or updates a policy assignment with the given scope and name. Policy\n * assignments apply to all resources contained within their scope. For example, when you assign a\n * policy at resource group scope, that policy applies to all resources in the group.\n * @param scope The scope of the policy assignment. Valid scopes are: management group (format:\n * '/providers/Microsoft.Management/managementGroups/{managementGroup}'), subscription (format:\n * '/subscriptions/{subscriptionId}'), resource group (format:\n * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format:\n * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'\n * @param policyAssignmentName The name of the policy assignment.\n * @param parameters Parameters for the policy assignment.\n * @param options The options parameters.\n */\n create(\n scope: string,\n policyAssignmentName: string,\n parameters: PolicyAssignment,\n options?: PolicyAssignmentsCreateOptionalParams\n ): Promise<PolicyAssignmentsCreateResponse> {\n return this.client.sendOperationRequest(\n { scope, policyAssignmentName, parameters, options },\n createOperationSpec\n );\n }\n\n /**\n * This operation retrieves a single policy assignment, given its name and the scope it was created at.\n * @param scope The scope of the policy assignment. Valid scopes are: management group (format:\n * '/providers/Microsoft.Management/managementGroups/{managementGroup}'), subscription (format:\n * '/subscriptions/{subscriptionId}'), resource group (format:\n * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format:\n * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'\n * @param policyAssignmentName The name of the policy assignment to get.\n * @param options The options parameters.\n */\n get(\n scope: string,\n policyAssignmentName: string,\n options?: PolicyAssignmentsGetOptionalParams\n ): Promise<PolicyAssignmentsGetResponse> {\n return this.client.sendOperationRequest(\n { scope, policyAssignmentName, options },\n getOperationSpec\n );\n }\n\n /**\n * This operation updates a policy assignment with the given scope and name. Policy assignments apply\n * to all resources contained within their scope. For example, when you assign a policy at resource\n * group scope, that policy applies to all resources in the group.\n * @param scope The scope of the policy assignment. Valid scopes are: management group (format:\n * '/providers/Microsoft.Management/managementGroups/{managementGroup}'), subscription (format:\n * '/subscriptions/{subscriptionId}'), resource group (format:\n * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format:\n * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'\n * @param policyAssignmentName The name of the policy assignment.\n * @param parameters Parameters for policy assignment patch request.\n * @param options The options parameters.\n */\n update(\n scope: string,\n policyAssignmentName: string,\n parameters: PolicyAssignmentUpdate,\n options?: PolicyAssignmentsUpdateOptionalParams\n ): Promise<PolicyAssignmentsUpdateResponse> {\n return this.client.sendOperationRequest(\n { scope, policyAssignmentName, parameters, options },\n updateOperationSpec\n );\n }\n\n /**\n * This operation retrieves the list of all policy assignments associated with the given resource group\n * in the given subscription that match the optional given $filter. Valid values for $filter are:\n * 'atScope()', 'atExactScope()' or 'policyDefinitionId eq '{value}''. If $filter is not provided, the\n * unfiltered list includes all policy assignments associated with the resource group, including those\n * that apply directly or apply from containing scopes, as well as any applied to resources contained\n * within the resource group. If $filter=atScope() is provided, the returned list includes all policy\n * assignments that apply to the resource group, which is everything in the unfiltered list except\n * those applied to resources contained within the resource group. If $filter=atExactScope() is\n * provided, the returned list only includes all policy assignments that at the resource group. If\n * $filter=policyDefinitionId eq '{value}' is provided, the returned list includes all policy\n * assignments of the policy definition whose id is {value} that apply to the resource group.\n * @param resourceGroupName The name of the resource group that contains policy assignments.\n * @param options The options parameters.\n */\n private _listForResourceGroup(\n resourceGroupName: string,\n options?: PolicyAssignmentsListForResourceGroupOptionalParams\n ): Promise<PolicyAssignmentsListForResourceGroupResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, options },\n listForResourceGroupOperationSpec\n );\n }\n\n /**\n * This operation retrieves the list of all policy assignments associated with the specified resource\n * in the given resource group and subscription that match the optional given $filter. Valid values for\n * $filter are: 'atScope()', 'atExactScope()' or 'policyDefinitionId eq '{value}''. If $filter is not\n * provided, the unfiltered list includes all policy assignments associated with the resource,\n * including those that apply directly or from all containing scopes, as well as any applied to\n * resources contained within the resource. If $filter=atScope() is provided, the returned list\n * includes all policy assignments that apply to the resource, which is everything in the unfiltered\n * list except those applied to resources contained within the resource. If $filter=atExactScope() is\n * provided, the returned list only includes all policy assignments that at the resource level. If\n * $filter=policyDefinitionId eq '{value}' is provided, the returned list includes all policy\n * assignments of the policy definition whose id is {value} that apply to the resource. Three\n * parameters plus the resource name are used to identify a specific resource. If the resource is not\n * part of a parent resource (the more common case), the parent resource path should not be provided\n * (or provided as ''). For example a web app could be specified as ({resourceProviderNamespace} ==\n * 'Microsoft.Web', {parentResourcePath} == '', {resourceType} == 'sites', {resourceName} ==\n * 'MyWebApp'). If the resource is part of a parent resource, then all parameters should be provided.\n * For example a virtual machine DNS name could be specified as ({resourceProviderNamespace} ==\n * 'Microsoft.Compute', {parentResourcePath} == 'virtualMachines/MyVirtualMachine', {resourceType} ==\n * 'domainNames', {resourceName} == 'MyComputerName'). A convenient alternative to providing the\n * namespace and type name separately is to provide both in the {resourceType} parameter, format:\n * ({resourceProviderNamespace} == '', {parentResourcePath} == '', {resourceType} ==\n * 'Microsoft.Web/sites', {resourceName} == 'MyWebApp').\n * @param resourceGroupName The name of the resource group containing the resource.\n * @param resourceProviderNamespace The namespace of the resource provider. For example, the namespace\n * of a virtual machine is Microsoft.Compute (from Microsoft.Compute/virtualMachines)\n * @param parentResourcePath The parent resource path. Use empty string if there is none.\n * @param resourceType The resource type name. For example the type name of a web app is 'sites' (from\n * Microsoft.Web/sites).\n * @param resourceName The name of the resource.\n * @param options The options parameters.\n */\n private _listForResource(\n resourceGroupName: string,\n resourceProviderNamespace: string,\n parentResourcePath: string,\n resourceType: string,\n resourceName: string,\n options?: PolicyAssignmentsListForResourceOptionalParams\n ): Promise<PolicyAssignmentsListForResourceResponse> {\n return this.client.sendOperationRequest(\n {\n resourceGroupName,\n resourceProviderNamespace,\n parentResourcePath,\n resourceType,\n resourceName,\n options\n },\n listForResourceOperationSpec\n );\n }\n\n /**\n * This operation retrieves the list of all policy assignments applicable to the management group that\n * match the given $filter. Valid values for $filter are: 'atScope()', 'atExactScope()' or\n * 'policyDefinitionId eq '{value}''. If $filter=atScope() is provided, the returned list includes all\n * policy assignments that are assigned to the management group or the management group's ancestors. If\n * $filter=atExactScope() is provided, the returned list only includes all policy assignments that at\n * the management group. If $filter=policyDefinitionId eq '{value}' is provided, the returned list\n * includes all policy assignments of the policy definition whose id is {value} that apply to the\n * management group.\n * @param managementGroupId The ID of the management group.\n * @param options The options parameters.\n */\n private _listForManagementGroup(\n managementGroupId: string,\n options?: PolicyAssignmentsListForManagementGroupOptionalParams\n ): Promise<PolicyAssignmentsListForManagementGroupResponse> {\n return this.client.sendOperationRequest(\n { managementGroupId, options },\n listForManagementGroupOperationSpec\n );\n }\n\n /**\n * This operation retrieves the list of all policy assignments associated with the given subscription\n * that match the optional given $filter. Valid values for $filter are: 'atScope()', 'atExactScope()'\n * or 'policyDefinitionId eq '{value}''. If $filter is not provided, the unfiltered list includes all\n * policy assignments associated with the subscription, including those that apply directly or from\n * management groups that contain the given subscription, as well as any applied to objects contained\n * within the subscription. If $filter=atScope() is provided, the returned list includes all policy\n * assignments that apply to the subscription, which is everything in the unfiltered list except those\n * applied to objects contained within the subscription. If $filter=atExactScope() is provided, the\n * returned list only includes all policy assignments that at the subscription. If\n * $filter=policyDefinitionId eq '{value}' is provided, the returned list includes all policy\n * assignments of the policy definition whose id is {value}.\n * @param options The options parameters.\n */\n private _list(\n options?: PolicyAssignmentsListOptionalParams\n ): Promise<PolicyAssignmentsListResponse> {\n return this.client.sendOperationRequest({ options }, listOperationSpec);\n }\n\n /**\n * This operation deletes the policy with the given ID. Policy assignment IDs have this format:\n * '{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}'. Valid formats\n * for {scope} are: '/providers/Microsoft.Management/managementGroups/{managementGroup}' (management\n * group), '/subscriptions/{subscriptionId}' (subscription),\n * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' (resource group), or\n * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'\n * (resource).\n * @param policyAssignmentId The ID of the policy assignment to delete. Use the format\n * '{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}'.\n * @param options The options parameters.\n */\n deleteById(\n policyAssignmentId: string,\n options?: PolicyAssignmentsDeleteByIdOptionalParams\n ): Promise<PolicyAssignmentsDeleteByIdResponse> {\n return this.client.sendOperationRequest(\n { policyAssignmentId, options },\n deleteByIdOperationSpec\n );\n }\n\n /**\n * This operation creates or updates the policy assignment with the given ID. Policy assignments made\n * on a scope apply to all resources contained in that scope. For example, when you assign a policy to\n * a resource group that policy applies to all resources in the group. Policy assignment IDs have this\n * format: '{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}'. Valid\n * scopes are: management group (format:\n * '/providers/Microsoft.Management/managementGroups/{managementGroup}'), subscription (format:\n * '/subscriptions/{subscriptionId}'), resource group (format:\n * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format:\n * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'.\n * @param policyAssignmentId The ID of the policy assignment to create. Use the format\n * '{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}'.\n * @param parameters Parameters for policy assignment.\n * @param options The options parameters.\n */\n createById(\n policyAssignmentId: string,\n parameters: PolicyAssignment,\n options?: PolicyAssignmentsCreateByIdOptionalParams\n ): Promise<PolicyAssignmentsCreateByIdResponse> {\n return this.client.sendOperationRequest(\n { policyAssignmentId, parameters, options },\n createByIdOperationSpec\n );\n }\n\n /**\n * The operation retrieves the policy assignment with the given ID. Policy assignment IDs have this\n * format: '{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}'. Valid\n * scopes are: management group (format:\n * '/providers/Microsoft.Management/managementGroups/{managementGroup}'), subscription (format:\n * '/subscriptions/{subscriptionId}'), resource group (format:\n * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format:\n * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'.\n * @param policyAssignmentId The ID of the policy assignment to get. Use the format\n * '{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}'.\n * @param options The options parameters.\n */\n getById(\n policyAssignmentId: string,\n options?: PolicyAssignmentsGetByIdOptionalParams\n ): Promise<PolicyAssignmentsGetByIdResponse> {\n return this.client.sendOperationRequest(\n { policyAssignmentId, options },\n getByIdOperationSpec\n );\n }\n\n /**\n * This operation updates the policy assignment with the given ID. Policy assignments made on a scope\n * apply to all resources contained in that scope. For example, when you assign a policy to a resource\n * group that policy applies to all resources in the group. Policy assignment IDs have this format:\n * '{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}'. Valid scopes\n * are: management group (format:\n * '/providers/Microsoft.Management/managementGroups/{managementGroup}'), subscription (format:\n * '/subscriptions/{subscriptionId}'), resource group (format:\n * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format:\n * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'.\n * @param policyAssignmentId The ID of the policy assignment to update. Use the format\n * '{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}'.\n * @param parameters Parameters for policy assignment patch request.\n * @param options The options parameters.\n */\n updateById(\n policyAssignmentId: string,\n parameters: PolicyAssignmentUpdate,\n options?: PolicyAssignmentsUpdateByIdOptionalParams\n ): Promise<PolicyAssignmentsUpdateByIdResponse> {\n return this.client.sendOperationRequest(\n { policyAssignmentId, parameters, options },\n updateByIdOperationSpec\n );\n }\n\n /**\n * ListForResourceGroupNext\n * @param resourceGroupName The name of the resource group that contains policy assignments.\n * @param nextLink The nextLink from the previous successful call to the ListForResourceGroup method.\n * @param options The options parameters.\n */\n private _listForResourceGroupNext(\n resourceGroupName: string,\n nextLink: string,\n options?: PolicyAssignmentsListForResourceGroupNextOptionalParams\n ): Promise<PolicyAssignmentsListForResourceGroupNextResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, nextLink, options },\n listForResourceGroupNextOperationSpec\n );\n }\n\n /**\n * ListForResourceNext\n * @param resourceGroupName The name of the resource group containing the resource.\n * @param resourceProviderNamespace The namespace of the resource provider. For example, the namespace\n * of a virtual machine is Microsoft.Compute (from Microsoft.Compute/virtualMachines)\n * @param parentResourcePath The parent resource path. Use empty string if there is none.\n * @param resourceType The resource type name. For example the type name of a web app is 'sites' (from\n * Microsoft.Web/sites).\n * @param resourceName The name of the resource.\n * @param nextLink The nextLink from the previous successful call to the ListForResource method.\n * @param options The options parameters.\n */\n private _listForResourceNext(\n resourceGroupName: string,\n resourceProviderNamespace: string,\n parentResourcePath: string,\n resourceType: string,\n resourceName: string,\n nextLink: string,\n options?: PolicyAssignmentsListForResourceNextOptionalParams\n ): Promise<PolicyAssignmentsListForResourceNextResponse> {\n return this.client.sendOperationRequest(\n {\n resourceGroupName,\n resourceProviderNamespace,\n parentResourcePath,\n resourceType,\n resourceName,\n nextLink,\n options\n },\n listForResourceNextOperationSpec\n );\n }\n\n /**\n * ListForManagementGroupNext\n * @param managementGroupId The ID of the management group.\n * @param nextLink The nextLink from the previous successful call to the ListForManagementGroup method.\n * @param options The options parameters.\n */\n private _listForManagementGroupNext(\n managementGroupId: string,\n nextLink: string,\n options?: PolicyAssignmentsListForManagementGroupNextOptionalParams\n ): Promise<PolicyAssignmentsListForManagementGroupNextResponse> {\n return this.client.sendOperationRequest(\n { managementGroupId, nextLink, options },\n listForManagementGroupNextOperationSpec\n );\n }\n\n /**\n * ListNext\n * @param nextLink The nextLink from the previous successful call to the List method.\n * @param options The options parameters.\n */\n private _listNext(\n nextLink: string,\n options?: PolicyAssignmentsListNextOptionalParams\n ): Promise<PolicyAssignmentsListNextResponse> {\n return this.client.sendOperationRequest(\n { nextLink, options },\n listNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst deleteOperationSpec: coreClient.OperationSpec = {\n path:\n \"/{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}\",\n httpMethod: \"DELETE\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicyAssignment\n },\n 204: {},\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.apiVersion1],\n urlParameters: [\n Parameters.$host,\n Parameters.scope,\n Parameters.policyAssignmentName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst createOperationSpec: coreClient.OperationSpec = {\n path:\n \"/{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}\",\n httpMethod: \"PUT\",\n responses: {\n 201: {\n bodyMapper: Mappers.PolicyAssignment\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n requestBody: Parameters.parameters,\n queryParameters: [Parameters.apiVersion1],\n urlParameters: [\n Parameters.$host,\n Parameters.scope,\n Parameters.policyAssignmentName\n ],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst getOperationSpec: coreClient.OperationSpec = {\n path:\n \"/{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicyAssignment\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.apiVersion1],\n urlParameters: [\n Parameters.$host,\n Parameters.scope,\n Parameters.policyAssignmentName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst updateOperationSpec: coreClient.OperationSpec = {\n path:\n \"/{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}\",\n httpMethod: \"PATCH\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicyAssignment\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n requestBody: Parameters.parameters1,\n queryParameters: [Parameters.apiVersion1],\n urlParameters: [\n Parameters.$host,\n Parameters.scope,\n Parameters.policyAssignmentName\n ],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst listForResourceGroupOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/policyAssignments\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicyAssignmentListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.filter, Parameters.apiVersion1, Parameters.top],\n urlParameters: [\n Parameters.$host,\n Parameters.resourceGroupName,\n Parameters.subscriptionId\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listForResourceOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/policyAssignments\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicyAssignmentListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.filter, Parameters.apiVersion1, Parameters.top],\n urlParameters: [\n Parameters.$host,\n Parameters.resourceGroupName,\n Parameters.subscriptionId,\n Parameters.resourceProviderNamespace,\n Parameters.parentResourcePath,\n Parameters.resourceType,\n Parameters.resourceName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listForManagementGroupOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Authorization/policyAssignments\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicyAssignmentListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.filter, Parameters.apiVersion1, Parameters.top],\n urlParameters: [Parameters.$host, Parameters.managementGroupId],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyAssignments\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicyAssignmentListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.filter, Parameters.apiVersion1, Parameters.top],\n urlParameters: [Parameters.$host, Parameters.subscriptionId],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst deleteByIdOperationSpec: coreClient.OperationSpec = {\n path: \"/{policyAssignmentId}\",\n httpMethod: \"DELETE\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicyAssignment\n },\n 204: {},\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.apiVersion1],\n urlParameters: [Parameters.$host, Parameters.policyAssignmentId],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst createByIdOperationSpec: coreClient.OperationSpec = {\n path: \"/{policyAssignmentId}\",\n httpMethod: \"PUT\",\n responses: {\n 201: {\n bodyMapper: Mappers.PolicyAssignment\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n requestBody: Parameters.parameters,\n queryParameters: [Parameters.apiVersion1],\n urlParameters: [Parameters.$host, Parameters.policyAssignmentId],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst getByIdOperationSpec: coreClient.OperationSpec = {\n path: \"/{policyAssignmentId}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicyAssignment\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.apiVersion1],\n urlParameters: [Parameters.$host, Parameters.policyAssignmentId],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst updateByIdOperationSpec: coreClient.OperationSpec = {\n path: \"/{policyAssignmentId}\",\n httpMethod: \"PATCH\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicyAssignment\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n requestBody: Parameters.parameters1,\n queryParameters: [Parameters.apiVersion1],\n urlParameters: [Parameters.$host, Parameters.policyAssignmentId],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst listForResourceGroupNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicyAssignmentListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.filter, Parameters.apiVersion1, Parameters.top],\n urlParameters: [\n Parameters.$host,\n Parameters.nextLink,\n Parameters.resourceGroupName,\n Parameters.subscriptionId\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listForResourceNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicyAssignmentListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.filter, Parameters.apiVersion1, Parameters.top],\n urlParameters: [\n Parameters.$host,\n Parameters.nextLink,\n Parameters.resourceGroupName,\n Parameters.subscriptionId,\n Parameters.resourceProviderNamespace,\n Parameters.parentResourcePath,\n Parameters.resourceType,\n Parameters.resourceName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listForManagementGroupNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicyAssignmentListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.filter, Parameters.apiVersion1, Parameters.top],\n urlParameters: [\n Parameters.$host,\n Parameters.nextLink,\n Parameters.managementGroupId\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicyAssignmentListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.filter, Parameters.apiVersion1, Parameters.top],\n urlParameters: [\n Parameters.$host,\n Parameters.nextLink,\n Parameters.subscriptionId\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport { PolicyDefinitions } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { PolicyClientContext } from \"../policyClientContext\";\nimport {\n PolicyDefinition,\n PolicyDefinitionsListNextOptionalParams,\n PolicyDefinitionsListOptionalParams,\n PolicyDefinitionsListBuiltInNextOptionalParams,\n PolicyDefinitionsListBuiltInOptionalParams,\n PolicyDefinitionsListByManagementGroupNextOptionalParams,\n PolicyDefinitionsListByManagementGroupOptionalParams,\n PolicyDefinitionsCreateOrUpdateOptionalParams,\n PolicyDefinitionsCreateOrUpdateResponse,\n PolicyDefinitionsDeleteOptionalParams,\n PolicyDefinitionsGetOptionalParams,\n PolicyDefinitionsGetResponse,\n PolicyDefinitionsGetBuiltInOptionalParams,\n PolicyDefinitionsGetBuiltInResponse,\n PolicyDefinitionsCreateOrUpdateAtManagementGroupOptionalParams,\n PolicyDefinitionsCreateOrUpdateAtManagementGroupResponse,\n PolicyDefinitionsDeleteAtManagementGroupOptionalParams,\n PolicyDefinitionsGetAtManagementGroupOptionalParams,\n PolicyDefinitionsGetAtManagementGroupResponse,\n PolicyDefinitionsListResponse,\n PolicyDefinitionsListBuiltInResponse,\n PolicyDefinitionsListByManagementGroupResponse,\n PolicyDefinitionsListNextResponse,\n PolicyDefinitionsListBuiltInNextResponse,\n PolicyDefinitionsListByManagementGroupNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing PolicyDefinitions operations. */\nexport class PolicyDefinitionsImpl implements PolicyDefinitions {\n private readonly client: PolicyClientContext;\n\n /**\n * Initialize a new instance of the class PolicyDefinitions class.\n * @param client Reference to the service client\n */\n constructor(client: PolicyClientContext) {\n this.client = client;\n }\n\n /**\n * This operation retrieves a list of all the policy definitions in a given subscription that match the\n * optional given $filter. Valid values for $filter are: 'atExactScope()', 'policyType -eq {value}' or\n * 'category eq '{value}''. If $filter is not provided, the unfiltered list includes all policy\n * definitions associated with the subscription, including those that apply directly or from management\n * groups that contain the given subscription. If $filter=atExactScope() is provided, the returned list\n * only includes all policy definitions that at the given subscription. If $filter='policyType -eq\n * {value}' is provided, the returned list only includes all policy definitions whose type match the\n * {value}. Possible policyType values are NotSpecified, BuiltIn, Custom, and Static. If\n * $filter='category -eq {value}' is provided, the returned list only includes all policy definitions\n * whose category match the {value}.\n * @param options The options parameters.\n */\n public list(\n options?: PolicyDefinitionsListOptionalParams\n ): PagedAsyncIterableIterator<PolicyDefinition> {\n const iter = this.listPagingAll(options);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listPagingPage(options);\n }\n };\n }\n\n private async *listPagingPage(\n options?: PolicyDefinitionsListOptionalParams\n ): AsyncIterableIterator<PolicyDefinition[]> {\n let result = await this._list(options);\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listNext(continuationToken, options);\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listPagingAll(\n options?: PolicyDefinitionsListOptionalParams\n ): AsyncIterableIterator<PolicyDefinition> {\n for await (const page of this.listPagingPage(options)) {\n yield* page;\n }\n }\n\n /**\n * This operation retrieves a list of all the built-in policy definitions that match the optional given\n * $filter. If $filter='policyType -eq {value}' is provided, the returned list only includes all\n * built-in policy definitions whose type match the {value}. Possible policyType values are\n * NotSpecified, BuiltIn, Custom, and Static. If $filter='category -eq {value}' is provided, the\n * returned list only includes all built-in policy definitions whose category match the {value}.\n * @param options The options parameters.\n */\n public listBuiltIn(\n options?: PolicyDefinitionsListBuiltInOptionalParams\n ): PagedAsyncIterableIterator<PolicyDefinition> {\n const iter = this.listBuiltInPagingAll(options);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listBuiltInPagingPage(options);\n }\n };\n }\n\n private async *listBuiltInPagingPage(\n options?: PolicyDefinitionsListBuiltInOptionalParams\n ): AsyncIterableIterator<PolicyDefinition[]> {\n let result = await this._listBuiltIn(options);\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listBuiltInNext(continuationToken, options);\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listBuiltInPagingAll(\n options?: PolicyDefinitionsListBuiltInOptionalParams\n ): AsyncIterableIterator<PolicyDefinition> {\n for await (const page of this.listBuiltInPagingPage(options)) {\n yield* page;\n }\n }\n\n /**\n * This operation retrieves a list of all the policy definitions in a given management group that match\n * the optional given $filter. Valid values for $filter are: 'atExactScope()', 'policyType -eq {value}'\n * or 'category eq '{value}''. If $filter is not provided, the unfiltered list includes all policy\n * definitions associated with the management group, including those that apply directly or from\n * management groups that contain the given management group. If $filter=atExactScope() is provided,\n * the returned list only includes all policy definitions that at the given management group. If\n * $filter='policyType -eq {value}' is provided, the returned list only includes all policy definitions\n * whose type match the {value}. Possible policyType values are NotSpecified, BuiltIn, Custom, and\n * Static. If $filter='category -eq {value}' is provided, the returned list only includes all policy\n * definitions whose category match the {value}.\n * @param managementGroupId The ID of the management group.\n * @param options The options parameters.\n */\n public listByManagementGroup(\n managementGroupId: string,\n options?: PolicyDefinitionsListByManagementGroupOptionalParams\n ): PagedAsyncIterableIterator<PolicyDefinition> {\n const iter = this.listByManagementGroupPagingAll(\n managementGroupId,\n options\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listByManagementGroupPagingPage(managementGroupId, options);\n }\n };\n }\n\n private async *listByManagementGroupPagingPage(\n managementGroupId: string,\n options?: PolicyDefinitionsListByManagementGroupOptionalParams\n ): AsyncIterableIterator<PolicyDefinition[]> {\n let result = await this._listByManagementGroup(managementGroupId, options);\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listByManagementGroupNext(\n managementGroupId,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listByManagementGroupPagingAll(\n managementGroupId: string,\n options?: PolicyDefinitionsListByManagementGroupOptionalParams\n ): AsyncIterableIterator<PolicyDefinition> {\n for await (const page of this.listByManagementGroupPagingPage(\n managementGroupId,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * This operation creates or updates a policy definition in the given subscription with the given name.\n * @param policyDefinitionName The name of the policy definition to create.\n * @param parameters The policy definition properties.\n * @param options The options parameters.\n */\n createOrUpdate(\n policyDefinitionName: string,\n parameters: PolicyDefinition,\n options?: PolicyDefinitionsCreateOrUpdateOptionalParams\n ): Promise<PolicyDefinitionsCreateOrUpdateResponse> {\n return this.client.sendOperationRequest(\n { policyDefinitionName, parameters, options },\n createOrUpdateOperationSpec\n );\n }\n\n /**\n * This operation deletes the policy definition in the given subscription with the given name.\n * @param policyDefinitionName The name of the policy definition to delete.\n * @param options The options parameters.\n */\n delete(\n policyDefinitionName: string,\n options?: PolicyDefinitionsDeleteOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { policyDefinitionName, options },\n deleteOperationSpec\n );\n }\n\n /**\n * This operation retrieves the policy definition in the given subscription with the given name.\n * @param policyDefinitionName The name of the policy definition to get.\n * @param options The options parameters.\n */\n get(\n policyDefinitionName: string,\n options?: PolicyDefinitionsGetOptionalParams\n ): Promise<PolicyDefinitionsGetResponse> {\n return this.client.sendOperationRequest(\n { policyDefinitionName, options },\n getOperationSpec\n );\n }\n\n /**\n * This operation retrieves the built-in policy definition with the given name.\n * @param policyDefinitionName The name of the built-in policy definition to get.\n * @param options The options parameters.\n */\n getBuiltIn(\n policyDefinitionName: string,\n options?: PolicyDefinitionsGetBuiltInOptionalParams\n ): Promise<PolicyDefinitionsGetBuiltInResponse> {\n return this.client.sendOperationRequest(\n { policyDefinitionName, options },\n getBuiltInOperationSpec\n );\n }\n\n /**\n * This operation creates or updates a policy definition in the given management group with the given\n * name.\n * @param policyDefinitionName The name of the policy definition to create.\n * @param managementGroupId The ID of the management group.\n * @param parameters The policy definition properties.\n * @param options The options parameters.\n */\n createOrUpdateAtManagementGroup(\n policyDefinitionName: string,\n managementGroupId: string,\n parameters: PolicyDefinition,\n options?: PolicyDefinitionsCreateOrUpdateAtManagementGroupOptionalParams\n ): Promise<PolicyDefinitionsCreateOrUpdateAtManagementGroupResponse> {\n return this.client.sendOperationRequest(\n { policyDefinitionName, managementGroupId, parameters, options },\n createOrUpdateAtManagementGroupOperationSpec\n );\n }\n\n /**\n * This operation deletes the policy definition in the given management group with the given name.\n * @param policyDefinitionName The name of the policy definition to delete.\n * @param managementGroupId The ID of the management group.\n * @param options The options parameters.\n */\n deleteAtManagementGroup(\n policyDefinitionName: string,\n managementGroupId: string,\n options?: PolicyDefinitionsDeleteAtManagementGroupOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { policyDefinitionName, managementGroupId, options },\n deleteAtManagementGroupOperationSpec\n );\n }\n\n /**\n * This operation retrieves the policy definition in the given management group with the given name.\n * @param policyDefinitionName The name of the policy definition to get.\n * @param managementGroupId The ID of the management group.\n * @param options The options parameters.\n */\n getAtManagementGroup(\n policyDefinitionName: string,\n managementGroupId: string,\n options?: PolicyDefinitionsGetAtManagementGroupOptionalParams\n ): Promise<PolicyDefinitionsGetAtManagementGroupResponse> {\n return this.client.sendOperationRequest(\n { policyDefinitionName, managementGroupId, options },\n getAtManagementGroupOperationSpec\n );\n }\n\n /**\n * This operation retrieves a list of all the policy definitions in a given subscription that match the\n * optional given $filter. Valid values for $filter are: 'atExactScope()', 'policyType -eq {value}' or\n * 'category eq '{value}''. If $filter is not provided, the unfiltered list includes all policy\n * definitions associated with the subscription, including those that apply directly or from management\n * groups that contain the given subscription. If $filter=atExactScope() is provided, the returned list\n * only includes all policy definitions that at the given subscription. If $filter='policyType -eq\n * {value}' is provided, the returned list only includes all policy definitions whose type match the\n * {value}. Possible policyType values are NotSpecified, BuiltIn, Custom, and Static. If\n * $filter='category -eq {value}' is provided, the returned list only includes all policy definitions\n * whose category match the {value}.\n * @param options The options parameters.\n */\n private _list(\n options?: PolicyDefinitionsListOptionalParams\n ): Promise<PolicyDefinitionsListResponse> {\n return this.client.sendOperationRequest({ options }, listOperationSpec);\n }\n\n /**\n * This operation retrieves a list of all the built-in policy definitions that match the optional given\n * $filter. If $filter='policyType -eq {value}' is provided, the returned list only includes all\n * built-in policy definitions whose type match the {value}. Possible policyType values are\n * NotSpecified, BuiltIn, Custom, and Static. If $filter='category -eq {value}' is provided, the\n * returned list only includes all built-in policy definitions whose category match the {value}.\n * @param options The options parameters.\n */\n private _listBuiltIn(\n options?: PolicyDefinitionsListBuiltInOptionalParams\n ): Promise<PolicyDefinitionsListBuiltInResponse> {\n return this.client.sendOperationRequest(\n { options },\n listBuiltInOperationSpec\n );\n }\n\n /**\n * This operation retrieves a list of all the policy definitions in a given management group that match\n * the optional given $filter. Valid values for $filter are: 'atExactScope()', 'policyType -eq {value}'\n * or 'category eq '{value}''. If $filter is not provided, the unfiltered list includes all policy\n * definitions associated with the management group, including those that apply directly or from\n * management groups that contain the given management group. If $filter=atExactScope() is provided,\n * the returned list only includes all policy definitions that at the given management group. If\n * $filter='policyType -eq {value}' is provided, the returned list only includes all policy definitions\n * whose type match the {value}. Possible policyType values are NotSpecified, BuiltIn, Custom, and\n * Static. If $filter='category -eq {value}' is provided, the returned list only includes all policy\n * definitions whose category match the {value}.\n * @param managementGroupId The ID of the management group.\n * @param options The options parameters.\n */\n private _listByManagementGroup(\n managementGroupId: string,\n options?: PolicyDefinitionsListByManagementGroupOptionalParams\n ): Promise<PolicyDefinitionsListByManagementGroupResponse> {\n return this.client.sendOperationRequest(\n { managementGroupId, options },\n listByManagementGroupOperationSpec\n );\n }\n\n /**\n * ListNext\n * @param nextLink The nextLink from the previous successful call to the List method.\n * @param options The options parameters.\n */\n private _listNext(\n nextLink: string,\n options?: PolicyDefinitionsListNextOptionalParams\n ): Promise<PolicyDefinitionsListNextResponse> {\n return this.client.sendOperationRequest(\n { nextLink, options },\n listNextOperationSpec\n );\n }\n\n /**\n * ListBuiltInNext\n * @param nextLink The nextLink from the previous successful call to the ListBuiltIn method.\n * @param options The options parameters.\n */\n private _listBuiltInNext(\n nextLink: string,\n options?: PolicyDefinitionsListBuiltInNextOptionalParams\n ): Promise<PolicyDefinitionsListBuiltInNextResponse> {\n return this.client.sendOperationRequest(\n { nextLink, options },\n listBuiltInNextOperationSpec\n );\n }\n\n /**\n * ListByManagementGroupNext\n * @param managementGroupId The ID of the management group.\n * @param nextLink The nextLink from the previous successful call to the ListByManagementGroup method.\n * @param options The options parameters.\n */\n private _listByManagementGroupNext(\n managementGroupId: string,\n nextLink: string,\n options?: PolicyDefinitionsListByManagementGroupNextOptionalParams\n ): Promise<PolicyDefinitionsListByManagementGroupNextResponse> {\n return this.client.sendOperationRequest(\n { managementGroupId, nextLink, options },\n listByManagementGroupNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst createOrUpdateOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}\",\n httpMethod: \"PUT\",\n responses: {\n 201: {\n bodyMapper: Mappers.PolicyDefinition\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n requestBody: Parameters.parameters2,\n queryParameters: [Parameters.apiVersion1],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.policyDefinitionName\n ],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst deleteOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}\",\n httpMethod: \"DELETE\",\n responses: {\n 200: {},\n 204: {},\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.apiVersion1],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.policyDefinitionName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst getOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicyDefinition\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.apiVersion1],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.policyDefinitionName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst getBuiltInOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicyDefinition\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.apiVersion1],\n urlParameters: [Parameters.$host, Parameters.policyDefinitionName],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst createOrUpdateAtManagementGroupOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}\",\n httpMethod: \"PUT\",\n responses: {\n 201: {\n bodyMapper: Mappers.PolicyDefinition\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n requestBody: Parameters.parameters2,\n queryParameters: [Parameters.apiVersion1],\n urlParameters: [\n Parameters.$host,\n Parameters.managementGroupId,\n Parameters.policyDefinitionName\n ],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst deleteAtManagementGroupOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}\",\n httpMethod: \"DELETE\",\n responses: {\n 200: {},\n 204: {},\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.apiVersion1],\n urlParameters: [\n Parameters.$host,\n Parameters.managementGroupId,\n Parameters.policyDefinitionName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst getAtManagementGroupOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicyDefinition\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.apiVersion1],\n urlParameters: [\n Parameters.$host,\n Parameters.managementGroupId,\n Parameters.policyDefinitionName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyDefinitions\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicyDefinitionListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.filter, Parameters.apiVersion1, Parameters.top],\n urlParameters: [Parameters.$host, Parameters.subscriptionId],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listBuiltInOperationSpec: coreClient.OperationSpec = {\n path: \"/providers/Microsoft.Authorization/policyDefinitions\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicyDefinitionListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.filter, Parameters.apiVersion1, Parameters.top],\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByManagementGroupOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Authorization/policyDefinitions\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicyDefinitionListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.filter, Parameters.apiVersion1, Parameters.top],\n urlParameters: [Parameters.$host, Parameters.managementGroupId],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicyDefinitionListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.filter, Parameters.apiVersion1, Parameters.top],\n urlParameters: [\n Parameters.$host,\n Parameters.nextLink,\n Parameters.subscriptionId\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listBuiltInNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicyDefinitionListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.filter, Parameters.apiVersion1, Parameters.top],\n urlParameters: [Parameters.$host, Parameters.nextLink],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByManagementGroupNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicyDefinitionListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.filter, Parameters.apiVersion1, Parameters.top],\n urlParameters: [\n Parameters.$host,\n Parameters.nextLink,\n Parameters.managementGroupId\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport { PolicySetDefinitions } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { PolicyClientContext } from \"../policyClientContext\";\nimport {\n PolicySetDefinition,\n PolicySetDefinitionsListNextOptionalParams,\n PolicySetDefinitionsListOptionalParams,\n PolicySetDefinitionsListBuiltInNextOptionalParams,\n PolicySetDefinitionsListBuiltInOptionalParams,\n PolicySetDefinitionsListByManagementGroupNextOptionalParams,\n PolicySetDefinitionsListByManagementGroupOptionalParams,\n PolicySetDefinitionsCreateOrUpdateOptionalParams,\n PolicySetDefinitionsCreateOrUpdateResponse,\n PolicySetDefinitionsDeleteOptionalParams,\n PolicySetDefinitionsGetOptionalParams,\n PolicySetDefinitionsGetResponse,\n PolicySetDefinitionsGetBuiltInOptionalParams,\n PolicySetDefinitionsGetBuiltInResponse,\n PolicySetDefinitionsListResponse,\n PolicySetDefinitionsListBuiltInResponse,\n PolicySetDefinitionsCreateOrUpdateAtManagementGroupOptionalParams,\n PolicySetDefinitionsCreateOrUpdateAtManagementGroupResponse,\n PolicySetDefinitionsDeleteAtManagementGroupOptionalParams,\n PolicySetDefinitionsGetAtManagementGroupOptionalParams,\n PolicySetDefinitionsGetAtManagementGroupResponse,\n PolicySetDefinitionsListByManagementGroupResponse,\n PolicySetDefinitionsListNextResponse,\n PolicySetDefinitionsListBuiltInNextResponse,\n PolicySetDefinitionsListByManagementGroupNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing PolicySetDefinitions operations. */\nexport class PolicySetDefinitionsImpl implements PolicySetDefinitions {\n private readonly client: PolicyClientContext;\n\n /**\n * Initialize a new instance of the class PolicySetDefinitions class.\n * @param client Reference to the service client\n */\n constructor(client: PolicyClientContext) {\n this.client = client;\n }\n\n /**\n * This operation retrieves a list of all the policy set definitions in a given subscription that match\n * the optional given $filter. Valid values for $filter are: 'atExactScope()', 'policyType -eq {value}'\n * or 'category eq '{value}''. If $filter is not provided, the unfiltered list includes all policy set\n * definitions associated with the subscription, including those that apply directly or from management\n * groups that contain the given subscription. If $filter=atExactScope() is provided, the returned list\n * only includes all policy set definitions that at the given subscription. If $filter='policyType -eq\n * {value}' is provided, the returned list only includes all policy set definitions whose type match\n * the {value}. Possible policyType values are NotSpecified, BuiltIn and Custom. If $filter='category\n * -eq {value}' is provided, the returned list only includes all policy set definitions whose category\n * match the {value}.\n * @param options The options parameters.\n */\n public list(\n options?: PolicySetDefinitionsListOptionalParams\n ): PagedAsyncIterableIterator<PolicySetDefinition> {\n const iter = this.listPagingAll(options);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listPagingPage(options);\n }\n };\n }\n\n private async *listPagingPage(\n options?: PolicySetDefinitionsListOptionalParams\n ): AsyncIterableIterator<PolicySetDefinition[]> {\n let result = await this._list(options);\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listNext(continuationToken, options);\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listPagingAll(\n options?: PolicySetDefinitionsListOptionalParams\n ): AsyncIterableIterator<PolicySetDefinition> {\n for await (const page of this.listPagingPage(options)) {\n yield* page;\n }\n }\n\n /**\n * This operation retrieves a list of all the built-in policy set definitions that match the optional\n * given $filter. If $filter='category -eq {value}' is provided, the returned list only includes all\n * built-in policy set definitions whose category match the {value}.\n * @param options The options parameters.\n */\n public listBuiltIn(\n options?: PolicySetDefinitionsListBuiltInOptionalParams\n ): PagedAsyncIterableIterator<PolicySetDefinition> {\n const iter = this.listBuiltInPagingAll(options);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listBuiltInPagingPage(options);\n }\n };\n }\n\n private async *listBuiltInPagingPage(\n options?: PolicySetDefinitionsListBuiltInOptionalParams\n ): AsyncIterableIterator<PolicySetDefinition[]> {\n let result = await this._listBuiltIn(options);\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listBuiltInNext(continuationToken, options);\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listBuiltInPagingAll(\n options?: PolicySetDefinitionsListBuiltInOptionalParams\n ): AsyncIterableIterator<PolicySetDefinition> {\n for await (const page of this.listBuiltInPagingPage(options)) {\n yield* page;\n }\n }\n\n /**\n * This operation retrieves a list of all the policy set definitions in a given management group that\n * match the optional given $filter. Valid values for $filter are: 'atExactScope()', 'policyType -eq\n * {value}' or 'category eq '{value}''. If $filter is not provided, the unfiltered list includes all\n * policy set definitions associated with the management group, including those that apply directly or\n * from management groups that contain the given management group. If $filter=atExactScope() is\n * provided, the returned list only includes all policy set definitions that at the given management\n * group. If $filter='policyType -eq {value}' is provided, the returned list only includes all policy\n * set definitions whose type match the {value}. Possible policyType values are NotSpecified, BuiltIn\n * and Custom. If $filter='category -eq {value}' is provided, the returned list only includes all\n * policy set definitions whose category match the {value}.\n * @param managementGroupId The ID of the management group.\n * @param options The options parameters.\n */\n public listByManagementGroup(\n managementGroupId: string,\n options?: PolicySetDefinitionsListByManagementGroupOptionalParams\n ): PagedAsyncIterableIterator<PolicySetDefinition> {\n const iter = this.listByManagementGroupPagingAll(\n managementGroupId,\n options\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listByManagementGroupPagingPage(managementGroupId, options);\n }\n };\n }\n\n private async *listByManagementGroupPagingPage(\n managementGroupId: string,\n options?: PolicySetDefinitionsListByManagementGroupOptionalParams\n ): AsyncIterableIterator<PolicySetDefinition[]> {\n let result = await this._listByManagementGroup(managementGroupId, options);\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listByManagementGroupNext(\n managementGroupId,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listByManagementGroupPagingAll(\n managementGroupId: string,\n options?: PolicySetDefinitionsListByManagementGroupOptionalParams\n ): AsyncIterableIterator<PolicySetDefinition> {\n for await (const page of this.listByManagementGroupPagingPage(\n managementGroupId,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * This operation creates or updates a policy set definition in the given subscription with the given\n * name.\n * @param policySetDefinitionName The name of the policy set definition to create.\n * @param parameters The policy set definition properties.\n * @param options The options parameters.\n */\n createOrUpdate(\n policySetDefinitionName: string,\n parameters: PolicySetDefinition,\n options?: PolicySetDefinitionsCreateOrUpdateOptionalParams\n ): Promise<PolicySetDefinitionsCreateOrUpdateResponse> {\n return this.client.sendOperationRequest(\n { policySetDefinitionName, parameters, options },\n createOrUpdateOperationSpec\n );\n }\n\n /**\n * This operation deletes the policy set definition in the given subscription with the given name.\n * @param policySetDefinitionName The name of the policy set definition to delete.\n * @param options The options parameters.\n */\n delete(\n policySetDefinitionName: string,\n options?: PolicySetDefinitionsDeleteOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { policySetDefinitionName, options },\n deleteOperationSpec\n );\n }\n\n /**\n * This operation retrieves the policy set definition in the given subscription with the given name.\n * @param policySetDefinitionName The name of the policy set definition to get.\n * @param options The options parameters.\n */\n get(\n policySetDefinitionName: string,\n options?: PolicySetDefinitionsGetOptionalParams\n ): Promise<PolicySetDefinitionsGetResponse> {\n return this.client.sendOperationRequest(\n { policySetDefinitionName, options },\n getOperationSpec\n );\n }\n\n /**\n * This operation retrieves the built-in policy set definition with the given name.\n * @param policySetDefinitionName The name of the policy set definition to get.\n * @param options The options parameters.\n */\n getBuiltIn(\n policySetDefinitionName: string,\n options?: PolicySetDefinitionsGetBuiltInOptionalParams\n ): Promise<PolicySetDefinitionsGetBuiltInResponse> {\n return this.client.sendOperationRequest(\n { policySetDefinitionName, options },\n getBuiltInOperationSpec\n );\n }\n\n /**\n * This operation retrieves a list of all the policy set definitions in a given subscription that match\n * the optional given $filter. Valid values for $filter are: 'atExactScope()', 'policyType -eq {value}'\n * or 'category eq '{value}''. If $filter is not provided, the unfiltered list includes all policy set\n * definitions associated with the subscription, including those that apply directly or from management\n * groups that contain the given subscription. If $filter=atExactScope() is provided, the returned list\n * only includes all policy set definitions that at the given subscription. If $filter='policyType -eq\n * {value}' is provided, the returned list only includes all policy set definitions whose type match\n * the {value}. Possible policyType values are NotSpecified, BuiltIn and Custom. If $filter='category\n * -eq {value}' is provided, the returned list only includes all policy set definitions whose category\n * match the {value}.\n * @param options The options parameters.\n */\n private _list(\n options?: PolicySetDefinitionsListOptionalParams\n ): Promise<PolicySetDefinitionsListResponse> {\n return this.client.sendOperationRequest({ options }, listOperationSpec);\n }\n\n /**\n * This operation retrieves a list of all the built-in policy set definitions that match the optional\n * given $filter. If $filter='category -eq {value}' is provided, the returned list only includes all\n * built-in policy set definitions whose category match the {value}.\n * @param options The options parameters.\n */\n private _listBuiltIn(\n options?: PolicySetDefinitionsListBuiltInOptionalParams\n ): Promise<PolicySetDefinitionsListBuiltInResponse> {\n return this.client.sendOperationRequest(\n { options },\n listBuiltInOperationSpec\n );\n }\n\n /**\n * This operation creates or updates a policy set definition in the given management group with the\n * given name.\n * @param policySetDefinitionName The name of the policy set definition to create.\n * @param managementGroupId The ID of the management group.\n * @param parameters The policy set definition properties.\n * @param options The options parameters.\n */\n createOrUpdateAtManagementGroup(\n policySetDefinitionName: string,\n managementGroupId: string,\n parameters: PolicySetDefinition,\n options?: PolicySetDefinitionsCreateOrUpdateAtManagementGroupOptionalParams\n ): Promise<PolicySetDefinitionsCreateOrUpdateAtManagementGroupResponse> {\n return this.client.sendOperationRequest(\n { policySetDefinitionName, managementGroupId, parameters, options },\n createOrUpdateAtManagementGroupOperationSpec\n );\n }\n\n /**\n * This operation deletes the policy set definition in the given management group with the given name.\n * @param policySetDefinitionName The name of the policy set definition to delete.\n * @param managementGroupId The ID of the management group.\n * @param options The options parameters.\n */\n deleteAtManagementGroup(\n policySetDefinitionName: string,\n managementGroupId: string,\n options?: PolicySetDefinitionsDeleteAtManagementGroupOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { policySetDefinitionName, managementGroupId, options },\n deleteAtManagementGroupOperationSpec\n );\n }\n\n /**\n * This operation retrieves the policy set definition in the given management group with the given\n * name.\n * @param policySetDefinitionName The name of the policy set definition to get.\n * @param managementGroupId The ID of the management group.\n * @param options The options parameters.\n */\n getAtManagementGroup(\n policySetDefinitionName: string,\n managementGroupId: string,\n options?: PolicySetDefinitionsGetAtManagementGroupOptionalParams\n ): Promise<PolicySetDefinitionsGetAtManagementGroupResponse> {\n return this.client.sendOperationRequest(\n { policySetDefinitionName, managementGroupId, options },\n getAtManagementGroupOperationSpec\n );\n }\n\n /**\n * This operation retrieves a list of all the policy set definitions in a given management group that\n * match the optional given $filter. Valid values for $filter are: 'atExactScope()', 'policyType -eq\n * {value}' or 'category eq '{value}''. If $filter is not provided, the unfiltered list includes all\n * policy set definitions associated with the management group, including those that apply directly or\n * from management groups that contain the given management group. If $filter=atExactScope() is\n * provided, the returned list only includes all policy set definitions that at the given management\n * group. If $filter='policyType -eq {value}' is provided, the returned list only includes all policy\n * set definitions whose type match the {value}. Possible policyType values are NotSpecified, BuiltIn\n * and Custom. If $filter='category -eq {value}' is provided, the returned list only includes all\n * policy set definitions whose category match the {value}.\n * @param managementGroupId The ID of the management group.\n * @param options The options parameters.\n */\n private _listByManagementGroup(\n managementGroupId: string,\n options?: PolicySetDefinitionsListByManagementGroupOptionalParams\n ): Promise<PolicySetDefinitionsListByManagementGroupResponse> {\n return this.client.sendOperationRequest(\n { managementGroupId, options },\n listByManagementGroupOperationSpec\n );\n }\n\n /**\n * ListNext\n * @param nextLink The nextLink from the previous successful call to the List method.\n * @param options The options parameters.\n */\n private _listNext(\n nextLink: string,\n options?: PolicySetDefinitionsListNextOptionalParams\n ): Promise<PolicySetDefinitionsListNextResponse> {\n return this.client.sendOperationRequest(\n { nextLink, options },\n listNextOperationSpec\n );\n }\n\n /**\n * ListBuiltInNext\n * @param nextLink The nextLink from the previous successful call to the ListBuiltIn method.\n * @param options The options parameters.\n */\n private _listBuiltInNext(\n nextLink: string,\n options?: PolicySetDefinitionsListBuiltInNextOptionalParams\n ): Promise<PolicySetDefinitionsListBuiltInNextResponse> {\n return this.client.sendOperationRequest(\n { nextLink, options },\n listBuiltInNextOperationSpec\n );\n }\n\n /**\n * ListByManagementGroupNext\n * @param managementGroupId The ID of the management group.\n * @param nextLink The nextLink from the previous successful call to the ListByManagementGroup method.\n * @param options The options parameters.\n */\n private _listByManagementGroupNext(\n managementGroupId: string,\n nextLink: string,\n options?: PolicySetDefinitionsListByManagementGroupNextOptionalParams\n ): Promise<PolicySetDefinitionsListByManagementGroupNextResponse> {\n return this.client.sendOperationRequest(\n { managementGroupId, nextLink, options },\n listByManagementGroupNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst createOrUpdateOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}\",\n httpMethod: \"PUT\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicySetDefinition\n },\n 201: {\n bodyMapper: Mappers.PolicySetDefinition\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n requestBody: Parameters.parameters3,\n queryParameters: [Parameters.apiVersion1],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.policySetDefinitionName\n ],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst deleteOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}\",\n httpMethod: \"DELETE\",\n responses: {\n 200: {},\n 204: {},\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.apiVersion1],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.policySetDefinitionName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst getOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicySetDefinition\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.apiVersion1],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.policySetDefinitionName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst getBuiltInOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicySetDefinition\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.apiVersion1],\n urlParameters: [Parameters.$host, Parameters.policySetDefinitionName],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policySetDefinitions\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicySetDefinitionListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.filter, Parameters.apiVersion1, Parameters.top],\n urlParameters: [Parameters.$host, Parameters.subscriptionId],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listBuiltInOperationSpec: coreClient.OperationSpec = {\n path: \"/providers/Microsoft.Authorization/policySetDefinitions\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicySetDefinitionListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.filter, Parameters.apiVersion1, Parameters.top],\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst createOrUpdateAtManagementGroupOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}\",\n httpMethod: \"PUT\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicySetDefinition\n },\n 201: {\n bodyMapper: Mappers.PolicySetDefinition\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n requestBody: Parameters.parameters3,\n queryParameters: [Parameters.apiVersion1],\n urlParameters: [\n Parameters.$host,\n Parameters.managementGroupId,\n Parameters.policySetDefinitionName\n ],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst deleteAtManagementGroupOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}\",\n httpMethod: \"DELETE\",\n responses: {\n 200: {},\n 204: {},\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.apiVersion1],\n urlParameters: [\n Parameters.$host,\n Parameters.managementGroupId,\n Parameters.policySetDefinitionName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst getAtManagementGroupOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicySetDefinition\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.apiVersion1],\n urlParameters: [\n Parameters.$host,\n Parameters.managementGroupId,\n Parameters.policySetDefinitionName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByManagementGroupOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Authorization/policySetDefinitions\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicySetDefinitionListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.filter, Parameters.apiVersion1, Parameters.top],\n urlParameters: [Parameters.$host, Parameters.managementGroupId],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicySetDefinitionListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.filter, Parameters.apiVersion1, Parameters.top],\n urlParameters: [\n Parameters.$host,\n Parameters.nextLink,\n Parameters.subscriptionId\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listBuiltInNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicySetDefinitionListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.filter, Parameters.apiVersion1, Parameters.top],\n urlParameters: [Parameters.$host, Parameters.nextLink],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByManagementGroupNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicySetDefinitionListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.filter, Parameters.apiVersion1, Parameters.top],\n urlParameters: [\n Parameters.$host,\n Parameters.nextLink,\n Parameters.managementGroupId\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport { PolicyExemptions } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { PolicyClientContext } from \"../policyClientContext\";\nimport {\n PolicyExemption,\n PolicyExemptionsListNextOptionalParams,\n PolicyExemptionsListOptionalParams,\n PolicyExemptionsListForResourceGroupNextOptionalParams,\n PolicyExemptionsListForResourceGroupOptionalParams,\n PolicyExemptionsListForResourceNextOptionalParams,\n PolicyExemptionsListForResourceOptionalParams,\n PolicyExemptionsListForManagementGroupNextOptionalParams,\n PolicyExemptionsListForManagementGroupOptionalParams,\n PolicyExemptionsDeleteOptionalParams,\n PolicyExemptionsCreateOrUpdateOptionalParams,\n PolicyExemptionsCreateOrUpdateResponse,\n PolicyExemptionsGetOptionalParams,\n PolicyExemptionsGetResponse,\n PolicyExemptionsListResponse,\n PolicyExemptionsListForResourceGroupResponse,\n PolicyExemptionsListForResourceResponse,\n PolicyExemptionsListForManagementGroupResponse,\n PolicyExemptionsListNextResponse,\n PolicyExemptionsListForResourceGroupNextResponse,\n PolicyExemptionsListForResourceNextResponse,\n PolicyExemptionsListForManagementGroupNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing PolicyExemptions operations. */\nexport class PolicyExemptionsImpl implements PolicyExemptions {\n private readonly client: PolicyClientContext;\n\n /**\n * Initialize a new instance of the class PolicyExemptions class.\n * @param client Reference to the service client\n */\n constructor(client: PolicyClientContext) {\n this.client = client;\n }\n\n /**\n * This operation retrieves the list of all policy exemptions associated with the given subscription\n * that match the optional given $filter. Valid values for $filter are: 'atScope()', 'atExactScope()',\n * 'excludeExpired()' or 'policyAssignmentId eq '{value}''. If $filter is not provided, the unfiltered\n * list includes all policy exemptions associated with the subscription, including those that apply\n * directly or from management groups that contain the given subscription, as well as any applied to\n * objects contained within the subscription.\n * @param options The options parameters.\n */\n public list(\n options?: PolicyExemptionsListOptionalParams\n ): PagedAsyncIterableIterator<PolicyExemption> {\n const iter = this.listPagingAll(options);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listPagingPage(options);\n }\n };\n }\n\n private async *listPagingPage(\n options?: PolicyExemptionsListOptionalParams\n ): AsyncIterableIterator<PolicyExemption[]> {\n let result = await this._list(options);\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listNext(continuationToken, options);\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listPagingAll(\n options?: PolicyExemptionsListOptionalParams\n ): AsyncIterableIterator<PolicyExemption> {\n for await (const page of this.listPagingPage(options)) {\n yield* page;\n }\n }\n\n /**\n * This operation retrieves the list of all policy exemptions associated with the given resource group\n * in the given subscription that match the optional given $filter. Valid values for $filter are:\n * 'atScope()', 'atExactScope()', 'excludeExpired()' or 'policyAssignmentId eq '{value}''. If $filter\n * is not provided, the unfiltered list includes all policy exemptions associated with the resource\n * group, including those that apply directly or apply from containing scopes, as well as any applied\n * to resources contained within the resource group.\n * @param resourceGroupName The name of the resource group containing the resource.\n * @param options The options parameters.\n */\n public listForResourceGroup(\n resourceGroupName: string,\n options?: PolicyExemptionsListForResourceGroupOptionalParams\n ): PagedAsyncIterableIterator<PolicyExemption> {\n const iter = this.listForResourceGroupPagingAll(resourceGroupName, options);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listForResourceGroupPagingPage(resourceGroupName, options);\n }\n };\n }\n\n private async *listForResourceGroupPagingPage(\n resourceGroupName: string,\n options?: PolicyExemptionsListForResourceGroupOptionalParams\n ): AsyncIterableIterator<PolicyExemption[]> {\n let result = await this._listForResourceGroup(resourceGroupName, options);\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listForResourceGroupNext(\n resourceGroupName,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listForResourceGroupPagingAll(\n resourceGroupName: string,\n options?: PolicyExemptionsListForResourceGroupOptionalParams\n ): AsyncIterableIterator<PolicyExemption> {\n for await (const page of this.listForResourceGroupPagingPage(\n resourceGroupName,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * This operation retrieves the list of all policy exemptions associated with the specified resource in\n * the given resource group and subscription that match the optional given $filter. Valid values for\n * $filter are: 'atScope()', 'atExactScope()', 'excludeExpired()' or 'policyAssignmentId eq '{value}''.\n * If $filter is not provided, the unfiltered list includes all policy exemptions associated with the\n * resource, including those that apply directly or from all containing scopes, as well as any applied\n * to resources contained within the resource. Three parameters plus the resource name are used to\n * identify a specific resource. If the resource is not part of a parent resource (the more common\n * case), the parent resource path should not be provided (or provided as ''). For example a web app\n * could be specified as ({resourceProviderNamespace} == 'Microsoft.Web', {parentResourcePath} == '',\n * {resourceType} == 'sites', {resourceName} == 'MyWebApp'). If the resource is part of a parent\n * resource, then all parameters should be provided. For example a virtual machine DNS name could be\n * specified as ({resourceProviderNamespace} == 'Microsoft.Compute', {parentResourcePath} ==\n * 'virtualMachines/MyVirtualMachine', {resourceType} == 'domainNames', {resourceName} ==\n * 'MyComputerName'). A convenient alternative to providing the namespace and type name separately is\n * to provide both in the {resourceType} parameter, format: ({resourceProviderNamespace} == '',\n * {parentResourcePath} == '', {resourceType} == 'Microsoft.Web/sites', {resourceName} == 'MyWebApp').\n * @param resourceGroupName The name of the resource group containing the resource.\n * @param resourceProviderNamespace The namespace of the resource provider. For example, the namespace\n * of a virtual machine is Microsoft.Compute (from Microsoft.Compute/virtualMachines)\n * @param parentResourcePath The parent resource path. Use empty string if there is none.\n * @param resourceType The resource type name. For example the type name of a web app is 'sites' (from\n * Microsoft.Web/sites).\n * @param resourceName The name of the resource.\n * @param options The options parameters.\n */\n public listForResource(\n resourceGroupName: string,\n resourceProviderNamespace: string,\n parentResourcePath: string,\n resourceType: string,\n resourceName: string,\n options?: PolicyExemptionsListForResourceOptionalParams\n ): PagedAsyncIterableIterator<PolicyExemption> {\n const iter = this.listForResourcePagingAll(\n resourceGroupName,\n resourceProviderNamespace,\n parentResourcePath,\n resourceType,\n resourceName,\n options\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listForResourcePagingPage(\n resourceGroupName,\n resourceProviderNamespace,\n parentResourcePath,\n resourceType,\n resourceName,\n options\n );\n }\n };\n }\n\n private async *listForResourcePagingPage(\n resourceGroupName: string,\n resourceProviderNamespace: string,\n parentResourcePath: string,\n resourceType: string,\n resourceName: string,\n options?: PolicyExemptionsListForResourceOptionalParams\n ): AsyncIterableIterator<PolicyExemption[]> {\n let result = await this._listForResource(\n resourceGroupName,\n resourceProviderNamespace,\n parentResourcePath,\n resourceType,\n resourceName,\n options\n );\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listForResourceNext(\n resourceGroupName,\n resourceProviderNamespace,\n parentResourcePath,\n resourceType,\n resourceName,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listForResourcePagingAll(\n resourceGroupName: string,\n resourceProviderNamespace: string,\n parentResourcePath: string,\n resourceType: string,\n resourceName: string,\n options?: PolicyExemptionsListForResourceOptionalParams\n ): AsyncIterableIterator<PolicyExemption> {\n for await (const page of this.listForResourcePagingPage(\n resourceGroupName,\n resourceProviderNamespace,\n parentResourcePath,\n resourceType,\n resourceName,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * This operation retrieves the list of all policy exemptions applicable to the management group that\n * match the given $filter. Valid values for $filter are: 'atScope()', 'atExactScope()',\n * 'excludeExpired()' or 'policyAssignmentId eq '{value}''. If $filter=atScope() is provided, the\n * returned list includes all policy exemptions that are assigned to the management group or the\n * management group's ancestors.\n * @param managementGroupId The ID of the management group.\n * @param options The options parameters.\n */\n public listForManagementGroup(\n managementGroupId: string,\n options?: PolicyExemptionsListForManagementGroupOptionalParams\n ): PagedAsyncIterableIterator<PolicyExemption> {\n const iter = this.listForManagementGroupPagingAll(\n managementGroupId,\n options\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listForManagementGroupPagingPage(\n managementGroupId,\n options\n );\n }\n };\n }\n\n private async *listForManagementGroupPagingPage(\n managementGroupId: string,\n options?: PolicyExemptionsListForManagementGroupOptionalParams\n ): AsyncIterableIterator<PolicyExemption[]> {\n let result = await this._listForManagementGroup(managementGroupId, options);\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listForManagementGroupNext(\n managementGroupId,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listForManagementGroupPagingAll(\n managementGroupId: string,\n options?: PolicyExemptionsListForManagementGroupOptionalParams\n ): AsyncIterableIterator<PolicyExemption> {\n for await (const page of this.listForManagementGroupPagingPage(\n managementGroupId,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * This operation deletes a policy exemption, given its name and the scope it was created in. The scope\n * of a policy exemption is the part of its ID preceding\n * '/providers/Microsoft.Authorization/policyExemptions/{policyExemptionName}'.\n * @param scope The scope of the policy exemption. Valid scopes are: management group (format:\n * '/providers/Microsoft.Management/managementGroups/{managementGroup}'), subscription (format:\n * '/subscriptions/{subscriptionId}'), resource group (format:\n * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format:\n * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'\n * @param policyExemptionName The name of the policy exemption to delete.\n * @param options The options parameters.\n */\n delete(\n scope: string,\n policyExemptionName: string,\n options?: PolicyExemptionsDeleteOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { scope, policyExemptionName, options },\n deleteOperationSpec\n );\n }\n\n /**\n * This operation creates or updates a policy exemption with the given scope and name. Policy\n * exemptions apply to all resources contained within their scope. For example, when you create a\n * policy exemption at resource group scope for a policy assignment at the same or above level, the\n * exemption exempts to all applicable resources in the resource group.\n * @param scope The scope of the policy exemption. Valid scopes are: management group (format:\n * '/providers/Microsoft.Management/managementGroups/{managementGroup}'), subscription (format:\n * '/subscriptions/{subscriptionId}'), resource group (format:\n * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format:\n * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'\n * @param policyExemptionName The name of the policy exemption to delete.\n * @param parameters Parameters for the policy exemption.\n * @param options The options parameters.\n */\n createOrUpdate(\n scope: string,\n policyExemptionName: string,\n parameters: PolicyExemption,\n options?: PolicyExemptionsCreateOrUpdateOptionalParams\n ): Promise<PolicyExemptionsCreateOrUpdateResponse> {\n return this.client.sendOperationRequest(\n { scope, policyExemptionName, parameters, options },\n createOrUpdateOperationSpec\n );\n }\n\n /**\n * This operation retrieves a single policy exemption, given its name and the scope it was created at.\n * @param scope The scope of the policy exemption. Valid scopes are: management group (format:\n * '/providers/Microsoft.Management/managementGroups/{managementGroup}'), subscription (format:\n * '/subscriptions/{subscriptionId}'), resource group (format:\n * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format:\n * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'\n * @param policyExemptionName The name of the policy exemption to delete.\n * @param options The options parameters.\n */\n get(\n scope: string,\n policyExemptionName: string,\n options?: PolicyExemptionsGetOptionalParams\n ): Promise<PolicyExemptionsGetResponse> {\n return this.client.sendOperationRequest(\n { scope, policyExemptionName, options },\n getOperationSpec\n );\n }\n\n /**\n * This operation retrieves the list of all policy exemptions associated with the given subscription\n * that match the optional given $filter. Valid values for $filter are: 'atScope()', 'atExactScope()',\n * 'excludeExpired()' or 'policyAssignmentId eq '{value}''. If $filter is not provided, the unfiltered\n * list includes all policy exemptions associated with the subscription, including those that apply\n * directly or from management groups that contain the given subscription, as well as any applied to\n * objects contained within the subscription.\n * @param options The options parameters.\n */\n private _list(\n options?: PolicyExemptionsListOptionalParams\n ): Promise<PolicyExemptionsListResponse> {\n return this.client.sendOperationRequest({ options }, listOperationSpec);\n }\n\n /**\n * This operation retrieves the list of all policy exemptions associated with the given resource group\n * in the given subscription that match the optional given $filter. Valid values for $filter are:\n * 'atScope()', 'atExactScope()', 'excludeExpired()' or 'policyAssignmentId eq '{value}''. If $filter\n * is not provided, the unfiltered list includes all policy exemptions associated with the resource\n * group, including those that apply directly or apply from containing scopes, as well as any applied\n * to resources contained within the resource group.\n * @param resourceGroupName The name of the resource group containing the resource.\n * @param options The options parameters.\n */\n private _listForResourceGroup(\n resourceGroupName: string,\n options?: PolicyExemptionsListForResourceGroupOptionalParams\n ): Promise<PolicyExemptionsListForResourceGroupResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, options },\n listForResourceGroupOperationSpec\n );\n }\n\n /**\n * This operation retrieves the list of all policy exemptions associated with the specified resource in\n * the given resource group and subscription that match the optional given $filter. Valid values for\n * $filter are: 'atScope()', 'atExactScope()', 'excludeExpired()' or 'policyAssignmentId eq '{value}''.\n * If $filter is not provided, the unfiltered list includes all policy exemptions associated with the\n * resource, including those that apply directly or from all containing scopes, as well as any applied\n * to resources contained within the resource. Three parameters plus the resource name are used to\n * identify a specific resource. If the resource is not part of a parent resource (the more common\n * case), the parent resource path should not be provided (or provided as ''). For example a web app\n * could be specified as ({resourceProviderNamespace} == 'Microsoft.Web', {parentResourcePath} == '',\n * {resourceType} == 'sites', {resourceName} == 'MyWebApp'). If the resource is part of a parent\n * resource, then all parameters should be provided. For example a virtual machine DNS name could be\n * specified as ({resourceProviderNamespace} == 'Microsoft.Compute', {parentResourcePath} ==\n * 'virtualMachines/MyVirtualMachine', {resourceType} == 'domainNames', {resourceName} ==\n * 'MyComputerName'). A convenient alternative to providing the namespace and type name separately is\n * to provide both in the {resourceType} parameter, format: ({resourceProviderNamespace} == '',\n * {parentResourcePath} == '', {resourceType} == 'Microsoft.Web/sites', {resourceName} == 'MyWebApp').\n * @param resourceGroupName The name of the resource group containing the resource.\n * @param resourceProviderNamespace The namespace of the resource provider. For example, the namespace\n * of a virtual machine is Microsoft.Compute (from Microsoft.Compute/virtualMachines)\n * @param parentResourcePath The parent resource path. Use empty string if there is none.\n * @param resourceType The resource type name. For example the type name of a web app is 'sites' (from\n * Microsoft.Web/sites).\n * @param resourceName The name of the resource.\n * @param options The options parameters.\n */\n private _listForResource(\n resourceGroupName: string,\n resourceProviderNamespace: string,\n parentResourcePath: string,\n resourceType: string,\n resourceName: string,\n options?: PolicyExemptionsListForResourceOptionalParams\n ): Promise<PolicyExemptionsListForResourceResponse> {\n return this.client.sendOperationRequest(\n {\n resourceGroupName,\n resourceProviderNamespace,\n parentResourcePath,\n resourceType,\n resourceName,\n options\n },\n listForResourceOperationSpec\n );\n }\n\n /**\n * This operation retrieves the list of all policy exemptions applicable to the management group that\n * match the given $filter. Valid values for $filter are: 'atScope()', 'atExactScope()',\n * 'excludeExpired()' or 'policyAssignmentId eq '{value}''. If $filter=atScope() is provided, the\n * returned list includes all policy exemptions that are assigned to the management group or the\n * management group's ancestors.\n * @param managementGroupId The ID of the management group.\n * @param options The options parameters.\n */\n private _listForManagementGroup(\n managementGroupId: string,\n options?: PolicyExemptionsListForManagementGroupOptionalParams\n ): Promise<PolicyExemptionsListForManagementGroupResponse> {\n return this.client.sendOperationRequest(\n { managementGroupId, options },\n listForManagementGroupOperationSpec\n );\n }\n\n /**\n * ListNext\n * @param nextLink The nextLink from the previous successful call to the List method.\n * @param options The options parameters.\n */\n private _listNext(\n nextLink: string,\n options?: PolicyExemptionsListNextOptionalParams\n ): Promise<PolicyExemptionsListNextResponse> {\n return this.client.sendOperationRequest(\n { nextLink, options },\n listNextOperationSpec\n );\n }\n\n /**\n * ListForResourceGroupNext\n * @param resourceGroupName The name of the resource group containing the resource.\n * @param nextLink The nextLink from the previous successful call to the ListForResourceGroup method.\n * @param options The options parameters.\n */\n private _listForResourceGroupNext(\n resourceGroupName: string,\n nextLink: string,\n options?: PolicyExemptionsListForResourceGroupNextOptionalParams\n ): Promise<PolicyExemptionsListForResourceGroupNextResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, nextLink, options },\n listForResourceGroupNextOperationSpec\n );\n }\n\n /**\n * ListForResourceNext\n * @param resourceGroupName The name of the resource group containing the resource.\n * @param resourceProviderNamespace The namespace of the resource provider. For example, the namespace\n * of a virtual machine is Microsoft.Compute (from Microsoft.Compute/virtualMachines)\n * @param parentResourcePath The parent resource path. Use empty string if there is none.\n * @param resourceType The resource type name. For example the type name of a web app is 'sites' (from\n * Microsoft.Web/sites).\n * @param resourceName The name of the resource.\n * @param nextLink The nextLink from the previous successful call to the ListForResource method.\n * @param options The options parameters.\n */\n private _listForResourceNext(\n resourceGroupName: string,\n resourceProviderNamespace: string,\n parentResourcePath: string,\n resourceType: string,\n resourceName: string,\n nextLink: string,\n options?: PolicyExemptionsListForResourceNextOptionalParams\n ): Promise<PolicyExemptionsListForResourceNextResponse> {\n return this.client.sendOperationRequest(\n {\n resourceGroupName,\n resourceProviderNamespace,\n parentResourcePath,\n resourceType,\n resourceName,\n nextLink,\n options\n },\n listForResourceNextOperationSpec\n );\n }\n\n /**\n * ListForManagementGroupNext\n * @param managementGroupId The ID of the management group.\n * @param nextLink The nextLink from the previous successful call to the ListForManagementGroup method.\n * @param options The options parameters.\n */\n private _listForManagementGroupNext(\n managementGroupId: string,\n nextLink: string,\n options?: PolicyExemptionsListForManagementGroupNextOptionalParams\n ): Promise<PolicyExemptionsListForManagementGroupNextResponse> {\n return this.client.sendOperationRequest(\n { managementGroupId, nextLink, options },\n listForManagementGroupNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst deleteOperationSpec: coreClient.OperationSpec = {\n path:\n \"/{scope}/providers/Microsoft.Authorization/policyExemptions/{policyExemptionName}\",\n httpMethod: \"DELETE\",\n responses: {\n 200: {},\n 204: {},\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.apiVersion2],\n urlParameters: [\n Parameters.$host,\n Parameters.scope,\n Parameters.policyExemptionName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst createOrUpdateOperationSpec: coreClient.OperationSpec = {\n path:\n \"/{scope}/providers/Microsoft.Authorization/policyExemptions/{policyExemptionName}\",\n httpMethod: \"PUT\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicyExemption\n },\n 201: {\n bodyMapper: Mappers.PolicyExemption\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n requestBody: Parameters.parameters4,\n queryParameters: [Parameters.apiVersion2],\n urlParameters: [\n Parameters.$host,\n Parameters.scope,\n Parameters.policyExemptionName\n ],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst getOperationSpec: coreClient.OperationSpec = {\n path:\n \"/{scope}/providers/Microsoft.Authorization/policyExemptions/{policyExemptionName}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicyExemption\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.apiVersion2],\n urlParameters: [\n Parameters.$host,\n Parameters.scope,\n Parameters.policyExemptionName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyExemptions\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicyExemptionListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.filter, Parameters.apiVersion2],\n urlParameters: [Parameters.$host, Parameters.subscriptionId],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listForResourceGroupOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/policyExemptions\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicyExemptionListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.filter, Parameters.apiVersion2],\n urlParameters: [\n Parameters.$host,\n Parameters.resourceGroupName,\n Parameters.subscriptionId\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listForResourceOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/policyExemptions\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicyExemptionListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.filter, Parameters.apiVersion2],\n urlParameters: [\n Parameters.$host,\n Parameters.resourceGroupName,\n Parameters.subscriptionId,\n Parameters.resourceProviderNamespace,\n Parameters.parentResourcePath,\n Parameters.resourceType,\n Parameters.resourceName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listForManagementGroupOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Authorization/policyExemptions\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicyExemptionListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.filter, Parameters.apiVersion2],\n urlParameters: [Parameters.$host, Parameters.managementGroupId],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicyExemptionListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.filter, Parameters.apiVersion2],\n urlParameters: [\n Parameters.$host,\n Parameters.nextLink,\n Parameters.subscriptionId\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listForResourceGroupNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicyExemptionListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.filter, Parameters.apiVersion2],\n urlParameters: [\n Parameters.$host,\n Parameters.nextLink,\n Parameters.resourceGroupName,\n Parameters.subscriptionId\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listForResourceNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicyExemptionListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.filter, Parameters.apiVersion2],\n urlParameters: [\n Parameters.$host,\n Parameters.nextLink,\n Parameters.resourceGroupName,\n Parameters.subscriptionId,\n Parameters.resourceProviderNamespace,\n Parameters.parentResourcePath,\n Parameters.resourceType,\n Parameters.resourceName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listForManagementGroupNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicyExemptionListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.filter, Parameters.apiVersion2],\n urlParameters: [\n Parameters.$host,\n Parameters.nextLink,\n Parameters.managementGroupId\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreClient from \"@azure/core-client\";\nimport * as coreAuth from \"@azure/core-auth\";\nimport { PolicyClientOptionalParams } from \"./models\";\n\nexport class PolicyClientContext extends coreClient.ServiceClient {\n $host: string;\n subscriptionId: string;\n\n /**\n * Initializes a new instance of the PolicyClientContext class.\n * @param credentials Subscription credentials which uniquely identify client subscription.\n * @param subscriptionId The ID of the target subscription.\n * @param options The parameter options\n */\n constructor(\n credentials: coreAuth.TokenCredential,\n subscriptionId: string,\n options?: PolicyClientOptionalParams\n ) {\n if (credentials === undefined) {\n throw new Error(\"'credentials' cannot be null\");\n }\n if (subscriptionId === undefined) {\n throw new Error(\"'subscriptionId' cannot be null\");\n }\n\n // Initializing default values for options\n if (!options) {\n options = {};\n }\n const defaults: PolicyClientOptionalParams = {\n requestContentType: \"application/json; charset=utf-8\",\n credential: credentials\n };\n\n const packageDetails = `azsdk-js-arm-policy/5.0.0-beta.2`;\n const userAgentPrefix =\n options.userAgentOptions && options.userAgentOptions.userAgentPrefix\n ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}`\n : `${packageDetails}`;\n\n if (!options.credentialScopes) {\n options.credentialScopes = [\"https://management.azure.com/.default\"];\n }\n const optionsWithDefaults = {\n ...defaults,\n ...options,\n userAgentOptions: {\n userAgentPrefix\n },\n baseUri: options.endpoint || \"https://management.azure.com\"\n };\n super(optionsWithDefaults);\n // Parameter assignments\n this.subscriptionId = subscriptionId;\n\n // Assigning values to Constant parameters\n this.$host = options.$host || \"https://management.azure.com\";\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreAuth from \"@azure/core-auth\";\nimport {\n DataPolicyManifestsImpl,\n PolicyAssignmentsImpl,\n PolicyDefinitionsImpl,\n PolicySetDefinitionsImpl,\n PolicyExemptionsImpl\n} from \"./operations\";\nimport {\n DataPolicyManifests,\n PolicyAssignments,\n PolicyDefinitions,\n PolicySetDefinitions,\n PolicyExemptions\n} from \"./operationsInterfaces\";\nimport { PolicyClientContext } from \"./policyClientContext\";\nimport { PolicyClientOptionalParams } from \"./models\";\n\nexport class PolicyClient extends PolicyClientContext {\n /**\n * Initializes a new instance of the PolicyClient class.\n * @param credentials Subscription credentials which uniquely identify client subscription.\n * @param subscriptionId The ID of the target subscription.\n * @param options The parameter options\n */\n constructor(\n credentials: coreAuth.TokenCredential,\n subscriptionId: string,\n options?: PolicyClientOptionalParams\n ) {\n super(credentials, subscriptionId, options);\n this.dataPolicyManifests = new DataPolicyManifestsImpl(this);\n this.policyAssignments = new PolicyAssignmentsImpl(this);\n this.policyDefinitions = new PolicyDefinitionsImpl(this);\n this.policySetDefinitions = new PolicySetDefinitionsImpl(this);\n this.policyExemptions = new PolicyExemptionsImpl(this);\n }\n\n dataPolicyManifests: DataPolicyManifests;\n policyAssignments: PolicyAssignments;\n policyDefinitions: PolicyDefinitions;\n policySetDefinitions: PolicySetDefinitions;\n policyExemptions: PolicyExemptions;\n}\n"],"names":["KnownAliasPathTokenType","KnownAliasPathAttributes","KnownEnforcementMode","KnownCreatedByType","KnownPolicyType","KnownParameterType","KnownExemptionCategory","PolicyAssignmentMapper","PolicyAssignmentUpdateMapper","PolicyDefinitionMapper","PolicySetDefinitionMapper","PolicyExemptionMapper","__asyncValues","__asyncDelegator","coreClient.createSerializer","Mappers.DataPolicyManifest","Mappers.CloudError","Parameters.apiVersion","Parameters.$host","Parameters.policyMode","Parameters.accept","Mappers.DataPolicyManifestListResult","Parameters.filter","Parameters.nextLink","listOperationSpec","listNextOperationSpec","serializer","Mappers.PolicyAssignment","Parameters.apiVersion1","Parameters.scope","Parameters.policyAssignmentName","Parameters.parameters","Parameters.contentType","Parameters.parameters1","Mappers.PolicyAssignmentListResult","Parameters.top","Parameters.resourceGroupName","Parameters.subscriptionId","Parameters.resourceProviderNamespace","Parameters.parentResourcePath","Parameters.resourceType","Parameters.resourceName","Parameters.managementGroupId","Parameters.policyAssignmentId","deleteOperationSpec","getOperationSpec","Mappers.PolicyDefinition","Parameters.parameters2","Parameters.policyDefinitionName","Mappers.PolicyDefinitionListResult","createOrUpdateOperationSpec","getBuiltInOperationSpec","listBuiltInOperationSpec","createOrUpdateAtManagementGroupOperationSpec","deleteAtManagementGroupOperationSpec","getAtManagementGroupOperationSpec","listByManagementGroupOperationSpec","listBuiltInNextOperationSpec","listByManagementGroupNextOperationSpec","Mappers.PolicySetDefinition","Parameters.parameters3","Parameters.policySetDefinitionName","Mappers.PolicySetDefinitionListResult","listForResourceGroupOperationSpec","listForResourceOperationSpec","listForManagementGroupOperationSpec","listForResourceGroupNextOperationSpec","listForResourceNextOperationSpec","listForManagementGroupNextOperationSpec","Parameters.apiVersion2","Parameters.policyExemptionName","Mappers.PolicyExemption","Parameters.parameters4","Mappers.PolicyExemptionListResult","coreClient.ServiceClient"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/models/index.ts","../src/models/mappers.ts","../src/models/parameters.ts","../src/operations/dataPolicyManifests.ts","../src/operations/policyAssignments.ts","../src/operations/policyDefinitions.ts","../src/operations/policySetDefinitions.ts","../src/operations/policyExemptions.ts","../src/policyClient.ts"],"sourcesContent":["/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreClient from \"@azure/core-client\";\n\n/** The data policy manifest. */\nexport interface DataPolicyManifest {\n /**\n * The ID of the data policy manifest.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly id?: string;\n /**\n * The name of the data policy manifest (it's the same as the Policy Mode).\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly name?: string;\n /**\n * The type of the resource (Microsoft.Authorization/dataPolicyManifests).\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly type?: string;\n /** The list of namespaces for the data policy manifest. */\n namespaces?: string[];\n /** The policy mode of the data policy manifest. */\n policyMode?: string;\n /** A value indicating whether policy mode is allowed only in built-in definitions. */\n isBuiltInOnly?: boolean;\n /** An array of resource type aliases. */\n resourceTypeAliases?: ResourceTypeAliases[];\n /** The effect definition. */\n effects?: DataEffect[];\n /** The non-alias field accessor values that can be used in the policy rule. */\n fieldValues?: string[];\n /** The standard resource functions (subscription and/or resourceGroup). */\n standard?: string[];\n /** An array of data manifest custom resource definition. */\n custom?: DataManifestCustomResourceFunctionDefinition[];\n}\n\n/** The resource type aliases definition. */\nexport interface ResourceTypeAliases {\n /** The resource type name. */\n resourceType?: string;\n /** The aliases for property names. */\n aliases?: Alias[];\n}\n\n/** The alias type. */\nexport interface Alias {\n /** The alias name. */\n name?: string;\n /** The paths for an alias. */\n paths?: AliasPath[];\n /** The type of the alias. */\n type?: AliasType;\n /** The default path for an alias. */\n defaultPath?: string;\n /** The default pattern for an alias. */\n defaultPattern?: AliasPattern;\n /**\n * The default alias path metadata. Applies to the default path and to any alias path that doesn't have metadata\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly defaultMetadata?: AliasPathMetadata;\n}\n\n/** The type of the paths for alias. */\nexport interface AliasPath {\n /** The path of an alias. */\n path?: string;\n /** The API versions. */\n apiVersions?: string[];\n /** The pattern for an alias path. */\n pattern?: AliasPattern;\n /**\n * The metadata of the alias path. If missing, fall back to the default metadata of the alias.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly metadata?: AliasPathMetadata;\n}\n\n/** The type of the pattern for an alias path. */\nexport interface AliasPattern {\n /** The alias pattern phrase. */\n phrase?: string;\n /** The alias pattern variable. */\n variable?: string;\n /** The type of alias pattern */\n type?: AliasPatternType;\n}\n\nexport interface AliasPathMetadata {\n /**\n * The type of the token that the alias path is referring to.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly type?: AliasPathTokenType;\n /**\n * The attributes of the token that the alias path is referring to.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly attributes?: AliasPathAttributes;\n}\n\n/** The data effect definition. */\nexport interface DataEffect {\n /** The data effect name. */\n name?: string;\n /** The data effect details schema. */\n detailsSchema?: Record<string, unknown>;\n}\n\n/** The custom resource function definition. */\nexport interface DataManifestCustomResourceFunctionDefinition {\n /** The function name as it will appear in the policy rule. eg - 'vault'. */\n name?: string;\n /** The fully qualified control plane resource type that this function represents. eg - 'Microsoft.KeyVault/vaults'. */\n fullyQualifiedResourceType?: string;\n /** The top-level properties that can be selected on the function's output. eg - [ \"name\", \"location\" ] if vault().name and vault().location are supported */\n defaultProperties?: string[];\n /** A value indicating whether the custom properties within the property bag are allowed. Needs api-version to be specified in the policy rule eg - vault('2019-06-01'). */\n allowCustomProperties?: boolean;\n}\n\n/** An error response from a policy operation. */\nexport interface CloudError {\n /** Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.) */\n error?: ErrorResponse;\n}\n\n/** Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.) */\nexport interface ErrorResponse {\n /**\n * The error code.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly code?: string;\n /**\n * The error message.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly message?: string;\n /**\n * The error target.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly target?: string;\n /**\n * The error details.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly details?: ErrorResponse[];\n /**\n * The error additional info.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly additionalInfo?: ErrorAdditionalInfo[];\n}\n\n/** The resource management error additional info. */\nexport interface ErrorAdditionalInfo {\n /**\n * The additional info type.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly type?: string;\n /**\n * The additional info.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly info?: Record<string, unknown>;\n}\n\n/** List of data policy manifests. */\nexport interface DataPolicyManifestListResult {\n /** An array of data policy manifests. */\n value?: DataPolicyManifest[];\n /** The URL to use for getting the next set of results. */\n nextLink?: string;\n}\n\n/** The policy assignment. */\nexport interface PolicyAssignment {\n /**\n * The ID of the policy assignment.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly id?: string;\n /**\n * The type of the policy assignment.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly type?: string;\n /**\n * The name of the policy assignment.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly name?: string;\n /** The location of the policy assignment. Only required when utilizing managed identity. */\n location?: string;\n /** The managed identity associated with the policy assignment. */\n identity?: Identity;\n /**\n * The system metadata relating to this resource.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly systemData?: SystemData;\n /** The display name of the policy assignment. */\n displayName?: string;\n /** The ID of the policy definition or policy set definition being assigned. */\n policyDefinitionId?: string;\n /**\n * The scope for the policy assignment.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly scope?: string;\n /** The policy's excluded scopes. */\n notScopes?: string[];\n /** The parameter values for the assigned policy rule. The keys are the parameter names. */\n parameters?: { [propertyName: string]: ParameterValuesValue };\n /** This message will be part of response in case of policy violation. */\n description?: string;\n /** The policy assignment metadata. Metadata is an open ended object and is typically a collection of key value pairs. */\n metadata?: Record<string, unknown>;\n /** The policy assignment enforcement mode. Possible values are Default and DoNotEnforce. */\n enforcementMode?: EnforcementMode;\n /** The messages that describe why a resource is non-compliant with the policy. */\n nonComplianceMessages?: NonComplianceMessage[];\n}\n\n/** The value of a parameter. */\nexport interface ParameterValuesValue {\n /** The value of the parameter. */\n value?: Record<string, unknown>;\n}\n\n/** A message that describes why a resource is non-compliant with the policy. This is shown in 'deny' error messages and on resource's non-compliant compliance results. */\nexport interface NonComplianceMessage {\n /** A message that describes why a resource is non-compliant with the policy. This is shown in 'deny' error messages and on resource's non-compliant compliance results. */\n message: string;\n /** The policy definition reference ID within a policy set definition the message is intended for. This is only applicable if the policy assignment assigns a policy set definition. If this is not provided the message applies to all policies assigned by this policy assignment. */\n policyDefinitionReferenceId?: string;\n}\n\n/** Identity for the resource. Policy assignments support a maximum of one identity. That is either a system assigned identity or a single user assigned identity. */\nexport interface Identity {\n /**\n * The principal ID of the resource identity. This property will only be provided for a system assigned identity\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly principalId?: string;\n /**\n * The tenant ID of the resource identity. This property will only be provided for a system assigned identity\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly tenantId?: string;\n /** The identity type. This is the only required field when adding a system or user assigned identity to a resource. */\n type?: ResourceIdentityType;\n /** The user identity associated with the policy. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. */\n userAssignedIdentities?: {\n [propertyName: string]: UserAssignedIdentitiesValue;\n };\n}\n\nexport interface UserAssignedIdentitiesValue {\n /**\n * The principal id of user assigned identity.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly principalId?: string;\n /**\n * The client id of user assigned identity.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly clientId?: string;\n}\n\n/** Metadata pertaining to creation and last modification of the resource. */\nexport interface SystemData {\n /** The identity that created the resource. */\n createdBy?: string;\n /** The type of identity that created the resource. */\n createdByType?: CreatedByType;\n /** The timestamp of resource creation (UTC). */\n createdAt?: Date;\n /** The identity that last modified the resource. */\n lastModifiedBy?: string;\n /** The type of identity that last modified the resource. */\n lastModifiedByType?: CreatedByType;\n /** The timestamp of resource last modification (UTC) */\n lastModifiedAt?: Date;\n}\n\nexport interface PolicyAssignmentUpdate {\n /** The location of the policy assignment. Only required when utilizing managed identity. */\n location?: string;\n /** The managed identity associated with the policy assignment. */\n identity?: Identity;\n}\n\n/** List of policy assignments. */\nexport interface PolicyAssignmentListResult {\n /** An array of policy assignments. */\n value?: PolicyAssignment[];\n /** The URL to use for getting the next set of results. */\n nextLink?: string;\n}\n\n/** The policy definition. */\nexport interface PolicyDefinition {\n /**\n * The ID of the policy definition.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly id?: string;\n /**\n * The name of the policy definition.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly name?: string;\n /**\n * The type of the resource (Microsoft.Authorization/policyDefinitions).\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly type?: string;\n /**\n * The system metadata relating to this resource.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly systemData?: SystemData;\n /** The type of policy definition. Possible values are NotSpecified, BuiltIn, Custom, and Static. */\n policyType?: PolicyType;\n /** The policy definition mode. Some examples are All, Indexed, Microsoft.KeyVault.Data. */\n mode?: string;\n /** The display name of the policy definition. */\n displayName?: string;\n /** The policy definition description. */\n description?: string;\n /** The policy rule. */\n policyRule?: Record<string, unknown>;\n /** The policy definition metadata. Metadata is an open ended object and is typically a collection of key value pairs. */\n metadata?: Record<string, unknown>;\n /** The parameter definitions for parameters used in the policy rule. The keys are the parameter names. */\n parameters?: { [propertyName: string]: ParameterDefinitionsValue };\n}\n\n/** The definition of a parameter that can be provided to the policy. */\nexport interface ParameterDefinitionsValue {\n /** The data type of the parameter. */\n type?: ParameterType;\n /** The allowed values for the parameter. */\n allowedValues?: Record<string, unknown>[];\n /** The default value for the parameter if no value is provided. */\n defaultValue?: Record<string, unknown>;\n /** General metadata for the parameter. */\n metadata?: ParameterDefinitionsValueMetadata;\n}\n\n/** General metadata for the parameter. */\nexport interface ParameterDefinitionsValueMetadata {\n /** Describes unknown properties. The value of an unknown property can be of \"any\" type. */\n [property: string]: any;\n /** The display name for the parameter. */\n displayName?: string;\n /** The description of the parameter. */\n description?: string;\n /** Used when assigning the policy definition through the portal. Provides a context aware list of values for the user to choose from. */\n strongType?: string;\n /** Set to true to have Azure portal create role assignments on the resource ID or resource scope value of this parameter during policy assignment. This property is useful in case you wish to assign permissions outside the assignment scope. */\n assignPermissions?: boolean;\n}\n\n/** List of policy definitions. */\nexport interface PolicyDefinitionListResult {\n /** An array of policy definitions. */\n value?: PolicyDefinition[];\n /** The URL to use for getting the next set of results. */\n nextLink?: string;\n}\n\n/** The policy set definition. */\nexport interface PolicySetDefinition {\n /**\n * The ID of the policy set definition.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly id?: string;\n /**\n * The name of the policy set definition.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly name?: string;\n /**\n * The type of the resource (Microsoft.Authorization/policySetDefinitions).\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly type?: string;\n /**\n * The system metadata relating to this resource.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly systemData?: SystemData;\n /** The type of policy definition. Possible values are NotSpecified, BuiltIn, Custom, and Static. */\n policyType?: PolicyType;\n /** The display name of the policy set definition. */\n displayName?: string;\n /** The policy set definition description. */\n description?: string;\n /** The policy set definition metadata. Metadata is an open ended object and is typically a collection of key value pairs. */\n metadata?: Record<string, unknown>;\n /** The policy set definition parameters that can be used in policy definition references. */\n parameters?: { [propertyName: string]: ParameterDefinitionsValue };\n /** An array of policy definition references. */\n policyDefinitions?: PolicyDefinitionReference[];\n /** The metadata describing groups of policy definition references within the policy set definition. */\n policyDefinitionGroups?: PolicyDefinitionGroup[];\n}\n\n/** The policy definition reference. */\nexport interface PolicyDefinitionReference {\n /** The ID of the policy definition or policy set definition. */\n policyDefinitionId: string;\n /** The parameter values for the referenced policy rule. The keys are the parameter names. */\n parameters?: { [propertyName: string]: ParameterValuesValue };\n /** A unique id (within the policy set definition) for this policy definition reference. */\n policyDefinitionReferenceId?: string;\n /** The name of the groups that this policy definition reference belongs to. */\n groupNames?: string[];\n}\n\n/** The policy definition group. */\nexport interface PolicyDefinitionGroup {\n /** The name of the group. */\n name: string;\n /** The group's display name. */\n displayName?: string;\n /** The group's category. */\n category?: string;\n /** The group's description. */\n description?: string;\n /** A resource ID of a resource that contains additional metadata about the group. */\n additionalMetadataId?: string;\n}\n\n/** List of policy set definitions. */\nexport interface PolicySetDefinitionListResult {\n /** An array of policy set definitions. */\n value?: PolicySetDefinition[];\n /** The URL to use for getting the next set of results. */\n nextLink?: string;\n}\n\n/** The policy exemption. */\nexport interface PolicyExemption {\n /**\n * Azure Resource Manager metadata containing createdBy and modifiedBy information.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly systemData?: SystemData;\n /**\n * The ID of the policy exemption.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly id?: string;\n /**\n * The name of the policy exemption.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly name?: string;\n /**\n * The type of the resource (Microsoft.Authorization/policyExemptions).\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly type?: string;\n /** The ID of the policy assignment that is being exempted. */\n policyAssignmentId: string;\n /** The policy definition reference ID list when the associated policy assignment is an assignment of a policy set definition. */\n policyDefinitionReferenceIds?: string[];\n /** The policy exemption category. Possible values are Waiver and Mitigated. */\n exemptionCategory: ExemptionCategory;\n /** The expiration date and time (in UTC ISO 8601 format yyyy-MM-ddTHH:mm:ssZ) of the policy exemption. */\n expiresOn?: Date;\n /** The display name of the policy exemption. */\n displayName?: string;\n /** The description of the policy exemption. */\n description?: string;\n /** The policy exemption metadata. Metadata is an open ended object and is typically a collection of key value pairs. */\n metadata?: Record<string, unknown>;\n}\n\n/** List of policy exemptions. */\nexport interface PolicyExemptionListResult {\n /** An array of policy exemptions. */\n value?: PolicyExemption[];\n /**\n * The URL to use for getting the next set of results.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly nextLink?: string;\n}\n\n/** Known values of {@link AliasPathTokenType} that the service accepts. */\nexport enum KnownAliasPathTokenType {\n /** The token type is not specified. */\n NotSpecified = \"NotSpecified\",\n /** The token type can be anything. */\n Any = \"Any\",\n /** The token type is string. */\n String = \"String\",\n /** The token type is object. */\n Object = \"Object\",\n /** The token type is array. */\n Array = \"Array\",\n /** The token type is integer. */\n Integer = \"Integer\",\n /** The token type is number. */\n Number = \"Number\",\n /** The token type is boolean. */\n Boolean = \"Boolean\"\n}\n\n/**\n * Defines values for AliasPathTokenType. \\\n * {@link KnownAliasPathTokenType} can be used interchangeably with AliasPathTokenType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **NotSpecified**: The token type is not specified. \\\n * **Any**: The token type can be anything. \\\n * **String**: The token type is string. \\\n * **Object**: The token type is object. \\\n * **Array**: The token type is array. \\\n * **Integer**: The token type is integer. \\\n * **Number**: The token type is number. \\\n * **Boolean**: The token type is boolean.\n */\nexport type AliasPathTokenType = string;\n\n/** Known values of {@link AliasPathAttributes} that the service accepts. */\nexport enum KnownAliasPathAttributes {\n /** The token that the alias path is referring to has no attributes. */\n None = \"None\",\n /** The token that the alias path is referring to is modifiable by policies with 'modify' effect. */\n Modifiable = \"Modifiable\"\n}\n\n/**\n * Defines values for AliasPathAttributes. \\\n * {@link KnownAliasPathAttributes} can be used interchangeably with AliasPathAttributes,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **None**: The token that the alias path is referring to has no attributes. \\\n * **Modifiable**: The token that the alias path is referring to is modifiable by policies with 'modify' effect.\n */\nexport type AliasPathAttributes = string;\n\n/** Known values of {@link EnforcementMode} that the service accepts. */\nexport enum KnownEnforcementMode {\n /** The policy effect is enforced during resource creation or update. */\n Default = \"Default\",\n /** The policy effect is not enforced during resource creation or update. */\n DoNotEnforce = \"DoNotEnforce\"\n}\n\n/**\n * Defines values for EnforcementMode. \\\n * {@link KnownEnforcementMode} can be used interchangeably with EnforcementMode,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Default**: The policy effect is enforced during resource creation or update. \\\n * **DoNotEnforce**: The policy effect is not enforced during resource creation or update.\n */\nexport type EnforcementMode = string;\n\n/** Known values of {@link CreatedByType} that the service accepts. */\nexport enum KnownCreatedByType {\n User = \"User\",\n Application = \"Application\",\n ManagedIdentity = \"ManagedIdentity\",\n Key = \"Key\"\n}\n\n/**\n * Defines values for CreatedByType. \\\n * {@link KnownCreatedByType} can be used interchangeably with CreatedByType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **User** \\\n * **Application** \\\n * **ManagedIdentity** \\\n * **Key**\n */\nexport type CreatedByType = string;\n\n/** Known values of {@link PolicyType} that the service accepts. */\nexport enum KnownPolicyType {\n NotSpecified = \"NotSpecified\",\n BuiltIn = \"BuiltIn\",\n Custom = \"Custom\",\n Static = \"Static\"\n}\n\n/**\n * Defines values for PolicyType. \\\n * {@link KnownPolicyType} can be used interchangeably with PolicyType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **NotSpecified** \\\n * **BuiltIn** \\\n * **Custom** \\\n * **Static**\n */\nexport type PolicyType = string;\n\n/** Known values of {@link ParameterType} that the service accepts. */\nexport enum KnownParameterType {\n String = \"String\",\n Array = \"Array\",\n Object = \"Object\",\n Boolean = \"Boolean\",\n Integer = \"Integer\",\n Float = \"Float\",\n DateTime = \"DateTime\"\n}\n\n/**\n * Defines values for ParameterType. \\\n * {@link KnownParameterType} can be used interchangeably with ParameterType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **String** \\\n * **Array** \\\n * **Object** \\\n * **Boolean** \\\n * **Integer** \\\n * **Float** \\\n * **DateTime**\n */\nexport type ParameterType = string;\n\n/** Known values of {@link ExemptionCategory} that the service accepts. */\nexport enum KnownExemptionCategory {\n /** This category of exemptions usually means the scope is not applicable for the policy. */\n Waiver = \"Waiver\",\n /** This category of exemptions usually means the mitigation actions have been applied to the scope. */\n Mitigated = \"Mitigated\"\n}\n\n/**\n * Defines values for ExemptionCategory. \\\n * {@link KnownExemptionCategory} can be used interchangeably with ExemptionCategory,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Waiver**: This category of exemptions usually means the scope is not applicable for the policy. \\\n * **Mitigated**: This category of exemptions usually means the mitigation actions have been applied to the scope.\n */\nexport type ExemptionCategory = string;\n/** Defines values for AliasPatternType. */\nexport type AliasPatternType = \"NotSpecified\" | \"Extract\";\n/** Defines values for AliasType. */\nexport type AliasType = \"NotSpecified\" | \"PlainText\" | \"Mask\";\n/** Defines values for ResourceIdentityType. */\nexport type ResourceIdentityType = \"SystemAssigned\" | \"UserAssigned\" | \"None\";\n\n/** Optional parameters. */\nexport interface DataPolicyManifestsGetByPolicyModeOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the getByPolicyMode operation. */\nexport type DataPolicyManifestsGetByPolicyModeResponse = DataPolicyManifest;\n\n/** Optional parameters. */\nexport interface DataPolicyManifestsListOptionalParams\n extends coreClient.OperationOptions {\n /** The filter to apply on the operation. Valid values for $filter are: \"namespace eq '{value}'\". If $filter is not provided, no filtering is performed. If $filter=namespace eq '{value}' is provided, the returned list only includes all data policy manifests that have a namespace matching the provided value. */\n filter?: string;\n}\n\n/** Contains response data for the list operation. */\nexport type DataPolicyManifestsListResponse = DataPolicyManifestListResult;\n\n/** Optional parameters. */\nexport interface DataPolicyManifestsListNextOptionalParams\n extends coreClient.OperationOptions {\n /** The filter to apply on the operation. Valid values for $filter are: \"namespace eq '{value}'\". If $filter is not provided, no filtering is performed. If $filter=namespace eq '{value}' is provided, the returned list only includes all data policy manifests that have a namespace matching the provided value. */\n filter?: string;\n}\n\n/** Contains response data for the listNext operation. */\nexport type DataPolicyManifestsListNextResponse = DataPolicyManifestListResult;\n\n/** Optional parameters. */\nexport interface PolicyAssignmentsDeleteOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the delete operation. */\nexport type PolicyAssignmentsDeleteResponse = PolicyAssignment;\n\n/** Optional parameters. */\nexport interface PolicyAssignmentsCreateOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the create operation. */\nexport type PolicyAssignmentsCreateResponse = PolicyAssignment;\n\n/** Optional parameters. */\nexport interface PolicyAssignmentsGetOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the get operation. */\nexport type PolicyAssignmentsGetResponse = PolicyAssignment;\n\n/** Optional parameters. */\nexport interface PolicyAssignmentsUpdateOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the update operation. */\nexport type PolicyAssignmentsUpdateResponse = PolicyAssignment;\n\n/** Optional parameters. */\nexport interface PolicyAssignmentsListForResourceGroupOptionalParams\n extends coreClient.OperationOptions {\n /** The filter to apply on the operation. Valid values for $filter are: 'atScope()', 'atExactScope()' or 'policyDefinitionId eq '{value}''. If $filter is not provided, no filtering is performed. If $filter=atScope() is provided, the returned list only includes all policy assignments that apply to the scope, which is everything in the unfiltered list except those applied to sub scopes contained within the given scope. If $filter=atExactScope() is provided, the returned list only includes all policy assignments that at the given scope. If $filter=policyDefinitionId eq '{value}' is provided, the returned list includes all policy assignments of the policy definition whose id is {value}. */\n filter?: string;\n /** Maximum number of records to return. When the $top filter is not provided, it will return 500 records. */\n top?: number;\n}\n\n/** Contains response data for the listForResourceGroup operation. */\nexport type PolicyAssignmentsListForResourceGroupResponse = PolicyAssignmentListResult;\n\n/** Optional parameters. */\nexport interface PolicyAssignmentsListForResourceOptionalParams\n extends coreClient.OperationOptions {\n /** The filter to apply on the operation. Valid values for $filter are: 'atScope()', 'atExactScope()' or 'policyDefinitionId eq '{value}''. If $filter is not provided, no filtering is performed. If $filter=atScope() is provided, the returned list only includes all policy assignments that apply to the scope, which is everything in the unfiltered list except those applied to sub scopes contained within the given scope. If $filter=atExactScope() is provided, the returned list only includes all policy assignments that at the given scope. If $filter=policyDefinitionId eq '{value}' is provided, the returned list includes all policy assignments of the policy definition whose id is {value}. */\n filter?: string;\n /** Maximum number of records to return. When the $top filter is not provided, it will return 500 records. */\n top?: number;\n}\n\n/** Contains response data for the listForResource operation. */\nexport type PolicyAssignmentsListForResourceResponse = PolicyAssignmentListResult;\n\n/** Optional parameters. */\nexport interface PolicyAssignmentsListForManagementGroupOptionalParams\n extends coreClient.OperationOptions {\n /** The filter to apply on the operation. Valid values for $filter are: 'atScope()', 'atExactScope()' or 'policyDefinitionId eq '{value}''. If $filter is not provided, no filtering is performed. If $filter=atScope() is provided, the returned list only includes all policy assignments that apply to the scope, which is everything in the unfiltered list except those applied to sub scopes contained within the given scope. If $filter=atExactScope() is provided, the returned list only includes all policy assignments that at the given scope. If $filter=policyDefinitionId eq '{value}' is provided, the returned list includes all policy assignments of the policy definition whose id is {value}. */\n filter?: string;\n /** Maximum number of records to return. When the $top filter is not provided, it will return 500 records. */\n top?: number;\n}\n\n/** Contains response data for the listForManagementGroup operation. */\nexport type PolicyAssignmentsListForManagementGroupResponse = PolicyAssignmentListResult;\n\n/** Optional parameters. */\nexport interface PolicyAssignmentsListOptionalParams\n extends coreClient.OperationOptions {\n /** The filter to apply on the operation. Valid values for $filter are: 'atScope()', 'atExactScope()' or 'policyDefinitionId eq '{value}''. If $filter is not provided, no filtering is performed. If $filter=atScope() is provided, the returned list only includes all policy assignments that apply to the scope, which is everything in the unfiltered list except those applied to sub scopes contained within the given scope. If $filter=atExactScope() is provided, the returned list only includes all policy assignments that at the given scope. If $filter=policyDefinitionId eq '{value}' is provided, the returned list includes all policy assignments of the policy definition whose id is {value}. */\n filter?: string;\n /** Maximum number of records to return. When the $top filter is not provided, it will return 500 records. */\n top?: number;\n}\n\n/** Contains response data for the list operation. */\nexport type PolicyAssignmentsListResponse = PolicyAssignmentListResult;\n\n/** Optional parameters. */\nexport interface PolicyAssignmentsDeleteByIdOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the deleteById operation. */\nexport type PolicyAssignmentsDeleteByIdResponse = PolicyAssignment;\n\n/** Optional parameters. */\nexport interface PolicyAssignmentsCreateByIdOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the createById operation. */\nexport type PolicyAssignmentsCreateByIdResponse = PolicyAssignment;\n\n/** Optional parameters. */\nexport interface PolicyAssignmentsGetByIdOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the getById operation. */\nexport type PolicyAssignmentsGetByIdResponse = PolicyAssignment;\n\n/** Optional parameters. */\nexport interface PolicyAssignmentsUpdateByIdOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the updateById operation. */\nexport type PolicyAssignmentsUpdateByIdResponse = PolicyAssignment;\n\n/** Optional parameters. */\nexport interface PolicyAssignmentsListForResourceGroupNextOptionalParams\n extends coreClient.OperationOptions {\n /** The filter to apply on the operation. Valid values for $filter are: 'atScope()', 'atExactScope()' or 'policyDefinitionId eq '{value}''. If $filter is not provided, no filtering is performed. If $filter=atScope() is provided, the returned list only includes all policy assignments that apply to the scope, which is everything in the unfiltered list except those applied to sub scopes contained within the given scope. If $filter=atExactScope() is provided, the returned list only includes all policy assignments that at the given scope. If $filter=policyDefinitionId eq '{value}' is provided, the returned list includes all policy assignments of the policy definition whose id is {value}. */\n filter?: string;\n /** Maximum number of records to return. When the $top filter is not provided, it will return 500 records. */\n top?: number;\n}\n\n/** Contains response data for the listForResourceGroupNext operation. */\nexport type PolicyAssignmentsListForResourceGroupNextResponse = PolicyAssignmentListResult;\n\n/** Optional parameters. */\nexport interface PolicyAssignmentsListForResourceNextOptionalParams\n extends coreClient.OperationOptions {\n /** The filter to apply on the operation. Valid values for $filter are: 'atScope()', 'atExactScope()' or 'policyDefinitionId eq '{value}''. If $filter is not provided, no filtering is performed. If $filter=atScope() is provided, the returned list only includes all policy assignments that apply to the scope, which is everything in the unfiltered list except those applied to sub scopes contained within the given scope. If $filter=atExactScope() is provided, the returned list only includes all policy assignments that at the given scope. If $filter=policyDefinitionId eq '{value}' is provided, the returned list includes all policy assignments of the policy definition whose id is {value}. */\n filter?: string;\n /** Maximum number of records to return. When the $top filter is not provided, it will return 500 records. */\n top?: number;\n}\n\n/** Contains response data for the listForResourceNext operation. */\nexport type PolicyAssignmentsListForResourceNextResponse = PolicyAssignmentListResult;\n\n/** Optional parameters. */\nexport interface PolicyAssignmentsListForManagementGroupNextOptionalParams\n extends coreClient.OperationOptions {\n /** The filter to apply on the operation. Valid values for $filter are: 'atScope()', 'atExactScope()' or 'policyDefinitionId eq '{value}''. If $filter is not provided, no filtering is performed. If $filter=atScope() is provided, the returned list only includes all policy assignments that apply to the scope, which is everything in the unfiltered list except those applied to sub scopes contained within the given scope. If $filter=atExactScope() is provided, the returned list only includes all policy assignments that at the given scope. If $filter=policyDefinitionId eq '{value}' is provided, the returned list includes all policy assignments of the policy definition whose id is {value}. */\n filter?: string;\n /** Maximum number of records to return. When the $top filter is not provided, it will return 500 records. */\n top?: number;\n}\n\n/** Contains response data for the listForManagementGroupNext operation. */\nexport type PolicyAssignmentsListForManagementGroupNextResponse = PolicyAssignmentListResult;\n\n/** Optional parameters. */\nexport interface PolicyAssignmentsListNextOptionalParams\n extends coreClient.OperationOptions {\n /** The filter to apply on the operation. Valid values for $filter are: 'atScope()', 'atExactScope()' or 'policyDefinitionId eq '{value}''. If $filter is not provided, no filtering is performed. If $filter=atScope() is provided, the returned list only includes all policy assignments that apply to the scope, which is everything in the unfiltered list except those applied to sub scopes contained within the given scope. If $filter=atExactScope() is provided, the returned list only includes all policy assignments that at the given scope. If $filter=policyDefinitionId eq '{value}' is provided, the returned list includes all policy assignments of the policy definition whose id is {value}. */\n filter?: string;\n /** Maximum number of records to return. When the $top filter is not provided, it will return 500 records. */\n top?: number;\n}\n\n/** Contains response data for the listNext operation. */\nexport type PolicyAssignmentsListNextResponse = PolicyAssignmentListResult;\n\n/** Optional parameters. */\nexport interface PolicyDefinitionsCreateOrUpdateOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the createOrUpdate operation. */\nexport type PolicyDefinitionsCreateOrUpdateResponse = PolicyDefinition;\n\n/** Optional parameters. */\nexport interface PolicyDefinitionsDeleteOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Optional parameters. */\nexport interface PolicyDefinitionsGetOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the get operation. */\nexport type PolicyDefinitionsGetResponse = PolicyDefinition;\n\n/** Optional parameters. */\nexport interface PolicyDefinitionsGetBuiltInOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the getBuiltIn operation. */\nexport type PolicyDefinitionsGetBuiltInResponse = PolicyDefinition;\n\n/** Optional parameters. */\nexport interface PolicyDefinitionsCreateOrUpdateAtManagementGroupOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the createOrUpdateAtManagementGroup operation. */\nexport type PolicyDefinitionsCreateOrUpdateAtManagementGroupResponse = PolicyDefinition;\n\n/** Optional parameters. */\nexport interface PolicyDefinitionsDeleteAtManagementGroupOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Optional parameters. */\nexport interface PolicyDefinitionsGetAtManagementGroupOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the getAtManagementGroup operation. */\nexport type PolicyDefinitionsGetAtManagementGroupResponse = PolicyDefinition;\n\n/** Optional parameters. */\nexport interface PolicyDefinitionsListOptionalParams\n extends coreClient.OperationOptions {\n /** The filter to apply on the operation. Valid values for $filter are: 'atExactScope()', 'policyType -eq {value}' or 'category eq '{value}''. If $filter is not provided, no filtering is performed. If $filter=atExactScope() is provided, the returned list only includes all policy definitions that at the given scope. If $filter='policyType -eq {value}' is provided, the returned list only includes all policy definitions whose type match the {value}. Possible policyType values are NotSpecified, BuiltIn, Custom, and Static. If $filter='category -eq {value}' is provided, the returned list only includes all policy definitions whose category match the {value}. */\n filter?: string;\n /** Maximum number of records to return. When the $top filter is not provided, it will return 500 records. */\n top?: number;\n}\n\n/** Contains response data for the list operation. */\nexport type PolicyDefinitionsListResponse = PolicyDefinitionListResult;\n\n/** Optional parameters. */\nexport interface PolicyDefinitionsListBuiltInOptionalParams\n extends coreClient.OperationOptions {\n /** The filter to apply on the operation. Valid values for $filter are: 'atExactScope()', 'policyType -eq {value}' or 'category eq '{value}''. If $filter is not provided, no filtering is performed. If $filter=atExactScope() is provided, the returned list only includes all policy definitions that at the given scope. If $filter='policyType -eq {value}' is provided, the returned list only includes all policy definitions whose type match the {value}. Possible policyType values are NotSpecified, BuiltIn, Custom, and Static. If $filter='category -eq {value}' is provided, the returned list only includes all policy definitions whose category match the {value}. */\n filter?: string;\n /** Maximum number of records to return. When the $top filter is not provided, it will return 500 records. */\n top?: number;\n}\n\n/** Contains response data for the listBuiltIn operation. */\nexport type PolicyDefinitionsListBuiltInResponse = PolicyDefinitionListResult;\n\n/** Optional parameters. */\nexport interface PolicyDefinitionsListByManagementGroupOptionalParams\n extends coreClient.OperationOptions {\n /** The filter to apply on the operation. Valid values for $filter are: 'atExactScope()', 'policyType -eq {value}' or 'category eq '{value}''. If $filter is not provided, no filtering is performed. If $filter=atExactScope() is provided, the returned list only includes all policy definitions that at the given scope. If $filter='policyType -eq {value}' is provided, the returned list only includes all policy definitions whose type match the {value}. Possible policyType values are NotSpecified, BuiltIn, Custom, and Static. If $filter='category -eq {value}' is provided, the returned list only includes all policy definitions whose category match the {value}. */\n filter?: string;\n /** Maximum number of records to return. When the $top filter is not provided, it will return 500 records. */\n top?: number;\n}\n\n/** Contains response data for the listByManagementGroup operation. */\nexport type PolicyDefinitionsListByManagementGroupResponse = PolicyDefinitionListResult;\n\n/** Optional parameters. */\nexport interface PolicyDefinitionsListNextOptionalParams\n extends coreClient.OperationOptions {\n /** The filter to apply on the operation. Valid values for $filter are: 'atExactScope()', 'policyType -eq {value}' or 'category eq '{value}''. If $filter is not provided, no filtering is performed. If $filter=atExactScope() is provided, the returned list only includes all policy definitions that at the given scope. If $filter='policyType -eq {value}' is provided, the returned list only includes all policy definitions whose type match the {value}. Possible policyType values are NotSpecified, BuiltIn, Custom, and Static. If $filter='category -eq {value}' is provided, the returned list only includes all policy definitions whose category match the {value}. */\n filter?: string;\n /** Maximum number of records to return. When the $top filter is not provided, it will return 500 records. */\n top?: number;\n}\n\n/** Contains response data for the listNext operation. */\nexport type PolicyDefinitionsListNextResponse = PolicyDefinitionListResult;\n\n/** Optional parameters. */\nexport interface PolicyDefinitionsListBuiltInNextOptionalParams\n extends coreClient.OperationOptions {\n /** The filter to apply on the operation. Valid values for $filter are: 'atExactScope()', 'policyType -eq {value}' or 'category eq '{value}''. If $filter is not provided, no filtering is performed. If $filter=atExactScope() is provided, the returned list only includes all policy definitions that at the given scope. If $filter='policyType -eq {value}' is provided, the returned list only includes all policy definitions whose type match the {value}. Possible policyType values are NotSpecified, BuiltIn, Custom, and Static. If $filter='category -eq {value}' is provided, the returned list only includes all policy definitions whose category match the {value}. */\n filter?: string;\n /** Maximum number of records to return. When the $top filter is not provided, it will return 500 records. */\n top?: number;\n}\n\n/** Contains response data for the listBuiltInNext operation. */\nexport type PolicyDefinitionsListBuiltInNextResponse = PolicyDefinitionListResult;\n\n/** Optional parameters. */\nexport interface PolicyDefinitionsListByManagementGroupNextOptionalParams\n extends coreClient.OperationOptions {\n /** The filter to apply on the operation. Valid values for $filter are: 'atExactScope()', 'policyType -eq {value}' or 'category eq '{value}''. If $filter is not provided, no filtering is performed. If $filter=atExactScope() is provided, the returned list only includes all policy definitions that at the given scope. If $filter='policyType -eq {value}' is provided, the returned list only includes all policy definitions whose type match the {value}. Possible policyType values are NotSpecified, BuiltIn, Custom, and Static. If $filter='category -eq {value}' is provided, the returned list only includes all policy definitions whose category match the {value}. */\n filter?: string;\n /** Maximum number of records to return. When the $top filter is not provided, it will return 500 records. */\n top?: number;\n}\n\n/** Contains response data for the listByManagementGroupNext operation. */\nexport type PolicyDefinitionsListByManagementGroupNextResponse = PolicyDefinitionListResult;\n\n/** Optional parameters. */\nexport interface PolicySetDefinitionsCreateOrUpdateOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the createOrUpdate operation. */\nexport type PolicySetDefinitionsCreateOrUpdateResponse = PolicySetDefinition;\n\n/** Optional parameters. */\nexport interface PolicySetDefinitionsDeleteOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Optional parameters. */\nexport interface PolicySetDefinitionsGetOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the get operation. */\nexport type PolicySetDefinitionsGetResponse = PolicySetDefinition;\n\n/** Optional parameters. */\nexport interface PolicySetDefinitionsGetBuiltInOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the getBuiltIn operation. */\nexport type PolicySetDefinitionsGetBuiltInResponse = PolicySetDefinition;\n\n/** Optional parameters. */\nexport interface PolicySetDefinitionsListOptionalParams\n extends coreClient.OperationOptions {\n /** The filter to apply on the operation. Valid values for $filter are: 'atExactScope()', 'policyType -eq {value}' or 'category eq '{value}''. If $filter is not provided, no filtering is performed. If $filter=atExactScope() is provided, the returned list only includes all policy set definitions that at the given scope. If $filter='policyType -eq {value}' is provided, the returned list only includes all policy set definitions whose type match the {value}. Possible policyType values are NotSpecified, BuiltIn, Custom, and Static. If $filter='category -eq {value}' is provided, the returned list only includes all policy set definitions whose category match the {value}. */\n filter?: string;\n /** Maximum number of records to return. When the $top filter is not provided, it will return 500 records. */\n top?: number;\n}\n\n/** Contains response data for the list operation. */\nexport type PolicySetDefinitionsListResponse = PolicySetDefinitionListResult;\n\n/** Optional parameters. */\nexport interface PolicySetDefinitionsListBuiltInOptionalParams\n extends coreClient.OperationOptions {\n /** The filter to apply on the operation. Valid values for $filter are: 'atExactScope()', 'policyType -eq {value}' or 'category eq '{value}''. If $filter is not provided, no filtering is performed. If $filter=atExactScope() is provided, the returned list only includes all policy set definitions that at the given scope. If $filter='policyType -eq {value}' is provided, the returned list only includes all policy set definitions whose type match the {value}. Possible policyType values are NotSpecified, BuiltIn, Custom, and Static. If $filter='category -eq {value}' is provided, the returned list only includes all policy set definitions whose category match the {value}. */\n filter?: string;\n /** Maximum number of records to return. When the $top filter is not provided, it will return 500 records. */\n top?: number;\n}\n\n/** Contains response data for the listBuiltIn operation. */\nexport type PolicySetDefinitionsListBuiltInResponse = PolicySetDefinitionListResult;\n\n/** Optional parameters. */\nexport interface PolicySetDefinitionsCreateOrUpdateAtManagementGroupOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the createOrUpdateAtManagementGroup operation. */\nexport type PolicySetDefinitionsCreateOrUpdateAtManagementGroupResponse = PolicySetDefinition;\n\n/** Optional parameters. */\nexport interface PolicySetDefinitionsDeleteAtManagementGroupOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Optional parameters. */\nexport interface PolicySetDefinitionsGetAtManagementGroupOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the getAtManagementGroup operation. */\nexport type PolicySetDefinitionsGetAtManagementGroupResponse = PolicySetDefinition;\n\n/** Optional parameters. */\nexport interface PolicySetDefinitionsListByManagementGroupOptionalParams\n extends coreClient.OperationOptions {\n /** The filter to apply on the operation. Valid values for $filter are: 'atExactScope()', 'policyType -eq {value}' or 'category eq '{value}''. If $filter is not provided, no filtering is performed. If $filter=atExactScope() is provided, the returned list only includes all policy set definitions that at the given scope. If $filter='policyType -eq {value}' is provided, the returned list only includes all policy set definitions whose type match the {value}. Possible policyType values are NotSpecified, BuiltIn, Custom, and Static. If $filter='category -eq {value}' is provided, the returned list only includes all policy set definitions whose category match the {value}. */\n filter?: string;\n /** Maximum number of records to return. When the $top filter is not provided, it will return 500 records. */\n top?: number;\n}\n\n/** Contains response data for the listByManagementGroup operation. */\nexport type PolicySetDefinitionsListByManagementGroupResponse = PolicySetDefinitionListResult;\n\n/** Optional parameters. */\nexport interface PolicySetDefinitionsListNextOptionalParams\n extends coreClient.OperationOptions {\n /** The filter to apply on the operation. Valid values for $filter are: 'atExactScope()', 'policyType -eq {value}' or 'category eq '{value}''. If $filter is not provided, no filtering is performed. If $filter=atExactScope() is provided, the returned list only includes all policy set definitions that at the given scope. If $filter='policyType -eq {value}' is provided, the returned list only includes all policy set definitions whose type match the {value}. Possible policyType values are NotSpecified, BuiltIn, Custom, and Static. If $filter='category -eq {value}' is provided, the returned list only includes all policy set definitions whose category match the {value}. */\n filter?: string;\n /** Maximum number of records to return. When the $top filter is not provided, it will return 500 records. */\n top?: number;\n}\n\n/** Contains response data for the listNext operation. */\nexport type PolicySetDefinitionsListNextResponse = PolicySetDefinitionListResult;\n\n/** Optional parameters. */\nexport interface PolicySetDefinitionsListBuiltInNextOptionalParams\n extends coreClient.OperationOptions {\n /** The filter to apply on the operation. Valid values for $filter are: 'atExactScope()', 'policyType -eq {value}' or 'category eq '{value}''. If $filter is not provided, no filtering is performed. If $filter=atExactScope() is provided, the returned list only includes all policy set definitions that at the given scope. If $filter='policyType -eq {value}' is provided, the returned list only includes all policy set definitions whose type match the {value}. Possible policyType values are NotSpecified, BuiltIn, Custom, and Static. If $filter='category -eq {value}' is provided, the returned list only includes all policy set definitions whose category match the {value}. */\n filter?: string;\n /** Maximum number of records to return. When the $top filter is not provided, it will return 500 records. */\n top?: number;\n}\n\n/** Contains response data for the listBuiltInNext operation. */\nexport type PolicySetDefinitionsListBuiltInNextResponse = PolicySetDefinitionListResult;\n\n/** Optional parameters. */\nexport interface PolicySetDefinitionsListByManagementGroupNextOptionalParams\n extends coreClient.OperationOptions {\n /** The filter to apply on the operation. Valid values for $filter are: 'atExactScope()', 'policyType -eq {value}' or 'category eq '{value}''. If $filter is not provided, no filtering is performed. If $filter=atExactScope() is provided, the returned list only includes all policy set definitions that at the given scope. If $filter='policyType -eq {value}' is provided, the returned list only includes all policy set definitions whose type match the {value}. Possible policyType values are NotSpecified, BuiltIn, Custom, and Static. If $filter='category -eq {value}' is provided, the returned list only includes all policy set definitions whose category match the {value}. */\n filter?: string;\n /** Maximum number of records to return. When the $top filter is not provided, it will return 500 records. */\n top?: number;\n}\n\n/** Contains response data for the listByManagementGroupNext operation. */\nexport type PolicySetDefinitionsListByManagementGroupNextResponse = PolicySetDefinitionListResult;\n\n/** Optional parameters. */\nexport interface PolicyExemptionsDeleteOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Optional parameters. */\nexport interface PolicyExemptionsCreateOrUpdateOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the createOrUpdate operation. */\nexport type PolicyExemptionsCreateOrUpdateResponse = PolicyExemption;\n\n/** Optional parameters. */\nexport interface PolicyExemptionsGetOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the get operation. */\nexport type PolicyExemptionsGetResponse = PolicyExemption;\n\n/** Optional parameters. */\nexport interface PolicyExemptionsListOptionalParams\n extends coreClient.OperationOptions {\n /** The filter to apply on the operation. Valid values for $filter are: 'atScope()', 'atExactScope()', 'excludeExpired()' or 'policyAssignmentId eq '{value}''. If $filter is not provided, no filtering is performed. If $filter is not provided, the unfiltered list includes all policy exemptions associated with the scope, including those that apply directly or apply from containing scopes. If $filter=atScope() is provided, the returned list only includes all policy exemptions that apply to the scope, which is everything in the unfiltered list except those applied to sub scopes contained within the given scope. If $filter=atExactScope() is provided, the returned list only includes all policy exemptions that at the given scope. If $filter=excludeExpired() is provided, the returned list only includes all policy exemptions that either haven't expired or didn't set expiration date. If $filter=policyAssignmentId eq '{value}' is provided. the returned list only includes all policy exemptions that are associated with the give policyAssignmentId. */\n filter?: string;\n}\n\n/** Contains response data for the list operation. */\nexport type PolicyExemptionsListResponse = PolicyExemptionListResult;\n\n/** Optional parameters. */\nexport interface PolicyExemptionsListForResourceGroupOptionalParams\n extends coreClient.OperationOptions {\n /** The filter to apply on the operation. Valid values for $filter are: 'atScope()', 'atExactScope()', 'excludeExpired()' or 'policyAssignmentId eq '{value}''. If $filter is not provided, no filtering is performed. If $filter is not provided, the unfiltered list includes all policy exemptions associated with the scope, including those that apply directly or apply from containing scopes. If $filter=atScope() is provided, the returned list only includes all policy exemptions that apply to the scope, which is everything in the unfiltered list except those applied to sub scopes contained within the given scope. If $filter=atExactScope() is provided, the returned list only includes all policy exemptions that at the given scope. If $filter=excludeExpired() is provided, the returned list only includes all policy exemptions that either haven't expired or didn't set expiration date. If $filter=policyAssignmentId eq '{value}' is provided. the returned list only includes all policy exemptions that are associated with the give policyAssignmentId. */\n filter?: string;\n}\n\n/** Contains response data for the listForResourceGroup operation. */\nexport type PolicyExemptionsListForResourceGroupResponse = PolicyExemptionListResult;\n\n/** Optional parameters. */\nexport interface PolicyExemptionsListForResourceOptionalParams\n extends coreClient.OperationOptions {\n /** The filter to apply on the operation. Valid values for $filter are: 'atScope()', 'atExactScope()', 'excludeExpired()' or 'policyAssignmentId eq '{value}''. If $filter is not provided, no filtering is performed. If $filter is not provided, the unfiltered list includes all policy exemptions associated with the scope, including those that apply directly or apply from containing scopes. If $filter=atScope() is provided, the returned list only includes all policy exemptions that apply to the scope, which is everything in the unfiltered list except those applied to sub scopes contained within the given scope. If $filter=atExactScope() is provided, the returned list only includes all policy exemptions that at the given scope. If $filter=excludeExpired() is provided, the returned list only includes all policy exemptions that either haven't expired or didn't set expiration date. If $filter=policyAssignmentId eq '{value}' is provided. the returned list only includes all policy exemptions that are associated with the give policyAssignmentId. */\n filter?: string;\n}\n\n/** Contains response data for the listForResource operation. */\nexport type PolicyExemptionsListForResourceResponse = PolicyExemptionListResult;\n\n/** Optional parameters. */\nexport interface PolicyExemptionsListForManagementGroupOptionalParams\n extends coreClient.OperationOptions {\n /** The filter to apply on the operation. Valid values for $filter are: 'atScope()', 'atExactScope()', 'excludeExpired()' or 'policyAssignmentId eq '{value}''. If $filter is not provided, no filtering is performed. If $filter is not provided, the unfiltered list includes all policy exemptions associated with the scope, including those that apply directly or apply from containing scopes. If $filter=atScope() is provided, the returned list only includes all policy exemptions that apply to the scope, which is everything in the unfiltered list except those applied to sub scopes contained within the given scope. If $filter=atExactScope() is provided, the returned list only includes all policy exemptions that at the given scope. If $filter=excludeExpired() is provided, the returned list only includes all policy exemptions that either haven't expired or didn't set expiration date. If $filter=policyAssignmentId eq '{value}' is provided. the returned list only includes all policy exemptions that are associated with the give policyAssignmentId. */\n filter?: string;\n}\n\n/** Contains response data for the listForManagementGroup operation. */\nexport type PolicyExemptionsListForManagementGroupResponse = PolicyExemptionListResult;\n\n/** Optional parameters. */\nexport interface PolicyExemptionsListNextOptionalParams\n extends coreClient.OperationOptions {\n /** The filter to apply on the operation. Valid values for $filter are: 'atScope()', 'atExactScope()', 'excludeExpired()' or 'policyAssignmentId eq '{value}''. If $filter is not provided, no filtering is performed. If $filter is not provided, the unfiltered list includes all policy exemptions associated with the scope, including those that apply directly or apply from containing scopes. If $filter=atScope() is provided, the returned list only includes all policy exemptions that apply to the scope, which is everything in the unfiltered list except those applied to sub scopes contained within the given scope. If $filter=atExactScope() is provided, the returned list only includes all policy exemptions that at the given scope. If $filter=excludeExpired() is provided, the returned list only includes all policy exemptions that either haven't expired or didn't set expiration date. If $filter=policyAssignmentId eq '{value}' is provided. the returned list only includes all policy exemptions that are associated with the give policyAssignmentId. */\n filter?: string;\n}\n\n/** Contains response data for the listNext operation. */\nexport type PolicyExemptionsListNextResponse = PolicyExemptionListResult;\n\n/** Optional parameters. */\nexport interface PolicyExemptionsListForResourceGroupNextOptionalParams\n extends coreClient.OperationOptions {\n /** The filter to apply on the operation. Valid values for $filter are: 'atScope()', 'atExactScope()', 'excludeExpired()' or 'policyAssignmentId eq '{value}''. If $filter is not provided, no filtering is performed. If $filter is not provided, the unfiltered list includes all policy exemptions associated with the scope, including those that apply directly or apply from containing scopes. If $filter=atScope() is provided, the returned list only includes all policy exemptions that apply to the scope, which is everything in the unfiltered list except those applied to sub scopes contained within the given scope. If $filter=atExactScope() is provided, the returned list only includes all policy exemptions that at the given scope. If $filter=excludeExpired() is provided, the returned list only includes all policy exemptions that either haven't expired or didn't set expiration date. If $filter=policyAssignmentId eq '{value}' is provided. the returned list only includes all policy exemptions that are associated with the give policyAssignmentId. */\n filter?: string;\n}\n\n/** Contains response data for the listForResourceGroupNext operation. */\nexport type PolicyExemptionsListForResourceGroupNextResponse = PolicyExemptionListResult;\n\n/** Optional parameters. */\nexport interface PolicyExemptionsListForResourceNextOptionalParams\n extends coreClient.OperationOptions {\n /** The filter to apply on the operation. Valid values for $filter are: 'atScope()', 'atExactScope()', 'excludeExpired()' or 'policyAssignmentId eq '{value}''. If $filter is not provided, no filtering is performed. If $filter is not provided, the unfiltered list includes all policy exemptions associated with the scope, including those that apply directly or apply from containing scopes. If $filter=atScope() is provided, the returned list only includes all policy exemptions that apply to the scope, which is everything in the unfiltered list except those applied to sub scopes contained within the given scope. If $filter=atExactScope() is provided, the returned list only includes all policy exemptions that at the given scope. If $filter=excludeExpired() is provided, the returned list only includes all policy exemptions that either haven't expired or didn't set expiration date. If $filter=policyAssignmentId eq '{value}' is provided. the returned list only includes all policy exemptions that are associated with the give policyAssignmentId. */\n filter?: string;\n}\n\n/** Contains response data for the listForResourceNext operation. */\nexport type PolicyExemptionsListForResourceNextResponse = PolicyExemptionListResult;\n\n/** Optional parameters. */\nexport interface PolicyExemptionsListForManagementGroupNextOptionalParams\n extends coreClient.OperationOptions {\n /** The filter to apply on the operation. Valid values for $filter are: 'atScope()', 'atExactScope()', 'excludeExpired()' or 'policyAssignmentId eq '{value}''. If $filter is not provided, no filtering is performed. If $filter is not provided, the unfiltered list includes all policy exemptions associated with the scope, including those that apply directly or apply from containing scopes. If $filter=atScope() is provided, the returned list only includes all policy exemptions that apply to the scope, which is everything in the unfiltered list except those applied to sub scopes contained within the given scope. If $filter=atExactScope() is provided, the returned list only includes all policy exemptions that at the given scope. If $filter=excludeExpired() is provided, the returned list only includes all policy exemptions that either haven't expired or didn't set expiration date. If $filter=policyAssignmentId eq '{value}' is provided. the returned list only includes all policy exemptions that are associated with the give policyAssignmentId. */\n filter?: string;\n}\n\n/** Contains response data for the listForManagementGroupNext operation. */\nexport type PolicyExemptionsListForManagementGroupNextResponse = PolicyExemptionListResult;\n\n/** Optional parameters. */\nexport interface PolicyClientOptionalParams\n extends coreClient.ServiceClientOptions {\n /** server parameter */\n $host?: string;\n /** Overrides client endpoint. */\n endpoint?: string;\n}\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreClient from \"@azure/core-client\";\n\nexport const DataPolicyManifest: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DataPolicyManifest\",\n modelProperties: {\n id: {\n serializedName: \"id\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n name: {\n serializedName: \"name\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n type: {\n serializedName: \"type\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n namespaces: {\n serializedName: \"properties.namespaces\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n policyMode: {\n serializedName: \"properties.policyMode\",\n type: {\n name: \"String\"\n }\n },\n isBuiltInOnly: {\n serializedName: \"properties.isBuiltInOnly\",\n type: {\n name: \"Boolean\"\n }\n },\n resourceTypeAliases: {\n serializedName: \"properties.resourceTypeAliases\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ResourceTypeAliases\"\n }\n }\n }\n },\n effects: {\n serializedName: \"properties.effects\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"DataEffect\"\n }\n }\n }\n },\n fieldValues: {\n serializedName: \"properties.fieldValues\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n standard: {\n serializedName: \"properties.resourceFunctions.standard\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n custom: {\n serializedName: \"properties.resourceFunctions.custom\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"DataManifestCustomResourceFunctionDefinition\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const ResourceTypeAliases: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ResourceTypeAliases\",\n modelProperties: {\n resourceType: {\n serializedName: \"resourceType\",\n type: {\n name: \"String\"\n }\n },\n aliases: {\n serializedName: \"aliases\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"Alias\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const Alias: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Alias\",\n modelProperties: {\n name: {\n serializedName: \"name\",\n type: {\n name: \"String\"\n }\n },\n paths: {\n serializedName: \"paths\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"AliasPath\"\n }\n }\n }\n },\n type: {\n serializedName: \"type\",\n type: {\n name: \"Enum\",\n allowedValues: [\"NotSpecified\", \"PlainText\", \"Mask\"]\n }\n },\n defaultPath: {\n serializedName: \"defaultPath\",\n type: {\n name: \"String\"\n }\n },\n defaultPattern: {\n serializedName: \"defaultPattern\",\n type: {\n name: \"Composite\",\n className: \"AliasPattern\"\n }\n },\n defaultMetadata: {\n serializedName: \"defaultMetadata\",\n type: {\n name: \"Composite\",\n className: \"AliasPathMetadata\"\n }\n }\n }\n }\n};\n\nexport const AliasPath: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AliasPath\",\n modelProperties: {\n path: {\n serializedName: \"path\",\n type: {\n name: \"String\"\n }\n },\n apiVersions: {\n serializedName: \"apiVersions\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n pattern: {\n serializedName: \"pattern\",\n type: {\n name: \"Composite\",\n className: \"AliasPattern\"\n }\n },\n metadata: {\n serializedName: \"metadata\",\n type: {\n name: \"Composite\",\n className: \"AliasPathMetadata\"\n }\n }\n }\n }\n};\n\nexport const AliasPattern: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AliasPattern\",\n modelProperties: {\n phrase: {\n serializedName: \"phrase\",\n type: {\n name: \"String\"\n }\n },\n variable: {\n serializedName: \"variable\",\n type: {\n name: \"String\"\n }\n },\n type: {\n serializedName: \"type\",\n type: {\n name: \"Enum\",\n allowedValues: [\"NotSpecified\", \"Extract\"]\n }\n }\n }\n }\n};\n\nexport const AliasPathMetadata: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AliasPathMetadata\",\n modelProperties: {\n type: {\n serializedName: \"type\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n attributes: {\n serializedName: \"attributes\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const DataEffect: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DataEffect\",\n modelProperties: {\n name: {\n serializedName: \"name\",\n type: {\n name: \"String\"\n }\n },\n detailsSchema: {\n serializedName: \"detailsSchema\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"any\" } }\n }\n }\n }\n }\n};\n\nexport const DataManifestCustomResourceFunctionDefinition: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DataManifestCustomResourceFunctionDefinition\",\n modelProperties: {\n name: {\n serializedName: \"name\",\n type: {\n name: \"String\"\n }\n },\n fullyQualifiedResourceType: {\n serializedName: \"fullyQualifiedResourceType\",\n type: {\n name: \"String\"\n }\n },\n defaultProperties: {\n serializedName: \"defaultProperties\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n allowCustomProperties: {\n serializedName: \"allowCustomProperties\",\n type: {\n name: \"Boolean\"\n }\n }\n }\n }\n};\n\nexport const CloudError: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CloudError\",\n modelProperties: {\n error: {\n serializedName: \"error\",\n type: {\n name: \"Composite\",\n className: \"ErrorResponse\"\n }\n }\n }\n }\n};\n\nexport const ErrorResponse: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ErrorResponse\",\n modelProperties: {\n code: {\n serializedName: \"code\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n message: {\n serializedName: \"message\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n target: {\n serializedName: \"target\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n details: {\n serializedName: \"details\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ErrorResponse\"\n }\n }\n }\n },\n additionalInfo: {\n serializedName: \"additionalInfo\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ErrorAdditionalInfo\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const ErrorAdditionalInfo: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ErrorAdditionalInfo\",\n modelProperties: {\n type: {\n serializedName: \"type\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n info: {\n serializedName: \"info\",\n readOnly: true,\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"any\" } }\n }\n }\n }\n }\n};\n\nexport const DataPolicyManifestListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DataPolicyManifestListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"DataPolicyManifest\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const PolicyAssignment: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PolicyAssignment\",\n modelProperties: {\n id: {\n serializedName: \"id\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n type: {\n serializedName: \"type\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n name: {\n serializedName: \"name\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n location: {\n serializedName: \"location\",\n type: {\n name: \"String\"\n }\n },\n identity: {\n serializedName: \"identity\",\n type: {\n name: \"Composite\",\n className: \"Identity\"\n }\n },\n systemData: {\n serializedName: \"systemData\",\n type: {\n name: \"Composite\",\n className: \"SystemData\"\n }\n },\n displayName: {\n serializedName: \"properties.displayName\",\n type: {\n name: \"String\"\n }\n },\n policyDefinitionId: {\n serializedName: \"properties.policyDefinitionId\",\n type: {\n name: \"String\"\n }\n },\n scope: {\n serializedName: \"properties.scope\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n notScopes: {\n serializedName: \"properties.notScopes\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n parameters: {\n serializedName: \"properties.parameters\",\n type: {\n name: \"Dictionary\",\n value: {\n type: { name: \"Composite\", className: \"ParameterValuesValue\" }\n }\n }\n },\n description: {\n serializedName: \"properties.description\",\n type: {\n name: \"String\"\n }\n },\n metadata: {\n serializedName: \"properties.metadata\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"any\" } }\n }\n },\n enforcementMode: {\n defaultValue: \"Default\",\n serializedName: \"properties.enforcementMode\",\n type: {\n name: \"String\"\n }\n },\n nonComplianceMessages: {\n serializedName: \"properties.nonComplianceMessages\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"NonComplianceMessage\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const ParameterValuesValue: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ParameterValuesValue\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"any\" } }\n }\n }\n }\n }\n};\n\nexport const NonComplianceMessage: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"NonComplianceMessage\",\n modelProperties: {\n message: {\n serializedName: \"message\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n policyDefinitionReferenceId: {\n serializedName: \"policyDefinitionReferenceId\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const Identity: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Identity\",\n modelProperties: {\n principalId: {\n serializedName: \"principalId\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n tenantId: {\n serializedName: \"tenantId\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n type: {\n serializedName: \"type\",\n type: {\n name: \"Enum\",\n allowedValues: [\"SystemAssigned\", \"UserAssigned\", \"None\"]\n }\n },\n userAssignedIdentities: {\n serializedName: \"userAssignedIdentities\",\n type: {\n name: \"Dictionary\",\n value: {\n type: {\n name: \"Composite\",\n className: \"UserAssignedIdentitiesValue\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const UserAssignedIdentitiesValue: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"UserAssignedIdentitiesValue\",\n modelProperties: {\n principalId: {\n serializedName: \"principalId\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n clientId: {\n serializedName: \"clientId\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const SystemData: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SystemData\",\n modelProperties: {\n createdBy: {\n serializedName: \"createdBy\",\n type: {\n name: \"String\"\n }\n },\n createdByType: {\n serializedName: \"createdByType\",\n type: {\n name: \"String\"\n }\n },\n createdAt: {\n serializedName: \"createdAt\",\n type: {\n name: \"DateTime\"\n }\n },\n lastModifiedBy: {\n serializedName: \"lastModifiedBy\",\n type: {\n name: \"String\"\n }\n },\n lastModifiedByType: {\n serializedName: \"lastModifiedByType\",\n type: {\n name: \"String\"\n }\n },\n lastModifiedAt: {\n serializedName: \"lastModifiedAt\",\n type: {\n name: \"DateTime\"\n }\n }\n }\n }\n};\n\nexport const PolicyAssignmentUpdate: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PolicyAssignmentUpdate\",\n modelProperties: {\n location: {\n serializedName: \"location\",\n type: {\n name: \"String\"\n }\n },\n identity: {\n serializedName: \"identity\",\n type: {\n name: \"Composite\",\n className: \"Identity\"\n }\n }\n }\n }\n};\n\nexport const PolicyAssignmentListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PolicyAssignmentListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"PolicyAssignment\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const PolicyDefinition: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PolicyDefinition\",\n modelProperties: {\n id: {\n serializedName: \"id\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n name: {\n serializedName: \"name\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n type: {\n serializedName: \"type\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n systemData: {\n serializedName: \"systemData\",\n type: {\n name: \"Composite\",\n className: \"SystemData\"\n }\n },\n policyType: {\n serializedName: \"properties.policyType\",\n type: {\n name: \"String\"\n }\n },\n mode: {\n defaultValue: \"Indexed\",\n serializedName: \"properties.mode\",\n type: {\n name: \"String\"\n }\n },\n displayName: {\n serializedName: \"properties.displayName\",\n type: {\n name: \"String\"\n }\n },\n description: {\n serializedName: \"properties.description\",\n type: {\n name: \"String\"\n }\n },\n policyRule: {\n serializedName: \"properties.policyRule\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"any\" } }\n }\n },\n metadata: {\n serializedName: \"properties.metadata\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"any\" } }\n }\n },\n parameters: {\n serializedName: \"properties.parameters\",\n type: {\n name: \"Dictionary\",\n value: {\n type: { name: \"Composite\", className: \"ParameterDefinitionsValue\" }\n }\n }\n }\n }\n }\n};\n\nexport const ParameterDefinitionsValue: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ParameterDefinitionsValue\",\n modelProperties: {\n type: {\n serializedName: \"type\",\n type: {\n name: \"String\"\n }\n },\n allowedValues: {\n serializedName: \"allowedValues\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"any\" } }\n }\n }\n }\n },\n defaultValue: {\n serializedName: \"defaultValue\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"any\" } }\n }\n },\n metadata: {\n serializedName: \"metadata\",\n type: {\n name: \"Composite\",\n className: \"ParameterDefinitionsValueMetadata\"\n }\n }\n }\n }\n};\n\nexport const ParameterDefinitionsValueMetadata: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ParameterDefinitionsValueMetadata\",\n additionalProperties: { type: { name: \"Object\" } },\n modelProperties: {\n displayName: {\n serializedName: \"displayName\",\n type: {\n name: \"String\"\n }\n },\n description: {\n serializedName: \"description\",\n type: {\n name: \"String\"\n }\n },\n strongType: {\n serializedName: \"strongType\",\n type: {\n name: \"String\"\n }\n },\n assignPermissions: {\n serializedName: \"assignPermissions\",\n type: {\n name: \"Boolean\"\n }\n }\n }\n }\n};\n\nexport const PolicyDefinitionListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PolicyDefinitionListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"PolicyDefinition\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const PolicySetDefinition: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PolicySetDefinition\",\n modelProperties: {\n id: {\n serializedName: \"id\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n name: {\n serializedName: \"name\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n type: {\n serializedName: \"type\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n systemData: {\n serializedName: \"systemData\",\n type: {\n name: \"Composite\",\n className: \"SystemData\"\n }\n },\n policyType: {\n serializedName: \"properties.policyType\",\n type: {\n name: \"String\"\n }\n },\n displayName: {\n serializedName: \"properties.displayName\",\n type: {\n name: \"String\"\n }\n },\n description: {\n serializedName: \"properties.description\",\n type: {\n name: \"String\"\n }\n },\n metadata: {\n serializedName: \"properties.metadata\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"any\" } }\n }\n },\n parameters: {\n serializedName: \"properties.parameters\",\n type: {\n name: \"Dictionary\",\n value: {\n type: { name: \"Composite\", className: \"ParameterDefinitionsValue\" }\n }\n }\n },\n policyDefinitions: {\n serializedName: \"properties.policyDefinitions\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"PolicyDefinitionReference\"\n }\n }\n }\n },\n policyDefinitionGroups: {\n serializedName: \"properties.policyDefinitionGroups\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"PolicyDefinitionGroup\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const PolicyDefinitionReference: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PolicyDefinitionReference\",\n modelProperties: {\n policyDefinitionId: {\n serializedName: \"policyDefinitionId\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n parameters: {\n serializedName: \"parameters\",\n type: {\n name: \"Dictionary\",\n value: {\n type: { name: \"Composite\", className: \"ParameterValuesValue\" }\n }\n }\n },\n policyDefinitionReferenceId: {\n serializedName: \"policyDefinitionReferenceId\",\n type: {\n name: \"String\"\n }\n },\n groupNames: {\n serializedName: \"groupNames\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const PolicyDefinitionGroup: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PolicyDefinitionGroup\",\n modelProperties: {\n name: {\n serializedName: \"name\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n displayName: {\n serializedName: \"displayName\",\n type: {\n name: \"String\"\n }\n },\n category: {\n serializedName: \"category\",\n type: {\n name: \"String\"\n }\n },\n description: {\n serializedName: \"description\",\n type: {\n name: \"String\"\n }\n },\n additionalMetadataId: {\n serializedName: \"additionalMetadataId\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const PolicySetDefinitionListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PolicySetDefinitionListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"PolicySetDefinition\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const PolicyExemption: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PolicyExemption\",\n modelProperties: {\n systemData: {\n serializedName: \"systemData\",\n type: {\n name: \"Composite\",\n className: \"SystemData\"\n }\n },\n id: {\n serializedName: \"id\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n name: {\n serializedName: \"name\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n type: {\n serializedName: \"type\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n policyAssignmentId: {\n serializedName: \"properties.policyAssignmentId\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n policyDefinitionReferenceIds: {\n serializedName: \"properties.policyDefinitionReferenceIds\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n exemptionCategory: {\n serializedName: \"properties.exemptionCategory\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n expiresOn: {\n serializedName: \"properties.expiresOn\",\n type: {\n name: \"DateTime\"\n }\n },\n displayName: {\n serializedName: \"properties.displayName\",\n type: {\n name: \"String\"\n }\n },\n description: {\n serializedName: \"properties.description\",\n type: {\n name: \"String\"\n }\n },\n metadata: {\n serializedName: \"properties.metadata\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"any\" } }\n }\n }\n }\n }\n};\n\nexport const PolicyExemptionListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PolicyExemptionListResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"PolicyExemption\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport {\n OperationParameter,\n OperationURLParameter,\n OperationQueryParameter\n} from \"@azure/core-client\";\nimport {\n PolicyAssignment as PolicyAssignmentMapper,\n PolicyAssignmentUpdate as PolicyAssignmentUpdateMapper,\n PolicyDefinition as PolicyDefinitionMapper,\n PolicySetDefinition as PolicySetDefinitionMapper,\n PolicyExemption as PolicyExemptionMapper\n} from \"../models/mappers\";\n\nexport const accept: OperationParameter = {\n parameterPath: \"accept\",\n mapper: {\n defaultValue: \"application/json\",\n isConstant: true,\n serializedName: \"Accept\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const $host: OperationURLParameter = {\n parameterPath: \"$host\",\n mapper: {\n serializedName: \"$host\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n skipEncoding: true\n};\n\nexport const policyMode: OperationURLParameter = {\n parameterPath: \"policyMode\",\n mapper: {\n serializedName: \"policyMode\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const apiVersion: OperationQueryParameter = {\n parameterPath: \"apiVersion\",\n mapper: {\n defaultValue: \"2020-09-01\",\n isConstant: true,\n serializedName: \"api-version\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const filter: OperationQueryParameter = {\n parameterPath: [\"options\", \"filter\"],\n mapper: {\n serializedName: \"$filter\",\n type: {\n name: \"String\"\n }\n },\n skipEncoding: true\n};\n\nexport const nextLink: OperationURLParameter = {\n parameterPath: \"nextLink\",\n mapper: {\n serializedName: \"nextLink\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n skipEncoding: true\n};\n\nexport const scope: OperationURLParameter = {\n parameterPath: \"scope\",\n mapper: {\n serializedName: \"scope\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n skipEncoding: true\n};\n\nexport const policyAssignmentName: OperationURLParameter = {\n parameterPath: \"policyAssignmentName\",\n mapper: {\n serializedName: \"policyAssignmentName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const apiVersion1: OperationQueryParameter = {\n parameterPath: \"apiVersion\",\n mapper: {\n defaultValue: \"2021-06-01\",\n isConstant: true,\n serializedName: \"api-version\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const contentType: OperationParameter = {\n parameterPath: [\"options\", \"contentType\"],\n mapper: {\n defaultValue: \"application/json\",\n isConstant: true,\n serializedName: \"Content-Type\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const parameters: OperationParameter = {\n parameterPath: \"parameters\",\n mapper: PolicyAssignmentMapper\n};\n\nexport const parameters1: OperationParameter = {\n parameterPath: \"parameters\",\n mapper: PolicyAssignmentUpdateMapper\n};\n\nexport const resourceGroupName: OperationURLParameter = {\n parameterPath: \"resourceGroupName\",\n mapper: {\n constraints: {\n Pattern: new RegExp(\"^[-\\\\w\\\\._\\\\(\\\\)]+$\"),\n MaxLength: 90,\n MinLength: 1\n },\n serializedName: \"resourceGroupName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const top: OperationQueryParameter = {\n parameterPath: [\"options\", \"top\"],\n mapper: {\n constraints: {\n InclusiveMaximum: 1000,\n InclusiveMinimum: 1\n },\n serializedName: \"$top\",\n type: {\n name: \"Number\"\n }\n }\n};\n\nexport const subscriptionId: OperationURLParameter = {\n parameterPath: \"subscriptionId\",\n mapper: {\n serializedName: \"subscriptionId\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const resourceProviderNamespace: OperationURLParameter = {\n parameterPath: \"resourceProviderNamespace\",\n mapper: {\n serializedName: \"resourceProviderNamespace\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const parentResourcePath: OperationURLParameter = {\n parameterPath: \"parentResourcePath\",\n mapper: {\n serializedName: \"parentResourcePath\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n skipEncoding: true\n};\n\nexport const resourceType: OperationURLParameter = {\n parameterPath: \"resourceType\",\n mapper: {\n serializedName: \"resourceType\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n skipEncoding: true\n};\n\nexport const resourceName: OperationURLParameter = {\n parameterPath: \"resourceName\",\n mapper: {\n serializedName: \"resourceName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const managementGroupId: OperationURLParameter = {\n parameterPath: \"managementGroupId\",\n mapper: {\n serializedName: \"managementGroupId\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const policyAssignmentId: OperationURLParameter = {\n parameterPath: \"policyAssignmentId\",\n mapper: {\n serializedName: \"policyAssignmentId\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n skipEncoding: true\n};\n\nexport const parameters2: OperationParameter = {\n parameterPath: \"parameters\",\n mapper: PolicyDefinitionMapper\n};\n\nexport const policyDefinitionName: OperationURLParameter = {\n parameterPath: \"policyDefinitionName\",\n mapper: {\n serializedName: \"policyDefinitionName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const parameters3: OperationParameter = {\n parameterPath: \"parameters\",\n mapper: PolicySetDefinitionMapper\n};\n\nexport const policySetDefinitionName: OperationURLParameter = {\n parameterPath: \"policySetDefinitionName\",\n mapper: {\n serializedName: \"policySetDefinitionName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const policyExemptionName: OperationURLParameter = {\n parameterPath: \"policyExemptionName\",\n mapper: {\n serializedName: \"policyExemptionName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const apiVersion2: OperationQueryParameter = {\n parameterPath: \"apiVersion\",\n mapper: {\n defaultValue: \"2020-07-01-preview\",\n isConstant: true,\n serializedName: \"api-version\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const parameters4: OperationParameter = {\n parameterPath: \"parameters\",\n mapper: PolicyExemptionMapper\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport { DataPolicyManifests } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { PolicyClient } from \"../policyClient\";\nimport {\n DataPolicyManifest,\n DataPolicyManifestsListNextOptionalParams,\n DataPolicyManifestsListOptionalParams,\n DataPolicyManifestsGetByPolicyModeOptionalParams,\n DataPolicyManifestsGetByPolicyModeResponse,\n DataPolicyManifestsListResponse,\n DataPolicyManifestsListNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing DataPolicyManifests operations. */\nexport class DataPolicyManifestsImpl implements DataPolicyManifests {\n private readonly client: PolicyClient;\n\n /**\n * Initialize a new instance of the class DataPolicyManifests class.\n * @param client Reference to the service client\n */\n constructor(client: PolicyClient) {\n this.client = client;\n }\n\n /**\n * This operation retrieves a list of all the data policy manifests that match the optional given\n * $filter. Valid values for $filter are: \"$filter=namespace eq '{0}'\". If $filter is not provided, the\n * unfiltered list includes all data policy manifests for data resource types. If $filter=namespace is\n * provided, the returned list only includes all data policy manifests that have a namespace matching\n * the provided value.\n * @param options The options parameters.\n */\n public list(\n options?: DataPolicyManifestsListOptionalParams\n ): PagedAsyncIterableIterator<DataPolicyManifest> {\n const iter = this.listPagingAll(options);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listPagingPage(options);\n }\n };\n }\n\n private async *listPagingPage(\n options?: DataPolicyManifestsListOptionalParams\n ): AsyncIterableIterator<DataPolicyManifest[]> {\n let result = await this._list(options);\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listNext(continuationToken, options);\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listPagingAll(\n options?: DataPolicyManifestsListOptionalParams\n ): AsyncIterableIterator<DataPolicyManifest> {\n for await (const page of this.listPagingPage(options)) {\n yield* page;\n }\n }\n\n /**\n * This operation retrieves the data policy manifest with the given policy mode.\n * @param policyMode The policy mode of the data policy manifest to get.\n * @param options The options parameters.\n */\n getByPolicyMode(\n policyMode: string,\n options?: DataPolicyManifestsGetByPolicyModeOptionalParams\n ): Promise<DataPolicyManifestsGetByPolicyModeResponse> {\n return this.client.sendOperationRequest(\n { policyMode, options },\n getByPolicyModeOperationSpec\n );\n }\n\n /**\n * This operation retrieves a list of all the data policy manifests that match the optional given\n * $filter. Valid values for $filter are: \"$filter=namespace eq '{0}'\". If $filter is not provided, the\n * unfiltered list includes all data policy manifests for data resource types. If $filter=namespace is\n * provided, the returned list only includes all data policy manifests that have a namespace matching\n * the provided value.\n * @param options The options parameters.\n */\n private _list(\n options?: DataPolicyManifestsListOptionalParams\n ): Promise<DataPolicyManifestsListResponse> {\n return this.client.sendOperationRequest({ options }, listOperationSpec);\n }\n\n /**\n * ListNext\n * @param nextLink The nextLink from the previous successful call to the List method.\n * @param options The options parameters.\n */\n private _listNext(\n nextLink: string,\n options?: DataPolicyManifestsListNextOptionalParams\n ): Promise<DataPolicyManifestsListNextResponse> {\n return this.client.sendOperationRequest(\n { nextLink, options },\n listNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst getByPolicyModeOperationSpec: coreClient.OperationSpec = {\n path: \"/providers/Microsoft.Authorization/dataPolicyManifests/{policyMode}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.DataPolicyManifest\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.policyMode],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listOperationSpec: coreClient.OperationSpec = {\n path: \"/providers/Microsoft.Authorization/dataPolicyManifests\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.DataPolicyManifestListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.filter],\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.DataPolicyManifestListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.filter],\n urlParameters: [Parameters.$host, Parameters.nextLink],\n headerParameters: [Parameters.accept],\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport { PolicyAssignments } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { PolicyClient } from \"../policyClient\";\nimport {\n PolicyAssignment,\n PolicyAssignmentsListForResourceGroupNextOptionalParams,\n PolicyAssignmentsListForResourceGroupOptionalParams,\n PolicyAssignmentsListForResourceNextOptionalParams,\n PolicyAssignmentsListForResourceOptionalParams,\n PolicyAssignmentsListForManagementGroupNextOptionalParams,\n PolicyAssignmentsListForManagementGroupOptionalParams,\n PolicyAssignmentsListNextOptionalParams,\n PolicyAssignmentsListOptionalParams,\n PolicyAssignmentsDeleteOptionalParams,\n PolicyAssignmentsDeleteResponse,\n PolicyAssignmentsCreateOptionalParams,\n PolicyAssignmentsCreateResponse,\n PolicyAssignmentsGetOptionalParams,\n PolicyAssignmentsGetResponse,\n PolicyAssignmentUpdate,\n PolicyAssignmentsUpdateOptionalParams,\n PolicyAssignmentsUpdateResponse,\n PolicyAssignmentsListForResourceGroupResponse,\n PolicyAssignmentsListForResourceResponse,\n PolicyAssignmentsListForManagementGroupResponse,\n PolicyAssignmentsListResponse,\n PolicyAssignmentsDeleteByIdOptionalParams,\n PolicyAssignmentsDeleteByIdResponse,\n PolicyAssignmentsCreateByIdOptionalParams,\n PolicyAssignmentsCreateByIdResponse,\n PolicyAssignmentsGetByIdOptionalParams,\n PolicyAssignmentsGetByIdResponse,\n PolicyAssignmentsUpdateByIdOptionalParams,\n PolicyAssignmentsUpdateByIdResponse,\n PolicyAssignmentsListForResourceGroupNextResponse,\n PolicyAssignmentsListForResourceNextResponse,\n PolicyAssignmentsListForManagementGroupNextResponse,\n PolicyAssignmentsListNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing PolicyAssignments operations. */\nexport class PolicyAssignmentsImpl implements PolicyAssignments {\n private readonly client: PolicyClient;\n\n /**\n * Initialize a new instance of the class PolicyAssignments class.\n * @param client Reference to the service client\n */\n constructor(client: PolicyClient) {\n this.client = client;\n }\n\n /**\n * This operation retrieves the list of all policy assignments associated with the given resource group\n * in the given subscription that match the optional given $filter. Valid values for $filter are:\n * 'atScope()', 'atExactScope()' or 'policyDefinitionId eq '{value}''. If $filter is not provided, the\n * unfiltered list includes all policy assignments associated with the resource group, including those\n * that apply directly or apply from containing scopes, as well as any applied to resources contained\n * within the resource group. If $filter=atScope() is provided, the returned list includes all policy\n * assignments that apply to the resource group, which is everything in the unfiltered list except\n * those applied to resources contained within the resource group. If $filter=atExactScope() is\n * provided, the returned list only includes all policy assignments that at the resource group. If\n * $filter=policyDefinitionId eq '{value}' is provided, the returned list includes all policy\n * assignments of the policy definition whose id is {value} that apply to the resource group.\n * @param resourceGroupName The name of the resource group that contains policy assignments.\n * @param options The options parameters.\n */\n public listForResourceGroup(\n resourceGroupName: string,\n options?: PolicyAssignmentsListForResourceGroupOptionalParams\n ): PagedAsyncIterableIterator<PolicyAssignment> {\n const iter = this.listForResourceGroupPagingAll(resourceGroupName, options);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listForResourceGroupPagingPage(resourceGroupName, options);\n }\n };\n }\n\n private async *listForResourceGroupPagingPage(\n resourceGroupName: string,\n options?: PolicyAssignmentsListForResourceGroupOptionalParams\n ): AsyncIterableIterator<PolicyAssignment[]> {\n let result = await this._listForResourceGroup(resourceGroupName, options);\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listForResourceGroupNext(\n resourceGroupName,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listForResourceGroupPagingAll(\n resourceGroupName: string,\n options?: PolicyAssignmentsListForResourceGroupOptionalParams\n ): AsyncIterableIterator<PolicyAssignment> {\n for await (const page of this.listForResourceGroupPagingPage(\n resourceGroupName,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * This operation retrieves the list of all policy assignments associated with the specified resource\n * in the given resource group and subscription that match the optional given $filter. Valid values for\n * $filter are: 'atScope()', 'atExactScope()' or 'policyDefinitionId eq '{value}''. If $filter is not\n * provided, the unfiltered list includes all policy assignments associated with the resource,\n * including those that apply directly or from all containing scopes, as well as any applied to\n * resources contained within the resource. If $filter=atScope() is provided, the returned list\n * includes all policy assignments that apply to the resource, which is everything in the unfiltered\n * list except those applied to resources contained within the resource. If $filter=atExactScope() is\n * provided, the returned list only includes all policy assignments that at the resource level. If\n * $filter=policyDefinitionId eq '{value}' is provided, the returned list includes all policy\n * assignments of the policy definition whose id is {value} that apply to the resource. Three\n * parameters plus the resource name are used to identify a specific resource. If the resource is not\n * part of a parent resource (the more common case), the parent resource path should not be provided\n * (or provided as ''). For example a web app could be specified as ({resourceProviderNamespace} ==\n * 'Microsoft.Web', {parentResourcePath} == '', {resourceType} == 'sites', {resourceName} ==\n * 'MyWebApp'). If the resource is part of a parent resource, then all parameters should be provided.\n * For example a virtual machine DNS name could be specified as ({resourceProviderNamespace} ==\n * 'Microsoft.Compute', {parentResourcePath} == 'virtualMachines/MyVirtualMachine', {resourceType} ==\n * 'domainNames', {resourceName} == 'MyComputerName'). A convenient alternative to providing the\n * namespace and type name separately is to provide both in the {resourceType} parameter, format:\n * ({resourceProviderNamespace} == '', {parentResourcePath} == '', {resourceType} ==\n * 'Microsoft.Web/sites', {resourceName} == 'MyWebApp').\n * @param resourceGroupName The name of the resource group containing the resource.\n * @param resourceProviderNamespace The namespace of the resource provider. For example, the namespace\n * of a virtual machine is Microsoft.Compute (from Microsoft.Compute/virtualMachines)\n * @param parentResourcePath The parent resource path. Use empty string if there is none.\n * @param resourceType The resource type name. For example the type name of a web app is 'sites' (from\n * Microsoft.Web/sites).\n * @param resourceName The name of the resource.\n * @param options The options parameters.\n */\n public listForResource(\n resourceGroupName: string,\n resourceProviderNamespace: string,\n parentResourcePath: string,\n resourceType: string,\n resourceName: string,\n options?: PolicyAssignmentsListForResourceOptionalParams\n ): PagedAsyncIterableIterator<PolicyAssignment> {\n const iter = this.listForResourcePagingAll(\n resourceGroupName,\n resourceProviderNamespace,\n parentResourcePath,\n resourceType,\n resourceName,\n options\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listForResourcePagingPage(\n resourceGroupName,\n resourceProviderNamespace,\n parentResourcePath,\n resourceType,\n resourceName,\n options\n );\n }\n };\n }\n\n private async *listForResourcePagingPage(\n resourceGroupName: string,\n resourceProviderNamespace: string,\n parentResourcePath: string,\n resourceType: string,\n resourceName: string,\n options?: PolicyAssignmentsListForResourceOptionalParams\n ): AsyncIterableIterator<PolicyAssignment[]> {\n let result = await this._listForResource(\n resourceGroupName,\n resourceProviderNamespace,\n parentResourcePath,\n resourceType,\n resourceName,\n options\n );\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listForResourceNext(\n resourceGroupName,\n resourceProviderNamespace,\n parentResourcePath,\n resourceType,\n resourceName,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listForResourcePagingAll(\n resourceGroupName: string,\n resourceProviderNamespace: string,\n parentResourcePath: string,\n resourceType: string,\n resourceName: string,\n options?: PolicyAssignmentsListForResourceOptionalParams\n ): AsyncIterableIterator<PolicyAssignment> {\n for await (const page of this.listForResourcePagingPage(\n resourceGroupName,\n resourceProviderNamespace,\n parentResourcePath,\n resourceType,\n resourceName,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * This operation retrieves the list of all policy assignments applicable to the management group that\n * match the given $filter. Valid values for $filter are: 'atScope()', 'atExactScope()' or\n * 'policyDefinitionId eq '{value}''. If $filter=atScope() is provided, the returned list includes all\n * policy assignments that are assigned to the management group or the management group's ancestors. If\n * $filter=atExactScope() is provided, the returned list only includes all policy assignments that at\n * the management group. If $filter=policyDefinitionId eq '{value}' is provided, the returned list\n * includes all policy assignments of the policy definition whose id is {value} that apply to the\n * management group.\n * @param managementGroupId The ID of the management group.\n * @param options The options parameters.\n */\n public listForManagementGroup(\n managementGroupId: string,\n options?: PolicyAssignmentsListForManagementGroupOptionalParams\n ): PagedAsyncIterableIterator<PolicyAssignment> {\n const iter = this.listForManagementGroupPagingAll(\n managementGroupId,\n options\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listForManagementGroupPagingPage(\n managementGroupId,\n options\n );\n }\n };\n }\n\n private async *listForManagementGroupPagingPage(\n managementGroupId: string,\n options?: PolicyAssignmentsListForManagementGroupOptionalParams\n ): AsyncIterableIterator<PolicyAssignment[]> {\n let result = await this._listForManagementGroup(managementGroupId, options);\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listForManagementGroupNext(\n managementGroupId,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listForManagementGroupPagingAll(\n managementGroupId: string,\n options?: PolicyAssignmentsListForManagementGroupOptionalParams\n ): AsyncIterableIterator<PolicyAssignment> {\n for await (const page of this.listForManagementGroupPagingPage(\n managementGroupId,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * This operation retrieves the list of all policy assignments associated with the given subscription\n * that match the optional given $filter. Valid values for $filter are: 'atScope()', 'atExactScope()'\n * or 'policyDefinitionId eq '{value}''. If $filter is not provided, the unfiltered list includes all\n * policy assignments associated with the subscription, including those that apply directly or from\n * management groups that contain the given subscription, as well as any applied to objects contained\n * within the subscription. If $filter=atScope() is provided, the returned list includes all policy\n * assignments that apply to the subscription, which is everything in the unfiltered list except those\n * applied to objects contained within the subscription. If $filter=atExactScope() is provided, the\n * returned list only includes all policy assignments that at the subscription. If\n * $filter=policyDefinitionId eq '{value}' is provided, the returned list includes all policy\n * assignments of the policy definition whose id is {value}.\n * @param options The options parameters.\n */\n public list(\n options?: PolicyAssignmentsListOptionalParams\n ): PagedAsyncIterableIterator<PolicyAssignment> {\n const iter = this.listPagingAll(options);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listPagingPage(options);\n }\n };\n }\n\n private async *listPagingPage(\n options?: PolicyAssignmentsListOptionalParams\n ): AsyncIterableIterator<PolicyAssignment[]> {\n let result = await this._list(options);\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listNext(continuationToken, options);\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listPagingAll(\n options?: PolicyAssignmentsListOptionalParams\n ): AsyncIterableIterator<PolicyAssignment> {\n for await (const page of this.listPagingPage(options)) {\n yield* page;\n }\n }\n\n /**\n * This operation deletes a policy assignment, given its name and the scope it was created in. The\n * scope of a policy assignment is the part of its ID preceding\n * '/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}'.\n * @param scope The scope of the policy assignment. Valid scopes are: management group (format:\n * '/providers/Microsoft.Management/managementGroups/{managementGroup}'), subscription (format:\n * '/subscriptions/{subscriptionId}'), resource group (format:\n * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format:\n * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'\n * @param policyAssignmentName The name of the policy assignment to delete.\n * @param options The options parameters.\n */\n delete(\n scope: string,\n policyAssignmentName: string,\n options?: PolicyAssignmentsDeleteOptionalParams\n ): Promise<PolicyAssignmentsDeleteResponse> {\n return this.client.sendOperationRequest(\n { scope, policyAssignmentName, options },\n deleteOperationSpec\n );\n }\n\n /**\n * This operation creates or updates a policy assignment with the given scope and name. Policy\n * assignments apply to all resources contained within their scope. For example, when you assign a\n * policy at resource group scope, that policy applies to all resources in the group.\n * @param scope The scope of the policy assignment. Valid scopes are: management group (format:\n * '/providers/Microsoft.Management/managementGroups/{managementGroup}'), subscription (format:\n * '/subscriptions/{subscriptionId}'), resource group (format:\n * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format:\n * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'\n * @param policyAssignmentName The name of the policy assignment.\n * @param parameters Parameters for the policy assignment.\n * @param options The options parameters.\n */\n create(\n scope: string,\n policyAssignmentName: string,\n parameters: PolicyAssignment,\n options?: PolicyAssignmentsCreateOptionalParams\n ): Promise<PolicyAssignmentsCreateResponse> {\n return this.client.sendOperationRequest(\n { scope, policyAssignmentName, parameters, options },\n createOperationSpec\n );\n }\n\n /**\n * This operation retrieves a single policy assignment, given its name and the scope it was created at.\n * @param scope The scope of the policy assignment. Valid scopes are: management group (format:\n * '/providers/Microsoft.Management/managementGroups/{managementGroup}'), subscription (format:\n * '/subscriptions/{subscriptionId}'), resource group (format:\n * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format:\n * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'\n * @param policyAssignmentName The name of the policy assignment to get.\n * @param options The options parameters.\n */\n get(\n scope: string,\n policyAssignmentName: string,\n options?: PolicyAssignmentsGetOptionalParams\n ): Promise<PolicyAssignmentsGetResponse> {\n return this.client.sendOperationRequest(\n { scope, policyAssignmentName, options },\n getOperationSpec\n );\n }\n\n /**\n * This operation updates a policy assignment with the given scope and name. Policy assignments apply\n * to all resources contained within their scope. For example, when you assign a policy at resource\n * group scope, that policy applies to all resources in the group.\n * @param scope The scope of the policy assignment. Valid scopes are: management group (format:\n * '/providers/Microsoft.Management/managementGroups/{managementGroup}'), subscription (format:\n * '/subscriptions/{subscriptionId}'), resource group (format:\n * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format:\n * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'\n * @param policyAssignmentName The name of the policy assignment.\n * @param parameters Parameters for policy assignment patch request.\n * @param options The options parameters.\n */\n update(\n scope: string,\n policyAssignmentName: string,\n parameters: PolicyAssignmentUpdate,\n options?: PolicyAssignmentsUpdateOptionalParams\n ): Promise<PolicyAssignmentsUpdateResponse> {\n return this.client.sendOperationRequest(\n { scope, policyAssignmentName, parameters, options },\n updateOperationSpec\n );\n }\n\n /**\n * This operation retrieves the list of all policy assignments associated with the given resource group\n * in the given subscription that match the optional given $filter. Valid values for $filter are:\n * 'atScope()', 'atExactScope()' or 'policyDefinitionId eq '{value}''. If $filter is not provided, the\n * unfiltered list includes all policy assignments associated with the resource group, including those\n * that apply directly or apply from containing scopes, as well as any applied to resources contained\n * within the resource group. If $filter=atScope() is provided, the returned list includes all policy\n * assignments that apply to the resource group, which is everything in the unfiltered list except\n * those applied to resources contained within the resource group. If $filter=atExactScope() is\n * provided, the returned list only includes all policy assignments that at the resource group. If\n * $filter=policyDefinitionId eq '{value}' is provided, the returned list includes all policy\n * assignments of the policy definition whose id is {value} that apply to the resource group.\n * @param resourceGroupName The name of the resource group that contains policy assignments.\n * @param options The options parameters.\n */\n private _listForResourceGroup(\n resourceGroupName: string,\n options?: PolicyAssignmentsListForResourceGroupOptionalParams\n ): Promise<PolicyAssignmentsListForResourceGroupResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, options },\n listForResourceGroupOperationSpec\n );\n }\n\n /**\n * This operation retrieves the list of all policy assignments associated with the specified resource\n * in the given resource group and subscription that match the optional given $filter. Valid values for\n * $filter are: 'atScope()', 'atExactScope()' or 'policyDefinitionId eq '{value}''. If $filter is not\n * provided, the unfiltered list includes all policy assignments associated with the resource,\n * including those that apply directly or from all containing scopes, as well as any applied to\n * resources contained within the resource. If $filter=atScope() is provided, the returned list\n * includes all policy assignments that apply to the resource, which is everything in the unfiltered\n * list except those applied to resources contained within the resource. If $filter=atExactScope() is\n * provided, the returned list only includes all policy assignments that at the resource level. If\n * $filter=policyDefinitionId eq '{value}' is provided, the returned list includes all policy\n * assignments of the policy definition whose id is {value} that apply to the resource. Three\n * parameters plus the resource name are used to identify a specific resource. If the resource is not\n * part of a parent resource (the more common case), the parent resource path should not be provided\n * (or provided as ''). For example a web app could be specified as ({resourceProviderNamespace} ==\n * 'Microsoft.Web', {parentResourcePath} == '', {resourceType} == 'sites', {resourceName} ==\n * 'MyWebApp'). If the resource is part of a parent resource, then all parameters should be provided.\n * For example a virtual machine DNS name could be specified as ({resourceProviderNamespace} ==\n * 'Microsoft.Compute', {parentResourcePath} == 'virtualMachines/MyVirtualMachine', {resourceType} ==\n * 'domainNames', {resourceName} == 'MyComputerName'). A convenient alternative to providing the\n * namespace and type name separately is to provide both in the {resourceType} parameter, format:\n * ({resourceProviderNamespace} == '', {parentResourcePath} == '', {resourceType} ==\n * 'Microsoft.Web/sites', {resourceName} == 'MyWebApp').\n * @param resourceGroupName The name of the resource group containing the resource.\n * @param resourceProviderNamespace The namespace of the resource provider. For example, the namespace\n * of a virtual machine is Microsoft.Compute (from Microsoft.Compute/virtualMachines)\n * @param parentResourcePath The parent resource path. Use empty string if there is none.\n * @param resourceType The resource type name. For example the type name of a web app is 'sites' (from\n * Microsoft.Web/sites).\n * @param resourceName The name of the resource.\n * @param options The options parameters.\n */\n private _listForResource(\n resourceGroupName: string,\n resourceProviderNamespace: string,\n parentResourcePath: string,\n resourceType: string,\n resourceName: string,\n options?: PolicyAssignmentsListForResourceOptionalParams\n ): Promise<PolicyAssignmentsListForResourceResponse> {\n return this.client.sendOperationRequest(\n {\n resourceGroupName,\n resourceProviderNamespace,\n parentResourcePath,\n resourceType,\n resourceName,\n options\n },\n listForResourceOperationSpec\n );\n }\n\n /**\n * This operation retrieves the list of all policy assignments applicable to the management group that\n * match the given $filter. Valid values for $filter are: 'atScope()', 'atExactScope()' or\n * 'policyDefinitionId eq '{value}''. If $filter=atScope() is provided, the returned list includes all\n * policy assignments that are assigned to the management group or the management group's ancestors. If\n * $filter=atExactScope() is provided, the returned list only includes all policy assignments that at\n * the management group. If $filter=policyDefinitionId eq '{value}' is provided, the returned list\n * includes all policy assignments of the policy definition whose id is {value} that apply to the\n * management group.\n * @param managementGroupId The ID of the management group.\n * @param options The options parameters.\n */\n private _listForManagementGroup(\n managementGroupId: string,\n options?: PolicyAssignmentsListForManagementGroupOptionalParams\n ): Promise<PolicyAssignmentsListForManagementGroupResponse> {\n return this.client.sendOperationRequest(\n { managementGroupId, options },\n listForManagementGroupOperationSpec\n );\n }\n\n /**\n * This operation retrieves the list of all policy assignments associated with the given subscription\n * that match the optional given $filter. Valid values for $filter are: 'atScope()', 'atExactScope()'\n * or 'policyDefinitionId eq '{value}''. If $filter is not provided, the unfiltered list includes all\n * policy assignments associated with the subscription, including those that apply directly or from\n * management groups that contain the given subscription, as well as any applied to objects contained\n * within the subscription. If $filter=atScope() is provided, the returned list includes all policy\n * assignments that apply to the subscription, which is everything in the unfiltered list except those\n * applied to objects contained within the subscription. If $filter=atExactScope() is provided, the\n * returned list only includes all policy assignments that at the subscription. If\n * $filter=policyDefinitionId eq '{value}' is provided, the returned list includes all policy\n * assignments of the policy definition whose id is {value}.\n * @param options The options parameters.\n */\n private _list(\n options?: PolicyAssignmentsListOptionalParams\n ): Promise<PolicyAssignmentsListResponse> {\n return this.client.sendOperationRequest({ options }, listOperationSpec);\n }\n\n /**\n * This operation deletes the policy with the given ID. Policy assignment IDs have this format:\n * '{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}'. Valid formats\n * for {scope} are: '/providers/Microsoft.Management/managementGroups/{managementGroup}' (management\n * group), '/subscriptions/{subscriptionId}' (subscription),\n * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' (resource group), or\n * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'\n * (resource).\n * @param policyAssignmentId The ID of the policy assignment to delete. Use the format\n * '{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}'.\n * @param options The options parameters.\n */\n deleteById(\n policyAssignmentId: string,\n options?: PolicyAssignmentsDeleteByIdOptionalParams\n ): Promise<PolicyAssignmentsDeleteByIdResponse> {\n return this.client.sendOperationRequest(\n { policyAssignmentId, options },\n deleteByIdOperationSpec\n );\n }\n\n /**\n * This operation creates or updates the policy assignment with the given ID. Policy assignments made\n * on a scope apply to all resources contained in that scope. For example, when you assign a policy to\n * a resource group that policy applies to all resources in the group. Policy assignment IDs have this\n * format: '{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}'. Valid\n * scopes are: management group (format:\n * '/providers/Microsoft.Management/managementGroups/{managementGroup}'), subscription (format:\n * '/subscriptions/{subscriptionId}'), resource group (format:\n * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format:\n * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'.\n * @param policyAssignmentId The ID of the policy assignment to create. Use the format\n * '{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}'.\n * @param parameters Parameters for policy assignment.\n * @param options The options parameters.\n */\n createById(\n policyAssignmentId: string,\n parameters: PolicyAssignment,\n options?: PolicyAssignmentsCreateByIdOptionalParams\n ): Promise<PolicyAssignmentsCreateByIdResponse> {\n return this.client.sendOperationRequest(\n { policyAssignmentId, parameters, options },\n createByIdOperationSpec\n );\n }\n\n /**\n * The operation retrieves the policy assignment with the given ID. Policy assignment IDs have this\n * format: '{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}'. Valid\n * scopes are: management group (format:\n * '/providers/Microsoft.Management/managementGroups/{managementGroup}'), subscription (format:\n * '/subscriptions/{subscriptionId}'), resource group (format:\n * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format:\n * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'.\n * @param policyAssignmentId The ID of the policy assignment to get. Use the format\n * '{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}'.\n * @param options The options parameters.\n */\n getById(\n policyAssignmentId: string,\n options?: PolicyAssignmentsGetByIdOptionalParams\n ): Promise<PolicyAssignmentsGetByIdResponse> {\n return this.client.sendOperationRequest(\n { policyAssignmentId, options },\n getByIdOperationSpec\n );\n }\n\n /**\n * This operation updates the policy assignment with the given ID. Policy assignments made on a scope\n * apply to all resources contained in that scope. For example, when you assign a policy to a resource\n * group that policy applies to all resources in the group. Policy assignment IDs have this format:\n * '{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}'. Valid scopes\n * are: management group (format:\n * '/providers/Microsoft.Management/managementGroups/{managementGroup}'), subscription (format:\n * '/subscriptions/{subscriptionId}'), resource group (format:\n * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format:\n * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'.\n * @param policyAssignmentId The ID of the policy assignment to update. Use the format\n * '{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}'.\n * @param parameters Parameters for policy assignment patch request.\n * @param options The options parameters.\n */\n updateById(\n policyAssignmentId: string,\n parameters: PolicyAssignmentUpdate,\n options?: PolicyAssignmentsUpdateByIdOptionalParams\n ): Promise<PolicyAssignmentsUpdateByIdResponse> {\n return this.client.sendOperationRequest(\n { policyAssignmentId, parameters, options },\n updateByIdOperationSpec\n );\n }\n\n /**\n * ListForResourceGroupNext\n * @param resourceGroupName The name of the resource group that contains policy assignments.\n * @param nextLink The nextLink from the previous successful call to the ListForResourceGroup method.\n * @param options The options parameters.\n */\n private _listForResourceGroupNext(\n resourceGroupName: string,\n nextLink: string,\n options?: PolicyAssignmentsListForResourceGroupNextOptionalParams\n ): Promise<PolicyAssignmentsListForResourceGroupNextResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, nextLink, options },\n listForResourceGroupNextOperationSpec\n );\n }\n\n /**\n * ListForResourceNext\n * @param resourceGroupName The name of the resource group containing the resource.\n * @param resourceProviderNamespace The namespace of the resource provider. For example, the namespace\n * of a virtual machine is Microsoft.Compute (from Microsoft.Compute/virtualMachines)\n * @param parentResourcePath The parent resource path. Use empty string if there is none.\n * @param resourceType The resource type name. For example the type name of a web app is 'sites' (from\n * Microsoft.Web/sites).\n * @param resourceName The name of the resource.\n * @param nextLink The nextLink from the previous successful call to the ListForResource method.\n * @param options The options parameters.\n */\n private _listForResourceNext(\n resourceGroupName: string,\n resourceProviderNamespace: string,\n parentResourcePath: string,\n resourceType: string,\n resourceName: string,\n nextLink: string,\n options?: PolicyAssignmentsListForResourceNextOptionalParams\n ): Promise<PolicyAssignmentsListForResourceNextResponse> {\n return this.client.sendOperationRequest(\n {\n resourceGroupName,\n resourceProviderNamespace,\n parentResourcePath,\n resourceType,\n resourceName,\n nextLink,\n options\n },\n listForResourceNextOperationSpec\n );\n }\n\n /**\n * ListForManagementGroupNext\n * @param managementGroupId The ID of the management group.\n * @param nextLink The nextLink from the previous successful call to the ListForManagementGroup method.\n * @param options The options parameters.\n */\n private _listForManagementGroupNext(\n managementGroupId: string,\n nextLink: string,\n options?: PolicyAssignmentsListForManagementGroupNextOptionalParams\n ): Promise<PolicyAssignmentsListForManagementGroupNextResponse> {\n return this.client.sendOperationRequest(\n { managementGroupId, nextLink, options },\n listForManagementGroupNextOperationSpec\n );\n }\n\n /**\n * ListNext\n * @param nextLink The nextLink from the previous successful call to the List method.\n * @param options The options parameters.\n */\n private _listNext(\n nextLink: string,\n options?: PolicyAssignmentsListNextOptionalParams\n ): Promise<PolicyAssignmentsListNextResponse> {\n return this.client.sendOperationRequest(\n { nextLink, options },\n listNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst deleteOperationSpec: coreClient.OperationSpec = {\n path:\n \"/{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}\",\n httpMethod: \"DELETE\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicyAssignment\n },\n 204: {},\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.apiVersion1],\n urlParameters: [\n Parameters.$host,\n Parameters.scope,\n Parameters.policyAssignmentName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst createOperationSpec: coreClient.OperationSpec = {\n path:\n \"/{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}\",\n httpMethod: \"PUT\",\n responses: {\n 201: {\n bodyMapper: Mappers.PolicyAssignment\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n requestBody: Parameters.parameters,\n queryParameters: [Parameters.apiVersion1],\n urlParameters: [\n Parameters.$host,\n Parameters.scope,\n Parameters.policyAssignmentName\n ],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst getOperationSpec: coreClient.OperationSpec = {\n path:\n \"/{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicyAssignment\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.apiVersion1],\n urlParameters: [\n Parameters.$host,\n Parameters.scope,\n Parameters.policyAssignmentName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst updateOperationSpec: coreClient.OperationSpec = {\n path:\n \"/{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}\",\n httpMethod: \"PATCH\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicyAssignment\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n requestBody: Parameters.parameters1,\n queryParameters: [Parameters.apiVersion1],\n urlParameters: [\n Parameters.$host,\n Parameters.scope,\n Parameters.policyAssignmentName\n ],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst listForResourceGroupOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/policyAssignments\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicyAssignmentListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.filter, Parameters.apiVersion1, Parameters.top],\n urlParameters: [\n Parameters.$host,\n Parameters.resourceGroupName,\n Parameters.subscriptionId\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listForResourceOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/policyAssignments\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicyAssignmentListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.filter, Parameters.apiVersion1, Parameters.top],\n urlParameters: [\n Parameters.$host,\n Parameters.resourceGroupName,\n Parameters.subscriptionId,\n Parameters.resourceProviderNamespace,\n Parameters.parentResourcePath,\n Parameters.resourceType,\n Parameters.resourceName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listForManagementGroupOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Authorization/policyAssignments\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicyAssignmentListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.filter, Parameters.apiVersion1, Parameters.top],\n urlParameters: [Parameters.$host, Parameters.managementGroupId],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyAssignments\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicyAssignmentListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.filter, Parameters.apiVersion1, Parameters.top],\n urlParameters: [Parameters.$host, Parameters.subscriptionId],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst deleteByIdOperationSpec: coreClient.OperationSpec = {\n path: \"/{policyAssignmentId}\",\n httpMethod: \"DELETE\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicyAssignment\n },\n 204: {},\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.apiVersion1],\n urlParameters: [Parameters.$host, Parameters.policyAssignmentId],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst createByIdOperationSpec: coreClient.OperationSpec = {\n path: \"/{policyAssignmentId}\",\n httpMethod: \"PUT\",\n responses: {\n 201: {\n bodyMapper: Mappers.PolicyAssignment\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n requestBody: Parameters.parameters,\n queryParameters: [Parameters.apiVersion1],\n urlParameters: [Parameters.$host, Parameters.policyAssignmentId],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst getByIdOperationSpec: coreClient.OperationSpec = {\n path: \"/{policyAssignmentId}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicyAssignment\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.apiVersion1],\n urlParameters: [Parameters.$host, Parameters.policyAssignmentId],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst updateByIdOperationSpec: coreClient.OperationSpec = {\n path: \"/{policyAssignmentId}\",\n httpMethod: \"PATCH\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicyAssignment\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n requestBody: Parameters.parameters1,\n queryParameters: [Parameters.apiVersion1],\n urlParameters: [Parameters.$host, Parameters.policyAssignmentId],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst listForResourceGroupNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicyAssignmentListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.filter, Parameters.apiVersion1, Parameters.top],\n urlParameters: [\n Parameters.$host,\n Parameters.nextLink,\n Parameters.resourceGroupName,\n Parameters.subscriptionId\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listForResourceNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicyAssignmentListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.filter, Parameters.apiVersion1, Parameters.top],\n urlParameters: [\n Parameters.$host,\n Parameters.nextLink,\n Parameters.resourceGroupName,\n Parameters.subscriptionId,\n Parameters.resourceProviderNamespace,\n Parameters.parentResourcePath,\n Parameters.resourceType,\n Parameters.resourceName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listForManagementGroupNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicyAssignmentListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.filter, Parameters.apiVersion1, Parameters.top],\n urlParameters: [\n Parameters.$host,\n Parameters.nextLink,\n Parameters.managementGroupId\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicyAssignmentListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.filter, Parameters.apiVersion1, Parameters.top],\n urlParameters: [\n Parameters.$host,\n Parameters.nextLink,\n Parameters.subscriptionId\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport { PolicyDefinitions } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { PolicyClient } from \"../policyClient\";\nimport {\n PolicyDefinition,\n PolicyDefinitionsListNextOptionalParams,\n PolicyDefinitionsListOptionalParams,\n PolicyDefinitionsListBuiltInNextOptionalParams,\n PolicyDefinitionsListBuiltInOptionalParams,\n PolicyDefinitionsListByManagementGroupNextOptionalParams,\n PolicyDefinitionsListByManagementGroupOptionalParams,\n PolicyDefinitionsCreateOrUpdateOptionalParams,\n PolicyDefinitionsCreateOrUpdateResponse,\n PolicyDefinitionsDeleteOptionalParams,\n PolicyDefinitionsGetOptionalParams,\n PolicyDefinitionsGetResponse,\n PolicyDefinitionsGetBuiltInOptionalParams,\n PolicyDefinitionsGetBuiltInResponse,\n PolicyDefinitionsCreateOrUpdateAtManagementGroupOptionalParams,\n PolicyDefinitionsCreateOrUpdateAtManagementGroupResponse,\n PolicyDefinitionsDeleteAtManagementGroupOptionalParams,\n PolicyDefinitionsGetAtManagementGroupOptionalParams,\n PolicyDefinitionsGetAtManagementGroupResponse,\n PolicyDefinitionsListResponse,\n PolicyDefinitionsListBuiltInResponse,\n PolicyDefinitionsListByManagementGroupResponse,\n PolicyDefinitionsListNextResponse,\n PolicyDefinitionsListBuiltInNextResponse,\n PolicyDefinitionsListByManagementGroupNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing PolicyDefinitions operations. */\nexport class PolicyDefinitionsImpl implements PolicyDefinitions {\n private readonly client: PolicyClient;\n\n /**\n * Initialize a new instance of the class PolicyDefinitions class.\n * @param client Reference to the service client\n */\n constructor(client: PolicyClient) {\n this.client = client;\n }\n\n /**\n * This operation retrieves a list of all the policy definitions in a given subscription that match the\n * optional given $filter. Valid values for $filter are: 'atExactScope()', 'policyType -eq {value}' or\n * 'category eq '{value}''. If $filter is not provided, the unfiltered list includes all policy\n * definitions associated with the subscription, including those that apply directly or from management\n * groups that contain the given subscription. If $filter=atExactScope() is provided, the returned list\n * only includes all policy definitions that at the given subscription. If $filter='policyType -eq\n * {value}' is provided, the returned list only includes all policy definitions whose type match the\n * {value}. Possible policyType values are NotSpecified, BuiltIn, Custom, and Static. If\n * $filter='category -eq {value}' is provided, the returned list only includes all policy definitions\n * whose category match the {value}.\n * @param options The options parameters.\n */\n public list(\n options?: PolicyDefinitionsListOptionalParams\n ): PagedAsyncIterableIterator<PolicyDefinition> {\n const iter = this.listPagingAll(options);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listPagingPage(options);\n }\n };\n }\n\n private async *listPagingPage(\n options?: PolicyDefinitionsListOptionalParams\n ): AsyncIterableIterator<PolicyDefinition[]> {\n let result = await this._list(options);\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listNext(continuationToken, options);\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listPagingAll(\n options?: PolicyDefinitionsListOptionalParams\n ): AsyncIterableIterator<PolicyDefinition> {\n for await (const page of this.listPagingPage(options)) {\n yield* page;\n }\n }\n\n /**\n * This operation retrieves a list of all the built-in policy definitions that match the optional given\n * $filter. If $filter='policyType -eq {value}' is provided, the returned list only includes all\n * built-in policy definitions whose type match the {value}. Possible policyType values are\n * NotSpecified, BuiltIn, Custom, and Static. If $filter='category -eq {value}' is provided, the\n * returned list only includes all built-in policy definitions whose category match the {value}.\n * @param options The options parameters.\n */\n public listBuiltIn(\n options?: PolicyDefinitionsListBuiltInOptionalParams\n ): PagedAsyncIterableIterator<PolicyDefinition> {\n const iter = this.listBuiltInPagingAll(options);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listBuiltInPagingPage(options);\n }\n };\n }\n\n private async *listBuiltInPagingPage(\n options?: PolicyDefinitionsListBuiltInOptionalParams\n ): AsyncIterableIterator<PolicyDefinition[]> {\n let result = await this._listBuiltIn(options);\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listBuiltInNext(continuationToken, options);\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listBuiltInPagingAll(\n options?: PolicyDefinitionsListBuiltInOptionalParams\n ): AsyncIterableIterator<PolicyDefinition> {\n for await (const page of this.listBuiltInPagingPage(options)) {\n yield* page;\n }\n }\n\n /**\n * This operation retrieves a list of all the policy definitions in a given management group that match\n * the optional given $filter. Valid values for $filter are: 'atExactScope()', 'policyType -eq {value}'\n * or 'category eq '{value}''. If $filter is not provided, the unfiltered list includes all policy\n * definitions associated with the management group, including those that apply directly or from\n * management groups that contain the given management group. If $filter=atExactScope() is provided,\n * the returned list only includes all policy definitions that at the given management group. If\n * $filter='policyType -eq {value}' is provided, the returned list only includes all policy definitions\n * whose type match the {value}. Possible policyType values are NotSpecified, BuiltIn, Custom, and\n * Static. If $filter='category -eq {value}' is provided, the returned list only includes all policy\n * definitions whose category match the {value}.\n * @param managementGroupId The ID of the management group.\n * @param options The options parameters.\n */\n public listByManagementGroup(\n managementGroupId: string,\n options?: PolicyDefinitionsListByManagementGroupOptionalParams\n ): PagedAsyncIterableIterator<PolicyDefinition> {\n const iter = this.listByManagementGroupPagingAll(\n managementGroupId,\n options\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listByManagementGroupPagingPage(managementGroupId, options);\n }\n };\n }\n\n private async *listByManagementGroupPagingPage(\n managementGroupId: string,\n options?: PolicyDefinitionsListByManagementGroupOptionalParams\n ): AsyncIterableIterator<PolicyDefinition[]> {\n let result = await this._listByManagementGroup(managementGroupId, options);\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listByManagementGroupNext(\n managementGroupId,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listByManagementGroupPagingAll(\n managementGroupId: string,\n options?: PolicyDefinitionsListByManagementGroupOptionalParams\n ): AsyncIterableIterator<PolicyDefinition> {\n for await (const page of this.listByManagementGroupPagingPage(\n managementGroupId,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * This operation creates or updates a policy definition in the given subscription with the given name.\n * @param policyDefinitionName The name of the policy definition to create.\n * @param parameters The policy definition properties.\n * @param options The options parameters.\n */\n createOrUpdate(\n policyDefinitionName: string,\n parameters: PolicyDefinition,\n options?: PolicyDefinitionsCreateOrUpdateOptionalParams\n ): Promise<PolicyDefinitionsCreateOrUpdateResponse> {\n return this.client.sendOperationRequest(\n { policyDefinitionName, parameters, options },\n createOrUpdateOperationSpec\n );\n }\n\n /**\n * This operation deletes the policy definition in the given subscription with the given name.\n * @param policyDefinitionName The name of the policy definition to delete.\n * @param options The options parameters.\n */\n delete(\n policyDefinitionName: string,\n options?: PolicyDefinitionsDeleteOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { policyDefinitionName, options },\n deleteOperationSpec\n );\n }\n\n /**\n * This operation retrieves the policy definition in the given subscription with the given name.\n * @param policyDefinitionName The name of the policy definition to get.\n * @param options The options parameters.\n */\n get(\n policyDefinitionName: string,\n options?: PolicyDefinitionsGetOptionalParams\n ): Promise<PolicyDefinitionsGetResponse> {\n return this.client.sendOperationRequest(\n { policyDefinitionName, options },\n getOperationSpec\n );\n }\n\n /**\n * This operation retrieves the built-in policy definition with the given name.\n * @param policyDefinitionName The name of the built-in policy definition to get.\n * @param options The options parameters.\n */\n getBuiltIn(\n policyDefinitionName: string,\n options?: PolicyDefinitionsGetBuiltInOptionalParams\n ): Promise<PolicyDefinitionsGetBuiltInResponse> {\n return this.client.sendOperationRequest(\n { policyDefinitionName, options },\n getBuiltInOperationSpec\n );\n }\n\n /**\n * This operation creates or updates a policy definition in the given management group with the given\n * name.\n * @param policyDefinitionName The name of the policy definition to create.\n * @param managementGroupId The ID of the management group.\n * @param parameters The policy definition properties.\n * @param options The options parameters.\n */\n createOrUpdateAtManagementGroup(\n policyDefinitionName: string,\n managementGroupId: string,\n parameters: PolicyDefinition,\n options?: PolicyDefinitionsCreateOrUpdateAtManagementGroupOptionalParams\n ): Promise<PolicyDefinitionsCreateOrUpdateAtManagementGroupResponse> {\n return this.client.sendOperationRequest(\n { policyDefinitionName, managementGroupId, parameters, options },\n createOrUpdateAtManagementGroupOperationSpec\n );\n }\n\n /**\n * This operation deletes the policy definition in the given management group with the given name.\n * @param policyDefinitionName The name of the policy definition to delete.\n * @param managementGroupId The ID of the management group.\n * @param options The options parameters.\n */\n deleteAtManagementGroup(\n policyDefinitionName: string,\n managementGroupId: string,\n options?: PolicyDefinitionsDeleteAtManagementGroupOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { policyDefinitionName, managementGroupId, options },\n deleteAtManagementGroupOperationSpec\n );\n }\n\n /**\n * This operation retrieves the policy definition in the given management group with the given name.\n * @param policyDefinitionName The name of the policy definition to get.\n * @param managementGroupId The ID of the management group.\n * @param options The options parameters.\n */\n getAtManagementGroup(\n policyDefinitionName: string,\n managementGroupId: string,\n options?: PolicyDefinitionsGetAtManagementGroupOptionalParams\n ): Promise<PolicyDefinitionsGetAtManagementGroupResponse> {\n return this.client.sendOperationRequest(\n { policyDefinitionName, managementGroupId, options },\n getAtManagementGroupOperationSpec\n );\n }\n\n /**\n * This operation retrieves a list of all the policy definitions in a given subscription that match the\n * optional given $filter. Valid values for $filter are: 'atExactScope()', 'policyType -eq {value}' or\n * 'category eq '{value}''. If $filter is not provided, the unfiltered list includes all policy\n * definitions associated with the subscription, including those that apply directly or from management\n * groups that contain the given subscription. If $filter=atExactScope() is provided, the returned list\n * only includes all policy definitions that at the given subscription. If $filter='policyType -eq\n * {value}' is provided, the returned list only includes all policy definitions whose type match the\n * {value}. Possible policyType values are NotSpecified, BuiltIn, Custom, and Static. If\n * $filter='category -eq {value}' is provided, the returned list only includes all policy definitions\n * whose category match the {value}.\n * @param options The options parameters.\n */\n private _list(\n options?: PolicyDefinitionsListOptionalParams\n ): Promise<PolicyDefinitionsListResponse> {\n return this.client.sendOperationRequest({ options }, listOperationSpec);\n }\n\n /**\n * This operation retrieves a list of all the built-in policy definitions that match the optional given\n * $filter. If $filter='policyType -eq {value}' is provided, the returned list only includes all\n * built-in policy definitions whose type match the {value}. Possible policyType values are\n * NotSpecified, BuiltIn, Custom, and Static. If $filter='category -eq {value}' is provided, the\n * returned list only includes all built-in policy definitions whose category match the {value}.\n * @param options The options parameters.\n */\n private _listBuiltIn(\n options?: PolicyDefinitionsListBuiltInOptionalParams\n ): Promise<PolicyDefinitionsListBuiltInResponse> {\n return this.client.sendOperationRequest(\n { options },\n listBuiltInOperationSpec\n );\n }\n\n /**\n * This operation retrieves a list of all the policy definitions in a given management group that match\n * the optional given $filter. Valid values for $filter are: 'atExactScope()', 'policyType -eq {value}'\n * or 'category eq '{value}''. If $filter is not provided, the unfiltered list includes all policy\n * definitions associated with the management group, including those that apply directly or from\n * management groups that contain the given management group. If $filter=atExactScope() is provided,\n * the returned list only includes all policy definitions that at the given management group. If\n * $filter='policyType -eq {value}' is provided, the returned list only includes all policy definitions\n * whose type match the {value}. Possible policyType values are NotSpecified, BuiltIn, Custom, and\n * Static. If $filter='category -eq {value}' is provided, the returned list only includes all policy\n * definitions whose category match the {value}.\n * @param managementGroupId The ID of the management group.\n * @param options The options parameters.\n */\n private _listByManagementGroup(\n managementGroupId: string,\n options?: PolicyDefinitionsListByManagementGroupOptionalParams\n ): Promise<PolicyDefinitionsListByManagementGroupResponse> {\n return this.client.sendOperationRequest(\n { managementGroupId, options },\n listByManagementGroupOperationSpec\n );\n }\n\n /**\n * ListNext\n * @param nextLink The nextLink from the previous successful call to the List method.\n * @param options The options parameters.\n */\n private _listNext(\n nextLink: string,\n options?: PolicyDefinitionsListNextOptionalParams\n ): Promise<PolicyDefinitionsListNextResponse> {\n return this.client.sendOperationRequest(\n { nextLink, options },\n listNextOperationSpec\n );\n }\n\n /**\n * ListBuiltInNext\n * @param nextLink The nextLink from the previous successful call to the ListBuiltIn method.\n * @param options The options parameters.\n */\n private _listBuiltInNext(\n nextLink: string,\n options?: PolicyDefinitionsListBuiltInNextOptionalParams\n ): Promise<PolicyDefinitionsListBuiltInNextResponse> {\n return this.client.sendOperationRequest(\n { nextLink, options },\n listBuiltInNextOperationSpec\n );\n }\n\n /**\n * ListByManagementGroupNext\n * @param managementGroupId The ID of the management group.\n * @param nextLink The nextLink from the previous successful call to the ListByManagementGroup method.\n * @param options The options parameters.\n */\n private _listByManagementGroupNext(\n managementGroupId: string,\n nextLink: string,\n options?: PolicyDefinitionsListByManagementGroupNextOptionalParams\n ): Promise<PolicyDefinitionsListByManagementGroupNextResponse> {\n return this.client.sendOperationRequest(\n { managementGroupId, nextLink, options },\n listByManagementGroupNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst createOrUpdateOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}\",\n httpMethod: \"PUT\",\n responses: {\n 201: {\n bodyMapper: Mappers.PolicyDefinition\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n requestBody: Parameters.parameters2,\n queryParameters: [Parameters.apiVersion1],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.policyDefinitionName\n ],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst deleteOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}\",\n httpMethod: \"DELETE\",\n responses: {\n 200: {},\n 204: {},\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.apiVersion1],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.policyDefinitionName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst getOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicyDefinition\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.apiVersion1],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.policyDefinitionName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst getBuiltInOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicyDefinition\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.apiVersion1],\n urlParameters: [Parameters.$host, Parameters.policyDefinitionName],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst createOrUpdateAtManagementGroupOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}\",\n httpMethod: \"PUT\",\n responses: {\n 201: {\n bodyMapper: Mappers.PolicyDefinition\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n requestBody: Parameters.parameters2,\n queryParameters: [Parameters.apiVersion1],\n urlParameters: [\n Parameters.$host,\n Parameters.managementGroupId,\n Parameters.policyDefinitionName\n ],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst deleteAtManagementGroupOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}\",\n httpMethod: \"DELETE\",\n responses: {\n 200: {},\n 204: {},\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.apiVersion1],\n urlParameters: [\n Parameters.$host,\n Parameters.managementGroupId,\n Parameters.policyDefinitionName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst getAtManagementGroupOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicyDefinition\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.apiVersion1],\n urlParameters: [\n Parameters.$host,\n Parameters.managementGroupId,\n Parameters.policyDefinitionName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyDefinitions\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicyDefinitionListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.filter, Parameters.apiVersion1, Parameters.top],\n urlParameters: [Parameters.$host, Parameters.subscriptionId],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listBuiltInOperationSpec: coreClient.OperationSpec = {\n path: \"/providers/Microsoft.Authorization/policyDefinitions\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicyDefinitionListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.filter, Parameters.apiVersion1, Parameters.top],\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByManagementGroupOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Authorization/policyDefinitions\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicyDefinitionListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.filter, Parameters.apiVersion1, Parameters.top],\n urlParameters: [Parameters.$host, Parameters.managementGroupId],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicyDefinitionListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.filter, Parameters.apiVersion1, Parameters.top],\n urlParameters: [\n Parameters.$host,\n Parameters.nextLink,\n Parameters.subscriptionId\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listBuiltInNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicyDefinitionListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.filter, Parameters.apiVersion1, Parameters.top],\n urlParameters: [Parameters.$host, Parameters.nextLink],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByManagementGroupNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicyDefinitionListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.filter, Parameters.apiVersion1, Parameters.top],\n urlParameters: [\n Parameters.$host,\n Parameters.nextLink,\n Parameters.managementGroupId\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport { PolicySetDefinitions } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { PolicyClient } from \"../policyClient\";\nimport {\n PolicySetDefinition,\n PolicySetDefinitionsListNextOptionalParams,\n PolicySetDefinitionsListOptionalParams,\n PolicySetDefinitionsListBuiltInNextOptionalParams,\n PolicySetDefinitionsListBuiltInOptionalParams,\n PolicySetDefinitionsListByManagementGroupNextOptionalParams,\n PolicySetDefinitionsListByManagementGroupOptionalParams,\n PolicySetDefinitionsCreateOrUpdateOptionalParams,\n PolicySetDefinitionsCreateOrUpdateResponse,\n PolicySetDefinitionsDeleteOptionalParams,\n PolicySetDefinitionsGetOptionalParams,\n PolicySetDefinitionsGetResponse,\n PolicySetDefinitionsGetBuiltInOptionalParams,\n PolicySetDefinitionsGetBuiltInResponse,\n PolicySetDefinitionsListResponse,\n PolicySetDefinitionsListBuiltInResponse,\n PolicySetDefinitionsCreateOrUpdateAtManagementGroupOptionalParams,\n PolicySetDefinitionsCreateOrUpdateAtManagementGroupResponse,\n PolicySetDefinitionsDeleteAtManagementGroupOptionalParams,\n PolicySetDefinitionsGetAtManagementGroupOptionalParams,\n PolicySetDefinitionsGetAtManagementGroupResponse,\n PolicySetDefinitionsListByManagementGroupResponse,\n PolicySetDefinitionsListNextResponse,\n PolicySetDefinitionsListBuiltInNextResponse,\n PolicySetDefinitionsListByManagementGroupNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing PolicySetDefinitions operations. */\nexport class PolicySetDefinitionsImpl implements PolicySetDefinitions {\n private readonly client: PolicyClient;\n\n /**\n * Initialize a new instance of the class PolicySetDefinitions class.\n * @param client Reference to the service client\n */\n constructor(client: PolicyClient) {\n this.client = client;\n }\n\n /**\n * This operation retrieves a list of all the policy set definitions in a given subscription that match\n * the optional given $filter. Valid values for $filter are: 'atExactScope()', 'policyType -eq {value}'\n * or 'category eq '{value}''. If $filter is not provided, the unfiltered list includes all policy set\n * definitions associated with the subscription, including those that apply directly or from management\n * groups that contain the given subscription. If $filter=atExactScope() is provided, the returned list\n * only includes all policy set definitions that at the given subscription. If $filter='policyType -eq\n * {value}' is provided, the returned list only includes all policy set definitions whose type match\n * the {value}. Possible policyType values are NotSpecified, BuiltIn and Custom. If $filter='category\n * -eq {value}' is provided, the returned list only includes all policy set definitions whose category\n * match the {value}.\n * @param options The options parameters.\n */\n public list(\n options?: PolicySetDefinitionsListOptionalParams\n ): PagedAsyncIterableIterator<PolicySetDefinition> {\n const iter = this.listPagingAll(options);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listPagingPage(options);\n }\n };\n }\n\n private async *listPagingPage(\n options?: PolicySetDefinitionsListOptionalParams\n ): AsyncIterableIterator<PolicySetDefinition[]> {\n let result = await this._list(options);\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listNext(continuationToken, options);\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listPagingAll(\n options?: PolicySetDefinitionsListOptionalParams\n ): AsyncIterableIterator<PolicySetDefinition> {\n for await (const page of this.listPagingPage(options)) {\n yield* page;\n }\n }\n\n /**\n * This operation retrieves a list of all the built-in policy set definitions that match the optional\n * given $filter. If $filter='category -eq {value}' is provided, the returned list only includes all\n * built-in policy set definitions whose category match the {value}.\n * @param options The options parameters.\n */\n public listBuiltIn(\n options?: PolicySetDefinitionsListBuiltInOptionalParams\n ): PagedAsyncIterableIterator<PolicySetDefinition> {\n const iter = this.listBuiltInPagingAll(options);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listBuiltInPagingPage(options);\n }\n };\n }\n\n private async *listBuiltInPagingPage(\n options?: PolicySetDefinitionsListBuiltInOptionalParams\n ): AsyncIterableIterator<PolicySetDefinition[]> {\n let result = await this._listBuiltIn(options);\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listBuiltInNext(continuationToken, options);\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listBuiltInPagingAll(\n options?: PolicySetDefinitionsListBuiltInOptionalParams\n ): AsyncIterableIterator<PolicySetDefinition> {\n for await (const page of this.listBuiltInPagingPage(options)) {\n yield* page;\n }\n }\n\n /**\n * This operation retrieves a list of all the policy set definitions in a given management group that\n * match the optional given $filter. Valid values for $filter are: 'atExactScope()', 'policyType -eq\n * {value}' or 'category eq '{value}''. If $filter is not provided, the unfiltered list includes all\n * policy set definitions associated with the management group, including those that apply directly or\n * from management groups that contain the given management group. If $filter=atExactScope() is\n * provided, the returned list only includes all policy set definitions that at the given management\n * group. If $filter='policyType -eq {value}' is provided, the returned list only includes all policy\n * set definitions whose type match the {value}. Possible policyType values are NotSpecified, BuiltIn\n * and Custom. If $filter='category -eq {value}' is provided, the returned list only includes all\n * policy set definitions whose category match the {value}.\n * @param managementGroupId The ID of the management group.\n * @param options The options parameters.\n */\n public listByManagementGroup(\n managementGroupId: string,\n options?: PolicySetDefinitionsListByManagementGroupOptionalParams\n ): PagedAsyncIterableIterator<PolicySetDefinition> {\n const iter = this.listByManagementGroupPagingAll(\n managementGroupId,\n options\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listByManagementGroupPagingPage(managementGroupId, options);\n }\n };\n }\n\n private async *listByManagementGroupPagingPage(\n managementGroupId: string,\n options?: PolicySetDefinitionsListByManagementGroupOptionalParams\n ): AsyncIterableIterator<PolicySetDefinition[]> {\n let result = await this._listByManagementGroup(managementGroupId, options);\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listByManagementGroupNext(\n managementGroupId,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listByManagementGroupPagingAll(\n managementGroupId: string,\n options?: PolicySetDefinitionsListByManagementGroupOptionalParams\n ): AsyncIterableIterator<PolicySetDefinition> {\n for await (const page of this.listByManagementGroupPagingPage(\n managementGroupId,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * This operation creates or updates a policy set definition in the given subscription with the given\n * name.\n * @param policySetDefinitionName The name of the policy set definition to create.\n * @param parameters The policy set definition properties.\n * @param options The options parameters.\n */\n createOrUpdate(\n policySetDefinitionName: string,\n parameters: PolicySetDefinition,\n options?: PolicySetDefinitionsCreateOrUpdateOptionalParams\n ): Promise<PolicySetDefinitionsCreateOrUpdateResponse> {\n return this.client.sendOperationRequest(\n { policySetDefinitionName, parameters, options },\n createOrUpdateOperationSpec\n );\n }\n\n /**\n * This operation deletes the policy set definition in the given subscription with the given name.\n * @param policySetDefinitionName The name of the policy set definition to delete.\n * @param options The options parameters.\n */\n delete(\n policySetDefinitionName: string,\n options?: PolicySetDefinitionsDeleteOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { policySetDefinitionName, options },\n deleteOperationSpec\n );\n }\n\n /**\n * This operation retrieves the policy set definition in the given subscription with the given name.\n * @param policySetDefinitionName The name of the policy set definition to get.\n * @param options The options parameters.\n */\n get(\n policySetDefinitionName: string,\n options?: PolicySetDefinitionsGetOptionalParams\n ): Promise<PolicySetDefinitionsGetResponse> {\n return this.client.sendOperationRequest(\n { policySetDefinitionName, options },\n getOperationSpec\n );\n }\n\n /**\n * This operation retrieves the built-in policy set definition with the given name.\n * @param policySetDefinitionName The name of the policy set definition to get.\n * @param options The options parameters.\n */\n getBuiltIn(\n policySetDefinitionName: string,\n options?: PolicySetDefinitionsGetBuiltInOptionalParams\n ): Promise<PolicySetDefinitionsGetBuiltInResponse> {\n return this.client.sendOperationRequest(\n { policySetDefinitionName, options },\n getBuiltInOperationSpec\n );\n }\n\n /**\n * This operation retrieves a list of all the policy set definitions in a given subscription that match\n * the optional given $filter. Valid values for $filter are: 'atExactScope()', 'policyType -eq {value}'\n * or 'category eq '{value}''. If $filter is not provided, the unfiltered list includes all policy set\n * definitions associated with the subscription, including those that apply directly or from management\n * groups that contain the given subscription. If $filter=atExactScope() is provided, the returned list\n * only includes all policy set definitions that at the given subscription. If $filter='policyType -eq\n * {value}' is provided, the returned list only includes all policy set definitions whose type match\n * the {value}. Possible policyType values are NotSpecified, BuiltIn and Custom. If $filter='category\n * -eq {value}' is provided, the returned list only includes all policy set definitions whose category\n * match the {value}.\n * @param options The options parameters.\n */\n private _list(\n options?: PolicySetDefinitionsListOptionalParams\n ): Promise<PolicySetDefinitionsListResponse> {\n return this.client.sendOperationRequest({ options }, listOperationSpec);\n }\n\n /**\n * This operation retrieves a list of all the built-in policy set definitions that match the optional\n * given $filter. If $filter='category -eq {value}' is provided, the returned list only includes all\n * built-in policy set definitions whose category match the {value}.\n * @param options The options parameters.\n */\n private _listBuiltIn(\n options?: PolicySetDefinitionsListBuiltInOptionalParams\n ): Promise<PolicySetDefinitionsListBuiltInResponse> {\n return this.client.sendOperationRequest(\n { options },\n listBuiltInOperationSpec\n );\n }\n\n /**\n * This operation creates or updates a policy set definition in the given management group with the\n * given name.\n * @param policySetDefinitionName The name of the policy set definition to create.\n * @param managementGroupId The ID of the management group.\n * @param parameters The policy set definition properties.\n * @param options The options parameters.\n */\n createOrUpdateAtManagementGroup(\n policySetDefinitionName: string,\n managementGroupId: string,\n parameters: PolicySetDefinition,\n options?: PolicySetDefinitionsCreateOrUpdateAtManagementGroupOptionalParams\n ): Promise<PolicySetDefinitionsCreateOrUpdateAtManagementGroupResponse> {\n return this.client.sendOperationRequest(\n { policySetDefinitionName, managementGroupId, parameters, options },\n createOrUpdateAtManagementGroupOperationSpec\n );\n }\n\n /**\n * This operation deletes the policy set definition in the given management group with the given name.\n * @param policySetDefinitionName The name of the policy set definition to delete.\n * @param managementGroupId The ID of the management group.\n * @param options The options parameters.\n */\n deleteAtManagementGroup(\n policySetDefinitionName: string,\n managementGroupId: string,\n options?: PolicySetDefinitionsDeleteAtManagementGroupOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { policySetDefinitionName, managementGroupId, options },\n deleteAtManagementGroupOperationSpec\n );\n }\n\n /**\n * This operation retrieves the policy set definition in the given management group with the given\n * name.\n * @param policySetDefinitionName The name of the policy set definition to get.\n * @param managementGroupId The ID of the management group.\n * @param options The options parameters.\n */\n getAtManagementGroup(\n policySetDefinitionName: string,\n managementGroupId: string,\n options?: PolicySetDefinitionsGetAtManagementGroupOptionalParams\n ): Promise<PolicySetDefinitionsGetAtManagementGroupResponse> {\n return this.client.sendOperationRequest(\n { policySetDefinitionName, managementGroupId, options },\n getAtManagementGroupOperationSpec\n );\n }\n\n /**\n * This operation retrieves a list of all the policy set definitions in a given management group that\n * match the optional given $filter. Valid values for $filter are: 'atExactScope()', 'policyType -eq\n * {value}' or 'category eq '{value}''. If $filter is not provided, the unfiltered list includes all\n * policy set definitions associated with the management group, including those that apply directly or\n * from management groups that contain the given management group. If $filter=atExactScope() is\n * provided, the returned list only includes all policy set definitions that at the given management\n * group. If $filter='policyType -eq {value}' is provided, the returned list only includes all policy\n * set definitions whose type match the {value}. Possible policyType values are NotSpecified, BuiltIn\n * and Custom. If $filter='category -eq {value}' is provided, the returned list only includes all\n * policy set definitions whose category match the {value}.\n * @param managementGroupId The ID of the management group.\n * @param options The options parameters.\n */\n private _listByManagementGroup(\n managementGroupId: string,\n options?: PolicySetDefinitionsListByManagementGroupOptionalParams\n ): Promise<PolicySetDefinitionsListByManagementGroupResponse> {\n return this.client.sendOperationRequest(\n { managementGroupId, options },\n listByManagementGroupOperationSpec\n );\n }\n\n /**\n * ListNext\n * @param nextLink The nextLink from the previous successful call to the List method.\n * @param options The options parameters.\n */\n private _listNext(\n nextLink: string,\n options?: PolicySetDefinitionsListNextOptionalParams\n ): Promise<PolicySetDefinitionsListNextResponse> {\n return this.client.sendOperationRequest(\n { nextLink, options },\n listNextOperationSpec\n );\n }\n\n /**\n * ListBuiltInNext\n * @param nextLink The nextLink from the previous successful call to the ListBuiltIn method.\n * @param options The options parameters.\n */\n private _listBuiltInNext(\n nextLink: string,\n options?: PolicySetDefinitionsListBuiltInNextOptionalParams\n ): Promise<PolicySetDefinitionsListBuiltInNextResponse> {\n return this.client.sendOperationRequest(\n { nextLink, options },\n listBuiltInNextOperationSpec\n );\n }\n\n /**\n * ListByManagementGroupNext\n * @param managementGroupId The ID of the management group.\n * @param nextLink The nextLink from the previous successful call to the ListByManagementGroup method.\n * @param options The options parameters.\n */\n private _listByManagementGroupNext(\n managementGroupId: string,\n nextLink: string,\n options?: PolicySetDefinitionsListByManagementGroupNextOptionalParams\n ): Promise<PolicySetDefinitionsListByManagementGroupNextResponse> {\n return this.client.sendOperationRequest(\n { managementGroupId, nextLink, options },\n listByManagementGroupNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst createOrUpdateOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}\",\n httpMethod: \"PUT\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicySetDefinition\n },\n 201: {\n bodyMapper: Mappers.PolicySetDefinition\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n requestBody: Parameters.parameters3,\n queryParameters: [Parameters.apiVersion1],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.policySetDefinitionName\n ],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst deleteOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}\",\n httpMethod: \"DELETE\",\n responses: {\n 200: {},\n 204: {},\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.apiVersion1],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.policySetDefinitionName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst getOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicySetDefinition\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.apiVersion1],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.policySetDefinitionName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst getBuiltInOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicySetDefinition\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.apiVersion1],\n urlParameters: [Parameters.$host, Parameters.policySetDefinitionName],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policySetDefinitions\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicySetDefinitionListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.filter, Parameters.apiVersion1, Parameters.top],\n urlParameters: [Parameters.$host, Parameters.subscriptionId],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listBuiltInOperationSpec: coreClient.OperationSpec = {\n path: \"/providers/Microsoft.Authorization/policySetDefinitions\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicySetDefinitionListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.filter, Parameters.apiVersion1, Parameters.top],\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst createOrUpdateAtManagementGroupOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}\",\n httpMethod: \"PUT\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicySetDefinition\n },\n 201: {\n bodyMapper: Mappers.PolicySetDefinition\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n requestBody: Parameters.parameters3,\n queryParameters: [Parameters.apiVersion1],\n urlParameters: [\n Parameters.$host,\n Parameters.managementGroupId,\n Parameters.policySetDefinitionName\n ],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst deleteAtManagementGroupOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}\",\n httpMethod: \"DELETE\",\n responses: {\n 200: {},\n 204: {},\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.apiVersion1],\n urlParameters: [\n Parameters.$host,\n Parameters.managementGroupId,\n Parameters.policySetDefinitionName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst getAtManagementGroupOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicySetDefinition\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.apiVersion1],\n urlParameters: [\n Parameters.$host,\n Parameters.managementGroupId,\n Parameters.policySetDefinitionName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByManagementGroupOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Authorization/policySetDefinitions\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicySetDefinitionListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.filter, Parameters.apiVersion1, Parameters.top],\n urlParameters: [Parameters.$host, Parameters.managementGroupId],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicySetDefinitionListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.filter, Parameters.apiVersion1, Parameters.top],\n urlParameters: [\n Parameters.$host,\n Parameters.nextLink,\n Parameters.subscriptionId\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listBuiltInNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicySetDefinitionListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.filter, Parameters.apiVersion1, Parameters.top],\n urlParameters: [Parameters.$host, Parameters.nextLink],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listByManagementGroupNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicySetDefinitionListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.filter, Parameters.apiVersion1, Parameters.top],\n urlParameters: [\n Parameters.$host,\n Parameters.nextLink,\n Parameters.managementGroupId\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport { PolicyExemptions } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { PolicyClient } from \"../policyClient\";\nimport {\n PolicyExemption,\n PolicyExemptionsListNextOptionalParams,\n PolicyExemptionsListOptionalParams,\n PolicyExemptionsListForResourceGroupNextOptionalParams,\n PolicyExemptionsListForResourceGroupOptionalParams,\n PolicyExemptionsListForResourceNextOptionalParams,\n PolicyExemptionsListForResourceOptionalParams,\n PolicyExemptionsListForManagementGroupNextOptionalParams,\n PolicyExemptionsListForManagementGroupOptionalParams,\n PolicyExemptionsDeleteOptionalParams,\n PolicyExemptionsCreateOrUpdateOptionalParams,\n PolicyExemptionsCreateOrUpdateResponse,\n PolicyExemptionsGetOptionalParams,\n PolicyExemptionsGetResponse,\n PolicyExemptionsListResponse,\n PolicyExemptionsListForResourceGroupResponse,\n PolicyExemptionsListForResourceResponse,\n PolicyExemptionsListForManagementGroupResponse,\n PolicyExemptionsListNextResponse,\n PolicyExemptionsListForResourceGroupNextResponse,\n PolicyExemptionsListForResourceNextResponse,\n PolicyExemptionsListForManagementGroupNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing PolicyExemptions operations. */\nexport class PolicyExemptionsImpl implements PolicyExemptions {\n private readonly client: PolicyClient;\n\n /**\n * Initialize a new instance of the class PolicyExemptions class.\n * @param client Reference to the service client\n */\n constructor(client: PolicyClient) {\n this.client = client;\n }\n\n /**\n * This operation retrieves the list of all policy exemptions associated with the given subscription\n * that match the optional given $filter. Valid values for $filter are: 'atScope()', 'atExactScope()',\n * 'excludeExpired()' or 'policyAssignmentId eq '{value}''. If $filter is not provided, the unfiltered\n * list includes all policy exemptions associated with the subscription, including those that apply\n * directly or from management groups that contain the given subscription, as well as any applied to\n * objects contained within the subscription.\n * @param options The options parameters.\n */\n public list(\n options?: PolicyExemptionsListOptionalParams\n ): PagedAsyncIterableIterator<PolicyExemption> {\n const iter = this.listPagingAll(options);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listPagingPage(options);\n }\n };\n }\n\n private async *listPagingPage(\n options?: PolicyExemptionsListOptionalParams\n ): AsyncIterableIterator<PolicyExemption[]> {\n let result = await this._list(options);\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listNext(continuationToken, options);\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listPagingAll(\n options?: PolicyExemptionsListOptionalParams\n ): AsyncIterableIterator<PolicyExemption> {\n for await (const page of this.listPagingPage(options)) {\n yield* page;\n }\n }\n\n /**\n * This operation retrieves the list of all policy exemptions associated with the given resource group\n * in the given subscription that match the optional given $filter. Valid values for $filter are:\n * 'atScope()', 'atExactScope()', 'excludeExpired()' or 'policyAssignmentId eq '{value}''. If $filter\n * is not provided, the unfiltered list includes all policy exemptions associated with the resource\n * group, including those that apply directly or apply from containing scopes, as well as any applied\n * to resources contained within the resource group.\n * @param resourceGroupName The name of the resource group containing the resource.\n * @param options The options parameters.\n */\n public listForResourceGroup(\n resourceGroupName: string,\n options?: PolicyExemptionsListForResourceGroupOptionalParams\n ): PagedAsyncIterableIterator<PolicyExemption> {\n const iter = this.listForResourceGroupPagingAll(resourceGroupName, options);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listForResourceGroupPagingPage(resourceGroupName, options);\n }\n };\n }\n\n private async *listForResourceGroupPagingPage(\n resourceGroupName: string,\n options?: PolicyExemptionsListForResourceGroupOptionalParams\n ): AsyncIterableIterator<PolicyExemption[]> {\n let result = await this._listForResourceGroup(resourceGroupName, options);\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listForResourceGroupNext(\n resourceGroupName,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listForResourceGroupPagingAll(\n resourceGroupName: string,\n options?: PolicyExemptionsListForResourceGroupOptionalParams\n ): AsyncIterableIterator<PolicyExemption> {\n for await (const page of this.listForResourceGroupPagingPage(\n resourceGroupName,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * This operation retrieves the list of all policy exemptions associated with the specified resource in\n * the given resource group and subscription that match the optional given $filter. Valid values for\n * $filter are: 'atScope()', 'atExactScope()', 'excludeExpired()' or 'policyAssignmentId eq '{value}''.\n * If $filter is not provided, the unfiltered list includes all policy exemptions associated with the\n * resource, including those that apply directly or from all containing scopes, as well as any applied\n * to resources contained within the resource. Three parameters plus the resource name are used to\n * identify a specific resource. If the resource is not part of a parent resource (the more common\n * case), the parent resource path should not be provided (or provided as ''). For example a web app\n * could be specified as ({resourceProviderNamespace} == 'Microsoft.Web', {parentResourcePath} == '',\n * {resourceType} == 'sites', {resourceName} == 'MyWebApp'). If the resource is part of a parent\n * resource, then all parameters should be provided. For example a virtual machine DNS name could be\n * specified as ({resourceProviderNamespace} == 'Microsoft.Compute', {parentResourcePath} ==\n * 'virtualMachines/MyVirtualMachine', {resourceType} == 'domainNames', {resourceName} ==\n * 'MyComputerName'). A convenient alternative to providing the namespace and type name separately is\n * to provide both in the {resourceType} parameter, format: ({resourceProviderNamespace} == '',\n * {parentResourcePath} == '', {resourceType} == 'Microsoft.Web/sites', {resourceName} == 'MyWebApp').\n * @param resourceGroupName The name of the resource group containing the resource.\n * @param resourceProviderNamespace The namespace of the resource provider. For example, the namespace\n * of a virtual machine is Microsoft.Compute (from Microsoft.Compute/virtualMachines)\n * @param parentResourcePath The parent resource path. Use empty string if there is none.\n * @param resourceType The resource type name. For example the type name of a web app is 'sites' (from\n * Microsoft.Web/sites).\n * @param resourceName The name of the resource.\n * @param options The options parameters.\n */\n public listForResource(\n resourceGroupName: string,\n resourceProviderNamespace: string,\n parentResourcePath: string,\n resourceType: string,\n resourceName: string,\n options?: PolicyExemptionsListForResourceOptionalParams\n ): PagedAsyncIterableIterator<PolicyExemption> {\n const iter = this.listForResourcePagingAll(\n resourceGroupName,\n resourceProviderNamespace,\n parentResourcePath,\n resourceType,\n resourceName,\n options\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listForResourcePagingPage(\n resourceGroupName,\n resourceProviderNamespace,\n parentResourcePath,\n resourceType,\n resourceName,\n options\n );\n }\n };\n }\n\n private async *listForResourcePagingPage(\n resourceGroupName: string,\n resourceProviderNamespace: string,\n parentResourcePath: string,\n resourceType: string,\n resourceName: string,\n options?: PolicyExemptionsListForResourceOptionalParams\n ): AsyncIterableIterator<PolicyExemption[]> {\n let result = await this._listForResource(\n resourceGroupName,\n resourceProviderNamespace,\n parentResourcePath,\n resourceType,\n resourceName,\n options\n );\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listForResourceNext(\n resourceGroupName,\n resourceProviderNamespace,\n parentResourcePath,\n resourceType,\n resourceName,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listForResourcePagingAll(\n resourceGroupName: string,\n resourceProviderNamespace: string,\n parentResourcePath: string,\n resourceType: string,\n resourceName: string,\n options?: PolicyExemptionsListForResourceOptionalParams\n ): AsyncIterableIterator<PolicyExemption> {\n for await (const page of this.listForResourcePagingPage(\n resourceGroupName,\n resourceProviderNamespace,\n parentResourcePath,\n resourceType,\n resourceName,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * This operation retrieves the list of all policy exemptions applicable to the management group that\n * match the given $filter. Valid values for $filter are: 'atScope()', 'atExactScope()',\n * 'excludeExpired()' or 'policyAssignmentId eq '{value}''. If $filter=atScope() is provided, the\n * returned list includes all policy exemptions that are assigned to the management group or the\n * management group's ancestors.\n * @param managementGroupId The ID of the management group.\n * @param options The options parameters.\n */\n public listForManagementGroup(\n managementGroupId: string,\n options?: PolicyExemptionsListForManagementGroupOptionalParams\n ): PagedAsyncIterableIterator<PolicyExemption> {\n const iter = this.listForManagementGroupPagingAll(\n managementGroupId,\n options\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listForManagementGroupPagingPage(\n managementGroupId,\n options\n );\n }\n };\n }\n\n private async *listForManagementGroupPagingPage(\n managementGroupId: string,\n options?: PolicyExemptionsListForManagementGroupOptionalParams\n ): AsyncIterableIterator<PolicyExemption[]> {\n let result = await this._listForManagementGroup(managementGroupId, options);\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listForManagementGroupNext(\n managementGroupId,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listForManagementGroupPagingAll(\n managementGroupId: string,\n options?: PolicyExemptionsListForManagementGroupOptionalParams\n ): AsyncIterableIterator<PolicyExemption> {\n for await (const page of this.listForManagementGroupPagingPage(\n managementGroupId,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * This operation deletes a policy exemption, given its name and the scope it was created in. The scope\n * of a policy exemption is the part of its ID preceding\n * '/providers/Microsoft.Authorization/policyExemptions/{policyExemptionName}'.\n * @param scope The scope of the policy exemption. Valid scopes are: management group (format:\n * '/providers/Microsoft.Management/managementGroups/{managementGroup}'), subscription (format:\n * '/subscriptions/{subscriptionId}'), resource group (format:\n * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format:\n * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'\n * @param policyExemptionName The name of the policy exemption to delete.\n * @param options The options parameters.\n */\n delete(\n scope: string,\n policyExemptionName: string,\n options?: PolicyExemptionsDeleteOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { scope, policyExemptionName, options },\n deleteOperationSpec\n );\n }\n\n /**\n * This operation creates or updates a policy exemption with the given scope and name. Policy\n * exemptions apply to all resources contained within their scope. For example, when you create a\n * policy exemption at resource group scope for a policy assignment at the same or above level, the\n * exemption exempts to all applicable resources in the resource group.\n * @param scope The scope of the policy exemption. Valid scopes are: management group (format:\n * '/providers/Microsoft.Management/managementGroups/{managementGroup}'), subscription (format:\n * '/subscriptions/{subscriptionId}'), resource group (format:\n * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format:\n * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'\n * @param policyExemptionName The name of the policy exemption to delete.\n * @param parameters Parameters for the policy exemption.\n * @param options The options parameters.\n */\n createOrUpdate(\n scope: string,\n policyExemptionName: string,\n parameters: PolicyExemption,\n options?: PolicyExemptionsCreateOrUpdateOptionalParams\n ): Promise<PolicyExemptionsCreateOrUpdateResponse> {\n return this.client.sendOperationRequest(\n { scope, policyExemptionName, parameters, options },\n createOrUpdateOperationSpec\n );\n }\n\n /**\n * This operation retrieves a single policy exemption, given its name and the scope it was created at.\n * @param scope The scope of the policy exemption. Valid scopes are: management group (format:\n * '/providers/Microsoft.Management/managementGroups/{managementGroup}'), subscription (format:\n * '/subscriptions/{subscriptionId}'), resource group (format:\n * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format:\n * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'\n * @param policyExemptionName The name of the policy exemption to delete.\n * @param options The options parameters.\n */\n get(\n scope: string,\n policyExemptionName: string,\n options?: PolicyExemptionsGetOptionalParams\n ): Promise<PolicyExemptionsGetResponse> {\n return this.client.sendOperationRequest(\n { scope, policyExemptionName, options },\n getOperationSpec\n );\n }\n\n /**\n * This operation retrieves the list of all policy exemptions associated with the given subscription\n * that match the optional given $filter. Valid values for $filter are: 'atScope()', 'atExactScope()',\n * 'excludeExpired()' or 'policyAssignmentId eq '{value}''. If $filter is not provided, the unfiltered\n * list includes all policy exemptions associated with the subscription, including those that apply\n * directly or from management groups that contain the given subscription, as well as any applied to\n * objects contained within the subscription.\n * @param options The options parameters.\n */\n private _list(\n options?: PolicyExemptionsListOptionalParams\n ): Promise<PolicyExemptionsListResponse> {\n return this.client.sendOperationRequest({ options }, listOperationSpec);\n }\n\n /**\n * This operation retrieves the list of all policy exemptions associated with the given resource group\n * in the given subscription that match the optional given $filter. Valid values for $filter are:\n * 'atScope()', 'atExactScope()', 'excludeExpired()' or 'policyAssignmentId eq '{value}''. If $filter\n * is not provided, the unfiltered list includes all policy exemptions associated with the resource\n * group, including those that apply directly or apply from containing scopes, as well as any applied\n * to resources contained within the resource group.\n * @param resourceGroupName The name of the resource group containing the resource.\n * @param options The options parameters.\n */\n private _listForResourceGroup(\n resourceGroupName: string,\n options?: PolicyExemptionsListForResourceGroupOptionalParams\n ): Promise<PolicyExemptionsListForResourceGroupResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, options },\n listForResourceGroupOperationSpec\n );\n }\n\n /**\n * This operation retrieves the list of all policy exemptions associated with the specified resource in\n * the given resource group and subscription that match the optional given $filter. Valid values for\n * $filter are: 'atScope()', 'atExactScope()', 'excludeExpired()' or 'policyAssignmentId eq '{value}''.\n * If $filter is not provided, the unfiltered list includes all policy exemptions associated with the\n * resource, including those that apply directly or from all containing scopes, as well as any applied\n * to resources contained within the resource. Three parameters plus the resource name are used to\n * identify a specific resource. If the resource is not part of a parent resource (the more common\n * case), the parent resource path should not be provided (or provided as ''). For example a web app\n * could be specified as ({resourceProviderNamespace} == 'Microsoft.Web', {parentResourcePath} == '',\n * {resourceType} == 'sites', {resourceName} == 'MyWebApp'). If the resource is part of a parent\n * resource, then all parameters should be provided. For example a virtual machine DNS name could be\n * specified as ({resourceProviderNamespace} == 'Microsoft.Compute', {parentResourcePath} ==\n * 'virtualMachines/MyVirtualMachine', {resourceType} == 'domainNames', {resourceName} ==\n * 'MyComputerName'). A convenient alternative to providing the namespace and type name separately is\n * to provide both in the {resourceType} parameter, format: ({resourceProviderNamespace} == '',\n * {parentResourcePath} == '', {resourceType} == 'Microsoft.Web/sites', {resourceName} == 'MyWebApp').\n * @param resourceGroupName The name of the resource group containing the resource.\n * @param resourceProviderNamespace The namespace of the resource provider. For example, the namespace\n * of a virtual machine is Microsoft.Compute (from Microsoft.Compute/virtualMachines)\n * @param parentResourcePath The parent resource path. Use empty string if there is none.\n * @param resourceType The resource type name. For example the type name of a web app is 'sites' (from\n * Microsoft.Web/sites).\n * @param resourceName The name of the resource.\n * @param options The options parameters.\n */\n private _listForResource(\n resourceGroupName: string,\n resourceProviderNamespace: string,\n parentResourcePath: string,\n resourceType: string,\n resourceName: string,\n options?: PolicyExemptionsListForResourceOptionalParams\n ): Promise<PolicyExemptionsListForResourceResponse> {\n return this.client.sendOperationRequest(\n {\n resourceGroupName,\n resourceProviderNamespace,\n parentResourcePath,\n resourceType,\n resourceName,\n options\n },\n listForResourceOperationSpec\n );\n }\n\n /**\n * This operation retrieves the list of all policy exemptions applicable to the management group that\n * match the given $filter. Valid values for $filter are: 'atScope()', 'atExactScope()',\n * 'excludeExpired()' or 'policyAssignmentId eq '{value}''. If $filter=atScope() is provided, the\n * returned list includes all policy exemptions that are assigned to the management group or the\n * management group's ancestors.\n * @param managementGroupId The ID of the management group.\n * @param options The options parameters.\n */\n private _listForManagementGroup(\n managementGroupId: string,\n options?: PolicyExemptionsListForManagementGroupOptionalParams\n ): Promise<PolicyExemptionsListForManagementGroupResponse> {\n return this.client.sendOperationRequest(\n { managementGroupId, options },\n listForManagementGroupOperationSpec\n );\n }\n\n /**\n * ListNext\n * @param nextLink The nextLink from the previous successful call to the List method.\n * @param options The options parameters.\n */\n private _listNext(\n nextLink: string,\n options?: PolicyExemptionsListNextOptionalParams\n ): Promise<PolicyExemptionsListNextResponse> {\n return this.client.sendOperationRequest(\n { nextLink, options },\n listNextOperationSpec\n );\n }\n\n /**\n * ListForResourceGroupNext\n * @param resourceGroupName The name of the resource group containing the resource.\n * @param nextLink The nextLink from the previous successful call to the ListForResourceGroup method.\n * @param options The options parameters.\n */\n private _listForResourceGroupNext(\n resourceGroupName: string,\n nextLink: string,\n options?: PolicyExemptionsListForResourceGroupNextOptionalParams\n ): Promise<PolicyExemptionsListForResourceGroupNextResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, nextLink, options },\n listForResourceGroupNextOperationSpec\n );\n }\n\n /**\n * ListForResourceNext\n * @param resourceGroupName The name of the resource group containing the resource.\n * @param resourceProviderNamespace The namespace of the resource provider. For example, the namespace\n * of a virtual machine is Microsoft.Compute (from Microsoft.Compute/virtualMachines)\n * @param parentResourcePath The parent resource path. Use empty string if there is none.\n * @param resourceType The resource type name. For example the type name of a web app is 'sites' (from\n * Microsoft.Web/sites).\n * @param resourceName The name of the resource.\n * @param nextLink The nextLink from the previous successful call to the ListForResource method.\n * @param options The options parameters.\n */\n private _listForResourceNext(\n resourceGroupName: string,\n resourceProviderNamespace: string,\n parentResourcePath: string,\n resourceType: string,\n resourceName: string,\n nextLink: string,\n options?: PolicyExemptionsListForResourceNextOptionalParams\n ): Promise<PolicyExemptionsListForResourceNextResponse> {\n return this.client.sendOperationRequest(\n {\n resourceGroupName,\n resourceProviderNamespace,\n parentResourcePath,\n resourceType,\n resourceName,\n nextLink,\n options\n },\n listForResourceNextOperationSpec\n );\n }\n\n /**\n * ListForManagementGroupNext\n * @param managementGroupId The ID of the management group.\n * @param nextLink The nextLink from the previous successful call to the ListForManagementGroup method.\n * @param options The options parameters.\n */\n private _listForManagementGroupNext(\n managementGroupId: string,\n nextLink: string,\n options?: PolicyExemptionsListForManagementGroupNextOptionalParams\n ): Promise<PolicyExemptionsListForManagementGroupNextResponse> {\n return this.client.sendOperationRequest(\n { managementGroupId, nextLink, options },\n listForManagementGroupNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst deleteOperationSpec: coreClient.OperationSpec = {\n path:\n \"/{scope}/providers/Microsoft.Authorization/policyExemptions/{policyExemptionName}\",\n httpMethod: \"DELETE\",\n responses: {\n 200: {},\n 204: {},\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.apiVersion2],\n urlParameters: [\n Parameters.$host,\n Parameters.scope,\n Parameters.policyExemptionName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst createOrUpdateOperationSpec: coreClient.OperationSpec = {\n path:\n \"/{scope}/providers/Microsoft.Authorization/policyExemptions/{policyExemptionName}\",\n httpMethod: \"PUT\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicyExemption\n },\n 201: {\n bodyMapper: Mappers.PolicyExemption\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n requestBody: Parameters.parameters4,\n queryParameters: [Parameters.apiVersion2],\n urlParameters: [\n Parameters.$host,\n Parameters.scope,\n Parameters.policyExemptionName\n ],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst getOperationSpec: coreClient.OperationSpec = {\n path:\n \"/{scope}/providers/Microsoft.Authorization/policyExemptions/{policyExemptionName}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicyExemption\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.apiVersion2],\n urlParameters: [\n Parameters.$host,\n Parameters.scope,\n Parameters.policyExemptionName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyExemptions\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicyExemptionListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.filter, Parameters.apiVersion2],\n urlParameters: [Parameters.$host, Parameters.subscriptionId],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listForResourceGroupOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/policyExemptions\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicyExemptionListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.filter, Parameters.apiVersion2],\n urlParameters: [\n Parameters.$host,\n Parameters.resourceGroupName,\n Parameters.subscriptionId\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listForResourceOperationSpec: coreClient.OperationSpec = {\n path:\n \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/policyExemptions\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicyExemptionListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.filter, Parameters.apiVersion2],\n urlParameters: [\n Parameters.$host,\n Parameters.resourceGroupName,\n Parameters.subscriptionId,\n Parameters.resourceProviderNamespace,\n Parameters.parentResourcePath,\n Parameters.resourceType,\n Parameters.resourceName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listForManagementGroupOperationSpec: coreClient.OperationSpec = {\n path:\n \"/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Authorization/policyExemptions\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicyExemptionListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.filter, Parameters.apiVersion2],\n urlParameters: [Parameters.$host, Parameters.managementGroupId],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicyExemptionListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.filter, Parameters.apiVersion2],\n urlParameters: [\n Parameters.$host,\n Parameters.nextLink,\n Parameters.subscriptionId\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listForResourceGroupNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicyExemptionListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.filter, Parameters.apiVersion2],\n urlParameters: [\n Parameters.$host,\n Parameters.nextLink,\n Parameters.resourceGroupName,\n Parameters.subscriptionId\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listForResourceNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicyExemptionListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.filter, Parameters.apiVersion2],\n urlParameters: [\n Parameters.$host,\n Parameters.nextLink,\n Parameters.resourceGroupName,\n Parameters.subscriptionId,\n Parameters.resourceProviderNamespace,\n Parameters.parentResourcePath,\n Parameters.resourceType,\n Parameters.resourceName\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listForManagementGroupNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PolicyExemptionListResult\n },\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n queryParameters: [Parameters.filter, Parameters.apiVersion2],\n urlParameters: [\n Parameters.$host,\n Parameters.nextLink,\n Parameters.managementGroupId\n ],\n headerParameters: [Parameters.accept],\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreClient from \"@azure/core-client\";\nimport * as coreAuth from \"@azure/core-auth\";\nimport {\n DataPolicyManifestsImpl,\n PolicyAssignmentsImpl,\n PolicyDefinitionsImpl,\n PolicySetDefinitionsImpl,\n PolicyExemptionsImpl\n} from \"./operations\";\nimport {\n DataPolicyManifests,\n PolicyAssignments,\n PolicyDefinitions,\n PolicySetDefinitions,\n PolicyExemptions\n} from \"./operationsInterfaces\";\nimport { PolicyClientOptionalParams } from \"./models\";\n\nexport class PolicyClient extends coreClient.ServiceClient {\n $host: string;\n subscriptionId: string;\n\n /**\n * Initializes a new instance of the PolicyClient class.\n * @param credentials Subscription credentials which uniquely identify client subscription.\n * @param subscriptionId The ID of the target subscription.\n * @param options The parameter options\n */\n constructor(\n credentials: coreAuth.TokenCredential,\n subscriptionId: string,\n options?: PolicyClientOptionalParams\n ) {\n if (credentials === undefined) {\n throw new Error(\"'credentials' cannot be null\");\n }\n if (subscriptionId === undefined) {\n throw new Error(\"'subscriptionId' cannot be null\");\n }\n\n // Initializing default values for options\n if (!options) {\n options = {};\n }\n const defaults: PolicyClientOptionalParams = {\n requestContentType: \"application/json; charset=utf-8\",\n credential: credentials\n };\n\n const packageDetails = `azsdk-js-arm-policy/5.0.0`;\n const userAgentPrefix =\n options.userAgentOptions && options.userAgentOptions.userAgentPrefix\n ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}`\n : `${packageDetails}`;\n\n if (!options.credentialScopes) {\n options.credentialScopes = [\"https://management.azure.com/.default\"];\n }\n const optionsWithDefaults = {\n ...defaults,\n ...options,\n userAgentOptions: {\n userAgentPrefix\n },\n baseUri: options.endpoint || \"https://management.azure.com\"\n };\n super(optionsWithDefaults);\n // Parameter assignments\n this.subscriptionId = subscriptionId;\n\n // Assigning values to Constant parameters\n this.$host = options.$host || \"https://management.azure.com\";\n this.dataPolicyManifests = new DataPolicyManifestsImpl(this);\n this.policyAssignments = new PolicyAssignmentsImpl(this);\n this.policyDefinitions = new PolicyDefinitionsImpl(this);\n this.policySetDefinitions = new PolicySetDefinitionsImpl(this);\n this.policyExemptions = new PolicyExemptionsImpl(this);\n }\n\n dataPolicyManifests: DataPolicyManifests;\n policyAssignments: PolicyAssignments;\n policyDefinitions: PolicyDefinitions;\n policySetDefinitions: PolicySetDefinitions;\n policyExemptions: PolicyExemptions;\n}\n"],"names":["KnownAliasPathTokenType","KnownAliasPathAttributes","KnownEnforcementMode","KnownCreatedByType","KnownPolicyType","KnownParameterType","KnownExemptionCategory","PolicyAssignmentMapper","PolicyAssignmentUpdateMapper","PolicyDefinitionMapper","PolicySetDefinitionMapper","PolicyExemptionMapper","__asyncValues","__asyncDelegator","coreClient.createSerializer","Mappers.DataPolicyManifest","Mappers.CloudError","Parameters.apiVersion","Parameters.$host","Parameters.policyMode","Parameters.accept","Mappers.DataPolicyManifestListResult","Parameters.filter","Parameters.nextLink","listOperationSpec","listNextOperationSpec","serializer","Mappers.PolicyAssignment","Parameters.apiVersion1","Parameters.scope","Parameters.policyAssignmentName","Parameters.parameters","Parameters.contentType","Parameters.parameters1","Mappers.PolicyAssignmentListResult","Parameters.top","Parameters.resourceGroupName","Parameters.subscriptionId","Parameters.resourceProviderNamespace","Parameters.parentResourcePath","Parameters.resourceType","Parameters.resourceName","Parameters.managementGroupId","Parameters.policyAssignmentId","deleteOperationSpec","getOperationSpec","Mappers.PolicyDefinition","Parameters.parameters2","Parameters.policyDefinitionName","Mappers.PolicyDefinitionListResult","createOrUpdateOperationSpec","getBuiltInOperationSpec","listBuiltInOperationSpec","createOrUpdateAtManagementGroupOperationSpec","deleteAtManagementGroupOperationSpec","getAtManagementGroupOperationSpec","listByManagementGroupOperationSpec","listBuiltInNextOperationSpec","listByManagementGroupNextOperationSpec","Mappers.PolicySetDefinition","Parameters.parameters3","Parameters.policySetDefinitionName","Mappers.PolicySetDefinitionListResult","listForResourceGroupOperationSpec","listForResourceOperationSpec","listForManagementGroupOperationSpec","listForResourceGroupNextOperationSpec","listForResourceNextOperationSpec","listForManagementGroupNextOperationSpec","Parameters.apiVersion2","Parameters.policyExemptionName","Mappers.PolicyExemption","Parameters.parameters4","Mappers.PolicyExemptionListResult","coreClient.ServiceClient"],"mappings":"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"}
|