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
|
// Code generated by smithy-go-codegen DO NOT EDIT.
package securityhub
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"
)
// Used to enable finding aggregation. Must be called from the aggregation Region.
// For more details about cross-Region replication, see Configuring finding
// aggregation (https://docs.aws.amazon.com/securityhub/latest/userguide/finding-aggregation.html)
// in the Security Hub User Guide.
func (c *Client) CreateFindingAggregator(ctx context.Context, params *CreateFindingAggregatorInput, optFns ...func(*Options)) (*CreateFindingAggregatorOutput, error) {
if params == nil {
params = &CreateFindingAggregatorInput{}
}
result, metadata, err := c.invokeOperation(ctx, "CreateFindingAggregator", params, optFns, c.addOperationCreateFindingAggregatorMiddlewares)
if err != nil {
return nil, err
}
out := result.(*CreateFindingAggregatorOutput)
out.ResultMetadata = metadata
return out, nil
}
type CreateFindingAggregatorInput struct {
// Indicates whether to aggregate findings from all of the available Regions in
// the current partition. Also determines whether to automatically aggregate
// findings from new Regions as Security Hub supports them and you opt into them.
// The selected option also determines how to use the Regions provided in the
// Regions list. The options are as follows:
// - ALL_REGIONS - Indicates to aggregate findings from all of the Regions where
// Security Hub is enabled. When you choose this option, Security Hub also
// automatically aggregates findings from new Regions as Security Hub supports them
// and you opt into them.
// - ALL_REGIONS_EXCEPT_SPECIFIED - Indicates to aggregate findings from all of
// the Regions where Security Hub is enabled, except for the Regions listed in the
// Regions parameter. When you choose this option, Security Hub also
// automatically aggregates findings from new Regions as Security Hub supports them
// and you opt into them.
// - SPECIFIED_REGIONS - Indicates to aggregate findings only from the Regions
// listed in the Regions parameter. Security Hub does not automatically aggregate
// findings from new Regions.
//
// This member is required.
RegionLinkingMode *string
// If RegionLinkingMode is ALL_REGIONS_EXCEPT_SPECIFIED , then this is a
// space-separated list of Regions that do not aggregate findings to the
// aggregation Region. If RegionLinkingMode is SPECIFIED_REGIONS , then this is a
// space-separated list of Regions that do aggregate findings to the aggregation
// Region.
Regions []string
noSmithyDocumentSerde
}
type CreateFindingAggregatorOutput struct {
// The aggregation Region.
FindingAggregationRegion *string
// The ARN of the finding aggregator. You use the finding aggregator ARN to
// retrieve details for, update, and stop finding aggregation.
FindingAggregatorArn *string
// Indicates whether to link all Regions, all Regions except for a list of
// excluded Regions, or a list of included Regions.
RegionLinkingMode *string
// The list of excluded Regions or included Regions.
Regions []string
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
noSmithyDocumentSerde
}
func (c *Client) addOperationCreateFindingAggregatorMiddlewares(stack *middleware.Stack, options Options) (err error) {
if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
return err
}
err = stack.Serialize.Add(&awsRestjson1_serializeOpCreateFindingAggregator{}, middleware.After)
if err != nil {
return err
}
err = stack.Deserialize.Add(&awsRestjson1_deserializeOpCreateFindingAggregator{}, middleware.After)
if err != nil {
return err
}
if err := addProtocolFinalizerMiddlewares(stack, options, "CreateFindingAggregator"); 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 = addOpCreateFindingAggregatorValidationMiddleware(stack); err != nil {
return err
}
if err = stack.Initialize.Add(newServiceMetadataMiddleware_opCreateFindingAggregator(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_opCreateFindingAggregator(region string) *awsmiddleware.RegisterServiceMetadata {
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
OperationName: "CreateFindingAggregator",
}
}
|