@scaleway/sdk-iam 1.5.0 → 2.1.1
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/README.md +96 -0
- package/dist/v1alpha1/api.gen.d.ts +46 -2
- package/dist/v1alpha1/api.gen.js +204 -160
- package/dist/v1alpha1/index.gen.d.ts +2 -2
- package/dist/v1alpha1/index.gen.js +4 -1
- package/dist/v1alpha1/marshalling.gen.d.ts +4 -1
- package/dist/v1alpha1/marshalling.gen.js +123 -34
- package/dist/v1alpha1/types.gen.d.ts +86 -0
- package/dist/v1alpha1/validation-rules.gen.d.ts +10 -0
- package/dist/v1alpha1/validation-rules.gen.js +13 -2
- package/package.json +6 -9
- package/dist/index.gen.cjs +0 -4
- package/dist/v1alpha1/api.gen.cjs +0 -1185
- package/dist/v1alpha1/index.gen.cjs +0 -69
- package/dist/v1alpha1/marshalling.gen.cjs +0 -816
- package/dist/v1alpha1/validation-rules.gen.cjs +0 -327
package/README.md
ADDED
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
# @scaleway/sdk-iam
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/package/@scaleway/sdk-iam)
|
|
4
|
+
[](https://www.npmjs.com/package/@scaleway/sdk-iam)
|
|
5
|
+
[](https://github.com/scaleway/scaleway-sdk-js/blob/master/LICENSE)
|
|
6
|
+
|
|
7
|
+
Scaleway SDK for Iam API.
|
|
8
|
+
|
|
9
|
+
> **Note**
|
|
10
|
+
> This is an automatically generated package that is part of the [Scaleway SDK for JavaScript](https://github.com/scaleway/scaleway-sdk-js).
|
|
11
|
+
|
|
12
|
+
## Installation
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
npm install @scaleway/sdk-iam @scaleway/sdk-client
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
or with pnpm:
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
pnpm add @scaleway/sdk-iam @scaleway/sdk-client
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
or with yarn:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
yarn add @scaleway/sdk-iam @scaleway/sdk-client
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Getting Started
|
|
31
|
+
|
|
32
|
+
You'll need a pair of access and secret keys to connect to Scaleway API. Please check the [documentation](https://www.scaleway.com/en/docs/identity-and-access-management/iam/how-to/create-api-keys/) on how to retrieve them.
|
|
33
|
+
|
|
34
|
+
### Basic Usage
|
|
35
|
+
|
|
36
|
+
```typescript
|
|
37
|
+
import { createClient } from '@scaleway/sdk-client'
|
|
38
|
+
import { Iam } from '@scaleway/sdk-iam'
|
|
39
|
+
|
|
40
|
+
const client = createClient({
|
|
41
|
+
accessKey: 'SCWXXXXXXXXXXXXXXXXX',
|
|
42
|
+
secretKey: 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx',
|
|
43
|
+
defaultProjectId: 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx',
|
|
44
|
+
defaultRegion: 'fr-par',
|
|
45
|
+
defaultZone: 'fr-par-1',
|
|
46
|
+
})
|
|
47
|
+
|
|
48
|
+
const api = new Iam.v1.API(client)
|
|
49
|
+
|
|
50
|
+
// Use the API
|
|
51
|
+
// Example: await api.listServers()
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### Using Configuration Loader
|
|
55
|
+
|
|
56
|
+
For a simpler setup, you can load credentials from the configuration file or environment variables:
|
|
57
|
+
|
|
58
|
+
```typescript
|
|
59
|
+
import { createClient } from '@scaleway/sdk-client'
|
|
60
|
+
import { loadProfileFromConfigurationFile } from '@scaleway/configuration-loader'
|
|
61
|
+
import { Iam } from '@scaleway/sdk-iam'
|
|
62
|
+
|
|
63
|
+
const profile = loadProfileFromConfigurationFile()
|
|
64
|
+
const client = createClient(profile)
|
|
65
|
+
const api = new Iam.v1.API(client)
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## Documentation
|
|
69
|
+
|
|
70
|
+
- 📚 [Scaleway SDK Reference Documentation](https://scaleway.github.io/scaleway-sdk-js)
|
|
71
|
+
- 🌐 [Scaleway Iam API Documentation](https://www.scaleway.com/en/developers/api/iam/)
|
|
72
|
+
- 📖 [Main Repository](https://github.com/scaleway/scaleway-sdk-js)
|
|
73
|
+
- 💡 [Example Projects](https://github.com/scaleway/scaleway-sdk-js/tree/master/examples)
|
|
74
|
+
|
|
75
|
+
## Features
|
|
76
|
+
|
|
77
|
+
- ✅ Full TypeScript support with complete type definitions
|
|
78
|
+
- ✅ Promise-based API
|
|
79
|
+
- ✅ Automatic pagination helpers
|
|
80
|
+
- ✅ Built-in error handling
|
|
81
|
+
- ✅ Compatible with Node.js ≥ 20
|
|
82
|
+
|
|
83
|
+
## Support
|
|
84
|
+
|
|
85
|
+
We love feedback! Feel free to reach us on:
|
|
86
|
+
- [Scaleway Slack community](https://slack.scaleway.com/) - Join us on [#opensource](https://scaleway-community.slack.com/app_redirect?channel=opensource)
|
|
87
|
+
- [GitHub Issues](https://github.com/scaleway/scaleway-sdk-js/issues)
|
|
88
|
+
|
|
89
|
+
## Contributing
|
|
90
|
+
|
|
91
|
+
This repository is at its early stage and is still in active development. If you are looking for a way to contribute, please read [CONTRIBUTING.md](https://github.com/scaleway/scaleway-sdk-js/blob/master/CONTRIBUTING.md).
|
|
92
|
+
|
|
93
|
+
## License
|
|
94
|
+
|
|
95
|
+
This project is Apache 2.0 licensed. See the [LICENSE](https://github.com/scaleway/scaleway-sdk-js/blob/master/LICENSE) file for details.
|
|
96
|
+
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { API as ParentAPI } from '@scaleway/sdk-client';
|
|
2
|
-
import type {
|
|
2
|
+
import type { AddGroupMemberRequest, AddGroupMembersRequest, AddSamlCertificateRequest, APIKey, Application, ClonePolicyRequest, CreateAPIKeyRequest, CreateApplicationRequest, CreateGroupRequest, CreateJWTRequest, CreatePolicyRequest, CreateScimTokenRequest, CreateScimTokenResponse, CreateSSHKeyRequest, CreateUserMFAOTPRequest, CreateUserRequest, DeleteAPIKeyRequest, DeleteApplicationRequest, DeleteGroupRequest, DeleteJWTRequest, DeletePolicyRequest, DeleteSamlCertificateRequest, DeleteSamlRequest, DeleteScimRequest, DeleteScimTokenRequest, DeleteSSHKeyRequest, DeleteUserMFAOTPRequest, DeleteUserRequest, EnableOrganizationSamlRequest, EnableOrganizationScimRequest, EncodedJWT, GetAPIKeyRequest, GetApplicationRequest, GetGroupRequest, GetJWTRequest, GetLogRequest, GetOrganizationRequest, GetOrganizationSamlRequest, GetOrganizationScimRequest, GetOrganizationSecuritySettingsRequest, GetPolicyRequest, GetQuotumRequest, GetSSHKeyRequest, GetUserConnectionsRequest, GetUserConnectionsResponse, GetUserRequest, Group, InitiateUserConnectionRequest, InitiateUserConnectionResponse, JoinUserConnectionRequest, JWT, ListAPIKeysRequest, ListAPIKeysResponse, ListApplicationsRequest, ListApplicationsResponse, ListGracePeriodsRequest, ListGracePeriodsResponse, ListGroupsRequest, ListGroupsResponse, ListJWTsRequest, ListJWTsResponse, ListLogsRequest, ListLogsResponse, ListPermissionSetsRequest, ListPermissionSetsResponse, ListPoliciesRequest, ListPoliciesResponse, ListQuotaRequest, ListQuotaResponse, ListRulesRequest, ListRulesResponse, ListSamlCertificatesRequest, ListSamlCertificatesResponse, ListScimTokensRequest, ListScimTokensResponse, ListSSHKeysRequest, ListSSHKeysResponse, ListUsersRequest, ListUsersResponse, LockUserRequest, Log, MFAOTP, Organization, OrganizationSecuritySettings, ParseSamlMetadataRequest, ParseSamlMetadataResponse, Policy, Quotum, RemoveGroupMemberRequest, RemoveUserConnectionRequest, Saml, SamlCertificate, Scim, SetGroupMembersRequest, SetOrganizationAliasRequest, SetRulesRequest, SetRulesResponse, SSHKey, UnlockUserRequest, UpdateAPIKeyRequest, UpdateApplicationRequest, UpdateGroupRequest, UpdateOrganizationLoginMethodsRequest, UpdateOrganizationSecuritySettingsRequest, UpdatePolicyRequest, UpdateSamlRequest, UpdateSSHKeyRequest, UpdateUserPasswordRequest, UpdateUserRequest, UpdateUserUsernameRequest, User, ValidateUserMFAOTPRequest, ValidateUserMFAOTPResponse } from './types.gen.js';
|
|
3
3
|
/**
|
|
4
4
|
* IAM API.
|
|
5
5
|
|
|
@@ -264,7 +264,7 @@ export declare class API extends ParentAPI {
|
|
|
264
264
|
*/
|
|
265
265
|
createPolicy: (request: Readonly<CreatePolicyRequest>) => Promise<Policy>;
|
|
266
266
|
/**
|
|
267
|
-
* Get an existing policy. Retrieve information about a policy,
|
|
267
|
+
* Get an existing policy. Retrieve information about a policy, specified by the `policy_id` parameter. The policy's full details, including `id`, `name`, `organization_id`, `nb_rules` and `nb_scopes`, `nb_permission_sets` are returned in the response.
|
|
268
268
|
*
|
|
269
269
|
* @param request - The request {@link GetPolicyRequest}
|
|
270
270
|
* @returns A Promise of Policy
|
|
@@ -513,4 +513,48 @@ export declare class API extends ParentAPI {
|
|
|
513
513
|
* @param request - The request {@link DeleteSamlCertificateRequest}
|
|
514
514
|
*/
|
|
515
515
|
deleteSamlCertificate: (request: Readonly<DeleteSamlCertificateRequest>) => Promise<void>;
|
|
516
|
+
/**
|
|
517
|
+
* Get SCIM configuration of an Organization.
|
|
518
|
+
*
|
|
519
|
+
* @param request - The request {@link GetOrganizationScimRequest}
|
|
520
|
+
* @returns A Promise of Scim
|
|
521
|
+
*/
|
|
522
|
+
getOrganizationScim: (request?: Readonly<GetOrganizationScimRequest>) => Promise<Scim>;
|
|
523
|
+
/**
|
|
524
|
+
* Enable SCIM for an Organization.
|
|
525
|
+
*
|
|
526
|
+
* @param request - The request {@link EnableOrganizationScimRequest}
|
|
527
|
+
* @returns A Promise of Scim
|
|
528
|
+
*/
|
|
529
|
+
enableOrganizationScim: (request?: Readonly<EnableOrganizationScimRequest>) => Promise<Scim>;
|
|
530
|
+
/**
|
|
531
|
+
* Disable SCIM for an Organization.
|
|
532
|
+
*
|
|
533
|
+
* @param request - The request {@link DeleteScimRequest}
|
|
534
|
+
*/
|
|
535
|
+
deleteScim: (request: Readonly<DeleteScimRequest>) => Promise<void>;
|
|
536
|
+
protected pageOfListScimTokens: (request: Readonly<ListScimTokensRequest>) => Promise<ListScimTokensResponse>;
|
|
537
|
+
/**
|
|
538
|
+
* List SCIM tokens.
|
|
539
|
+
*
|
|
540
|
+
* @param request - The request {@link ListScimTokensRequest}
|
|
541
|
+
* @returns A Promise of ListScimTokensResponse
|
|
542
|
+
*/
|
|
543
|
+
listScimTokens: (request: Readonly<ListScimTokensRequest>) => Promise<ListScimTokensResponse> & {
|
|
544
|
+
all: () => Promise<import("./types.gen.js").ScimToken[]>;
|
|
545
|
+
[Symbol.asyncIterator]: () => AsyncGenerator<import("./types.gen.js").ScimToken[], void, void>;
|
|
546
|
+
};
|
|
547
|
+
/**
|
|
548
|
+
* Create a SCIM token.
|
|
549
|
+
*
|
|
550
|
+
* @param request - The request {@link CreateScimTokenRequest}
|
|
551
|
+
* @returns A Promise of CreateScimTokenResponse
|
|
552
|
+
*/
|
|
553
|
+
createScimToken: (request: Readonly<CreateScimTokenRequest>) => Promise<CreateScimTokenResponse>;
|
|
554
|
+
/**
|
|
555
|
+
* Delete a SCIM token.
|
|
556
|
+
*
|
|
557
|
+
* @param request - The request {@link DeleteScimTokenRequest}
|
|
558
|
+
*/
|
|
559
|
+
deleteScimToken: (request: Readonly<DeleteScimTokenRequest>) => Promise<void>;
|
|
516
560
|
}
|