api_op_RegisterClient.go (4719B)
1 // Code generated by smithy-go-codegen DO NOT EDIT. 2 3 package ssooidc 4 5 import ( 6 "context" 7 "fmt" 8 awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" 9 "github.com/aws/smithy-go/middleware" 10 smithyhttp "github.com/aws/smithy-go/transport/http" 11 ) 12 13 // Registers a client with IAM Identity Center. This allows clients to initiate 14 // device authorization. The output should be persisted for reuse through many 15 // authentication requests. 16 func (c *Client) RegisterClient(ctx context.Context, params *RegisterClientInput, optFns ...func(*Options)) (*RegisterClientOutput, error) { 17 if params == nil { 18 params = &RegisterClientInput{} 19 } 20 21 result, metadata, err := c.invokeOperation(ctx, "RegisterClient", params, optFns, c.addOperationRegisterClientMiddlewares) 22 if err != nil { 23 return nil, err 24 } 25 26 out := result.(*RegisterClientOutput) 27 out.ResultMetadata = metadata 28 return out, nil 29 } 30 31 type RegisterClientInput struct { 32 33 // The friendly name of the client. 34 // 35 // This member is required. 36 ClientName *string 37 38 // The type of client. The service supports only public as a client type. Anything 39 // other than public will be rejected by the service. 40 // 41 // This member is required. 42 ClientType *string 43 44 // The list of scopes that are defined by the client. Upon authorization, this 45 // list is used to restrict permissions when granting an access token. 46 Scopes []string 47 48 noSmithyDocumentSerde 49 } 50 51 type RegisterClientOutput struct { 52 53 // An endpoint that the client can use to request authorization. 54 AuthorizationEndpoint *string 55 56 // The unique identifier string for each client. This client uses this identifier 57 // to get authenticated by the service in subsequent calls. 58 ClientId *string 59 60 // Indicates the time at which the clientId and clientSecret were issued. 61 ClientIdIssuedAt int64 62 63 // A secret string generated for the client. The client will use this string to 64 // get authenticated by the service in subsequent calls. 65 ClientSecret *string 66 67 // Indicates the time at which the clientId and clientSecret will become invalid. 68 ClientSecretExpiresAt int64 69 70 // An endpoint that the client can use to create tokens. 71 TokenEndpoint *string 72 73 // Metadata pertaining to the operation's result. 74 ResultMetadata middleware.Metadata 75 76 noSmithyDocumentSerde 77 } 78 79 func (c *Client) addOperationRegisterClientMiddlewares(stack *middleware.Stack, options Options) (err error) { 80 if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { 81 return err 82 } 83 err = stack.Serialize.Add(&awsRestjson1_serializeOpRegisterClient{}, middleware.After) 84 if err != nil { 85 return err 86 } 87 err = stack.Deserialize.Add(&awsRestjson1_deserializeOpRegisterClient{}, middleware.After) 88 if err != nil { 89 return err 90 } 91 if err := addProtocolFinalizerMiddlewares(stack, options, "RegisterClient"); err != nil { 92 return fmt.Errorf("add protocol finalizers: %v", err) 93 } 94 95 if err = addlegacyEndpointContextSetter(stack, options); err != nil { 96 return err 97 } 98 if err = addSetLoggerMiddleware(stack, options); err != nil { 99 return err 100 } 101 if err = addClientRequestID(stack); err != nil { 102 return err 103 } 104 if err = addComputeContentLength(stack); err != nil { 105 return err 106 } 107 if err = addResolveEndpointMiddleware(stack, options); err != nil { 108 return err 109 } 110 if err = addRetry(stack, options); err != nil { 111 return err 112 } 113 if err = addRawResponseToMetadata(stack); err != nil { 114 return err 115 } 116 if err = addRecordResponseTiming(stack); err != nil { 117 return err 118 } 119 if err = addClientUserAgent(stack, options); err != nil { 120 return err 121 } 122 if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { 123 return err 124 } 125 if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { 126 return err 127 } 128 if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { 129 return err 130 } 131 if err = addOpRegisterClientValidationMiddleware(stack); err != nil { 132 return err 133 } 134 if err = stack.Initialize.Add(newServiceMetadataMiddleware_opRegisterClient(options.Region), middleware.Before); err != nil { 135 return err 136 } 137 if err = addRecursionDetection(stack); err != nil { 138 return err 139 } 140 if err = addRequestIDRetrieverMiddleware(stack); err != nil { 141 return err 142 } 143 if err = addResponseErrorMiddleware(stack); err != nil { 144 return err 145 } 146 if err = addRequestResponseLogging(stack, options); err != nil { 147 return err 148 } 149 if err = addDisableHTTPSMiddleware(stack, options); err != nil { 150 return err 151 } 152 return nil 153 } 154 155 func newServiceMetadataMiddleware_opRegisterClient(region string) *awsmiddleware.RegisterServiceMetadata { 156 return &awsmiddleware.RegisterServiceMetadata{ 157 Region: region, 158 ServiceID: ServiceID, 159 OperationName: "RegisterClient", 160 } 161 }