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 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212
|
// Code generated by smithy-go-codegen DO NOT EDIT.
package ec2
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/aws-sdk-go-v2/service/ec2/types"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
// Describes the specified attribute of the specified instance. You can specify
// only one attribute at a time. Valid attribute values are: instanceType | kernel
// | ramdisk | userData | disableApiTermination | instanceInitiatedShutdownBehavior
// | rootDeviceName | blockDeviceMapping | productCodes | sourceDestCheck |
// groupSet | ebsOptimized | sriovNetSupport
func (c *Client) DescribeInstanceAttribute(ctx context.Context, params *DescribeInstanceAttributeInput, optFns ...func(*Options)) (*DescribeInstanceAttributeOutput, error) {
if params == nil {
params = &DescribeInstanceAttributeInput{}
}
result, metadata, err := c.invokeOperation(ctx, "DescribeInstanceAttribute", params, optFns, c.addOperationDescribeInstanceAttributeMiddlewares)
if err != nil {
return nil, err
}
out := result.(*DescribeInstanceAttributeOutput)
out.ResultMetadata = metadata
return out, nil
}
type DescribeInstanceAttributeInput struct {
// The instance attribute. Note: The enaSupport attribute is not supported at this
// time.
//
// This member is required.
Attribute types.InstanceAttributeName
// The ID of the instance.
//
// This member is required.
InstanceId *string
// 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
noSmithyDocumentSerde
}
// Describes an instance attribute.
type DescribeInstanceAttributeOutput struct {
// The block device mapping of the instance.
BlockDeviceMappings []types.InstanceBlockDeviceMapping
// To enable the instance for Amazon Web Services Stop Protection, set this
// parameter to true ; otherwise, set it to false .
DisableApiStop *types.AttributeBooleanValue
// If the value is true , you can't terminate the instance through the Amazon EC2
// console, CLI, or API; otherwise, you can.
DisableApiTermination *types.AttributeBooleanValue
// Indicates whether the instance is optimized for Amazon EBS I/O.
EbsOptimized *types.AttributeBooleanValue
// Indicates whether enhanced networking with ENA is enabled.
EnaSupport *types.AttributeBooleanValue
// To enable the instance for Amazon Web Services Nitro Enclaves, set this
// parameter to true ; otherwise, set it to false .
EnclaveOptions *types.EnclaveOptions
// The security groups associated with the instance.
Groups []types.GroupIdentifier
// The ID of the instance.
InstanceId *string
// Indicates whether an instance stops or terminates when you initiate shutdown
// from the instance (using the operating system command for system shutdown).
InstanceInitiatedShutdownBehavior *types.AttributeValue
// The instance type.
InstanceType *types.AttributeValue
// The kernel ID.
KernelId *types.AttributeValue
// A list of product codes.
ProductCodes []types.ProductCode
// The RAM disk ID.
RamdiskId *types.AttributeValue
// The device name of the root device volume (for example, /dev/sda1 ).
RootDeviceName *types.AttributeValue
// Enable or disable source/destination checks, which ensure that the instance is
// either the source or the destination of any traffic that it receives. If the
// value is true , source/destination checks are enabled; otherwise, they are
// disabled. The default value is true . You must disable source/destination checks
// if the instance runs services such as network address translation, routing, or
// firewalls.
SourceDestCheck *types.AttributeBooleanValue
// Indicates whether enhanced networking with the Intel 82599 Virtual Function
// interface is enabled.
SriovNetSupport *types.AttributeValue
// The user data.
UserData *types.AttributeValue
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
noSmithyDocumentSerde
}
func (c *Client) addOperationDescribeInstanceAttributeMiddlewares(stack *middleware.Stack, options Options) (err error) {
if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
return err
}
err = stack.Serialize.Add(&awsEc2query_serializeOpDescribeInstanceAttribute{}, middleware.After)
if err != nil {
return err
}
err = stack.Deserialize.Add(&awsEc2query_deserializeOpDescribeInstanceAttribute{}, middleware.After)
if err != nil {
return err
}
if err := addProtocolFinalizerMiddlewares(stack, options, "DescribeInstanceAttribute"); 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 = addOpDescribeInstanceAttributeValidationMiddleware(stack); err != nil {
return err
}
if err = stack.Initialize.Add(newServiceMetadataMiddleware_opDescribeInstanceAttribute(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_opDescribeInstanceAttribute(region string) *awsmiddleware.RegisterServiceMetadata {
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
OperationName: "DescribeInstanceAttribute",
}
}
|