Skip to content

Commit 8effad7

Browse files
author
awstools
committed
feat(client-bedrock): Automated Reasoning checks in Amazon Bedrock Guardrails is capable of generating policy scenarios to validate policies. The GetAutomatedReasoningPolicyBuildWorkflowResultAssets API now adds POLICY SCENARIO asset type, allowing customers to retrieve scenarios generated by the build workflow.
1 parent 2bd525c commit 8effad7

File tree

9 files changed

+155
-58
lines changed

9 files changed

+155
-58
lines changed

clients/client-bedrock/src/commands/DeleteInferenceProfileCommand.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@ import type { MetadataBearer as __MetadataBearer } from "@smithy/types";
55

66
import type { BedrockClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../BedrockClient";
77
import { commonParams } from "../endpoint/EndpointParameters";
8-
import type { DeleteInferenceProfileRequest } from "../models/models_0";
9-
import type { DeleteInferenceProfileResponse } from "../models/models_1";
8+
import type { DeleteInferenceProfileRequest, DeleteInferenceProfileResponse } from "../models/models_1";
109
import { DeleteInferenceProfile } from "../schemas/schemas_0";
1110

1211
/**

clients/client-bedrock/src/commands/GetAutomatedReasoningPolicyBuildWorkflowResultAssetsCommand.ts

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ export interface GetAutomatedReasoningPolicyBuildWorkflowResultAssetsCommandOutp
4545
* const input = { // GetAutomatedReasoningPolicyBuildWorkflowResultAssetsRequest
4646
* policyArn: "STRING_VALUE", // required
4747
* buildWorkflowId: "STRING_VALUE", // required
48-
* assetType: "BUILD_LOG" || "QUALITY_REPORT" || "POLICY_DEFINITION" || "GENERATED_TEST_CASES", // required
48+
* assetType: "BUILD_LOG" || "QUALITY_REPORT" || "POLICY_DEFINITION" || "GENERATED_TEST_CASES" || "POLICY_SCENARIOS", // required
4949
* };
5050
* const command = new GetAutomatedReasoningPolicyBuildWorkflowResultAssetsCommand(input);
5151
* const response = await client.send(command);
@@ -277,6 +277,18 @@ export interface GetAutomatedReasoningPolicyBuildWorkflowResultAssetsCommandOutp
277277
* // },
278278
* // ],
279279
* // },
280+
* // policyScenarios: { // AutomatedReasoningPolicyScenarios
281+
* // policyScenarios: [ // AutomatedReasoningPolicyScenarioList // required
282+
* // { // AutomatedReasoningPolicyScenario
283+
* // expression: "STRING_VALUE", // required
284+
* // alternateExpression: "STRING_VALUE", // required
285+
* // expectedResult: "VALID" || "INVALID" || "SATISFIABLE" || "IMPOSSIBLE" || "TRANSLATION_AMBIGUOUS" || "TOO_COMPLEX" || "NO_TRANSLATION", // required
286+
* // ruleIds: [ // required
287+
* // "STRING_VALUE",
288+
* // ],
289+
* // },
290+
* // ],
291+
* // },
280292
* // },
281293
* // };
282294
*

clients/client-bedrock/src/commands/GetAutomatedReasoningPolicyNextScenarioCommand.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,10 +53,10 @@ export interface GetAutomatedReasoningPolicyNextScenarioCommandOutput
5353
* // scenario: { // AutomatedReasoningPolicyScenario
5454
* // expression: "STRING_VALUE", // required
5555
* // alternateExpression: "STRING_VALUE", // required
56+
* // expectedResult: "VALID" || "INVALID" || "SATISFIABLE" || "IMPOSSIBLE" || "TRANSLATION_AMBIGUOUS" || "TOO_COMPLEX" || "NO_TRANSLATION", // required
5657
* // ruleIds: [ // AutomatedReasoningPolicyDefinitionRuleIdList // required
5758
* // "STRING_VALUE",
5859
* // ],
59-
* // expectedResult: "VALID" || "INVALID" || "SATISFIABLE" || "IMPOSSIBLE" || "TRANSLATION_AMBIGUOUS" || "TOO_COMPLEX" || "NO_TRANSLATION", // required
6060
* // },
6161
* // };
6262
*

clients/client-bedrock/src/models/enums.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,7 @@ export const AutomatedReasoningPolicyBuildResultAssetType = {
118118
BUILD_LOG: "BUILD_LOG",
119119
GENERATED_TEST_CASES: "GENERATED_TEST_CASES",
120120
POLICY_DEFINITION: "POLICY_DEFINITION",
121+
POLICY_SCENARIOS: "POLICY_SCENARIOS",
121122
QUALITY_REPORT: "QUALITY_REPORT",
122123
} as const;
123124
/**

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

Lines changed: 62 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -2148,6 +2148,48 @@ export interface AutomatedReasoningPolicyGeneratedTestCases {
21482148
generatedTestCases: AutomatedReasoningPolicyGeneratedTestCase[] | undefined;
21492149
}
21502150

2151+
/**
2152+
* <p>Represents a test scenario used to validate an Automated Reasoning policy, including the test conditions and expected outcomes.</p>
2153+
* @public
2154+
*/
2155+
export interface AutomatedReasoningPolicyScenario {
2156+
/**
2157+
* <p>The logical expression or condition that defines this test scenario.</p>
2158+
* @public
2159+
*/
2160+
expression: string | undefined;
2161+
2162+
/**
2163+
* <p>An alternative way to express the same test scenario, used for validation and comparison purposes.</p>
2164+
* @public
2165+
*/
2166+
alternateExpression: string | undefined;
2167+
2168+
/**
2169+
* <p>The expected outcome when this scenario is evaluated against the policy (e.g., PASS, FAIL, VIOLATION).</p>
2170+
* @public
2171+
*/
2172+
expectedResult: AutomatedReasoningCheckResult | undefined;
2173+
2174+
/**
2175+
* <p>The list of rule identifiers that are expected to be triggered or evaluated by this test scenario.</p>
2176+
* @public
2177+
*/
2178+
ruleIds: string[] | undefined;
2179+
}
2180+
2181+
/**
2182+
* <p>Contains a comprehensive entity encompassing all the scenarios generated by the build workflow, which can be used to validate an Automated Reasoning policy.</p>
2183+
* @public
2184+
*/
2185+
export interface AutomatedReasoningPolicyScenarios {
2186+
/**
2187+
* <p>Represents a collection of generated policy scenarios.</p>
2188+
* @public
2189+
*/
2190+
policyScenarios: AutomatedReasoningPolicyScenario[] | undefined;
2191+
}
2192+
21512193
/**
21522194
* <p>Represents a set of rules that operate on completely separate variables, indicating they address different concerns or domains within the policy.</p>
21532195
* @public
@@ -2246,6 +2288,7 @@ export type AutomatedReasoningPolicyBuildResultAssets =
22462288
| AutomatedReasoningPolicyBuildResultAssets.BuildLogMember
22472289
| AutomatedReasoningPolicyBuildResultAssets.GeneratedTestCasesMember
22482290
| AutomatedReasoningPolicyBuildResultAssets.PolicyDefinitionMember
2291+
| AutomatedReasoningPolicyBuildResultAssets.PolicyScenariosMember
22492292
| AutomatedReasoningPolicyBuildResultAssets.QualityReportMember
22502293
| AutomatedReasoningPolicyBuildResultAssets.$UnknownMember;
22512294

@@ -2262,6 +2305,7 @@ export namespace AutomatedReasoningPolicyBuildResultAssets {
22622305
qualityReport?: never;
22632306
buildLog?: never;
22642307
generatedTestCases?: never;
2308+
policyScenarios?: never;
22652309
$unknown?: never;
22662310
}
22672311

@@ -2274,6 +2318,7 @@ export namespace AutomatedReasoningPolicyBuildResultAssets {
22742318
qualityReport: AutomatedReasoningPolicyDefinitionQualityReport;
22752319
buildLog?: never;
22762320
generatedTestCases?: never;
2321+
policyScenarios?: never;
22772322
$unknown?: never;
22782323
}
22792324

@@ -2286,6 +2331,7 @@ export namespace AutomatedReasoningPolicyBuildResultAssets {
22862331
qualityReport?: never;
22872332
buildLog: AutomatedReasoningPolicyBuildLog;
22882333
generatedTestCases?: never;
2334+
policyScenarios?: never;
22892335
$unknown?: never;
22902336
}
22912337

@@ -2298,6 +2344,20 @@ export namespace AutomatedReasoningPolicyBuildResultAssets {
22982344
qualityReport?: never;
22992345
buildLog?: never;
23002346
generatedTestCases: AutomatedReasoningPolicyGeneratedTestCases;
2347+
policyScenarios?: never;
2348+
$unknown?: never;
2349+
}
2350+
2351+
/**
2352+
* <p>An entity encompassing all the policy scenarios generated by the build workflow, which can be used to validate an Automated Reasoning policy. </p>
2353+
* @public
2354+
*/
2355+
export interface PolicyScenariosMember {
2356+
policyDefinition?: never;
2357+
qualityReport?: never;
2358+
buildLog?: never;
2359+
generatedTestCases?: never;
2360+
policyScenarios: AutomatedReasoningPolicyScenarios;
23012361
$unknown?: never;
23022362
}
23032363

@@ -2309,6 +2369,7 @@ export namespace AutomatedReasoningPolicyBuildResultAssets {
23092369
qualityReport?: never;
23102370
buildLog?: never;
23112371
generatedTestCases?: never;
2372+
policyScenarios?: never;
23122373
$unknown: [string, any];
23132374
}
23142375

@@ -2321,6 +2382,7 @@ export namespace AutomatedReasoningPolicyBuildResultAssets {
23212382
qualityReport: (value: AutomatedReasoningPolicyDefinitionQualityReport) => T;
23222383
buildLog: (value: AutomatedReasoningPolicyBuildLog) => T;
23232384
generatedTestCases: (value: AutomatedReasoningPolicyGeneratedTestCases) => T;
2385+
policyScenarios: (value: AutomatedReasoningPolicyScenarios) => T;
23242386
_: (name: string, value: any) => T;
23252387
}
23262388
}
@@ -2365,36 +2427,6 @@ export interface GetAutomatedReasoningPolicyNextScenarioRequest {
23652427
buildWorkflowId: string | undefined;
23662428
}
23672429

2368-
/**
2369-
* <p>Represents a test scenario used to validate an Automated Reasoning policy, including the test conditions and expected outcomes.</p>
2370-
* @public
2371-
*/
2372-
export interface AutomatedReasoningPolicyScenario {
2373-
/**
2374-
* <p>The logical expression or condition that defines this test scenario.</p>
2375-
* @public
2376-
*/
2377-
expression: string | undefined;
2378-
2379-
/**
2380-
* <p>An alternative way to express the same test scenario, used for validation and comparison purposes.</p>
2381-
* @public
2382-
*/
2383-
alternateExpression: string | undefined;
2384-
2385-
/**
2386-
* <p>The list of rule identifiers that are expected to be triggered or evaluated by this test scenario.</p>
2387-
* @public
2388-
*/
2389-
ruleIds: string[] | undefined;
2390-
2391-
/**
2392-
* <p>The expected outcome when this scenario is evaluated against the policy (e.g., PASS, FAIL, VIOLATION).</p>
2393-
* @public
2394-
*/
2395-
expectedResult: AutomatedReasoningCheckResult | undefined;
2396-
}
2397-
23982430
/**
23992431
* @public
24002432
*/
@@ -8186,14 +8218,3 @@ export interface CreateInferenceProfileResponse {
81868218
*/
81878219
status?: InferenceProfileStatus | undefined;
81888220
}
8189-
8190-
/**
8191-
* @public
8192-
*/
8193-
export interface DeleteInferenceProfileRequest {
8194-
/**
8195-
* <p>The Amazon Resource Name (ARN) or ID of the application inference profile to delete.</p>
8196-
* @public
8197-
*/
8198-
inferenceProfileIdentifier: string | undefined;
8199-
}

clients/client-bedrock/src/models/models_1.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,17 @@ import {
5656
ValidatorMetric,
5757
} from "./models_0";
5858

59+
/**
60+
* @public
61+
*/
62+
export interface DeleteInferenceProfileRequest {
63+
/**
64+
* <p>The Amazon Resource Name (ARN) or ID of the application inference profile to delete.</p>
65+
* @public
66+
*/
67+
inferenceProfileIdentifier: string | undefined;
68+
}
69+
5970
/**
6071
* @public
6172
*/

clients/client-bedrock/src/schemas/schemas_0.ts

Lines changed: 26 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -104,8 +104,10 @@ const _ARPP = "AutomatedReasoningPolicyPlanning";
104104
const _ARPS = "AutomatedReasoningPolicyScenario";
105105
const _ARPSAE = "AutomatedReasoningPolicyScenarioAlternateExpression";
106106
const _ARPSE = "AutomatedReasoningPolicyScenarioExpression";
107-
const _ARPSu = "AutomatedReasoningPolicySummary";
108-
const _ARPSut = "AutomatedReasoningPolicySummaries";
107+
const _ARPSL = "AutomatedReasoningPolicyScenarioList";
108+
const _ARPSu = "AutomatedReasoningPolicyScenarios";
109+
const _ARPSut = "AutomatedReasoningPolicySummary";
110+
const _ARPSuto = "AutomatedReasoningPolicySummaries";
109111
const _ARPTC = "AutomatedReasoningPolicyTestCase";
110112
const _ARPTCL = "AutomatedReasoningPolicyTestCaseList";
111113
const _ARPTGC = "AutomatedReasoningPolicyTestGuardContent";
@@ -1031,6 +1033,7 @@ const _pRN = "promptRouterName";
10311033
const _pRS = "promptRouterSummaries";
10321034
const _pRSC = "precomputedRagSourceConfig";
10331035
const _pRSI = "precomputedRagSourceIdentifiers";
1036+
const _pS = "policyScenarios";
10341037
const _pT = "promptTemplate";
10351038
const _pVA = "policyVersionArn";
10361039
const _pa = "pattern";
@@ -1744,19 +1747,27 @@ export var AutomatedReasoningPolicyScenario: StaticStructureSchema = [
17441747
n0,
17451748
_ARPS,
17461749
0,
1747-
[_ex, _aE, _rIu, _eR],
1750+
[_ex, _aE, _eR, _rIu],
17481751
[
17491752
[() => AutomatedReasoningPolicyScenarioExpression, 0],
17501753
[() => AutomatedReasoningPolicyScenarioAlternateExpression, 0],
1751-
64 | 0,
17521754
0,
1755+
64 | 0,
17531756
],
17541757
];
1755-
export var AutomatedReasoningPolicySummary: StaticStructureSchema = [
1758+
export var AutomatedReasoningPolicyScenarios: StaticStructureSchema = [
17561759
3,
17571760
n0,
17581761
_ARPSu,
17591762
0,
1763+
[_pS],
1764+
[[() => AutomatedReasoningPolicyScenarioList, 0]],
1765+
];
1766+
export var AutomatedReasoningPolicySummary: StaticStructureSchema = [
1767+
3,
1768+
n0,
1769+
_ARPSut,
1770+
0,
17601771
[_pA, _n, _d, _ve, _pI, _cA, _uA],
17611772
[0, [() => AutomatedReasoningPolicyName, 0], [() => AutomatedReasoningPolicyDescription, 0], 0, 0, 5, 5],
17621773
];
@@ -4305,10 +4316,17 @@ export var AutomatedReasoningPolicyGeneratedTestCaseList: StaticListSchema = [
43054316
0,
43064317
[() => AutomatedReasoningPolicyGeneratedTestCase, 0],
43074318
];
4319+
export var AutomatedReasoningPolicyScenarioList: StaticListSchema = [
4320+
1,
4321+
n0,
4322+
_ARPSL,
4323+
0,
4324+
[() => AutomatedReasoningPolicyScenario, 0],
4325+
];
43084326
export var AutomatedReasoningPolicySummaries: StaticListSchema = [
43094327
1,
43104328
n0,
4311-
_ARPSut,
4329+
_ARPSuto,
43124330
0,
43134331
[() => AutomatedReasoningPolicySummary, 0],
43144332
];
@@ -4517,12 +4535,13 @@ export var AutomatedReasoningPolicyBuildResultAssets: StaticStructureSchema = [
45174535
n0,
45184536
_ARPBRA,
45194537
0,
4520-
[_pD, _qR, _bL, _gTC],
4538+
[_pD, _qR, _bL, _gTC, _pS],
45214539
[
45224540
[() => AutomatedReasoningPolicyDefinition, 0],
45234541
[() => AutomatedReasoningPolicyDefinitionQualityReport, 0],
45244542
[() => AutomatedReasoningPolicyBuildLog, 0],
45254543
[() => AutomatedReasoningPolicyGeneratedTestCases, 0],
4544+
[() => AutomatedReasoningPolicyScenarios, 0],
45264545
],
45274546
];
45284547
export var AutomatedReasoningPolicyBuildStepContext: StaticStructureSchema = [

clients/client-bedrock/test/index-types.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -429,6 +429,7 @@ export type {
429429
AutomatedReasoningPolicyMutation,
430430
AutomatedReasoningPolicyPlanning,
431431
AutomatedReasoningPolicyScenario,
432+
AutomatedReasoningPolicyScenarios,
432433
AutomatedReasoningPolicySummary,
433434
AutomatedReasoningPolicyTestCase,
434435
AutomatedReasoningPolicyTestResult,

0 commit comments

Comments
 (0)