Skip to content

Commit 6c179ae

Browse files
author
awstools
committed
feat(client-braket): Adds ExperimentalCapabilities field to CreateQuantumTask request and GetQuantumTask response objects. Enables use of experimental software capabilities when creating quantum tasks.
1 parent de2f679 commit 6c179ae

File tree

5 files changed

+129
-5
lines changed

5 files changed

+129
-5
lines changed

clients/client-braket/src/commands/CreateQuantumTaskCommand.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,9 @@ export interface CreateQuantumTaskCommandOutput extends CreateQuantumTaskRespons
5555
* type: "STRING_VALUE", // required
5656
* },
5757
* ],
58+
* experimentalCapabilities: { // ExperimentalCapabilities Union: only one key present
59+
* enabled: "STRING_VALUE",
60+
* },
5861
* };
5962
* const command = new CreateQuantumTaskCommand(input);
6063
* const response = await client.send(command);

clients/client-braket/src/commands/GetQuantumTaskCommand.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,9 @@ export interface GetQuantumTaskCommandOutput extends GetQuantumTaskResponse, __M
7878
* // programCount: Number("long"),
7979
* // executableCount: Number("long"),
8080
* // },
81+
* // experimentalCapabilities: { // ExperimentalCapabilities Union: only one key present
82+
* // enabled: "STRING_VALUE",
83+
* // },
8184
* // };
8285
*
8386
* ```

clients/client-braket/src/models/models_0.ts

Lines changed: 67 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,13 +38,13 @@ export interface ActionMetadata {
3838
actionType: string | undefined;
3939

4040
/**
41-
* <p>The number of programs in a program set. This is only available for a Program Set.</p>
41+
* <p>The number of programs in a program set. This is only available for a program set.</p>
4242
* @public
4343
*/
4444
programCount?: number | undefined;
4545

4646
/**
47-
* <p>The number of executables in a program set. This is only available for a Program Set.</p>
47+
* <p>The number of executables in a program set. This is only available for a program set.</p>
4848
* @public
4949
*/
5050
executableCount?: number | undefined;
@@ -1356,6 +1356,59 @@ export interface CancelQuantumTaskResponse {
13561356
cancellationStatus: CancellationStatus | undefined;
13571357
}
13581358

1359+
/**
1360+
* @public
1361+
* @enum
1362+
*/
1363+
export const ExperimentalCapabilitiesEnablementType = {
1364+
ALL: "ALL",
1365+
NONE: "NONE",
1366+
} as const;
1367+
1368+
/**
1369+
* @public
1370+
*/
1371+
export type ExperimentalCapabilitiesEnablementType =
1372+
(typeof ExperimentalCapabilitiesEnablementType)[keyof typeof ExperimentalCapabilitiesEnablementType];
1373+
1374+
/**
1375+
* <p>Enabled experimental capabilities for quantum hardware. Note that the use of these features may impact device capabilities and performance beyond its standard specifications.</p>
1376+
* @public
1377+
*/
1378+
export type ExperimentalCapabilities = ExperimentalCapabilities.EnabledMember | ExperimentalCapabilities.$UnknownMember;
1379+
1380+
/**
1381+
* @public
1382+
*/
1383+
export namespace ExperimentalCapabilities {
1384+
/**
1385+
* <p>Enabled experimental capabilities.</p>
1386+
* @public
1387+
*/
1388+
export interface EnabledMember {
1389+
enabled: ExperimentalCapabilitiesEnablementType;
1390+
$unknown?: never;
1391+
}
1392+
1393+
/**
1394+
* @public
1395+
*/
1396+
export interface $UnknownMember {
1397+
enabled?: never;
1398+
$unknown: [string, any];
1399+
}
1400+
1401+
export interface Visitor<T> {
1402+
enabled: (value: ExperimentalCapabilitiesEnablementType) => T;
1403+
_: (name: string, value: any) => T;
1404+
}
1405+
1406+
export const visit = <T>(value: ExperimentalCapabilities, visitor: Visitor<T>): T => {
1407+
if (value.enabled !== undefined) return visitor.enabled(value.enabled);
1408+
return visitor._(value.$unknown[0], value.$unknown[1]);
1409+
};
1410+
}
1411+
13591412
/**
13601413
* @public
13611414
*/
@@ -1419,6 +1472,12 @@ export interface CreateQuantumTaskRequest {
14191472
* @public
14201473
*/
14211474
associations?: Association[] | undefined;
1475+
1476+
/**
1477+
* <p>Enable experimental capabilities for the quantum task.</p>
1478+
* @public
1479+
*/
1480+
experimentalCapabilities?: ExperimentalCapabilities | undefined;
14221481
}
14231482

14241483
/**
@@ -1611,6 +1670,12 @@ export interface GetQuantumTaskResponse {
16111670
* @public
16121671
*/
16131672
actionMetadata?: ActionMetadata | undefined;
1673+
1674+
/**
1675+
* <p>Enabled experimental capabilities for the quantum task, if any.</p>
1676+
* @public
1677+
*/
1678+
experimentalCapabilities?: ExperimentalCapabilities | undefined;
16141679
}
16151680

16161681
/**

clients/client-braket/src/protocols/Aws_restJson1.ts

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
// smithy-typescript generated code
2-
import { loadRestJsonErrorCode, parseJsonBody as parseBody, parseJsonErrorBody as parseErrorBody } from "@aws-sdk/core";
2+
import {
3+
awsExpectUnion as __expectUnion,
4+
loadRestJsonErrorCode,
5+
parseJsonBody as parseBody,
6+
parseJsonErrorBody as parseErrorBody,
7+
} from "@aws-sdk/core";
38
import { requestBuilder as rb } from "@smithy/core";
49
import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http";
510
import {
@@ -53,6 +58,7 @@ import {
5358
DeviceConfig,
5459
DeviceOfflineException,
5560
DeviceRetiredException,
61+
ExperimentalCapabilities,
5662
InputFileConfig,
5763
InstanceConfig,
5864
InternalServiceException,
@@ -166,6 +172,7 @@ export const se_CreateQuantumTaskCommand = async (
166172
clientToken: [true, (_) => _ ?? generateIdempotencyToken()],
167173
deviceArn: [],
168174
deviceParameters: (_) => __LazyJsonString.from(_),
175+
experimentalCapabilities: (_) => _json(_),
169176
jobToken: [],
170177
outputS3Bucket: [],
171178
outputS3KeyPrefix: [],
@@ -533,6 +540,7 @@ export const de_GetQuantumTaskCommand = async (
533540
deviceArn: __expectString,
534541
deviceParameters: __LazyJsonString.from,
535542
endedAt: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)),
543+
experimentalCapabilities: (_) => _json(__expectUnion(_)),
536544
failureReason: __expectString,
537545
jobArn: __expectString,
538546
numSuccessfulShots: __expectLong,
@@ -902,6 +910,8 @@ const de_ValidationExceptionRes = async (parsedOutput: any, context: __SerdeCont
902910

903911
// se_DeviceConfig omitted.
904912

913+
// se_ExperimentalCapabilities omitted.
914+
905915
// se_HyperParameters omitted.
906916

907917
// se_InputConfigList omitted.
@@ -958,6 +968,8 @@ const de_ValidationExceptionRes = async (parsedOutput: any, context: __SerdeCont
958968

959969
// de_DeviceSummaryList omitted.
960970

971+
// de_ExperimentalCapabilities omitted.
972+
961973
// de_HybridJobQueueInfo omitted.
962974

963975
// de_HyperParameters omitted.

codegen/sdk-codegen/aws-models/braket.json

Lines changed: 43 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,13 @@
2727
"programCount": {
2828
"target": "smithy.api#Long",
2929
"traits": {
30-
"smithy.api#documentation": "<p>The number of programs in a program set. This is only available for a Program Set.</p>"
30+
"smithy.api#documentation": "<p>The number of programs in a program set. This is only available for a program set.</p>"
3131
}
3232
},
3333
"executableCount": {
3434
"target": "smithy.api#Long",
3535
"traits": {
36-
"smithy.api#documentation": "<p>The number of executables in a program set. This is only available for a Program Set.</p>"
36+
"smithy.api#documentation": "<p>The number of executables in a program set. This is only available for a program set.</p>"
3737
}
3838
}
3939
},
@@ -1277,6 +1277,12 @@
12771277
"max": 1
12781278
}
12791279
}
1280+
},
1281+
"experimentalCapabilities": {
1282+
"target": "com.amazonaws.braket#ExperimentalCapabilities",
1283+
"traits": {
1284+
"smithy.api#documentation": "<p>Enable experimental capabilities for the quantum task.</p>"
1285+
}
12801286
}
12811287
}
12821288
},
@@ -1498,6 +1504,35 @@
14981504
]
14991505
}
15001506
},
1507+
"com.amazonaws.braket#ExperimentalCapabilities": {
1508+
"type": "union",
1509+
"members": {
1510+
"enabled": {
1511+
"target": "com.amazonaws.braket#ExperimentalCapabilitiesEnablementType",
1512+
"traits": {
1513+
"smithy.api#documentation": "<p>Enabled experimental capabilities.</p>"
1514+
}
1515+
}
1516+
},
1517+
"traits": {
1518+
"smithy.api#documentation": "<p>Enabled experimental capabilities for quantum hardware. Note that the use of these features may impact device capabilities and performance beyond its standard specifications.</p>"
1519+
}
1520+
},
1521+
"com.amazonaws.braket#ExperimentalCapabilitiesEnablementType": {
1522+
"type": "string",
1523+
"traits": {
1524+
"smithy.api#enum": [
1525+
{
1526+
"value": "ALL",
1527+
"name": "ALL"
1528+
},
1529+
{
1530+
"value": "NONE",
1531+
"name": "NONE"
1532+
}
1533+
]
1534+
}
1535+
},
15011536
"com.amazonaws.braket#GetDevice": {
15021537
"type": "operation",
15031538
"input": {
@@ -1961,6 +1996,12 @@
19611996
"traits": {
19621997
"smithy.api#documentation": "<p>Metadata about the action performed by the quantum task, including information about the type of action and program counts.</p>"
19631998
}
1999+
},
2000+
"experimentalCapabilities": {
2001+
"target": "com.amazonaws.braket#ExperimentalCapabilities",
2002+
"traits": {
2003+
"smithy.api#documentation": "<p>Enabled experimental capabilities for the quantum task, if any.</p>"
2004+
}
19642005
}
19652006
}
19662007
},

0 commit comments

Comments
 (0)