@aws-sdk/client-iam-node v0.1.0-preview.2
@aws-sdk/client-iam-node
Description
AWS Identity and Access Management AWS Identity and Access Management (IAM) is a web service that you can use to manage users and user permissions under your AWS account. This guide provides descriptions of IAM actions that you can call programmatically. For general information about IAM, see AWS Identity and Access Management (IAM). For the user guide for IAM, see Using IAM. AWS provides SDKs that consist of libraries and sample code for various programming languages and platforms (Java, Ruby, .NET, iOS, Android, etc.). The SDKs provide a convenient way to create programmatic access to IAM and AWS. For example, the SDKs take care of tasks such as cryptographically signing requests (see below), managing errors, and retrying requests automatically. For information about the AWS SDKs, including how to download and install them, see the Tools for Amazon Web Services page. We recommend that you use the AWS SDKs to make programmatic API calls to IAM. However, you can also use the IAM Query API to make direct calls to the IAM web service. To learn more about the IAM Query API, see Making Query Requests in the Using IAM guide. IAM supports GET and POST requests for all actions. That is, the API does not require you to use GET for some actions and POST for others. However, GET requests are subject to the limitation size of a URL. Therefore, for operations that require larger sizes, use a POST request. Signing Requests Requests must be signed using an access key ID and a secret access key. We strongly recommend that you do not use your AWS account access key ID and secret access key for everyday work with IAM. You can use the access key ID and secret access key for an IAM user or you can use the AWS Security Token Service to generate temporary security credentials and use those to sign requests. To sign requests, we recommend that you use Signature Version 4. If you have an existing application that uses Signature Version 2, you do not have to update it to use Signature Version 4. However, some operations now require Signature Version 4. The documentation for operations that require version 4 indicate this requirement. Additional Resources For more information, see the following: AWS Security Credentials. This topic provides general information about the types of credentials used for accessing AWS. IAM Best Practices. This topic presents a list of suggestions for using the IAM service to help secure your AWS resources. Signing AWS API Requests. This set of topics walk you through the process of signing a request using an access key ID and secret access key.
Installing
To install the this package using NPM, simply type the following into a terminal window:
npm install @aws-sdk/client-iam-node
Getting Started
Import
The AWS SDK is modulized by clients and commands in CommonJS modules. To send a request, you only need to import the client(IAMClient
) and the commands you need, for example AddClientIDToOpenIDConnectProviderCommand
:
//JavaScript
const { IAMClient } = require("@aws-sdk/client-iam-node/IAMClient");
const {
AddClientIDToOpenIDConnectProviderCommand
} = require("@aws-sdk/client-iam-node/commands/AddClientIDToOpenIDConnectProviderCommand");
//TypeScript
import { IAMClient } from "@aws-sdk/client-iam-node/IAMClient";
import { AddClientIDToOpenIDConnectProviderCommand } from "@aws-sdk/client-iam-node/commands/AddClientIDToOpenIDConnectProviderCommand";
Usage
To send a request, you:
- Initiate client with configuration (e.g. credentials, region). For more information you can refer to the API reference.
- Initiate command with input parameters.
- Call
send
operation on client with command object as input. - If you are using a custom http handler, you may call
destroy()
to close open connections.
const iAM = new IAMClient({region: 'region'});
//clients can be shared by different commands
const params = {
OpenIDConnectProviderArn: /**a string value*/,
ClientID: /**a string value*/,
};
const addClientIDToOpenIDConnectProviderCommand = new AddClientIDToOpenIDConnectProviderCommand(params);
iAM.send(addClientIDToOpenIDConnectProviderCommand).then(data => {
// do something
}).catch(error => {
// error handling
})
In addition to using promises, there are 2 other ways to send a request:
// async/await
try {
const data = await iAM.send(addClientIDToOpenIDConnectProviderCommand);
// do something
} catch (error) {
// error handling
}
// callback
iAM.send(addClientIDToOpenIDConnectProviderCommand, (err, data) => {
//do something
});
The SDK can also send requests using the simplified callback style from version 2 of the SDK.
import * as AWS from "@aws-sdk/@aws-sdk/client-iam-node/IAM";
const iAM = new AWS.IAM({ region: "region" });
iAM.addClientIDToOpenIDConnectProvider(params, (err, data) => {
//do something
});
Troubleshooting
When the service returns an exception, the error will include the exception information, as well as response metadata (e.g. request id).
try {
const data = await iAM.send(addClientIDToOpenIDConnectProviderCommand);
// do something
} catch (error) {
const metadata = error.$metadata;
console.log(
`requestId: ${metadata.requestId}
cfId: ${metadata.cfId}
extendedRequestId: ${metadata.extendedRequestId}`
);
/*
The keys within exceptions are also parsed. You can access them by specifying exception names:
if(error.name === 'SomeServiceException') {
const value = error.specialKeyInException;
}
*/
}
Getting Help
Please use these community resources for getting help. We use the GitHub issues for tracking bugs and feature requests and have limited bandwidth to address them.
- Ask a question on StackOverflow and tag it with
aws-sdk-js
- Come join the AWS JavaScript community on gitter
- If it turns out that you may have found a bug, please open an issue
Contributing
This client code is generated automatically. Any modifications will be overwritten the next time the `@aws-sdk/@aws-sdk/client-iam-node' package is updated. To contribute to SDK you can checkout our code generator package.
License
This SDK is distributed under the Apache License, Version 2.0, see LICENSE for more information.
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago