@azure/arm-redisenterprisecache 3.1.0-alpha.20241015.1 → 3.1.0-beta.2

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.
Files changed (134) hide show
  1. package/CHANGELOG.md +111 -9
  2. package/dist/index.js +1094 -162
  3. package/dist/index.js.map +1 -1
  4. package/dist/index.min.js +1 -1
  5. package/dist/index.min.js.map +1 -1
  6. package/dist-esm/samples-dev/accessPolicyAssignmentCreateUpdateSample.d.ts +2 -0
  7. package/dist-esm/samples-dev/accessPolicyAssignmentCreateUpdateSample.d.ts.map +1 -0
  8. package/dist-esm/samples-dev/accessPolicyAssignmentCreateUpdateSample.js +45 -0
  9. package/dist-esm/samples-dev/accessPolicyAssignmentCreateUpdateSample.js.map +1 -0
  10. package/dist-esm/samples-dev/accessPolicyAssignmentDeleteSample.d.ts +2 -0
  11. package/dist-esm/samples-dev/accessPolicyAssignmentDeleteSample.d.ts.map +1 -0
  12. package/dist-esm/samples-dev/accessPolicyAssignmentDeleteSample.js +41 -0
  13. package/dist-esm/samples-dev/accessPolicyAssignmentDeleteSample.js.map +1 -0
  14. package/dist-esm/samples-dev/accessPolicyAssignmentGetSample.d.ts +2 -0
  15. package/dist-esm/samples-dev/accessPolicyAssignmentGetSample.d.ts.map +1 -0
  16. package/dist-esm/samples-dev/accessPolicyAssignmentGetSample.js +41 -0
  17. package/dist-esm/samples-dev/accessPolicyAssignmentGetSample.js.map +1 -0
  18. package/dist-esm/samples-dev/accessPolicyAssignmentListSample.d.ts +2 -0
  19. package/dist-esm/samples-dev/accessPolicyAssignmentListSample.d.ts.map +1 -0
  20. package/dist-esm/samples-dev/accessPolicyAssignmentListSample.js +56 -0
  21. package/dist-esm/samples-dev/accessPolicyAssignmentListSample.js.map +1 -0
  22. package/dist-esm/samples-dev/databasesCreateSample.js +10 -6
  23. package/dist-esm/samples-dev/databasesCreateSample.js.map +1 -1
  24. package/dist-esm/samples-dev/databasesDeleteSample.js +3 -2
  25. package/dist-esm/samples-dev/databasesDeleteSample.js.map +1 -1
  26. package/dist-esm/samples-dev/databasesExportSample.js +3 -2
  27. package/dist-esm/samples-dev/databasesExportSample.js.map +1 -1
  28. package/dist-esm/samples-dev/databasesFlushSample.js +4 -3
  29. package/dist-esm/samples-dev/databasesFlushSample.js.map +1 -1
  30. package/dist-esm/samples-dev/databasesForceLinkToReplicationGroupSample.js +1 -1
  31. package/dist-esm/samples-dev/databasesForceUnlinkSample.js +4 -3
  32. package/dist-esm/samples-dev/databasesForceUnlinkSample.js.map +1 -1
  33. package/dist-esm/samples-dev/databasesGetSample.js +5 -4
  34. package/dist-esm/samples-dev/databasesGetSample.js.map +1 -1
  35. package/dist-esm/samples-dev/databasesImportSample.js +3 -2
  36. package/dist-esm/samples-dev/databasesImportSample.js.map +1 -1
  37. package/dist-esm/samples-dev/databasesListByClusterSample.js +5 -4
  38. package/dist-esm/samples-dev/databasesListByClusterSample.js.map +1 -1
  39. package/dist-esm/samples-dev/databasesListKeysSample.js +5 -4
  40. package/dist-esm/samples-dev/databasesListKeysSample.js.map +1 -1
  41. package/dist-esm/samples-dev/databasesRegenerateKeySample.js +5 -4
  42. package/dist-esm/samples-dev/databasesRegenerateKeySample.js.map +1 -1
  43. package/dist-esm/samples-dev/databasesUpdateSample.js +4 -2
  44. package/dist-esm/samples-dev/databasesUpdateSample.js.map +1 -1
  45. package/dist-esm/samples-dev/databasesUpgradeDbRedisVersionSample.js +3 -2
  46. package/dist-esm/samples-dev/databasesUpgradeDbRedisVersionSample.js.map +1 -1
  47. package/dist-esm/samples-dev/operationsListSample.js +1 -1
  48. package/dist-esm/samples-dev/operationsStatusGetSample.js +3 -2
  49. package/dist-esm/samples-dev/operationsStatusGetSample.js.map +1 -1
  50. package/dist-esm/samples-dev/privateEndpointConnectionsDeleteSample.js +5 -4
  51. package/dist-esm/samples-dev/privateEndpointConnectionsDeleteSample.js.map +1 -1
  52. package/dist-esm/samples-dev/privateEndpointConnectionsGetSample.js +5 -4
  53. package/dist-esm/samples-dev/privateEndpointConnectionsGetSample.js.map +1 -1
  54. package/dist-esm/samples-dev/privateEndpointConnectionsListSample.js +5 -4
  55. package/dist-esm/samples-dev/privateEndpointConnectionsListSample.js.map +1 -1
  56. package/dist-esm/samples-dev/privateEndpointConnectionsPutSample.js +5 -4
  57. package/dist-esm/samples-dev/privateEndpointConnectionsPutSample.js.map +1 -1
  58. package/dist-esm/samples-dev/privateLinkResourcesListByClusterSample.js +5 -4
  59. package/dist-esm/samples-dev/privateLinkResourcesListByClusterSample.js.map +1 -1
  60. package/dist-esm/samples-dev/redisEnterpriseCreateSample.js +3 -2
  61. package/dist-esm/samples-dev/redisEnterpriseCreateSample.js.map +1 -1
  62. package/dist-esm/samples-dev/redisEnterpriseDeleteSample.js +5 -4
  63. package/dist-esm/samples-dev/redisEnterpriseDeleteSample.js.map +1 -1
  64. package/dist-esm/samples-dev/redisEnterpriseGetSample.js +5 -4
  65. package/dist-esm/samples-dev/redisEnterpriseGetSample.js.map +1 -1
  66. package/dist-esm/samples-dev/redisEnterpriseListByResourceGroupSample.js +5 -4
  67. package/dist-esm/samples-dev/redisEnterpriseListByResourceGroupSample.js.map +1 -1
  68. package/dist-esm/samples-dev/redisEnterpriseListSample.js +5 -4
  69. package/dist-esm/samples-dev/redisEnterpriseListSample.js.map +1 -1
  70. package/dist-esm/samples-dev/redisEnterpriseUpdateSample.js +5 -4
  71. package/dist-esm/samples-dev/redisEnterpriseUpdateSample.js.map +1 -1
  72. package/dist-esm/src/models/index.d.ts +423 -27
  73. package/dist-esm/src/models/index.d.ts.map +1 -1
  74. package/dist-esm/src/models/index.js +134 -2
  75. package/dist-esm/src/models/index.js.map +1 -1
  76. package/dist-esm/src/models/mappers.d.ts +16 -1
  77. package/dist-esm/src/models/mappers.d.ts.map +1 -1
  78. package/dist-esm/src/models/mappers.js +372 -2
  79. package/dist-esm/src/models/mappers.js.map +1 -1
  80. package/dist-esm/src/models/parameters.d.ts +2 -0
  81. package/dist-esm/src/models/parameters.d.ts.map +1 -1
  82. package/dist-esm/src/models/parameters.js +19 -2
  83. package/dist-esm/src/models/parameters.js.map +1 -1
  84. package/dist-esm/src/operations/accessPolicyAssignmentOperations.d.ts +94 -0
  85. package/dist-esm/src/operations/accessPolicyAssignmentOperations.d.ts.map +1 -0
  86. package/dist-esm/src/operations/accessPolicyAssignmentOperations.js +403 -0
  87. package/dist-esm/src/operations/accessPolicyAssignmentOperations.js.map +1 -0
  88. package/dist-esm/src/operations/databases.d.ts +6 -6
  89. package/dist-esm/src/operations/databases.js +6 -6
  90. package/dist-esm/src/operations/index.d.ts +1 -0
  91. package/dist-esm/src/operations/index.d.ts.map +1 -1
  92. package/dist-esm/src/operations/index.js +1 -0
  93. package/dist-esm/src/operations/index.js.map +1 -1
  94. package/dist-esm/src/operations/privateEndpointConnections.d.ts +7 -7
  95. package/dist-esm/src/operations/privateEndpointConnections.js +7 -7
  96. package/dist-esm/src/operations/privateLinkResources.d.ts +2 -2
  97. package/dist-esm/src/operations/privateLinkResources.js +2 -2
  98. package/dist-esm/src/operations/redisEnterprise.d.ts +13 -13
  99. package/dist-esm/src/operations/redisEnterprise.js +13 -13
  100. package/dist-esm/src/operationsInterfaces/accessPolicyAssignmentOperations.d.ts +67 -0
  101. package/dist-esm/src/operationsInterfaces/accessPolicyAssignmentOperations.d.ts.map +1 -0
  102. package/dist-esm/src/operationsInterfaces/accessPolicyAssignmentOperations.js +9 -0
  103. package/dist-esm/src/operationsInterfaces/accessPolicyAssignmentOperations.js.map +1 -0
  104. package/dist-esm/src/operationsInterfaces/databases.d.ts +5 -5
  105. package/dist-esm/src/operationsInterfaces/index.d.ts +1 -0
  106. package/dist-esm/src/operationsInterfaces/index.d.ts.map +1 -1
  107. package/dist-esm/src/operationsInterfaces/index.js +1 -0
  108. package/dist-esm/src/operationsInterfaces/index.js.map +1 -1
  109. package/dist-esm/src/operationsInterfaces/privateEndpointConnections.d.ts +6 -6
  110. package/dist-esm/src/operationsInterfaces/privateLinkResources.d.ts +1 -1
  111. package/dist-esm/src/operationsInterfaces/redisEnterprise.d.ts +11 -11
  112. package/dist-esm/src/redisEnterpriseManagementClient.d.ts +2 -1
  113. package/dist-esm/src/redisEnterpriseManagementClient.d.ts.map +1 -1
  114. package/dist-esm/src/redisEnterpriseManagementClient.js +4 -2
  115. package/dist-esm/src/redisEnterpriseManagementClient.js.map +1 -1
  116. package/package.json +2 -2
  117. package/review/arm-redisenterprisecache.api.md +239 -2
  118. package/src/models/index.ts +457 -26
  119. package/src/models/mappers.ts +400 -2
  120. package/src/models/parameters.ts +21 -1
  121. package/src/operations/accessPolicyAssignmentOperations.ts +569 -0
  122. package/src/operations/databases.ts +6 -6
  123. package/src/operations/index.ts +1 -0
  124. package/src/operations/privateEndpointConnections.ts +7 -7
  125. package/src/operations/privateLinkResources.ts +2 -2
  126. package/src/operations/redisEnterprise.ts +13 -13
  127. package/src/operationsInterfaces/accessPolicyAssignmentOperations.ts +132 -0
  128. package/src/operationsInterfaces/databases.ts +5 -5
  129. package/src/operationsInterfaces/index.ts +1 -0
  130. package/src/operationsInterfaces/privateEndpointConnections.ts +6 -6
  131. package/src/operationsInterfaces/privateLinkResources.ts +1 -1
  132. package/src/operationsInterfaces/redisEnterprise.ts +11 -11
  133. package/src/redisEnterpriseManagementClient.ts +6 -1
  134. package/types/arm-redisenterprisecache.d.ts +544 -50
package/dist/index.min.js CHANGED
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0});var tslib=require("tslib"),coreClient=require("@azure/core-client"),coreRestPipeline=require("@azure/core-rest-pipeline"),coreLro=require("@azure/core-lro");function _interopNamespaceDefault(t){var a=Object.create(null);return t&&Object.keys(t).forEach(function(e){var r;"default"!==e&&(r=Object.getOwnPropertyDescriptor(t,e),Object.defineProperty(a,e,r.get?r:{enumerable:!0,get:function(){return t[e]}}))}),a.default=t,Object.freeze(a)}var coreClient__namespace=_interopNamespaceDefault(coreClient),coreRestPipeline__namespace=_interopNamespaceDefault(coreRestPipeline);let pageMap=new WeakMap;function getContinuationToken(e){return"object"!=typeof e||null===e||null==(e=pageMap.get(e))?void 0:e.continuationToken}function setContinuationToken(e,r){var t;"object"==typeof e&&null!==e&&r&&((t=null!=(t=pageMap.get(e))?t:{}).continuationToken=r,pageMap.set(e,t))}exports.KnownOrigin=void 0,(e=>{e.User="user",e.System="system",e.UserSystem="user,system"})(exports.KnownOrigin||(exports.KnownOrigin={})),exports.KnownActionType=void 0,(exports.KnownActionType||(exports.KnownActionType={})).Internal="Internal",exports.KnownSkuName=void 0,(e=>{e.EnterpriseE5="Enterprise_E5",e.EnterpriseE10="Enterprise_E10",e.EnterpriseE20="Enterprise_E20",e.EnterpriseE50="Enterprise_E50",e.EnterpriseE100="Enterprise_E100",e.EnterpriseFlashF300="EnterpriseFlash_F300",e.EnterpriseFlashF700="EnterpriseFlash_F700",e.EnterpriseFlashF1500="EnterpriseFlash_F1500"})(exports.KnownSkuName||(exports.KnownSkuName={})),exports.KnownManagedServiceIdentityType=void 0,(e=>{e.None="None",e.SystemAssigned="SystemAssigned",e.UserAssigned="UserAssigned",e.SystemAssignedUserAssigned="SystemAssigned, UserAssigned"})(exports.KnownManagedServiceIdentityType||(exports.KnownManagedServiceIdentityType={})),exports.KnownTlsVersion=void 0,(e=>{e.One0="1.0",e.One1="1.1",e.One2="1.2"})(exports.KnownTlsVersion||(exports.KnownTlsVersion={})),exports.KnownCmkIdentityType=void 0,(e=>{e.SystemAssignedIdentity="systemAssignedIdentity",e.UserAssignedIdentity="userAssignedIdentity"})(exports.KnownCmkIdentityType||(exports.KnownCmkIdentityType={})),exports.KnownProvisioningState=void 0,(e=>{e.Succeeded="Succeeded",e.Failed="Failed",e.Canceled="Canceled",e.Creating="Creating",e.Updating="Updating",e.Deleting="Deleting"})(exports.KnownProvisioningState||(exports.KnownProvisioningState={})),exports.KnownResourceState=void 0,(e=>{e.Running="Running",e.Creating="Creating",e.CreateFailed="CreateFailed",e.Updating="Updating",e.UpdateFailed="UpdateFailed",e.Deleting="Deleting",e.DeleteFailed="DeleteFailed",e.Enabling="Enabling",e.EnableFailed="EnableFailed",e.Disabling="Disabling",e.DisableFailed="DisableFailed",e.Disabled="Disabled",e.Scaling="Scaling",e.ScalingFailed="ScalingFailed"})(exports.KnownResourceState||(exports.KnownResourceState={})),exports.KnownPrivateEndpointServiceConnectionStatus=void 0,(e=>{e.Pending="Pending",e.Approved="Approved",e.Rejected="Rejected"})(exports.KnownPrivateEndpointServiceConnectionStatus||(exports.KnownPrivateEndpointServiceConnectionStatus={})),exports.KnownPrivateEndpointConnectionProvisioningState=void 0,(e=>{e.Succeeded="Succeeded",e.Creating="Creating",e.Deleting="Deleting",e.Failed="Failed"})(exports.KnownPrivateEndpointConnectionProvisioningState||(exports.KnownPrivateEndpointConnectionProvisioningState={})),exports.KnownProtocol=void 0,(e=>{e.Encrypted="Encrypted",e.Plaintext="Plaintext"})(exports.KnownProtocol||(exports.KnownProtocol={})),exports.KnownClusteringPolicy=void 0,(e=>{e.EnterpriseCluster="EnterpriseCluster",e.OSSCluster="OSSCluster"})(exports.KnownClusteringPolicy||(exports.KnownClusteringPolicy={})),exports.KnownEvictionPolicy=void 0,(e=>{e.AllKeysLFU="AllKeysLFU",e.AllKeysLRU="AllKeysLRU",e.AllKeysRandom="AllKeysRandom",e.VolatileLRU="VolatileLRU",e.VolatileLFU="VolatileLFU",e.VolatileTTL="VolatileTTL",e.VolatileRandom="VolatileRandom",e.NoEviction="NoEviction"})(exports.KnownEvictionPolicy||(exports.KnownEvictionPolicy={})),exports.KnownAofFrequency=void 0,(e=>{e.OneS="1s",e.Always="always"})(exports.KnownAofFrequency||(exports.KnownAofFrequency={})),exports.KnownRdbFrequency=void 0,(e=>{e.OneH="1h",e.SixH="6h",e.TwelveH="12h"})(exports.KnownRdbFrequency||(exports.KnownRdbFrequency={})),exports.KnownLinkState=void 0,(e=>{e.Linked="Linked",e.Linking="Linking",e.Unlinking="Unlinking",e.LinkFailed="LinkFailed",e.UnlinkFailed="UnlinkFailed"})(exports.KnownLinkState||(exports.KnownLinkState={})),exports.KnownDeferUpgradeSetting=void 0,(e=>{e.Deferred="Deferred",e.NotDeferred="NotDeferred"})(exports.KnownDeferUpgradeSetting||(exports.KnownDeferUpgradeSetting={}));let OperationListResult={type:{name:"Composite",className:"OperationListResult",modelProperties:{value:{serializedName:"value",readOnly:!0,type:{name:"Sequence",element:{type:{name:"Composite",className:"Operation"}}}},nextLink:{serializedName:"nextLink",readOnly:!0,type:{name:"String"}}}}},Operation={type:{name:"Composite",className:"Operation",modelProperties:{name:{serializedName:"name",readOnly:!0,type:{name:"String"}},isDataAction:{serializedName:"isDataAction",readOnly:!0,type:{name:"Boolean"}},display:{serializedName:"display",type:{name:"Composite",className:"OperationDisplay"}},origin:{serializedName:"origin",readOnly:!0,type:{name:"String"}},actionType:{serializedName:"actionType",readOnly:!0,type:{name:"String"}}}}},OperationDisplay={type:{name:"Composite",className:"OperationDisplay",modelProperties:{provider:{serializedName:"provider",readOnly:!0,type:{name:"String"}},resource:{serializedName:"resource",readOnly:!0,type:{name:"String"}},operation:{serializedName:"operation",readOnly:!0,type:{name:"String"}},description:{serializedName:"description",readOnly:!0,type:{name:"String"}}}}},ErrorResponse={type:{name:"Composite",className:"ErrorResponse",modelProperties:{error:{serializedName:"error",type:{name:"Composite",className:"ErrorDetail"}}}}},ErrorDetail={type:{name:"Composite",className:"ErrorDetail",modelProperties:{code:{serializedName:"code",readOnly:!0,type:{name:"String"}},message:{serializedName:"message",readOnly:!0,type:{name:"String"}},target:{serializedName:"target",readOnly:!0,type:{name:"String"}},details:{serializedName:"details",readOnly:!0,type:{name:"Sequence",element:{type:{name:"Composite",className:"ErrorDetail"}}}},additionalInfo:{serializedName:"additionalInfo",readOnly:!0,type:{name:"Sequence",element:{type:{name:"Composite",className:"ErrorAdditionalInfo"}}}}}}},ErrorAdditionalInfo={type:{name:"Composite",className:"ErrorAdditionalInfo",modelProperties:{type:{serializedName:"type",readOnly:!0,type:{name:"String"}},info:{serializedName:"info",readOnly:!0,type:{name:"Dictionary",value:{type:{name:"any"}}}}}}},OperationStatus={type:{name:"Composite",className:"OperationStatus",modelProperties:{id:{serializedName:"id",type:{name:"String"}},name:{serializedName:"name",type:{name:"String"}},startTime:{serializedName:"startTime",type:{name:"String"}},endTime:{serializedName:"endTime",type:{name:"String"}},status:{serializedName:"status",type:{name:"String"}},error:{serializedName:"error",type:{name:"Composite",className:"ErrorResponse"}}}}},Sku={type:{name:"Composite",className:"Sku",modelProperties:{name:{serializedName:"name",required:!0,type:{name:"String"}},capacity:{serializedName:"capacity",type:{name:"Number"}}}}},ManagedServiceIdentity={type:{name:"Composite",className:"ManagedServiceIdentity",modelProperties:{principalId:{serializedName:"principalId",readOnly:!0,type:{name:"Uuid"}},tenantId:{serializedName:"tenantId",readOnly:!0,type:{name:"Uuid"}},type:{serializedName:"type",required:!0,type:{name:"String"}},userAssignedIdentities:{serializedName:"userAssignedIdentities",type:{name:"Dictionary",value:{type:{name:"Composite",className:"UserAssignedIdentity"}}}}}}},UserAssignedIdentity={type:{name:"Composite",className:"UserAssignedIdentity",modelProperties:{principalId:{serializedName:"principalId",readOnly:!0,type:{name:"Uuid"}},clientId:{serializedName:"clientId",readOnly:!0,type:{name:"Uuid"}}}}},ClusterPropertiesEncryption={type:{name:"Composite",className:"ClusterPropertiesEncryption",modelProperties:{customerManagedKeyEncryption:{serializedName:"customerManagedKeyEncryption",type:{name:"Composite",className:"ClusterPropertiesEncryptionCustomerManagedKeyEncryption"}}}}},ClusterPropertiesEncryptionCustomerManagedKeyEncryption={type:{name:"Composite",className:"ClusterPropertiesEncryptionCustomerManagedKeyEncryption",modelProperties:{keyEncryptionKeyIdentity:{serializedName:"keyEncryptionKeyIdentity",type:{name:"Composite",className:"ClusterPropertiesEncryptionCustomerManagedKeyEncryptionKeyIdentity"}},keyEncryptionKeyUrl:{serializedName:"keyEncryptionKeyUrl",type:{name:"String"}}}}},ClusterPropertiesEncryptionCustomerManagedKeyEncryptionKeyIdentity={type:{name:"Composite",className:"ClusterPropertiesEncryptionCustomerManagedKeyEncryptionKeyIdentity",modelProperties:{userAssignedIdentityResourceId:{serializedName:"userAssignedIdentityResourceId",type:{name:"String"}},identityType:{serializedName:"identityType",type:{name:"String"}}}}},PrivateEndpoint={type:{name:"Composite",className:"PrivateEndpoint",modelProperties:{id:{serializedName:"id",readOnly:!0,type:{name:"String"}}}}},PrivateLinkServiceConnectionState={type:{name:"Composite",className:"PrivateLinkServiceConnectionState",modelProperties:{status:{serializedName:"status",type:{name:"String"}},description:{serializedName:"description",type:{name:"String"}},actionsRequired:{serializedName:"actionsRequired",type:{name:"String"}}}}},Resource={type:{name:"Composite",className:"Resource",modelProperties:{id:{serializedName:"id",readOnly:!0,type:{name:"String"}},name:{serializedName:"name",readOnly:!0,type:{name:"String"}},type:{serializedName:"type",readOnly:!0,type:{name:"String"}}}}},ClusterUpdate={type:{name:"Composite",className:"ClusterUpdate",modelProperties:{sku:{serializedName:"sku",type:{name:"Composite",className:"Sku"}},identity:{serializedName:"identity",type:{name:"Composite",className:"ManagedServiceIdentity"}},tags:{serializedName:"tags",type:{name:"Dictionary",value:{type:{name:"String"}}}},minimumTlsVersion:{serializedName:"properties.minimumTlsVersion",type:{name:"String"}},encryption:{serializedName:"properties.encryption",type:{name:"Composite",className:"ClusterPropertiesEncryption"}},hostName:{serializedName:"properties.hostName",readOnly:!0,type:{name:"String"}},provisioningState:{serializedName:"properties.provisioningState",readOnly:!0,type:{name:"String"}},resourceState:{serializedName:"properties.resourceState",readOnly:!0,type:{name:"String"}},redisVersion:{serializedName:"properties.redisVersion",readOnly:!0,type:{name:"String"}},privateEndpointConnections:{serializedName:"properties.privateEndpointConnections",readOnly:!0,type:{name:"Sequence",element:{type:{name:"Composite",className:"PrivateEndpointConnection"}}}}}}},ClusterList={type:{name:"Composite",className:"ClusterList",modelProperties:{value:{serializedName:"value",type:{name:"Sequence",element:{type:{name:"Composite",className:"Cluster"}}}},nextLink:{serializedName:"nextLink",readOnly:!0,type:{name:"String"}}}}},DatabaseList={type:{name:"Composite",className:"DatabaseList",modelProperties:{value:{serializedName:"value",type:{name:"Sequence",element:{type:{name:"Composite",className:"Database"}}}},nextLink:{serializedName:"nextLink",readOnly:!0,type:{name:"String"}}}}},Persistence={type:{name:"Composite",className:"Persistence",modelProperties:{aofEnabled:{serializedName:"aofEnabled",type:{name:"Boolean"}},rdbEnabled:{serializedName:"rdbEnabled",type:{name:"Boolean"}},aofFrequency:{serializedName:"aofFrequency",type:{name:"String"}},rdbFrequency:{serializedName:"rdbFrequency",type:{name:"String"}}}}},Module={type:{name:"Composite",className:"Module",modelProperties:{name:{serializedName:"name",required:!0,type:{name:"String"}},args:{serializedName:"args",type:{name:"String"}},version:{serializedName:"version",readOnly:!0,type:{name:"String"}}}}},DatabasePropertiesGeoReplication={type:{name:"Composite",className:"DatabasePropertiesGeoReplication",modelProperties:{groupNickname:{serializedName:"groupNickname",type:{name:"String"}},linkedDatabases:{serializedName:"linkedDatabases",type:{name:"Sequence",element:{type:{name:"Composite",className:"LinkedDatabase"}}}}}}},LinkedDatabase={type:{name:"Composite",className:"LinkedDatabase",modelProperties:{id:{serializedName:"id",type:{name:"String"}},state:{serializedName:"state",readOnly:!0,type:{name:"String"}}}}},DatabaseUpdate={type:{name:"Composite",className:"DatabaseUpdate",modelProperties:{clientProtocol:{serializedName:"properties.clientProtocol",type:{name:"String"}},port:{serializedName:"properties.port",type:{name:"Number"}},provisioningState:{serializedName:"properties.provisioningState",readOnly:!0,type:{name:"String"}},resourceState:{serializedName:"properties.resourceState",readOnly:!0,type:{name:"String"}},clusteringPolicy:{serializedName:"properties.clusteringPolicy",type:{name:"String"}},evictionPolicy:{serializedName:"properties.evictionPolicy",type:{name:"String"}},persistence:{serializedName:"properties.persistence",type:{name:"Composite",className:"Persistence"}},modules:{serializedName:"properties.modules",type:{name:"Sequence",element:{type:{name:"Composite",className:"Module"}}}},geoReplication:{serializedName:"properties.geoReplication",type:{name:"Composite",className:"DatabasePropertiesGeoReplication"}},redisVersion:{serializedName:"properties.redisVersion",readOnly:!0,type:{name:"String"}},deferUpgrade:{serializedName:"properties.deferUpgrade",type:{name:"String"}}}}},AccessKeys={type:{name:"Composite",className:"AccessKeys",modelProperties:{primaryKey:{serializedName:"primaryKey",readOnly:!0,type:{name:"String"}},secondaryKey:{serializedName:"secondaryKey",readOnly:!0,type:{name:"String"}}}}},RegenerateKeyParameters={type:{name:"Composite",className:"RegenerateKeyParameters",modelProperties:{keyType:{serializedName:"keyType",required:!0,type:{name:"Enum",allowedValues:["Primary","Secondary"]}}}}},ImportClusterParameters={type:{name:"Composite",className:"ImportClusterParameters",modelProperties:{sasUris:{serializedName:"sasUris",required:!0,type:{name:"Sequence",element:{type:{name:"String"}}}}}}},ExportClusterParameters={type:{name:"Composite",className:"ExportClusterParameters",modelProperties:{sasUri:{serializedName:"sasUri",required:!0,type:{name:"String"}}}}},PrivateEndpointConnectionListResult={type:{name:"Composite",className:"PrivateEndpointConnectionListResult",modelProperties:{value:{serializedName:"value",type:{name:"Sequence",element:{type:{name:"Composite",className:"PrivateEndpointConnection"}}}}}}},PrivateLinkResourceListResult={type:{name:"Composite",className:"PrivateLinkResourceListResult",modelProperties:{value:{serializedName:"value",type:{name:"Sequence",element:{type:{name:"Composite",className:"PrivateLinkResource"}}}}}}},ForceUnlinkParameters={type:{name:"Composite",className:"ForceUnlinkParameters",modelProperties:{ids:{serializedName:"ids",required:!0,type:{name:"Sequence",element:{type:{name:"String"}}}}}}},ForceLinkParameters={type:{name:"Composite",className:"ForceLinkParameters",modelProperties:{groupNickname:{serializedName:"groupNickname",required:!0,type:{name:"String"}},linkedDatabases:{serializedName:"linkedDatabases",required:!0,type:{name:"Sequence",element:{type:{name:"Composite",className:"LinkedDatabase"}}}}}}},FlushParameters={type:{name:"Composite",className:"FlushParameters",modelProperties:{ids:{serializedName:"ids",type:{name:"Sequence",element:{type:{name:"String"}}}}}}},PrivateEndpointConnection={type:{name:"Composite",className:"PrivateEndpointConnection",modelProperties:Object.assign(Object.assign({},Resource.type.modelProperties),{privateEndpoint:{serializedName:"properties.privateEndpoint",type:{name:"Composite",className:"PrivateEndpoint"}},privateLinkServiceConnectionState:{serializedName:"properties.privateLinkServiceConnectionState",type:{name:"Composite",className:"PrivateLinkServiceConnectionState"}},provisioningState:{serializedName:"properties.provisioningState",readOnly:!0,type:{name:"String"}}})}},TrackedResource={type:{name:"Composite",className:"TrackedResource",modelProperties:Object.assign(Object.assign({},Resource.type.modelProperties),{tags:{serializedName:"tags",type:{name:"Dictionary",value:{type:{name:"String"}}}},location:{serializedName:"location",required:!0,type:{name:"String"}}})}},ProxyResource={type:{name:"Composite",className:"ProxyResource",modelProperties:Object.assign({},Resource.type.modelProperties)}},PrivateLinkResource={type:{name:"Composite",className:"PrivateLinkResource",modelProperties:Object.assign(Object.assign({},Resource.type.modelProperties),{groupId:{serializedName:"properties.groupId",readOnly:!0,type:{name:"String"}},requiredMembers:{serializedName:"properties.requiredMembers",readOnly:!0,type:{name:"Sequence",element:{type:{name:"String"}}}},requiredZoneNames:{serializedName:"properties.requiredZoneNames",type:{name:"Sequence",element:{type:{name:"String"}}}}})}},Cluster={type:{name:"Composite",className:"Cluster",modelProperties:Object.assign(Object.assign({},TrackedResource.type.modelProperties),{sku:{serializedName:"sku",type:{name:"Composite",className:"Sku"}},zones:{serializedName:"zones",type:{name:"Sequence",element:{type:{name:"String"}}}},identity:{serializedName:"identity",type:{name:"Composite",className:"ManagedServiceIdentity"}},minimumTlsVersion:{serializedName:"properties.minimumTlsVersion",type:{name:"String"}},encryption:{serializedName:"properties.encryption",type:{name:"Composite",className:"ClusterPropertiesEncryption"}},hostName:{serializedName:"properties.hostName",readOnly:!0,type:{name:"String"}},provisioningState:{serializedName:"properties.provisioningState",readOnly:!0,type:{name:"String"}},resourceState:{serializedName:"properties.resourceState",readOnly:!0,type:{name:"String"}},redisVersion:{serializedName:"properties.redisVersion",readOnly:!0,type:{name:"String"}},privateEndpointConnections:{serializedName:"properties.privateEndpointConnections",readOnly:!0,type:{name:"Sequence",element:{type:{name:"Composite",className:"PrivateEndpointConnection"}}}}})}},Database={type:{name:"Composite",className:"Database",modelProperties:Object.assign(Object.assign({},ProxyResource.type.modelProperties),{clientProtocol:{serializedName:"properties.clientProtocol",type:{name:"String"}},port:{serializedName:"properties.port",type:{name:"Number"}},provisioningState:{serializedName:"properties.provisioningState",readOnly:!0,type:{name:"String"}},resourceState:{serializedName:"properties.resourceState",readOnly:!0,type:{name:"String"}},clusteringPolicy:{serializedName:"properties.clusteringPolicy",type:{name:"String"}},evictionPolicy:{serializedName:"properties.evictionPolicy",type:{name:"String"}},persistence:{serializedName:"properties.persistence",type:{name:"Composite",className:"Persistence"}},modules:{serializedName:"properties.modules",type:{name:"Sequence",element:{type:{name:"Composite",className:"Module"}}}},geoReplication:{serializedName:"properties.geoReplication",type:{name:"Composite",className:"DatabasePropertiesGeoReplication"}},redisVersion:{serializedName:"properties.redisVersion",readOnly:!0,type:{name:"String"}},deferUpgrade:{serializedName:"properties.deferUpgrade",type:{name:"String"}}})}},DatabasesForceLinkToReplicationGroupHeaders={type:{name:"Composite",className:"DatabasesForceLinkToReplicationGroupHeaders",modelProperties:{location:{serializedName:"location",type:{name:"String"}},azureAsyncOperation:{serializedName:"azure-asyncoperation",type:{name:"String"}}}}},DatabasesFlushHeaders={type:{name:"Composite",className:"DatabasesFlushHeaders",modelProperties:{location:{serializedName:"location",type:{name:"String"}},azureAsyncOperation:{serializedName:"azure-asyncoperation",type:{name:"String"}}}}},DatabasesUpgradeDBRedisVersionHeaders={type:{name:"Composite",className:"DatabasesUpgradeDBRedisVersionHeaders",modelProperties:{location:{serializedName:"location",type:{name:"String"}},azureAsyncOperation:{serializedName:"azure-asyncoperation",type:{name:"String"}}}}},PrivateEndpointConnectionsDeleteHeaders={type:{name:"Composite",className:"PrivateEndpointConnectionsDeleteHeaders",modelProperties:{location:{serializedName:"location",type:{name:"String"}},azureAsyncOperation:{serializedName:"azure-asyncoperation",type:{name:"String"}}}}};var Mappers=Object.freeze({__proto__:null,AccessKeys:AccessKeys,Cluster:Cluster,ClusterList:ClusterList,ClusterPropertiesEncryption:ClusterPropertiesEncryption,ClusterPropertiesEncryptionCustomerManagedKeyEncryption:ClusterPropertiesEncryptionCustomerManagedKeyEncryption,ClusterPropertiesEncryptionCustomerManagedKeyEncryptionKeyIdentity:ClusterPropertiesEncryptionCustomerManagedKeyEncryptionKeyIdentity,ClusterUpdate:ClusterUpdate,Database:Database,DatabaseList:DatabaseList,DatabasePropertiesGeoReplication:DatabasePropertiesGeoReplication,DatabaseUpdate:DatabaseUpdate,DatabasesFlushHeaders:DatabasesFlushHeaders,DatabasesForceLinkToReplicationGroupHeaders:DatabasesForceLinkToReplicationGroupHeaders,DatabasesUpgradeDBRedisVersionHeaders:DatabasesUpgradeDBRedisVersionHeaders,ErrorAdditionalInfo:ErrorAdditionalInfo,ErrorDetail:ErrorDetail,ErrorResponse:ErrorResponse,ExportClusterParameters:ExportClusterParameters,FlushParameters:FlushParameters,ForceLinkParameters:ForceLinkParameters,ForceUnlinkParameters:ForceUnlinkParameters,ImportClusterParameters:ImportClusterParameters,LinkedDatabase:LinkedDatabase,ManagedServiceIdentity:ManagedServiceIdentity,Module:Module,Operation:Operation,OperationDisplay:OperationDisplay,OperationListResult:OperationListResult,OperationStatus:OperationStatus,Persistence:Persistence,PrivateEndpoint:PrivateEndpoint,PrivateEndpointConnection:PrivateEndpointConnection,PrivateEndpointConnectionListResult:PrivateEndpointConnectionListResult,PrivateEndpointConnectionsDeleteHeaders:PrivateEndpointConnectionsDeleteHeaders,PrivateLinkResource:PrivateLinkResource,PrivateLinkResourceListResult:PrivateLinkResourceListResult,PrivateLinkServiceConnectionState:PrivateLinkServiceConnectionState,ProxyResource:ProxyResource,RegenerateKeyParameters:RegenerateKeyParameters,Resource:Resource,Sku:Sku,TrackedResource:TrackedResource,UserAssignedIdentity:UserAssignedIdentity});let accept={parameterPath:"accept",mapper:{defaultValue:"application/json",isConstant:!0,serializedName:"Accept",type:{name:"String"}}},$host={parameterPath:"$host",mapper:{serializedName:"$host",required:!0,type:{name:"String"}},skipEncoding:!0},apiVersion={parameterPath:"apiVersion",mapper:{defaultValue:"2024-03-01-preview",isConstant:!0,serializedName:"api-version",type:{name:"String"}}},nextLink={parameterPath:"nextLink",mapper:{serializedName:"nextLink",required:!0,type:{name:"String"}},skipEncoding:!0},location={parameterPath:"location",mapper:{constraints:{MinLength:1},serializedName:"location",required:!0,type:{name:"String"}}},operationId={parameterPath:"operationId",mapper:{constraints:{MinLength:1},serializedName:"operationId",required:!0,type:{name:"String"}}},subscriptionId={parameterPath:"subscriptionId",mapper:{constraints:{MinLength:1},serializedName:"subscriptionId",required:!0,type:{name:"String"}}},contentType={parameterPath:["options","contentType"],mapper:{defaultValue:"application/json",isConstant:!0,serializedName:"Content-Type",type:{name:"String"}}},parameters={parameterPath:"parameters",mapper:Cluster},resourceGroupName={parameterPath:"resourceGroupName",mapper:{constraints:{MaxLength:90,MinLength:1},serializedName:"resourceGroupName",required:!0,type:{name:"String"}}},clusterName={parameterPath:"clusterName",mapper:{constraints:{Pattern:new RegExp("^[A-Za-z0-9]{1,60}$")},serializedName:"clusterName",required:!0,type:{name:"String"}}},parameters1={parameterPath:"parameters",mapper:ClusterUpdate},parameters2={parameterPath:"parameters",mapper:Database},databaseName={parameterPath:"databaseName",mapper:{constraints:{Pattern:new RegExp("^[A-Za-z0-9]{1,60}$")},serializedName:"databaseName",required:!0,type:{name:"String"}}},parameters3={parameterPath:"parameters",mapper:DatabaseUpdate},parameters4={parameterPath:"parameters",mapper:RegenerateKeyParameters},parameters5={parameterPath:"parameters",mapper:ImportClusterParameters},parameters6={parameterPath:"parameters",mapper:ExportClusterParameters},parameters7={parameterPath:"parameters",mapper:ForceUnlinkParameters},parameters8={parameterPath:"parameters",mapper:ForceLinkParameters},parameters9={parameterPath:"parameters",mapper:FlushParameters},privateEndpointConnectionName={parameterPath:"privateEndpointConnectionName",mapper:{serializedName:"privateEndpointConnectionName",required:!0,type:{name:"String"}}},properties={parameterPath:"properties",mapper:PrivateEndpointConnection};class OperationsImpl{constructor(e){this.client=e}list(r){let e=this.listPagingAll(r);return{next(){return e.next()},[Symbol.asyncIterator](){return this},byPage:e=>{if(null!=e&&e.maxPageSize)throw new Error("maxPageSize is not supported by this operation.");return this.listPagingPage(r,e)}}}listPagingPage(i,s){return tslib.__asyncGenerator(this,arguments,function*(){let e,r=null==s?void 0:s.continuationToken;var t;for(r||(setContinuationToken(t=(e=yield tslib.__await(this._list(i))).value||[],r=e.nextLink),yield yield tslib.__await(t));r;){e=yield tslib.__await(this._listNext(r,i)),r=e.nextLink;var a=e.value||[];setContinuationToken(a,r),yield yield tslib.__await(a)}})}listPagingAll(o){return tslib.__asyncGenerator(this,arguments,function*(){var e,r,t;try{for(var a,i=!0,s=tslib.__asyncValues(this.listPagingPage(o));!(e=(a=yield tslib.__await(s.next())).done);i=!0){var n=a.value,i=!1;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(n)))}}catch(e){r={error:e}}finally{try{i||e||!(t=s.return)||(yield tslib.__await(t.call(s)))}finally{if(r)throw r.error}}})}_list(e){return this.client.sendOperationRequest({options:e},listOperationSpec$2)}_listNext(e,r){return this.client.sendOperationRequest({nextLink:e,options:r},listNextOperationSpec$1)}}let serializer$5=coreClient__namespace.createSerializer(Mappers,!1),listOperationSpec$2={path:"/providers/Microsoft.Cache/operations",httpMethod:"GET",responses:{200:{bodyMapper:OperationListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host],headerParameters:[accept],serializer:serializer$5},listNextOperationSpec$1={path:"{nextLink}",httpMethod:"GET",responses:{200:{bodyMapper:OperationListResult},default:{bodyMapper:ErrorResponse}},urlParameters:[$host,nextLink],headerParameters:[accept],serializer:serializer$5};class OperationsStatusImpl{constructor(e){this.client=e}get(e,r,t){return this.client.sendOperationRequest({location:e,operationId:r,options:t},getOperationSpec$3)}}let serializer$4=coreClient__namespace.createSerializer(Mappers,!1),getOperationSpec$3={path:"/subscriptions/{subscriptionId}/providers/Microsoft.Cache/locations/{location}/operationsStatus/{operationId}",httpMethod:"GET",responses:{200:{bodyMapper:OperationStatus},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,location,operationId,subscriptionId],headerParameters:[accept],serializer:serializer$4};function createLroSpec(e){let{args:a,spec:i,sendOperationFn:s}=e;return{requestMethod:i.httpMethod,requestPath:i.path,sendInitialRequest:()=>s(a,i),sendPollRequest:(e,r)=>{var t=tslib.__rest(i,["requestBody"]);return s(a,Object.assign(Object.assign({},t),{httpMethod:"GET",path:e,abortSignal:null==r?void 0:r.abortSignal}))}}}class RedisEnterpriseImpl{constructor(e){this.client=e}listByResourceGroup(r,t){let e=this.listByResourceGroupPagingAll(r,t);return{next(){return e.next()},[Symbol.asyncIterator](){return this},byPage:e=>{if(null!=e&&e.maxPageSize)throw new Error("maxPageSize is not supported by this operation.");return this.listByResourceGroupPagingPage(r,t,e)}}}listByResourceGroupPagingPage(i,s,n){return tslib.__asyncGenerator(this,arguments,function*(){let e,r=null==n?void 0:n.continuationToken;var t;for(r||(setContinuationToken(t=(e=yield tslib.__await(this._listByResourceGroup(i,s))).value||[],r=e.nextLink),yield yield tslib.__await(t));r;){e=yield tslib.__await(this._listByResourceGroupNext(i,r,s)),r=e.nextLink;var a=e.value||[];setContinuationToken(a,r),yield yield tslib.__await(a)}})}listByResourceGroupPagingAll(o,p){return tslib.__asyncGenerator(this,arguments,function*(){var e,r,t;try{for(var a,i=!0,s=tslib.__asyncValues(this.listByResourceGroupPagingPage(o,p));!(e=(a=yield tslib.__await(s.next())).done);i=!0){var n=a.value,i=!1;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(n)))}}catch(e){r={error:e}}finally{try{i||e||!(t=s.return)||(yield tslib.__await(t.call(s)))}finally{if(r)throw r.error}}})}list(r){let e=this.listPagingAll(r);return{next(){return e.next()},[Symbol.asyncIterator](){return this},byPage:e=>{if(null!=e&&e.maxPageSize)throw new Error("maxPageSize is not supported by this operation.");return this.listPagingPage(r,e)}}}listPagingPage(i,s){return tslib.__asyncGenerator(this,arguments,function*(){let e,r=null==s?void 0:s.continuationToken;var t;for(r||(setContinuationToken(t=(e=yield tslib.__await(this._list(i))).value||[],r=e.nextLink),yield yield tslib.__await(t));r;){e=yield tslib.__await(this._listNext(r,i)),r=e.nextLink;var a=e.value||[];setContinuationToken(a,r),yield yield tslib.__await(a)}})}listPagingAll(o){return tslib.__asyncGenerator(this,arguments,function*(){var e,r,t;try{for(var a,i=!0,s=tslib.__asyncValues(this.listPagingPage(o));!(e=(a=yield tslib.__await(s.next())).done);i=!0){var n=a.value,i=!1;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(n)))}}catch(e){r={error:e}}finally{try{i||e||!(t=s.return)||(yield tslib.__await(t.call(s)))}finally{if(r)throw r.error}}})}beginCreate(r,t,a,i){return tslib.__awaiter(this,void 0,void 0,function*(){let n=(e,r)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,r)});var e=createLroSpec({sendOperationFn:(i,s)=>tslib.__awaiter(this,void 0,void 0,function*(){let e,t=void 0,a=null==(e=i.options)?void 0:e.onResponse;var r=Object.assign(Object.assign({},i),{options:Object.assign(Object.assign({},i.options),{onResponse:(e,r)=>{t=e,null!=a&&a(e,r)}})});return{flatResponse:yield n(r,s),rawResponse:{statusCode:t.status,body:t.parsedBody,headers:t.headers.toJSON()}}}),args:{resourceGroupName:r,clusterName:t,parameters:a,options:i},spec:createOperationSpec$1}),e=yield coreLro.createHttpPoller(e,{restoreFrom:null==i?void 0:i.resumeFrom,intervalInMs:null==i?void 0:i.updateIntervalInMs,resourceLocationConfig:"original-uri"});return yield e.poll(),e})}beginCreateAndWait(e,r,t,a){return tslib.__awaiter(this,void 0,void 0,function*(){return(yield this.beginCreate(e,r,t,a)).pollUntilDone()})}beginUpdate(r,t,a,i){return tslib.__awaiter(this,void 0,void 0,function*(){let n=(e,r)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,r)});var e=createLroSpec({sendOperationFn:(i,s)=>tslib.__awaiter(this,void 0,void 0,function*(){let e,t=void 0,a=null==(e=i.options)?void 0:e.onResponse;var r=Object.assign(Object.assign({},i),{options:Object.assign(Object.assign({},i.options),{onResponse:(e,r)=>{t=e,null!=a&&a(e,r)}})});return{flatResponse:yield n(r,s),rawResponse:{statusCode:t.status,body:t.parsedBody,headers:t.headers.toJSON()}}}),args:{resourceGroupName:r,clusterName:t,parameters:a,options:i},spec:updateOperationSpec$1}),e=yield coreLro.createHttpPoller(e,{restoreFrom:null==i?void 0:i.resumeFrom,intervalInMs:null==i?void 0:i.updateIntervalInMs,resourceLocationConfig:"azure-async-operation"});return yield e.poll(),e})}beginUpdateAndWait(e,r,t,a){return tslib.__awaiter(this,void 0,void 0,function*(){return(yield this.beginUpdate(e,r,t,a)).pollUntilDone()})}beginDelete(r,t,a){return tslib.__awaiter(this,void 0,void 0,function*(){let n=(e,r)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,r)});var e=createLroSpec({sendOperationFn:(i,s)=>tslib.__awaiter(this,void 0,void 0,function*(){let e,t=void 0,a=null==(e=i.options)?void 0:e.onResponse;var r=Object.assign(Object.assign({},i),{options:Object.assign(Object.assign({},i.options),{onResponse:(e,r)=>{t=e,null!=a&&a(e,r)}})});return{flatResponse:yield n(r,s),rawResponse:{statusCode:t.status,body:t.parsedBody,headers:t.headers.toJSON()}}}),args:{resourceGroupName:r,clusterName:t,options:a},spec:deleteOperationSpec$2}),e=yield coreLro.createHttpPoller(e,{restoreFrom:null==a?void 0:a.resumeFrom,intervalInMs:null==a?void 0:a.updateIntervalInMs,resourceLocationConfig:"azure-async-operation"});return yield e.poll(),e})}beginDeleteAndWait(e,r,t){return tslib.__awaiter(this,void 0,void 0,function*(){return(yield this.beginDelete(e,r,t)).pollUntilDone()})}get(e,r,t){return this.client.sendOperationRequest({resourceGroupName:e,clusterName:r,options:t},getOperationSpec$2)}_listByResourceGroup(e,r){return this.client.sendOperationRequest({resourceGroupName:e,options:r},listByResourceGroupOperationSpec)}_list(e){return this.client.sendOperationRequest({options:e},listOperationSpec$1)}_listByResourceGroupNext(e,r,t){return this.client.sendOperationRequest({resourceGroupName:e,nextLink:r,options:t},listByResourceGroupNextOperationSpec)}_listNext(e,r){return this.client.sendOperationRequest({nextLink:e,options:r},listNextOperationSpec)}}let serializer$3=coreClient__namespace.createSerializer(Mappers,!1),createOperationSpec$1={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}",httpMethod:"PUT",responses:{200:{bodyMapper:Cluster},201:{bodyMapper:Cluster},202:{bodyMapper:Cluster},204:{bodyMapper:Cluster},default:{bodyMapper:ErrorResponse}},requestBody:parameters,queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,clusterName],headerParameters:[accept,contentType],mediaType:"json",serializer:serializer$3},updateOperationSpec$1={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}",httpMethod:"PATCH",responses:{200:{bodyMapper:Cluster},201:{bodyMapper:Cluster},202:{bodyMapper:Cluster},204:{bodyMapper:Cluster},default:{bodyMapper:ErrorResponse}},requestBody:parameters1,queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,clusterName],headerParameters:[accept,contentType],mediaType:"json",serializer:serializer$3},deleteOperationSpec$2={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}",httpMethod:"DELETE",responses:{200:{},201:{},202:{},204:{},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,clusterName],headerParameters:[accept],serializer:serializer$3},getOperationSpec$2={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}",httpMethod:"GET",responses:{200:{bodyMapper:Cluster},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,clusterName],headerParameters:[accept],serializer:serializer$3},listByResourceGroupOperationSpec={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise",httpMethod:"GET",responses:{200:{bodyMapper:ClusterList},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName],headerParameters:[accept],serializer:serializer$3},listOperationSpec$1={path:"/subscriptions/{subscriptionId}/providers/Microsoft.Cache/redisEnterprise",httpMethod:"GET",responses:{200:{bodyMapper:ClusterList},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,subscriptionId],headerParameters:[accept],serializer:serializer$3},listByResourceGroupNextOperationSpec={path:"{nextLink}",httpMethod:"GET",responses:{200:{bodyMapper:ClusterList},default:{bodyMapper:ErrorResponse}},urlParameters:[$host,nextLink,subscriptionId,resourceGroupName],headerParameters:[accept],serializer:serializer$3},listNextOperationSpec={path:"{nextLink}",httpMethod:"GET",responses:{200:{bodyMapper:ClusterList},default:{bodyMapper:ErrorResponse}},urlParameters:[$host,nextLink,subscriptionId],headerParameters:[accept],serializer:serializer$3};class DatabasesImpl{constructor(e){this.client=e}listByCluster(r,t,a){let e=this.listByClusterPagingAll(r,t,a);return{next(){return e.next()},[Symbol.asyncIterator](){return this},byPage:e=>{if(null!=e&&e.maxPageSize)throw new Error("maxPageSize is not supported by this operation.");return this.listByClusterPagingPage(r,t,a,e)}}}listByClusterPagingPage(i,s,n,o){return tslib.__asyncGenerator(this,arguments,function*(){let e,r=null==o?void 0:o.continuationToken;var t;for(r||(setContinuationToken(t=(e=yield tslib.__await(this._listByCluster(i,s,n))).value||[],r=e.nextLink),yield yield tslib.__await(t));r;){e=yield tslib.__await(this._listByClusterNext(i,s,r,n)),r=e.nextLink;var a=e.value||[];setContinuationToken(a,r),yield yield tslib.__await(a)}})}listByClusterPagingAll(o,p,l){return tslib.__asyncGenerator(this,arguments,function*(){var e,r,t;try{for(var a,i=!0,s=tslib.__asyncValues(this.listByClusterPagingPage(o,p,l));!(e=(a=yield tslib.__await(s.next())).done);i=!0){var n=a.value,i=!1;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(n)))}}catch(e){r={error:e}}finally{try{i||e||!(t=s.return)||(yield tslib.__await(t.call(s)))}finally{if(r)throw r.error}}})}_listByCluster(e,r,t){return this.client.sendOperationRequest({resourceGroupName:e,clusterName:r,options:t},listByClusterOperationSpec$1)}beginCreate(r,t,a,i,s){return tslib.__awaiter(this,void 0,void 0,function*(){let n=(e,r)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,r)});var e=createLroSpec({sendOperationFn:(i,s)=>tslib.__awaiter(this,void 0,void 0,function*(){let e,t=void 0,a=null==(e=i.options)?void 0:e.onResponse;var r=Object.assign(Object.assign({},i),{options:Object.assign(Object.assign({},i.options),{onResponse:(e,r)=>{t=e,null!=a&&a(e,r)}})});return{flatResponse:yield n(r,s),rawResponse:{statusCode:t.status,body:t.parsedBody,headers:t.headers.toJSON()}}}),args:{resourceGroupName:r,clusterName:t,databaseName:a,parameters:i,options:s},spec:createOperationSpec}),e=yield coreLro.createHttpPoller(e,{restoreFrom:null==s?void 0:s.resumeFrom,intervalInMs:null==s?void 0:s.updateIntervalInMs,resourceLocationConfig:"original-uri"});return yield e.poll(),e})}beginCreateAndWait(e,r,t,a,i){return tslib.__awaiter(this,void 0,void 0,function*(){return(yield this.beginCreate(e,r,t,a,i)).pollUntilDone()})}beginUpdate(r,t,a,i,s){return tslib.__awaiter(this,void 0,void 0,function*(){let n=(e,r)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,r)});var e=createLroSpec({sendOperationFn:(i,s)=>tslib.__awaiter(this,void 0,void 0,function*(){let e,t=void 0,a=null==(e=i.options)?void 0:e.onResponse;var r=Object.assign(Object.assign({},i),{options:Object.assign(Object.assign({},i.options),{onResponse:(e,r)=>{t=e,null!=a&&a(e,r)}})});return{flatResponse:yield n(r,s),rawResponse:{statusCode:t.status,body:t.parsedBody,headers:t.headers.toJSON()}}}),args:{resourceGroupName:r,clusterName:t,databaseName:a,parameters:i,options:s},spec:updateOperationSpec}),e=yield coreLro.createHttpPoller(e,{restoreFrom:null==s?void 0:s.resumeFrom,intervalInMs:null==s?void 0:s.updateIntervalInMs,resourceLocationConfig:"azure-async-operation"});return yield e.poll(),e})}beginUpdateAndWait(e,r,t,a,i){return tslib.__awaiter(this,void 0,void 0,function*(){return(yield this.beginUpdate(e,r,t,a,i)).pollUntilDone()})}get(e,r,t,a){return this.client.sendOperationRequest({resourceGroupName:e,clusterName:r,databaseName:t,options:a},getOperationSpec$1)}beginDelete(r,t,a,i){return tslib.__awaiter(this,void 0,void 0,function*(){let n=(e,r)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,r)});var e=createLroSpec({sendOperationFn:(i,s)=>tslib.__awaiter(this,void 0,void 0,function*(){let e,t=void 0,a=null==(e=i.options)?void 0:e.onResponse;var r=Object.assign(Object.assign({},i),{options:Object.assign(Object.assign({},i.options),{onResponse:(e,r)=>{t=e,null!=a&&a(e,r)}})});return{flatResponse:yield n(r,s),rawResponse:{statusCode:t.status,body:t.parsedBody,headers:t.headers.toJSON()}}}),args:{resourceGroupName:r,clusterName:t,databaseName:a,options:i},spec:deleteOperationSpec$1}),e=yield coreLro.createHttpPoller(e,{restoreFrom:null==i?void 0:i.resumeFrom,intervalInMs:null==i?void 0:i.updateIntervalInMs,resourceLocationConfig:"azure-async-operation"});return yield e.poll(),e})}beginDeleteAndWait(e,r,t,a){return tslib.__awaiter(this,void 0,void 0,function*(){return(yield this.beginDelete(e,r,t,a)).pollUntilDone()})}listKeys(e,r,t,a){return this.client.sendOperationRequest({resourceGroupName:e,clusterName:r,databaseName:t,options:a},listKeysOperationSpec)}beginRegenerateKey(r,t,a,i,s){return tslib.__awaiter(this,void 0,void 0,function*(){let n=(e,r)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,r)});var e=createLroSpec({sendOperationFn:(i,s)=>tslib.__awaiter(this,void 0,void 0,function*(){let e,t=void 0,a=null==(e=i.options)?void 0:e.onResponse;var r=Object.assign(Object.assign({},i),{options:Object.assign(Object.assign({},i.options),{onResponse:(e,r)=>{t=e,null!=a&&a(e,r)}})});return{flatResponse:yield n(r,s),rawResponse:{statusCode:t.status,body:t.parsedBody,headers:t.headers.toJSON()}}}),args:{resourceGroupName:r,clusterName:t,databaseName:a,parameters:i,options:s},spec:regenerateKeyOperationSpec}),e=yield coreLro.createHttpPoller(e,{restoreFrom:null==s?void 0:s.resumeFrom,intervalInMs:null==s?void 0:s.updateIntervalInMs,resourceLocationConfig:"azure-async-operation"});return yield e.poll(),e})}beginRegenerateKeyAndWait(e,r,t,a,i){return tslib.__awaiter(this,void 0,void 0,function*(){return(yield this.beginRegenerateKey(e,r,t,a,i)).pollUntilDone()})}beginImport(r,t,a,i,s){return tslib.__awaiter(this,void 0,void 0,function*(){let n=(e,r)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,r)});var e=createLroSpec({sendOperationFn:(i,s)=>tslib.__awaiter(this,void 0,void 0,function*(){let e,t=void 0,a=null==(e=i.options)?void 0:e.onResponse;var r=Object.assign(Object.assign({},i),{options:Object.assign(Object.assign({},i.options),{onResponse:(e,r)=>{t=e,null!=a&&a(e,r)}})});return{flatResponse:yield n(r,s),rawResponse:{statusCode:t.status,body:t.parsedBody,headers:t.headers.toJSON()}}}),args:{resourceGroupName:r,clusterName:t,databaseName:a,parameters:i,options:s},spec:importOperationSpec}),e=yield coreLro.createHttpPoller(e,{restoreFrom:null==s?void 0:s.resumeFrom,intervalInMs:null==s?void 0:s.updateIntervalInMs,resourceLocationConfig:"azure-async-operation"});return yield e.poll(),e})}beginImportAndWait(e,r,t,a,i){return tslib.__awaiter(this,void 0,void 0,function*(){return(yield this.beginImport(e,r,t,a,i)).pollUntilDone()})}beginExport(r,t,a,i,s){return tslib.__awaiter(this,void 0,void 0,function*(){let n=(e,r)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,r)});var e=createLroSpec({sendOperationFn:(i,s)=>tslib.__awaiter(this,void 0,void 0,function*(){let e,t=void 0,a=null==(e=i.options)?void 0:e.onResponse;var r=Object.assign(Object.assign({},i),{options:Object.assign(Object.assign({},i.options),{onResponse:(e,r)=>{t=e,null!=a&&a(e,r)}})});return{flatResponse:yield n(r,s),rawResponse:{statusCode:t.status,body:t.parsedBody,headers:t.headers.toJSON()}}}),args:{resourceGroupName:r,clusterName:t,databaseName:a,parameters:i,options:s},spec:exportOperationSpec}),e=yield coreLro.createHttpPoller(e,{restoreFrom:null==s?void 0:s.resumeFrom,intervalInMs:null==s?void 0:s.updateIntervalInMs,resourceLocationConfig:"azure-async-operation"});return yield e.poll(),e})}beginExportAndWait(e,r,t,a,i){return tslib.__awaiter(this,void 0,void 0,function*(){return(yield this.beginExport(e,r,t,a,i)).pollUntilDone()})}beginForceUnlink(r,t,a,i,s){return tslib.__awaiter(this,void 0,void 0,function*(){let n=(e,r)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,r)});var e=createLroSpec({sendOperationFn:(i,s)=>tslib.__awaiter(this,void 0,void 0,function*(){let e,t=void 0,a=null==(e=i.options)?void 0:e.onResponse;var r=Object.assign(Object.assign({},i),{options:Object.assign(Object.assign({},i.options),{onResponse:(e,r)=>{t=e,null!=a&&a(e,r)}})});return{flatResponse:yield n(r,s),rawResponse:{statusCode:t.status,body:t.parsedBody,headers:t.headers.toJSON()}}}),args:{resourceGroupName:r,clusterName:t,databaseName:a,parameters:i,options:s},spec:forceUnlinkOperationSpec}),e=yield coreLro.createHttpPoller(e,{restoreFrom:null==s?void 0:s.resumeFrom,intervalInMs:null==s?void 0:s.updateIntervalInMs,resourceLocationConfig:"azure-async-operation"});return yield e.poll(),e})}beginForceUnlinkAndWait(e,r,t,a,i){return tslib.__awaiter(this,void 0,void 0,function*(){return(yield this.beginForceUnlink(e,r,t,a,i)).pollUntilDone()})}beginForceLinkToReplicationGroup(r,t,a,i,s){return tslib.__awaiter(this,void 0,void 0,function*(){let n=(e,r)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,r)});var e=createLroSpec({sendOperationFn:(i,s)=>tslib.__awaiter(this,void 0,void 0,function*(){let e,t=void 0,a=null==(e=i.options)?void 0:e.onResponse;var r=Object.assign(Object.assign({},i),{options:Object.assign(Object.assign({},i.options),{onResponse:(e,r)=>{t=e,null!=a&&a(e,r)}})});return{flatResponse:yield n(r,s),rawResponse:{statusCode:t.status,body:t.parsedBody,headers:t.headers.toJSON()}}}),args:{resourceGroupName:r,clusterName:t,databaseName:a,parameters:i,options:s},spec:forceLinkToReplicationGroupOperationSpec}),e=yield coreLro.createHttpPoller(e,{restoreFrom:null==s?void 0:s.resumeFrom,intervalInMs:null==s?void 0:s.updateIntervalInMs,resourceLocationConfig:"azure-async-operation"});return yield e.poll(),e})}beginForceLinkToReplicationGroupAndWait(e,r,t,a,i){return tslib.__awaiter(this,void 0,void 0,function*(){return(yield this.beginForceLinkToReplicationGroup(e,r,t,a,i)).pollUntilDone()})}beginFlush(r,t,a,i,s){return tslib.__awaiter(this,void 0,void 0,function*(){let n=(e,r)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,r)});var e=createLroSpec({sendOperationFn:(i,s)=>tslib.__awaiter(this,void 0,void 0,function*(){let e,t=void 0,a=null==(e=i.options)?void 0:e.onResponse;var r=Object.assign(Object.assign({},i),{options:Object.assign(Object.assign({},i.options),{onResponse:(e,r)=>{t=e,null!=a&&a(e,r)}})});return{flatResponse:yield n(r,s),rawResponse:{statusCode:t.status,body:t.parsedBody,headers:t.headers.toJSON()}}}),args:{resourceGroupName:r,clusterName:t,databaseName:a,parameters:i,options:s},spec:flushOperationSpec}),e=yield coreLro.createHttpPoller(e,{restoreFrom:null==s?void 0:s.resumeFrom,intervalInMs:null==s?void 0:s.updateIntervalInMs,resourceLocationConfig:"location"});return yield e.poll(),e})}beginFlushAndWait(e,r,t,a,i){return tslib.__awaiter(this,void 0,void 0,function*(){return(yield this.beginFlush(e,r,t,a,i)).pollUntilDone()})}beginUpgradeDBRedisVersion(r,t,a,i){return tslib.__awaiter(this,void 0,void 0,function*(){let n=(e,r)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,r)});var e=createLroSpec({sendOperationFn:(i,s)=>tslib.__awaiter(this,void 0,void 0,function*(){let e,t=void 0,a=null==(e=i.options)?void 0:e.onResponse;var r=Object.assign(Object.assign({},i),{options:Object.assign(Object.assign({},i.options),{onResponse:(e,r)=>{t=e,null!=a&&a(e,r)}})});return{flatResponse:yield n(r,s),rawResponse:{statusCode:t.status,body:t.parsedBody,headers:t.headers.toJSON()}}}),args:{resourceGroupName:r,clusterName:t,databaseName:a,options:i},spec:upgradeDBRedisVersionOperationSpec}),e=yield coreLro.createHttpPoller(e,{restoreFrom:null==i?void 0:i.resumeFrom,intervalInMs:null==i?void 0:i.updateIntervalInMs,resourceLocationConfig:"location"});return yield e.poll(),e})}beginUpgradeDBRedisVersionAndWait(e,r,t,a){return tslib.__awaiter(this,void 0,void 0,function*(){return(yield this.beginUpgradeDBRedisVersion(e,r,t,a)).pollUntilDone()})}_listByClusterNext(e,r,t,a){return this.client.sendOperationRequest({resourceGroupName:e,clusterName:r,nextLink:t,options:a},listByClusterNextOperationSpec)}}let serializer$2=coreClient__namespace.createSerializer(Mappers,!1),listByClusterOperationSpec$1={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases",httpMethod:"GET",responses:{200:{bodyMapper:DatabaseList},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,clusterName],headerParameters:[accept],serializer:serializer$2},createOperationSpec={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases/{databaseName}",httpMethod:"PUT",responses:{200:{bodyMapper:Database},201:{bodyMapper:Database},202:{bodyMapper:Database},204:{bodyMapper:Database},default:{bodyMapper:ErrorResponse}},requestBody:parameters2,queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,clusterName,databaseName],headerParameters:[accept,contentType],mediaType:"json",serializer:serializer$2},updateOperationSpec={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases/{databaseName}",httpMethod:"PATCH",responses:{200:{bodyMapper:Database},201:{bodyMapper:Database},202:{bodyMapper:Database},204:{bodyMapper:Database},default:{bodyMapper:ErrorResponse}},requestBody:parameters3,queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,clusterName,databaseName],headerParameters:[accept,contentType],mediaType:"json",serializer:serializer$2},getOperationSpec$1={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases/{databaseName}",httpMethod:"GET",responses:{200:{bodyMapper:Database},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,clusterName,databaseName],headerParameters:[accept],serializer:serializer$2},deleteOperationSpec$1={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases/{databaseName}",httpMethod:"DELETE",responses:{200:{},201:{},202:{},204:{},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,clusterName,databaseName],headerParameters:[accept],serializer:serializer$2},listKeysOperationSpec={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases/{databaseName}/listKeys",httpMethod:"POST",responses:{200:{bodyMapper:AccessKeys},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,clusterName,databaseName],headerParameters:[accept],serializer:serializer$2},regenerateKeyOperationSpec={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases/{databaseName}/regenerateKey",httpMethod:"POST",responses:{200:{bodyMapper:AccessKeys},201:{bodyMapper:AccessKeys},202:{bodyMapper:AccessKeys},204:{bodyMapper:AccessKeys},default:{bodyMapper:ErrorResponse}},requestBody:parameters4,queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,clusterName,databaseName],headerParameters:[accept,contentType],mediaType:"json",serializer:serializer$2},importOperationSpec={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases/{databaseName}/import",httpMethod:"POST",responses:{200:{},201:{},202:{},204:{},default:{bodyMapper:ErrorResponse}},requestBody:parameters5,queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,clusterName,databaseName],headerParameters:[accept,contentType],mediaType:"json",serializer:serializer$2},exportOperationSpec={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases/{databaseName}/export",httpMethod:"POST",responses:{200:{},201:{},202:{},204:{},default:{bodyMapper:ErrorResponse}},requestBody:parameters6,queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,clusterName,databaseName],headerParameters:[accept,contentType],mediaType:"json",serializer:serializer$2},forceUnlinkOperationSpec={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases/{databaseName}/forceUnlink",httpMethod:"POST",responses:{200:{},201:{},202:{},204:{},default:{bodyMapper:ErrorResponse}},requestBody:parameters7,queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,clusterName,databaseName],headerParameters:[accept,contentType],mediaType:"json",serializer:serializer$2},forceLinkToReplicationGroupOperationSpec={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases/{databaseName}/forceLinkToReplicationGroup",httpMethod:"POST",responses:{200:{headersMapper:DatabasesForceLinkToReplicationGroupHeaders},201:{headersMapper:DatabasesForceLinkToReplicationGroupHeaders},202:{headersMapper:DatabasesForceLinkToReplicationGroupHeaders},204:{headersMapper:DatabasesForceLinkToReplicationGroupHeaders},default:{bodyMapper:ErrorResponse}},requestBody:parameters8,queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,clusterName,databaseName],headerParameters:[accept,contentType],mediaType:"json",serializer:serializer$2},flushOperationSpec={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases/{databaseName}/flush",httpMethod:"POST",responses:{200:{},201:{},202:{},204:{},default:{bodyMapper:ErrorResponse}},requestBody:parameters9,queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,clusterName,databaseName],headerParameters:[accept,contentType],mediaType:"json",serializer:serializer$2},upgradeDBRedisVersionOperationSpec={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases/{databaseName}/upgradeDBRedisVersion",httpMethod:"POST",responses:{200:{headersMapper:DatabasesUpgradeDBRedisVersionHeaders},201:{headersMapper:DatabasesUpgradeDBRedisVersionHeaders},202:{headersMapper:DatabasesUpgradeDBRedisVersionHeaders},204:{headersMapper:DatabasesUpgradeDBRedisVersionHeaders},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,clusterName,databaseName],headerParameters:[accept],serializer:serializer$2},listByClusterNextOperationSpec={path:"{nextLink}",httpMethod:"GET",responses:{200:{bodyMapper:DatabaseList},default:{bodyMapper:ErrorResponse}},urlParameters:[$host,nextLink,subscriptionId,resourceGroupName,clusterName],headerParameters:[accept],serializer:serializer$2};class PrivateEndpointConnectionsImpl{constructor(e){this.client=e}list(r,t,a){let e=this.listPagingAll(r,t,a);return{next(){return e.next()},[Symbol.asyncIterator](){return this},byPage:e=>{if(null!=e&&e.maxPageSize)throw new Error("maxPageSize is not supported by this operation.");return this.listPagingPage(r,t,a,e)}}}listPagingPage(r,t,a,e){return tslib.__asyncGenerator(this,arguments,function*(){var e=yield tslib.__await(this._list(r,t,a));yield yield tslib.__await(e.value||[])})}listPagingAll(o,p,l){return tslib.__asyncGenerator(this,arguments,function*(){var e,r,t;try{for(var a,i=!0,s=tslib.__asyncValues(this.listPagingPage(o,p,l));!(e=(a=yield tslib.__await(s.next())).done);i=!0){var n=a.value,i=!1;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(n)))}}catch(e){r={error:e}}finally{try{i||e||!(t=s.return)||(yield tslib.__await(t.call(s)))}finally{if(r)throw r.error}}})}_list(e,r,t){return this.client.sendOperationRequest({resourceGroupName:e,clusterName:r,options:t},listOperationSpec)}get(e,r,t,a){return this.client.sendOperationRequest({resourceGroupName:e,clusterName:r,privateEndpointConnectionName:t,options:a},getOperationSpec)}beginPut(r,t,a,i,s){return tslib.__awaiter(this,void 0,void 0,function*(){let n=(e,r)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,r)});var e=createLroSpec({sendOperationFn:(i,s)=>tslib.__awaiter(this,void 0,void 0,function*(){let e,t=void 0,a=null==(e=i.options)?void 0:e.onResponse;var r=Object.assign(Object.assign({},i),{options:Object.assign(Object.assign({},i.options),{onResponse:(e,r)=>{t=e,null!=a&&a(e,r)}})});return{flatResponse:yield n(r,s),rawResponse:{statusCode:t.status,body:t.parsedBody,headers:t.headers.toJSON()}}}),args:{resourceGroupName:r,clusterName:t,privateEndpointConnectionName:a,properties:i,options:s},spec:putOperationSpec}),e=yield coreLro.createHttpPoller(e,{restoreFrom:null==s?void 0:s.resumeFrom,intervalInMs:null==s?void 0:s.updateIntervalInMs});return yield e.poll(),e})}beginPutAndWait(e,r,t,a,i){return tslib.__awaiter(this,void 0,void 0,function*(){return(yield this.beginPut(e,r,t,a,i)).pollUntilDone()})}beginDelete(r,t,a,i){return tslib.__awaiter(this,void 0,void 0,function*(){let n=(e,r)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,r)});var e=createLroSpec({sendOperationFn:(i,s)=>tslib.__awaiter(this,void 0,void 0,function*(){let e,t=void 0,a=null==(e=i.options)?void 0:e.onResponse;var r=Object.assign(Object.assign({},i),{options:Object.assign(Object.assign({},i.options),{onResponse:(e,r)=>{t=e,null!=a&&a(e,r)}})});return{flatResponse:yield n(r,s),rawResponse:{statusCode:t.status,body:t.parsedBody,headers:t.headers.toJSON()}}}),args:{resourceGroupName:r,clusterName:t,privateEndpointConnectionName:a,options:i},spec:deleteOperationSpec}),e=yield coreLro.createHttpPoller(e,{restoreFrom:null==i?void 0:i.resumeFrom,intervalInMs:null==i?void 0:i.updateIntervalInMs,resourceLocationConfig:"location"});return yield e.poll(),e})}beginDeleteAndWait(e,r,t,a){return tslib.__awaiter(this,void 0,void 0,function*(){return(yield this.beginDelete(e,r,t,a)).pollUntilDone()})}}let serializer$1=coreClient__namespace.createSerializer(Mappers,!1),listOperationSpec={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/privateEndpointConnections",httpMethod:"GET",responses:{200:{bodyMapper:PrivateEndpointConnectionListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,clusterName],headerParameters:[accept],serializer:serializer$1},getOperationSpec={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/privateEndpointConnections/{privateEndpointConnectionName}",httpMethod:"GET",responses:{200:{bodyMapper:PrivateEndpointConnection},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,clusterName,privateEndpointConnectionName],headerParameters:[accept],serializer:serializer$1},putOperationSpec={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/privateEndpointConnections/{privateEndpointConnectionName}",httpMethod:"PUT",responses:{200:{bodyMapper:PrivateEndpointConnection},201:{bodyMapper:PrivateEndpointConnection},202:{bodyMapper:PrivateEndpointConnection},204:{bodyMapper:PrivateEndpointConnection},default:{bodyMapper:ErrorResponse}},requestBody:properties,queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,clusterName,privateEndpointConnectionName],headerParameters:[accept,contentType],mediaType:"json",serializer:serializer$1},deleteOperationSpec={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/privateEndpointConnections/{privateEndpointConnectionName}",httpMethod:"DELETE",responses:{200:{},201:{},202:{},204:{},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,clusterName,privateEndpointConnectionName],headerParameters:[accept],serializer:serializer$1};class PrivateLinkResourcesImpl{constructor(e){this.client=e}listByCluster(r,t,a){let e=this.listByClusterPagingAll(r,t,a);return{next(){return e.next()},[Symbol.asyncIterator](){return this},byPage:e=>{if(null!=e&&e.maxPageSize)throw new Error("maxPageSize is not supported by this operation.");return this.listByClusterPagingPage(r,t,a,e)}}}listByClusterPagingPage(r,t,a,e){return tslib.__asyncGenerator(this,arguments,function*(){var e=yield tslib.__await(this._listByCluster(r,t,a));yield yield tslib.__await(e.value||[])})}listByClusterPagingAll(o,p,l){return tslib.__asyncGenerator(this,arguments,function*(){var e,r,t;try{for(var a,i=!0,s=tslib.__asyncValues(this.listByClusterPagingPage(o,p,l));!(e=(a=yield tslib.__await(s.next())).done);i=!0){var n=a.value,i=!1;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(n)))}}catch(e){r={error:e}}finally{try{i||e||!(t=s.return)||(yield tslib.__await(t.call(s)))}finally{if(r)throw r.error}}})}_listByCluster(e,r,t){return this.client.sendOperationRequest({resourceGroupName:e,clusterName:r,options:t},listByClusterOperationSpec)}}let serializer=coreClient__namespace.createSerializer(Mappers,!1),listByClusterOperationSpec={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/privateLinkResources",httpMethod:"GET",responses:{200:{bodyMapper:PrivateLinkResourceListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,clusterName],headerParameters:[accept],serializer:serializer};class RedisEnterpriseManagementClient extends coreClient__namespace.ServiceClient{constructor(e,r,t){if(void 0===e)throw new Error("'credentials' cannot be null");if(void 0===r)throw new Error("'subscriptionId' cannot be null");var a,i="azsdk-js-arm-redisenterprisecache/3.1.0-beta.2",i=(t=t||{}).userAgentOptions&&t.userAgentOptions.userAgentPrefix?t.userAgentOptions.userAgentPrefix+" "+i:i,i=Object.assign(Object.assign(Object.assign({},{requestContentType:"application/json; charset=utf-8",credential:e}),t),{userAgentOptions:{userAgentPrefix:i},endpoint:null!=(i=null!=(i=t.endpoint)?i:t.baseUri)?i:"https://management.azure.com"});super(i);let s=!1;null!=t&&t.pipeline&&0<t.pipeline.getOrderedPolicies().length&&(a=t.pipeline.getOrderedPolicies(),s=a.some(e=>e.name===coreRestPipeline__namespace.bearerTokenAuthenticationPolicyName)),t&&t.pipeline&&0!=t.pipeline.getOrderedPolicies().length&&s||(this.pipeline.removePolicy({name:coreRestPipeline__namespace.bearerTokenAuthenticationPolicyName}),this.pipeline.addPolicy(coreRestPipeline__namespace.bearerTokenAuthenticationPolicy({credential:e,scopes:null!=(a=i.credentialScopes)?a:i.endpoint+"/.default",challengeCallbacks:{authorizeRequestOnChallenge:coreClient__namespace.authorizeRequestOnClaimChallenge}}))),this.subscriptionId=r,this.$host=t.$host||"https://management.azure.com",this.apiVersion=t.apiVersion||"2024-03-01-preview",this.operations=new OperationsImpl(this),this.operationsStatus=new OperationsStatusImpl(this),this.redisEnterprise=new RedisEnterpriseImpl(this),this.databases=new DatabasesImpl(this),this.privateEndpointConnections=new PrivateEndpointConnectionsImpl(this),this.privateLinkResources=new PrivateLinkResourcesImpl(this),this.addCustomApiVersionPolicy(t.apiVersion)}addCustomApiVersionPolicy(i){i&&this.pipeline.addPolicy({name:"CustomApiVersionPolicy",sendRequest(t,a){return tslib.__awaiter(this,void 0,void 0,function*(){var e,r=t.url.split("?");return 1<r.length&&(e=r[1].split("&").map(e=>-1<e.indexOf("api-version")?"api-version="+i:e),t.url=r[0]+"?"+e.join("&")),a(t)})}})}}exports.RedisEnterpriseManagementClient=RedisEnterpriseManagementClient,exports.getContinuationToken=getContinuationToken;
1
+ Object.defineProperty(exports,"__esModule",{value:!0});var tslib=require("tslib"),coreClient=require("@azure/core-client"),coreRestPipeline=require("@azure/core-rest-pipeline"),coreLro=require("@azure/core-lro");function _interopNamespaceDefault(r){var a=Object.create(null);return r&&Object.keys(r).forEach(function(e){var t;"default"!==e&&(t=Object.getOwnPropertyDescriptor(r,e),Object.defineProperty(a,e,t.get?t:{enumerable:!0,get:function(){return r[e]}}))}),a.default=r,Object.freeze(a)}var coreClient__namespace=_interopNamespaceDefault(coreClient),coreRestPipeline__namespace=_interopNamespaceDefault(coreRestPipeline);let pageMap=new WeakMap;function getContinuationToken(e){return"object"!=typeof e||null===e||null==(e=pageMap.get(e))?void 0:e.continuationToken}function setContinuationToken(e,t){var r;"object"==typeof e&&null!==e&&t&&((r=null!=(r=pageMap.get(e))?r:{}).continuationToken=t,pageMap.set(e,r))}exports.KnownOrigin=void 0,(e=>{e.User="user",e.System="system",e.UserSystem="user,system"})(exports.KnownOrigin||(exports.KnownOrigin={})),exports.KnownActionType=void 0,(exports.KnownActionType||(exports.KnownActionType={})).Internal="Internal",exports.KnownSkuName=void 0,(e=>{e.EnterpriseE1="Enterprise_E1",e.EnterpriseE5="Enterprise_E5",e.EnterpriseE10="Enterprise_E10",e.EnterpriseE20="Enterprise_E20",e.EnterpriseE50="Enterprise_E50",e.EnterpriseE100="Enterprise_E100",e.EnterpriseE200="Enterprise_E200",e.EnterpriseE400="Enterprise_E400",e.EnterpriseFlashF300="EnterpriseFlash_F300",e.EnterpriseFlashF700="EnterpriseFlash_F700",e.EnterpriseFlashF1500="EnterpriseFlash_F1500",e.BalancedB0="Balanced_B0",e.BalancedB1="Balanced_B1",e.BalancedB3="Balanced_B3",e.BalancedB5="Balanced_B5",e.BalancedB10="Balanced_B10",e.BalancedB20="Balanced_B20",e.BalancedB50="Balanced_B50",e.BalancedB100="Balanced_B100",e.BalancedB150="Balanced_B150",e.BalancedB250="Balanced_B250",e.BalancedB350="Balanced_B350",e.BalancedB500="Balanced_B500",e.BalancedB700="Balanced_B700",e.BalancedB1000="Balanced_B1000",e.MemoryOptimizedM10="MemoryOptimized_M10",e.MemoryOptimizedM20="MemoryOptimized_M20",e.MemoryOptimizedM50="MemoryOptimized_M50",e.MemoryOptimizedM100="MemoryOptimized_M100",e.MemoryOptimizedM150="MemoryOptimized_M150",e.MemoryOptimizedM250="MemoryOptimized_M250",e.MemoryOptimizedM350="MemoryOptimized_M350",e.MemoryOptimizedM500="MemoryOptimized_M500",e.MemoryOptimizedM700="MemoryOptimized_M700",e.MemoryOptimizedM1000="MemoryOptimized_M1000",e.MemoryOptimizedM1500="MemoryOptimized_M1500",e.MemoryOptimizedM2000="MemoryOptimized_M2000",e.ComputeOptimizedX3="ComputeOptimized_X3",e.ComputeOptimizedX5="ComputeOptimized_X5",e.ComputeOptimizedX10="ComputeOptimized_X10",e.ComputeOptimizedX20="ComputeOptimized_X20",e.ComputeOptimizedX50="ComputeOptimized_X50",e.ComputeOptimizedX100="ComputeOptimized_X100",e.ComputeOptimizedX150="ComputeOptimized_X150",e.ComputeOptimizedX250="ComputeOptimized_X250",e.ComputeOptimizedX350="ComputeOptimized_X350",e.ComputeOptimizedX500="ComputeOptimized_X500",e.ComputeOptimizedX700="ComputeOptimized_X700",e.FlashOptimizedA250="FlashOptimized_A250",e.FlashOptimizedA500="FlashOptimized_A500",e.FlashOptimizedA700="FlashOptimized_A700",e.FlashOptimizedA1000="FlashOptimized_A1000",e.FlashOptimizedA1500="FlashOptimized_A1500",e.FlashOptimizedA2000="FlashOptimized_A2000",e.FlashOptimizedA4500="FlashOptimized_A4500"})(exports.KnownSkuName||(exports.KnownSkuName={})),exports.KnownManagedServiceIdentityType=void 0,(e=>{e.None="None",e.SystemAssigned="SystemAssigned",e.UserAssigned="UserAssigned",e.SystemAssignedUserAssigned="SystemAssigned, UserAssigned"})(exports.KnownManagedServiceIdentityType||(exports.KnownManagedServiceIdentityType={})),exports.KnownHighAvailability=void 0,(e=>{e.Enabled="Enabled",e.Disabled="Disabled"})(exports.KnownHighAvailability||(exports.KnownHighAvailability={})),exports.KnownTlsVersion=void 0,(e=>{e.One0="1.0",e.One1="1.1",e.One2="1.2"})(exports.KnownTlsVersion||(exports.KnownTlsVersion={})),exports.KnownCmkIdentityType=void 0,(e=>{e.SystemAssignedIdentity="systemAssignedIdentity",e.UserAssignedIdentity="userAssignedIdentity"})(exports.KnownCmkIdentityType||(exports.KnownCmkIdentityType={})),exports.KnownProvisioningState=void 0,(e=>{e.Succeeded="Succeeded",e.Failed="Failed",e.Canceled="Canceled",e.Creating="Creating",e.Updating="Updating",e.Deleting="Deleting"})(exports.KnownProvisioningState||(exports.KnownProvisioningState={})),exports.KnownRedundancyMode=void 0,(e=>{e.None="None",e.LR="LR",e.ZR="ZR"})(exports.KnownRedundancyMode||(exports.KnownRedundancyMode={})),exports.KnownResourceState=void 0,(e=>{e.Running="Running",e.Creating="Creating",e.CreateFailed="CreateFailed",e.Updating="Updating",e.UpdateFailed="UpdateFailed",e.Deleting="Deleting",e.DeleteFailed="DeleteFailed",e.Enabling="Enabling",e.EnableFailed="EnableFailed",e.Disabling="Disabling",e.DisableFailed="DisableFailed",e.Disabled="Disabled",e.Scaling="Scaling",e.ScalingFailed="ScalingFailed"})(exports.KnownResourceState||(exports.KnownResourceState={})),exports.KnownPrivateEndpointServiceConnectionStatus=void 0,(e=>{e.Pending="Pending",e.Approved="Approved",e.Rejected="Rejected"})(exports.KnownPrivateEndpointServiceConnectionStatus||(exports.KnownPrivateEndpointServiceConnectionStatus={})),exports.KnownPrivateEndpointConnectionProvisioningState=void 0,(e=>{e.Succeeded="Succeeded",e.Creating="Creating",e.Deleting="Deleting",e.Failed="Failed"})(exports.KnownPrivateEndpointConnectionProvisioningState||(exports.KnownPrivateEndpointConnectionProvisioningState={})),exports.KnownProtocol=void 0,(e=>{e.Encrypted="Encrypted",e.Plaintext="Plaintext"})(exports.KnownProtocol||(exports.KnownProtocol={})),exports.KnownClusteringPolicy=void 0,(e=>{e.EnterpriseCluster="EnterpriseCluster",e.OSSCluster="OSSCluster"})(exports.KnownClusteringPolicy||(exports.KnownClusteringPolicy={})),exports.KnownEvictionPolicy=void 0,(e=>{e.AllKeysLFU="AllKeysLFU",e.AllKeysLRU="AllKeysLRU",e.AllKeysRandom="AllKeysRandom",e.VolatileLRU="VolatileLRU",e.VolatileLFU="VolatileLFU",e.VolatileTTL="VolatileTTL",e.VolatileRandom="VolatileRandom",e.NoEviction="NoEviction"})(exports.KnownEvictionPolicy||(exports.KnownEvictionPolicy={})),exports.KnownAofFrequency=void 0,(e=>{e.OneS="1s",e.Always="always"})(exports.KnownAofFrequency||(exports.KnownAofFrequency={})),exports.KnownRdbFrequency=void 0,(e=>{e.OneH="1h",e.SixH="6h",e.TwelveH="12h"})(exports.KnownRdbFrequency||(exports.KnownRdbFrequency={})),exports.KnownLinkState=void 0,(e=>{e.Linked="Linked",e.Linking="Linking",e.Unlinking="Unlinking",e.LinkFailed="LinkFailed",e.UnlinkFailed="UnlinkFailed"})(exports.KnownLinkState||(exports.KnownLinkState={})),exports.KnownDeferUpgradeSetting=void 0,(e=>{e.Deferred="Deferred",e.NotDeferred="NotDeferred"})(exports.KnownDeferUpgradeSetting||(exports.KnownDeferUpgradeSetting={})),exports.KnownAccessKeysAuthentication=void 0,(e=>{e.Disabled="Disabled",e.Enabled="Enabled"})(exports.KnownAccessKeysAuthentication||(exports.KnownAccessKeysAuthentication={})),exports.KnownCreatedByType=void 0,(e=>{e.User="User",e.Application="Application",e.ManagedIdentity="ManagedIdentity",e.Key="Key"})(exports.KnownCreatedByType||(exports.KnownCreatedByType={}));let OperationListResult={type:{name:"Composite",className:"OperationListResult",modelProperties:{value:{serializedName:"value",readOnly:!0,type:{name:"Sequence",element:{type:{name:"Composite",className:"Operation"}}}},nextLink:{serializedName:"nextLink",readOnly:!0,type:{name:"String"}}}}},Operation={type:{name:"Composite",className:"Operation",modelProperties:{name:{serializedName:"name",readOnly:!0,type:{name:"String"}},isDataAction:{serializedName:"isDataAction",readOnly:!0,type:{name:"Boolean"}},display:{serializedName:"display",type:{name:"Composite",className:"OperationDisplay"}},origin:{serializedName:"origin",readOnly:!0,type:{name:"String"}},actionType:{serializedName:"actionType",readOnly:!0,type:{name:"String"}}}}},OperationDisplay={type:{name:"Composite",className:"OperationDisplay",modelProperties:{provider:{serializedName:"provider",readOnly:!0,type:{name:"String"}},resource:{serializedName:"resource",readOnly:!0,type:{name:"String"}},operation:{serializedName:"operation",readOnly:!0,type:{name:"String"}},description:{serializedName:"description",readOnly:!0,type:{name:"String"}}}}},ErrorResponse={type:{name:"Composite",className:"ErrorResponse",modelProperties:{error:{serializedName:"error",type:{name:"Composite",className:"ErrorDetail"}}}}},ErrorDetail={type:{name:"Composite",className:"ErrorDetail",modelProperties:{code:{serializedName:"code",readOnly:!0,type:{name:"String"}},message:{serializedName:"message",readOnly:!0,type:{name:"String"}},target:{serializedName:"target",readOnly:!0,type:{name:"String"}},details:{serializedName:"details",readOnly:!0,type:{name:"Sequence",element:{type:{name:"Composite",className:"ErrorDetail"}}}},additionalInfo:{serializedName:"additionalInfo",readOnly:!0,type:{name:"Sequence",element:{type:{name:"Composite",className:"ErrorAdditionalInfo"}}}}}}},ErrorAdditionalInfo={type:{name:"Composite",className:"ErrorAdditionalInfo",modelProperties:{type:{serializedName:"type",readOnly:!0,type:{name:"String"}},info:{serializedName:"info",readOnly:!0,type:{name:"Dictionary",value:{type:{name:"any"}}}}}}},OperationStatus={type:{name:"Composite",className:"OperationStatus",modelProperties:{id:{serializedName:"id",type:{name:"String"}},name:{serializedName:"name",type:{name:"String"}},startTime:{serializedName:"startTime",type:{name:"String"}},endTime:{serializedName:"endTime",type:{name:"String"}},status:{serializedName:"status",type:{name:"String"}},error:{serializedName:"error",type:{name:"Composite",className:"ErrorResponse"}}}}},Sku={type:{name:"Composite",className:"Sku",modelProperties:{name:{serializedName:"name",required:!0,type:{name:"String"}},capacity:{serializedName:"capacity",type:{name:"Number"}}}}},ManagedServiceIdentity={type:{name:"Composite",className:"ManagedServiceIdentity",modelProperties:{principalId:{serializedName:"principalId",readOnly:!0,type:{name:"Uuid"}},tenantId:{serializedName:"tenantId",readOnly:!0,type:{name:"Uuid"}},type:{serializedName:"type",required:!0,type:{name:"String"}},userAssignedIdentities:{serializedName:"userAssignedIdentities",type:{name:"Dictionary",value:{type:{name:"Composite",className:"UserAssignedIdentity"}}}}}}},UserAssignedIdentity={type:{name:"Composite",className:"UserAssignedIdentity",modelProperties:{principalId:{serializedName:"principalId",readOnly:!0,type:{name:"Uuid"}},clientId:{serializedName:"clientId",readOnly:!0,type:{name:"Uuid"}}}}},ClusterPropertiesEncryption={type:{name:"Composite",className:"ClusterPropertiesEncryption",modelProperties:{customerManagedKeyEncryption:{serializedName:"customerManagedKeyEncryption",type:{name:"Composite",className:"ClusterPropertiesEncryptionCustomerManagedKeyEncryption"}}}}},ClusterPropertiesEncryptionCustomerManagedKeyEncryption={type:{name:"Composite",className:"ClusterPropertiesEncryptionCustomerManagedKeyEncryption",modelProperties:{keyEncryptionKeyIdentity:{serializedName:"keyEncryptionKeyIdentity",type:{name:"Composite",className:"ClusterPropertiesEncryptionCustomerManagedKeyEncryptionKeyIdentity"}},keyEncryptionKeyUrl:{serializedName:"keyEncryptionKeyUrl",type:{name:"String"}}}}},ClusterPropertiesEncryptionCustomerManagedKeyEncryptionKeyIdentity={type:{name:"Composite",className:"ClusterPropertiesEncryptionCustomerManagedKeyEncryptionKeyIdentity",modelProperties:{userAssignedIdentityResourceId:{serializedName:"userAssignedIdentityResourceId",type:{name:"String"}},identityType:{serializedName:"identityType",type:{name:"String"}}}}},PrivateEndpoint={type:{name:"Composite",className:"PrivateEndpoint",modelProperties:{id:{serializedName:"id",readOnly:!0,type:{name:"String"}}}}},PrivateLinkServiceConnectionState={type:{name:"Composite",className:"PrivateLinkServiceConnectionState",modelProperties:{status:{serializedName:"status",type:{name:"String"}},description:{serializedName:"description",type:{name:"String"}},actionsRequired:{serializedName:"actionsRequired",type:{name:"String"}}}}},Resource={type:{name:"Composite",className:"Resource",modelProperties:{id:{serializedName:"id",readOnly:!0,type:{name:"String"}},name:{serializedName:"name",readOnly:!0,type:{name:"String"}},type:{serializedName:"type",readOnly:!0,type:{name:"String"}}}}},ClusterUpdate={type:{name:"Composite",className:"ClusterUpdate",modelProperties:{sku:{serializedName:"sku",type:{name:"Composite",className:"Sku"}},identity:{serializedName:"identity",type:{name:"Composite",className:"ManagedServiceIdentity"}},tags:{serializedName:"tags",type:{name:"Dictionary",value:{type:{name:"String"}}}},highAvailability:{serializedName:"properties.highAvailability",type:{name:"String"}},minimumTlsVersion:{serializedName:"properties.minimumTlsVersion",type:{name:"String"}},encryption:{serializedName:"properties.encryption",type:{name:"Composite",className:"ClusterPropertiesEncryption"}},hostName:{serializedName:"properties.hostName",readOnly:!0,type:{name:"String"}},provisioningState:{serializedName:"properties.provisioningState",readOnly:!0,type:{name:"String"}},redundancyMode:{serializedName:"properties.redundancyMode",readOnly:!0,type:{name:"String"}},resourceState:{serializedName:"properties.resourceState",readOnly:!0,type:{name:"String"}},redisVersion:{serializedName:"properties.redisVersion",readOnly:!0,type:{name:"String"}},privateEndpointConnections:{serializedName:"properties.privateEndpointConnections",readOnly:!0,type:{name:"Sequence",element:{type:{name:"Composite",className:"PrivateEndpointConnection"}}}}}}},ClusterList={type:{name:"Composite",className:"ClusterList",modelProperties:{value:{serializedName:"value",type:{name:"Sequence",element:{type:{name:"Composite",className:"Cluster"}}}},nextLink:{serializedName:"nextLink",readOnly:!0,type:{name:"String"}}}}},DatabaseList={type:{name:"Composite",className:"DatabaseList",modelProperties:{value:{serializedName:"value",type:{name:"Sequence",element:{type:{name:"Composite",className:"Database"}}}},nextLink:{serializedName:"nextLink",readOnly:!0,type:{name:"String"}}}}},Persistence={type:{name:"Composite",className:"Persistence",modelProperties:{aofEnabled:{serializedName:"aofEnabled",type:{name:"Boolean"}},rdbEnabled:{serializedName:"rdbEnabled",type:{name:"Boolean"}},aofFrequency:{serializedName:"aofFrequency",type:{name:"String"}},rdbFrequency:{serializedName:"rdbFrequency",type:{name:"String"}}}}},Module={type:{name:"Composite",className:"Module",modelProperties:{name:{serializedName:"name",required:!0,type:{name:"String"}},args:{serializedName:"args",type:{name:"String"}},version:{serializedName:"version",readOnly:!0,type:{name:"String"}}}}},DatabasePropertiesGeoReplication={type:{name:"Composite",className:"DatabasePropertiesGeoReplication",modelProperties:{groupNickname:{serializedName:"groupNickname",type:{name:"String"}},linkedDatabases:{serializedName:"linkedDatabases",type:{name:"Sequence",element:{type:{name:"Composite",className:"LinkedDatabase"}}}}}}},LinkedDatabase={type:{name:"Composite",className:"LinkedDatabase",modelProperties:{id:{serializedName:"id",type:{name:"String"}},state:{serializedName:"state",readOnly:!0,type:{name:"String"}}}}},ResourceAutoGenerated={type:{name:"Composite",className:"ResourceAutoGenerated",modelProperties:{id:{serializedName:"id",readOnly:!0,type:{name:"String"}},name:{serializedName:"name",readOnly:!0,type:{name:"String"}},type:{serializedName:"type",readOnly:!0,type:{name:"String"}},systemData:{serializedName:"systemData",type:{name:"Composite",className:"SystemData"}}}}},SystemData={type:{name:"Composite",className:"SystemData",modelProperties:{createdBy:{serializedName:"createdBy",type:{name:"String"}},createdByType:{serializedName:"createdByType",type:{name:"String"}},createdAt:{serializedName:"createdAt",type:{name:"DateTime"}},lastModifiedBy:{serializedName:"lastModifiedBy",type:{name:"String"}},lastModifiedByType:{serializedName:"lastModifiedByType",type:{name:"String"}},lastModifiedAt:{serializedName:"lastModifiedAt",type:{name:"DateTime"}}}}},DatabaseUpdate={type:{name:"Composite",className:"DatabaseUpdate",modelProperties:{clientProtocol:{serializedName:"properties.clientProtocol",type:{name:"String"}},port:{serializedName:"properties.port",type:{name:"Number"}},provisioningState:{serializedName:"properties.provisioningState",readOnly:!0,type:{name:"String"}},resourceState:{serializedName:"properties.resourceState",readOnly:!0,type:{name:"String"}},clusteringPolicy:{serializedName:"properties.clusteringPolicy",type:{name:"String"}},evictionPolicy:{serializedName:"properties.evictionPolicy",type:{name:"String"}},persistence:{serializedName:"properties.persistence",type:{name:"Composite",className:"Persistence"}},modules:{serializedName:"properties.modules",type:{name:"Sequence",element:{type:{name:"Composite",className:"Module"}}}},geoReplication:{serializedName:"properties.geoReplication",type:{name:"Composite",className:"DatabasePropertiesGeoReplication"}},redisVersion:{serializedName:"properties.redisVersion",readOnly:!0,type:{name:"String"}},deferUpgrade:{serializedName:"properties.deferUpgrade",type:{name:"String"}},accessKeysAuthentication:{serializedName:"properties.accessKeysAuthentication",type:{name:"String"}}}}},AccessKeys={type:{name:"Composite",className:"AccessKeys",modelProperties:{primaryKey:{serializedName:"primaryKey",readOnly:!0,type:{name:"String"}},secondaryKey:{serializedName:"secondaryKey",readOnly:!0,type:{name:"String"}}}}},RegenerateKeyParameters={type:{name:"Composite",className:"RegenerateKeyParameters",modelProperties:{keyType:{serializedName:"keyType",required:!0,type:{name:"Enum",allowedValues:["Primary","Secondary"]}}}}},ImportClusterParameters={type:{name:"Composite",className:"ImportClusterParameters",modelProperties:{sasUris:{serializedName:"sasUris",required:!0,type:{name:"Sequence",element:{type:{name:"String"}}}}}}},ExportClusterParameters={type:{name:"Composite",className:"ExportClusterParameters",modelProperties:{sasUri:{serializedName:"sasUri",required:!0,type:{name:"String"}}}}},AccessPolicyAssignmentPropertiesUser={type:{name:"Composite",className:"AccessPolicyAssignmentPropertiesUser",modelProperties:{objectId:{serializedName:"objectId",type:{name:"String"}}}}},AccessPolicyAssignmentList={type:{name:"Composite",className:"AccessPolicyAssignmentList",modelProperties:{value:{serializedName:"value",type:{name:"Sequence",element:{type:{name:"Composite",className:"AccessPolicyAssignment"}}}},nextLink:{serializedName:"nextLink",readOnly:!0,type:{name:"String"}}}}},PrivateEndpointConnectionListResult={type:{name:"Composite",className:"PrivateEndpointConnectionListResult",modelProperties:{value:{serializedName:"value",type:{name:"Sequence",element:{type:{name:"Composite",className:"PrivateEndpointConnection"}}}}}}},PrivateLinkResourceListResult={type:{name:"Composite",className:"PrivateLinkResourceListResult",modelProperties:{value:{serializedName:"value",type:{name:"Sequence",element:{type:{name:"Composite",className:"PrivateLinkResource"}}}}}}},ForceUnlinkParameters={type:{name:"Composite",className:"ForceUnlinkParameters",modelProperties:{ids:{serializedName:"ids",required:!0,type:{name:"Sequence",element:{type:{name:"String"}}}}}}},ForceLinkParameters={type:{name:"Composite",className:"ForceLinkParameters",modelProperties:{groupNickname:{serializedName:"groupNickname",required:!0,type:{name:"String"}},linkedDatabases:{serializedName:"linkedDatabases",required:!0,type:{name:"Sequence",element:{type:{name:"Composite",className:"LinkedDatabase"}}}}}}},FlushParameters={type:{name:"Composite",className:"FlushParameters",modelProperties:{ids:{serializedName:"ids",type:{name:"Sequence",element:{type:{name:"String"}}}}}}},PrivateEndpointConnection={type:{name:"Composite",className:"PrivateEndpointConnection",modelProperties:Object.assign(Object.assign({},Resource.type.modelProperties),{privateEndpoint:{serializedName:"properties.privateEndpoint",type:{name:"Composite",className:"PrivateEndpoint"}},privateLinkServiceConnectionState:{serializedName:"properties.privateLinkServiceConnectionState",type:{name:"Composite",className:"PrivateLinkServiceConnectionState"}},provisioningState:{serializedName:"properties.provisioningState",readOnly:!0,type:{name:"String"}}})}},TrackedResource={type:{name:"Composite",className:"TrackedResource",modelProperties:Object.assign(Object.assign({},Resource.type.modelProperties),{tags:{serializedName:"tags",type:{name:"Dictionary",value:{type:{name:"String"}}}},location:{serializedName:"location",required:!0,type:{name:"String"}}})}},ProxyResourceAutoGenerated={type:{name:"Composite",className:"ProxyResourceAutoGenerated",modelProperties:Object.assign({},Resource.type.modelProperties)}},PrivateLinkResource={type:{name:"Composite",className:"PrivateLinkResource",modelProperties:Object.assign(Object.assign({},Resource.type.modelProperties),{groupId:{serializedName:"properties.groupId",readOnly:!0,type:{name:"String"}},requiredMembers:{serializedName:"properties.requiredMembers",readOnly:!0,type:{name:"Sequence",element:{type:{name:"String"}}}},requiredZoneNames:{serializedName:"properties.requiredZoneNames",type:{name:"Sequence",element:{type:{name:"String"}}}}})}},ProxyResource={type:{name:"Composite",className:"ProxyResource",modelProperties:Object.assign({},ResourceAutoGenerated.type.modelProperties)}},Cluster={type:{name:"Composite",className:"Cluster",modelProperties:Object.assign(Object.assign({},TrackedResource.type.modelProperties),{sku:{serializedName:"sku",type:{name:"Composite",className:"Sku"}},zones:{serializedName:"zones",type:{name:"Sequence",element:{type:{name:"String"}}}},identity:{serializedName:"identity",type:{name:"Composite",className:"ManagedServiceIdentity"}},highAvailability:{serializedName:"properties.highAvailability",type:{name:"String"}},minimumTlsVersion:{serializedName:"properties.minimumTlsVersion",type:{name:"String"}},encryption:{serializedName:"properties.encryption",type:{name:"Composite",className:"ClusterPropertiesEncryption"}},hostName:{serializedName:"properties.hostName",readOnly:!0,type:{name:"String"}},provisioningState:{serializedName:"properties.provisioningState",readOnly:!0,type:{name:"String"}},redundancyMode:{serializedName:"properties.redundancyMode",readOnly:!0,type:{name:"String"}},resourceState:{serializedName:"properties.resourceState",readOnly:!0,type:{name:"String"}},redisVersion:{serializedName:"properties.redisVersion",readOnly:!0,type:{name:"String"}},privateEndpointConnections:{serializedName:"properties.privateEndpointConnections",readOnly:!0,type:{name:"Sequence",element:{type:{name:"Composite",className:"PrivateEndpointConnection"}}}}})}},AccessPolicyAssignment={type:{name:"Composite",className:"AccessPolicyAssignment",modelProperties:Object.assign(Object.assign({},ProxyResourceAutoGenerated.type.modelProperties),{provisioningState:{serializedName:"properties.provisioningState",readOnly:!0,type:{name:"String"}},accessPolicyName:{constraints:{Pattern:new RegExp("^([a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9]|[a-zA-Z0-9])$")},serializedName:"properties.accessPolicyName",type:{name:"String"}},user:{serializedName:"properties.user",type:{name:"Composite",className:"AccessPolicyAssignmentPropertiesUser"}}})}},Database={type:{name:"Composite",className:"Database",modelProperties:Object.assign(Object.assign({},ProxyResource.type.modelProperties),{clientProtocol:{serializedName:"properties.clientProtocol",type:{name:"String"}},port:{serializedName:"properties.port",type:{name:"Number"}},provisioningState:{serializedName:"properties.provisioningState",readOnly:!0,type:{name:"String"}},resourceState:{serializedName:"properties.resourceState",readOnly:!0,type:{name:"String"}},clusteringPolicy:{serializedName:"properties.clusteringPolicy",type:{name:"String"}},evictionPolicy:{serializedName:"properties.evictionPolicy",type:{name:"String"}},persistence:{serializedName:"properties.persistence",type:{name:"Composite",className:"Persistence"}},modules:{serializedName:"properties.modules",type:{name:"Sequence",element:{type:{name:"Composite",className:"Module"}}}},geoReplication:{serializedName:"properties.geoReplication",type:{name:"Composite",className:"DatabasePropertiesGeoReplication"}},redisVersion:{serializedName:"properties.redisVersion",readOnly:!0,type:{name:"String"}},deferUpgrade:{serializedName:"properties.deferUpgrade",type:{name:"String"}},accessKeysAuthentication:{serializedName:"properties.accessKeysAuthentication",type:{name:"String"}}})}},RedisEnterpriseUpdateHeaders={type:{name:"Composite",className:"RedisEnterpriseUpdateHeaders",modelProperties:{location:{serializedName:"location",type:{name:"String"}},azureAsyncOperation:{serializedName:"azure-asyncoperation",type:{name:"String"}}}}},RedisEnterpriseDeleteHeaders={type:{name:"Composite",className:"RedisEnterpriseDeleteHeaders",modelProperties:{location:{serializedName:"location",type:{name:"String"}},azureAsyncOperation:{serializedName:"azure-asyncoperation",type:{name:"String"}}}}},DatabasesUpdateHeaders={type:{name:"Composite",className:"DatabasesUpdateHeaders",modelProperties:{location:{serializedName:"location",type:{name:"String"}},azureAsyncOperation:{serializedName:"azure-asyncoperation",type:{name:"String"}}}}},DatabasesDeleteHeaders={type:{name:"Composite",className:"DatabasesDeleteHeaders",modelProperties:{location:{serializedName:"location",type:{name:"String"}},azureAsyncOperation:{serializedName:"azure-asyncoperation",type:{name:"String"}}}}},DatabasesRegenerateKeyHeaders={type:{name:"Composite",className:"DatabasesRegenerateKeyHeaders",modelProperties:{location:{serializedName:"location",type:{name:"String"}},azureAsyncOperation:{serializedName:"azure-asyncoperation",type:{name:"String"}}}}},DatabasesImportHeaders={type:{name:"Composite",className:"DatabasesImportHeaders",modelProperties:{location:{serializedName:"location",type:{name:"String"}},azureAsyncOperation:{serializedName:"azure-asyncoperation",type:{name:"String"}}}}},DatabasesExportHeaders={type:{name:"Composite",className:"DatabasesExportHeaders",modelProperties:{location:{serializedName:"location",type:{name:"String"}},azureAsyncOperation:{serializedName:"azure-asyncoperation",type:{name:"String"}}}}},DatabasesForceUnlinkHeaders={type:{name:"Composite",className:"DatabasesForceUnlinkHeaders",modelProperties:{location:{serializedName:"location",type:{name:"String"}},azureAsyncOperation:{serializedName:"azure-asyncoperation",type:{name:"String"}}}}},DatabasesForceLinkToReplicationGroupHeaders={type:{name:"Composite",className:"DatabasesForceLinkToReplicationGroupHeaders",modelProperties:{location:{serializedName:"location",type:{name:"String"}},azureAsyncOperation:{serializedName:"azure-asyncoperation",type:{name:"String"}}}}},DatabasesFlushHeaders={type:{name:"Composite",className:"DatabasesFlushHeaders",modelProperties:{location:{serializedName:"location",type:{name:"String"}},azureAsyncOperation:{serializedName:"azure-asyncoperation",type:{name:"String"}}}}},DatabasesUpgradeDBRedisVersionHeaders={type:{name:"Composite",className:"DatabasesUpgradeDBRedisVersionHeaders",modelProperties:{location:{serializedName:"location",type:{name:"String"}},azureAsyncOperation:{serializedName:"azure-asyncoperation",type:{name:"String"}}}}},AccessPolicyAssignmentDeleteHeaders={type:{name:"Composite",className:"AccessPolicyAssignmentDeleteHeaders",modelProperties:{location:{serializedName:"location",type:{name:"String"}},azureAsyncOperation:{serializedName:"azure-asyncoperation",type:{name:"String"}}}}},PrivateEndpointConnectionsDeleteHeaders={type:{name:"Composite",className:"PrivateEndpointConnectionsDeleteHeaders",modelProperties:{location:{serializedName:"location",type:{name:"String"}},azureAsyncOperation:{serializedName:"azure-asyncoperation",type:{name:"String"}}}}};var Mappers=Object.freeze({__proto__:null,AccessKeys:AccessKeys,AccessPolicyAssignment:AccessPolicyAssignment,AccessPolicyAssignmentDeleteHeaders:AccessPolicyAssignmentDeleteHeaders,AccessPolicyAssignmentList:AccessPolicyAssignmentList,AccessPolicyAssignmentPropertiesUser:AccessPolicyAssignmentPropertiesUser,Cluster:Cluster,ClusterList:ClusterList,ClusterPropertiesEncryption:ClusterPropertiesEncryption,ClusterPropertiesEncryptionCustomerManagedKeyEncryption:ClusterPropertiesEncryptionCustomerManagedKeyEncryption,ClusterPropertiesEncryptionCustomerManagedKeyEncryptionKeyIdentity:ClusterPropertiesEncryptionCustomerManagedKeyEncryptionKeyIdentity,ClusterUpdate:ClusterUpdate,Database:Database,DatabaseList:DatabaseList,DatabasePropertiesGeoReplication:DatabasePropertiesGeoReplication,DatabaseUpdate:DatabaseUpdate,DatabasesDeleteHeaders:DatabasesDeleteHeaders,DatabasesExportHeaders:DatabasesExportHeaders,DatabasesFlushHeaders:DatabasesFlushHeaders,DatabasesForceLinkToReplicationGroupHeaders:DatabasesForceLinkToReplicationGroupHeaders,DatabasesForceUnlinkHeaders:DatabasesForceUnlinkHeaders,DatabasesImportHeaders:DatabasesImportHeaders,DatabasesRegenerateKeyHeaders:DatabasesRegenerateKeyHeaders,DatabasesUpdateHeaders:DatabasesUpdateHeaders,DatabasesUpgradeDBRedisVersionHeaders:DatabasesUpgradeDBRedisVersionHeaders,ErrorAdditionalInfo:ErrorAdditionalInfo,ErrorDetail:ErrorDetail,ErrorResponse:ErrorResponse,ExportClusterParameters:ExportClusterParameters,FlushParameters:FlushParameters,ForceLinkParameters:ForceLinkParameters,ForceUnlinkParameters:ForceUnlinkParameters,ImportClusterParameters:ImportClusterParameters,LinkedDatabase:LinkedDatabase,ManagedServiceIdentity:ManagedServiceIdentity,Module:Module,Operation:Operation,OperationDisplay:OperationDisplay,OperationListResult:OperationListResult,OperationStatus:OperationStatus,Persistence:Persistence,PrivateEndpoint:PrivateEndpoint,PrivateEndpointConnection:PrivateEndpointConnection,PrivateEndpointConnectionListResult:PrivateEndpointConnectionListResult,PrivateEndpointConnectionsDeleteHeaders:PrivateEndpointConnectionsDeleteHeaders,PrivateLinkResource:PrivateLinkResource,PrivateLinkResourceListResult:PrivateLinkResourceListResult,PrivateLinkServiceConnectionState:PrivateLinkServiceConnectionState,ProxyResource:ProxyResource,ProxyResourceAutoGenerated:ProxyResourceAutoGenerated,RedisEnterpriseDeleteHeaders:RedisEnterpriseDeleteHeaders,RedisEnterpriseUpdateHeaders:RedisEnterpriseUpdateHeaders,RegenerateKeyParameters:RegenerateKeyParameters,Resource:Resource,ResourceAutoGenerated:ResourceAutoGenerated,Sku:Sku,SystemData:SystemData,TrackedResource:TrackedResource,UserAssignedIdentity:UserAssignedIdentity});let accept={parameterPath:"accept",mapper:{defaultValue:"application/json",isConstant:!0,serializedName:"Accept",type:{name:"String"}}},$host={parameterPath:"$host",mapper:{serializedName:"$host",required:!0,type:{name:"String"}},skipEncoding:!0},apiVersion={parameterPath:"apiVersion",mapper:{defaultValue:"2024-09-01-preview",isConstant:!0,serializedName:"api-version",type:{name:"String"}}},nextLink={parameterPath:"nextLink",mapper:{serializedName:"nextLink",required:!0,type:{name:"String"}},skipEncoding:!0},location={parameterPath:"location",mapper:{constraints:{MinLength:1},serializedName:"location",required:!0,type:{name:"String"}}},operationId={parameterPath:"operationId",mapper:{constraints:{MinLength:1},serializedName:"operationId",required:!0,type:{name:"String"}}},subscriptionId={parameterPath:"subscriptionId",mapper:{constraints:{MinLength:1},serializedName:"subscriptionId",required:!0,type:{name:"String"}}},contentType={parameterPath:["options","contentType"],mapper:{defaultValue:"application/json",isConstant:!0,serializedName:"Content-Type",type:{name:"String"}}},parameters={parameterPath:"parameters",mapper:Cluster},resourceGroupName={parameterPath:"resourceGroupName",mapper:{constraints:{MaxLength:90,MinLength:1},serializedName:"resourceGroupName",required:!0,type:{name:"String"}}},clusterName={parameterPath:"clusterName",mapper:{constraints:{Pattern:new RegExp("^[A-Za-z0-9]{1,60}$")},serializedName:"clusterName",required:!0,type:{name:"String"}}},parameters1={parameterPath:"parameters",mapper:ClusterUpdate},parameters2={parameterPath:"parameters",mapper:Database},databaseName={parameterPath:"databaseName",mapper:{constraints:{Pattern:new RegExp("^[A-Za-z0-9]{1,60}$")},serializedName:"databaseName",required:!0,type:{name:"String"}}},parameters3={parameterPath:"parameters",mapper:DatabaseUpdate},parameters4={parameterPath:"parameters",mapper:RegenerateKeyParameters},parameters5={parameterPath:"parameters",mapper:ImportClusterParameters},parameters6={parameterPath:"parameters",mapper:ExportClusterParameters},parameters7={parameterPath:"parameters",mapper:ForceUnlinkParameters},parameters8={parameterPath:"parameters",mapper:ForceLinkParameters},parameters9={parameterPath:"parameters",mapper:FlushParameters},parameters10={parameterPath:"parameters",mapper:AccessPolicyAssignment},accessPolicyAssignmentName={parameterPath:"accessPolicyAssignmentName",mapper:{constraints:{Pattern:new RegExp("^[A-Za-z0-9]{1,60}$")},serializedName:"accessPolicyAssignmentName",required:!0,type:{name:"String"}}},privateEndpointConnectionName={parameterPath:"privateEndpointConnectionName",mapper:{serializedName:"privateEndpointConnectionName",required:!0,type:{name:"String"}}},properties={parameterPath:"properties",mapper:PrivateEndpointConnection};class OperationsImpl{constructor(e){this.client=e}list(t){let e=this.listPagingAll(t);return{next(){return e.next()},[Symbol.asyncIterator](){return this},byPage:e=>{if(null!=e&&e.maxPageSize)throw new Error("maxPageSize is not supported by this operation.");return this.listPagingPage(t,e)}}}listPagingPage(i,s){return tslib.__asyncGenerator(this,arguments,function*(){let e,t=null==s?void 0:s.continuationToken;var r;for(t||(setContinuationToken(r=(e=yield tslib.__await(this._list(i))).value||[],t=e.nextLink),yield yield tslib.__await(r));t;){e=yield tslib.__await(this._listNext(t,i)),t=e.nextLink;var a=e.value||[];setContinuationToken(a,t),yield yield tslib.__await(a)}})}listPagingAll(o){return tslib.__asyncGenerator(this,arguments,function*(){var e,t,r;try{for(var a,i=!0,s=tslib.__asyncValues(this.listPagingPage(o));!(e=(a=yield tslib.__await(s.next())).done);i=!0){var n=a.value,i=!1;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(n)))}}catch(e){t={error:e}}finally{try{i||e||!(r=s.return)||(yield tslib.__await(r.call(s)))}finally{if(t)throw t.error}}})}_list(e){return this.client.sendOperationRequest({options:e},listOperationSpec$3)}_listNext(e,t){return this.client.sendOperationRequest({nextLink:e,options:t},listNextOperationSpec$2)}}let serializer$6=coreClient__namespace.createSerializer(Mappers,!1),listOperationSpec$3={path:"/providers/Microsoft.Cache/operations",httpMethod:"GET",responses:{200:{bodyMapper:OperationListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host],headerParameters:[accept],serializer:serializer$6},listNextOperationSpec$2={path:"{nextLink}",httpMethod:"GET",responses:{200:{bodyMapper:OperationListResult},default:{bodyMapper:ErrorResponse}},urlParameters:[$host,nextLink],headerParameters:[accept],serializer:serializer$6};class OperationsStatusImpl{constructor(e){this.client=e}get(e,t,r){return this.client.sendOperationRequest({location:e,operationId:t,options:r},getOperationSpec$4)}}let serializer$5=coreClient__namespace.createSerializer(Mappers,!1),getOperationSpec$4={path:"/subscriptions/{subscriptionId}/providers/Microsoft.Cache/locations/{location}/operationsStatus/{operationId}",httpMethod:"GET",responses:{200:{bodyMapper:OperationStatus},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,location,operationId,subscriptionId],headerParameters:[accept],serializer:serializer$5};function createLroSpec(e){let{args:a,spec:i,sendOperationFn:s}=e;return{requestMethod:i.httpMethod,requestPath:i.path,sendInitialRequest:()=>s(a,i),sendPollRequest:(e,t)=>{var r=tslib.__rest(i,["requestBody"]);return s(a,Object.assign(Object.assign({},r),{httpMethod:"GET",path:e,abortSignal:null==t?void 0:t.abortSignal}))}}}class RedisEnterpriseImpl{constructor(e){this.client=e}listByResourceGroup(t,r){let e=this.listByResourceGroupPagingAll(t,r);return{next(){return e.next()},[Symbol.asyncIterator](){return this},byPage:e=>{if(null!=e&&e.maxPageSize)throw new Error("maxPageSize is not supported by this operation.");return this.listByResourceGroupPagingPage(t,r,e)}}}listByResourceGroupPagingPage(i,s,n){return tslib.__asyncGenerator(this,arguments,function*(){let e,t=null==n?void 0:n.continuationToken;var r;for(t||(setContinuationToken(r=(e=yield tslib.__await(this._listByResourceGroup(i,s))).value||[],t=e.nextLink),yield yield tslib.__await(r));t;){e=yield tslib.__await(this._listByResourceGroupNext(i,t,s)),t=e.nextLink;var a=e.value||[];setContinuationToken(a,t),yield yield tslib.__await(a)}})}listByResourceGroupPagingAll(o,p){return tslib.__asyncGenerator(this,arguments,function*(){var e,t,r;try{for(var a,i=!0,s=tslib.__asyncValues(this.listByResourceGroupPagingPage(o,p));!(e=(a=yield tslib.__await(s.next())).done);i=!0){var n=a.value,i=!1;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(n)))}}catch(e){t={error:e}}finally{try{i||e||!(r=s.return)||(yield tslib.__await(r.call(s)))}finally{if(t)throw t.error}}})}list(t){let e=this.listPagingAll(t);return{next(){return e.next()},[Symbol.asyncIterator](){return this},byPage:e=>{if(null!=e&&e.maxPageSize)throw new Error("maxPageSize is not supported by this operation.");return this.listPagingPage(t,e)}}}listPagingPage(i,s){return tslib.__asyncGenerator(this,arguments,function*(){let e,t=null==s?void 0:s.continuationToken;var r;for(t||(setContinuationToken(r=(e=yield tslib.__await(this._list(i))).value||[],t=e.nextLink),yield yield tslib.__await(r));t;){e=yield tslib.__await(this._listNext(t,i)),t=e.nextLink;var a=e.value||[];setContinuationToken(a,t),yield yield tslib.__await(a)}})}listPagingAll(o){return tslib.__asyncGenerator(this,arguments,function*(){var e,t,r;try{for(var a,i=!0,s=tslib.__asyncValues(this.listPagingPage(o));!(e=(a=yield tslib.__await(s.next())).done);i=!0){var n=a.value,i=!1;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(n)))}}catch(e){t={error:e}}finally{try{i||e||!(r=s.return)||(yield tslib.__await(r.call(s)))}finally{if(t)throw t.error}}})}beginCreate(t,r,a,i){return tslib.__awaiter(this,void 0,void 0,function*(){let n=(e,t)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,t)});var e=createLroSpec({sendOperationFn:(i,s)=>tslib.__awaiter(this,void 0,void 0,function*(){let e,r=void 0,a=null==(e=i.options)?void 0:e.onResponse;var t=Object.assign(Object.assign({},i),{options:Object.assign(Object.assign({},i.options),{onResponse:(e,t)=>{r=e,null!=a&&a(e,t)}})});return{flatResponse:yield n(t,s),rawResponse:{statusCode:r.status,body:r.parsedBody,headers:r.headers.toJSON()}}}),args:{resourceGroupName:t,clusterName:r,parameters:a,options:i},spec:createOperationSpec$1}),e=yield coreLro.createHttpPoller(e,{restoreFrom:null==i?void 0:i.resumeFrom,intervalInMs:null==i?void 0:i.updateIntervalInMs,resourceLocationConfig:"original-uri"});return yield e.poll(),e})}beginCreateAndWait(e,t,r,a){return tslib.__awaiter(this,void 0,void 0,function*(){return(yield this.beginCreate(e,t,r,a)).pollUntilDone()})}beginUpdate(t,r,a,i){return tslib.__awaiter(this,void 0,void 0,function*(){let n=(e,t)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,t)});var e=createLroSpec({sendOperationFn:(i,s)=>tslib.__awaiter(this,void 0,void 0,function*(){let e,r=void 0,a=null==(e=i.options)?void 0:e.onResponse;var t=Object.assign(Object.assign({},i),{options:Object.assign(Object.assign({},i.options),{onResponse:(e,t)=>{r=e,null!=a&&a(e,t)}})});return{flatResponse:yield n(t,s),rawResponse:{statusCode:r.status,body:r.parsedBody,headers:r.headers.toJSON()}}}),args:{resourceGroupName:t,clusterName:r,parameters:a,options:i},spec:updateOperationSpec$1}),e=yield coreLro.createHttpPoller(e,{restoreFrom:null==i?void 0:i.resumeFrom,intervalInMs:null==i?void 0:i.updateIntervalInMs,resourceLocationConfig:"azure-async-operation"});return yield e.poll(),e})}beginUpdateAndWait(e,t,r,a){return tslib.__awaiter(this,void 0,void 0,function*(){return(yield this.beginUpdate(e,t,r,a)).pollUntilDone()})}beginDelete(t,r,a){return tslib.__awaiter(this,void 0,void 0,function*(){let n=(e,t)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,t)});var e=createLroSpec({sendOperationFn:(i,s)=>tslib.__awaiter(this,void 0,void 0,function*(){let e,r=void 0,a=null==(e=i.options)?void 0:e.onResponse;var t=Object.assign(Object.assign({},i),{options:Object.assign(Object.assign({},i.options),{onResponse:(e,t)=>{r=e,null!=a&&a(e,t)}})});return{flatResponse:yield n(t,s),rawResponse:{statusCode:r.status,body:r.parsedBody,headers:r.headers.toJSON()}}}),args:{resourceGroupName:t,clusterName:r,options:a},spec:deleteOperationSpec$3}),e=yield coreLro.createHttpPoller(e,{restoreFrom:null==a?void 0:a.resumeFrom,intervalInMs:null==a?void 0:a.updateIntervalInMs,resourceLocationConfig:"azure-async-operation"});return yield e.poll(),e})}beginDeleteAndWait(e,t,r){return tslib.__awaiter(this,void 0,void 0,function*(){return(yield this.beginDelete(e,t,r)).pollUntilDone()})}get(e,t,r){return this.client.sendOperationRequest({resourceGroupName:e,clusterName:t,options:r},getOperationSpec$3)}_listByResourceGroup(e,t){return this.client.sendOperationRequest({resourceGroupName:e,options:t},listByResourceGroupOperationSpec)}_list(e){return this.client.sendOperationRequest({options:e},listOperationSpec$2)}_listByResourceGroupNext(e,t,r){return this.client.sendOperationRequest({resourceGroupName:e,nextLink:t,options:r},listByResourceGroupNextOperationSpec)}_listNext(e,t){return this.client.sendOperationRequest({nextLink:e,options:t},listNextOperationSpec$1)}}let serializer$4=coreClient__namespace.createSerializer(Mappers,!1),createOperationSpec$1={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}",httpMethod:"PUT",responses:{200:{bodyMapper:Cluster},201:{bodyMapper:Cluster},202:{bodyMapper:Cluster},204:{bodyMapper:Cluster},default:{bodyMapper:ErrorResponse}},requestBody:parameters,queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,clusterName],headerParameters:[accept,contentType],mediaType:"json",serializer:serializer$4},updateOperationSpec$1={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}",httpMethod:"PATCH",responses:{200:{bodyMapper:Cluster},201:{bodyMapper:Cluster},202:{bodyMapper:Cluster},204:{bodyMapper:Cluster},default:{bodyMapper:ErrorResponse}},requestBody:parameters1,queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,clusterName],headerParameters:[accept,contentType],mediaType:"json",serializer:serializer$4},deleteOperationSpec$3={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}",httpMethod:"DELETE",responses:{200:{},201:{},202:{},204:{},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,clusterName],headerParameters:[accept],serializer:serializer$4},getOperationSpec$3={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}",httpMethod:"GET",responses:{200:{bodyMapper:Cluster},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,clusterName],headerParameters:[accept],serializer:serializer$4},listByResourceGroupOperationSpec={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise",httpMethod:"GET",responses:{200:{bodyMapper:ClusterList},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName],headerParameters:[accept],serializer:serializer$4},listOperationSpec$2={path:"/subscriptions/{subscriptionId}/providers/Microsoft.Cache/redisEnterprise",httpMethod:"GET",responses:{200:{bodyMapper:ClusterList},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,subscriptionId],headerParameters:[accept],serializer:serializer$4},listByResourceGroupNextOperationSpec={path:"{nextLink}",httpMethod:"GET",responses:{200:{bodyMapper:ClusterList},default:{bodyMapper:ErrorResponse}},urlParameters:[$host,nextLink,subscriptionId,resourceGroupName],headerParameters:[accept],serializer:serializer$4},listNextOperationSpec$1={path:"{nextLink}",httpMethod:"GET",responses:{200:{bodyMapper:ClusterList},default:{bodyMapper:ErrorResponse}},urlParameters:[$host,nextLink,subscriptionId],headerParameters:[accept],serializer:serializer$4};class DatabasesImpl{constructor(e){this.client=e}listByCluster(t,r,a){let e=this.listByClusterPagingAll(t,r,a);return{next(){return e.next()},[Symbol.asyncIterator](){return this},byPage:e=>{if(null!=e&&e.maxPageSize)throw new Error("maxPageSize is not supported by this operation.");return this.listByClusterPagingPage(t,r,a,e)}}}listByClusterPagingPage(i,s,n,o){return tslib.__asyncGenerator(this,arguments,function*(){let e,t=null==o?void 0:o.continuationToken;var r;for(t||(setContinuationToken(r=(e=yield tslib.__await(this._listByCluster(i,s,n))).value||[],t=e.nextLink),yield yield tslib.__await(r));t;){e=yield tslib.__await(this._listByClusterNext(i,s,t,n)),t=e.nextLink;var a=e.value||[];setContinuationToken(a,t),yield yield tslib.__await(a)}})}listByClusterPagingAll(o,p,l){return tslib.__asyncGenerator(this,arguments,function*(){var e,t,r;try{for(var a,i=!0,s=tslib.__asyncValues(this.listByClusterPagingPage(o,p,l));!(e=(a=yield tslib.__await(s.next())).done);i=!0){var n=a.value,i=!1;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(n)))}}catch(e){t={error:e}}finally{try{i||e||!(r=s.return)||(yield tslib.__await(r.call(s)))}finally{if(t)throw t.error}}})}_listByCluster(e,t,r){return this.client.sendOperationRequest({resourceGroupName:e,clusterName:t,options:r},listByClusterOperationSpec$1)}beginCreate(t,r,a,i,s){return tslib.__awaiter(this,void 0,void 0,function*(){let n=(e,t)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,t)});var e=createLroSpec({sendOperationFn:(i,s)=>tslib.__awaiter(this,void 0,void 0,function*(){let e,r=void 0,a=null==(e=i.options)?void 0:e.onResponse;var t=Object.assign(Object.assign({},i),{options:Object.assign(Object.assign({},i.options),{onResponse:(e,t)=>{r=e,null!=a&&a(e,t)}})});return{flatResponse:yield n(t,s),rawResponse:{statusCode:r.status,body:r.parsedBody,headers:r.headers.toJSON()}}}),args:{resourceGroupName:t,clusterName:r,databaseName:a,parameters:i,options:s},spec:createOperationSpec}),e=yield coreLro.createHttpPoller(e,{restoreFrom:null==s?void 0:s.resumeFrom,intervalInMs:null==s?void 0:s.updateIntervalInMs,resourceLocationConfig:"original-uri"});return yield e.poll(),e})}beginCreateAndWait(e,t,r,a,i){return tslib.__awaiter(this,void 0,void 0,function*(){return(yield this.beginCreate(e,t,r,a,i)).pollUntilDone()})}beginUpdate(t,r,a,i,s){return tslib.__awaiter(this,void 0,void 0,function*(){let n=(e,t)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,t)});var e=createLroSpec({sendOperationFn:(i,s)=>tslib.__awaiter(this,void 0,void 0,function*(){let e,r=void 0,a=null==(e=i.options)?void 0:e.onResponse;var t=Object.assign(Object.assign({},i),{options:Object.assign(Object.assign({},i.options),{onResponse:(e,t)=>{r=e,null!=a&&a(e,t)}})});return{flatResponse:yield n(t,s),rawResponse:{statusCode:r.status,body:r.parsedBody,headers:r.headers.toJSON()}}}),args:{resourceGroupName:t,clusterName:r,databaseName:a,parameters:i,options:s},spec:updateOperationSpec}),e=yield coreLro.createHttpPoller(e,{restoreFrom:null==s?void 0:s.resumeFrom,intervalInMs:null==s?void 0:s.updateIntervalInMs,resourceLocationConfig:"azure-async-operation"});return yield e.poll(),e})}beginUpdateAndWait(e,t,r,a,i){return tslib.__awaiter(this,void 0,void 0,function*(){return(yield this.beginUpdate(e,t,r,a,i)).pollUntilDone()})}get(e,t,r,a){return this.client.sendOperationRequest({resourceGroupName:e,clusterName:t,databaseName:r,options:a},getOperationSpec$2)}beginDelete(t,r,a,i){return tslib.__awaiter(this,void 0,void 0,function*(){let n=(e,t)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,t)});var e=createLroSpec({sendOperationFn:(i,s)=>tslib.__awaiter(this,void 0,void 0,function*(){let e,r=void 0,a=null==(e=i.options)?void 0:e.onResponse;var t=Object.assign(Object.assign({},i),{options:Object.assign(Object.assign({},i.options),{onResponse:(e,t)=>{r=e,null!=a&&a(e,t)}})});return{flatResponse:yield n(t,s),rawResponse:{statusCode:r.status,body:r.parsedBody,headers:r.headers.toJSON()}}}),args:{resourceGroupName:t,clusterName:r,databaseName:a,options:i},spec:deleteOperationSpec$2}),e=yield coreLro.createHttpPoller(e,{restoreFrom:null==i?void 0:i.resumeFrom,intervalInMs:null==i?void 0:i.updateIntervalInMs,resourceLocationConfig:"azure-async-operation"});return yield e.poll(),e})}beginDeleteAndWait(e,t,r,a){return tslib.__awaiter(this,void 0,void 0,function*(){return(yield this.beginDelete(e,t,r,a)).pollUntilDone()})}listKeys(e,t,r,a){return this.client.sendOperationRequest({resourceGroupName:e,clusterName:t,databaseName:r,options:a},listKeysOperationSpec)}beginRegenerateKey(t,r,a,i,s){return tslib.__awaiter(this,void 0,void 0,function*(){let n=(e,t)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,t)});var e=createLroSpec({sendOperationFn:(i,s)=>tslib.__awaiter(this,void 0,void 0,function*(){let e,r=void 0,a=null==(e=i.options)?void 0:e.onResponse;var t=Object.assign(Object.assign({},i),{options:Object.assign(Object.assign({},i.options),{onResponse:(e,t)=>{r=e,null!=a&&a(e,t)}})});return{flatResponse:yield n(t,s),rawResponse:{statusCode:r.status,body:r.parsedBody,headers:r.headers.toJSON()}}}),args:{resourceGroupName:t,clusterName:r,databaseName:a,parameters:i,options:s},spec:regenerateKeyOperationSpec}),e=yield coreLro.createHttpPoller(e,{restoreFrom:null==s?void 0:s.resumeFrom,intervalInMs:null==s?void 0:s.updateIntervalInMs,resourceLocationConfig:"azure-async-operation"});return yield e.poll(),e})}beginRegenerateKeyAndWait(e,t,r,a,i){return tslib.__awaiter(this,void 0,void 0,function*(){return(yield this.beginRegenerateKey(e,t,r,a,i)).pollUntilDone()})}beginImport(t,r,a,i,s){return tslib.__awaiter(this,void 0,void 0,function*(){let n=(e,t)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,t)});var e=createLroSpec({sendOperationFn:(i,s)=>tslib.__awaiter(this,void 0,void 0,function*(){let e,r=void 0,a=null==(e=i.options)?void 0:e.onResponse;var t=Object.assign(Object.assign({},i),{options:Object.assign(Object.assign({},i.options),{onResponse:(e,t)=>{r=e,null!=a&&a(e,t)}})});return{flatResponse:yield n(t,s),rawResponse:{statusCode:r.status,body:r.parsedBody,headers:r.headers.toJSON()}}}),args:{resourceGroupName:t,clusterName:r,databaseName:a,parameters:i,options:s},spec:importOperationSpec}),e=yield coreLro.createHttpPoller(e,{restoreFrom:null==s?void 0:s.resumeFrom,intervalInMs:null==s?void 0:s.updateIntervalInMs,resourceLocationConfig:"azure-async-operation"});return yield e.poll(),e})}beginImportAndWait(e,t,r,a,i){return tslib.__awaiter(this,void 0,void 0,function*(){return(yield this.beginImport(e,t,r,a,i)).pollUntilDone()})}beginExport(t,r,a,i,s){return tslib.__awaiter(this,void 0,void 0,function*(){let n=(e,t)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,t)});var e=createLroSpec({sendOperationFn:(i,s)=>tslib.__awaiter(this,void 0,void 0,function*(){let e,r=void 0,a=null==(e=i.options)?void 0:e.onResponse;var t=Object.assign(Object.assign({},i),{options:Object.assign(Object.assign({},i.options),{onResponse:(e,t)=>{r=e,null!=a&&a(e,t)}})});return{flatResponse:yield n(t,s),rawResponse:{statusCode:r.status,body:r.parsedBody,headers:r.headers.toJSON()}}}),args:{resourceGroupName:t,clusterName:r,databaseName:a,parameters:i,options:s},spec:exportOperationSpec}),e=yield coreLro.createHttpPoller(e,{restoreFrom:null==s?void 0:s.resumeFrom,intervalInMs:null==s?void 0:s.updateIntervalInMs,resourceLocationConfig:"azure-async-operation"});return yield e.poll(),e})}beginExportAndWait(e,t,r,a,i){return tslib.__awaiter(this,void 0,void 0,function*(){return(yield this.beginExport(e,t,r,a,i)).pollUntilDone()})}beginForceUnlink(t,r,a,i,s){return tslib.__awaiter(this,void 0,void 0,function*(){let n=(e,t)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,t)});var e=createLroSpec({sendOperationFn:(i,s)=>tslib.__awaiter(this,void 0,void 0,function*(){let e,r=void 0,a=null==(e=i.options)?void 0:e.onResponse;var t=Object.assign(Object.assign({},i),{options:Object.assign(Object.assign({},i.options),{onResponse:(e,t)=>{r=e,null!=a&&a(e,t)}})});return{flatResponse:yield n(t,s),rawResponse:{statusCode:r.status,body:r.parsedBody,headers:r.headers.toJSON()}}}),args:{resourceGroupName:t,clusterName:r,databaseName:a,parameters:i,options:s},spec:forceUnlinkOperationSpec}),e=yield coreLro.createHttpPoller(e,{restoreFrom:null==s?void 0:s.resumeFrom,intervalInMs:null==s?void 0:s.updateIntervalInMs,resourceLocationConfig:"azure-async-operation"});return yield e.poll(),e})}beginForceUnlinkAndWait(e,t,r,a,i){return tslib.__awaiter(this,void 0,void 0,function*(){return(yield this.beginForceUnlink(e,t,r,a,i)).pollUntilDone()})}beginForceLinkToReplicationGroup(t,r,a,i,s){return tslib.__awaiter(this,void 0,void 0,function*(){let n=(e,t)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,t)});var e=createLroSpec({sendOperationFn:(i,s)=>tslib.__awaiter(this,void 0,void 0,function*(){let e,r=void 0,a=null==(e=i.options)?void 0:e.onResponse;var t=Object.assign(Object.assign({},i),{options:Object.assign(Object.assign({},i.options),{onResponse:(e,t)=>{r=e,null!=a&&a(e,t)}})});return{flatResponse:yield n(t,s),rawResponse:{statusCode:r.status,body:r.parsedBody,headers:r.headers.toJSON()}}}),args:{resourceGroupName:t,clusterName:r,databaseName:a,parameters:i,options:s},spec:forceLinkToReplicationGroupOperationSpec}),e=yield coreLro.createHttpPoller(e,{restoreFrom:null==s?void 0:s.resumeFrom,intervalInMs:null==s?void 0:s.updateIntervalInMs,resourceLocationConfig:"azure-async-operation"});return yield e.poll(),e})}beginForceLinkToReplicationGroupAndWait(e,t,r,a,i){return tslib.__awaiter(this,void 0,void 0,function*(){return(yield this.beginForceLinkToReplicationGroup(e,t,r,a,i)).pollUntilDone()})}beginFlush(t,r,a,i,s){return tslib.__awaiter(this,void 0,void 0,function*(){let n=(e,t)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,t)});var e=createLroSpec({sendOperationFn:(i,s)=>tslib.__awaiter(this,void 0,void 0,function*(){let e,r=void 0,a=null==(e=i.options)?void 0:e.onResponse;var t=Object.assign(Object.assign({},i),{options:Object.assign(Object.assign({},i.options),{onResponse:(e,t)=>{r=e,null!=a&&a(e,t)}})});return{flatResponse:yield n(t,s),rawResponse:{statusCode:r.status,body:r.parsedBody,headers:r.headers.toJSON()}}}),args:{resourceGroupName:t,clusterName:r,databaseName:a,parameters:i,options:s},spec:flushOperationSpec}),e=yield coreLro.createHttpPoller(e,{restoreFrom:null==s?void 0:s.resumeFrom,intervalInMs:null==s?void 0:s.updateIntervalInMs,resourceLocationConfig:"location"});return yield e.poll(),e})}beginFlushAndWait(e,t,r,a,i){return tslib.__awaiter(this,void 0,void 0,function*(){return(yield this.beginFlush(e,t,r,a,i)).pollUntilDone()})}beginUpgradeDBRedisVersion(t,r,a,i){return tslib.__awaiter(this,void 0,void 0,function*(){let n=(e,t)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,t)});var e=createLroSpec({sendOperationFn:(i,s)=>tslib.__awaiter(this,void 0,void 0,function*(){let e,r=void 0,a=null==(e=i.options)?void 0:e.onResponse;var t=Object.assign(Object.assign({},i),{options:Object.assign(Object.assign({},i.options),{onResponse:(e,t)=>{r=e,null!=a&&a(e,t)}})});return{flatResponse:yield n(t,s),rawResponse:{statusCode:r.status,body:r.parsedBody,headers:r.headers.toJSON()}}}),args:{resourceGroupName:t,clusterName:r,databaseName:a,options:i},spec:upgradeDBRedisVersionOperationSpec}),e=yield coreLro.createHttpPoller(e,{restoreFrom:null==i?void 0:i.resumeFrom,intervalInMs:null==i?void 0:i.updateIntervalInMs,resourceLocationConfig:"location"});return yield e.poll(),e})}beginUpgradeDBRedisVersionAndWait(e,t,r,a){return tslib.__awaiter(this,void 0,void 0,function*(){return(yield this.beginUpgradeDBRedisVersion(e,t,r,a)).pollUntilDone()})}_listByClusterNext(e,t,r,a){return this.client.sendOperationRequest({resourceGroupName:e,clusterName:t,nextLink:r,options:a},listByClusterNextOperationSpec)}}let serializer$3=coreClient__namespace.createSerializer(Mappers,!1),listByClusterOperationSpec$1={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases",httpMethod:"GET",responses:{200:{bodyMapper:DatabaseList},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,clusterName],headerParameters:[accept],serializer:serializer$3},createOperationSpec={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases/{databaseName}",httpMethod:"PUT",responses:{200:{bodyMapper:Database},201:{bodyMapper:Database},202:{bodyMapper:Database},204:{bodyMapper:Database},default:{bodyMapper:ErrorResponse}},requestBody:parameters2,queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,clusterName,databaseName],headerParameters:[accept,contentType],mediaType:"json",serializer:serializer$3},updateOperationSpec={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases/{databaseName}",httpMethod:"PATCH",responses:{200:{bodyMapper:Database},201:{bodyMapper:Database},202:{bodyMapper:Database},204:{bodyMapper:Database},default:{bodyMapper:ErrorResponse}},requestBody:parameters3,queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,clusterName,databaseName],headerParameters:[accept,contentType],mediaType:"json",serializer:serializer$3},getOperationSpec$2={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases/{databaseName}",httpMethod:"GET",responses:{200:{bodyMapper:Database},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,clusterName,databaseName],headerParameters:[accept],serializer:serializer$3},deleteOperationSpec$2={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases/{databaseName}",httpMethod:"DELETE",responses:{200:{},201:{},202:{},204:{},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,clusterName,databaseName],headerParameters:[accept],serializer:serializer$3},listKeysOperationSpec={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases/{databaseName}/listKeys",httpMethod:"POST",responses:{200:{bodyMapper:AccessKeys},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,clusterName,databaseName],headerParameters:[accept],serializer:serializer$3},regenerateKeyOperationSpec={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases/{databaseName}/regenerateKey",httpMethod:"POST",responses:{200:{bodyMapper:AccessKeys},201:{bodyMapper:AccessKeys},202:{bodyMapper:AccessKeys},204:{bodyMapper:AccessKeys},default:{bodyMapper:ErrorResponse}},requestBody:parameters4,queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,clusterName,databaseName],headerParameters:[accept,contentType],mediaType:"json",serializer:serializer$3},importOperationSpec={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases/{databaseName}/import",httpMethod:"POST",responses:{200:{},201:{},202:{},204:{},default:{bodyMapper:ErrorResponse}},requestBody:parameters5,queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,clusterName,databaseName],headerParameters:[accept,contentType],mediaType:"json",serializer:serializer$3},exportOperationSpec={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases/{databaseName}/export",httpMethod:"POST",responses:{200:{},201:{},202:{},204:{},default:{bodyMapper:ErrorResponse}},requestBody:parameters6,queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,clusterName,databaseName],headerParameters:[accept,contentType],mediaType:"json",serializer:serializer$3},forceUnlinkOperationSpec={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases/{databaseName}/forceUnlink",httpMethod:"POST",responses:{200:{},201:{},202:{},204:{},default:{bodyMapper:ErrorResponse}},requestBody:parameters7,queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,clusterName,databaseName],headerParameters:[accept,contentType],mediaType:"json",serializer:serializer$3},forceLinkToReplicationGroupOperationSpec={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases/{databaseName}/forceLinkToReplicationGroup",httpMethod:"POST",responses:{200:{headersMapper:DatabasesForceLinkToReplicationGroupHeaders},201:{headersMapper:DatabasesForceLinkToReplicationGroupHeaders},202:{headersMapper:DatabasesForceLinkToReplicationGroupHeaders},204:{headersMapper:DatabasesForceLinkToReplicationGroupHeaders},default:{bodyMapper:ErrorResponse}},requestBody:parameters8,queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,clusterName,databaseName],headerParameters:[accept,contentType],mediaType:"json",serializer:serializer$3},flushOperationSpec={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases/{databaseName}/flush",httpMethod:"POST",responses:{200:{},201:{},202:{},204:{},default:{bodyMapper:ErrorResponse}},requestBody:parameters9,queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,clusterName,databaseName],headerParameters:[accept,contentType],mediaType:"json",serializer:serializer$3},upgradeDBRedisVersionOperationSpec={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases/{databaseName}/upgradeDBRedisVersion",httpMethod:"POST",responses:{200:{headersMapper:DatabasesUpgradeDBRedisVersionHeaders},201:{headersMapper:DatabasesUpgradeDBRedisVersionHeaders},202:{headersMapper:DatabasesUpgradeDBRedisVersionHeaders},204:{headersMapper:DatabasesUpgradeDBRedisVersionHeaders},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,clusterName,databaseName],headerParameters:[accept],serializer:serializer$3},listByClusterNextOperationSpec={path:"{nextLink}",httpMethod:"GET",responses:{200:{bodyMapper:DatabaseList},default:{bodyMapper:ErrorResponse}},urlParameters:[$host,nextLink,subscriptionId,resourceGroupName,clusterName],headerParameters:[accept],serializer:serializer$3};class AccessPolicyAssignmentOperationsImpl{constructor(e){this.client=e}list(t,r,a,i){let e=this.listPagingAll(t,r,a,i);return{next(){return e.next()},[Symbol.asyncIterator](){return this},byPage:e=>{if(null!=e&&e.maxPageSize)throw new Error("maxPageSize is not supported by this operation.");return this.listPagingPage(t,r,a,i,e)}}}listPagingPage(i,s,n,o,p){return tslib.__asyncGenerator(this,arguments,function*(){let e,t=null==p?void 0:p.continuationToken;var r;for(t||(setContinuationToken(r=(e=yield tslib.__await(this._list(i,s,n,o))).value||[],t=e.nextLink),yield yield tslib.__await(r));t;){e=yield tslib.__await(this._listNext(i,s,n,t,o)),t=e.nextLink;var a=e.value||[];setContinuationToken(a,t),yield yield tslib.__await(a)}})}listPagingAll(o,p,l,d){return tslib.__asyncGenerator(this,arguments,function*(){var e,t,r;try{for(var a,i=!0,s=tslib.__asyncValues(this.listPagingPage(o,p,l,d));!(e=(a=yield tslib.__await(s.next())).done);i=!0){var n=a.value,i=!1;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(n)))}}catch(e){t={error:e}}finally{try{i||e||!(r=s.return)||(yield tslib.__await(r.call(s)))}finally{if(t)throw t.error}}})}beginCreateUpdate(t,r,a,i,s,o){return tslib.__awaiter(this,void 0,void 0,function*(){let n=(e,t)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,t)});var e=createLroSpec({sendOperationFn:(i,s)=>tslib.__awaiter(this,void 0,void 0,function*(){let e,r=void 0,a=null==(e=i.options)?void 0:e.onResponse;var t=Object.assign(Object.assign({},i),{options:Object.assign(Object.assign({},i.options),{onResponse:(e,t)=>{r=e,null!=a&&a(e,t)}})});return{flatResponse:yield n(t,s),rawResponse:{statusCode:r.status,body:r.parsedBody,headers:r.headers.toJSON()}}}),args:{resourceGroupName:t,clusterName:r,databaseName:a,accessPolicyAssignmentName:i,parameters:s,options:o},spec:createUpdateOperationSpec}),e=yield coreLro.createHttpPoller(e,{restoreFrom:null==o?void 0:o.resumeFrom,intervalInMs:null==o?void 0:o.updateIntervalInMs,resourceLocationConfig:"original-uri"});return yield e.poll(),e})}beginCreateUpdateAndWait(e,t,r,a,i,s){return tslib.__awaiter(this,void 0,void 0,function*(){return(yield this.beginCreateUpdate(e,t,r,a,i,s)).pollUntilDone()})}get(e,t,r,a,i){return this.client.sendOperationRequest({resourceGroupName:e,clusterName:t,databaseName:r,accessPolicyAssignmentName:a,options:i},getOperationSpec$1)}beginDelete(t,r,a,i,s){return tslib.__awaiter(this,void 0,void 0,function*(){let n=(e,t)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,t)});var e=createLroSpec({sendOperationFn:(i,s)=>tslib.__awaiter(this,void 0,void 0,function*(){let e,r=void 0,a=null==(e=i.options)?void 0:e.onResponse;var t=Object.assign(Object.assign({},i),{options:Object.assign(Object.assign({},i.options),{onResponse:(e,t)=>{r=e,null!=a&&a(e,t)}})});return{flatResponse:yield n(t,s),rawResponse:{statusCode:r.status,body:r.parsedBody,headers:r.headers.toJSON()}}}),args:{resourceGroupName:t,clusterName:r,databaseName:a,accessPolicyAssignmentName:i,options:s},spec:deleteOperationSpec$1}),e=yield coreLro.createHttpPoller(e,{restoreFrom:null==s?void 0:s.resumeFrom,intervalInMs:null==s?void 0:s.updateIntervalInMs,resourceLocationConfig:"azure-async-operation"});return yield e.poll(),e})}beginDeleteAndWait(e,t,r,a,i){return tslib.__awaiter(this,void 0,void 0,function*(){return(yield this.beginDelete(e,t,r,a,i)).pollUntilDone()})}_list(e,t,r,a){return this.client.sendOperationRequest({resourceGroupName:e,clusterName:t,databaseName:r,options:a},listOperationSpec$1)}_listNext(e,t,r,a,i){return this.client.sendOperationRequest({resourceGroupName:e,clusterName:t,databaseName:r,nextLink:a,options:i},listNextOperationSpec)}}let serializer$2=coreClient__namespace.createSerializer(Mappers,!1),createUpdateOperationSpec={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases/{databaseName}/accessPolicyAssignments/{accessPolicyAssignmentName}",httpMethod:"PUT",responses:{200:{bodyMapper:AccessPolicyAssignment},201:{bodyMapper:AccessPolicyAssignment},202:{bodyMapper:AccessPolicyAssignment},204:{bodyMapper:AccessPolicyAssignment},default:{bodyMapper:ErrorResponse}},requestBody:parameters10,queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,clusterName,databaseName,accessPolicyAssignmentName],headerParameters:[accept,contentType],mediaType:"json",serializer:serializer$2},getOperationSpec$1={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases/{databaseName}/accessPolicyAssignments/{accessPolicyAssignmentName}",httpMethod:"GET",responses:{200:{bodyMapper:AccessPolicyAssignment},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,clusterName,databaseName,accessPolicyAssignmentName],headerParameters:[accept],serializer:serializer$2},deleteOperationSpec$1={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases/{databaseName}/accessPolicyAssignments/{accessPolicyAssignmentName}",httpMethod:"DELETE",responses:{200:{headersMapper:AccessPolicyAssignmentDeleteHeaders},201:{headersMapper:AccessPolicyAssignmentDeleteHeaders},202:{headersMapper:AccessPolicyAssignmentDeleteHeaders},204:{headersMapper:AccessPolicyAssignmentDeleteHeaders},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,clusterName,databaseName,accessPolicyAssignmentName],headerParameters:[accept],serializer:serializer$2},listOperationSpec$1={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases/{databaseName}/accessPolicyAssignments",httpMethod:"GET",responses:{200:{bodyMapper:AccessPolicyAssignmentList},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,clusterName,databaseName],headerParameters:[accept],serializer:serializer$2},listNextOperationSpec={path:"{nextLink}",httpMethod:"GET",responses:{200:{bodyMapper:AccessPolicyAssignmentList},default:{bodyMapper:ErrorResponse}},urlParameters:[$host,nextLink,subscriptionId,resourceGroupName,clusterName,databaseName],headerParameters:[accept],serializer:serializer$2};class PrivateEndpointConnectionsImpl{constructor(e){this.client=e}list(t,r,a){let e=this.listPagingAll(t,r,a);return{next(){return e.next()},[Symbol.asyncIterator](){return this},byPage:e=>{if(null!=e&&e.maxPageSize)throw new Error("maxPageSize is not supported by this operation.");return this.listPagingPage(t,r,a,e)}}}listPagingPage(t,r,a,e){return tslib.__asyncGenerator(this,arguments,function*(){var e=yield tslib.__await(this._list(t,r,a));yield yield tslib.__await(e.value||[])})}listPagingAll(o,p,l){return tslib.__asyncGenerator(this,arguments,function*(){var e,t,r;try{for(var a,i=!0,s=tslib.__asyncValues(this.listPagingPage(o,p,l));!(e=(a=yield tslib.__await(s.next())).done);i=!0){var n=a.value,i=!1;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(n)))}}catch(e){t={error:e}}finally{try{i||e||!(r=s.return)||(yield tslib.__await(r.call(s)))}finally{if(t)throw t.error}}})}_list(e,t,r){return this.client.sendOperationRequest({resourceGroupName:e,clusterName:t,options:r},listOperationSpec)}get(e,t,r,a){return this.client.sendOperationRequest({resourceGroupName:e,clusterName:t,privateEndpointConnectionName:r,options:a},getOperationSpec)}beginPut(t,r,a,i,s){return tslib.__awaiter(this,void 0,void 0,function*(){let n=(e,t)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,t)});var e=createLroSpec({sendOperationFn:(i,s)=>tslib.__awaiter(this,void 0,void 0,function*(){let e,r=void 0,a=null==(e=i.options)?void 0:e.onResponse;var t=Object.assign(Object.assign({},i),{options:Object.assign(Object.assign({},i.options),{onResponse:(e,t)=>{r=e,null!=a&&a(e,t)}})});return{flatResponse:yield n(t,s),rawResponse:{statusCode:r.status,body:r.parsedBody,headers:r.headers.toJSON()}}}),args:{resourceGroupName:t,clusterName:r,privateEndpointConnectionName:a,properties:i,options:s},spec:putOperationSpec}),e=yield coreLro.createHttpPoller(e,{restoreFrom:null==s?void 0:s.resumeFrom,intervalInMs:null==s?void 0:s.updateIntervalInMs});return yield e.poll(),e})}beginPutAndWait(e,t,r,a,i){return tslib.__awaiter(this,void 0,void 0,function*(){return(yield this.beginPut(e,t,r,a,i)).pollUntilDone()})}beginDelete(t,r,a,i){return tslib.__awaiter(this,void 0,void 0,function*(){let n=(e,t)=>tslib.__awaiter(this,void 0,void 0,function*(){return this.client.sendOperationRequest(e,t)});var e=createLroSpec({sendOperationFn:(i,s)=>tslib.__awaiter(this,void 0,void 0,function*(){let e,r=void 0,a=null==(e=i.options)?void 0:e.onResponse;var t=Object.assign(Object.assign({},i),{options:Object.assign(Object.assign({},i.options),{onResponse:(e,t)=>{r=e,null!=a&&a(e,t)}})});return{flatResponse:yield n(t,s),rawResponse:{statusCode:r.status,body:r.parsedBody,headers:r.headers.toJSON()}}}),args:{resourceGroupName:t,clusterName:r,privateEndpointConnectionName:a,options:i},spec:deleteOperationSpec}),e=yield coreLro.createHttpPoller(e,{restoreFrom:null==i?void 0:i.resumeFrom,intervalInMs:null==i?void 0:i.updateIntervalInMs,resourceLocationConfig:"location"});return yield e.poll(),e})}beginDeleteAndWait(e,t,r,a){return tslib.__awaiter(this,void 0,void 0,function*(){return(yield this.beginDelete(e,t,r,a)).pollUntilDone()})}}let serializer$1=coreClient__namespace.createSerializer(Mappers,!1),listOperationSpec={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/privateEndpointConnections",httpMethod:"GET",responses:{200:{bodyMapper:PrivateEndpointConnectionListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,clusterName],headerParameters:[accept],serializer:serializer$1},getOperationSpec={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/privateEndpointConnections/{privateEndpointConnectionName}",httpMethod:"GET",responses:{200:{bodyMapper:PrivateEndpointConnection},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,clusterName,privateEndpointConnectionName],headerParameters:[accept],serializer:serializer$1},putOperationSpec={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/privateEndpointConnections/{privateEndpointConnectionName}",httpMethod:"PUT",responses:{200:{bodyMapper:PrivateEndpointConnection},201:{bodyMapper:PrivateEndpointConnection},202:{bodyMapper:PrivateEndpointConnection},204:{bodyMapper:PrivateEndpointConnection},default:{bodyMapper:ErrorResponse}},requestBody:properties,queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,clusterName,privateEndpointConnectionName],headerParameters:[accept,contentType],mediaType:"json",serializer:serializer$1},deleteOperationSpec={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/privateEndpointConnections/{privateEndpointConnectionName}",httpMethod:"DELETE",responses:{200:{},201:{},202:{},204:{},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,clusterName,privateEndpointConnectionName],headerParameters:[accept],serializer:serializer$1};class PrivateLinkResourcesImpl{constructor(e){this.client=e}listByCluster(t,r,a){let e=this.listByClusterPagingAll(t,r,a);return{next(){return e.next()},[Symbol.asyncIterator](){return this},byPage:e=>{if(null!=e&&e.maxPageSize)throw new Error("maxPageSize is not supported by this operation.");return this.listByClusterPagingPage(t,r,a,e)}}}listByClusterPagingPage(t,r,a,e){return tslib.__asyncGenerator(this,arguments,function*(){var e=yield tslib.__await(this._listByCluster(t,r,a));yield yield tslib.__await(e.value||[])})}listByClusterPagingAll(o,p,l){return tslib.__asyncGenerator(this,arguments,function*(){var e,t,r;try{for(var a,i=!0,s=tslib.__asyncValues(this.listByClusterPagingPage(o,p,l));!(e=(a=yield tslib.__await(s.next())).done);i=!0){var n=a.value,i=!1;yield tslib.__await(yield*tslib.__asyncDelegator(tslib.__asyncValues(n)))}}catch(e){t={error:e}}finally{try{i||e||!(r=s.return)||(yield tslib.__await(r.call(s)))}finally{if(t)throw t.error}}})}_listByCluster(e,t,r){return this.client.sendOperationRequest({resourceGroupName:e,clusterName:t,options:r},listByClusterOperationSpec)}}let serializer=coreClient__namespace.createSerializer(Mappers,!1),listByClusterOperationSpec={path:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/privateLinkResources",httpMethod:"GET",responses:{200:{bodyMapper:PrivateLinkResourceListResult},default:{bodyMapper:ErrorResponse}},queryParameters:[apiVersion],urlParameters:[$host,subscriptionId,resourceGroupName,clusterName],headerParameters:[accept],serializer:serializer};class RedisEnterpriseManagementClient extends coreClient__namespace.ServiceClient{constructor(e,t,r){if(void 0===e)throw new Error("'credentials' cannot be null");if(void 0===t)throw new Error("'subscriptionId' cannot be null");var a,i="azsdk-js-arm-redisenterprisecache/3.1.0-beta.2",i=(r=r||{}).userAgentOptions&&r.userAgentOptions.userAgentPrefix?r.userAgentOptions.userAgentPrefix+" "+i:i,i=Object.assign(Object.assign(Object.assign({},{requestContentType:"application/json; charset=utf-8",credential:e}),r),{userAgentOptions:{userAgentPrefix:i},endpoint:null!=(i=null!=(i=r.endpoint)?i:r.baseUri)?i:"https://management.azure.com"});super(i);let s=!1;null!=r&&r.pipeline&&0<r.pipeline.getOrderedPolicies().length&&(a=r.pipeline.getOrderedPolicies(),s=a.some(e=>e.name===coreRestPipeline__namespace.bearerTokenAuthenticationPolicyName)),r&&r.pipeline&&0!=r.pipeline.getOrderedPolicies().length&&s||(this.pipeline.removePolicy({name:coreRestPipeline__namespace.bearerTokenAuthenticationPolicyName}),this.pipeline.addPolicy(coreRestPipeline__namespace.bearerTokenAuthenticationPolicy({credential:e,scopes:null!=(a=i.credentialScopes)?a:i.endpoint+"/.default",challengeCallbacks:{authorizeRequestOnChallenge:coreClient__namespace.authorizeRequestOnClaimChallenge}}))),this.subscriptionId=t,this.$host=r.$host||"https://management.azure.com",this.apiVersion=r.apiVersion||"2024-09-01-preview",this.operations=new OperationsImpl(this),this.operationsStatus=new OperationsStatusImpl(this),this.redisEnterprise=new RedisEnterpriseImpl(this),this.databases=new DatabasesImpl(this),this.accessPolicyAssignmentOperations=new AccessPolicyAssignmentOperationsImpl(this),this.privateEndpointConnections=new PrivateEndpointConnectionsImpl(this),this.privateLinkResources=new PrivateLinkResourcesImpl(this),this.addCustomApiVersionPolicy(r.apiVersion)}addCustomApiVersionPolicy(i){i&&this.pipeline.addPolicy({name:"CustomApiVersionPolicy",sendRequest(r,a){return tslib.__awaiter(this,void 0,void 0,function*(){var e,t=r.url.split("?");return 1<t.length&&(e=t[1].split("&").map(e=>-1<e.indexOf("api-version")?"api-version="+i:e),r.url=t[0]+"?"+e.join("&")),a(r)})}})}}exports.RedisEnterpriseManagementClient=RedisEnterpriseManagementClient,exports.getContinuationToken=getContinuationToken;