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 the resource permissions for a theme. Permissions apply to the action to 15// grant or revoke permissions on, for example "quicksight:DescribeTheme". Theme 16// permissions apply in groupings. Valid groupings include the following for the 17// three levels of permissions, which are user, owner, or no permissions: 18// 19// * 20// User 21// 22// * "quicksight:DescribeTheme" 23// 24// * "quicksight:DescribeThemeAlias" 25// 26// * 27// "quicksight:ListThemeAliases" 28// 29// * "quicksight:ListThemeVersions" 30// 31// * Owner 32// 33// * 34// "quicksight:DescribeTheme" 35// 36// * "quicksight:DescribeThemeAlias" 37// 38// * 39// "quicksight:ListThemeAliases" 40// 41// * "quicksight:ListThemeVersions" 42// 43// * 44// "quicksight:DeleteTheme" 45// 46// * "quicksight:UpdateTheme" 47// 48// * 49// "quicksight:CreateThemeAlias" 50// 51// * "quicksight:DeleteThemeAlias" 52// 53// * 54// "quicksight:UpdateThemeAlias" 55// 56// * "quicksight:UpdateThemePermissions" 57// 58// * 59// "quicksight:DescribeThemePermissions" 60// 61// * To specify no permissions, omit the 62// permissions list. 63func (c *Client) UpdateThemePermissions(ctx context.Context, params *UpdateThemePermissionsInput, optFns ...func(*Options)) (*UpdateThemePermissionsOutput, error) { 64 if params == nil { 65 params = &UpdateThemePermissionsInput{} 66 } 67 68 result, metadata, err := c.invokeOperation(ctx, "UpdateThemePermissions", params, optFns, addOperationUpdateThemePermissionsMiddlewares) 69 if err != nil { 70 return nil, err 71 } 72 73 out := result.(*UpdateThemePermissionsOutput) 74 out.ResultMetadata = metadata 75 return out, nil 76} 77 78type UpdateThemePermissionsInput struct { 79 80 // The ID of the AWS account that contains the theme. 81 // 82 // This member is required. 83 AwsAccountId *string 84 85 // The ID for the theme. 86 // 87 // This member is required. 88 ThemeId *string 89 90 // A list of resource permissions to be granted for the theme. 91 GrantPermissions []types.ResourcePermission 92 93 // A list of resource permissions to be revoked from the theme. 94 RevokePermissions []types.ResourcePermission 95} 96 97type UpdateThemePermissionsOutput struct { 98 99 // The resulting list of resource permissions for the theme. 100 Permissions []types.ResourcePermission 101 102 // The AWS request ID for this operation. 103 RequestId *string 104 105 // The HTTP status of the request. 106 Status int32 107 108 // The Amazon Resource Name (ARN) of the theme. 109 ThemeArn *string 110 111 // The ID for the theme. 112 ThemeId *string 113 114 // Metadata pertaining to the operation's result. 115 ResultMetadata middleware.Metadata 116} 117 118func addOperationUpdateThemePermissionsMiddlewares(stack *middleware.Stack, options Options) (err error) { 119 err = stack.Serialize.Add(&awsRestjson1_serializeOpUpdateThemePermissions{}, middleware.After) 120 if err != nil { 121 return err 122 } 123 err = stack.Deserialize.Add(&awsRestjson1_deserializeOpUpdateThemePermissions{}, 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 = addOpUpdateThemePermissionsValidationMiddleware(stack); err != nil { 164 return err 165 } 166 if err = stack.Initialize.Add(newServiceMetadataMiddleware_opUpdateThemePermissions(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_opUpdateThemePermissions(region string) *awsmiddleware.RegisterServiceMetadata { 182 return &awsmiddleware.RegisterServiceMetadata{ 183 Region: region, 184 ServiceID: ServiceID, 185 SigningName: "quicksight", 186 OperationName: "UpdateThemePermissions", 187 } 188} 189