diff --git a/go.mod b/go.mod index 938b6418..627af3cd 100644 --- a/go.mod +++ b/go.mod @@ -8,7 +8,7 @@ require ( github.com/aws/aws-sdk-go v1.55.5 github.com/aws/aws-sdk-go-v2 v1.32.2 github.com/aws/aws-sdk-go-v2/config v1.28.0 - github.com/aws/aws-sdk-go-v2/service/ec2 v1.183.0 + github.com/aws/aws-sdk-go-v2/service/ec2 v1.186.0 github.com/aws/aws-sdk-go-v2/service/route53 v1.45.2 github.com/aws/aws-sdk-go-v2/service/ssm v1.55.2 github.com/mattn/go-isatty v0.0.20 diff --git a/go.sum b/go.sum index 77c40f31..a19d463c 100644 --- a/go.sum +++ b/go.sum @@ -14,8 +14,8 @@ github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.21 h1:6jZVETqmYCadGFvrYE github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.21/go.mod h1:1SR0GbLlnN3QUmYaflZNiH1ql+1qrSiB2vwcJ+4UM60= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 h1:VaRN3TlFdd6KxX1x3ILT5ynH6HvKgqdiXoTxAF4HQcQ= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1/go.mod h1:FbtygfRFze9usAadmnGJNc8KsP346kEe+y2/oyhGAGc= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.183.0 h1:LgwYvo4kycfT/UD7vjQhSVZSatxHAI41/54q9O6jljI= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.183.0/go.mod h1:kYXaB4FzyhEJjvrJ84oPnMElLiEAjGxxUunVW2tBSng= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.186.0 h1:n2l2WeV+lEABrGwG/4MsE0WFEbd3j7yKsmZzbnEm5CY= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.186.0/go.mod h1:kYXaB4FzyhEJjvrJ84oPnMElLiEAjGxxUunVW2tBSng= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.0 h1:TToQNkvGguu209puTojY/ozlqy2d/SFNcoLIqTFi42g= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.0/go.mod h1:0jp+ltwkf+SwG2fm/PKo8t4y8pJSgOCO4D8Lz3k0aHQ= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.2 h1:s7NA1SOw8q/5c0wr8477yOPp0z+uBaXBnLE0XYb0POA= diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/CHANGELOG.md index 11522019..4af00a74 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/CHANGELOG.md +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/CHANGELOG.md @@ -1,3 +1,15 @@ +# v1.186.0 (2024-10-24) + +* **Feature**: This release includes a new API to describe some details of the Amazon Machine Images (AMIs) that were used to launch EC2 instances, even if those AMIs are no longer available for use. + +# v1.185.0 (2024-10-23) + +* **Feature**: Amazon EC2 X8g, C8g and M8g instances are powered by AWS Graviton4 processors. X8g provide the lowest cost per GiB of memory among Graviton4 instances. C8g provide the best price performance for compute-intensive workloads. M8g provide the best price performance in for general purpose workloads. + +# v1.184.0 (2024-10-21) + +* **Feature**: Amazon EC2 now allows you to create network interfaces with just the EFA driver and no ENA driver by specifying the network interface type as efa-only. + # v1.183.0 (2024-10-18) * **Feature**: RequestSpotInstances and RequestSpotFleet feature release. diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_AssignPrivateNatGatewayAddress.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_AssignPrivateNatGatewayAddress.go index 6d44478e..1c9a592e 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_AssignPrivateNatGatewayAddress.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_AssignPrivateNatGatewayAddress.go @@ -14,7 +14,7 @@ import ( // Assigns private IPv4 addresses to a private NAT gateway. For more information, // see [Work with NAT gateways]in the Amazon VPC User Guide. // -// [Work with NAT gateways]: https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-working-with +// [Work with NAT gateways]: https://docs.aws.amazon.com/vpc/latest/userguide/nat-gateway-working-with.html func (c *Client) AssignPrivateNatGatewayAddress(ctx context.Context, params *AssignPrivateNatGatewayAddressInput, optFns ...func(*Options)) (*AssignPrivateNatGatewayAddressOutput, error) { if params == nil { params = &AssignPrivateNatGatewayAddressInput{} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_AssociateCapacityReservationBillingOwner.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_AssociateCapacityReservationBillingOwner.go index f95ee9a3..4c33c8b5 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_AssociateCapacityReservationBillingOwner.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_AssociateCapacityReservationBillingOwner.go @@ -37,7 +37,7 @@ type AssociateCapacityReservationBillingOwnerInput struct { // This member is required. CapacityReservationId *string - // The ID of the consumer account to which assign billing. + // The ID of the consumer account to which to assign billing. // // This member is required. UnusedReservationBillingOwnerId *string diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_AssociateNatGatewayAddress.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_AssociateNatGatewayAddress.go index dd83e671..f7cbc2f8 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_AssociateNatGatewayAddress.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_AssociateNatGatewayAddress.go @@ -28,8 +28,8 @@ import ( // User Guide. // // [Elastic IP address quotas]: https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html#vpc-limits-eips -// [Work with NAT gateways]: https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-working-with -// [Allocate an Elastic IP address]: https://docs.aws.amazon.com/vpc/latest/userguide/vpc-eips.html#allocate-eip +// [Work with NAT gateways]: https://docs.aws.amazon.com/vpc/latest/userguide/nat-gateway-working-with.html +// [Allocate an Elastic IP address]: https://docs.aws.amazon.com/vpc/latest/userguide/WorkWithEIPs.html func (c *Client) AssociateNatGatewayAddress(ctx context.Context, params *AssociateNatGatewayAddressInput, optFns ...func(*Options)) (*AssociateNatGatewayAddressOutput, error) { if params == nil { params = &AssociateNatGatewayAddressInput{} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_CreateDefaultSubnet.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_CreateDefaultSubnet.go index 1aad8462..9f0ccc49 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_CreateDefaultSubnet.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_CreateDefaultSubnet.go @@ -15,7 +15,7 @@ import ( // Availability Zone in your default VPC. You can have only one default subnet per // Availability Zone. For more information, see [Create a default subnet]in the Amazon VPC User Guide. // -// [Create a default subnet]: https://docs.aws.amazon.com/vpc/latest/userguide/default-vpc.html#create-default-subnet +// [Create a default subnet]: https://docs.aws.amazon.com/vpc/latest/userguide/work-with-default-vpc.html#create-default-subnet func (c *Client) CreateDefaultSubnet(ctx context.Context, params *CreateDefaultSubnetInput, optFns ...func(*Options)) (*CreateDefaultSubnetOutput, error) { if params == nil { params = &CreateDefaultSubnetInput{} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_CreateFlowLogs.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_CreateFlowLogs.go index 48f26e6d..f2659ced 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_CreateFlowLogs.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_CreateFlowLogs.go @@ -26,7 +26,7 @@ import ( // // For more information, see [VPC Flow Logs] in the Amazon VPC User Guide. // -// [Flow log records]: https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html#flow-log-records +// [Flow log records]: https://docs.aws.amazon.com/vpc/latest/userguide/flow-log-records.html // [VPC Flow Logs]: https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html func (c *Client) CreateFlowLogs(ctx context.Context, params *CreateFlowLogsInput, optFns ...func(*Options)) (*CreateFlowLogsOutput, error) { if params == nil { @@ -121,7 +121,7 @@ type CreateFlowLogsInput struct { // // Specify the fields using the ${field-id} format, separated by spaces. // - // [Flow log records]: https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html#flow-log-records + // [Flow log records]: https://docs.aws.amazon.com/vpc/latest/userguide/flow-log-records.html // [Transit Gateway Flow Log records]: https://docs.aws.amazon.com/vpc/latest/tgw/tgw-flow-logs.html#flow-log-records LogFormat *string diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_CreateIpamPool.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_CreateIpamPool.go index 7e5586c2..38124441 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_CreateIpamPool.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_CreateIpamPool.go @@ -113,9 +113,6 @@ type CreateIpamPoolInput struct { // want this IPAM pool to be available for allocations ([supported Local Zones] ). This option is only // available for IPAM IPv4 pools in the public scope. // - // If you do not choose a locale, resources in Regions others than the IPAM's home - // region cannot use CIDRs from this pool. - // // Possible values: Any Amazon Web Services Region or supported Amazon Web // Services Local Zone. Default is none and means any locale. // @@ -133,8 +130,8 @@ type CreateIpamPoolInput struct { // [Quotas for your IPAM]: https://docs.aws.amazon.com/vpc/latest/ipam/quotas-ipam.html PublicIpSource types.IpamPoolPublicIpSource - // Determines if the pool is publicly advertisable. This option is not available - // for pools with AddressFamily set to ipv4 . + // Determines if the pool is publicly advertisable. The request can only contain + // PubliclyAdvertisable if AddressFamily is ipv6 and PublicIpSource is byoip . PubliclyAdvertisable *bool // The ID of the source IPAM pool. Use this option to create a pool within an diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_CreateNatGateway.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_CreateNatGateway.go index 4b16416a..1724226d 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_CreateNatGateway.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_CreateNatGateway.go @@ -38,7 +38,7 @@ import ( // VPC User Guide. // // [NAT gateways]: https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html -// [Allocate an Elastic IP address]: https://docs.aws.amazon.com/vpc/latest/userguide/vpc-eips.html#allocate-eip +// [Allocate an Elastic IP address]: https://docs.aws.amazon.com/vpc/latest/userguide/WorkWithEIPs.html func (c *Client) CreateNatGateway(ctx context.Context, params *CreateNatGatewayInput, optFns ...func(*Options)) (*CreateNatGatewayOutput, error) { if params == nil { params = &CreateNatGatewayInput{} @@ -92,20 +92,20 @@ type CreateNatGatewayInput struct { // Secondary EIP allocation IDs. For more information, see [Create a NAT gateway] in the Amazon VPC User // Guide. // - // [Create a NAT gateway]: https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-creating + // [Create a NAT gateway]: https://docs.aws.amazon.com/vpc/latest/userguide/nat-gateway-working-with.html SecondaryAllocationIds []string // [Private NAT gateway only] The number of secondary private IPv4 addresses you // want to assign to the NAT gateway. For more information about secondary // addresses, see [Create a NAT gateway]in the Amazon VPC User Guide. // - // [Create a NAT gateway]: https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-creating + // [Create a NAT gateway]: https://docs.aws.amazon.com/vpc/latest/userguide/nat-gateway-working-with.html SecondaryPrivateIpAddressCount *int32 // Secondary private IPv4 addresses. For more information about secondary // addresses, see [Create a NAT gateway]in the Amazon VPC User Guide. // - // [Create a NAT gateway]: https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-creating + // [Create a NAT gateway]: https://docs.aws.amazon.com/vpc/latest/userguide/nat-gateway-working-with.html SecondaryPrivateIpAddresses []string // The tags to assign to the NAT gateway. diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_CreateSubnetCidrReservation.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_CreateSubnetCidrReservation.go index 15f615b2..9fe2999a 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_CreateSubnetCidrReservation.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_CreateSubnetCidrReservation.go @@ -12,10 +12,10 @@ import ( ) // Creates a subnet CIDR reservation. For more information, see [Subnet CIDR reservations] in the Amazon VPC -// User Guide and [Assign prefixes to network interfaces]in the Amazon EC2 User Guide. +// User Guide and [Manage prefixes for your network interfaces]in the Amazon EC2 User Guide. // // [Subnet CIDR reservations]: https://docs.aws.amazon.com/vpc/latest/userguide/subnet-cidr-reservation.html -// [Assign prefixes to network interfaces]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-prefix-eni.html +// [Manage prefixes for your network interfaces]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/work-with-prefixes.html func (c *Client) CreateSubnetCidrReservation(ctx context.Context, params *CreateSubnetCidrReservationInput, optFns ...func(*Options)) (*CreateSubnetCidrReservationOutput, error) { if params == nil { params = &CreateSubnetCidrReservationInput{} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_DeleteVpc.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_DeleteVpc.go index 2e02c1ff..477257a7 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_DeleteVpc.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_DeleteVpc.go @@ -15,7 +15,11 @@ import ( // terminate all instances running in the VPC, delete all security groups // associated with the VPC (except the default one), delete all route tables // associated with the VPC (except the default one), and so on. When you delete the -// VPC, it deletes the VPC's default security group, network ACL, and route table. +// VPC, it deletes the default security group, network ACL, and route table for the +// VPC. +// +// If you created a flow log for the VPC that you are deleting, note that flow +// logs for deleted VPCs are eventually automatically removed. func (c *Client) DeleteVpc(ctx context.Context, params *DeleteVpcInput, optFns ...func(*Options)) (*DeleteVpcOutput, error) { if params == nil { params = &DeleteVpcInput{} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_DescribeInstanceImageMetadata.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_DescribeInstanceImageMetadata.go new file mode 100644 index 00000000..e0fc8998 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_DescribeInstanceImageMetadata.go @@ -0,0 +1,334 @@ +// 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/service/ec2/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Describes the AMI that was used to launch an instance, even if the AMI is +// deprecated, deregistered, or made private (no longer public or shared with your +// account). +// +// If you specify instance IDs, the output includes information for only the +// specified instances. If you specify filters, the output includes information for +// only those instances that meet the filter criteria. If you do not specify +// instance IDs or filters, the output includes information for all instances, +// which can affect performance. +// +// If you specify an instance ID that is not valid, an instance that doesn't +// exist, or an instance that you do not own, an error ( InvalidInstanceID.NotFound +// ) is returned. +// +// Recently terminated instances might appear in the returned results. This +// interval is usually less than one hour. +// +// In the rare case where an Availability Zone is experiencing a service +// disruption and you specify instance IDs that are in the affected Availability +// Zone, or do not specify any instance IDs at all, the call fails. If you specify +// only instance IDs that are in an unaffected Availability Zone, the call works +// normally. +// +// The order of the elements in the response, including those within nested +// structures, might vary. Applications should not assume the elements appear in a +// particular order. +func (c *Client) DescribeInstanceImageMetadata(ctx context.Context, params *DescribeInstanceImageMetadataInput, optFns ...func(*Options)) (*DescribeInstanceImageMetadataOutput, error) { + if params == nil { + params = &DescribeInstanceImageMetadataInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "DescribeInstanceImageMetadata", params, optFns, c.addOperationDescribeInstanceImageMetadataMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*DescribeInstanceImageMetadataOutput) + out.ResultMetadata = metadata + return out, nil +} + +type DescribeInstanceImageMetadataInput struct { + + // 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 + + // The filters. + // + // - availability-zone - The name of the Availability Zone (for example, + // us-west-2a ) or Local Zone (for example, us-west-2-lax-1b ) of the instance. + // + // - instance-id - The ID of the instance. + // + // - instance-state-name - The state of the instance ( pending | running | + // shutting-down | terminated | stopping | stopped ). + // + // - instance-type - The type of instance (for example, t3.micro ). + // + // - launch-time - The time when the instance was launched, in the ISO 8601 + // format in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ), for example, + // 2023-09-29T11:04:43.305Z . You can use a wildcard ( * ), for example, + // 2023-09-29T* , which matches an entire day. + // + // - tag: - The key/value combination of a tag assigned to the resource. Use the + // tag key in the filter name and the tag value as the filter value. For example, + // to find all resources that have a tag with the key Owner and the value TeamA , + // specify tag:Owner for the filter name and TeamA for the filter value. + // + // - tag-key - The key of a tag assigned to the resource. Use this filter to find + // all resources assigned a tag with a specific key, regardless of the tag value. + // + // - zone-id - The ID of the Availability Zone (for example, usw2-az2 ) or Local + // Zone (for example, usw2-lax1-az1 ) of the instance. + Filters []types.Filter + + // The instance IDs. + // + // If you don't specify an instance ID or filters, the output includes information + // for all instances. + InstanceIds []string + + // The maximum number of items to return for this request. To get the next page of + // items, make another request with the token returned in the output. For more + // information, see [Pagination]. + // + // Default: 1000 + // + // [Pagination]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html#api-pagination + MaxResults *int32 + + // The token returned from a previous paginated request. Pagination continues from + // the end of the items returned by the previous request. + NextToken *string + + noSmithyDocumentSerde +} + +type DescribeInstanceImageMetadataOutput struct { + + // Information about the instance and the AMI used to launch the instance. + InstanceImageMetadata []types.InstanceImageMetadata + + // The token to include in another request to get the next page of items. This + // value is null when there are no more items to return. + NextToken *string + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationDescribeInstanceImageMetadataMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { + return err + } + err = stack.Serialize.Add(&awsEc2query_serializeOpDescribeInstanceImageMetadata{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsEc2query_deserializeOpDescribeInstanceImageMetadata{}, middleware.After) + if err != nil { + return err + } + if err := addProtocolFinalizerMiddlewares(stack, options, "DescribeInstanceImageMetadata"); 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 = addClientRequestID(stack); err != nil { + return err + } + if err = addComputeContentLength(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = addComputePayloadSHA256(stack); err != nil { + return err + } + if err = addRetry(stack, options); err != nil { + return err + } + if err = addRawResponseToMetadata(stack); err != nil { + return err + } + if err = addRecordResponseTiming(stack); err != nil { + return err + } + if err = addSpanRetryLoop(stack, options); 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 = addTimeOffsetBuild(stack, c); err != nil { + return err + } + if err = addUserAgentRetryMode(stack, options); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opDescribeInstanceImageMetadata(options.Region), middleware.Before); err != nil { + return err + } + if err = 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 + } + if err = addSpanInitializeStart(stack); err != nil { + return err + } + if err = addSpanInitializeEnd(stack); err != nil { + return err + } + if err = addSpanBuildRequestStart(stack); err != nil { + return err + } + if err = addSpanBuildRequestEnd(stack); err != nil { + return err + } + return nil +} + +// DescribeInstanceImageMetadataPaginatorOptions is the paginator options for +// DescribeInstanceImageMetadata +type DescribeInstanceImageMetadataPaginatorOptions struct { + // The maximum number of items to return for this request. To get the next page of + // items, make another request with the token returned in the output. For more + // information, see [Pagination]. + // + // Default: 1000 + // + // [Pagination]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html#api-pagination + Limit int32 + + // Set to true if pagination should stop if the service returns a pagination token + // that matches the most recent token provided to the service. + StopOnDuplicateToken bool +} + +// DescribeInstanceImageMetadataPaginator is a paginator for +// DescribeInstanceImageMetadata +type DescribeInstanceImageMetadataPaginator struct { + options DescribeInstanceImageMetadataPaginatorOptions + client DescribeInstanceImageMetadataAPIClient + params *DescribeInstanceImageMetadataInput + nextToken *string + firstPage bool +} + +// NewDescribeInstanceImageMetadataPaginator returns a new +// DescribeInstanceImageMetadataPaginator +func NewDescribeInstanceImageMetadataPaginator(client DescribeInstanceImageMetadataAPIClient, params *DescribeInstanceImageMetadataInput, optFns ...func(*DescribeInstanceImageMetadataPaginatorOptions)) *DescribeInstanceImageMetadataPaginator { + if params == nil { + params = &DescribeInstanceImageMetadataInput{} + } + + options := DescribeInstanceImageMetadataPaginatorOptions{} + if params.MaxResults != nil { + options.Limit = *params.MaxResults + } + + for _, fn := range optFns { + fn(&options) + } + + return &DescribeInstanceImageMetadataPaginator{ + options: options, + client: client, + params: params, + firstPage: true, + nextToken: params.NextToken, + } +} + +// HasMorePages returns a boolean indicating whether more pages are available +func (p *DescribeInstanceImageMetadataPaginator) HasMorePages() bool { + return p.firstPage || (p.nextToken != nil && len(*p.nextToken) != 0) +} + +// NextPage retrieves the next DescribeInstanceImageMetadata page. +func (p *DescribeInstanceImageMetadataPaginator) NextPage(ctx context.Context, optFns ...func(*Options)) (*DescribeInstanceImageMetadataOutput, error) { + if !p.HasMorePages() { + return nil, fmt.Errorf("no more pages available") + } + + params := *p.params + params.NextToken = p.nextToken + + var limit *int32 + if p.options.Limit > 0 { + limit = &p.options.Limit + } + params.MaxResults = limit + + optFns = append([]func(*Options){ + addIsPaginatorUserAgent, + }, optFns...) + result, err := p.client.DescribeInstanceImageMetadata(ctx, ¶ms, optFns...) + if err != nil { + return nil, err + } + p.firstPage = false + + prevToken := p.nextToken + p.nextToken = result.NextToken + + if p.options.StopOnDuplicateToken && + prevToken != nil && + p.nextToken != nil && + *prevToken == *p.nextToken { + p.nextToken = nil + } + + return result, nil +} + +// DescribeInstanceImageMetadataAPIClient is a client that implements the +// DescribeInstanceImageMetadata operation. +type DescribeInstanceImageMetadataAPIClient interface { + DescribeInstanceImageMetadata(context.Context, *DescribeInstanceImageMetadataInput, ...func(*Options)) (*DescribeInstanceImageMetadataOutput, error) +} + +var _ DescribeInstanceImageMetadataAPIClient = (*Client)(nil) + +func newServiceMetadataMiddleware_opDescribeInstanceImageMetadata(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + OperationName: "DescribeInstanceImageMetadata", + } +} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_DisableImage.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_DisableImage.go index 510e7597..25b7494a 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_DisableImage.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_DisableImage.go @@ -27,7 +27,7 @@ import ( // // [DescribeImages]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeImages.html // [Disable an AMI]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/disable-an-ami.html -// [EnableImage]: http://amazonaws.com/AWSEC2/latest/APIReference/API_EnableImage.html +// [EnableImage]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_EnableImage.html func (c *Client) DisableImage(ctx context.Context, params *DisableImageInput, optFns ...func(*Options)) (*DisableImageOutput, error) { if params == nil { params = &DisableImageInput{} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_DisassociateNatGatewayAddress.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_DisassociateNatGatewayAddress.go index cd13ead1..c8e74930 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_DisassociateNatGatewayAddress.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_DisassociateNatGatewayAddress.go @@ -25,7 +25,7 @@ import ( // EIPs). As the existing connections drain out, the EIPs (and the corresponding // private IP addresses mapped to them) are released. // -// [Edit secondary IP address associations]: https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-edit-secondary +// [Edit secondary IP address associations]: https://docs.aws.amazon.com/vpc/latest/userguide/nat-gateway-working-with.html#nat-gateway-edit-secondary func (c *Client) DisassociateNatGatewayAddress(ctx context.Context, params *DisassociateNatGatewayAddressInput, optFns ...func(*Options)) (*DisassociateNatGatewayAddressOutput, error) { if params == nil { params = &DisassociateNatGatewayAddressInput{} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_GetInstanceTypesFromInstanceRequirements.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_GetInstanceTypesFromInstanceRequirements.go index c512e93f..6e6e630b 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_GetInstanceTypesFromInstanceRequirements.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_GetInstanceTypesFromInstanceRequirements.go @@ -19,14 +19,13 @@ import ( // of the specified parameters. If you specify multiple values for a parameter, you // get instance types that satisfy any of the specified values. // -// For more information, see [Preview instance types with specified attributes], [Attribute-based instance type selection for EC2 Fleet], [Attribute-based instance type selection for Spot Fleet], and [Spot placement score] in the Amazon EC2 User Guide, and [Creating an Auto Scaling group using attribute-based instance type selection] in the +// For more information, see [Preview instance types with specified attributes], [Specify attributes for instance type selection for EC2 Fleet or Spot Fleet], and [Spot placement score] in the Amazon EC2 User Guide, and [Creating mixed instance groups using attribute-based instance type selection] in the // Amazon EC2 Auto Scaling User Guide. // -// [Attribute-based instance type selection for EC2 Fleet]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html -// [Preview instance types with specified attributes]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-attribute-based-instance-type-selection.html#spotfleet-get-instance-types-from-instance-requirements +// [Specify attributes for instance type selection for EC2 Fleet or Spot Fleet]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html +// [Preview instance types with specified attributes]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html#ec2fleet-get-instance-types-from-instance-requirements +// [Creating mixed instance groups using attribute-based instance type selection]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-asg-instance-type-requirements.html // [Spot placement score]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html -// [Attribute-based instance type selection for Spot Fleet]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-attribute-based-instance-type-selection.html -// [Creating an Auto Scaling group using attribute-based instance type selection]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-asg-instance-type-requirements.html func (c *Client) GetInstanceTypesFromInstanceRequirements(ctx context.Context, params *GetInstanceTypesFromInstanceRequirementsInput, optFns ...func(*Options)) (*GetInstanceTypesFromInstanceRequirementsOutput, error) { if params == nil { params = &GetInstanceTypesFromInstanceRequirementsInput{} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_UnassignPrivateNatGatewayAddress.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_UnassignPrivateNatGatewayAddress.go index 7b0dd0e0..7db7b085 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_UnassignPrivateNatGatewayAddress.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_UnassignPrivateNatGatewayAddress.go @@ -25,7 +25,7 @@ import ( // connections are distributed across the remaining assigned private IP address). // After the existing connections drain out, the private IP addresses are released. // -// [Edit secondary IP address associations]: https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-edit-secondary +// [Edit secondary IP address associations]: https://docs.aws.amazon.com/vpc/latest/userguide/nat-gateway-working-with.html#nat-gateway-edit-secondary func (c *Client) UnassignPrivateNatGatewayAddress(ctx context.Context, params *UnassignPrivateNatGatewayAddressInput, optFns ...func(*Options)) (*UnassignPrivateNatGatewayAddressOutput, error) { if params == nil { params = &UnassignPrivateNatGatewayAddressInput{} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/deserializers.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/deserializers.go index 1f48a7d9..f6b202e6 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/deserializers.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/deserializers.go @@ -25538,6 +25538,101 @@ func awsEc2query_deserializeOpErrorDescribeInstanceEventWindows(response *smithy } } +type awsEc2query_deserializeOpDescribeInstanceImageMetadata struct { +} + +func (*awsEc2query_deserializeOpDescribeInstanceImageMetadata) ID() string { + return "OperationDeserializer" +} + +func (m *awsEc2query_deserializeOpDescribeInstanceImageMetadata) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + defer endTimer() + defer span.End() + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsEc2query_deserializeOpErrorDescribeInstanceImageMetadata(response, &metadata) + } + output := &DescribeInstanceImageMetadataOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + body := io.TeeReader(response.Body, ringBuffer) + rootDecoder := xml.NewDecoder(body) + t, err := smithyxml.FetchRootElement(rootDecoder) + if err == io.EOF { + return out, metadata, nil + } + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) + err = awsEc2query_deserializeOpDocumentDescribeInstanceImageMetadataOutput(&output, decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + return out, metadata, err +} + +func awsEc2query_deserializeOpErrorDescribeInstanceImageMetadata(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + errorComponents, err := ec2query.GetErrorResponseComponents(errorBody) + if err != nil { + return err + } + awsmiddleware.SetRequestIDMetadata(metadata, errorComponents.RequestID) + if len(errorComponents.Code) != 0 { + errorCode = errorComponents.Code + } + if len(errorComponents.Message) != 0 { + errorMessage = errorComponents.Message + } + errorBody.Seek(0, io.SeekStart) + switch { + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + type awsEc2query_deserializeOpDescribeInstances struct { } @@ -84608,6 +84703,149 @@ func awsEc2query_deserializeDocumentImageListUnwrapped(v *[]types.Image, decoder *v = sv return nil } +func awsEc2query_deserializeDocumentImageMetadata(v **types.ImageMetadata, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.ImageMetadata + if *v == nil { + sv = &types.ImageMetadata{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("creationDate", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.CreationDate = ptr.String(xtv) + } + + case strings.EqualFold("deprecationTime", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.DeprecationTime = ptr.String(xtv) + } + + case strings.EqualFold("imageId", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.ImageId = ptr.String(xtv) + } + + case strings.EqualFold("imageOwnerAlias", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.ImageOwnerAlias = ptr.String(xtv) + } + + case strings.EqualFold("isPublic", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv, err := strconv.ParseBool(string(val)) + if err != nil { + return fmt.Errorf("expected Boolean to be of type *bool, got %T instead", val) + } + sv.IsPublic = ptr.Bool(xtv) + } + + case strings.EqualFold("name", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.Name = ptr.String(xtv) + } + + case strings.EqualFold("imageOwnerId", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.OwnerId = ptr.String(xtv) + } + + case strings.EqualFold("imageState", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.State = types.ImageState(xtv) + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + func awsEc2query_deserializeDocumentImageRecycleBinInfo(v **types.ImageRecycleBinInfo, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -88257,6 +88495,210 @@ func awsEc2query_deserializeDocumentInstanceIdsSetUnwrapped(v *[]string, decoder *v = sv return nil } +func awsEc2query_deserializeDocumentInstanceImageMetadata(v **types.InstanceImageMetadata, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.InstanceImageMetadata + if *v == nil { + sv = &types.InstanceImageMetadata{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("availabilityZone", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.AvailabilityZone = ptr.String(xtv) + } + + case strings.EqualFold("imageMetadata", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsEc2query_deserializeDocumentImageMetadata(&sv.ImageMetadata, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("instanceId", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.InstanceId = ptr.String(xtv) + } + + case strings.EqualFold("instanceType", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.InstanceType = types.InstanceType(xtv) + } + + case strings.EqualFold("launchTime", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + t, err := smithytime.ParseDateTime(xtv) + if err != nil { + return err + } + sv.LaunchTime = ptr.Time(t) + } + + case strings.EqualFold("instanceOwnerId", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.OwnerId = ptr.String(xtv) + } + + case strings.EqualFold("instanceState", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsEc2query_deserializeDocumentInstanceState(&sv.State, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("tagSet", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsEc2query_deserializeDocumentTagList(&sv.Tags, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("zoneId", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.ZoneId = ptr.String(xtv) + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsEc2query_deserializeDocumentInstanceImageMetadataList(v *[]types.InstanceImageMetadata, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv []types.InstanceImageMetadata + if *v == nil { + sv = make([]types.InstanceImageMetadata, 0) + } else { + sv = *v + } + + originalDecoder := decoder + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + switch { + case strings.EqualFold("item", t.Name.Local): + var col types.InstanceImageMetadata + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + destAddr := &col + if err := awsEc2query_deserializeDocumentInstanceImageMetadata(&destAddr, nodeDecoder); err != nil { + return err + } + col = *destAddr + sv = append(sv, col) + + default: + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsEc2query_deserializeDocumentInstanceImageMetadataListUnwrapped(v *[]types.InstanceImageMetadata, decoder smithyxml.NodeDecoder) error { + var sv []types.InstanceImageMetadata + if *v == nil { + sv = make([]types.InstanceImageMetadata, 0) + } else { + sv = *v + } + + switch { + default: + var mv types.InstanceImageMetadata + t := decoder.StartEl + _ = t + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + destAddr := &mv + if err := awsEc2query_deserializeDocumentInstanceImageMetadata(&destAddr, nodeDecoder); err != nil { + return err + } + mv = *destAddr + sv = append(sv, mv) + } + *v = sv + return nil +} func awsEc2query_deserializeDocumentInstanceIpv4Prefix(v **types.InstanceIpv4Prefix, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -157345,6 +157787,61 @@ func awsEc2query_deserializeOpDocumentDescribeInstanceEventWindowsOutput(v **Des return nil } +func awsEc2query_deserializeOpDocumentDescribeInstanceImageMetadataOutput(v **DescribeInstanceImageMetadataOutput, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *DescribeInstanceImageMetadataOutput + if *v == nil { + sv = &DescribeInstanceImageMetadataOutput{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("instanceImageMetadataSet", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsEc2query_deserializeDocumentInstanceImageMetadataList(&sv.InstanceImageMetadata, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("nextToken", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.NextToken = ptr.String(xtv) + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + func awsEc2query_deserializeOpDocumentDescribeInstancesOutput(v **DescribeInstancesOutput, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/generated.json b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/generated.json index 78b12055..7426e57d 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/generated.json +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/generated.json @@ -286,6 +286,7 @@ "api_op_DescribeInstanceCreditSpecifications.go", "api_op_DescribeInstanceEventNotificationAttributes.go", "api_op_DescribeInstanceEventWindows.go", + "api_op_DescribeInstanceImageMetadata.go", "api_op_DescribeInstanceStatus.go", "api_op_DescribeInstanceTopology.go", "api_op_DescribeInstanceTypeOfferings.go", diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/go_module_metadata.go index 49485dc5..525d5d7a 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/go_module_metadata.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/go_module_metadata.go @@ -3,4 +3,4 @@ package ec2 // goModuleVersion is the tagged release for this module -const goModuleVersion = "1.183.0" +const goModuleVersion = "1.186.0" diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/serializers.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/serializers.go index 942826d5..d9054698 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/serializers.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/serializers.go @@ -19268,6 +19268,76 @@ func (m *awsEc2query_serializeOpDescribeInstanceEventWindows) HandleSerialize(ct return next.HandleSerialize(ctx, in) } +type awsEc2query_serializeOpDescribeInstanceImageMetadata struct { +} + +func (*awsEc2query_serializeOpDescribeInstanceImageMetadata) ID() string { + return "OperationSerializer" +} + +func (m *awsEc2query_serializeOpDescribeInstanceImageMetadata) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + defer endTimer() + defer span.End() + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*DescribeInstanceImageMetadataInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + operationPath := "/" + if len(request.Request.URL.Path) == 0 { + request.Request.URL.Path = operationPath + } else { + request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) + if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { + request.Request.URL.Path += "/" + } + } + request.Request.Method = "POST" + httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + httpBindingEncoder.SetHeader("Content-Type").String("application/x-www-form-urlencoded") + + bodyWriter := bytes.NewBuffer(nil) + bodyEncoder := query.NewEncoder(bodyWriter) + body := bodyEncoder.Object() + body.Key("Action").String("DescribeInstanceImageMetadata") + body.Key("Version").String("2016-11-15") + + if err := awsEc2query_serializeOpDocumentDescribeInstanceImageMetadataInput(input, bodyEncoder.Value); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + err = bodyEncoder.Encode() + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request, err = request.SetStream(bytes.NewReader(bodyWriter.Bytes())); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + endTimer() + span.End() + return next.HandleSerialize(ctx, in) +} + type awsEc2query_serializeOpDescribeInstances struct { } @@ -62895,6 +62965,42 @@ func awsEc2query_serializeOpDocumentDescribeInstanceEventWindowsInput(v *Describ return nil } +func awsEc2query_serializeOpDocumentDescribeInstanceImageMetadataInput(v *DescribeInstanceImageMetadataInput, value query.Value) error { + object := value.Object() + _ = object + + if v.DryRun != nil { + objectKey := object.Key("DryRun") + objectKey.Boolean(*v.DryRun) + } + + if v.Filters != nil { + objectKey := object.FlatKey("Filter") + if err := awsEc2query_serializeDocumentFilterList(v.Filters, objectKey); err != nil { + return err + } + } + + if v.InstanceIds != nil { + objectKey := object.FlatKey("InstanceId") + if err := awsEc2query_serializeDocumentInstanceIdStringList(v.InstanceIds, objectKey); err != nil { + return err + } + } + + if v.MaxResults != nil { + objectKey := object.Key("MaxResults") + objectKey.Integer(*v.MaxResults) + } + + if v.NextToken != nil { + objectKey := object.Key("NextToken") + objectKey.String(*v.NextToken) + } + + return nil +} + func awsEc2query_serializeOpDocumentDescribeInstancesInput(v *DescribeInstancesInput, value query.Value) error { object := value.Object() _ = object diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/types/enums.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/types/enums.go index 34580aea..558bf722 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/types/enums.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/types/enums.go @@ -4022,6 +4022,42 @@ const ( InstanceTypeG6e16xlarge InstanceType = "g6e.16xlarge" InstanceTypeG6e24xlarge InstanceType = "g6e.24xlarge" InstanceTypeG6e48xlarge InstanceType = "g6e.48xlarge" + InstanceTypeC8gMedium InstanceType = "c8g.medium" + InstanceTypeC8gLarge InstanceType = "c8g.large" + InstanceTypeC8gXlarge InstanceType = "c8g.xlarge" + InstanceTypeC8g2xlarge InstanceType = "c8g.2xlarge" + InstanceTypeC8g4xlarge InstanceType = "c8g.4xlarge" + InstanceTypeC8g8xlarge InstanceType = "c8g.8xlarge" + InstanceTypeC8g12xlarge InstanceType = "c8g.12xlarge" + InstanceTypeC8g16xlarge InstanceType = "c8g.16xlarge" + InstanceTypeC8g24xlarge InstanceType = "c8g.24xlarge" + InstanceTypeC8g48xlarge InstanceType = "c8g.48xlarge" + InstanceTypeC8gMetal24xl InstanceType = "c8g.metal-24xl" + InstanceTypeC8gMetal48xl InstanceType = "c8g.metal-48xl" + InstanceTypeM8gMedium InstanceType = "m8g.medium" + InstanceTypeM8gLarge InstanceType = "m8g.large" + InstanceTypeM8gXlarge InstanceType = "m8g.xlarge" + InstanceTypeM8g2xlarge InstanceType = "m8g.2xlarge" + InstanceTypeM8g4xlarge InstanceType = "m8g.4xlarge" + InstanceTypeM8g8xlarge InstanceType = "m8g.8xlarge" + InstanceTypeM8g12xlarge InstanceType = "m8g.12xlarge" + InstanceTypeM8g16xlarge InstanceType = "m8g.16xlarge" + InstanceTypeM8g24xlarge InstanceType = "m8g.24xlarge" + InstanceTypeM8g48xlarge InstanceType = "m8g.48xlarge" + InstanceTypeM8gMetal24xl InstanceType = "m8g.metal-24xl" + InstanceTypeM8gMetal48xl InstanceType = "m8g.metal-48xl" + InstanceTypeX8gMedium InstanceType = "x8g.medium" + InstanceTypeX8gLarge InstanceType = "x8g.large" + InstanceTypeX8gXlarge InstanceType = "x8g.xlarge" + InstanceTypeX8g2xlarge InstanceType = "x8g.2xlarge" + InstanceTypeX8g4xlarge InstanceType = "x8g.4xlarge" + InstanceTypeX8g8xlarge InstanceType = "x8g.8xlarge" + InstanceTypeX8g12xlarge InstanceType = "x8g.12xlarge" + InstanceTypeX8g16xlarge InstanceType = "x8g.16xlarge" + InstanceTypeX8g24xlarge InstanceType = "x8g.24xlarge" + InstanceTypeX8g48xlarge InstanceType = "x8g.48xlarge" + InstanceTypeX8gMetal24xl InstanceType = "x8g.metal-24xl" + InstanceTypeX8gMetal48xl InstanceType = "x8g.metal-48xl" ) // Values returns all known values for InstanceType. Note that this can be @@ -4858,6 +4894,42 @@ func (InstanceType) Values() []InstanceType { "g6e.16xlarge", "g6e.24xlarge", "g6e.48xlarge", + "c8g.medium", + "c8g.large", + "c8g.xlarge", + "c8g.2xlarge", + "c8g.4xlarge", + "c8g.8xlarge", + "c8g.12xlarge", + "c8g.16xlarge", + "c8g.24xlarge", + "c8g.48xlarge", + "c8g.metal-24xl", + "c8g.metal-48xl", + "m8g.medium", + "m8g.large", + "m8g.xlarge", + "m8g.2xlarge", + "m8g.4xlarge", + "m8g.8xlarge", + "m8g.12xlarge", + "m8g.16xlarge", + "m8g.24xlarge", + "m8g.48xlarge", + "m8g.metal-24xl", + "m8g.metal-48xl", + "x8g.medium", + "x8g.large", + "x8g.xlarge", + "x8g.2xlarge", + "x8g.4xlarge", + "x8g.8xlarge", + "x8g.12xlarge", + "x8g.16xlarge", + "x8g.24xlarge", + "x8g.48xlarge", + "x8g.metal-24xl", + "x8g.metal-48xl", } } @@ -6324,9 +6396,10 @@ type NetworkInterfaceCreationType string // Enum values for NetworkInterfaceCreationType const ( - NetworkInterfaceCreationTypeEfa NetworkInterfaceCreationType = "efa" - NetworkInterfaceCreationTypeBranch NetworkInterfaceCreationType = "branch" - NetworkInterfaceCreationTypeTrunk NetworkInterfaceCreationType = "trunk" + NetworkInterfaceCreationTypeEfa NetworkInterfaceCreationType = "efa" + NetworkInterfaceCreationTypeEfaOnly NetworkInterfaceCreationType = "efa-only" + NetworkInterfaceCreationTypeBranch NetworkInterfaceCreationType = "branch" + NetworkInterfaceCreationTypeTrunk NetworkInterfaceCreationType = "trunk" ) // Values returns all known values for NetworkInterfaceCreationType. Note that @@ -6337,6 +6410,7 @@ const ( func (NetworkInterfaceCreationType) Values() []NetworkInterfaceCreationType { return []NetworkInterfaceCreationType{ "efa", + "efa-only", "branch", "trunk", } @@ -6398,6 +6472,7 @@ const ( NetworkInterfaceTypeInterface NetworkInterfaceType = "interface" NetworkInterfaceTypeNatGateway NetworkInterfaceType = "natGateway" NetworkInterfaceTypeEfa NetworkInterfaceType = "efa" + NetworkInterfaceTypeEfaOnly NetworkInterfaceType = "efa-only" NetworkInterfaceTypeTrunk NetworkInterfaceType = "trunk" NetworkInterfaceTypeLoadBalancer NetworkInterfaceType = "load_balancer" NetworkInterfaceTypeNetworkLoadBalancer NetworkInterfaceType = "network_load_balancer" @@ -6423,6 +6498,7 @@ func (NetworkInterfaceType) Values() []NetworkInterfaceType { "interface", "natGateway", "efa", + "efa-only", "trunk", "load_balancer", "network_load_balancer", diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/types/types.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/types/types.go index 7d38f3d4..b3af19d8 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/types/types.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/types/types.go @@ -3415,8 +3415,8 @@ type EbsBlockDevice struct { // [instances built on the Nitro System]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances Iops *int32 - // Identifier (key ID, key alias, ID ARN, or alias ARN) for a customer managed CMK - // under which the EBS volume is encrypted. + // Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed + // KMS key to use for EBS encryption. // // This parameter is only supported on BlockDeviceMapping objects called by [RunInstances], [RequestSpotFleet], // and [RequestSpotInstances]. @@ -3744,12 +3744,18 @@ type ElasticGpuSpecification struct { noSmithyDocumentSerde } -// Amazon Elastic Graphics reached end of life on January 8, 2024. +// Deprecated. // -// Describes an elastic GPU. +// Amazon Elastic Graphics reached end of life on January 8, 2024. For workloads +// that require graphics acceleration, we recommend that you use Amazon EC2 G4ad, +// G4dn, or G5 instances. type ElasticGpuSpecificationResponse struct { - // The elastic GPU type. + // Deprecated. + // + // Amazon Elastic Graphics reached end of life on January 8, 2024. For workloads + // that require graphics acceleration, we recommend that you use Amazon EC2 G4ad, + // G4dn, or G5 instances. Type *string noSmithyDocumentSerde @@ -5916,6 +5922,42 @@ type ImageDiskContainer struct { noSmithyDocumentSerde } +// Information about the AMI. +type ImageMetadata struct { + + // The date and time the AMI was created. + CreationDate *string + + // The deprecation date and time of the AMI, in UTC, in the following format: + // YYYY-MM-DDTHH:MM:SSZ. + DeprecationTime *string + + // The ID of the AMI. + ImageId *string + + // The alias of the AMI owner. + // + // Valid values: amazon | aws-marketplace + ImageOwnerAlias *string + + // Indicates whether the AMI has public launch permissions. A value of true means + // this AMI has public launch permissions, while false means it has only implicit + // (AMI owner) or explicit (shared with your account) launch permissions. + IsPublic *bool + + // The name of the AMI. + Name *string + + // The ID of the Amazon Web Services account that owns the AMI. + OwnerId *string + + // The current state of the AMI. If the state is available , the AMI is + // successfully registered and can be used to launch an instance. + State ImageState + + noSmithyDocumentSerde +} + // Information about an AMI that is currently in the Recycle Bin. type ImageRecycleBinInfo struct { @@ -6703,6 +6745,39 @@ type InstanceFamilyCreditSpecification struct { noSmithyDocumentSerde } +// Information about the instance and the AMI used to launch the instance. +type InstanceImageMetadata struct { + + // The Availability Zone or Local Zone of the instance. + AvailabilityZone *string + + // Information about the AMI used to launch the instance. + ImageMetadata *ImageMetadata + + // The ID of the instance. + InstanceId *string + + // The instance type. + InstanceType InstanceType + + // The time the instance was launched. + LaunchTime *time.Time + + // The ID of the Amazon Web Services account that owns the instance. + OwnerId *string + + // The current state of the instance. + State *InstanceState + + // Any tags assigned to the instance. + Tags []Tag + + // The ID of the Availability Zone or Local Zone of the instance. + ZoneId *string + + noSmithyDocumentSerde +} + // Information about an IPv4 prefix. type InstanceIpv4Prefix struct { @@ -7235,14 +7310,13 @@ type InstancePrivateIpAddress struct { // use the launch template in the [launch instance wizard]or with the [RunInstances API], you can't specify // InstanceRequirements . // -// For more information, see [Create a mixed instances group using attribute-based instance type selection] in the Amazon EC2 Auto Scaling User Guide, and also [Attribute-based instance type selection for EC2 Fleet] -// , [Attribute-based instance type selection for Spot Fleet], and [Spot placement score] in the Amazon EC2 User Guide. +// For more information, see [Create mixed instances group using attribute-based instance type selection] in the Amazon EC2 Auto Scaling User Guide, and also [Specify attributes for instance type selection for EC2 Fleet or Spot Fleet] +// and [Spot placement score]in the Amazon EC2 User Guide. // -// [Attribute-based instance type selection for EC2 Fleet]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html +// [Specify attributes for instance type selection for EC2 Fleet or Spot Fleet]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html // [RunInstances API]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html +// [Create mixed instances group using attribute-based instance type selection]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-mixed-instances-group-attribute-based-instance-type-selection.html // [Spot placement score]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html -// [Create a mixed instances group using attribute-based instance type selection]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-mixed-instances-group-attribute-based-instance-type-selection.html -// [Attribute-based instance type selection for Spot Fleet]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-attribute-based-instance-type-selection.html // [launch instance wizard]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html type InstanceRequirements struct { @@ -7583,13 +7657,12 @@ type InstanceRequirements struct { // use the launch template in the [launch instance wizard], or with the [RunInstances] API or [AWS::EC2::Instance] Amazon Web Services // CloudFormation resource, you can't specify InstanceRequirements . // -// For more information, see [Attribute-based instance type selection for EC2 Fleet], [Attribute-based instance type selection for Spot Fleet], and [Spot placement score] in the Amazon EC2 User Guide. +// For more information, see [Specify attributes for instance type selection for EC2 Fleet or Spot Fleet] and [Spot placement score] in the Amazon EC2 User Guide. // -// [Attribute-based instance type selection for EC2 Fleet]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html +// [Specify attributes for instance type selection for EC2 Fleet or Spot Fleet]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html // [AWS::EC2::Instance]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html // [RunInstances]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html // [Spot placement score]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html -// [Attribute-based instance type selection for Spot Fleet]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-attribute-based-instance-type-selection.html // [launch instance wizard]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html type InstanceRequirementsRequest struct { @@ -9821,7 +9894,8 @@ type LaunchTemplateEbsBlockDevice struct { // The number of I/O operations per second (IOPS) that the volume supports. Iops *int32 - // The ARN of the Key Management Service (KMS) CMK used for encryption. + // Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed + // KMS key to use for EBS encryption. KmsKeyId *string // The ID of the snapshot. @@ -9871,7 +9945,8 @@ type LaunchTemplateEbsBlockDeviceRequest struct { // [instances built on the Nitro System]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances Iops *int32 - // The ARN of the symmetric Key Management Service (KMS) CMK used for encryption. + // Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed + // KMS key to use for EBS encryption. KmsKeyId *string // The ID of the snapshot. @@ -13792,12 +13867,26 @@ type RequestLaunchTemplateData struct { // Deprecated. // - // Amazon Elastic Graphics reached end of life on January 8, 2024. + // Amazon Elastic Graphics reached end of life on January 8, 2024. For workloads + // that require graphics acceleration, we recommend that you use Amazon EC2 G4ad, + // G4dn, or G5 instances. ElasticGpuSpecifications []ElasticGpuSpecification - // Deprecated. - // // Amazon Elastic Inference is no longer available. + // + // An elastic inference accelerator to associate with the instance. Elastic + // inference accelerators are a resource you can attach to your Amazon EC2 + // instances to accelerate your Deep Learning (DL) inference workloads. + // + // You cannot specify accelerators from different generations in the same request. + // + // Starting April 15, 2023, Amazon Web Services will not onboard new customers to + // Amazon Elastic Inference (EI), and will help current customers migrate their + // workloads to options that offer better price and performance. After April 15, + // 2023, new customers will not be able to launch instances with Amazon EI + // accelerators in Amazon SageMaker, Amazon ECS, or Amazon EC2. However, customers + // who have used Amazon EI at least once during the past 30-day period are + // considered current customers and will be able to continue using the service. ElasticInferenceAccelerators []LaunchTemplateElasticInferenceAccelerator // Indicates whether the instance is enabled for Amazon Web Services Nitro @@ -13897,13 +13986,12 @@ type RequestLaunchTemplateData struct { // use the launch template in the [launch instance wizard], or with the [RunInstances] API or [AWS::EC2::Instance] Amazon Web Services // CloudFormation resource, you can't specify InstanceRequirements . // - // For more information, see [Attribute-based instance type selection for EC2 Fleet], [Attribute-based instance type selection for Spot Fleet], and [Spot placement score] in the Amazon EC2 User Guide. + // For more information, see [Specify attributes for instance type selection for EC2 Fleet or Spot Fleet] and [Spot placement score] in the Amazon EC2 User Guide. // - // [Attribute-based instance type selection for EC2 Fleet]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html + // [Specify attributes for instance type selection for EC2 Fleet or Spot Fleet]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html // [AWS::EC2::Instance]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html // [RunInstances]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html // [Spot placement score]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html - // [Attribute-based instance type selection for Spot Fleet]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-attribute-based-instance-type-selection.html // [launch instance wizard]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html InstanceRequirements *InstanceRequirementsRequest @@ -14492,12 +14580,26 @@ type ResponseLaunchTemplateData struct { // Deprecated. // - // Amazon Elastic Graphics reached end of life on January 8, 2024. + // Amazon Elastic Graphics reached end of life on January 8, 2024. For workloads + // that require graphics acceleration, we recommend that you use Amazon EC2 G4ad, + // G4dn, or G5 instances. ElasticGpuSpecifications []ElasticGpuSpecificationResponse - // Deprecated. - // // Amazon Elastic Inference is no longer available. + // + // An elastic inference accelerator to associate with the instance. Elastic + // inference accelerators are a resource you can attach to your Amazon EC2 + // instances to accelerate your Deep Learning (DL) inference workloads. + // + // You cannot specify accelerators from different generations in the same request. + // + // Starting April 15, 2023, Amazon Web Services will not onboard new customers to + // Amazon Elastic Inference (EI), and will help current customers migrate their + // workloads to options that offer better price and performance. After April 15, + // 2023, new customers will not be able to launch instances with Amazon EI + // accelerators in Amazon SageMaker, Amazon ECS, or Amazon EC2. However, customers + // who have used Amazon EI at least once during the past 30-day period are + // considered current customers and will be able to continue using the service. ElasticInferenceAccelerators []LaunchTemplateElasticInferenceAcceleratorResponse // Indicates whether the instance is enabled for Amazon Web Services Nitro diff --git a/vendor/modules.txt b/vendor/modules.txt index 2e4e3348..1a672101 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -61,7 +61,7 @@ github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 # github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 ## explicit; go 1.21 github.com/aws/aws-sdk-go-v2/internal/ini -# github.com/aws/aws-sdk-go-v2/service/ec2 v1.183.0 +# github.com/aws/aws-sdk-go-v2/service/ec2 v1.186.0 ## explicit; go 1.21 github.com/aws/aws-sdk-go-v2/service/ec2 github.com/aws/aws-sdk-go-v2/service/ec2/internal/endpoints