@azure/arm-redisenterprisecache 2.2.1-alpha.20230320.1 → 2.3.0-alpha.20230421.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 (147) hide show
  1. package/CHANGELOG.md +36 -10
  2. package/LICENSE +1 -1
  3. package/README.md +1 -1
  4. package/dist/index.js +849 -151
  5. package/dist/index.js.map +1 -1
  6. package/dist/index.min.js +1 -1
  7. package/dist/index.min.js.map +1 -1
  8. package/dist-esm/samples-dev/databasesCreateSample.js +15 -8
  9. package/dist-esm/samples-dev/databasesCreateSample.js.map +1 -1
  10. package/dist-esm/samples-dev/databasesDeleteSample.js +11 -4
  11. package/dist-esm/samples-dev/databasesDeleteSample.js.map +1 -1
  12. package/dist-esm/samples-dev/databasesExportSample.js +11 -4
  13. package/dist-esm/samples-dev/databasesExportSample.js.map +1 -1
  14. package/dist-esm/samples-dev/databasesFlushSample.d.ts +2 -0
  15. package/dist-esm/samples-dev/databasesFlushSample.d.ts.map +1 -0
  16. package/dist-esm/samples-dev/databasesFlushSample.js +44 -0
  17. package/dist-esm/samples-dev/databasesFlushSample.js.map +1 -0
  18. package/dist-esm/samples-dev/databasesForceUnlinkSample.js +11 -4
  19. package/dist-esm/samples-dev/databasesForceUnlinkSample.js.map +1 -1
  20. package/dist-esm/samples-dev/databasesGetSample.js +11 -4
  21. package/dist-esm/samples-dev/databasesGetSample.js.map +1 -1
  22. package/dist-esm/samples-dev/databasesImportSample.js +11 -4
  23. package/dist-esm/samples-dev/databasesImportSample.js.map +1 -1
  24. package/dist-esm/samples-dev/databasesListByClusterSample.js +23 -9
  25. package/dist-esm/samples-dev/databasesListByClusterSample.js.map +1 -1
  26. package/dist-esm/samples-dev/databasesListKeysSample.js +11 -4
  27. package/dist-esm/samples-dev/databasesListKeysSample.js.map +1 -1
  28. package/dist-esm/samples-dev/databasesRegenerateKeySample.js +11 -4
  29. package/dist-esm/samples-dev/databasesRegenerateKeySample.js.map +1 -1
  30. package/dist-esm/samples-dev/databasesUpdateSample.js +11 -4
  31. package/dist-esm/samples-dev/databasesUpdateSample.js.map +1 -1
  32. package/dist-esm/samples-dev/operationsListSample.js +23 -8
  33. package/dist-esm/samples-dev/operationsListSample.js.map +1 -1
  34. package/dist-esm/samples-dev/operationsStatusGetSample.js +10 -3
  35. package/dist-esm/samples-dev/operationsStatusGetSample.js.map +1 -1
  36. package/dist-esm/samples-dev/privateEndpointConnectionsDeleteSample.js +11 -4
  37. package/dist-esm/samples-dev/privateEndpointConnectionsDeleteSample.js.map +1 -1
  38. package/dist-esm/samples-dev/privateEndpointConnectionsGetSample.js +11 -4
  39. package/dist-esm/samples-dev/privateEndpointConnectionsGetSample.js.map +1 -1
  40. package/dist-esm/samples-dev/privateEndpointConnectionsListSample.js +23 -9
  41. package/dist-esm/samples-dev/privateEndpointConnectionsListSample.js.map +1 -1
  42. package/dist-esm/samples-dev/privateEndpointConnectionsPutSample.js +11 -4
  43. package/dist-esm/samples-dev/privateEndpointConnectionsPutSample.js.map +1 -1
  44. package/dist-esm/samples-dev/privateLinkResourcesListByClusterSample.js +23 -9
  45. package/dist-esm/samples-dev/privateLinkResourcesListByClusterSample.js.map +1 -1
  46. package/dist-esm/samples-dev/redisEnterpriseCreateSample.js +26 -4
  47. package/dist-esm/samples-dev/redisEnterpriseCreateSample.js.map +1 -1
  48. package/dist-esm/samples-dev/redisEnterpriseDatabasesListByCluster.js +12 -5
  49. package/dist-esm/samples-dev/redisEnterpriseDatabasesListByCluster.js.map +1 -1
  50. package/dist-esm/samples-dev/redisEnterpriseDeleteSample.js +11 -4
  51. package/dist-esm/samples-dev/redisEnterpriseDeleteSample.js.map +1 -1
  52. package/dist-esm/samples-dev/redisEnterpriseGetSample.js +11 -4
  53. package/dist-esm/samples-dev/redisEnterpriseGetSample.js.map +1 -1
  54. package/dist-esm/samples-dev/redisEnterpriseList.js +12 -5
  55. package/dist-esm/samples-dev/redisEnterpriseList.js.map +1 -1
  56. package/dist-esm/samples-dev/redisEnterpriseListByResourceGroup.js +12 -5
  57. package/dist-esm/samples-dev/redisEnterpriseListByResourceGroup.js.map +1 -1
  58. package/dist-esm/samples-dev/redisEnterpriseListByResourceGroupSample.js +23 -9
  59. package/dist-esm/samples-dev/redisEnterpriseListByResourceGroupSample.js.map +1 -1
  60. package/dist-esm/samples-dev/redisEnterpriseListPrivateEndpointConnections.js +12 -5
  61. package/dist-esm/samples-dev/redisEnterpriseListPrivateEndpointConnections.js.map +1 -1
  62. package/dist-esm/samples-dev/redisEnterpriseListPrivateLinkResources.js +12 -5
  63. package/dist-esm/samples-dev/redisEnterpriseListPrivateLinkResources.js.map +1 -1
  64. package/dist-esm/samples-dev/redisEnterpriseListSample.js +22 -8
  65. package/dist-esm/samples-dev/redisEnterpriseListSample.js.map +1 -1
  66. package/dist-esm/samples-dev/redisEnterpriseUpdateSample.js +11 -4
  67. package/dist-esm/samples-dev/redisEnterpriseUpdateSample.js.map +1 -1
  68. package/dist-esm/samples-dev/skusListSample.d.ts +2 -0
  69. package/dist-esm/samples-dev/skusListSample.d.ts.map +1 -0
  70. package/dist-esm/samples-dev/skusListSample.js +58 -0
  71. package/dist-esm/samples-dev/skusListSample.js.map +1 -0
  72. package/dist-esm/src/lroImpl.d.ts +6 -11
  73. package/dist-esm/src/lroImpl.d.ts.map +1 -1
  74. package/dist-esm/src/lroImpl.js +12 -20
  75. package/dist-esm/src/lroImpl.js.map +1 -1
  76. package/dist-esm/src/models/index.d.ts +232 -36
  77. package/dist-esm/src/models/index.d.ts.map +1 -1
  78. package/dist-esm/src/models/index.js +32 -0
  79. package/dist-esm/src/models/index.js.map +1 -1
  80. package/dist-esm/src/models/mappers.d.ts +13 -0
  81. package/dist-esm/src/models/mappers.d.ts.map +1 -1
  82. package/dist-esm/src/models/mappers.js +340 -0
  83. package/dist-esm/src/models/mappers.js.map +1 -1
  84. package/dist-esm/src/models/parameters.d.ts +1 -0
  85. package/dist-esm/src/models/parameters.d.ts.map +1 -1
  86. package/dist-esm/src/models/parameters.js +6 -2
  87. package/dist-esm/src/models/parameters.js.map +1 -1
  88. package/dist-esm/src/operations/databases.d.ts +27 -9
  89. package/dist-esm/src/operations/databases.d.ts.map +1 -1
  90. package/dist-esm/src/operations/databases.js +204 -42
  91. package/dist-esm/src/operations/databases.js.map +1 -1
  92. package/dist-esm/src/operations/index.d.ts +1 -0
  93. package/dist-esm/src/operations/index.d.ts.map +1 -1
  94. package/dist-esm/src/operations/index.js +1 -0
  95. package/dist-esm/src/operations/index.js.map +1 -1
  96. package/dist-esm/src/operations/operations.js +12 -5
  97. package/dist-esm/src/operations/operations.js.map +1 -1
  98. package/dist-esm/src/operations/privateEndpointConnections.d.ts +2 -2
  99. package/dist-esm/src/operations/privateEndpointConnections.d.ts.map +1 -1
  100. package/dist-esm/src/operations/privateEndpointConnections.js +28 -17
  101. package/dist-esm/src/operations/privateEndpointConnections.js.map +1 -1
  102. package/dist-esm/src/operations/privateLinkResources.js +12 -5
  103. package/dist-esm/src/operations/privateLinkResources.js.map +1 -1
  104. package/dist-esm/src/operations/redisEnterprise.d.ts +4 -4
  105. package/dist-esm/src/operations/redisEnterprise.d.ts.map +1 -1
  106. package/dist-esm/src/operations/redisEnterprise.js +53 -27
  107. package/dist-esm/src/operations/redisEnterprise.js.map +1 -1
  108. package/dist-esm/src/operations/skus.d.ts +28 -0
  109. package/dist-esm/src/operations/skus.d.ts.map +1 -0
  110. package/dist-esm/src/operations/skus.js +107 -0
  111. package/dist-esm/src/operations/skus.js.map +1 -0
  112. package/dist-esm/src/operationsInterfaces/databases.d.ts +27 -9
  113. package/dist-esm/src/operationsInterfaces/databases.d.ts.map +1 -1
  114. package/dist-esm/src/operationsInterfaces/index.d.ts +1 -0
  115. package/dist-esm/src/operationsInterfaces/index.d.ts.map +1 -1
  116. package/dist-esm/src/operationsInterfaces/index.js +1 -0
  117. package/dist-esm/src/operationsInterfaces/index.js.map +1 -1
  118. package/dist-esm/src/operationsInterfaces/privateEndpointConnections.d.ts +2 -2
  119. package/dist-esm/src/operationsInterfaces/privateEndpointConnections.d.ts.map +1 -1
  120. package/dist-esm/src/operationsInterfaces/redisEnterprise.d.ts +4 -4
  121. package/dist-esm/src/operationsInterfaces/redisEnterprise.d.ts.map +1 -1
  122. package/dist-esm/src/operationsInterfaces/skus.d.ts +12 -0
  123. package/dist-esm/src/operationsInterfaces/skus.d.ts.map +1 -0
  124. package/dist-esm/src/operationsInterfaces/skus.js +9 -0
  125. package/dist-esm/src/operationsInterfaces/skus.js.map +1 -0
  126. package/dist-esm/src/redisEnterpriseManagementClient.d.ts +2 -1
  127. package/dist-esm/src/redisEnterpriseManagementClient.d.ts.map +1 -1
  128. package/dist-esm/src/redisEnterpriseManagementClient.js +4 -3
  129. package/dist-esm/src/redisEnterpriseManagementClient.js.map +1 -1
  130. package/package.json +7 -6
  131. package/review/arm-redisenterprisecache.api.md +154 -13
  132. package/src/lroImpl.ts +31 -23
  133. package/src/models/index.ts +216 -0
  134. package/src/models/mappers.ts +357 -0
  135. package/src/models/parameters.ts +7 -1
  136. package/src/operations/databases.ts +251 -75
  137. package/src/operations/index.ts +1 -0
  138. package/src/operations/privateEndpointConnections.ts +19 -12
  139. package/src/operations/redisEnterprise.ts +44 -34
  140. package/src/operations/skus.ts +117 -0
  141. package/src/operationsInterfaces/databases.ts +44 -12
  142. package/src/operationsInterfaces/index.ts +1 -0
  143. package/src/operationsInterfaces/privateEndpointConnections.ts +3 -3
  144. package/src/operationsInterfaces/redisEnterprise.ts +6 -6
  145. package/src/operationsInterfaces/skus.ts +24 -0
  146. package/src/redisEnterpriseManagementClient.ts +8 -4
  147. package/types/arm-redisenterprisecache.d.ts +260 -13
@@ -6,9 +6,9 @@
6
6
 
7
7
  import * as coreAuth from '@azure/core-auth';
8
8
  import * as coreClient from '@azure/core-client';
9
+ import { OperationState } from '@azure/core-lro';
9
10
  import { PagedAsyncIterableIterator } from '@azure/core-paging';
10
- import { PollerLike } from '@azure/core-lro';
11
- import { PollOperationState } from '@azure/core-lro';
11
+ import { SimplePollerLike } from '@azure/core-lro';
12
12
 
13
13
  // @public
14
14
  export interface AccessKeys {
@@ -25,9 +25,17 @@ export type ActionType = string;
25
25
  // @public
26
26
  export type AofFrequency = string;
27
27
 
28
+ // @public
29
+ export interface Capability {
30
+ name?: string;
31
+ value?: boolean;
32
+ }
33
+
28
34
  // @public
29
35
  export interface Cluster extends TrackedResource {
36
+ encryption?: ClusterPropertiesEncryption;
30
37
  readonly hostName?: string;
38
+ identity?: ManagedServiceIdentity;
31
39
  minimumTlsVersion?: TlsVersion;
32
40
  readonly privateEndpointConnections?: PrivateEndpointConnection[];
33
41
  readonly provisioningState?: ProvisioningState;
@@ -46,9 +54,28 @@ export interface ClusterList {
46
54
  value?: Cluster[];
47
55
  }
48
56
 
57
+ // @public
58
+ export interface ClusterPropertiesEncryption {
59
+ customerManagedKeyEncryption?: ClusterPropertiesEncryptionCustomerManagedKeyEncryption;
60
+ }
61
+
62
+ // @public
63
+ export interface ClusterPropertiesEncryptionCustomerManagedKeyEncryption {
64
+ keyEncryptionKeyIdentity?: ClusterPropertiesEncryptionCustomerManagedKeyEncryptionKeyIdentity;
65
+ keyEncryptionKeyUrl?: string;
66
+ }
67
+
68
+ // @public
69
+ export interface ClusterPropertiesEncryptionCustomerManagedKeyEncryptionKeyIdentity {
70
+ identityType?: CmkIdentityType;
71
+ userAssignedIdentityResourceId?: string;
72
+ }
73
+
49
74
  // @public
50
75
  export interface ClusterUpdate {
76
+ encryption?: ClusterPropertiesEncryption;
51
77
  readonly hostName?: string;
78
+ identity?: ManagedServiceIdentity;
52
79
  minimumTlsVersion?: TlsVersion;
53
80
  readonly privateEndpointConnections?: PrivateEndpointConnection[];
54
81
  readonly provisioningState?: ProvisioningState;
@@ -60,6 +87,12 @@ export interface ClusterUpdate {
60
87
  };
61
88
  }
62
89
 
90
+ // @public
91
+ export type CmkIdentityType = string;
92
+
93
+ // @public
94
+ export type CreatedByType = string;
95
+
63
96
  // @public
64
97
  export interface Database extends ProxyResource {
65
98
  clientProtocol?: Protocol;
@@ -87,19 +120,21 @@ export interface DatabasePropertiesGeoReplication {
87
120
 
88
121
  // @public
89
122
  export interface Databases {
90
- beginCreate(resourceGroupName: string, clusterName: string, databaseName: string, parameters: Database, options?: DatabasesCreateOptionalParams): Promise<PollerLike<PollOperationState<DatabasesCreateResponse>, DatabasesCreateResponse>>;
123
+ beginCreate(resourceGroupName: string, clusterName: string, databaseName: string, parameters: Database, options?: DatabasesCreateOptionalParams): Promise<SimplePollerLike<OperationState<DatabasesCreateResponse>, DatabasesCreateResponse>>;
91
124
  beginCreateAndWait(resourceGroupName: string, clusterName: string, databaseName: string, parameters: Database, options?: DatabasesCreateOptionalParams): Promise<DatabasesCreateResponse>;
92
- beginDelete(resourceGroupName: string, clusterName: string, databaseName: string, options?: DatabasesDeleteOptionalParams): Promise<PollerLike<PollOperationState<void>, void>>;
125
+ beginDelete(resourceGroupName: string, clusterName: string, databaseName: string, options?: DatabasesDeleteOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
93
126
  beginDeleteAndWait(resourceGroupName: string, clusterName: string, databaseName: string, options?: DatabasesDeleteOptionalParams): Promise<void>;
94
- beginExport(resourceGroupName: string, clusterName: string, databaseName: string, parameters: ExportClusterParameters, options?: DatabasesExportOptionalParams): Promise<PollerLike<PollOperationState<void>, void>>;
127
+ beginExport(resourceGroupName: string, clusterName: string, databaseName: string, parameters: ExportClusterParameters, options?: DatabasesExportOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
95
128
  beginExportAndWait(resourceGroupName: string, clusterName: string, databaseName: string, parameters: ExportClusterParameters, options?: DatabasesExportOptionalParams): Promise<void>;
96
- beginForceUnlink(resourceGroupName: string, clusterName: string, databaseName: string, parameters: ForceUnlinkParameters, options?: DatabasesForceUnlinkOptionalParams): Promise<PollerLike<PollOperationState<void>, void>>;
129
+ beginFlush(resourceGroupName: string, clusterName: string, databaseName: string, parameters: FlushParameters, options?: DatabasesFlushOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
130
+ beginFlushAndWait(resourceGroupName: string, clusterName: string, databaseName: string, parameters: FlushParameters, options?: DatabasesFlushOptionalParams): Promise<void>;
131
+ beginForceUnlink(resourceGroupName: string, clusterName: string, databaseName: string, parameters: ForceUnlinkParameters, options?: DatabasesForceUnlinkOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
97
132
  beginForceUnlinkAndWait(resourceGroupName: string, clusterName: string, databaseName: string, parameters: ForceUnlinkParameters, options?: DatabasesForceUnlinkOptionalParams): Promise<void>;
98
- beginImport(resourceGroupName: string, clusterName: string, databaseName: string, parameters: ImportClusterParameters, options?: DatabasesImportOptionalParams): Promise<PollerLike<PollOperationState<void>, void>>;
133
+ beginImport(resourceGroupName: string, clusterName: string, databaseName: string, parameters: ImportClusterParameters, options?: DatabasesImportOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
99
134
  beginImportAndWait(resourceGroupName: string, clusterName: string, databaseName: string, parameters: ImportClusterParameters, options?: DatabasesImportOptionalParams): Promise<void>;
100
- beginRegenerateKey(resourceGroupName: string, clusterName: string, databaseName: string, parameters: RegenerateKeyParameters, options?: DatabasesRegenerateKeyOptionalParams): Promise<PollerLike<PollOperationState<DatabasesRegenerateKeyResponse>, DatabasesRegenerateKeyResponse>>;
135
+ beginRegenerateKey(resourceGroupName: string, clusterName: string, databaseName: string, parameters: RegenerateKeyParameters, options?: DatabasesRegenerateKeyOptionalParams): Promise<SimplePollerLike<OperationState<DatabasesRegenerateKeyResponse>, DatabasesRegenerateKeyResponse>>;
101
136
  beginRegenerateKeyAndWait(resourceGroupName: string, clusterName: string, databaseName: string, parameters: RegenerateKeyParameters, options?: DatabasesRegenerateKeyOptionalParams): Promise<DatabasesRegenerateKeyResponse>;
102
- beginUpdate(resourceGroupName: string, clusterName: string, databaseName: string, parameters: DatabaseUpdate, options?: DatabasesUpdateOptionalParams): Promise<PollerLike<PollOperationState<DatabasesUpdateResponse>, DatabasesUpdateResponse>>;
137
+ beginUpdate(resourceGroupName: string, clusterName: string, databaseName: string, parameters: DatabaseUpdate, options?: DatabasesUpdateOptionalParams): Promise<SimplePollerLike<OperationState<DatabasesUpdateResponse>, DatabasesUpdateResponse>>;
103
138
  beginUpdateAndWait(resourceGroupName: string, clusterName: string, databaseName: string, parameters: DatabaseUpdate, options?: DatabasesUpdateOptionalParams): Promise<DatabasesUpdateResponse>;
104
139
  get(resourceGroupName: string, clusterName: string, databaseName: string, options?: DatabasesGetOptionalParams): Promise<DatabasesGetResponse>;
105
140
  listByCluster(resourceGroupName: string, clusterName: string, options?: DatabasesListByClusterOptionalParams): PagedAsyncIterableIterator<Database>;
@@ -127,6 +162,18 @@ export interface DatabasesExportOptionalParams extends coreClient.OperationOptio
127
162
  updateIntervalInMs?: number;
128
163
  }
129
164
 
165
+ // @public
166
+ export interface DatabasesFlushHeaders {
167
+ azureAsyncOperation?: string;
168
+ location?: string;
169
+ }
170
+
171
+ // @public
172
+ export interface DatabasesFlushOptionalParams extends coreClient.OperationOptions {
173
+ resumeFrom?: string;
174
+ updateIntervalInMs?: number;
175
+ }
176
+
130
177
  // @public
131
178
  export interface DatabasesForceUnlinkOptionalParams extends coreClient.OperationOptions {
132
179
  resumeFrom?: string;
@@ -226,6 +273,11 @@ export interface ExportClusterParameters {
226
273
  sasUri: string;
227
274
  }
228
275
 
276
+ // @public
277
+ export interface FlushParameters {
278
+ ids?: string[];
279
+ }
280
+
229
281
  // @public
230
282
  export interface ForceUnlinkParameters {
231
283
  ids: string[];
@@ -256,6 +308,20 @@ export enum KnownClusteringPolicy {
256
308
  OSSCluster = "OSSCluster"
257
309
  }
258
310
 
311
+ // @public
312
+ export enum KnownCmkIdentityType {
313
+ SystemAssignedIdentity = "systemAssignedIdentity",
314
+ UserAssignedIdentity = "userAssignedIdentity"
315
+ }
316
+
317
+ // @public
318
+ export enum KnownCreatedByType {
319
+ Application = "Application",
320
+ Key = "Key",
321
+ ManagedIdentity = "ManagedIdentity",
322
+ User = "User"
323
+ }
324
+
259
325
  // @public
260
326
  export enum KnownEvictionPolicy {
261
327
  AllKeysLFU = "AllKeysLFU",
@@ -277,6 +343,14 @@ export enum KnownLinkState {
277
343
  Unlinking = "Unlinking"
278
344
  }
279
345
 
346
+ // @public
347
+ export enum KnownManagedServiceIdentityType {
348
+ None = "None",
349
+ SystemAssigned = "SystemAssigned",
350
+ SystemAssignedUserAssigned = "SystemAssigned, UserAssigned",
351
+ UserAssigned = "UserAssigned"
352
+ }
353
+
280
354
  // @public
281
355
  export enum KnownOrigin {
282
356
  System = "system",
@@ -365,6 +439,25 @@ export interface LinkedDatabase {
365
439
  // @public
366
440
  export type LinkState = string;
367
441
 
442
+ // @public
443
+ export interface LocationInfo {
444
+ capabilities?: Capability[];
445
+ location?: string;
446
+ }
447
+
448
+ // @public
449
+ export interface ManagedServiceIdentity {
450
+ readonly principalId?: string;
451
+ readonly tenantId?: string;
452
+ type: ManagedServiceIdentityType;
453
+ userAssignedIdentities?: {
454
+ [propertyName: string]: UserAssignedIdentity;
455
+ };
456
+ }
457
+
458
+ // @public
459
+ export type ManagedServiceIdentityType = string;
460
+
368
461
  // @public
369
462
  export interface Module {
370
463
  args?: string;
@@ -469,7 +562,7 @@ export type PrivateEndpointConnectionProvisioningState = string;
469
562
 
470
563
  // @public
471
564
  export interface PrivateEndpointConnections {
472
- beginPut(resourceGroupName: string, clusterName: string, privateEndpointConnectionName: string, properties: PrivateEndpointConnection, options?: PrivateEndpointConnectionsPutOptionalParams): Promise<PollerLike<PollOperationState<PrivateEndpointConnectionsPutResponse>, PrivateEndpointConnectionsPutResponse>>;
565
+ beginPut(resourceGroupName: string, clusterName: string, privateEndpointConnectionName: string, properties: PrivateEndpointConnection, options?: PrivateEndpointConnectionsPutOptionalParams): Promise<SimplePollerLike<OperationState<PrivateEndpointConnectionsPutResponse>, PrivateEndpointConnectionsPutResponse>>;
473
566
  beginPutAndWait(resourceGroupName: string, clusterName: string, privateEndpointConnectionName: string, properties: PrivateEndpointConnection, options?: PrivateEndpointConnectionsPutOptionalParams): Promise<PrivateEndpointConnectionsPutResponse>;
474
567
  delete(resourceGroupName: string, clusterName: string, privateEndpointConnectionName: string, options?: PrivateEndpointConnectionsDeleteOptionalParams): Promise<void>;
475
568
  get(resourceGroupName: string, clusterName: string, privateEndpointConnectionName: string, options?: PrivateEndpointConnectionsGetOptionalParams): Promise<PrivateEndpointConnectionsGetResponse>;
@@ -552,11 +645,11 @@ export type RdbFrequency = string;
552
645
 
553
646
  // @public
554
647
  export interface RedisEnterprise {
555
- beginCreate(resourceGroupName: string, clusterName: string, parameters: Cluster, options?: RedisEnterpriseCreateOptionalParams): Promise<PollerLike<PollOperationState<RedisEnterpriseCreateResponse>, RedisEnterpriseCreateResponse>>;
648
+ beginCreate(resourceGroupName: string, clusterName: string, parameters: Cluster, options?: RedisEnterpriseCreateOptionalParams): Promise<SimplePollerLike<OperationState<RedisEnterpriseCreateResponse>, RedisEnterpriseCreateResponse>>;
556
649
  beginCreateAndWait(resourceGroupName: string, clusterName: string, parameters: Cluster, options?: RedisEnterpriseCreateOptionalParams): Promise<RedisEnterpriseCreateResponse>;
557
- beginDelete(resourceGroupName: string, clusterName: string, options?: RedisEnterpriseDeleteOptionalParams): Promise<PollerLike<PollOperationState<void>, void>>;
650
+ beginDelete(resourceGroupName: string, clusterName: string, options?: RedisEnterpriseDeleteOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
558
651
  beginDeleteAndWait(resourceGroupName: string, clusterName: string, options?: RedisEnterpriseDeleteOptionalParams): Promise<void>;
559
- beginUpdate(resourceGroupName: string, clusterName: string, parameters: ClusterUpdate, options?: RedisEnterpriseUpdateOptionalParams): Promise<PollerLike<PollOperationState<RedisEnterpriseUpdateResponse>, RedisEnterpriseUpdateResponse>>;
652
+ beginUpdate(resourceGroupName: string, clusterName: string, parameters: ClusterUpdate, options?: RedisEnterpriseUpdateOptionalParams): Promise<SimplePollerLike<OperationState<RedisEnterpriseUpdateResponse>, RedisEnterpriseUpdateResponse>>;
560
653
  beginUpdateAndWait(resourceGroupName: string, clusterName: string, parameters: ClusterUpdate, options?: RedisEnterpriseUpdateOptionalParams): Promise<RedisEnterpriseUpdateResponse>;
561
654
  get(resourceGroupName: string, clusterName: string, options?: RedisEnterpriseGetOptionalParams): Promise<RedisEnterpriseGetResponse>;
562
655
  list(options?: RedisEnterpriseListOptionalParams): PagedAsyncIterableIterator<Cluster>;
@@ -633,6 +726,8 @@ export class RedisEnterpriseManagementClient extends coreClient.ServiceClient {
633
726
  // (undocumented)
634
727
  redisEnterprise: RedisEnterprise;
635
728
  // (undocumented)
729
+ skus: Skus;
730
+ // (undocumented)
636
731
  subscriptionId: string;
637
732
  }
638
733
 
@@ -657,10 +752,23 @@ export interface RegenerateKeyParameters {
657
752
  keyType: AccessKeyType;
658
753
  }
659
754
 
755
+ // @public
756
+ export interface RegionSkuDetail {
757
+ locationInfo?: LocationInfo;
758
+ resourceType?: string;
759
+ skuDetails?: SkuDetail;
760
+ }
761
+
762
+ // @public
763
+ export interface RegionSkuDetails {
764
+ value?: RegionSkuDetail[];
765
+ }
766
+
660
767
  // @public
661
768
  export interface Resource {
662
769
  readonly id?: string;
663
770
  readonly name?: string;
771
+ readonly systemData?: SystemData;
664
772
  readonly type?: string;
665
773
  }
666
774
 
@@ -673,9 +781,36 @@ export interface Sku {
673
781
  name: SkuName;
674
782
  }
675
783
 
784
+ // @public
785
+ export interface SkuDetail {
786
+ name?: SkuName;
787
+ }
788
+
676
789
  // @public
677
790
  export type SkuName = string;
678
791
 
792
+ // @public
793
+ export interface Skus {
794
+ list(location: string, options?: SkusListOptionalParams): PagedAsyncIterableIterator<RegionSkuDetail>;
795
+ }
796
+
797
+ // @public
798
+ export interface SkusListOptionalParams extends coreClient.OperationOptions {
799
+ }
800
+
801
+ // @public
802
+ export type SkusListResponse = RegionSkuDetails;
803
+
804
+ // @public
805
+ export interface SystemData {
806
+ createdAt?: Date;
807
+ createdBy?: string;
808
+ createdByType?: CreatedByType;
809
+ lastModifiedAt?: Date;
810
+ lastModifiedBy?: string;
811
+ lastModifiedByType?: CreatedByType;
812
+ }
813
+
679
814
  // @public
680
815
  export type TlsVersion = string;
681
816
 
@@ -687,6 +822,12 @@ export interface TrackedResource extends Resource {
687
822
  };
688
823
  }
689
824
 
825
+ // @public
826
+ export interface UserAssignedIdentity {
827
+ readonly clientId?: string;
828
+ readonly principalId?: string;
829
+ }
830
+
690
831
  // (No @packageDocumentation comment for this package)
691
832
 
692
833
  ```
package/src/lroImpl.ts CHANGED
@@ -6,29 +6,37 @@
6
6
  * Changes may cause incorrect behavior and will be lost if the code is regenerated.
7
7
  */
8
8
 
9
+ // Copyright (c) Microsoft Corporation.
10
+ // Licensed under the MIT license.
11
+
12
+ import { AbortSignalLike } from "@azure/abort-controller";
9
13
  import { LongRunningOperation, LroResponse } from "@azure/core-lro";
10
14
 
11
- export class LroImpl<T> implements LongRunningOperation<T> {
12
- constructor(
13
- private sendOperationFn: (args: any, spec: any) => Promise<LroResponse<T>>,
14
- private args: Record<string, unknown>,
15
- private spec: {
16
- readonly requestBody?: unknown;
17
- readonly path?: string;
18
- readonly httpMethod: string;
19
- } & Record<string, any>,
20
- public requestPath: string = spec.path!,
21
- public requestMethod: string = spec.httpMethod
22
- ) {}
23
- public async sendInitialRequest(): Promise<LroResponse<T>> {
24
- return this.sendOperationFn(this.args, this.spec);
25
- }
26
- public async sendPollRequest(path: string): Promise<LroResponse<T>> {
27
- const { requestBody, ...restSpec } = this.spec;
28
- return this.sendOperationFn(this.args, {
29
- ...restSpec,
30
- path,
31
- httpMethod: "GET"
32
- });
33
- }
15
+ export function createLroSpec<T>(inputs: {
16
+ sendOperationFn: (args: any, spec: any) => Promise<LroResponse<T>>;
17
+ args: Record<string, unknown>;
18
+ spec: {
19
+ readonly requestBody?: unknown;
20
+ readonly path?: string;
21
+ readonly httpMethod: string;
22
+ } & Record<string, any>;
23
+ }): LongRunningOperation<T> {
24
+ const { args, spec, sendOperationFn } = inputs;
25
+ return {
26
+ requestMethod: spec.httpMethod,
27
+ requestPath: spec.path!,
28
+ sendInitialRequest: () => sendOperationFn(args, spec),
29
+ sendPollRequest: (
30
+ path: string,
31
+ options?: { abortSignal?: AbortSignalLike }
32
+ ) => {
33
+ const { requestBody, ...restSpec } = spec;
34
+ return sendOperationFn(args, {
35
+ ...restSpec,
36
+ httpMethod: "GET",
37
+ path,
38
+ abortSignal: options?.abortSignal
39
+ });
40
+ }
41
+ };
34
42
  }
@@ -145,6 +145,60 @@ export interface Sku {
145
145
  capacity?: number;
146
146
  }
147
147
 
148
+ /** Managed service identity (system assigned and/or user assigned identities) */
149
+ export interface ManagedServiceIdentity {
150
+ /**
151
+ * The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity.
152
+ * NOTE: This property will not be serialized. It can only be populated by the server.
153
+ */
154
+ readonly principalId?: string;
155
+ /**
156
+ * The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity.
157
+ * NOTE: This property will not be serialized. It can only be populated by the server.
158
+ */
159
+ readonly tenantId?: string;
160
+ /** Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). */
161
+ type: ManagedServiceIdentityType;
162
+ /** The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. */
163
+ userAssignedIdentities?: { [propertyName: string]: UserAssignedIdentity };
164
+ }
165
+
166
+ /** User assigned identity properties */
167
+ export interface UserAssignedIdentity {
168
+ /**
169
+ * The principal ID of the assigned identity.
170
+ * NOTE: This property will not be serialized. It can only be populated by the server.
171
+ */
172
+ readonly principalId?: string;
173
+ /**
174
+ * The client ID of the assigned identity.
175
+ * NOTE: This property will not be serialized. It can only be populated by the server.
176
+ */
177
+ readonly clientId?: string;
178
+ }
179
+
180
+ /** Encryption-at-rest configuration for the cluster. */
181
+ export interface ClusterPropertiesEncryption {
182
+ /** All Customer-managed key encryption properties for the resource. Set this to an empty object to use Microsoft-managed key encryption. */
183
+ customerManagedKeyEncryption?: ClusterPropertiesEncryptionCustomerManagedKeyEncryption;
184
+ }
185
+
186
+ /** All Customer-managed key encryption properties for the resource. Set this to an empty object to use Microsoft-managed key encryption. */
187
+ export interface ClusterPropertiesEncryptionCustomerManagedKeyEncryption {
188
+ /** All identity configuration for Customer-managed key settings defining which identity should be used to auth to Key Vault. */
189
+ keyEncryptionKeyIdentity?: ClusterPropertiesEncryptionCustomerManagedKeyEncryptionKeyIdentity;
190
+ /** Key encryption key Url, versioned only. Ex: https://contosovault.vault.azure.net/keys/contosokek/562a4bb76b524a1493a6afe8e536ee78 */
191
+ keyEncryptionKeyUrl?: string;
192
+ }
193
+
194
+ /** All identity configuration for Customer-managed key settings defining which identity should be used to auth to Key Vault. */
195
+ export interface ClusterPropertiesEncryptionCustomerManagedKeyEncryptionKeyIdentity {
196
+ /** User assigned identity to use for accessing key encryption key Url. Ex: /subscriptions/<sub uuid>/resourceGroups/<resource group>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId. */
197
+ userAssignedIdentityResourceId?: string;
198
+ /** Only userAssignedIdentity is supported in this API version; other types may be supported in the future */
199
+ identityType?: CmkIdentityType;
200
+ }
201
+
148
202
  /** The Private Endpoint resource. */
149
203
  export interface PrivateEndpoint {
150
204
  /**
@@ -181,16 +235,41 @@ export interface Resource {
181
235
  * NOTE: This property will not be serialized. It can only be populated by the server.
182
236
  */
183
237
  readonly type?: string;
238
+ /**
239
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
240
+ * NOTE: This property will not be serialized. It can only be populated by the server.
241
+ */
242
+ readonly systemData?: SystemData;
243
+ }
244
+
245
+ /** Metadata pertaining to creation and last modification of the resource. */
246
+ export interface SystemData {
247
+ /** The identity that created the resource. */
248
+ createdBy?: string;
249
+ /** The type of identity that created the resource. */
250
+ createdByType?: CreatedByType;
251
+ /** The timestamp of resource creation (UTC). */
252
+ createdAt?: Date;
253
+ /** The identity that last modified the resource. */
254
+ lastModifiedBy?: string;
255
+ /** The type of identity that last modified the resource. */
256
+ lastModifiedByType?: CreatedByType;
257
+ /** The timestamp of resource last modification (UTC) */
258
+ lastModifiedAt?: Date;
184
259
  }
185
260
 
186
261
  /** A partial update to the RedisEnterprise cluster */
187
262
  export interface ClusterUpdate {
188
263
  /** The SKU to create, which affects price, performance, and features. */
189
264
  sku?: Sku;
265
+ /** The identity of the resource. */
266
+ identity?: ManagedServiceIdentity;
190
267
  /** Resource tags. */
191
268
  tags?: { [propertyName: string]: string };
192
269
  /** The minimum TLS version for the cluster to support, e.g. '1.2' */
193
270
  minimumTlsVersion?: TlsVersion;
271
+ /** Encryption-at-rest configuration for the cluster. */
272
+ encryption?: ClusterPropertiesEncryption;
194
273
  /**
195
274
  * DNS name of the cluster endpoint
196
275
  * NOTE: This property will not be serialized. It can only be populated by the server.
@@ -362,6 +441,50 @@ export interface ForceUnlinkParameters {
362
441
  ids: string[];
363
442
  }
364
443
 
444
+ /** Parameters for a Redis Enterprise active geo-replication flush operation. */
445
+ export interface FlushParameters {
446
+ /** The resource identifiers of all the other database resources in the georeplication group to be flushed */
447
+ ids?: string[];
448
+ }
449
+
450
+ /** List of details about all the available SKUs */
451
+ export interface RegionSkuDetails {
452
+ /** List of Sku Detail */
453
+ value?: RegionSkuDetail[];
454
+ }
455
+
456
+ /** Details about the location requested and the available skus in the location */
457
+ export interface RegionSkuDetail {
458
+ /** Resource type which has the SKU, such as Microsoft.Cache/redisEnterprise */
459
+ resourceType?: string;
460
+ /** Details about location and its capabilities */
461
+ locationInfo?: LocationInfo;
462
+ /** Details about available skus */
463
+ skuDetails?: SkuDetail;
464
+ }
465
+
466
+ /** Information about location (for example: features that it supports) */
467
+ export interface LocationInfo {
468
+ /** Location name */
469
+ location?: string;
470
+ /** List of capabilities */
471
+ capabilities?: Capability[];
472
+ }
473
+
474
+ /** Information about the features the location supports */
475
+ export interface Capability {
476
+ /** Feature name */
477
+ name?: string;
478
+ /** Indicates whether feature is supported or not */
479
+ value?: boolean;
480
+ }
481
+
482
+ /** Information about Sku */
483
+ export interface SkuDetail {
484
+ /** The type of RedisEnterprise cluster to deploy. Possible values: (Enterprise_E10, EnterpriseFlash_F300 etc.) */
485
+ name?: SkuName;
486
+ }
487
+
365
488
  /** The Private Endpoint Connection resource. */
366
489
  export interface PrivateEndpointConnection extends Resource {
367
490
  /** The resource of private end point. */
@@ -408,8 +531,12 @@ export interface Cluster extends TrackedResource {
408
531
  sku: Sku;
409
532
  /** The Availability Zones where this cluster will be deployed. */
410
533
  zones?: string[];
534
+ /** The identity of the resource. */
535
+ identity?: ManagedServiceIdentity;
411
536
  /** The minimum TLS version for the cluster to support, e.g. '1.2' */
412
537
  minimumTlsVersion?: TlsVersion;
538
+ /** Encryption-at-rest configuration for the cluster. */
539
+ encryption?: ClusterPropertiesEncryption;
413
540
  /**
414
541
  * DNS name of the cluster endpoint
415
542
  * NOTE: This property will not be serialized. It can only be populated by the server.
@@ -465,6 +592,14 @@ export interface Database extends ProxyResource {
465
592
  geoReplication?: DatabasePropertiesGeoReplication;
466
593
  }
467
594
 
595
+ /** Defines headers for Databases_flush operation. */
596
+ export interface DatabasesFlushHeaders {
597
+ /** Location URI to poll for result */
598
+ location?: string;
599
+ /** URI to poll for the operation status */
600
+ azureAsyncOperation?: string;
601
+ }
602
+
468
603
  /** Known values of {@link Origin} that the service accepts. */
469
604
  export enum KnownOrigin {
470
605
  /** User */
@@ -534,6 +669,30 @@ export enum KnownSkuName {
534
669
  */
535
670
  export type SkuName = string;
536
671
 
672
+ /** Known values of {@link ManagedServiceIdentityType} that the service accepts. */
673
+ export enum KnownManagedServiceIdentityType {
674
+ /** None */
675
+ None = "None",
676
+ /** SystemAssigned */
677
+ SystemAssigned = "SystemAssigned",
678
+ /** UserAssigned */
679
+ UserAssigned = "UserAssigned",
680
+ /** SystemAssignedUserAssigned */
681
+ SystemAssignedUserAssigned = "SystemAssigned, UserAssigned"
682
+ }
683
+
684
+ /**
685
+ * Defines values for ManagedServiceIdentityType. \
686
+ * {@link KnownManagedServiceIdentityType} can be used interchangeably with ManagedServiceIdentityType,
687
+ * this enum contains the known values that the service supports.
688
+ * ### Known values supported by the service
689
+ * **None** \
690
+ * **SystemAssigned** \
691
+ * **UserAssigned** \
692
+ * **SystemAssigned, UserAssigned**
693
+ */
694
+ export type ManagedServiceIdentityType = string;
695
+
537
696
  /** Known values of {@link TlsVersion} that the service accepts. */
538
697
  export enum KnownTlsVersion {
539
698
  /** One0 */
@@ -555,6 +714,24 @@ export enum KnownTlsVersion {
555
714
  */
556
715
  export type TlsVersion = string;
557
716
 
717
+ /** Known values of {@link CmkIdentityType} that the service accepts. */
718
+ export enum KnownCmkIdentityType {
719
+ /** SystemAssignedIdentity */
720
+ SystemAssignedIdentity = "systemAssignedIdentity",
721
+ /** UserAssignedIdentity */
722
+ UserAssignedIdentity = "userAssignedIdentity"
723
+ }
724
+
725
+ /**
726
+ * Defines values for CmkIdentityType. \
727
+ * {@link KnownCmkIdentityType} can be used interchangeably with CmkIdentityType,
728
+ * this enum contains the known values that the service supports.
729
+ * ### Known values supported by the service
730
+ * **systemAssignedIdentity** \
731
+ * **userAssignedIdentity**
732
+ */
733
+ export type CmkIdentityType = string;
734
+
558
735
  /** Known values of {@link ProvisioningState} that the service accepts. */
559
736
  export enum KnownProvisioningState {
560
737
  /** Succeeded */
@@ -678,6 +855,30 @@ export enum KnownPrivateEndpointConnectionProvisioningState {
678
855
  */
679
856
  export type PrivateEndpointConnectionProvisioningState = string;
680
857
 
858
+ /** Known values of {@link CreatedByType} that the service accepts. */
859
+ export enum KnownCreatedByType {
860
+ /** User */
861
+ User = "User",
862
+ /** Application */
863
+ Application = "Application",
864
+ /** ManagedIdentity */
865
+ ManagedIdentity = "ManagedIdentity",
866
+ /** Key */
867
+ Key = "Key"
868
+ }
869
+
870
+ /**
871
+ * Defines values for CreatedByType. \
872
+ * {@link KnownCreatedByType} can be used interchangeably with CreatedByType,
873
+ * this enum contains the known values that the service supports.
874
+ * ### Known values supported by the service
875
+ * **User** \
876
+ * **Application** \
877
+ * **ManagedIdentity** \
878
+ * **Key**
879
+ */
880
+ export type CreatedByType = string;
881
+
681
882
  /** Known values of {@link Protocol} that the service accepts. */
682
883
  export enum KnownProtocol {
683
884
  /** Encrypted */
@@ -1000,6 +1201,15 @@ export interface DatabasesForceUnlinkOptionalParams
1000
1201
  resumeFrom?: string;
1001
1202
  }
1002
1203
 
1204
+ /** Optional parameters. */
1205
+ export interface DatabasesFlushOptionalParams
1206
+ extends coreClient.OperationOptions {
1207
+ /** Delay to wait until next poll, in milliseconds. */
1208
+ updateIntervalInMs?: number;
1209
+ /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */
1210
+ resumeFrom?: string;
1211
+ }
1212
+
1003
1213
  /** Optional parameters. */
1004
1214
  export interface DatabasesListByClusterNextOptionalParams
1005
1215
  extends coreClient.OperationOptions {}
@@ -1044,6 +1254,12 @@ export interface PrivateLinkResourcesListByClusterOptionalParams
1044
1254
  /** Contains response data for the listByCluster operation. */
1045
1255
  export type PrivateLinkResourcesListByClusterResponse = PrivateLinkResourceListResult;
1046
1256
 
1257
+ /** Optional parameters. */
1258
+ export interface SkusListOptionalParams extends coreClient.OperationOptions {}
1259
+
1260
+ /** Contains response data for the list operation. */
1261
+ export type SkusListResponse = RegionSkuDetails;
1262
+
1047
1263
  /** Optional parameters. */
1048
1264
  export interface RedisEnterpriseManagementClientOptionalParams
1049
1265
  extends coreClient.ServiceClientOptions {