Skip to content

Commit

Permalink
feat(client-ec2): This release adds an instance's peak and baseline n…
Browse files Browse the repository at this point in the history
…etwork bandwidth as well as the memory sizes of an instance's inference accelerators to DescribeInstanceTypes.
  • Loading branch information
awstools committed Jul 25, 2023
1 parent 53df336 commit 691ecdb
Show file tree
Hide file tree
Showing 7 changed files with 178 additions and 64 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,8 @@ export interface DescribeInstanceTypesCommandOutput extends DescribeInstanceType
* // NetworkCardIndex: Number("int"),
* // NetworkPerformance: "STRING_VALUE",
* // MaximumNetworkInterfaces: Number("int"),
* // BaselineBandwidthInGbps: Number("double"),
* // PeakBandwidthInGbps: Number("double"),
* // },
* // ],
* // Ipv4AddressesPerInterface: Number("int"),
Expand Down Expand Up @@ -188,8 +190,12 @@ export interface DescribeInstanceTypesCommandOutput extends DescribeInstanceType
* // Count: Number("int"),
* // Name: "STRING_VALUE",
* // Manufacturer: "STRING_VALUE",
* // MemoryInfo: { // InferenceDeviceMemoryInfo
* // SizeInMiB: Number("int"),
* // },
* // },
* // ],
* // TotalInferenceMemoryInMiB: Number("int"),
* // },
* // HibernationSupported: true || false,
* // BurstablePerformanceSupported: true || false,
Expand Down
52 changes: 31 additions & 21 deletions clients/client-ec2/src/models/models_4.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1927,6 +1927,17 @@ export const InstanceTypeHypervisor = {
*/
export type InstanceTypeHypervisor = (typeof InstanceTypeHypervisor)[keyof typeof InstanceTypeHypervisor];

/**
* @public
* <p>Describes the memory available to the inference accelerator.</p>
*/
export interface InferenceDeviceMemoryInfo {
/**
* <p>The size of the memory available to the inference accelerator, in MiB.</p>
*/
SizeInMiB?: number;
}

/**
* @public
* <p>Describes the Inference accelerators for the instance type.</p>
Expand All @@ -1946,6 +1957,11 @@ export interface InferenceDeviceInfo {
* <p>The manufacturer of the Inference accelerator.</p>
*/
Manufacturer?: string;

/**
* <p>Describes the memory available to the inference accelerator.</p>
*/
MemoryInfo?: InferenceDeviceMemoryInfo;
}

/**
Expand All @@ -1957,6 +1973,11 @@ export interface InferenceAcceleratorInfo {
* <p>Describes the Inference accelerators for the instance type.</p>
*/
Accelerators?: InferenceDeviceInfo[];

/**
* <p>The total size of the memory for the inference accelerators for the instance type, in MiB.</p>
*/
TotalInferenceMemoryInMiB?: number;
}

/**
Expand Down Expand Up @@ -2106,6 +2127,16 @@ export interface NetworkCardInfo {
* <p>The maximum number of network interfaces for the network card.</p>
*/
MaximumNetworkInterfaces?: number;

/**
* <p>The baseline network performance of the network card, in Gbps.</p>
*/
BaselineBandwidthInGbps?: number;

/**
* <p>The peak (burst) network performance of the network card, in Gbps.</p>
*/
PeakBandwidthInGbps?: number;
}

/**
Expand Down Expand Up @@ -11128,27 +11159,6 @@ export interface VerifiedAccessLogDeliveryStatus {
Message?: string;
}

/**
* @public
* <p>Options for CloudWatch Logs as a logging destination.</p>
*/
export interface VerifiedAccessLogCloudWatchLogsDestination {
/**
* <p>Indicates whether logging is enabled.</p>
*/
Enabled?: boolean;

/**
* <p>The delivery status for access logs.</p>
*/
DeliveryStatus?: VerifiedAccessLogDeliveryStatus;

/**
* <p>The ID of the CloudWatch Logs log group.</p>
*/
LogGroup?: string;
}

/**
* @internal
*/
Expand Down
44 changes: 22 additions & 22 deletions clients/client-ec2/src/models/models_5.ts
Original file line number Diff line number Diff line change
Expand Up @@ -77,12 +77,28 @@ import {
StatisticType,
VirtualizationType,
} from "./models_3";
import {
AnalysisStatus,
ArchitectureType,
VerifiedAccessLogCloudWatchLogsDestination,
VerifiedAccessLogDeliveryStatus,
} from "./models_4";
import { AnalysisStatus, ArchitectureType, VerifiedAccessLogDeliveryStatus } from "./models_4";

/**
* @public
* <p>Options for CloudWatch Logs as a logging destination.</p>
*/
export interface VerifiedAccessLogCloudWatchLogsDestination {
/**
* <p>Indicates whether logging is enabled.</p>
*/
Enabled?: boolean;

/**
* <p>The delivery status for access logs.</p>
*/
DeliveryStatus?: VerifiedAccessLogDeliveryStatus;

/**
* <p>The ID of the CloudWatch Logs log group.</p>
*/
LogGroup?: string;
}

/**
* @public
Expand Down Expand Up @@ -7637,22 +7653,6 @@ export interface ClientData {
UploadStart?: Date;
}

/**
* @public
* <p>Describes the Amazon S3 bucket for the disk image.</p>
*/
export interface UserBucket {
/**
* <p>The name of the Amazon S3 bucket where the disk image is located.</p>
*/
S3Bucket?: string;

/**
* <p>The file name of the disk image.</p>
*/
S3Key?: string;
}

/**
* @internal
*/
Expand Down
33 changes: 16 additions & 17 deletions clients/client-ec2/src/models/models_6.ts
Original file line number Diff line number Diff line change
Expand Up @@ -157,11 +157,26 @@ import {
IpamResourceCidr,
Purchase,
UnlimitedSupportedInstanceFamily,
UserBucket,
VerifiedAccessInstanceLoggingConfiguration,
VolumeModification,
} from "./models_5";

/**
* @public
* <p>Describes the Amazon S3 bucket for the disk image.</p>
*/
export interface UserBucket {
/**
* <p>The name of the Amazon S3 bucket where the disk image is located.</p>
*/
S3Bucket?: string;

/**
* <p>The file name of the disk image.</p>
*/
S3Key?: string;
}

/**
* @public
* <p>Describes the disk container object for an import image task.</p>
Expand Down Expand Up @@ -8555,22 +8570,6 @@ export interface ScheduledInstancesNetworkInterface {
SubnetId?: string;
}

/**
* @public
* <p>Describes the placement for a Scheduled Instance.</p>
*/
export interface ScheduledInstancesPlacement {
/**
* <p>The Availability Zone.</p>
*/
AvailabilityZone?: string;

/**
* <p>The name of the placement group.</p>
*/
GroupName?: string;
}

/**
* @internal
*/
Expand Down
17 changes: 16 additions & 1 deletion clients/client-ec2/src/models/models_7.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,24 @@ import {
ScheduledInstancesIamInstanceProfile,
ScheduledInstancesMonitoring,
ScheduledInstancesNetworkInterface,
ScheduledInstancesPlacement,
} from "./models_6";

/**
* @public
* <p>Describes the placement for a Scheduled Instance.</p>
*/
export interface ScheduledInstancesPlacement {
/**
* <p>The Availability Zone.</p>
*/
AvailabilityZone?: string;

/**
* <p>The name of the placement group.</p>
*/
GroupName?: string;
}

/**
* @public
* <p>Describes the launch specification for a Scheduled Instance.</p>
Expand Down
30 changes: 27 additions & 3 deletions clients/client-ec2/src/protocols/Aws_ec2.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3192,6 +3192,7 @@ import {
HistoryRecord,
InferenceAcceleratorInfo,
InferenceDeviceInfo,
InferenceDeviceMemoryInfo,
Instance,
InstanceIpv4Prefix,
InstanceIpv6Prefix,
Expand Down Expand Up @@ -3279,7 +3280,6 @@ import {
TransitGatewayAttachmentAssociation,
UsageClassType,
VCpuInfo,
VerifiedAccessLogCloudWatchLogsDestination,
VerifiedAccessLogDeliveryStatus,
} from "../models/models_4";
import {
Expand Down Expand Up @@ -3553,8 +3553,8 @@ import {
TransitGatewayPropagation,
TransitGatewayRouteTableAssociation,
TransitGatewayRouteTablePropagation,
UserBucket,
VerifiedAccessInstanceLoggingConfiguration,
VerifiedAccessLogCloudWatchLogsDestination,
VerifiedAccessLogKinesisDataFirehoseDestination,
VerifiedAccessLogs,
VerifiedAccessLogS3Destination,
Expand Down Expand Up @@ -3840,7 +3840,6 @@ import {
ScheduledInstancesIpv6Address,
ScheduledInstancesMonitoring,
ScheduledInstancesNetworkInterface,
ScheduledInstancesPlacement,
ScheduledInstancesPrivateIpAddressConfig,
SecurityGroupRuleRequest,
SecurityGroupRuleUpdate,
Expand All @@ -3854,6 +3853,7 @@ import {
TransitGatewayMulticastRegisteredGroupSources,
UnsuccessfulInstanceCreditSpecificationItem,
UnsuccessfulInstanceCreditSpecificationItemError,
UserBucket,
UserData,
VerifiedAccessLogCloudWatchLogsDestinationOptions,
VerifiedAccessLogKinesisDataFirehoseDestinationOptions,
Expand All @@ -3866,6 +3866,7 @@ import {
RunScheduledInstancesRequest,
RunScheduledInstancesResult,
ScheduledInstancesLaunchSpecification,
ScheduledInstancesPlacement,
SearchLocalGatewayRoutesRequest,
SearchLocalGatewayRoutesResult,
SearchTransitGatewayMulticastGroupsRequest,
Expand Down Expand Up @@ -78732,6 +78733,9 @@ const de_InferenceAcceleratorInfo = (output: any, context: __SerdeContext): Infe
context
);
}
if (output["totalInferenceMemoryInMiB"] !== undefined) {
contents.TotalInferenceMemoryInMiB = __strictParseInt32(output["totalInferenceMemoryInMiB"]) as number;
}
return contents;
};

Expand All @@ -78749,6 +78753,9 @@ const de_InferenceDeviceInfo = (output: any, context: __SerdeContext): Inference
if (output["manufacturer"] !== undefined) {
contents.Manufacturer = __expectString(output["manufacturer"]);
}
if (output["memoryInfo"] !== undefined) {
contents.MemoryInfo = de_InferenceDeviceMemoryInfo(output["memoryInfo"], context);
}
return contents;
};

Expand All @@ -78763,6 +78770,17 @@ const de_InferenceDeviceInfoList = (output: any, context: __SerdeContext): Infer
});
};

/**
* deserializeAws_ec2InferenceDeviceMemoryInfo
*/
const de_InferenceDeviceMemoryInfo = (output: any, context: __SerdeContext): InferenceDeviceMemoryInfo => {
const contents: any = {};
if (output["sizeInMiB"] !== undefined) {
contents.SizeInMiB = __strictParseInt32(output["sizeInMiB"]) as number;
}
return contents;
};

/**
* deserializeAws_ec2InsideCidrBlocksStringList
*/
Expand Down Expand Up @@ -83983,6 +84001,12 @@ const de_NetworkCardInfo = (output: any, context: __SerdeContext): NetworkCardIn
if (output["maximumNetworkInterfaces"] !== undefined) {
contents.MaximumNetworkInterfaces = __strictParseInt32(output["maximumNetworkInterfaces"]) as number;
}
if (output["baselineBandwidthInGbps"] !== undefined) {
contents.BaselineBandwidthInGbps = __strictParseFloat(output["baselineBandwidthInGbps"]) as number;
}
if (output["peakBandwidthInGbps"] !== undefined) {
contents.PeakBandwidthInGbps = __strictParseFloat(output["peakBandwidthInGbps"]) as number;
}
return contents;
};

Expand Down
Loading

0 comments on commit 691ecdb

Please sign in to comment.