@azure/arm-msi 2.1.0-beta.1 → 2.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.
- package/CHANGELOG.md +19 -1
- package/dist/index.js +406 -32
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/dist-esm/samples-dev/federatedIdentityCredentialsCreateOrUpdateSample.d.ts +2 -0
- package/dist-esm/samples-dev/federatedIdentityCredentialsCreateOrUpdateSample.d.ts.map +1 -0
- package/dist-esm/samples-dev/federatedIdentityCredentialsCreateOrUpdateSample.js +37 -0
- package/dist-esm/samples-dev/federatedIdentityCredentialsCreateOrUpdateSample.js.map +1 -0
- package/dist-esm/samples-dev/federatedIdentityCredentialsDeleteSample.d.ts +2 -0
- package/dist-esm/samples-dev/federatedIdentityCredentialsDeleteSample.d.ts.map +1 -0
- package/dist-esm/samples-dev/federatedIdentityCredentialsDeleteSample.js +32 -0
- package/dist-esm/samples-dev/federatedIdentityCredentialsDeleteSample.js.map +1 -0
- package/dist-esm/samples-dev/federatedIdentityCredentialsGetSample.d.ts +2 -0
- package/dist-esm/samples-dev/federatedIdentityCredentialsGetSample.d.ts.map +1 -0
- package/dist-esm/samples-dev/federatedIdentityCredentialsGetSample.js +32 -0
- package/dist-esm/samples-dev/federatedIdentityCredentialsGetSample.js.map +1 -0
- package/dist-esm/samples-dev/federatedIdentityCredentialsListSample.d.ts +2 -0
- package/dist-esm/samples-dev/federatedIdentityCredentialsListSample.d.ts.map +1 -0
- package/dist-esm/samples-dev/federatedIdentityCredentialsListSample.js +45 -0
- package/dist-esm/samples-dev/federatedIdentityCredentialsListSample.js.map +1 -0
- package/dist-esm/samples-dev/operationsListSample.js +1 -1
- package/dist-esm/samples-dev/systemAssignedIdentitiesGetByScopeSample.js +1 -1
- package/dist-esm/samples-dev/userAssignedIdentitiesCreateOrUpdateSample.js +1 -1
- package/dist-esm/samples-dev/userAssignedIdentitiesDeleteSample.js +1 -1
- package/dist-esm/samples-dev/userAssignedIdentitiesGetSample.js +1 -1
- package/dist-esm/samples-dev/userAssignedIdentitiesListAssociatedResourcesSample.js +1 -1
- package/dist-esm/samples-dev/userAssignedIdentitiesListByResourceGroupSample.js +1 -1
- package/dist-esm/samples-dev/userAssignedIdentitiesListBySubscriptionSample.js +1 -1
- package/dist-esm/samples-dev/userAssignedIdentitiesUpdateSample.js +1 -1
- package/dist-esm/src/managedServiceIdentityClient.d.ts +4 -1
- package/dist-esm/src/managedServiceIdentityClient.d.ts.map +1 -1
- package/dist-esm/src/managedServiceIdentityClient.js +50 -6
- package/dist-esm/src/managedServiceIdentityClient.js.map +1 -1
- package/dist-esm/src/models/index.d.ts +57 -9
- package/dist-esm/src/models/index.d.ts.map +1 -1
- package/dist-esm/src/models/mappers.d.ts +2 -0
- package/dist-esm/src/models/mappers.d.ts.map +1 -1
- package/dist-esm/src/models/mappers.js +53 -0
- package/dist-esm/src/models/mappers.js.map +1 -1
- package/dist-esm/src/models/parameters.d.ts +2 -0
- package/dist-esm/src/models/parameters.d.ts.map +1 -1
- package/dist-esm/src/models/parameters.js +16 -2
- package/dist-esm/src/models/parameters.js.map +1 -1
- package/dist-esm/src/operations/federatedIdentityCredentials.d.ts +66 -0
- package/dist-esm/src/operations/federatedIdentityCredentials.d.ts.map +1 -0
- package/dist-esm/src/operations/federatedIdentityCredentials.js +265 -0
- package/dist-esm/src/operations/federatedIdentityCredentials.js.map +1 -0
- package/dist-esm/src/operations/index.d.ts +1 -0
- package/dist-esm/src/operations/index.d.ts.map +1 -1
- package/dist-esm/src/operations/index.js +1 -0
- package/dist-esm/src/operations/index.js.map +1 -1
- package/dist-esm/src/operationsInterfaces/federatedIdentityCredentials.d.ts +41 -0
- package/dist-esm/src/operationsInterfaces/federatedIdentityCredentials.d.ts.map +1 -0
- package/dist-esm/src/operationsInterfaces/federatedIdentityCredentials.js +9 -0
- package/dist-esm/src/operationsInterfaces/federatedIdentityCredentials.js.map +1 -0
- package/dist-esm/src/operationsInterfaces/index.d.ts +1 -0
- package/dist-esm/src/operationsInterfaces/index.d.ts.map +1 -1
- package/dist-esm/src/operationsInterfaces/index.js +1 -0
- package/dist-esm/src/operationsInterfaces/index.js.map +1 -1
- package/dist-esm/test/sampleTest.js +11 -13
- package/dist-esm/test/sampleTest.js.map +1 -1
- package/package.json +12 -9
- package/review/arm-msi.api.md +77 -17
- package/src/managedServiceIdentityClient.ts +68 -7
- package/src/models/index.ts +69 -9
- package/src/models/mappers.ts +60 -0
- package/src/models/parameters.ts +19 -2
- package/src/operations/federatedIdentityCredentials.ts +342 -0
- package/src/operations/index.ts +1 -0
- package/src/operationsInterfaces/federatedIdentityCredentials.ts +78 -0
- package/src/operationsInterfaces/index.ts +1 -0
- package/types/arm-msi.d.ts +110 -9
- package/types/tsdoc-metadata.json +1 -1
@@ -7,16 +7,24 @@
|
|
7
7
|
*/
|
8
8
|
|
9
9
|
import * as coreClient from "@azure/core-client";
|
10
|
+
import * as coreRestPipeline from "@azure/core-rest-pipeline";
|
11
|
+
import {
|
12
|
+
PipelineRequest,
|
13
|
+
PipelineResponse,
|
14
|
+
SendRequest
|
15
|
+
} from "@azure/core-rest-pipeline";
|
10
16
|
import * as coreAuth from "@azure/core-auth";
|
11
17
|
import {
|
12
18
|
SystemAssignedIdentitiesImpl,
|
13
19
|
OperationsImpl,
|
14
|
-
UserAssignedIdentitiesImpl
|
20
|
+
UserAssignedIdentitiesImpl,
|
21
|
+
FederatedIdentityCredentialsImpl
|
15
22
|
} from "./operations";
|
16
23
|
import {
|
17
24
|
SystemAssignedIdentities,
|
18
25
|
Operations,
|
19
|
-
UserAssignedIdentities
|
26
|
+
UserAssignedIdentities,
|
27
|
+
FederatedIdentityCredentials
|
20
28
|
} from "./operationsInterfaces";
|
21
29
|
import { ManagedServiceIdentityClientOptionalParams } from "./models";
|
22
30
|
|
@@ -52,15 +60,12 @@ export class ManagedServiceIdentityClient extends coreClient.ServiceClient {
|
|
52
60
|
credential: credentials
|
53
61
|
};
|
54
62
|
|
55
|
-
const packageDetails = `azsdk-js-arm-msi/2.1.0-beta.
|
63
|
+
const packageDetails = `azsdk-js-arm-msi/2.1.0-beta.2`;
|
56
64
|
const userAgentPrefix =
|
57
65
|
options.userAgentOptions && options.userAgentOptions.userAgentPrefix
|
58
66
|
? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}`
|
59
67
|
: `${packageDetails}`;
|
60
68
|
|
61
|
-
if (!options.credentialScopes) {
|
62
|
-
options.credentialScopes = ["https://management.azure.com/.default"];
|
63
|
-
}
|
64
69
|
const optionsWithDefaults = {
|
65
70
|
...defaults,
|
66
71
|
...options,
|
@@ -71,18 +76,74 @@ export class ManagedServiceIdentityClient extends coreClient.ServiceClient {
|
|
71
76
|
options.endpoint ?? options.baseUri ?? "https://management.azure.com"
|
72
77
|
};
|
73
78
|
super(optionsWithDefaults);
|
79
|
+
|
80
|
+
if (options?.pipeline && options.pipeline.getOrderedPolicies().length > 0) {
|
81
|
+
const pipelinePolicies: coreRestPipeline.PipelinePolicy[] = options.pipeline.getOrderedPolicies();
|
82
|
+
const bearerTokenAuthenticationPolicyFound = pipelinePolicies.some(
|
83
|
+
(pipelinePolicy) =>
|
84
|
+
pipelinePolicy.name ===
|
85
|
+
coreRestPipeline.bearerTokenAuthenticationPolicyName
|
86
|
+
);
|
87
|
+
if (!bearerTokenAuthenticationPolicyFound) {
|
88
|
+
this.pipeline.removePolicy({
|
89
|
+
name: coreRestPipeline.bearerTokenAuthenticationPolicyName
|
90
|
+
});
|
91
|
+
this.pipeline.addPolicy(
|
92
|
+
coreRestPipeline.bearerTokenAuthenticationPolicy({
|
93
|
+
scopes: `${optionsWithDefaults.baseUri}/.default`,
|
94
|
+
challengeCallbacks: {
|
95
|
+
authorizeRequestOnChallenge:
|
96
|
+
coreClient.authorizeRequestOnClaimChallenge
|
97
|
+
}
|
98
|
+
})
|
99
|
+
);
|
100
|
+
}
|
101
|
+
}
|
74
102
|
// Parameter assignments
|
75
103
|
this.subscriptionId = subscriptionId;
|
76
104
|
|
77
105
|
// Assigning values to Constant parameters
|
78
106
|
this.$host = options.$host || "https://management.azure.com";
|
79
|
-
this.apiVersion = options.apiVersion || "
|
107
|
+
this.apiVersion = options.apiVersion || "2022-01-31-preview";
|
80
108
|
this.systemAssignedIdentities = new SystemAssignedIdentitiesImpl(this);
|
81
109
|
this.operations = new OperationsImpl(this);
|
82
110
|
this.userAssignedIdentities = new UserAssignedIdentitiesImpl(this);
|
111
|
+
this.federatedIdentityCredentials = new FederatedIdentityCredentialsImpl(
|
112
|
+
this
|
113
|
+
);
|
114
|
+
this.addCustomApiVersionPolicy(options.apiVersion);
|
115
|
+
}
|
116
|
+
|
117
|
+
/** A function that adds a policy that sets the api-version (or equivalent) to reflect the library version. */
|
118
|
+
private addCustomApiVersionPolicy(apiVersion?: string) {
|
119
|
+
if (!apiVersion) {
|
120
|
+
return;
|
121
|
+
}
|
122
|
+
const apiVersionPolicy = {
|
123
|
+
name: "CustomApiVersionPolicy",
|
124
|
+
async sendRequest(
|
125
|
+
request: PipelineRequest,
|
126
|
+
next: SendRequest
|
127
|
+
): Promise<PipelineResponse> {
|
128
|
+
const param = request.url.split("?");
|
129
|
+
if (param.length > 1) {
|
130
|
+
const newParams = param[1].split("&").map((item) => {
|
131
|
+
if (item.indexOf("api-version") > -1) {
|
132
|
+
return "api-version=" + apiVersion;
|
133
|
+
} else {
|
134
|
+
return item;
|
135
|
+
}
|
136
|
+
});
|
137
|
+
request.url = param[0] + "?" + newParams.join("&");
|
138
|
+
}
|
139
|
+
return next(request);
|
140
|
+
}
|
141
|
+
};
|
142
|
+
this.pipeline.addPolicy(apiVersionPolicy);
|
83
143
|
}
|
84
144
|
|
85
145
|
systemAssignedIdentities: SystemAssignedIdentities;
|
86
146
|
operations: Operations;
|
87
147
|
userAssignedIdentities: UserAssignedIdentities;
|
148
|
+
federatedIdentityCredentials: FederatedIdentityCredentials;
|
88
149
|
}
|
package/src/models/index.ts
CHANGED
@@ -134,19 +134,27 @@ export interface AzureResource {
|
|
134
134
|
readonly subscriptionDisplayName?: string;
|
135
135
|
}
|
136
136
|
|
137
|
+
/** Values returned by the List operation for federated identity credentials. */
|
138
|
+
export interface FederatedIdentityCredentialsListResult {
|
139
|
+
/** The collection of federated identity credentials returned by the listing operation. */
|
140
|
+
value?: FederatedIdentityCredential[];
|
141
|
+
/** The url to get the next page of results, if any. */
|
142
|
+
nextLink?: string;
|
143
|
+
}
|
144
|
+
|
137
145
|
/** The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location */
|
138
|
-
export
|
146
|
+
export interface ProxyResource extends Resource {}
|
139
147
|
|
140
148
|
/** The resource model definition for an Azure Resource Manager tracked top level resource which has 'tags' and a 'location' */
|
141
|
-
export
|
149
|
+
export interface TrackedResource extends Resource {
|
142
150
|
/** Resource tags. */
|
143
151
|
tags?: { [propertyName: string]: string };
|
144
152
|
/** The geo-location where the resource lives */
|
145
153
|
location: string;
|
146
|
-
}
|
154
|
+
}
|
147
155
|
|
148
156
|
/** Describes an identity resource. */
|
149
|
-
export
|
157
|
+
export interface IdentityUpdate extends Resource {
|
150
158
|
/** The geo-location where the resource lives */
|
151
159
|
location?: string;
|
152
160
|
/** Resource tags */
|
@@ -166,10 +174,10 @@ export type IdentityUpdate = Resource & {
|
|
166
174
|
* NOTE: This property will not be serialized. It can only be populated by the server.
|
167
175
|
*/
|
168
176
|
readonly clientId?: string;
|
169
|
-
}
|
177
|
+
}
|
170
178
|
|
171
179
|
/** Describes a system assigned identity resource. */
|
172
|
-
export
|
180
|
+
export interface SystemAssignedIdentity extends ProxyResource {
|
173
181
|
/** The geo-location where the resource lives */
|
174
182
|
location: string;
|
175
183
|
/** Resource tags */
|
@@ -194,10 +202,20 @@ export type SystemAssignedIdentity = ProxyResource & {
|
|
194
202
|
* NOTE: This property will not be serialized. It can only be populated by the server.
|
195
203
|
*/
|
196
204
|
readonly clientSecretUrl?: string;
|
197
|
-
}
|
205
|
+
}
|
206
|
+
|
207
|
+
/** Describes a federated identity credential. */
|
208
|
+
export interface FederatedIdentityCredential extends ProxyResource {
|
209
|
+
/** The URL of the issuer to be trusted. */
|
210
|
+
issuer?: string;
|
211
|
+
/** The identifier of the external identity. */
|
212
|
+
subject?: string;
|
213
|
+
/** The list of audiences that can appear in the issued token. */
|
214
|
+
audiences?: string[];
|
215
|
+
}
|
198
216
|
|
199
217
|
/** Describes an identity resource. */
|
200
|
-
export
|
218
|
+
export interface Identity extends TrackedResource {
|
201
219
|
/**
|
202
220
|
* The id of the tenant which the identity belongs to.
|
203
221
|
* NOTE: This property will not be serialized. It can only be populated by the server.
|
@@ -213,7 +231,7 @@ export type Identity = TrackedResource & {
|
|
213
231
|
* NOTE: This property will not be serialized. It can only be populated by the server.
|
214
232
|
*/
|
215
233
|
readonly clientId?: string;
|
216
|
-
}
|
234
|
+
}
|
217
235
|
|
218
236
|
/** Optional parameters. */
|
219
237
|
export interface SystemAssignedIdentitiesGetByScopeOptionalParams
|
@@ -325,6 +343,48 @@ export interface UserAssignedIdentitiesListAssociatedResourcesNextOptionalParams
|
|
325
343
|
/** Contains response data for the listAssociatedResourcesNext operation. */
|
326
344
|
export type UserAssignedIdentitiesListAssociatedResourcesNextResponse = AssociatedResourcesListResult;
|
327
345
|
|
346
|
+
/** Optional parameters. */
|
347
|
+
export interface FederatedIdentityCredentialsListOptionalParams
|
348
|
+
extends coreClient.OperationOptions {
|
349
|
+
/** Number of records to return. */
|
350
|
+
top?: number;
|
351
|
+
/** A skip token is used to continue retrieving items after an operation returns a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skipToken parameter that specifies a starting point to use for subsequent calls. */
|
352
|
+
skiptoken?: string;
|
353
|
+
}
|
354
|
+
|
355
|
+
/** Contains response data for the list operation. */
|
356
|
+
export type FederatedIdentityCredentialsListResponse = FederatedIdentityCredentialsListResult;
|
357
|
+
|
358
|
+
/** Optional parameters. */
|
359
|
+
export interface FederatedIdentityCredentialsCreateOrUpdateOptionalParams
|
360
|
+
extends coreClient.OperationOptions {}
|
361
|
+
|
362
|
+
/** Contains response data for the createOrUpdate operation. */
|
363
|
+
export type FederatedIdentityCredentialsCreateOrUpdateResponse = FederatedIdentityCredential;
|
364
|
+
|
365
|
+
/** Optional parameters. */
|
366
|
+
export interface FederatedIdentityCredentialsGetOptionalParams
|
367
|
+
extends coreClient.OperationOptions {}
|
368
|
+
|
369
|
+
/** Contains response data for the get operation. */
|
370
|
+
export type FederatedIdentityCredentialsGetResponse = FederatedIdentityCredential;
|
371
|
+
|
372
|
+
/** Optional parameters. */
|
373
|
+
export interface FederatedIdentityCredentialsDeleteOptionalParams
|
374
|
+
extends coreClient.OperationOptions {}
|
375
|
+
|
376
|
+
/** Optional parameters. */
|
377
|
+
export interface FederatedIdentityCredentialsListNextOptionalParams
|
378
|
+
extends coreClient.OperationOptions {
|
379
|
+
/** Number of records to return. */
|
380
|
+
top?: number;
|
381
|
+
/** A skip token is used to continue retrieving items after an operation returns a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skipToken parameter that specifies a starting point to use for subsequent calls. */
|
382
|
+
skiptoken?: string;
|
383
|
+
}
|
384
|
+
|
385
|
+
/** Contains response data for the listNext operation. */
|
386
|
+
export type FederatedIdentityCredentialsListNextResponse = FederatedIdentityCredentialsListResult;
|
387
|
+
|
328
388
|
/** Optional parameters. */
|
329
389
|
export interface ManagedServiceIdentityClientOptionalParams
|
330
390
|
extends coreClient.ServiceClientOptions {
|
package/src/models/mappers.ts
CHANGED
@@ -289,6 +289,33 @@ export const AzureResource: coreClient.CompositeMapper = {
|
|
289
289
|
}
|
290
290
|
};
|
291
291
|
|
292
|
+
export const FederatedIdentityCredentialsListResult: coreClient.CompositeMapper = {
|
293
|
+
type: {
|
294
|
+
name: "Composite",
|
295
|
+
className: "FederatedIdentityCredentialsListResult",
|
296
|
+
modelProperties: {
|
297
|
+
value: {
|
298
|
+
serializedName: "value",
|
299
|
+
type: {
|
300
|
+
name: "Sequence",
|
301
|
+
element: {
|
302
|
+
type: {
|
303
|
+
name: "Composite",
|
304
|
+
className: "FederatedIdentityCredential"
|
305
|
+
}
|
306
|
+
}
|
307
|
+
}
|
308
|
+
},
|
309
|
+
nextLink: {
|
310
|
+
serializedName: "nextLink",
|
311
|
+
type: {
|
312
|
+
name: "String"
|
313
|
+
}
|
314
|
+
}
|
315
|
+
}
|
316
|
+
}
|
317
|
+
};
|
318
|
+
|
292
319
|
export const ProxyResource: coreClient.CompositeMapper = {
|
293
320
|
type: {
|
294
321
|
name: "Composite",
|
@@ -419,6 +446,39 @@ export const SystemAssignedIdentity: coreClient.CompositeMapper = {
|
|
419
446
|
}
|
420
447
|
};
|
421
448
|
|
449
|
+
export const FederatedIdentityCredential: coreClient.CompositeMapper = {
|
450
|
+
type: {
|
451
|
+
name: "Composite",
|
452
|
+
className: "FederatedIdentityCredential",
|
453
|
+
modelProperties: {
|
454
|
+
...ProxyResource.type.modelProperties,
|
455
|
+
issuer: {
|
456
|
+
serializedName: "properties.issuer",
|
457
|
+
type: {
|
458
|
+
name: "String"
|
459
|
+
}
|
460
|
+
},
|
461
|
+
subject: {
|
462
|
+
serializedName: "properties.subject",
|
463
|
+
type: {
|
464
|
+
name: "String"
|
465
|
+
}
|
466
|
+
},
|
467
|
+
audiences: {
|
468
|
+
serializedName: "properties.audiences",
|
469
|
+
type: {
|
470
|
+
name: "Sequence",
|
471
|
+
element: {
|
472
|
+
type: {
|
473
|
+
name: "String"
|
474
|
+
}
|
475
|
+
}
|
476
|
+
}
|
477
|
+
}
|
478
|
+
}
|
479
|
+
}
|
480
|
+
};
|
481
|
+
|
422
482
|
export const Identity: coreClient.CompositeMapper = {
|
423
483
|
type: {
|
424
484
|
name: "Composite",
|
package/src/models/parameters.ts
CHANGED
@@ -13,7 +13,8 @@ import {
|
|
13
13
|
} from "@azure/core-client";
|
14
14
|
import {
|
15
15
|
Identity as IdentityMapper,
|
16
|
-
IdentityUpdate as IdentityUpdateMapper
|
16
|
+
IdentityUpdate as IdentityUpdateMapper,
|
17
|
+
FederatedIdentityCredential as FederatedIdentityCredentialMapper
|
17
18
|
} from "../models/mappers";
|
18
19
|
|
19
20
|
export const accept: OperationParameter = {
|
@@ -55,7 +56,7 @@ export const scope: OperationURLParameter = {
|
|
55
56
|
export const apiVersion: OperationQueryParameter = {
|
56
57
|
parameterPath: "apiVersion",
|
57
58
|
mapper: {
|
58
|
-
defaultValue: "
|
59
|
+
defaultValue: "2022-01-31-preview",
|
59
60
|
isConstant: true,
|
60
61
|
serializedName: "api-version",
|
61
62
|
type: {
|
@@ -186,3 +187,19 @@ export const parameters1: OperationParameter = {
|
|
186
187
|
parameterPath: "parameters",
|
187
188
|
mapper: IdentityUpdateMapper
|
188
189
|
};
|
190
|
+
|
191
|
+
export const parameters2: OperationParameter = {
|
192
|
+
parameterPath: "parameters",
|
193
|
+
mapper: FederatedIdentityCredentialMapper
|
194
|
+
};
|
195
|
+
|
196
|
+
export const federatedIdentityCredentialResourceName: OperationURLParameter = {
|
197
|
+
parameterPath: "federatedIdentityCredentialResourceName",
|
198
|
+
mapper: {
|
199
|
+
serializedName: "federatedIdentityCredentialResourceName",
|
200
|
+
required: true,
|
201
|
+
type: {
|
202
|
+
name: "String"
|
203
|
+
}
|
204
|
+
}
|
205
|
+
};
|
@@ -0,0 +1,342 @@
|
|
1
|
+
/*
|
2
|
+
* Copyright (c) Microsoft Corporation.
|
3
|
+
* Licensed under the MIT License.
|
4
|
+
*
|
5
|
+
* Code generated by Microsoft (R) AutoRest Code Generator.
|
6
|
+
* Changes may cause incorrect behavior and will be lost if the code is regenerated.
|
7
|
+
*/
|
8
|
+
|
9
|
+
import { PagedAsyncIterableIterator } from "@azure/core-paging";
|
10
|
+
import { FederatedIdentityCredentials } from "../operationsInterfaces";
|
11
|
+
import * as coreClient from "@azure/core-client";
|
12
|
+
import * as Mappers from "../models/mappers";
|
13
|
+
import * as Parameters from "../models/parameters";
|
14
|
+
import { ManagedServiceIdentityClient } from "../managedServiceIdentityClient";
|
15
|
+
import {
|
16
|
+
FederatedIdentityCredential,
|
17
|
+
FederatedIdentityCredentialsListNextOptionalParams,
|
18
|
+
FederatedIdentityCredentialsListOptionalParams,
|
19
|
+
FederatedIdentityCredentialsListResponse,
|
20
|
+
FederatedIdentityCredentialsCreateOrUpdateOptionalParams,
|
21
|
+
FederatedIdentityCredentialsCreateOrUpdateResponse,
|
22
|
+
FederatedIdentityCredentialsGetOptionalParams,
|
23
|
+
FederatedIdentityCredentialsGetResponse,
|
24
|
+
FederatedIdentityCredentialsDeleteOptionalParams,
|
25
|
+
FederatedIdentityCredentialsListNextResponse
|
26
|
+
} from "../models";
|
27
|
+
|
28
|
+
/// <reference lib="esnext.asynciterable" />
|
29
|
+
/** Class containing FederatedIdentityCredentials operations. */
|
30
|
+
export class FederatedIdentityCredentialsImpl
|
31
|
+
implements FederatedIdentityCredentials {
|
32
|
+
private readonly client: ManagedServiceIdentityClient;
|
33
|
+
|
34
|
+
/**
|
35
|
+
* Initialize a new instance of the class FederatedIdentityCredentials class.
|
36
|
+
* @param client Reference to the service client
|
37
|
+
*/
|
38
|
+
constructor(client: ManagedServiceIdentityClient) {
|
39
|
+
this.client = client;
|
40
|
+
}
|
41
|
+
|
42
|
+
/**
|
43
|
+
* Lists all the federated identity credentials under the specified user assigned identity.
|
44
|
+
* @param resourceGroupName The name of the Resource Group to which the identity belongs.
|
45
|
+
* @param resourceName The name of the identity resource.
|
46
|
+
* @param options The options parameters.
|
47
|
+
*/
|
48
|
+
public list(
|
49
|
+
resourceGroupName: string,
|
50
|
+
resourceName: string,
|
51
|
+
options?: FederatedIdentityCredentialsListOptionalParams
|
52
|
+
): PagedAsyncIterableIterator<FederatedIdentityCredential> {
|
53
|
+
const iter = this.listPagingAll(resourceGroupName, resourceName, options);
|
54
|
+
return {
|
55
|
+
next() {
|
56
|
+
return iter.next();
|
57
|
+
},
|
58
|
+
[Symbol.asyncIterator]() {
|
59
|
+
return this;
|
60
|
+
},
|
61
|
+
byPage: () => {
|
62
|
+
return this.listPagingPage(resourceGroupName, resourceName, options);
|
63
|
+
}
|
64
|
+
};
|
65
|
+
}
|
66
|
+
|
67
|
+
private async *listPagingPage(
|
68
|
+
resourceGroupName: string,
|
69
|
+
resourceName: string,
|
70
|
+
options?: FederatedIdentityCredentialsListOptionalParams
|
71
|
+
): AsyncIterableIterator<FederatedIdentityCredential[]> {
|
72
|
+
let result = await this._list(resourceGroupName, resourceName, options);
|
73
|
+
yield result.value || [];
|
74
|
+
let continuationToken = result.nextLink;
|
75
|
+
while (continuationToken) {
|
76
|
+
result = await this._listNext(
|
77
|
+
resourceGroupName,
|
78
|
+
resourceName,
|
79
|
+
continuationToken,
|
80
|
+
options
|
81
|
+
);
|
82
|
+
continuationToken = result.nextLink;
|
83
|
+
yield result.value || [];
|
84
|
+
}
|
85
|
+
}
|
86
|
+
|
87
|
+
private async *listPagingAll(
|
88
|
+
resourceGroupName: string,
|
89
|
+
resourceName: string,
|
90
|
+
options?: FederatedIdentityCredentialsListOptionalParams
|
91
|
+
): AsyncIterableIterator<FederatedIdentityCredential> {
|
92
|
+
for await (const page of this.listPagingPage(
|
93
|
+
resourceGroupName,
|
94
|
+
resourceName,
|
95
|
+
options
|
96
|
+
)) {
|
97
|
+
yield* page;
|
98
|
+
}
|
99
|
+
}
|
100
|
+
|
101
|
+
/**
|
102
|
+
* Lists all the federated identity credentials under the specified user assigned identity.
|
103
|
+
* @param resourceGroupName The name of the Resource Group to which the identity belongs.
|
104
|
+
* @param resourceName The name of the identity resource.
|
105
|
+
* @param options The options parameters.
|
106
|
+
*/
|
107
|
+
private _list(
|
108
|
+
resourceGroupName: string,
|
109
|
+
resourceName: string,
|
110
|
+
options?: FederatedIdentityCredentialsListOptionalParams
|
111
|
+
): Promise<FederatedIdentityCredentialsListResponse> {
|
112
|
+
return this.client.sendOperationRequest(
|
113
|
+
{ resourceGroupName, resourceName, options },
|
114
|
+
listOperationSpec
|
115
|
+
);
|
116
|
+
}
|
117
|
+
|
118
|
+
/**
|
119
|
+
* Create or update a federated identity credential under the specified user assigned identity.
|
120
|
+
* @param resourceGroupName The name of the Resource Group to which the identity belongs.
|
121
|
+
* @param resourceName The name of the identity resource.
|
122
|
+
* @param federatedIdentityCredentialResourceName The name of the federated identity credential
|
123
|
+
* resource.
|
124
|
+
* @param parameters Parameters to create or update the federated identity credential.
|
125
|
+
* @param options The options parameters.
|
126
|
+
*/
|
127
|
+
createOrUpdate(
|
128
|
+
resourceGroupName: string,
|
129
|
+
resourceName: string,
|
130
|
+
federatedIdentityCredentialResourceName: string,
|
131
|
+
parameters: FederatedIdentityCredential,
|
132
|
+
options?: FederatedIdentityCredentialsCreateOrUpdateOptionalParams
|
133
|
+
): Promise<FederatedIdentityCredentialsCreateOrUpdateResponse> {
|
134
|
+
return this.client.sendOperationRequest(
|
135
|
+
{
|
136
|
+
resourceGroupName,
|
137
|
+
resourceName,
|
138
|
+
federatedIdentityCredentialResourceName,
|
139
|
+
parameters,
|
140
|
+
options
|
141
|
+
},
|
142
|
+
createOrUpdateOperationSpec
|
143
|
+
);
|
144
|
+
}
|
145
|
+
|
146
|
+
/**
|
147
|
+
* Gets the federated identity credential.
|
148
|
+
* @param resourceGroupName The name of the Resource Group to which the identity belongs.
|
149
|
+
* @param resourceName The name of the identity resource.
|
150
|
+
* @param federatedIdentityCredentialResourceName The name of the federated identity credential
|
151
|
+
* resource.
|
152
|
+
* @param options The options parameters.
|
153
|
+
*/
|
154
|
+
get(
|
155
|
+
resourceGroupName: string,
|
156
|
+
resourceName: string,
|
157
|
+
federatedIdentityCredentialResourceName: string,
|
158
|
+
options?: FederatedIdentityCredentialsGetOptionalParams
|
159
|
+
): Promise<FederatedIdentityCredentialsGetResponse> {
|
160
|
+
return this.client.sendOperationRequest(
|
161
|
+
{
|
162
|
+
resourceGroupName,
|
163
|
+
resourceName,
|
164
|
+
federatedIdentityCredentialResourceName,
|
165
|
+
options
|
166
|
+
},
|
167
|
+
getOperationSpec
|
168
|
+
);
|
169
|
+
}
|
170
|
+
|
171
|
+
/**
|
172
|
+
* Deletes the federated identity credential.
|
173
|
+
* @param resourceGroupName The name of the Resource Group to which the identity belongs.
|
174
|
+
* @param resourceName The name of the identity resource.
|
175
|
+
* @param federatedIdentityCredentialResourceName The name of the federated identity credential
|
176
|
+
* resource.
|
177
|
+
* @param options The options parameters.
|
178
|
+
*/
|
179
|
+
delete(
|
180
|
+
resourceGroupName: string,
|
181
|
+
resourceName: string,
|
182
|
+
federatedIdentityCredentialResourceName: string,
|
183
|
+
options?: FederatedIdentityCredentialsDeleteOptionalParams
|
184
|
+
): Promise<void> {
|
185
|
+
return this.client.sendOperationRequest(
|
186
|
+
{
|
187
|
+
resourceGroupName,
|
188
|
+
resourceName,
|
189
|
+
federatedIdentityCredentialResourceName,
|
190
|
+
options
|
191
|
+
},
|
192
|
+
deleteOperationSpec
|
193
|
+
);
|
194
|
+
}
|
195
|
+
|
196
|
+
/**
|
197
|
+
* ListNext
|
198
|
+
* @param resourceGroupName The name of the Resource Group to which the identity belongs.
|
199
|
+
* @param resourceName The name of the identity resource.
|
200
|
+
* @param nextLink The nextLink from the previous successful call to the List method.
|
201
|
+
* @param options The options parameters.
|
202
|
+
*/
|
203
|
+
private _listNext(
|
204
|
+
resourceGroupName: string,
|
205
|
+
resourceName: string,
|
206
|
+
nextLink: string,
|
207
|
+
options?: FederatedIdentityCredentialsListNextOptionalParams
|
208
|
+
): Promise<FederatedIdentityCredentialsListNextResponse> {
|
209
|
+
return this.client.sendOperationRequest(
|
210
|
+
{ resourceGroupName, resourceName, nextLink, options },
|
211
|
+
listNextOperationSpec
|
212
|
+
);
|
213
|
+
}
|
214
|
+
}
|
215
|
+
// Operation Specifications
|
216
|
+
const serializer = coreClient.createSerializer(Mappers, /* isXml */ false);
|
217
|
+
|
218
|
+
const listOperationSpec: coreClient.OperationSpec = {
|
219
|
+
path:
|
220
|
+
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{resourceName}/federatedIdentityCredentials",
|
221
|
+
httpMethod: "GET",
|
222
|
+
responses: {
|
223
|
+
200: {
|
224
|
+
bodyMapper: Mappers.FederatedIdentityCredentialsListResult
|
225
|
+
},
|
226
|
+
default: {
|
227
|
+
bodyMapper: Mappers.CloudError
|
228
|
+
}
|
229
|
+
},
|
230
|
+
queryParameters: [
|
231
|
+
Parameters.apiVersion,
|
232
|
+
Parameters.top,
|
233
|
+
Parameters.skiptoken
|
234
|
+
],
|
235
|
+
urlParameters: [
|
236
|
+
Parameters.$host,
|
237
|
+
Parameters.subscriptionId,
|
238
|
+
Parameters.resourceGroupName,
|
239
|
+
Parameters.resourceName
|
240
|
+
],
|
241
|
+
headerParameters: [Parameters.accept],
|
242
|
+
serializer
|
243
|
+
};
|
244
|
+
const createOrUpdateOperationSpec: coreClient.OperationSpec = {
|
245
|
+
path:
|
246
|
+
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{resourceName}/federatedIdentityCredentials/{federatedIdentityCredentialResourceName}",
|
247
|
+
httpMethod: "PUT",
|
248
|
+
responses: {
|
249
|
+
200: {
|
250
|
+
bodyMapper: Mappers.FederatedIdentityCredential
|
251
|
+
},
|
252
|
+
201: {
|
253
|
+
bodyMapper: Mappers.FederatedIdentityCredential
|
254
|
+
},
|
255
|
+
default: {
|
256
|
+
bodyMapper: Mappers.CloudError
|
257
|
+
}
|
258
|
+
},
|
259
|
+
requestBody: Parameters.parameters2,
|
260
|
+
queryParameters: [Parameters.apiVersion],
|
261
|
+
urlParameters: [
|
262
|
+
Parameters.$host,
|
263
|
+
Parameters.subscriptionId,
|
264
|
+
Parameters.resourceGroupName,
|
265
|
+
Parameters.resourceName,
|
266
|
+
Parameters.federatedIdentityCredentialResourceName
|
267
|
+
],
|
268
|
+
headerParameters: [Parameters.accept, Parameters.contentType],
|
269
|
+
mediaType: "json",
|
270
|
+
serializer
|
271
|
+
};
|
272
|
+
const getOperationSpec: coreClient.OperationSpec = {
|
273
|
+
path:
|
274
|
+
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{resourceName}/federatedIdentityCredentials/{federatedIdentityCredentialResourceName}",
|
275
|
+
httpMethod: "GET",
|
276
|
+
responses: {
|
277
|
+
200: {
|
278
|
+
bodyMapper: Mappers.FederatedIdentityCredential
|
279
|
+
},
|
280
|
+
default: {
|
281
|
+
bodyMapper: Mappers.CloudError
|
282
|
+
}
|
283
|
+
},
|
284
|
+
queryParameters: [Parameters.apiVersion],
|
285
|
+
urlParameters: [
|
286
|
+
Parameters.$host,
|
287
|
+
Parameters.subscriptionId,
|
288
|
+
Parameters.resourceGroupName,
|
289
|
+
Parameters.resourceName,
|
290
|
+
Parameters.federatedIdentityCredentialResourceName
|
291
|
+
],
|
292
|
+
headerParameters: [Parameters.accept],
|
293
|
+
serializer
|
294
|
+
};
|
295
|
+
const deleteOperationSpec: coreClient.OperationSpec = {
|
296
|
+
path:
|
297
|
+
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{resourceName}/federatedIdentityCredentials/{federatedIdentityCredentialResourceName}",
|
298
|
+
httpMethod: "DELETE",
|
299
|
+
responses: {
|
300
|
+
200: {},
|
301
|
+
204: {},
|
302
|
+
default: {
|
303
|
+
bodyMapper: Mappers.CloudError
|
304
|
+
}
|
305
|
+
},
|
306
|
+
queryParameters: [Parameters.apiVersion],
|
307
|
+
urlParameters: [
|
308
|
+
Parameters.$host,
|
309
|
+
Parameters.subscriptionId,
|
310
|
+
Parameters.resourceGroupName,
|
311
|
+
Parameters.resourceName,
|
312
|
+
Parameters.federatedIdentityCredentialResourceName
|
313
|
+
],
|
314
|
+
headerParameters: [Parameters.accept],
|
315
|
+
serializer
|
316
|
+
};
|
317
|
+
const listNextOperationSpec: coreClient.OperationSpec = {
|
318
|
+
path: "{nextLink}",
|
319
|
+
httpMethod: "GET",
|
320
|
+
responses: {
|
321
|
+
200: {
|
322
|
+
bodyMapper: Mappers.FederatedIdentityCredentialsListResult
|
323
|
+
},
|
324
|
+
default: {
|
325
|
+
bodyMapper: Mappers.CloudError
|
326
|
+
}
|
327
|
+
},
|
328
|
+
queryParameters: [
|
329
|
+
Parameters.apiVersion,
|
330
|
+
Parameters.top,
|
331
|
+
Parameters.skiptoken
|
332
|
+
],
|
333
|
+
urlParameters: [
|
334
|
+
Parameters.$host,
|
335
|
+
Parameters.nextLink,
|
336
|
+
Parameters.subscriptionId,
|
337
|
+
Parameters.resourceGroupName,
|
338
|
+
Parameters.resourceName
|
339
|
+
],
|
340
|
+
headerParameters: [Parameters.accept],
|
341
|
+
serializer
|
342
|
+
};
|