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 186 187 188 189 190 191 192 193 194 195 196
|
// Code generated by smithy-go-codegen DO NOT EDIT.
package auditmanager
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"
)
// Removes the specified Amazon Web Services account as a delegated administrator
// for Audit Manager.
//
// When you remove a delegated administrator from your Audit Manager settings, you
// continue to have access to the evidence that you previously collected under that
// account. This is also the case when you deregister a delegated administrator
// from Organizations. However, Audit Manager stops collecting and attaching
// evidence to that delegated administrator account moving forward.
//
// Keep in mind the following cleanup task if you use evidence finder:
//
// Before you use your management account to remove a delegated administrator,
// make sure that the current delegated administrator account signs in to Audit
// Manager and disables evidence finder first. Disabling evidence finder
// automatically deletes the event data store that was created in their account
// when they enabled evidence finder. If this task isn’t completed, the event data
// store remains in their account. In this case, we recommend that the original
// delegated administrator goes to CloudTrail Lake and manually [deletes the event data store].
//
// This cleanup task is necessary to ensure that you don't end up with multiple
// event data stores. Audit Manager ignores an unused event data store after you
// remove or change a delegated administrator account. However, the unused event
// data store continues to incur storage costs from CloudTrail Lake if you don't
// delete it.
//
// When you deregister a delegated administrator account for Audit Manager, the
// data for that account isn’t deleted. If you want to delete resource data for a
// delegated administrator account, you must perform that task separately before
// you deregister the account. Either, you can do this in the Audit Manager
// console. Or, you can use one of the delete API operations that are provided by
// Audit Manager.
//
// To delete your Audit Manager resource data, see the following instructions:
//
// [DeleteAssessment]
// - (see also: [Deleting an assessment]in the Audit Manager User Guide)
//
// [DeleteAssessmentFramework]
// - (see also: [Deleting a custom framework]in the Audit Manager User Guide)
//
// [DeleteAssessmentFrameworkShare]
// - (see also: [Deleting a share request]in the Audit Manager User Guide)
//
// [DeleteAssessmentReport]
// - (see also: [Deleting an assessment report]in the Audit Manager User Guide)
//
// [DeleteControl]
// - (see also: [Deleting a custom control]in the Audit Manager User Guide)
//
// At this time, Audit Manager doesn't provide an option to delete evidence for a
// specific delegated administrator. Instead, when your management account
// deregisters Audit Manager, we perform a cleanup for the current delegated
// administrator account at the time of deregistration.
//
// [DeleteControl]: https://docs.aws.amazon.com/audit-manager/latest/APIReference/API_DeleteControl.html
// [deletes the event data store]: https://docs.aws.amazon.com/awscloudtrail/latest/userguide/query-eds-disable-termination.html
// [DeleteAssessmentFrameworkShare]: https://docs.aws.amazon.com/audit-manager/latest/APIReference/API_DeleteAssessmentFrameworkShare.html
// [Deleting a custom control]: https://docs.aws.amazon.com/audit-manager/latest/userguide/delete-controls.html
// [Deleting an assessment report]: https://docs.aws.amazon.com/audit-manager/latest/userguide/generate-assessment-report.html#delete-assessment-report-steps
// [Deleting a custom framework]: https://docs.aws.amazon.com/audit-manager/latest/userguide/delete-custom-framework.html
// [Deleting a share request]: https://docs.aws.amazon.com/audit-manager/latest/userguide/deleting-shared-framework-requests.html
// [Deleting an assessment]: https://docs.aws.amazon.com/audit-manager/latest/userguide/delete-assessment.html
// [DeleteAssessment]: https://docs.aws.amazon.com/audit-manager/latest/APIReference/API_DeleteAssessment.html
// [DeleteAssessmentReport]: https://docs.aws.amazon.com/audit-manager/latest/APIReference/API_DeleteAssessmentReport.html
// [DeleteAssessmentFramework]: https://docs.aws.amazon.com/audit-manager/latest/APIReference/API_DeleteAssessmentFramework.html
func (c *Client) DeregisterOrganizationAdminAccount(ctx context.Context, params *DeregisterOrganizationAdminAccountInput, optFns ...func(*Options)) (*DeregisterOrganizationAdminAccountOutput, error) {
if params == nil {
params = &DeregisterOrganizationAdminAccountInput{}
}
result, metadata, err := c.invokeOperation(ctx, "DeregisterOrganizationAdminAccount", params, optFns, c.addOperationDeregisterOrganizationAdminAccountMiddlewares)
if err != nil {
return nil, err
}
out := result.(*DeregisterOrganizationAdminAccountOutput)
out.ResultMetadata = metadata
return out, nil
}
type DeregisterOrganizationAdminAccountInput struct {
// The identifier for the administrator account.
AdminAccountId *string
noSmithyDocumentSerde
}
type DeregisterOrganizationAdminAccountOutput struct {
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
noSmithyDocumentSerde
}
func (c *Client) addOperationDeregisterOrganizationAdminAccountMiddlewares(stack *middleware.Stack, options Options) (err error) {
if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
return err
}
err = stack.Serialize.Add(&awsRestjson1_serializeOpDeregisterOrganizationAdminAccount{}, middleware.After)
if err != nil {
return err
}
err = stack.Deserialize.Add(&awsRestjson1_deserializeOpDeregisterOrganizationAdminAccount{}, middleware.After)
if err != nil {
return err
}
if err := addProtocolFinalizerMiddlewares(stack, options, "DeregisterOrganizationAdminAccount"); 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 = stack.Initialize.Add(newServiceMetadataMiddleware_opDeregisterOrganizationAdminAccount(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_opDeregisterOrganizationAdminAccount(region string) *awsmiddleware.RegisterServiceMetadata {
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
OperationName: "DeregisterOrganizationAdminAccount",
}
}
|