1// Code generated by smithy-go-codegen DO NOT EDIT.
  2
  3package sso
  4
  5import (
  6	"context"
  7	"fmt"
  8	awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
  9	"github.com/aws/aws-sdk-go-v2/service/sso/types"
 10	"github.com/aws/smithy-go/middleware"
 11	smithyhttp "github.com/aws/smithy-go/transport/http"
 12)
 13
 14// Returns the STS short-term credentials for a given role name that is assigned
 15// to the user.
 16func (c *Client) GetRoleCredentials(ctx context.Context, params *GetRoleCredentialsInput, optFns ...func(*Options)) (*GetRoleCredentialsOutput, error) {
 17	if params == nil {
 18		params = &GetRoleCredentialsInput{}
 19	}
 20
 21	result, metadata, err := c.invokeOperation(ctx, "GetRoleCredentials", params, optFns, c.addOperationGetRoleCredentialsMiddlewares)
 22	if err != nil {
 23		return nil, err
 24	}
 25
 26	out := result.(*GetRoleCredentialsOutput)
 27	out.ResultMetadata = metadata
 28	return out, nil
 29}
 30
 31type GetRoleCredentialsInput struct {
 32
 33	// The token issued by the CreateToken API call. For more information, see [CreateToken] in the
 34	// IAM Identity Center OIDC API Reference Guide.
 35	//
 36	// [CreateToken]: https://docs.aws.amazon.com/singlesignon/latest/OIDCAPIReference/API_CreateToken.html
 37	//
 38	// This member is required.
 39	AccessToken *string
 40
 41	// The identifier for the AWS account that is assigned to the user.
 42	//
 43	// This member is required.
 44	AccountId *string
 45
 46	// The friendly name of the role that is assigned to the user.
 47	//
 48	// This member is required.
 49	RoleName *string
 50
 51	noSmithyDocumentSerde
 52}
 53
 54type GetRoleCredentialsOutput struct {
 55
 56	// The credentials for the role that is assigned to the user.
 57	RoleCredentials *types.RoleCredentials
 58
 59	// Metadata pertaining to the operation's result.
 60	ResultMetadata middleware.Metadata
 61
 62	noSmithyDocumentSerde
 63}
 64
 65func (c *Client) addOperationGetRoleCredentialsMiddlewares(stack *middleware.Stack, options Options) (err error) {
 66	if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
 67		return err
 68	}
 69	err = stack.Serialize.Add(&awsRestjson1_serializeOpGetRoleCredentials{}, middleware.After)
 70	if err != nil {
 71		return err
 72	}
 73	err = stack.Deserialize.Add(&awsRestjson1_deserializeOpGetRoleCredentials{}, middleware.After)
 74	if err != nil {
 75		return err
 76	}
 77	if err := addProtocolFinalizerMiddlewares(stack, options, "GetRoleCredentials"); err != nil {
 78		return fmt.Errorf("add protocol finalizers: %v", err)
 79	}
 80
 81	if err = addlegacyEndpointContextSetter(stack, options); err != nil {
 82		return err
 83	}
 84	if err = addSetLoggerMiddleware(stack, options); err != nil {
 85		return err
 86	}
 87	if err = addClientRequestID(stack); err != nil {
 88		return err
 89	}
 90	if err = addComputeContentLength(stack); err != nil {
 91		return err
 92	}
 93	if err = addResolveEndpointMiddleware(stack, options); err != nil {
 94		return err
 95	}
 96	if err = addRetry(stack, options); err != nil {
 97		return err
 98	}
 99	if err = addRawResponseToMetadata(stack); err != nil {
100		return err
101	}
102	if err = addRecordResponseTiming(stack); err != nil {
103		return err
104	}
105	if err = addClientUserAgent(stack, options); err != nil {
106		return err
107	}
108	if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil {
109		return err
110	}
111	if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
112		return err
113	}
114	if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
115		return err
116	}
117	if err = addTimeOffsetBuild(stack, c); err != nil {
118		return err
119	}
120	if err = addUserAgentRetryMode(stack, options); err != nil {
121		return err
122	}
123	if err = addOpGetRoleCredentialsValidationMiddleware(stack); err != nil {
124		return err
125	}
126	if err = stack.Initialize.Add(newServiceMetadataMiddleware_opGetRoleCredentials(options.Region), middleware.Before); err != nil {
127		return err
128	}
129	if err = addRecursionDetection(stack); err != nil {
130		return err
131	}
132	if err = addRequestIDRetrieverMiddleware(stack); err != nil {
133		return err
134	}
135	if err = addResponseErrorMiddleware(stack); err != nil {
136		return err
137	}
138	if err = addRequestResponseLogging(stack, options); err != nil {
139		return err
140	}
141	if err = addDisableHTTPSMiddleware(stack, options); err != nil {
142		return err
143	}
144	return nil
145}
146
147func newServiceMetadataMiddleware_opGetRoleCredentials(region string) *awsmiddleware.RegisterServiceMetadata {
148	return &awsmiddleware.RegisterServiceMetadata{
149		Region:        region,
150		ServiceID:     ServiceID,
151		OperationName: "GetRoleCredentials",
152	}
153}