2022-03-02 10:30:48 +00:00
|
|
|
// Code generated by smithy-go-codegen DO NOT EDIT.
|
|
|
|
|
|
|
|
package sts
|
|
|
|
|
|
|
|
import (
|
|
|
|
"context"
|
2023-08-01 12:43:19 +00:00
|
|
|
"fmt"
|
2022-03-02 10:30:48 +00:00
|
|
|
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
|
2023-05-09 13:09:18 +00:00
|
|
|
// administrator attaches a policy to your identity 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
|
|
|
|
// access is denied. 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)
|
2022-03-02 10:30:48 +00:00
|
|
|
// 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
|
|
|
|
|
2023-05-01 20:59:21 +00:00
|
|
|
// 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)
|
2022-03-02 10:30:48 +00:00
|
|
|
// 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) {
|
2023-11-20 20:28:57 +00:00
|
|
|
if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
|
|
|
|
return err
|
|
|
|
}
|
2022-03-02 10:30:48 +00:00
|
|
|
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
|
|
|
|
}
|
2023-11-20 20:28:57 +00:00
|
|
|
if err := addProtocolFinalizerMiddlewares(stack, options, "GetCallerIdentity"); err != nil {
|
|
|
|
return fmt.Errorf("add protocol finalizers: %v", err)
|
|
|
|
}
|
|
|
|
|
2023-08-01 12:43:19 +00:00
|
|
|
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
|
|
|
|
return err
|
|
|
|
}
|
2022-03-02 10:30:48 +00:00
|
|
|
if err = addSetLoggerMiddleware(stack, options); err != nil {
|
|
|
|
return err
|
|
|
|
}
|
2024-02-26 20:50:16 +00:00
|
|
|
if err = addClientRequestID(stack); err != nil {
|
2022-03-02 10:30:48 +00:00
|
|
|
return err
|
|
|
|
}
|
2024-02-26 20:50:16 +00:00
|
|
|
if err = addComputeContentLength(stack); err != nil {
|
2022-03-02 10:30:48 +00:00
|
|
|
return err
|
|
|
|
}
|
|
|
|
if err = addResolveEndpointMiddleware(stack, options); err != nil {
|
|
|
|
return err
|
|
|
|
}
|
2024-02-26 20:50:16 +00:00
|
|
|
if err = addComputePayloadSHA256(stack); err != nil {
|
2022-03-02 10:30:48 +00:00
|
|
|
return err
|
|
|
|
}
|
2024-02-26 20:50:16 +00:00
|
|
|
if err = addRetry(stack, options); err != nil {
|
2022-03-02 10:30:48 +00:00
|
|
|
return err
|
|
|
|
}
|
2024-02-26 20:50:16 +00:00
|
|
|
if err = addRawResponseToMetadata(stack); err != nil {
|
2022-03-02 10:30:48 +00:00
|
|
|
return err
|
|
|
|
}
|
2024-02-26 20:50:16 +00:00
|
|
|
if err = addRecordResponseTiming(stack); err != nil {
|
2022-03-02 10:30:48 +00:00
|
|
|
return err
|
|
|
|
}
|
2023-07-18 07:48:48 +00:00
|
|
|
if err = addClientUserAgent(stack, options); err != nil {
|
2022-03-02 10:30:48 +00:00
|
|
|
return err
|
|
|
|
}
|
|
|
|
if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil {
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
|
|
|
|
return err
|
|
|
|
}
|
2023-11-20 20:28:57 +00:00
|
|
|
if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
|
2023-08-01 12:43:19 +00:00
|
|
|
return err
|
|
|
|
}
|
2022-03-02 10:30:48 +00:00
|
|
|
if err = stack.Initialize.Add(newServiceMetadataMiddleware_opGetCallerIdentity(options.Region), middleware.Before); err != nil {
|
|
|
|
return err
|
|
|
|
}
|
2024-02-26 20:50:16 +00:00
|
|
|
if err = addRecursionDetection(stack); err != nil {
|
2023-05-01 20:59:21 +00:00
|
|
|
return err
|
|
|
|
}
|
2022-03-02 10:30:48 +00:00
|
|
|
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
|
|
|
|
}
|
2023-11-20 20:28:57 +00:00
|
|
|
if err = addDisableHTTPSMiddleware(stack, options); err != nil {
|
2023-08-01 12:43:19 +00:00
|
|
|
return err
|
|
|
|
}
|
2022-03-02 10:30:48 +00:00
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
|
|
|
func newServiceMetadataMiddleware_opGetCallerIdentity(region string) *awsmiddleware.RegisterServiceMetadata {
|
|
|
|
return &awsmiddleware.RegisterServiceMetadata{
|
|
|
|
Region: region,
|
|
|
|
ServiceID: ServiceID,
|
|
|
|
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
|
|
|
|
}
|