From 4a753d9e76ed9debb6f5ed56b3a7b98a6f3a8824 Mon Sep 17 00:00:00 2001 From: awstools Date: Thu, 25 Jul 2024 19:38:55 +0000 Subject: [PATCH] feat(client-elastic-load-balancing-v2): This release adds support for sharing trust stores across accounts and organizations through integration with AWS Resource Access Manager. --- .../README.md | 16 ++ .../src/ElasticLoadBalancingV2.ts | 46 ++++ .../src/ElasticLoadBalancingV2Client.ts | 9 + .../src/commands/CreateListenerCommand.ts | 2 + ...eleteSharedTrustStoreAssociationCommand.ts | 99 +++++++ .../src/commands/DescribeListenersCommand.ts | 1 + .../DescribeTrustStoreRevocationsCommand.ts | 4 +- .../commands/DescribeTrustStoresCommand.ts | 3 +- .../src/commands/GetResourcePolicyCommand.ts | 89 +++++++ .../src/commands/ModifyListenerCommand.ts | 2 + .../src/commands/ModifyTrustStoreCommand.ts | 2 +- .../src/commands/index.ts | 2 + .../src/models/models_0.ts | 137 +++++++++- .../src/protocols/Aws_query.ts | 242 ++++++++++++++++++ .../aws-models/elastic-load-balancing-v2.json | 218 +++++++++++++++- 15 files changed, 861 insertions(+), 11 deletions(-) create mode 100644 clients/client-elastic-load-balancing-v2/src/commands/DeleteSharedTrustStoreAssociationCommand.ts create mode 100644 clients/client-elastic-load-balancing-v2/src/commands/GetResourcePolicyCommand.ts diff --git a/clients/client-elastic-load-balancing-v2/README.md b/clients/client-elastic-load-balancing-v2/README.md index d0c115fc123b6..674f8e7a24c63 100644 --- a/clients/client-elastic-load-balancing-v2/README.md +++ b/clients/client-elastic-load-balancing-v2/README.md @@ -319,6 +319,14 @@ DeleteRule [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/elastic-load-balancing-v2/command/DeleteRuleCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-elastic-load-balancing-v2/Interface/DeleteRuleCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-elastic-load-balancing-v2/Interface/DeleteRuleCommandOutput/) + +
+ +DeleteSharedTrustStoreAssociation + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/elastic-load-balancing-v2/command/DeleteSharedTrustStoreAssociationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-elastic-load-balancing-v2/Interface/DeleteSharedTrustStoreAssociationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-elastic-load-balancing-v2/Interface/DeleteSharedTrustStoreAssociationCommandOutput/) +
@@ -455,6 +463,14 @@ DescribeTrustStores [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/elastic-load-balancing-v2/command/DescribeTrustStoresCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-elastic-load-balancing-v2/Interface/DescribeTrustStoresCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-elastic-load-balancing-v2/Interface/DescribeTrustStoresCommandOutput/) +
+
+ +GetResourcePolicy + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/elastic-load-balancing-v2/command/GetResourcePolicyCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-elastic-load-balancing-v2/Interface/GetResourcePolicyCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-elastic-load-balancing-v2/Interface/GetResourcePolicyCommandOutput/) +
diff --git a/clients/client-elastic-load-balancing-v2/src/ElasticLoadBalancingV2.ts b/clients/client-elastic-load-balancing-v2/src/ElasticLoadBalancingV2.ts index b5bfc9dbacdaa..81a7102c1a36e 100644 --- a/clients/client-elastic-load-balancing-v2/src/ElasticLoadBalancingV2.ts +++ b/clients/client-elastic-load-balancing-v2/src/ElasticLoadBalancingV2.ts @@ -45,6 +45,11 @@ import { DeleteLoadBalancerCommandOutput, } from "./commands/DeleteLoadBalancerCommand"; import { DeleteRuleCommand, DeleteRuleCommandInput, DeleteRuleCommandOutput } from "./commands/DeleteRuleCommand"; +import { + DeleteSharedTrustStoreAssociationCommand, + DeleteSharedTrustStoreAssociationCommandInput, + DeleteSharedTrustStoreAssociationCommandOutput, +} from "./commands/DeleteSharedTrustStoreAssociationCommand"; import { DeleteTargetGroupCommand, DeleteTargetGroupCommandInput, @@ -130,6 +135,11 @@ import { DescribeTrustStoresCommandInput, DescribeTrustStoresCommandOutput, } from "./commands/DescribeTrustStoresCommand"; +import { + GetResourcePolicyCommand, + GetResourcePolicyCommandInput, + GetResourcePolicyCommandOutput, +} from "./commands/GetResourcePolicyCommand"; import { GetTrustStoreCaCertificatesBundleCommand, GetTrustStoreCaCertificatesBundleCommandInput, @@ -212,6 +222,7 @@ const commands = { DeleteListenerCommand, DeleteLoadBalancerCommand, DeleteRuleCommand, + DeleteSharedTrustStoreAssociationCommand, DeleteTargetGroupCommand, DeleteTrustStoreCommand, DeregisterTargetsCommand, @@ -229,6 +240,7 @@ const commands = { DescribeTrustStoreAssociationsCommand, DescribeTrustStoreRevocationsCommand, DescribeTrustStoresCommand, + GetResourcePolicyCommand, GetTrustStoreCaCertificatesBundleCommand, GetTrustStoreRevocationContentCommand, ModifyListenerCommand, @@ -411,6 +423,23 @@ export interface ElasticLoadBalancingV2 { cb: (err: any, data?: DeleteRuleCommandOutput) => void ): void; + /** + * @see {@link DeleteSharedTrustStoreAssociationCommand} + */ + deleteSharedTrustStoreAssociation( + args: DeleteSharedTrustStoreAssociationCommandInput, + options?: __HttpHandlerOptions + ): Promise; + deleteSharedTrustStoreAssociation( + args: DeleteSharedTrustStoreAssociationCommandInput, + cb: (err: any, data?: DeleteSharedTrustStoreAssociationCommandOutput) => void + ): void; + deleteSharedTrustStoreAssociation( + args: DeleteSharedTrustStoreAssociationCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteSharedTrustStoreAssociationCommandOutput) => void + ): void; + /** * @see {@link DeleteTargetGroupCommand} */ @@ -695,6 +724,23 @@ export interface ElasticLoadBalancingV2 { cb: (err: any, data?: DescribeTrustStoresCommandOutput) => void ): void; + /** + * @see {@link GetResourcePolicyCommand} + */ + getResourcePolicy( + args: GetResourcePolicyCommandInput, + options?: __HttpHandlerOptions + ): Promise; + getResourcePolicy( + args: GetResourcePolicyCommandInput, + cb: (err: any, data?: GetResourcePolicyCommandOutput) => void + ): void; + getResourcePolicy( + args: GetResourcePolicyCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetResourcePolicyCommandOutput) => void + ): void; + /** * @see {@link GetTrustStoreCaCertificatesBundleCommand} */ diff --git a/clients/client-elastic-load-balancing-v2/src/ElasticLoadBalancingV2Client.ts b/clients/client-elastic-load-balancing-v2/src/ElasticLoadBalancingV2Client.ts index 33644a75f9f3c..b833eed9c25e6 100644 --- a/clients/client-elastic-load-balancing-v2/src/ElasticLoadBalancingV2Client.ts +++ b/clients/client-elastic-load-balancing-v2/src/ElasticLoadBalancingV2Client.ts @@ -70,6 +70,10 @@ import { CreateTrustStoreCommandInput, CreateTrustStoreCommandOutput } from "./c import { DeleteListenerCommandInput, DeleteListenerCommandOutput } from "./commands/DeleteListenerCommand"; import { DeleteLoadBalancerCommandInput, DeleteLoadBalancerCommandOutput } from "./commands/DeleteLoadBalancerCommand"; import { DeleteRuleCommandInput, DeleteRuleCommandOutput } from "./commands/DeleteRuleCommand"; +import { + DeleteSharedTrustStoreAssociationCommandInput, + DeleteSharedTrustStoreAssociationCommandOutput, +} from "./commands/DeleteSharedTrustStoreAssociationCommand"; import { DeleteTargetGroupCommandInput, DeleteTargetGroupCommandOutput } from "./commands/DeleteTargetGroupCommand"; import { DeleteTrustStoreCommandInput, DeleteTrustStoreCommandOutput } from "./commands/DeleteTrustStoreCommand"; import { DeregisterTargetsCommandInput, DeregisterTargetsCommandOutput } from "./commands/DeregisterTargetsCommand"; @@ -120,6 +124,7 @@ import { DescribeTrustStoresCommandInput, DescribeTrustStoresCommandOutput, } from "./commands/DescribeTrustStoresCommand"; +import { GetResourcePolicyCommandInput, GetResourcePolicyCommandOutput } from "./commands/GetResourcePolicyCommand"; import { GetTrustStoreCaCertificatesBundleCommandInput, GetTrustStoreCaCertificatesBundleCommandOutput, @@ -180,6 +185,7 @@ export type ServiceInputTypes = | DeleteListenerCommandInput | DeleteLoadBalancerCommandInput | DeleteRuleCommandInput + | DeleteSharedTrustStoreAssociationCommandInput | DeleteTargetGroupCommandInput | DeleteTrustStoreCommandInput | DeregisterTargetsCommandInput @@ -197,6 +203,7 @@ export type ServiceInputTypes = | DescribeTrustStoreAssociationsCommandInput | DescribeTrustStoreRevocationsCommandInput | DescribeTrustStoresCommandInput + | GetResourcePolicyCommandInput | GetTrustStoreCaCertificatesBundleCommandInput | GetTrustStoreRevocationContentCommandInput | ModifyListenerCommandInput @@ -229,6 +236,7 @@ export type ServiceOutputTypes = | DeleteListenerCommandOutput | DeleteLoadBalancerCommandOutput | DeleteRuleCommandOutput + | DeleteSharedTrustStoreAssociationCommandOutput | DeleteTargetGroupCommandOutput | DeleteTrustStoreCommandOutput | DeregisterTargetsCommandOutput @@ -246,6 +254,7 @@ export type ServiceOutputTypes = | DescribeTrustStoreAssociationsCommandOutput | DescribeTrustStoreRevocationsCommandOutput | DescribeTrustStoresCommandOutput + | GetResourcePolicyCommandOutput | GetTrustStoreCaCertificatesBundleCommandOutput | GetTrustStoreRevocationContentCommandOutput | ModifyListenerCommandOutput diff --git a/clients/client-elastic-load-balancing-v2/src/commands/CreateListenerCommand.ts b/clients/client-elastic-load-balancing-v2/src/commands/CreateListenerCommand.ts index c48cd8a943d24..b32d8dae2afc5 100644 --- a/clients/client-elastic-load-balancing-v2/src/commands/CreateListenerCommand.ts +++ b/clients/client-elastic-load-balancing-v2/src/commands/CreateListenerCommand.ts @@ -147,6 +147,7 @@ export interface CreateListenerCommandOutput extends CreateListenerOutput, __Met * Mode: "STRING_VALUE", * TrustStoreArn: "STRING_VALUE", * IgnoreClientCertificateExpiry: true || false, + * TrustStoreAssociationStatus: "active" || "removed", * }, * }; * const command = new CreateListenerCommand(input); @@ -232,6 +233,7 @@ export interface CreateListenerCommandOutput extends CreateListenerOutput, __Met * // Mode: "STRING_VALUE", * // TrustStoreArn: "STRING_VALUE", * // IgnoreClientCertificateExpiry: true || false, + * // TrustStoreAssociationStatus: "active" || "removed", * // }, * // }, * // ], diff --git a/clients/client-elastic-load-balancing-v2/src/commands/DeleteSharedTrustStoreAssociationCommand.ts b/clients/client-elastic-load-balancing-v2/src/commands/DeleteSharedTrustStoreAssociationCommand.ts new file mode 100644 index 0000000000000..1cdcb8c5390b8 --- /dev/null +++ b/clients/client-elastic-load-balancing-v2/src/commands/DeleteSharedTrustStoreAssociationCommand.ts @@ -0,0 +1,99 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { + ElasticLoadBalancingV2ClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../ElasticLoadBalancingV2Client"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { DeleteSharedTrustStoreAssociationInput, DeleteSharedTrustStoreAssociationOutput } from "../models/models_0"; +import { + de_DeleteSharedTrustStoreAssociationCommand, + se_DeleteSharedTrustStoreAssociationCommand, +} from "../protocols/Aws_query"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link DeleteSharedTrustStoreAssociationCommand}. + */ +export interface DeleteSharedTrustStoreAssociationCommandInput extends DeleteSharedTrustStoreAssociationInput {} +/** + * @public + * + * The output of {@link DeleteSharedTrustStoreAssociationCommand}. + */ +export interface DeleteSharedTrustStoreAssociationCommandOutput + extends DeleteSharedTrustStoreAssociationOutput, + __MetadataBearer {} + +/** + *

Deletes a shared trust store association.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { ElasticLoadBalancingV2Client, DeleteSharedTrustStoreAssociationCommand } from "@aws-sdk/client-elastic-load-balancing-v2"; // ES Modules import + * // const { ElasticLoadBalancingV2Client, DeleteSharedTrustStoreAssociationCommand } = require("@aws-sdk/client-elastic-load-balancing-v2"); // CommonJS import + * const client = new ElasticLoadBalancingV2Client(config); + * const input = { // DeleteSharedTrustStoreAssociationInput + * TrustStoreArn: "STRING_VALUE", // required + * ResourceArn: "STRING_VALUE", // required + * }; + * const command = new DeleteSharedTrustStoreAssociationCommand(input); + * const response = await client.send(command); + * // {}; + * + * ``` + * + * @param DeleteSharedTrustStoreAssociationCommandInput - {@link DeleteSharedTrustStoreAssociationCommandInput} + * @returns {@link DeleteSharedTrustStoreAssociationCommandOutput} + * @see {@link DeleteSharedTrustStoreAssociationCommandInput} for command's `input` shape. + * @see {@link DeleteSharedTrustStoreAssociationCommandOutput} for command's `response` shape. + * @see {@link ElasticLoadBalancingV2ClientResolvedConfig | config} for ElasticLoadBalancingV2Client's `config` shape. + * + * @throws {@link DeleteAssociationSameAccountException} (client fault) + *

The specified association cannot be within the same account.

+ * + * @throws {@link TrustStoreAssociationNotFoundException} (client fault) + *

The specified association does not exist.

+ * + * @throws {@link TrustStoreNotFoundException} (client fault) + *

The specified trust store does not exist.

+ * + * @throws {@link ElasticLoadBalancingV2ServiceException} + *

Base exception class for all service exceptions from ElasticLoadBalancingV2 service.

+ * + * @public + */ +export class DeleteSharedTrustStoreAssociationCommand extends $Command + .classBuilder< + DeleteSharedTrustStoreAssociationCommandInput, + DeleteSharedTrustStoreAssociationCommandOutput, + ElasticLoadBalancingV2ClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep({ + ...commonParams, + }) + .m(function (this: any, Command: any, cs: any, config: ElasticLoadBalancingV2ClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("ElasticLoadBalancing_v10", "DeleteSharedTrustStoreAssociation", {}) + .n("ElasticLoadBalancingV2Client", "DeleteSharedTrustStoreAssociationCommand") + .f(void 0, void 0) + .ser(se_DeleteSharedTrustStoreAssociationCommand) + .de(de_DeleteSharedTrustStoreAssociationCommand) + .build() {} diff --git a/clients/client-elastic-load-balancing-v2/src/commands/DescribeListenersCommand.ts b/clients/client-elastic-load-balancing-v2/src/commands/DescribeListenersCommand.ts index fb98ebf4c35a6..61472a7328634 100644 --- a/clients/client-elastic-load-balancing-v2/src/commands/DescribeListenersCommand.ts +++ b/clients/client-elastic-load-balancing-v2/src/commands/DescribeListenersCommand.ts @@ -132,6 +132,7 @@ export interface DescribeListenersCommandOutput extends DescribeListenersOutput, * // Mode: "STRING_VALUE", * // TrustStoreArn: "STRING_VALUE", * // IgnoreClientCertificateExpiry: true || false, + * // TrustStoreAssociationStatus: "active" || "removed", * // }, * // }, * // ], diff --git a/clients/client-elastic-load-balancing-v2/src/commands/DescribeTrustStoreRevocationsCommand.ts b/clients/client-elastic-load-balancing-v2/src/commands/DescribeTrustStoreRevocationsCommand.ts index d42df65db26da..dcf6d2c796ec9 100644 --- a/clients/client-elastic-load-balancing-v2/src/commands/DescribeTrustStoreRevocationsCommand.ts +++ b/clients/client-elastic-load-balancing-v2/src/commands/DescribeTrustStoreRevocationsCommand.ts @@ -37,8 +37,8 @@ export interface DescribeTrustStoreRevocationsCommandOutput __MetadataBearer {} /** - *

Describes the revocation files in use by the specified - * trust store arn, or revocation ID.

+ *

Describes the revocation files in use by the specified trust store or revocation + * files.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-elastic-load-balancing-v2/src/commands/DescribeTrustStoresCommand.ts b/clients/client-elastic-load-balancing-v2/src/commands/DescribeTrustStoresCommand.ts index 67fe1c8dd9b08..f5a93771911df 100644 --- a/clients/client-elastic-load-balancing-v2/src/commands/DescribeTrustStoresCommand.ts +++ b/clients/client-elastic-load-balancing-v2/src/commands/DescribeTrustStoresCommand.ts @@ -32,8 +32,7 @@ export interface DescribeTrustStoresCommandInput extends DescribeTrustStoresInpu export interface DescribeTrustStoresCommandOutput extends DescribeTrustStoresOutput, __MetadataBearer {} /** - *

Describes all trust stores for a given account - * by trust store arn’s or name.

+ *

Describes all trust stores for the specified account.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-elastic-load-balancing-v2/src/commands/GetResourcePolicyCommand.ts b/clients/client-elastic-load-balancing-v2/src/commands/GetResourcePolicyCommand.ts new file mode 100644 index 0000000000000..50d138bccbb6e --- /dev/null +++ b/clients/client-elastic-load-balancing-v2/src/commands/GetResourcePolicyCommand.ts @@ -0,0 +1,89 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { + ElasticLoadBalancingV2ClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../ElasticLoadBalancingV2Client"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { GetResourcePolicyInput, GetResourcePolicyOutput } from "../models/models_0"; +import { de_GetResourcePolicyCommand, se_GetResourcePolicyCommand } from "../protocols/Aws_query"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link GetResourcePolicyCommand}. + */ +export interface GetResourcePolicyCommandInput extends GetResourcePolicyInput {} +/** + * @public + * + * The output of {@link GetResourcePolicyCommand}. + */ +export interface GetResourcePolicyCommandOutput extends GetResourcePolicyOutput, __MetadataBearer {} + +/** + *

Retrieves the resource policy for a specified resource.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { ElasticLoadBalancingV2Client, GetResourcePolicyCommand } from "@aws-sdk/client-elastic-load-balancing-v2"; // ES Modules import + * // const { ElasticLoadBalancingV2Client, GetResourcePolicyCommand } = require("@aws-sdk/client-elastic-load-balancing-v2"); // CommonJS import + * const client = new ElasticLoadBalancingV2Client(config); + * const input = { // GetResourcePolicyInput + * ResourceArn: "STRING_VALUE", // required + * }; + * const command = new GetResourcePolicyCommand(input); + * const response = await client.send(command); + * // { // GetResourcePolicyOutput + * // Policy: "STRING_VALUE", + * // }; + * + * ``` + * + * @param GetResourcePolicyCommandInput - {@link GetResourcePolicyCommandInput} + * @returns {@link GetResourcePolicyCommandOutput} + * @see {@link GetResourcePolicyCommandInput} for command's `input` shape. + * @see {@link GetResourcePolicyCommandOutput} for command's `response` shape. + * @see {@link ElasticLoadBalancingV2ClientResolvedConfig | config} for ElasticLoadBalancingV2Client's `config` shape. + * + * @throws {@link ResourceNotFoundException} (client fault) + *

The specified resource does not exist.

+ * + * @throws {@link ElasticLoadBalancingV2ServiceException} + *

Base exception class for all service exceptions from ElasticLoadBalancingV2 service.

+ * + * @public + */ +export class GetResourcePolicyCommand extends $Command + .classBuilder< + GetResourcePolicyCommandInput, + GetResourcePolicyCommandOutput, + ElasticLoadBalancingV2ClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep({ + ...commonParams, + }) + .m(function (this: any, Command: any, cs: any, config: ElasticLoadBalancingV2ClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("ElasticLoadBalancing_v10", "GetResourcePolicy", {}) + .n("ElasticLoadBalancingV2Client", "GetResourcePolicyCommand") + .f(void 0, void 0) + .ser(se_GetResourcePolicyCommand) + .de(de_GetResourcePolicyCommand) + .build() {} diff --git a/clients/client-elastic-load-balancing-v2/src/commands/ModifyListenerCommand.ts b/clients/client-elastic-load-balancing-v2/src/commands/ModifyListenerCommand.ts index 08349ad462d40..154792f5c5633 100644 --- a/clients/client-elastic-load-balancing-v2/src/commands/ModifyListenerCommand.ts +++ b/clients/client-elastic-load-balancing-v2/src/commands/ModifyListenerCommand.ts @@ -124,6 +124,7 @@ export interface ModifyListenerCommandOutput extends ModifyListenerOutput, __Met * Mode: "STRING_VALUE", * TrustStoreArn: "STRING_VALUE", * IgnoreClientCertificateExpiry: true || false, + * TrustStoreAssociationStatus: "active" || "removed", * }, * }; * const command = new ModifyListenerCommand(input); @@ -209,6 +210,7 @@ export interface ModifyListenerCommandOutput extends ModifyListenerOutput, __Met * // Mode: "STRING_VALUE", * // TrustStoreArn: "STRING_VALUE", * // IgnoreClientCertificateExpiry: true || false, + * // TrustStoreAssociationStatus: "active" || "removed", * // }, * // }, * // ], diff --git a/clients/client-elastic-load-balancing-v2/src/commands/ModifyTrustStoreCommand.ts b/clients/client-elastic-load-balancing-v2/src/commands/ModifyTrustStoreCommand.ts index 028101ee68b9f..229ea5a9a1d1f 100644 --- a/clients/client-elastic-load-balancing-v2/src/commands/ModifyTrustStoreCommand.ts +++ b/clients/client-elastic-load-balancing-v2/src/commands/ModifyTrustStoreCommand.ts @@ -32,7 +32,7 @@ export interface ModifyTrustStoreCommandInput extends ModifyTrustStoreInput {} export interface ModifyTrustStoreCommandOutput extends ModifyTrustStoreOutput, __MetadataBearer {} /** - *

Update the ca certificate bundle for a given trust store.

+ *

Update the ca certificate bundle for the specified trust store.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-elastic-load-balancing-v2/src/commands/index.ts b/clients/client-elastic-load-balancing-v2/src/commands/index.ts index ffd6c5ecaca80..5184d38d0e094 100644 --- a/clients/client-elastic-load-balancing-v2/src/commands/index.ts +++ b/clients/client-elastic-load-balancing-v2/src/commands/index.ts @@ -10,6 +10,7 @@ export * from "./CreateTrustStoreCommand"; export * from "./DeleteListenerCommand"; export * from "./DeleteLoadBalancerCommand"; export * from "./DeleteRuleCommand"; +export * from "./DeleteSharedTrustStoreAssociationCommand"; export * from "./DeleteTargetGroupCommand"; export * from "./DeleteTrustStoreCommand"; export * from "./DeregisterTargetsCommand"; @@ -27,6 +28,7 @@ export * from "./DescribeTargetHealthCommand"; export * from "./DescribeTrustStoreAssociationsCommand"; export * from "./DescribeTrustStoreRevocationsCommand"; export * from "./DescribeTrustStoresCommand"; +export * from "./GetResourcePolicyCommand"; export * from "./GetTrustStoreCaCertificatesBundleCommand"; export * from "./GetTrustStoreRevocationContentCommand"; export * from "./ModifyListenerCommand"; diff --git a/clients/client-elastic-load-balancing-v2/src/models/models_0.ts b/clients/client-elastic-load-balancing-v2/src/models/models_0.ts index 588e50162e20d..f594c365fc5bc 100644 --- a/clients/client-elastic-load-balancing-v2/src/models/models_0.ts +++ b/clients/client-elastic-load-balancing-v2/src/models/models_0.ts @@ -1138,6 +1138,21 @@ export interface Cipher { Priority?: number; } +/** + * @public + * @enum + */ +export const TrustStoreAssociationStatusEnum = { + ACTIVE: "active", + REMOVED: "removed", +} as const; + +/** + * @public + */ +export type TrustStoreAssociationStatusEnum = + (typeof TrustStoreAssociationStatusEnum)[keyof typeof TrustStoreAssociationStatusEnum]; + /** *

Information about the mutual authentication attributes of a listener.

* @public @@ -1162,6 +1177,12 @@ export interface MutualAuthenticationAttributes { * @public */ IgnoreClientCertificateExpiry?: boolean; + + /** + *

Indicates a shared trust stores association status.

+ * @public + */ + TrustStoreAssociationStatus?: TrustStoreAssociationStatusEnum; } /** @@ -3154,6 +3175,28 @@ export class TooManyTrustStoresException extends __BaseException { } } +/** + *

The specified association cannot be within the same account.

+ * @public + */ +export class DeleteAssociationSameAccountException extends __BaseException { + readonly name: "DeleteAssociationSameAccountException" = "DeleteAssociationSameAccountException"; + readonly $fault: "client" = "client"; + Message?: string; + /** + * @internal + */ + constructor(opts: __ExceptionOptionType) { + super({ + name: "DeleteAssociationSameAccountException", + $fault: "client", + ...opts, + }); + Object.setPrototypeOf(this, DeleteAssociationSameAccountException.prototype); + this.Message = opts.Message; + } +} + /** * @public */ @@ -3202,6 +3245,50 @@ export interface DeleteRuleInput { */ export interface DeleteRuleOutput {} +/** + * @public + */ +export interface DeleteSharedTrustStoreAssociationInput { + /** + *

The Amazon Resource Name (ARN) of the trust store.

+ * @public + */ + TrustStoreArn: string | undefined; + + /** + *

The Amazon Resource Name (ARN) of the resource.

+ * @public + */ + ResourceArn: string | undefined; +} + +/** + * @public + */ +export interface DeleteSharedTrustStoreAssociationOutput {} + +/** + *

The specified association does not exist.

+ * @public + */ +export class TrustStoreAssociationNotFoundException extends __BaseException { + readonly name: "TrustStoreAssociationNotFoundException" = "TrustStoreAssociationNotFoundException"; + readonly $fault: "client" = "client"; + Message?: string; + /** + * @internal + */ + constructor(opts: __ExceptionOptionType) { + super({ + name: "TrustStoreAssociationNotFoundException", + $fault: "client", + ...opts, + }); + Object.setPrototypeOf(this, TrustStoreAssociationNotFoundException.prototype); + this.Message = opts.Message; + } +} + /** * @public */ @@ -4313,7 +4400,7 @@ export interface DescribeTargetHealthInput { Targets?: TargetDescription[]; /** - *

Used to inclue anomaly detection information.

+ *

Used to include anomaly detection information.

* @public */ Include?: DescribeTargetHealthInputIncludeEnum[]; @@ -4739,6 +4826,50 @@ export interface DescribeTrustStoresOutput { NextMarker?: string; } +/** + * @public + */ +export interface GetResourcePolicyInput { + /** + *

The Amazon Resource Name (ARN) of the resource.

+ * @public + */ + ResourceArn: string | undefined; +} + +/** + * @public + */ +export interface GetResourcePolicyOutput { + /** + *

The content of the resource policy.

+ * @public + */ + Policy?: string; +} + +/** + *

The specified resource does not exist.

+ * @public + */ +export class ResourceNotFoundException extends __BaseException { + readonly name: "ResourceNotFoundException" = "ResourceNotFoundException"; + readonly $fault: "client" = "client"; + Message?: string; + /** + * @internal + */ + constructor(opts: __ExceptionOptionType) { + super({ + name: "ResourceNotFoundException", + $fault: "client", + ...opts, + }); + Object.setPrototypeOf(this, ResourceNotFoundException.prototype); + this.Message = opts.Message; + } +} + /** * @public */ @@ -5218,6 +5349,10 @@ export interface SetIpAddressTypeInput { * ipv4 (for only IPv4 addresses), dualstack (for IPv4 and * IPv6 addresses), and dualstack-without-public-ipv4 (for IPv6 only public * addresses, with private IPv4 and IPv6 addresses).

+ *

Note: Application Load Balancer authentication only supports IPv4 addresses when + * connecting to an Identity Provider (IdP) or Amazon Cognito endpoint. Without a public + * IPv4 address the load balancer cannot complete the authentication process, resulting + * in HTTP 500 errors.

*

[Network Load Balancers] The IP address type. The possible values are * ipv4 (for only IPv4 addresses) and dualstack * (for IPv4 and IPv6 addresses). You can’t specify dualstack diff --git a/clients/client-elastic-load-balancing-v2/src/protocols/Aws_query.ts b/clients/client-elastic-load-balancing-v2/src/protocols/Aws_query.ts index 957bb07d40d70..cc4eca1bfec00 100644 --- a/clients/client-elastic-load-balancing-v2/src/protocols/Aws_query.ts +++ b/clients/client-elastic-load-balancing-v2/src/protocols/Aws_query.ts @@ -38,6 +38,10 @@ import { CreateTrustStoreCommandInput, CreateTrustStoreCommandOutput } from "../ import { DeleteListenerCommandInput, DeleteListenerCommandOutput } from "../commands/DeleteListenerCommand"; import { DeleteLoadBalancerCommandInput, DeleteLoadBalancerCommandOutput } from "../commands/DeleteLoadBalancerCommand"; import { DeleteRuleCommandInput, DeleteRuleCommandOutput } from "../commands/DeleteRuleCommand"; +import { + DeleteSharedTrustStoreAssociationCommandInput, + DeleteSharedTrustStoreAssociationCommandOutput, +} from "../commands/DeleteSharedTrustStoreAssociationCommand"; import { DeleteTargetGroupCommandInput, DeleteTargetGroupCommandOutput } from "../commands/DeleteTargetGroupCommand"; import { DeleteTrustStoreCommandInput, DeleteTrustStoreCommandOutput } from "../commands/DeleteTrustStoreCommand"; import { DeregisterTargetsCommandInput, DeregisterTargetsCommandOutput } from "../commands/DeregisterTargetsCommand"; @@ -88,6 +92,7 @@ import { DescribeTrustStoresCommandInput, DescribeTrustStoresCommandOutput, } from "../commands/DescribeTrustStoresCommand"; +import { GetResourcePolicyCommandInput, GetResourcePolicyCommandOutput } from "../commands/GetResourcePolicyCommand"; import { GetTrustStoreCaCertificatesBundleCommandInput, GetTrustStoreCaCertificatesBundleCommandOutput, @@ -152,12 +157,15 @@ import { CreateTargetGroupOutput, CreateTrustStoreInput, CreateTrustStoreOutput, + DeleteAssociationSameAccountException, DeleteListenerInput, DeleteListenerOutput, DeleteLoadBalancerInput, DeleteLoadBalancerOutput, DeleteRuleInput, DeleteRuleOutput, + DeleteSharedTrustStoreAssociationInput, + DeleteSharedTrustStoreAssociationOutput, DeleteTargetGroupInput, DeleteTargetGroupOutput, DeleteTrustStoreInput, @@ -201,6 +209,8 @@ import { DuplicateTrustStoreNameException, FixedResponseActionConfig, ForwardActionConfig, + GetResourcePolicyInput, + GetResourcePolicyOutput, GetTrustStoreCaCertificatesBundleInput, GetTrustStoreCaCertificatesBundleOutput, GetTrustStoreRevocationContentInput, @@ -255,6 +265,7 @@ import { RemoveTrustStoreRevocationsInput, RemoveTrustStoreRevocationsOutput, ResourceInUseException, + ResourceNotFoundException, RevocationContent, RevocationContentNotFoundException, RevocationIdNotFoundException, @@ -300,6 +311,7 @@ import { TooManyUniqueTargetGroupsPerLoadBalancerException, TrustStore, TrustStoreAssociation, + TrustStoreAssociationNotFoundException, TrustStoreInUseException, TrustStoreNotFoundException, TrustStoreNotReadyException, @@ -494,6 +506,23 @@ export const se_DeleteRuleCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +/** + * serializeAws_queryDeleteSharedTrustStoreAssociationCommand + */ +export const se_DeleteSharedTrustStoreAssociationCommand = async ( + input: DeleteSharedTrustStoreAssociationCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = SHARED_HEADERS; + let body: any; + body = buildFormUrlencodedString({ + ...se_DeleteSharedTrustStoreAssociationInput(input, context), + [_A]: _DSTSA, + [_V]: _, + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + /** * serializeAws_queryDeleteTargetGroupCommand */ @@ -783,6 +812,23 @@ export const se_DescribeTrustStoresCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +/** + * serializeAws_queryGetResourcePolicyCommand + */ +export const se_GetResourcePolicyCommand = async ( + input: GetResourcePolicyCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = SHARED_HEADERS; + let body: any; + body = buildFormUrlencodedString({ + ...se_GetResourcePolicyInput(input, context), + [_A]: _GRP, + [_V]: _, + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + /** * serializeAws_queryGetTrustStoreCaCertificatesBundleCommand */ @@ -1275,6 +1321,26 @@ export const de_DeleteRuleCommand = async ( return response; }; +/** + * deserializeAws_queryDeleteSharedTrustStoreAssociationCommand + */ +export const de_DeleteSharedTrustStoreAssociationCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = de_DeleteSharedTrustStoreAssociationOutput(data.DeleteSharedTrustStoreAssociationResult, context); + const response: DeleteSharedTrustStoreAssociationCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + /** * deserializeAws_queryDeleteTargetGroupCommand */ @@ -1615,6 +1681,26 @@ export const de_DescribeTrustStoresCommand = async ( return response; }; +/** + * deserializeAws_queryGetResourcePolicyCommand + */ +export const de_GetResourcePolicyCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = de_GetResourcePolicyOutput(data.GetResourcePolicyResult, context); + const response: GetResourcePolicyCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + /** * deserializeAws_queryGetTrustStoreCaCertificatesBundleCommand */ @@ -2077,6 +2163,12 @@ const de_CommandError = async (output: __HttpResponse, context: __SerdeContext): case "TooManyTrustStores": case "com.amazonaws.elasticloadbalancingv2#TooManyTrustStoresException": throw await de_TooManyTrustStoresExceptionRes(parsedOutput, context); + case "AssociationNotFound": + case "com.amazonaws.elasticloadbalancingv2#TrustStoreAssociationNotFoundException": + throw await de_TrustStoreAssociationNotFoundExceptionRes(parsedOutput, context); + case "DeleteAssociationSameAccount": + case "com.amazonaws.elasticloadbalancingv2#DeleteAssociationSameAccountException": + throw await de_DeleteAssociationSameAccountExceptionRes(parsedOutput, context); case "TrustStoreInUse": case "com.amazonaws.elasticloadbalancingv2#TrustStoreInUseException": throw await de_TrustStoreInUseExceptionRes(parsedOutput, context); @@ -2089,6 +2181,9 @@ const de_CommandError = async (output: __HttpResponse, context: __SerdeContext): case "RevocationIdNotFound": case "com.amazonaws.elasticloadbalancingv2#RevocationIdNotFoundException": throw await de_RevocationIdNotFoundExceptionRes(parsedOutput, context); + case "ResourceNotFound": + case "com.amazonaws.elasticloadbalancingv2#ResourceNotFoundException": + throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); default: const parsedBody = parsedOutput.body; return throwDefaultError({ @@ -2179,6 +2274,22 @@ const de_CertificateNotFoundExceptionRes = async ( return __decorateServiceException(exception, body); }; +/** + * deserializeAws_queryDeleteAssociationSameAccountExceptionRes + */ +const de_DeleteAssociationSameAccountExceptionRes = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = de_DeleteAssociationSameAccountException(body.Error, context); + const exception = new DeleteAssociationSameAccountException({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }); + return __decorateServiceException(exception, body); +}; + /** * deserializeAws_queryDuplicateListenerExceptionRes */ @@ -2499,6 +2610,22 @@ const de_ResourceInUseExceptionRes = async ( return __decorateServiceException(exception, body); }; +/** + * deserializeAws_queryResourceNotFoundExceptionRes + */ +const de_ResourceNotFoundExceptionRes = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = de_ResourceNotFoundException(body.Error, context); + const exception = new ResourceNotFoundException({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }); + return __decorateServiceException(exception, body); +}; + /** * deserializeAws_queryRevocationContentNotFoundExceptionRes */ @@ -2803,6 +2930,22 @@ const de_TooManyUniqueTargetGroupsPerLoadBalancerExceptionRes = async ( return __decorateServiceException(exception, body); }; +/** + * deserializeAws_queryTrustStoreAssociationNotFoundExceptionRes + */ +const de_TrustStoreAssociationNotFoundExceptionRes = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = de_TrustStoreAssociationNotFoundException(body.Error, context); + const exception = new TrustStoreAssociationNotFoundException({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }); + return __decorateServiceException(exception, body); +}; + /** * deserializeAws_queryTrustStoreInUseExceptionRes */ @@ -3486,6 +3629,23 @@ const se_DeleteRuleInput = (input: DeleteRuleInput, context: __SerdeContext): an return entries; }; +/** + * serializeAws_queryDeleteSharedTrustStoreAssociationInput + */ +const se_DeleteSharedTrustStoreAssociationInput = ( + input: DeleteSharedTrustStoreAssociationInput, + context: __SerdeContext +): any => { + const entries: any = {}; + if (input[_TSA] != null) { + entries[_TSA] = input[_TSA]; + } + if (input[_RAe] != null) { + entries[_RAe] = input[_RAe]; + } + return entries; +}; + /** * serializeAws_queryDeleteTargetGroupInput */ @@ -3918,6 +4078,17 @@ const se_ForwardActionConfig = (input: ForwardActionConfig, context: __SerdeCont return entries; }; +/** + * serializeAws_queryGetResourcePolicyInput + */ +const se_GetResourcePolicyInput = (input: GetResourcePolicyInput, context: __SerdeContext): any => { + const entries: any = {}; + if (input[_RAe] != null) { + entries[_RAe] = input[_RAe]; + } + return entries; +}; + /** * serializeAws_queryGetTrustStoreCaCertificatesBundleInput */ @@ -4345,6 +4516,9 @@ const se_MutualAuthenticationAttributes = (input: MutualAuthenticationAttributes if (input[_ICCE] != null) { entries[_ICCE] = input[_ICCE]; } + if (input[_TSAS] != null) { + entries[_TSAS] = input[_TSAS]; + } return entries; }; @@ -5589,6 +5763,20 @@ const de_CreateTrustStoreOutput = (output: any, context: __SerdeContext): Create return contents; }; +/** + * deserializeAws_queryDeleteAssociationSameAccountException + */ +const de_DeleteAssociationSameAccountException = ( + output: any, + context: __SerdeContext +): DeleteAssociationSameAccountException => { + const contents: any = {}; + if (output[_Me] != null) { + contents[_Me] = __expectString(output[_Me]); + } + return contents; +}; + /** * deserializeAws_queryDeleteListenerOutput */ @@ -5613,6 +5801,17 @@ const de_DeleteRuleOutput = (output: any, context: __SerdeContext): DeleteRuleOu return contents; }; +/** + * deserializeAws_queryDeleteSharedTrustStoreAssociationOutput + */ +const de_DeleteSharedTrustStoreAssociationOutput = ( + output: any, + context: __SerdeContext +): DeleteSharedTrustStoreAssociationOutput => { + const contents: any = {}; + return contents; +}; + /** * deserializeAws_queryDeleteTargetGroupOutput */ @@ -5995,6 +6194,17 @@ const de_ForwardActionConfig = (output: any, context: __SerdeContext): ForwardAc return contents; }; +/** + * deserializeAws_queryGetResourcePolicyOutput + */ +const de_GetResourcePolicyOutput = (output: any, context: __SerdeContext): GetResourcePolicyOutput => { + const contents: any = {}; + if (output[_Pol] != null) { + contents[_Pol] = __expectString(output[_Pol]); + } + return contents; +}; + /** * deserializeAws_queryGetTrustStoreCaCertificatesBundleOutput */ @@ -6558,6 +6768,9 @@ const de_MutualAuthenticationAttributes = (output: any, context: __SerdeContext) if (output[_ICCE] != null) { contents[_ICCE] = __parseBoolean(output[_ICCE]); } + if (output[_TSAS] != null) { + contents[_TSAS] = __expectString(output[_TSAS]); + } return contents; }; @@ -6709,6 +6922,17 @@ const de_ResourceInUseException = (output: any, context: __SerdeContext): Resour return contents; }; +/** + * deserializeAws_queryResourceNotFoundException + */ +const de_ResourceNotFoundException = (output: any, context: __SerdeContext): ResourceNotFoundException => { + const contents: any = {}; + if (output[_Me] != null) { + contents[_Me] = __expectString(output[_Me]); + } + return contents; +}; + /** * deserializeAws_queryRevocationContentNotFoundException */ @@ -7434,6 +7658,20 @@ const de_TrustStoreAssociation = (output: any, context: __SerdeContext): TrustSt return contents; }; +/** + * deserializeAws_queryTrustStoreAssociationNotFoundException + */ +const de_TrustStoreAssociationNotFoundException = ( + output: any, + context: __SerdeContext +): TrustStoreAssociationNotFoundException => { + const contents: any = {}; + if (output[_Me] != null) { + contents[_Me] = __expectString(output[_Me]); + } + return contents; +}; + /** * deserializeAws_queryTrustStoreAssociations */ @@ -7621,6 +7859,7 @@ const _DR = "DeleteRule"; const _DRe = "DescribeRules"; const _DS = "DurationSeconds"; const _DSSLP = "DescribeSSLPolicies"; +const _DSTSA = "DeleteSharedTrustStoreAssociation"; const _DT = "DeregisterTargets"; const _DTG = "DeleteTargetGroup"; const _DTGA = "DescribeTargetGroupAttributes"; @@ -7637,6 +7876,7 @@ const _F = "Field"; const _FC = "ForwardConfig"; const _FRC = "FixedResponseConfig"; const _GC = "GrpcCode"; +const _GRP = "GetResourcePolicy"; const _GTSCCB = "GetTrustStoreCaCertificatesBundle"; const _GTSRC = "GetTrustStoreRevocationContent"; const _H = "Host"; @@ -7701,6 +7941,7 @@ const _PS = "PageSize"; const _PV = "ProtocolVersion"; const _Pa = "Path"; const _Po = "Port"; +const _Pol = "Policy"; const _Pr = "Priority"; const _Q = "Query"; const _QSC = "QueryStringConfig"; @@ -7759,6 +8000,7 @@ const _TK = "TagKeys"; const _TRE = "TotalRevokedEntries"; const _TS = "TrustStores"; const _TSA = "TrustStoreArn"; +const _TSAS = "TrustStoreAssociationStatus"; const _TSAr = "TrustStoreArns"; const _TSAru = "TrustStoreAssociations"; const _TSR = "TrustStoreRevocations"; diff --git a/codegen/sdk-codegen/aws-models/elastic-load-balancing-v2.json b/codegen/sdk-codegen/aws-models/elastic-load-balancing-v2.json index a9907d8c1dc5e..0319baa3a9f9b 100644 --- a/codegen/sdk-codegen/aws-models/elastic-load-balancing-v2.json +++ b/codegen/sdk-codegen/aws-models/elastic-load-balancing-v2.json @@ -1761,6 +1761,23 @@ "com.amazonaws.elasticloadbalancingv2#Default": { "type": "boolean" }, + "com.amazonaws.elasticloadbalancingv2#DeleteAssociationSameAccountException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.elasticloadbalancingv2#ErrorDescription" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "DeleteAssociationSameAccount", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

The specified association cannot be within the same account.

", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, "com.amazonaws.elasticloadbalancingv2#DeleteListener": { "type": "operation", "input": { @@ -1920,6 +1937,70 @@ "smithy.api#output": {} } }, + "com.amazonaws.elasticloadbalancingv2#DeleteSharedTrustStoreAssociation": { + "type": "operation", + "input": { + "target": "com.amazonaws.elasticloadbalancingv2#DeleteSharedTrustStoreAssociationInput" + }, + "output": { + "target": "com.amazonaws.elasticloadbalancingv2#DeleteSharedTrustStoreAssociationOutput" + }, + "errors": [ + { + "target": "com.amazonaws.elasticloadbalancingv2#DeleteAssociationSameAccountException" + }, + { + "target": "com.amazonaws.elasticloadbalancingv2#TrustStoreAssociationNotFoundException" + }, + { + "target": "com.amazonaws.elasticloadbalancingv2#TrustStoreNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

Deletes a shared trust store association.

", + "smithy.api#examples": [ + { + "title": "Delete a shared trust store association", + "documentation": "This example deletes the association between the specified trust store and the specified load balancer.", + "input": { + "TrustStoreArn": "arn:aws:elasticloadbalancing:us-east-1:123456789012:truststore/my-trust-store/73e2d6bc24d8a063", + "ResourceArn": "arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/app/my-load-balancer/80233fa81d678c2c" + } + } + ] + } + }, + "com.amazonaws.elasticloadbalancingv2#DeleteSharedTrustStoreAssociationInput": { + "type": "structure", + "members": { + "TrustStoreArn": { + "target": "com.amazonaws.elasticloadbalancingv2#TrustStoreArn", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the trust store.

", + "smithy.api#required": {} + } + }, + "ResourceArn": { + "target": "com.amazonaws.elasticloadbalancingv2#ResourceArn", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.elasticloadbalancingv2#DeleteSharedTrustStoreAssociationOutput": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.elasticloadbalancingv2#DeleteTargetGroup": { "type": "operation", "input": { @@ -3267,7 +3348,7 @@ "Include": { "target": "com.amazonaws.elasticloadbalancingv2#ListOfDescribeTargetHealthIncludeOptions", "traits": { - "smithy.api#documentation": "

Used to inclue anomaly detection information.

" + "smithy.api#documentation": "

Used to include anomaly detection information.

" } } }, @@ -3431,7 +3512,7 @@ } ], "traits": { - "smithy.api#documentation": "

Describes the revocation files in use by the specified \n trust store arn, or revocation ID.

", + "smithy.api#documentation": "

Describes the revocation files in use by the specified trust store or revocation\n files.

", "smithy.api#paginated": { "inputToken": "Marker", "outputToken": "NextMarker", @@ -3507,7 +3588,7 @@ } ], "traits": { - "smithy.api#documentation": "

Describes all trust stores for a given account \n by trust store arn’s or name.

", + "smithy.api#documentation": "

Describes all trust stores for the specified account.

", "smithy.api#paginated": { "inputToken": "Marker", "outputToken": "NextMarker", @@ -3692,6 +3773,9 @@ { "target": "com.amazonaws.elasticloadbalancingv2#DeleteRule" }, + { + "target": "com.amazonaws.elasticloadbalancingv2#DeleteSharedTrustStoreAssociation" + }, { "target": "com.amazonaws.elasticloadbalancingv2#DeleteTargetGroup" }, @@ -3743,6 +3827,9 @@ { "target": "com.amazonaws.elasticloadbalancingv2#DescribeTrustStores" }, + { + "target": "com.amazonaws.elasticloadbalancingv2#GetResourcePolicy" + }, { "target": "com.amazonaws.elasticloadbalancingv2#GetTrustStoreCaCertificatesBundle" }, @@ -4924,6 +5011,62 @@ "smithy.api#documentation": "

Information about a forward action.

" } }, + "com.amazonaws.elasticloadbalancingv2#GetResourcePolicy": { + "type": "operation", + "input": { + "target": "com.amazonaws.elasticloadbalancingv2#GetResourcePolicyInput" + }, + "output": { + "target": "com.amazonaws.elasticloadbalancingv2#GetResourcePolicyOutput" + }, + "errors": [ + { + "target": "com.amazonaws.elasticloadbalancingv2#ResourceNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

Retrieves the resource policy for a specified resource.

", + "smithy.api#examples": [ + { + "title": "Retrieve a resource policy", + "documentation": "This example retrieves the resource policy for the specified trust store.", + "input": { + "ResourceArn": "arn:aws:elasticloadbalancing:us-east-1:123456789012:truststore/my-trust-store/73e2d6bc24d8a067" + } + } + ] + } + }, + "com.amazonaws.elasticloadbalancingv2#GetResourcePolicyInput": { + "type": "structure", + "members": { + "ResourceArn": { + "target": "com.amazonaws.elasticloadbalancingv2#ResourceArn", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.elasticloadbalancingv2#GetResourcePolicyOutput": { + "type": "structure", + "members": { + "Policy": { + "target": "com.amazonaws.elasticloadbalancingv2#Policy", + "traits": { + "smithy.api#documentation": "

The content of the resource policy.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.elasticloadbalancingv2#GetTrustStoreCaCertificatesBundle": { "type": "operation", "input": { @@ -6579,7 +6722,7 @@ } ], "traits": { - "smithy.api#documentation": "

Update the ca certificate bundle for a given trust store.

" + "smithy.api#documentation": "

Update the ca certificate bundle for the specified trust store.

" } }, "com.amazonaws.elasticloadbalancingv2#ModifyTrustStoreInput": { @@ -6654,6 +6797,12 @@ "traits": { "smithy.api#documentation": "

Indicates whether expired client certificates are ignored.

" } + }, + "TrustStoreAssociationStatus": { + "target": "com.amazonaws.elasticloadbalancingv2#TrustStoreAssociationStatusEnum", + "traits": { + "smithy.api#documentation": "

Indicates a shared trust stores association status.

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

Information about a path pattern condition.

" } }, + "com.amazonaws.elasticloadbalancingv2#Policy": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1 + } + } + }, "com.amazonaws.elasticloadbalancingv2#Port": { "type": "integer", "traits": { @@ -7233,6 +7390,23 @@ "smithy.api#httpError": 400 } }, + "com.amazonaws.elasticloadbalancingv2#ResourceNotFoundException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.elasticloadbalancingv2#ErrorDescription" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "ResourceNotFound", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

The specified resource does not exist.

", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, "com.amazonaws.elasticloadbalancingv2#RevocationContent": { "type": "structure", "members": { @@ -7565,7 +7739,7 @@ "target": "com.amazonaws.elasticloadbalancingv2#IpAddressType", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

Note: Internal load balancers must use the ipv4 IP address type.

\n

[Application Load Balancers] The IP address type. The possible values are \n ipv4 (for only IPv4 addresses), dualstack (for IPv4 and \n IPv6 addresses), and dualstack-without-public-ipv4 (for IPv6 only public \n addresses, with private IPv4 and IPv6 addresses).

\n

[Network Load Balancers] The IP address type. The possible values are \n ipv4 (for only IPv4 addresses) and dualstack \n (for IPv4 and IPv6 addresses). You can’t specify dualstack \n for a load balancer with a UDP or TCP_UDP listener.

\n

[Gateway Load Balancers] The IP address type. The possible values are \n ipv4 (for only IPv4 addresses) and dualstack \n (for IPv4 and IPv6 addresses).

", + "smithy.api#documentation": "

Note: Internal load balancers must use the ipv4 IP address type.

\n

[Application Load Balancers] The IP address type. The possible values are \n ipv4 (for only IPv4 addresses), dualstack (for IPv4 and \n IPv6 addresses), and dualstack-without-public-ipv4 (for IPv6 only public \n addresses, with private IPv4 and IPv6 addresses).

\n

Note: Application Load Balancer authentication only supports IPv4 addresses when \n connecting to an Identity Provider (IdP) or Amazon Cognito endpoint. Without a public \n IPv4 address the load balancer cannot complete the authentication process, resulting \n in HTTP 500 errors.

\n

[Network Load Balancers] The IP address type. The possible values are \n ipv4 (for only IPv4 addresses) and dualstack \n (for IPv4 and IPv6 addresses). You can’t specify dualstack \n for a load balancer with a UDP or TCP_UDP listener.

\n

[Gateway Load Balancers] The IP address type. The possible values are \n ipv4 (for only IPv4 addresses) and dualstack \n (for IPv4 and IPv6 addresses).

", "smithy.api#required": {} } } @@ -8905,9 +9079,43 @@ "smithy.api#documentation": "

Information about the resources a trust store is associated with.

" } }, + "com.amazonaws.elasticloadbalancingv2#TrustStoreAssociationNotFoundException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.elasticloadbalancingv2#ErrorDescription" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "AssociationNotFound", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

The specified association does not exist.

", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, "com.amazonaws.elasticloadbalancingv2#TrustStoreAssociationResourceArn": { "type": "string" }, + "com.amazonaws.elasticloadbalancingv2#TrustStoreAssociationStatusEnum": { + "type": "enum", + "members": { + "ACTIVE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "active" + } + }, + "REMOVED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "removed" + } + } + } + }, "com.amazonaws.elasticloadbalancingv2#TrustStoreAssociations": { "type": "list", "member": {