1// Code generated by smithy-go-codegen DO NOT EDIT. 2 3package quicksight 4 5import ( 6 "context" 7 awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" 8 "github.com/aws/aws-sdk-go-v2/aws/signer/v4" 9 "github.com/aws/aws-sdk-go-v2/service/quicksight/types" 10 "github.com/aws/smithy-go/middleware" 11 smithyhttp "github.com/aws/smithy-go/transport/http" 12) 13 14// Updates an Amazon QuickSight user. 15func (c *Client) UpdateUser(ctx context.Context, params *UpdateUserInput, optFns ...func(*Options)) (*UpdateUserOutput, error) { 16 if params == nil { 17 params = &UpdateUserInput{} 18 } 19 20 result, metadata, err := c.invokeOperation(ctx, "UpdateUser", params, optFns, addOperationUpdateUserMiddlewares) 21 if err != nil { 22 return nil, err 23 } 24 25 out := result.(*UpdateUserOutput) 26 out.ResultMetadata = metadata 27 return out, nil 28} 29 30type UpdateUserInput struct { 31 32 // The ID for the AWS account that the user is in. Currently, you use the ID for 33 // the AWS account that contains your Amazon QuickSight account. 34 // 35 // This member is required. 36 AwsAccountId *string 37 38 // The email address of the user that you want to update. 39 // 40 // This member is required. 41 Email *string 42 43 // The namespace. Currently, you should set this to default. 44 // 45 // This member is required. 46 Namespace *string 47 48 // The Amazon QuickSight role of the user. The role can be one of the following 49 // default security cohorts: 50 // 51 // * READER: A user who has read-only access to 52 // dashboards. 53 // 54 // * AUTHOR: A user who can create data sources, datasets, analyses, 55 // and dashboards. 56 // 57 // * ADMIN: A user who is an author, who can also manage Amazon 58 // QuickSight settings. 59 // 60 // The name of the QuickSight role is invisible to the user 61 // except for the console screens dealing with permissions. 62 // 63 // This member is required. 64 Role types.UserRole 65 66 // The Amazon QuickSight user name that you want to update. 67 // 68 // This member is required. 69 UserName *string 70 71 // (Enterprise edition only) The name of the custom permissions profile that you 72 // want to assign to this user. Customized permissions allows you to control a 73 // user's access by restricting access the following operations: 74 // 75 // * Create and 76 // update data sources 77 // 78 // * Create and update datasets 79 // 80 // * Create and update email 81 // reports 82 // 83 // * Subscribe to email reports 84 // 85 // A set of custom permissions includes any 86 // combination of these restrictions. Currently, you need to create the profile 87 // names for custom permission sets by using the QuickSight console. Then, you use 88 // the RegisterUser API operation to assign the named set of permissions to a 89 // QuickSight user. QuickSight custom permissions are applied through IAM policies. 90 // Therefore, they override the permissions typically granted by assigning 91 // QuickSight users to one of the default security cohorts in QuickSight (admin, 92 // author, reader). This feature is available only to QuickSight Enterprise edition 93 // subscriptions that use SAML 2.0-Based Federation for Single Sign-On (SSO). 94 CustomPermissionsName *string 95 96 // A flag that you use to indicate that you want to remove all custom permissions 97 // from this user. Using this parameter resets the user to the state it was in 98 // before a custom permissions profile was applied. This parameter defaults to NULL 99 // and it doesn't accept any other value. 100 UnapplyCustomPermissions bool 101} 102 103type UpdateUserOutput struct { 104 105 // The AWS request ID for this operation. 106 RequestId *string 107 108 // The HTTP status of the request. 109 Status int32 110 111 // The Amazon QuickSight user. 112 User *types.User 113 114 // Metadata pertaining to the operation's result. 115 ResultMetadata middleware.Metadata 116} 117 118func addOperationUpdateUserMiddlewares(stack *middleware.Stack, options Options) (err error) { 119 err = stack.Serialize.Add(&awsRestjson1_serializeOpUpdateUser{}, middleware.After) 120 if err != nil { 121 return err 122 } 123 err = stack.Deserialize.Add(&awsRestjson1_deserializeOpUpdateUser{}, middleware.After) 124 if err != nil { 125 return err 126 } 127 if err = addSetLoggerMiddleware(stack, options); err != nil { 128 return err 129 } 130 if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { 131 return err 132 } 133 if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { 134 return err 135 } 136 if err = addResolveEndpointMiddleware(stack, options); err != nil { 137 return err 138 } 139 if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { 140 return err 141 } 142 if err = addRetryMiddlewares(stack, options); err != nil { 143 return err 144 } 145 if err = addHTTPSignerV4Middleware(stack, options); err != nil { 146 return err 147 } 148 if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { 149 return err 150 } 151 if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { 152 return err 153 } 154 if err = addClientUserAgent(stack); err != nil { 155 return err 156 } 157 if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { 158 return err 159 } 160 if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { 161 return err 162 } 163 if err = addOpUpdateUserValidationMiddleware(stack); err != nil { 164 return err 165 } 166 if err = stack.Initialize.Add(newServiceMetadataMiddleware_opUpdateUser(options.Region), middleware.Before); err != nil { 167 return err 168 } 169 if err = addRequestIDRetrieverMiddleware(stack); err != nil { 170 return err 171 } 172 if err = addResponseErrorMiddleware(stack); err != nil { 173 return err 174 } 175 if err = addRequestResponseLogging(stack, options); err != nil { 176 return err 177 } 178 return nil 179} 180 181func newServiceMetadataMiddleware_opUpdateUser(region string) *awsmiddleware.RegisterServiceMetadata { 182 return &awsmiddleware.RegisterServiceMetadata{ 183 Region: region, 184 ServiceID: ServiceID, 185 SigningName: "quicksight", 186 OperationName: "UpdateUser", 187 } 188} 189