123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156 |
- // Code generated by smithy-go-codegen DO NOT EDIT.
- package sts
- import (
- "context"
- awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
- "github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- "github.com/aws/smithy-go/middleware"
- smithyhttp "github.com/aws/smithy-go/transport/http"
- )
- // Returns details about the IAM user or role whose credentials are used to call
- // the operation. No permissions are required to perform this operation. If an
- // administrator adds a policy to your IAM user or role that explicitly denies
- // access to the sts:GetCallerIdentity action, you can still perform this
- // operation. Permissions are not required because the same information is returned
- // when an IAM user or role is denied access. To view an example response, see I Am
- // Not Authorized to Perform: iam:DeleteVirtualMFADevice
- // (https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_access-denied-delete-mfa)
- // in the IAM User Guide.
- func (c *Client) GetCallerIdentity(ctx context.Context, params *GetCallerIdentityInput, optFns ...func(*Options)) (*GetCallerIdentityOutput, error) {
- if params == nil {
- params = &GetCallerIdentityInput{}
- }
- result, metadata, err := c.invokeOperation(ctx, "GetCallerIdentity", params, optFns, c.addOperationGetCallerIdentityMiddlewares)
- if err != nil {
- return nil, err
- }
- out := result.(*GetCallerIdentityOutput)
- out.ResultMetadata = metadata
- return out, nil
- }
- type GetCallerIdentityInput struct {
- noSmithyDocumentSerde
- }
- // Contains the response to a successful GetCallerIdentity request, including
- // information about the entity making the request.
- type GetCallerIdentityOutput struct {
- // The Amazon Web Services account ID number of the account that owns or contains
- // the calling entity.
- Account *string
- // The Amazon Web Services ARN associated with the calling entity.
- Arn *string
- // The unique identifier of the calling entity. The exact value depends on the type
- // of entity that is making the call. The values returned are those listed in the
- // aws:userid column in the Principal table
- // (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_variables.html#principaltable)
- // found on the Policy Variables reference page in the IAM User Guide.
- UserId *string
- // Metadata pertaining to the operation's result.
- ResultMetadata middleware.Metadata
- noSmithyDocumentSerde
- }
- func (c *Client) addOperationGetCallerIdentityMiddlewares(stack *middleware.Stack, options Options) (err error) {
- err = stack.Serialize.Add(&awsAwsquery_serializeOpGetCallerIdentity{}, middleware.After)
- if err != nil {
- return err
- }
- err = stack.Deserialize.Add(&awsAwsquery_deserializeOpGetCallerIdentity{}, middleware.After)
- if err != nil {
- return err
- }
- if err = addSetLoggerMiddleware(stack, options); err != nil {
- return err
- }
- if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil {
- return err
- }
- if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil {
- return err
- }
- if err = addResolveEndpointMiddleware(stack, options); err != nil {
- return err
- }
- if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil {
- return err
- }
- if err = addRetryMiddlewares(stack, options); err != nil {
- return err
- }
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
- if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
- return err
- }
- if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil {
- return err
- }
- if err = addClientUserAgent(stack); err != nil {
- return err
- }
- if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil {
- return err
- }
- if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
- return err
- }
- if err = stack.Initialize.Add(newServiceMetadataMiddleware_opGetCallerIdentity(options.Region), middleware.Before); err != nil {
- return err
- }
- if err = addRequestIDRetrieverMiddleware(stack); err != nil {
- return err
- }
- if err = addResponseErrorMiddleware(stack); err != nil {
- return err
- }
- if err = addRequestResponseLogging(stack, options); err != nil {
- return err
- }
- return nil
- }
- func newServiceMetadataMiddleware_opGetCallerIdentity(region string) *awsmiddleware.RegisterServiceMetadata {
- return &awsmiddleware.RegisterServiceMetadata{
- Region: region,
- ServiceID: ServiceID,
- SigningName: "sts",
- OperationName: "GetCallerIdentity",
- }
- }
- // PresignGetCallerIdentity is used to generate a presigned HTTP Request which
- // contains presigned URL, signed headers and HTTP method used.
- func (c *PresignClient) PresignGetCallerIdentity(ctx context.Context, params *GetCallerIdentityInput, optFns ...func(*PresignOptions)) (*v4.PresignedHTTPRequest, error) {
- if params == nil {
- params = &GetCallerIdentityInput{}
- }
- options := c.options.copy()
- for _, fn := range optFns {
- fn(&options)
- }
- clientOptFns := append(options.ClientOptions, withNopHTTPClientAPIOption)
- result, _, err := c.client.invokeOperation(ctx, "GetCallerIdentity", params, clientOptFns,
- c.client.addOperationGetCallerIdentityMiddlewares,
- presignConverter(options).convertToPresignMiddleware,
- )
- if err != nil {
- return nil, err
- }
- out := result.(*v4.PresignedHTTPRequest)
- return out, nil
- }
|