-
Notifications
You must be signed in to change notification settings - Fork 623
/
api_op_DescribeVpcAttribute.go
143 lines (116 loc) · 4.33 KB
/
api_op_DescribeVpcAttribute.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
// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
package ec2
import (
"context"
"github.com/aws/aws-sdk-go-v2/aws"
"github.com/aws/aws-sdk-go-v2/internal/awsutil"
)
type DescribeVpcAttributeInput struct {
_ struct{} `type:"structure"`
// The VPC attribute.
//
// Attribute is a required field
Attribute VpcAttributeName `type:"string" required:"true" enum:"true"`
// Checks whether you have the required permissions for the action, without
// actually making the request, and provides an error response. If you have
// the required permissions, the error response is DryRunOperation. Otherwise,
// it is UnauthorizedOperation.
DryRun *bool `locationName:"dryRun" type:"boolean"`
// The ID of the VPC.
//
// VpcId is a required field
VpcId *string `type:"string" required:"true"`
}
// String returns the string representation
func (s DescribeVpcAttributeInput) String() string {
return awsutil.Prettify(s)
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *DescribeVpcAttributeInput) Validate() error {
invalidParams := aws.ErrInvalidParams{Context: "DescribeVpcAttributeInput"}
if len(s.Attribute) == 0 {
invalidParams.Add(aws.NewErrParamRequired("Attribute"))
}
if s.VpcId == nil {
invalidParams.Add(aws.NewErrParamRequired("VpcId"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
type DescribeVpcAttributeOutput struct {
_ struct{} `type:"structure"`
// Indicates whether the instances launched in the VPC get DNS hostnames. If
// this attribute is true, instances in the VPC get DNS hostnames; otherwise,
// they do not.
EnableDnsHostnames *AttributeBooleanValue `locationName:"enableDnsHostnames" type:"structure"`
// Indicates whether DNS resolution is enabled for the VPC. If this attribute
// is true, the Amazon DNS server resolves DNS hostnames for your instances
// to their corresponding IP addresses; otherwise, it does not.
EnableDnsSupport *AttributeBooleanValue `locationName:"enableDnsSupport" type:"structure"`
// The ID of the VPC.
VpcId *string `locationName:"vpcId" type:"string"`
}
// String returns the string representation
func (s DescribeVpcAttributeOutput) String() string {
return awsutil.Prettify(s)
}
const opDescribeVpcAttribute = "DescribeVpcAttribute"
// DescribeVpcAttributeRequest returns a request value for making API operation for
// Amazon Elastic Compute Cloud.
//
// Describes the specified attribute of the specified VPC. You can specify only
// one attribute at a time.
//
// // Example sending a request using DescribeVpcAttributeRequest.
// req := client.DescribeVpcAttributeRequest(params)
// resp, err := req.Send(context.TODO())
// if err == nil {
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcAttribute
func (c *Client) DescribeVpcAttributeRequest(input *DescribeVpcAttributeInput) DescribeVpcAttributeRequest {
op := &aws.Operation{
Name: opDescribeVpcAttribute,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &DescribeVpcAttributeInput{}
}
req := c.newRequest(op, input, &DescribeVpcAttributeOutput{})
return DescribeVpcAttributeRequest{Request: req, Input: input, Copy: c.DescribeVpcAttributeRequest}
}
// DescribeVpcAttributeRequest is the request type for the
// DescribeVpcAttribute API operation.
type DescribeVpcAttributeRequest struct {
*aws.Request
Input *DescribeVpcAttributeInput
Copy func(*DescribeVpcAttributeInput) DescribeVpcAttributeRequest
}
// Send marshals and sends the DescribeVpcAttribute API request.
func (r DescribeVpcAttributeRequest) Send(ctx context.Context) (*DescribeVpcAttributeResponse, error) {
r.Request.SetContext(ctx)
err := r.Request.Send()
if err != nil {
return nil, err
}
resp := &DescribeVpcAttributeResponse{
DescribeVpcAttributeOutput: r.Request.Data.(*DescribeVpcAttributeOutput),
response: &aws.Response{Request: r.Request},
}
return resp, nil
}
// DescribeVpcAttributeResponse is the response type for the
// DescribeVpcAttribute API operation.
type DescribeVpcAttributeResponse struct {
*DescribeVpcAttributeOutput
response *aws.Response
}
// SDKResponseMetdata returns the response metadata for the
// DescribeVpcAttribute request.
func (r *DescribeVpcAttributeResponse) SDKResponseMetdata() *aws.Response {
return r.response
}