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
|
// 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/aws-sdk-go-v2/aws/signer/v4"
"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 = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil {
return err
}
if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil {
return err
}
if err = addResolveEndpointMiddleware(stack, options); err != nil {
return err
}
if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil {
return err
}
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
if err = awsmiddleware.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 = addOpDeletePrincipalMappingValidationMiddleware(stack); err != nil {
return err
}
if err = stack.Initialize.Add(newServiceMetadataMiddleware_opDeletePrincipalMapping(options.Region), middleware.Before); err != nil {
return err
}
if err = awsmiddleware.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",
}
}
|