-
Notifications
You must be signed in to change notification settings - Fork 597
/
api_op_AuthorizeDBSecurityGroupIngress.go
154 lines (136 loc) · 5.46 KB
/
api_op_AuthorizeDBSecurityGroupIngress.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
147
148
149
150
151
152
153
154
// Code generated by smithy-go-codegen DO NOT EDIT.
package rds
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/rds/types"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
// Enables ingress to a DBSecurityGroup using one of two forms of authorization.
// First, EC2 or VPC security groups can be added to the DBSecurityGroup if the
// application using the database is running on EC2 or VPC instances. Second, IP
// ranges are available if the application accessing your database is running on
// the internet. Required parameters for this API are one of CIDR range,
// EC2SecurityGroupId for VPC, or (EC2SecurityGroupOwnerId and either
// EC2SecurityGroupName or EC2SecurityGroupId for non-VPC). You can't authorize
// ingress from an EC2 security group in one Amazon Web Services Region to an
// Amazon RDS DB instance in another. You can't authorize ingress from a VPC
// security group in one VPC to an Amazon RDS DB instance in another. For an
// overview of CIDR ranges, go to the Wikipedia Tutorial
// (http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing).
func (c *Client) AuthorizeDBSecurityGroupIngress(ctx context.Context, params *AuthorizeDBSecurityGroupIngressInput, optFns ...func(*Options)) (*AuthorizeDBSecurityGroupIngressOutput, error) {
if params == nil {
params = &AuthorizeDBSecurityGroupIngressInput{}
}
result, metadata, err := c.invokeOperation(ctx, "AuthorizeDBSecurityGroupIngress", params, optFns, c.addOperationAuthorizeDBSecurityGroupIngressMiddlewares)
if err != nil {
return nil, err
}
out := result.(*AuthorizeDBSecurityGroupIngressOutput)
out.ResultMetadata = metadata
return out, nil
}
//
type AuthorizeDBSecurityGroupIngressInput struct {
// The name of the DB security group to add authorization to.
//
// This member is required.
DBSecurityGroupName *string
// The IP range to authorize.
CIDRIP *string
// Id of the EC2 security group to authorize. For VPC DB security groups,
// EC2SecurityGroupId must be provided. Otherwise, EC2SecurityGroupOwnerId and
// either EC2SecurityGroupName or EC2SecurityGroupId must be provided.
EC2SecurityGroupId *string
// Name of the EC2 security group to authorize. For VPC DB security groups,
// EC2SecurityGroupId must be provided. Otherwise, EC2SecurityGroupOwnerId and
// either EC2SecurityGroupName or EC2SecurityGroupId must be provided.
EC2SecurityGroupName *string
// Amazon Web Services account number of the owner of the EC2 security group
// specified in the EC2SecurityGroupName parameter. The Amazon Web Services access
// key ID isn't an acceptable value. For VPC DB security groups, EC2SecurityGroupId
// must be provided. Otherwise, EC2SecurityGroupOwnerId and either
// EC2SecurityGroupName or EC2SecurityGroupId must be provided.
EC2SecurityGroupOwnerId *string
noSmithyDocumentSerde
}
type AuthorizeDBSecurityGroupIngressOutput struct {
// Contains the details for an Amazon RDS DB security group. This data type is used
// as a response element in the DescribeDBSecurityGroups action.
DBSecurityGroup *types.DBSecurityGroup
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
noSmithyDocumentSerde
}
func (c *Client) addOperationAuthorizeDBSecurityGroupIngressMiddlewares(stack *middleware.Stack, options Options) (err error) {
err = stack.Serialize.Add(&awsAwsquery_serializeOpAuthorizeDBSecurityGroupIngress{}, middleware.After)
if err != nil {
return err
}
err = stack.Deserialize.Add(&awsAwsquery_deserializeOpAuthorizeDBSecurityGroupIngress{}, 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 = addOpAuthorizeDBSecurityGroupIngressValidationMiddleware(stack); err != nil {
return err
}
if err = stack.Initialize.Add(newServiceMetadataMiddleware_opAuthorizeDBSecurityGroupIngress(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_opAuthorizeDBSecurityGroupIngress(region string) *awsmiddleware.RegisterServiceMetadata {
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
SigningName: "rds",
OperationName: "AuthorizeDBSecurityGroupIngress",
}
}