-
Notifications
You must be signed in to change notification settings - Fork 598
/
api_op_PutConformancePack.go
146 lines (129 loc) · 4.74 KB
/
api_op_PutConformancePack.go
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
// Code generated by smithy-go-codegen DO NOT EDIT.
package configservice
import (
"context"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
"github.com/aws/aws-sdk-go-v2/service/configservice/types"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
// Creates or updates a conformance pack. A conformance pack is a collection of AWS
// Config rules that can be easily deployed in an account and a region and across
// AWS Organization. This API creates a service linked role
// AWSServiceRoleForConfigConforms in your account. The service linked role is
// created only when the role does not exist in your account. You must specify
// either the TemplateS3Uri or the TemplateBody parameter, but not both. If you
// provide both AWS Config uses the TemplateS3Uri parameter and ignores the
// TemplateBody parameter.
func (c *Client) PutConformancePack(ctx context.Context, params *PutConformancePackInput, optFns ...func(*Options)) (*PutConformancePackOutput, error) {
if params == nil {
params = &PutConformancePackInput{}
}
result, metadata, err := c.invokeOperation(ctx, "PutConformancePack", params, optFns, addOperationPutConformancePackMiddlewares)
if err != nil {
return nil, err
}
out := result.(*PutConformancePackOutput)
out.ResultMetadata = metadata
return out, nil
}
type PutConformancePackInput struct {
// Name of the conformance pack you want to create.
//
// This member is required.
ConformancePackName *string
// A list of ConformancePackInputParameter objects.
ConformancePackInputParameters []types.ConformancePackInputParameter
// Amazon S3 bucket where AWS Config stores conformance pack templates. This field
// is optional.
DeliveryS3Bucket *string
// The prefix for the Amazon S3 bucket. This field is optional.
DeliveryS3KeyPrefix *string
// A string containing full conformance pack template body. Structure containing
// the template body with a minimum length of 1 byte and a maximum length of 51,200
// bytes. You can only use a YAML template with one resource type, that is, config
// rule and a remediation action.
TemplateBody *string
// Location of file containing the template body (s3://bucketname/prefix). The uri
// must point to the conformance pack template (max size: 300 KB) that is located
// in an Amazon S3 bucket in the same region as the conformance pack. You must have
// access to read Amazon S3 bucket.
TemplateS3Uri *string
}
type PutConformancePackOutput struct {
// ARN of the conformance pack.
ConformancePackArn *string
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
}
func addOperationPutConformancePackMiddlewares(stack *middleware.Stack, options Options) (err error) {
err = stack.Serialize.Add(&awsAwsjson11_serializeOpPutConformancePack{}, middleware.After)
if err != nil {
return err
}
err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpPutConformancePack{}, middleware.After)
if 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 = addHTTPSignerV4Middleware(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); err != nil {
return err
}
if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil {
return err
}
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
if err = addOpPutConformancePackValidationMiddleware(stack); err != nil {
return err
}
if err = stack.Initialize.Add(newServiceMetadataMiddleware_opPutConformancePack(options.Region), middleware.Before); 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
}
return nil
}
func newServiceMetadataMiddleware_opPutConformancePack(region string) *awsmiddleware.RegisterServiceMetadata {
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
SigningName: "config",
OperationName: "PutConformancePack",
}
}