From 62c8b91bc9598ed13801c2643c8b077aca297a6e Mon Sep 17 00:00:00 2001 From: awstools Date: Tue, 14 Feb 2023 19:13:56 +0000 Subject: [PATCH] feat(client-ec2): With this release customers can turn host maintenance on or off when allocating or modifying a supported dedicated host. Host maintenance is turned on by default for supported hosts. --- .../DeleteTrafficMirrorSessionCommand.ts | 4 +- .../commands/UnassignIpv6AddressesCommand.ts | 8 +- clients/client-ec2/src/models/models_0.ts | 19 +- clients/client-ec2/src/models/models_1.ts | 49 +-- clients/client-ec2/src/models/models_2.ts | 56 ++- clients/client-ec2/src/models/models_3.ts | 339 +--------------- clients/client-ec2/src/models/models_4.ts | 361 +++++++++++++++++- clients/client-ec2/src/models/models_5.ts | 27 +- clients/client-ec2/src/models/models_6.ts | 40 +- clients/client-ec2/src/models/models_7.ts | 24 ++ clients/client-ec2/src/protocols/Aws_ec2.ts | 20 +- codegen/sdk-codegen/aws-models/ec2.json | 37 ++ 12 files changed, 541 insertions(+), 443 deletions(-) diff --git a/clients/client-ec2/src/commands/DeleteTrafficMirrorSessionCommand.ts b/clients/client-ec2/src/commands/DeleteTrafficMirrorSessionCommand.ts index 10d5a291f0185..986959981e530 100644 --- a/clients/client-ec2/src/commands/DeleteTrafficMirrorSessionCommand.ts +++ b/clients/client-ec2/src/commands/DeleteTrafficMirrorSessionCommand.ts @@ -17,9 +17,11 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from " import { DeleteTrafficMirrorSessionRequest, DeleteTrafficMirrorSessionRequestFilterSensitiveLog, +} from "../models/models_2"; +import { DeleteTrafficMirrorSessionResult, DeleteTrafficMirrorSessionResultFilterSensitiveLog, -} from "../models/models_2"; +} from "../models/models_3"; import { deserializeAws_ec2DeleteTrafficMirrorSessionCommand, serializeAws_ec2DeleteTrafficMirrorSessionCommand, diff --git a/clients/client-ec2/src/commands/UnassignIpv6AddressesCommand.ts b/clients/client-ec2/src/commands/UnassignIpv6AddressesCommand.ts index 9d4ce8e61233b..f3bd1be6f1998 100644 --- a/clients/client-ec2/src/commands/UnassignIpv6AddressesCommand.ts +++ b/clients/client-ec2/src/commands/UnassignIpv6AddressesCommand.ts @@ -14,8 +14,12 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { UnassignIpv6AddressesRequest, UnassignIpv6AddressesRequestFilterSensitiveLog } from "../models/models_6"; -import { UnassignIpv6AddressesResult, UnassignIpv6AddressesResultFilterSensitiveLog } from "../models/models_7"; +import { + UnassignIpv6AddressesRequest, + UnassignIpv6AddressesRequestFilterSensitiveLog, + UnassignIpv6AddressesResult, + UnassignIpv6AddressesResultFilterSensitiveLog, +} from "../models/models_7"; import { deserializeAws_ec2UnassignIpv6AddressesCommand, serializeAws_ec2UnassignIpv6AddressesCommand, diff --git a/clients/client-ec2/src/models/models_0.ts b/clients/client-ec2/src/models/models_0.ts index 2d38c2d94e476..59361f1ba7a38 100644 --- a/clients/client-ec2/src/models/models_0.ts +++ b/clients/client-ec2/src/models/models_0.ts @@ -2264,6 +2264,11 @@ export enum AutoPlacement { on = "on", } +export enum HostMaintenance { + off = "off", + on = "on", +} + export enum HostRecovery { off = "off", on = "on", @@ -2335,6 +2340,15 @@ export interface AllocateHostsRequest { * the Dedicated Host.

*/ OutpostArn?: string; + + /** + *

Indicates whether to enable or disable host maintenance for the Dedicated Host. For + * more information, see Host + * maintenance in the Amazon EC2 User Guide.

+ *

Default: on + *

+ */ + HostMaintenance?: HostMaintenance | string; } /** @@ -7347,11 +7361,6 @@ export interface ConnectionLogOptions { CloudwatchLogStream?: string; } -export enum SelfServicePortal { - disabled = "disabled", - enabled = "enabled", -} - /** * @internal */ diff --git a/clients/client-ec2/src/models/models_1.ts b/clients/client-ec2/src/models/models_1.ts index d7928d662a793..310d618e4b634 100644 --- a/clients/client-ec2/src/models/models_1.ts +++ b/clients/client-ec2/src/models/models_1.ts @@ -28,8 +28,6 @@ import { Protocol, ReservedInstancesListing, ResourceType, - RouteTableAssociationState, - SelfServicePortal, SubnetIpv6CidrBlockAssociation, Tag, TagSpecification, @@ -39,6 +37,11 @@ import { WeekDay, } from "./models_0"; +export enum SelfServicePortal { + disabled = "disabled", + enabled = "enabled", +} + export enum TransportProtocol { tcp = "tcp", udp = "udp", @@ -8812,41 +8815,6 @@ export interface CreateRouteTableRequest { TagSpecifications?: TagSpecification[]; } -/** - *

Describes an association between a route table and a subnet or gateway.

- */ -export interface RouteTableAssociation { - /** - *

Indicates whether this is the main route table.

- */ - Main?: boolean; - - /** - *

The ID of the association.

- */ - RouteTableAssociationId?: string; - - /** - *

The ID of the route table.

- */ - RouteTableId?: string; - - /** - *

The ID of the subnet. A subnet ID is not returned for an implicit association.

- */ - SubnetId?: string; - - /** - *

The ID of the internet gateway or virtual private gateway.

- */ - GatewayId?: string; - - /** - *

The state of the association.

- */ - AssociationState?: RouteTableAssociationState; -} - /** * @internal */ @@ -10543,10 +10511,3 @@ export const CreateRouteResultFilterSensitiveLog = (obj: CreateRouteResult): any export const CreateRouteTableRequestFilterSensitiveLog = (obj: CreateRouteTableRequest): any => ({ ...obj, }); - -/** - * @internal - */ -export const RouteTableAssociationFilterSensitiveLog = (obj: RouteTableAssociation): any => ({ - ...obj, -}); diff --git a/clients/client-ec2/src/models/models_2.ts b/clients/client-ec2/src/models/models_2.ts index f5d866f909036..226164d6445de 100644 --- a/clients/client-ec2/src/models/models_2.ts +++ b/clients/client-ec2/src/models/models_2.ts @@ -7,6 +7,7 @@ import { DynamicRoutingValue, InstanceEventWindowState, Ipv6SupportValue, + RouteTableAssociationState, Tag, TagSpecification, TransitGatewayAttachmentResourceType, @@ -38,13 +39,47 @@ import { LocalGatewayRouteTableVirtualInterfaceGroupAssociation, LocalGatewayRouteTableVpcAssociation, ManagedPrefixList, - RouteTableAssociation, Subnet, Tenancy, VolumeType, Vpc, } from "./models_1"; +/** + *

Describes an association between a route table and a subnet or gateway.

+ */ +export interface RouteTableAssociation { + /** + *

Indicates whether this is the main route table.

+ */ + Main?: boolean; + + /** + *

The ID of the association.

+ */ + RouteTableAssociationId?: string; + + /** + *

The ID of the route table.

+ */ + RouteTableId?: string; + + /** + *

The ID of the subnet. A subnet ID is not returned for an implicit association.

+ */ + SubnetId?: string; + + /** + *

The ID of the internet gateway or virtual private gateway.

+ */ + GatewayId?: string; + + /** + *

The state of the association.

+ */ + AssociationState?: RouteTableAssociationState; +} + /** *

Describes a virtual private gateway propagating route.

*/ @@ -6424,12 +6459,12 @@ export interface DeleteTrafficMirrorSessionRequest { DryRun?: boolean; } -export interface DeleteTrafficMirrorSessionResult { - /** - *

The ID of the deleted Traffic Mirror session.

- */ - TrafficMirrorSessionId?: string; -} +/** + * @internal + */ +export const RouteTableAssociationFilterSensitiveLog = (obj: RouteTableAssociation): any => ({ + ...obj, +}); /** * @internal @@ -8277,10 +8312,3 @@ export const DeleteTrafficMirrorFilterRuleResultFilterSensitiveLog = ( export const DeleteTrafficMirrorSessionRequestFilterSensitiveLog = (obj: DeleteTrafficMirrorSessionRequest): any => ({ ...obj, }); - -/** - * @internal - */ -export const DeleteTrafficMirrorSessionResultFilterSensitiveLog = (obj: DeleteTrafficMirrorSessionResult): any => ({ - ...obj, -}); diff --git a/clients/client-ec2/src/models/models_3.ts b/clients/client-ec2/src/models/models_3.ts index 7ae709498d30d..f4e9ae18ab92e 100644 --- a/clients/client-ec2/src/models/models_3.ts +++ b/clients/client-ec2/src/models/models_3.ts @@ -24,8 +24,8 @@ import { FleetCapacityReservation, FleetCapacityReservationTenancy, FleetInstanceMatchCriteria, + HostMaintenance, HostRecovery, - IamInstanceProfile, IamInstanceProfileAssociation, InstanceEventWindow, Tag, @@ -64,7 +64,6 @@ import { LaunchTemplateAndOverridesResponse, LogDestinationType, NetworkInterfaceStatus, - Placement, PlatformValues, SpotAllocationStrategy, SpotInstanceInterruptionBehavior, @@ -88,6 +87,13 @@ import { VerifiedAccessGroup, } from "./models_2"; +export interface DeleteTrafficMirrorSessionResult { + /** + *

The ID of the deleted Traffic Mirror session.

+ */ + TrafficMirrorSessionId?: string; +} + export interface DeleteTrafficMirrorTargetRequest { /** *

The ID of the Traffic Mirror target.

@@ -5798,6 +5804,12 @@ export interface Host { * Dedicated Host is allocated.

*/ OutpostArn?: string; + + /** + *

Indicates whether host maintenance is enabled or disabled for the Dedicated + * Host.

+ */ + HostMaintenance?: HostMaintenance | string; } export interface DescribeHostsResult { @@ -8343,319 +8355,11 @@ export interface InstanceState { } /** - *

Describes an instance.

+ * @internal */ -export interface Instance { - /** - *

The AMI launch index, which can be used to find this instance in the launch - * group.

- */ - AmiLaunchIndex?: number; - - /** - *

The ID of the AMI used to launch the instance.

- */ - ImageId?: string; - - /** - *

The ID of the instance.

- */ - InstanceId?: string; - - /** - *

The instance type.

- */ - InstanceType?: _InstanceType | string; - - /** - *

The kernel associated with this instance, if applicable.

- */ - KernelId?: string; - - /** - *

The name of the key pair, if this instance was launched with an associated key - * pair.

- */ - KeyName?: string; - - /** - *

The time the instance was launched.

- */ - LaunchTime?: Date; - - /** - *

The monitoring for the instance.

- */ - Monitoring?: Monitoring; - - /** - *

The location where the instance launched, if applicable.

- */ - Placement?: Placement; - - /** - *

The value is Windows for Windows instances; otherwise blank.

- */ - Platform?: PlatformValues | string; - - /** - *

(IPv4 only) The private DNS hostname name assigned to the instance. This DNS hostname - * can only be used inside the Amazon EC2 network. This name is not available until the - * instance enters the running state.

- *

[EC2-VPC] The Amazon-provided DNS server resolves Amazon-provided private DNS - * hostnames if you've enabled DNS resolution and DNS hostnames in your VPC. If you are not - * using the Amazon-provided DNS server in your VPC, your custom domain name servers must - * resolve the hostname as appropriate.

- */ - PrivateDnsName?: string; - - /** - *

The private IPv4 address assigned to the instance.

- */ - PrivateIpAddress?: string; - - /** - *

The product codes attached to this instance, if applicable.

- */ - ProductCodes?: ProductCode[]; - - /** - *

(IPv4 only) The public DNS name assigned to the instance. This name is not available - * until the instance enters the running state. For EC2-VPC, this name is only - * available if you've enabled DNS hostnames for your VPC.

- */ - PublicDnsName?: string; - - /** - *

The public IPv4 address, or the Carrier IP address assigned to the instance, if - * applicable.

- *

A Carrier IP address only applies to an instance launched in a subnet associated with - * a Wavelength Zone.

- */ - PublicIpAddress?: string; - - /** - *

The RAM disk associated with this instance, if applicable.

- */ - RamdiskId?: string; - - /** - *

The current state of the instance.

- */ - State?: InstanceState; - - /** - *

The reason for the most recent state transition. This might be an empty string.

- */ - StateTransitionReason?: string; - - /** - *

[EC2-VPC] The ID of the subnet in which the instance is running.

- */ - SubnetId?: string; - - /** - *

[EC2-VPC] The ID of the VPC in which the instance is running.

- */ - VpcId?: string; - - /** - *

The architecture of the image.

- */ - Architecture?: ArchitectureValues | string; - - /** - *

Any block device mapping entries for the instance.

- */ - BlockDeviceMappings?: InstanceBlockDeviceMapping[]; - - /** - *

The idempotency token you provided when you launched the instance, if - * applicable.

- */ - ClientToken?: string; - - /** - *

Indicates whether the instance is optimized for Amazon EBS I/O. This optimization - * provides dedicated throughput to Amazon EBS and an optimized configuration stack to - * provide optimal I/O performance. This optimization isn't available with all instance - * types. Additional usage charges apply when using an EBS Optimized instance.

- */ - EbsOptimized?: boolean; - - /** - *

Specifies whether enhanced networking with ENA is enabled.

- */ - EnaSupport?: boolean; - - /** - *

The hypervisor type of the instance. The value xen is used for both Xen - * and Nitro hypervisors.

- */ - Hypervisor?: HypervisorType | string; - - /** - *

The IAM instance profile associated with the instance, if - * applicable.

- */ - IamInstanceProfile?: IamInstanceProfile; - - /** - *

Indicates whether this is a Spot Instance or a Scheduled Instance.

- */ - InstanceLifecycle?: InstanceLifecycleType | string; - - /** - *

The Elastic GPU associated with the instance.

- */ - ElasticGpuAssociations?: ElasticGpuAssociation[]; - - /** - *

The elastic inference accelerator associated with the instance.

- */ - ElasticInferenceAcceleratorAssociations?: ElasticInferenceAcceleratorAssociation[]; - - /** - *

[EC2-VPC] The network interfaces for the instance.

- */ - NetworkInterfaces?: InstanceNetworkInterface[]; - - /** - *

The Amazon Resource Name (ARN) of the Outpost.

- */ - OutpostArn?: string; - - /** - *

The device name of the root device volume (for example, - * /dev/sda1).

- */ - RootDeviceName?: string; - - /** - *

The root device type used by the AMI. The AMI can use an EBS volume or an instance - * store volume.

- */ - RootDeviceType?: DeviceType | string; - - /** - *

The security groups for the instance.

- */ - SecurityGroups?: GroupIdentifier[]; - - /** - *

Indicates whether source/destination checking is enabled.

- */ - SourceDestCheck?: boolean; - - /** - *

If the request is a Spot Instance request, the ID of the request.

- */ - SpotInstanceRequestId?: string; - - /** - *

Specifies whether enhanced networking with the Intel 82599 Virtual Function interface - * is enabled.

- */ - SriovNetSupport?: string; - - /** - *

The reason for the most recent state transition.

- */ - StateReason?: StateReason; - - /** - *

Any tags assigned to the instance.

- */ - Tags?: Tag[]; - - /** - *

The virtualization type of the instance.

- */ - VirtualizationType?: VirtualizationType | string; - - /** - *

The CPU options for the instance.

- */ - CpuOptions?: CpuOptions; - - /** - *

The ID of the Capacity Reservation.

- */ - CapacityReservationId?: string; - - /** - *

Information about the Capacity Reservation targeting option.

- */ - CapacityReservationSpecification?: CapacityReservationSpecificationResponse; - - /** - *

Indicates whether the instance is enabled for hibernation.

- */ - HibernationOptions?: HibernationOptions; - - /** - *

The license configurations for the instance.

- */ - Licenses?: LicenseConfiguration[]; - - /** - *

The metadata options for the instance.

- */ - MetadataOptions?: InstanceMetadataOptionsResponse; - - /** - *

Indicates whether the instance is enabled for Amazon Web Services Nitro - * Enclaves.

- */ - EnclaveOptions?: EnclaveOptions; - - /** - *

The boot mode of the instance. For more information, see Boot modes in the - * Amazon EC2 User Guide.

- */ - BootMode?: BootModeValues | string; - - /** - *

The platform details value for the instance. For more information, see AMI - * billing information fields in the - * Amazon EC2 User Guide.

- */ - PlatformDetails?: string; - - /** - *

The usage operation value for the instance. For more information, see AMI - * billing information fields in the - * Amazon EC2 User Guide.

- */ - UsageOperation?: string; - - /** - *

The time that the usage operation was last updated.

- */ - UsageOperationUpdateTime?: Date; - - /** - *

The options for the instance hostname.

- */ - PrivateDnsNameOptions?: PrivateDnsNameOptionsResponse; - - /** - *

The IPv6 address assigned to the instance.

- */ - Ipv6Address?: string; - - /** - *

If the instance is configured for NitroTPM support, the value is v2.0. - * For more information, see NitroTPM in the - * Amazon EC2 User Guide.

- */ - TpmSupport?: string; - - /** - *

Provides information on the recovery and maintenance options of your instance.

- */ - MaintenanceOptions?: InstanceMaintenanceOptions; -} +export const DeleteTrafficMirrorSessionResultFilterSensitiveLog = (obj: DeleteTrafficMirrorSessionResult): any => ({ + ...obj, +}); /** * @internal @@ -10566,10 +10270,3 @@ export const PrivateDnsNameOptionsResponseFilterSensitiveLog = (obj: PrivateDnsN export const InstanceStateFilterSensitiveLog = (obj: InstanceState): any => ({ ...obj, }); - -/** - * @internal - */ -export const InstanceFilterSensitiveLog = (obj: Instance): any => ({ - ...obj, -}); diff --git a/clients/client-ec2/src/models/models_4.ts b/clients/client-ec2/src/models/models_4.ts index fdbc7598b0bc0..6ef15e624214c 100644 --- a/clients/client-ec2/src/models/models_4.ts +++ b/clients/client-ec2/src/models/models_4.ts @@ -10,6 +10,7 @@ import { BatchState, CurrencyCodeValues, Explanation, + IamInstanceProfile, IamInstanceProfileSpecification, IpamResourceDiscoveryAssociation, IpPermission, @@ -60,10 +61,13 @@ import { NetworkInterface, NetworkInterfaceAttachment, NetworkInterfacePermission, + Placement, PlacementGroup, + PlatformValues, PrivateIpAddressSpecification, ReplaceRootVolumeTask, SpotInstanceType, + StateReason, Subnet, TargetCapacityUnitType, Tenancy, @@ -91,17 +95,349 @@ import { Volume, } from "./models_2"; import { + ArchitectureValues, AttributeBooleanValue, + BootModeValues, + CapacityReservationSpecificationResponse, + CpuOptions, + DeviceType, + ElasticGpuAssociation, + ElasticInferenceAcceleratorAssociation, + EnclaveOptions, EventInformation, Filter, + HibernationOptions, + HypervisorType, IdFormat, - Instance, + InstanceBlockDeviceMapping, + InstanceLifecycleType, + InstanceMaintenanceOptions, + InstanceMetadataOptionsResponse, + InstanceNetworkInterface, InstanceState, + LicenseConfiguration, + Monitoring, PermissionGroup, + PrivateDnsNameOptionsResponse, ProductCode, VirtualizationType, } from "./models_3"; +/** + *

Describes an instance.

+ */ +export interface Instance { + /** + *

The AMI launch index, which can be used to find this instance in the launch + * group.

+ */ + AmiLaunchIndex?: number; + + /** + *

The ID of the AMI used to launch the instance.

+ */ + ImageId?: string; + + /** + *

The ID of the instance.

+ */ + InstanceId?: string; + + /** + *

The instance type.

+ */ + InstanceType?: _InstanceType | string; + + /** + *

The kernel associated with this instance, if applicable.

+ */ + KernelId?: string; + + /** + *

The name of the key pair, if this instance was launched with an associated key + * pair.

+ */ + KeyName?: string; + + /** + *

The time the instance was launched.

+ */ + LaunchTime?: Date; + + /** + *

The monitoring for the instance.

+ */ + Monitoring?: Monitoring; + + /** + *

The location where the instance launched, if applicable.

+ */ + Placement?: Placement; + + /** + *

The value is Windows for Windows instances; otherwise blank.

+ */ + Platform?: PlatformValues | string; + + /** + *

(IPv4 only) The private DNS hostname name assigned to the instance. This DNS hostname + * can only be used inside the Amazon EC2 network. This name is not available until the + * instance enters the running state.

+ *

[EC2-VPC] The Amazon-provided DNS server resolves Amazon-provided private DNS + * hostnames if you've enabled DNS resolution and DNS hostnames in your VPC. If you are not + * using the Amazon-provided DNS server in your VPC, your custom domain name servers must + * resolve the hostname as appropriate.

+ */ + PrivateDnsName?: string; + + /** + *

The private IPv4 address assigned to the instance.

+ */ + PrivateIpAddress?: string; + + /** + *

The product codes attached to this instance, if applicable.

+ */ + ProductCodes?: ProductCode[]; + + /** + *

(IPv4 only) The public DNS name assigned to the instance. This name is not available + * until the instance enters the running state. For EC2-VPC, this name is only + * available if you've enabled DNS hostnames for your VPC.

+ */ + PublicDnsName?: string; + + /** + *

The public IPv4 address, or the Carrier IP address assigned to the instance, if + * applicable.

+ *

A Carrier IP address only applies to an instance launched in a subnet associated with + * a Wavelength Zone.

+ */ + PublicIpAddress?: string; + + /** + *

The RAM disk associated with this instance, if applicable.

+ */ + RamdiskId?: string; + + /** + *

The current state of the instance.

+ */ + State?: InstanceState; + + /** + *

The reason for the most recent state transition. This might be an empty string.

+ */ + StateTransitionReason?: string; + + /** + *

[EC2-VPC] The ID of the subnet in which the instance is running.

+ */ + SubnetId?: string; + + /** + *

[EC2-VPC] The ID of the VPC in which the instance is running.

+ */ + VpcId?: string; + + /** + *

The architecture of the image.

+ */ + Architecture?: ArchitectureValues | string; + + /** + *

Any block device mapping entries for the instance.

+ */ + BlockDeviceMappings?: InstanceBlockDeviceMapping[]; + + /** + *

The idempotency token you provided when you launched the instance, if + * applicable.

+ */ + ClientToken?: string; + + /** + *

Indicates whether the instance is optimized for Amazon EBS I/O. This optimization + * provides dedicated throughput to Amazon EBS and an optimized configuration stack to + * provide optimal I/O performance. This optimization isn't available with all instance + * types. Additional usage charges apply when using an EBS Optimized instance.

+ */ + EbsOptimized?: boolean; + + /** + *

Specifies whether enhanced networking with ENA is enabled.

+ */ + EnaSupport?: boolean; + + /** + *

The hypervisor type of the instance. The value xen is used for both Xen + * and Nitro hypervisors.

+ */ + Hypervisor?: HypervisorType | string; + + /** + *

The IAM instance profile associated with the instance, if + * applicable.

+ */ + IamInstanceProfile?: IamInstanceProfile; + + /** + *

Indicates whether this is a Spot Instance or a Scheduled Instance.

+ */ + InstanceLifecycle?: InstanceLifecycleType | string; + + /** + *

The Elastic GPU associated with the instance.

+ */ + ElasticGpuAssociations?: ElasticGpuAssociation[]; + + /** + *

The elastic inference accelerator associated with the instance.

+ */ + ElasticInferenceAcceleratorAssociations?: ElasticInferenceAcceleratorAssociation[]; + + /** + *

[EC2-VPC] The network interfaces for the instance.

+ */ + NetworkInterfaces?: InstanceNetworkInterface[]; + + /** + *

The Amazon Resource Name (ARN) of the Outpost.

+ */ + OutpostArn?: string; + + /** + *

The device name of the root device volume (for example, + * /dev/sda1).

+ */ + RootDeviceName?: string; + + /** + *

The root device type used by the AMI. The AMI can use an EBS volume or an instance + * store volume.

+ */ + RootDeviceType?: DeviceType | string; + + /** + *

The security groups for the instance.

+ */ + SecurityGroups?: GroupIdentifier[]; + + /** + *

Indicates whether source/destination checking is enabled.

+ */ + SourceDestCheck?: boolean; + + /** + *

If the request is a Spot Instance request, the ID of the request.

+ */ + SpotInstanceRequestId?: string; + + /** + *

Specifies whether enhanced networking with the Intel 82599 Virtual Function interface + * is enabled.

+ */ + SriovNetSupport?: string; + + /** + *

The reason for the most recent state transition.

+ */ + StateReason?: StateReason; + + /** + *

Any tags assigned to the instance.

+ */ + Tags?: Tag[]; + + /** + *

The virtualization type of the instance.

+ */ + VirtualizationType?: VirtualizationType | string; + + /** + *

The CPU options for the instance.

+ */ + CpuOptions?: CpuOptions; + + /** + *

The ID of the Capacity Reservation.

+ */ + CapacityReservationId?: string; + + /** + *

Information about the Capacity Reservation targeting option.

+ */ + CapacityReservationSpecification?: CapacityReservationSpecificationResponse; + + /** + *

Indicates whether the instance is enabled for hibernation.

+ */ + HibernationOptions?: HibernationOptions; + + /** + *

The license configurations for the instance.

+ */ + Licenses?: LicenseConfiguration[]; + + /** + *

The metadata options for the instance.

+ */ + MetadataOptions?: InstanceMetadataOptionsResponse; + + /** + *

Indicates whether the instance is enabled for Amazon Web Services Nitro + * Enclaves.

+ */ + EnclaveOptions?: EnclaveOptions; + + /** + *

The boot mode of the instance. For more information, see Boot modes in the + * Amazon EC2 User Guide.

+ */ + BootMode?: BootModeValues | string; + + /** + *

The platform details value for the instance. For more information, see AMI + * billing information fields in the + * Amazon EC2 User Guide.

+ */ + PlatformDetails?: string; + + /** + *

The usage operation value for the instance. For more information, see AMI + * billing information fields in the + * Amazon EC2 User Guide.

+ */ + UsageOperation?: string; + + /** + *

The time that the usage operation was last updated.

+ */ + UsageOperationUpdateTime?: Date; + + /** + *

The options for the instance hostname.

+ */ + PrivateDnsNameOptions?: PrivateDnsNameOptionsResponse; + + /** + *

The IPv6 address assigned to the instance.

+ */ + Ipv6Address?: string; + + /** + *

If the instance is configured for NitroTPM support, the value is v2.0. + * For more information, see NitroTPM in the + * Amazon EC2 User Guide.

+ */ + TpmSupport?: string; + + /** + *

Provides information on the recovery and maintenance options of your instance.

+ */ + MaintenanceOptions?: InstanceMaintenanceOptions; +} + /** *

Describes a launch request for one or more instances, and includes owner, requester, * and security group information that applies to all instances in the launch @@ -10096,19 +10432,11 @@ export enum VolumeStatusName { } /** - *

Describes a volume status.

+ * @internal */ -export interface VolumeStatusDetails { - /** - *

The name of the volume status.

- */ - Name?: VolumeStatusName | string; - - /** - *

The intended status of the volume status.

- */ - Status?: string; -} +export const InstanceFilterSensitiveLog = (obj: Instance): any => ({ + ...obj, +}); /** * @internal @@ -12118,10 +12446,3 @@ export const VolumeStatusAttachmentStatusFilterSensitiveLog = (obj: VolumeStatus export const VolumeStatusEventFilterSensitiveLog = (obj: VolumeStatusEvent): any => ({ ...obj, }); - -/** - * @internal - */ -export const VolumeStatusDetailsFilterSensitiveLog = (obj: VolumeStatusDetails): any => ({ - ...obj, -}); diff --git a/clients/client-ec2/src/models/models_5.ts b/clients/client-ec2/src/models/models_5.ts index 9f516a3eba8d7..416f73f71bdc1 100644 --- a/clients/client-ec2/src/models/models_5.ts +++ b/clients/client-ec2/src/models/models_5.ts @@ -88,10 +88,25 @@ import { ArchitectureType, VolumeStatusAction, VolumeStatusAttachmentStatus, - VolumeStatusDetails, VolumeStatusEvent, + VolumeStatusName, } from "./models_4"; +/** + *

Describes a volume status.

+ */ +export interface VolumeStatusDetails { + /** + *

The name of the volume status.

+ */ + Name?: VolumeStatusName | string; + + /** + *

The intended status of the volume status.

+ */ + Status?: string; +} + export enum VolumeStatusInfoStatus { impaired = "impaired", insufficient_data = "insufficient-data", @@ -6794,10 +6809,12 @@ export interface ModifyAddressAttributeResult { Address?: AddressAttribute; } -export enum ModifyAvailabilityZoneOptInStatus { - not_opted_in = "not-opted-in", - opted_in = "opted-in", -} +/** + * @internal + */ +export const VolumeStatusDetailsFilterSensitiveLog = (obj: VolumeStatusDetails): any => ({ + ...obj, +}); /** * @internal diff --git a/clients/client-ec2/src/models/models_6.ts b/clients/client-ec2/src/models/models_6.ts index 327e1ceab0b1c..a71bd48676b0d 100644 --- a/clients/client-ec2/src/models/models_6.ts +++ b/clients/client-ec2/src/models/models_6.ts @@ -20,6 +20,7 @@ import { DnsSupportValue, EnaSrdSpecification, EndDateType, + HostMaintenance, HostRecovery, IamInstanceProfileAssociation, IamInstanceProfileSpecification, @@ -28,7 +29,6 @@ import { Ipv6SupportValue, PortRange, RouteTableAssociationState, - SelfServicePortal, TagSpecification, TransitGatewayAttachmentResourceType, TransitGatewayMulticastDomainAssociations, @@ -63,6 +63,7 @@ import { Placement, RequestIpamResourceTag, RuleAction, + SelfServicePortal, ShutdownBehavior, SpotInstanceType, TargetCapacitySpecificationRequest, @@ -148,11 +149,15 @@ import { import { InstanceFamilyCreditSpecification, IpamResourceCidr, - ModifyAvailabilityZoneOptInStatus, Purchase, UnlimitedSupportedInstanceFamily, } from "./models_5"; +export enum ModifyAvailabilityZoneOptInStatus { + not_opted_in = "not-opted-in", + opted_in = "opted-in", +} + export interface ModifyAvailabilityZoneGroupRequest { /** *

The name of the Availability Zone group, Local Zone group, or Wavelength Zone @@ -669,6 +674,13 @@ export interface ModifyHostsRequest { * cannot specify InstanceFamily and InstanceType in the same request.

*/ InstanceFamily?: string; + + /** + *

Indicates whether to enable or disable host maintenance for the Dedicated Host. For + * more information, see Host + * maintenance in the Amazon EC2 User Guide.

+ */ + HostMaintenance?: HostMaintenance | string; } export interface ModifyHostsResult { @@ -7532,23 +7544,6 @@ export interface TerminateInstancesResult { TerminatingInstances?: InstanceStateChange[]; } -export interface UnassignIpv6AddressesRequest { - /** - *

The IPv6 addresses to unassign from the network interface.

- */ - Ipv6Addresses?: string[]; - - /** - *

The IPv6 prefixes to unassign from the network interface.

- */ - Ipv6Prefixes?: string[]; - - /** - *

The ID of the network interface.

- */ - NetworkInterfaceId: string | undefined; -} - /** * @internal */ @@ -9754,10 +9749,3 @@ export const TerminateInstancesRequestFilterSensitiveLog = (obj: TerminateInstan export const TerminateInstancesResultFilterSensitiveLog = (obj: TerminateInstancesResult): any => ({ ...obj, }); - -/** - * @internal - */ -export const UnassignIpv6AddressesRequestFilterSensitiveLog = (obj: UnassignIpv6AddressesRequest): any => ({ - ...obj, -}); diff --git a/clients/client-ec2/src/models/models_7.ts b/clients/client-ec2/src/models/models_7.ts index fb004c78b8159..63095c9c76f4d 100644 --- a/clients/client-ec2/src/models/models_7.ts +++ b/clients/client-ec2/src/models/models_7.ts @@ -2,6 +2,23 @@ import { ByoipCidr, IpPermission, NatGatewayAddress } from "./models_0"; import { InstanceMonitoring } from "./models_6"; +export interface UnassignIpv6AddressesRequest { + /** + *

The IPv6 addresses to unassign from the network interface.

+ */ + Ipv6Addresses?: string[]; + + /** + *

The IPv6 prefixes to unassign from the network interface.

+ */ + Ipv6Prefixes?: string[]; + + /** + *

The ID of the network interface.

+ */ + NetworkInterfaceId: string | undefined; +} + export interface UnassignIpv6AddressesResult { /** *

The ID of the network interface.

@@ -217,6 +234,13 @@ export interface WithdrawByoipCidrResult { ByoipCidr?: ByoipCidr; } +/** + * @internal + */ +export const UnassignIpv6AddressesRequestFilterSensitiveLog = (obj: UnassignIpv6AddressesRequest): any => ({ + ...obj, +}); + /** * @internal */ diff --git a/clients/client-ec2/src/protocols/Aws_ec2.ts b/clients/client-ec2/src/protocols/Aws_ec2.ts index dd23b2a9da769..6f736f501ffc7 100644 --- a/clients/client-ec2/src/protocols/Aws_ec2.ts +++ b/clients/client-ec2/src/protocols/Aws_ec2.ts @@ -2479,7 +2479,6 @@ import { RequestIpamResourceTag, RequestLaunchTemplateData, ResponseLaunchTemplateData, - RouteTableAssociation, SpotOptionsRequest, StateReason, StorageLocation, @@ -2660,7 +2659,6 @@ import { DeleteTrafficMirrorFilterRuleRequest, DeleteTrafficMirrorFilterRuleResult, DeleteTrafficMirrorSessionRequest, - DeleteTrafficMirrorSessionResult, DnsEntry, DnsOptions, DnsOptionsSpecification, @@ -2687,6 +2685,7 @@ import { ResponseError, Route, RouteTable, + RouteTableAssociation, S3ObjectTag, SecurityGroupIdentifier, ServiceConfiguration, @@ -2764,6 +2763,7 @@ import { ConnectionLogResponseOptions, ConversionTask, CpuOptions, + DeleteTrafficMirrorSessionResult, DeleteTrafficMirrorTargetRequest, DeleteTrafficMirrorTargetResult, DeleteTransitGatewayConnectPeerRequest, @@ -2963,7 +2963,6 @@ import { ImportInstanceVolumeDetailItem, ImportSnapshotTask, ImportVolumeTaskDetails, - Instance, InstanceAttribute, InstanceBlockDeviceMapping, InstanceCapacity, @@ -3182,6 +3181,7 @@ import { HistoryRecord, InferenceAcceleratorInfo, InferenceDeviceInfo, + Instance, InstanceNetworkInterfaceSpecification, InstanceStatus, InstanceStatusDetails, @@ -3264,7 +3264,6 @@ import { VolumeModification, VolumeStatusAction, VolumeStatusAttachmentStatus, - VolumeStatusDetails, VolumeStatusEvent, } from "../models/models_4"; import { @@ -3550,6 +3549,7 @@ import { UserBucket, UserData, VolumeDetail, + VolumeStatusDetails, VolumeStatusInfo, VolumeStatusItem, VpcClassicLink, @@ -3840,7 +3840,6 @@ import { TransitGatewayMulticastGroup, TransitGatewayMulticastRegisteredGroupMembers, TransitGatewayMulticastRegisteredGroupSources, - UnassignIpv6AddressesRequest, UnsuccessfulInstanceCreditSpecificationItem, UnsuccessfulInstanceCreditSpecificationItemError, VerifiedAccessLogCloudWatchLogsDestinationOptions, @@ -3850,6 +3849,7 @@ import { } from "../models/models_6"; import { SecurityGroupRuleDescription, + UnassignIpv6AddressesRequest, UnassignIpv6AddressesResult, UnassignPrivateIpAddressesRequest, UnassignPrivateNatGatewayAddressRequest, @@ -34167,6 +34167,9 @@ const serializeAws_ec2AllocateHostsRequest = (input: AllocateHostsRequest, conte if (input.OutpostArn != null) { entries["OutpostArn"] = input.OutpostArn; } + if (input.HostMaintenance != null) { + entries["HostMaintenance"] = input.HostMaintenance; + } return entries; }; @@ -51115,6 +51118,9 @@ const serializeAws_ec2ModifyHostsRequest = (input: ModifyHostsRequest, context: if (input.InstanceFamily != null) { entries["InstanceFamily"] = input.InstanceFamily; } + if (input.HostMaintenance != null) { + entries["HostMaintenance"] = input.HostMaintenance; + } return entries; }; @@ -71899,6 +71905,7 @@ const deserializeAws_ec2Host = (output: any, context: __SerdeContext): Host => { AvailabilityZoneId: undefined, MemberOfServiceLinkedResourceGroup: undefined, OutpostArn: undefined, + HostMaintenance: undefined, }; if (output["autoPlacement"] !== undefined) { contents.AutoPlacement = __expectString(output["autoPlacement"]); @@ -71961,6 +71968,9 @@ const deserializeAws_ec2Host = (output: any, context: __SerdeContext): Host => { if (output["outpostArn"] !== undefined) { contents.OutpostArn = __expectString(output["outpostArn"]); } + if (output["hostMaintenance"] !== undefined) { + contents.HostMaintenance = __expectString(output["hostMaintenance"]); + } return contents; }; diff --git a/codegen/sdk-codegen/aws-models/ec2.json b/codegen/sdk-codegen/aws-models/ec2.json index 9bdb46e35f164..3a2d6c1d76d78 100644 --- a/codegen/sdk-codegen/aws-models/ec2.json +++ b/codegen/sdk-codegen/aws-models/ec2.json @@ -1676,6 +1676,12 @@ "traits": { "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Amazon Web Services Outpost on which to allocate\n the Dedicated Host.

" } + }, + "HostMaintenance": { + "target": "com.amazonaws.ec2#HostMaintenance", + "traits": { + "smithy.api#documentation": "

Indicates whether to enable or disable host maintenance for the Dedicated Host. For\n more information, see Host\n maintenance in the Amazon EC2 User Guide.

\n

Default: on\n

" + } } }, "traits": { @@ -49635,6 +49641,14 @@ "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Amazon Web Services Outpost on which the\n Dedicated Host is allocated.

", "smithy.api#xmlName": "outpostArn" } + }, + "HostMaintenance": { + "target": "com.amazonaws.ec2#HostMaintenance", + "traits": { + "aws.protocols#ec2QueryName": "HostMaintenance", + "smithy.api#documentation": "

Indicates whether host maintenance is enabled or disabled for the Dedicated\n Host.

", + "smithy.api#xmlName": "hostMaintenance" + } } }, "traits": { @@ -49691,6 +49705,23 @@ } } }, + "com.amazonaws.ec2#HostMaintenance": { + "type": "enum", + "members": { + "on": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "on" + } + }, + "off": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "off" + } + } + } + }, "com.amazonaws.ec2#HostOffering": { "type": "structure", "members": { @@ -66971,6 +67002,12 @@ "traits": { "smithy.api#documentation": "

Specifies the instance family to be supported by the Dedicated Host. Specify this\n parameter to modify a Dedicated Host to support multiple instance types within its\n current instance family.

\n

If you want to modify a Dedicated Host to support a specific instance type only, omit\n this parameter and specify InstanceType instead. You\n cannot specify InstanceFamily and InstanceType in the same request.

" } + }, + "HostMaintenance": { + "target": "com.amazonaws.ec2#HostMaintenance", + "traits": { + "smithy.api#documentation": "

Indicates whether to enable or disable host maintenance for the Dedicated Host. For\n more information, see Host\n maintenance in the Amazon EC2 User Guide.

" + } } }, "traits": {