1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185
|
// Code generated by smithy-go-codegen DO NOT EDIT.
package kendra
import (
"context"
"fmt"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
// Deletes a group so that all users and sub groups that belong to the group can
// no longer access documents only available to that group.
//
// For example, after deleting the group "Summer Interns", all interns who
// belonged to that group no longer see intern-only documents in their search
// results.
//
// If you want to delete or replace users or sub groups of a group, you need to
// use the PutPrincipalMapping operation. For example, if a user in the group
// "Engineering" leaves the engineering team and another user takes their place,
// you provide an updated list of users or sub groups that belong to the
// "Engineering" group when calling PutPrincipalMapping . You can update your
// internal list of users or sub groups and input this list when calling
// PutPrincipalMapping .
//
// DeletePrincipalMapping is currently not supported in the Amazon Web Services
// GovCloud (US-West) region.
func (c *Client) DeletePrincipalMapping(ctx context.Context, params *DeletePrincipalMappingInput, optFns ...func(*Options)) (*DeletePrincipalMappingOutput, error) {
if params == nil {
params = &DeletePrincipalMappingInput{}
}
result, metadata, err := c.invokeOperation(ctx, "DeletePrincipalMapping", params, optFns, c.addOperationDeletePrincipalMappingMiddlewares)
if err != nil {
return nil, err
}
out := result.(*DeletePrincipalMappingOutput)
out.ResultMetadata = metadata
return out, nil
}
type DeletePrincipalMappingInput struct {
// The identifier of the group you want to delete.
//
// This member is required.
GroupId *string
// The identifier of the index you want to delete a group from.
//
// This member is required.
IndexId *string
// The identifier of the data source you want to delete a group from.
//
// A group can be tied to multiple data sources. You can delete a group from
// accessing documents in a certain data source. For example, the groups
// "Research", "Engineering", and "Sales and Marketing" are all tied to the
// company's documents stored in the data sources Confluence and Salesforce. You
// want to delete "Research" and "Engineering" groups from Salesforce, so that
// these groups cannot access customer-related documents stored in Salesforce. Only
// "Sales and Marketing" should access documents in the Salesforce data source.
DataSourceId *string
// The timestamp identifier you specify to ensure Amazon Kendra does not override
// the latest DELETE action with previous actions. The highest number ID, which is
// the ordering ID, is the latest action you want to process and apply on top of
// other actions with lower number IDs. This prevents previous actions with lower
// number IDs from possibly overriding the latest action.
//
// The ordering ID can be the Unix time of the last update you made to a group
// members list. You would then provide this list when calling PutPrincipalMapping
// . This ensures your DELETE action for that updated group with the latest
// members list doesn't get overwritten by earlier DELETE actions for the same
// group which are yet to be processed.
//
// The default ordering ID is the current Unix time in milliseconds that the
// action was received by Amazon Kendra.
OrderingId *int64
noSmithyDocumentSerde
}
type DeletePrincipalMappingOutput struct {
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
noSmithyDocumentSerde
}
func (c *Client) addOperationDeletePrincipalMappingMiddlewares(stack *middleware.Stack, options Options) (err error) {
if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
return err
}
err = stack.Serialize.Add(&awsAwsjson11_serializeOpDeletePrincipalMapping{}, middleware.After)
if err != nil {
return err
}
err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpDeletePrincipalMapping{}, middleware.After)
if err != nil {
return err
}
if err := addProtocolFinalizerMiddlewares(stack, options, "DeletePrincipalMapping"); err != nil {
return fmt.Errorf("add protocol finalizers: %v", err)
}
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
if err = addSetLoggerMiddleware(stack, options); err != nil {
return err
}
if err = addClientRequestID(stack); err != nil {
return err
}
if err = addComputeContentLength(stack); err != nil {
return err
}
if err = addResolveEndpointMiddleware(stack, options); err != nil {
return err
}
if err = addComputePayloadSHA256(stack); err != nil {
return err
}
if err = addRetry(stack, options); err != nil {
return err
}
if err = addRawResponseToMetadata(stack); err != nil {
return err
}
if err = addRecordResponseTiming(stack); err != nil {
return err
}
if err = addClientUserAgent(stack, options); err != nil {
return err
}
if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil {
return err
}
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
if err = addTimeOffsetBuild(stack, c); err != nil {
return err
}
if err = addUserAgentRetryMode(stack, options); err != nil {
return err
}
if err = addOpDeletePrincipalMappingValidationMiddleware(stack); err != nil {
return err
}
if err = stack.Initialize.Add(newServiceMetadataMiddleware_opDeletePrincipalMapping(options.Region), middleware.Before); err != nil {
return err
}
if err = addRecursionDetection(stack); err != nil {
return err
}
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
}
if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
return nil
}
func newServiceMetadataMiddleware_opDeletePrincipalMapping(region string) *awsmiddleware.RegisterServiceMetadata {
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
OperationName: "DeletePrincipalMapping",
}
}
|