...

Source file src/github.com/aws/aws-sdk-go-v2/credentials/ec2rolecreds/doc.go

Documentation: github.com/aws/aws-sdk-go-v2/credentials/ec2rolecreds

     1  // Package ec2rolecreds provides the credentials provider implementation for
     2  // retrieving AWS credentials from Amazon EC2 Instance Roles via Amazon EC2 IMDS.
     3  //
     4  // # Concurrency and caching
     5  //
     6  // The Provider is not safe to be used concurrently, and does not provide any
     7  // caching of credentials retrieved. You should wrap the Provider with a
     8  // `aws.CredentialsCache` to provide concurrency safety, and caching of
     9  // credentials.
    10  //
    11  // # Loading credentials with the SDK's AWS Config
    12  //
    13  // The EC2 Instance role credentials provider will automatically be the resolved
    14  // credential provider in the credential chain if no other credential provider is
    15  // resolved first.
    16  //
    17  // To explicitly instruct the SDK's credentials resolving to use the EC2 Instance
    18  // role for credentials, you specify a `credentials_source` property in the config
    19  // profile the SDK will load.
    20  //
    21  //	[default]
    22  //	credential_source = Ec2InstanceMetadata
    23  //
    24  // # Loading credentials with the Provider directly
    25  //
    26  // Another way to use the EC2 Instance role credentials provider is to create it
    27  // directly and assign it as the credentials provider for an API client.
    28  //
    29  // The following example creates a credentials provider for a command, and wraps
    30  // it with the CredentialsCache before assigning the provider to the Amazon S3 API
    31  // client's Credentials option.
    32  //
    33  //	provider := imds.New(imds.Options{})
    34  //
    35  //	// Create the service client value configured for credentials.
    36  //	svc := s3.New(s3.Options{
    37  //	  Credentials: aws.NewCredentialsCache(provider),
    38  //	})
    39  //
    40  // If you need more control, you can set the configuration options on the
    41  // credentials provider using the imds.Options type to configure the EC2 IMDS
    42  // API Client and ExpiryWindow of the retrieved credentials.
    43  //
    44  //	provider := imds.New(imds.Options{
    45  //		// See imds.Options type's documentation for more options available.
    46  //		Client: imds.New(Options{
    47  //			HTTPClient: customHTTPClient,
    48  //		}),
    49  //
    50  //		// Modify how soon credentials expire prior to their original expiry time.
    51  //		ExpiryWindow: 5 * time.Minute,
    52  //	})
    53  //
    54  // # EC2 IMDS API Client
    55  //
    56  // See the github.com/aws/aws-sdk-go-v2/feature/ec2/imds module for more details on
    57  // configuring the client, and options available.
    58  package ec2rolecreds
    59  

View as plain text