diff --git a/clients/client-license-manager-linux-subscriptions/README.md b/clients/client-license-manager-linux-subscriptions/README.md index 9830788257e9..b54241dfd06b 100644 --- a/clients/client-license-manager-linux-subscriptions/README.md +++ b/clients/client-license-manager-linux-subscriptions/README.md @@ -210,6 +210,22 @@ see LICENSE for more information. ## Client Commands (Operations List) +
+ +DeregisterSubscriptionProvider + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/license-manager-linux-subscriptions/command/DeregisterSubscriptionProviderCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-license-manager-linux-subscriptions/Interface/DeregisterSubscriptionProviderCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-license-manager-linux-subscriptions/Interface/DeregisterSubscriptionProviderCommandOutput/) + +
+
+ +GetRegisteredSubscriptionProvider + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/license-manager-linux-subscriptions/command/GetRegisteredSubscriptionProviderCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-license-manager-linux-subscriptions/Interface/GetRegisteredSubscriptionProviderCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-license-manager-linux-subscriptions/Interface/GetRegisteredSubscriptionProviderCommandOutput/) + +
GetServiceSettings @@ -233,6 +249,46 @@ ListLinuxSubscriptions [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/license-manager-linux-subscriptions/command/ListLinuxSubscriptionsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-license-manager-linux-subscriptions/Interface/ListLinuxSubscriptionsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-license-manager-linux-subscriptions/Interface/ListLinuxSubscriptionsCommandOutput/) +
+
+ +ListRegisteredSubscriptionProviders + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/license-manager-linux-subscriptions/command/ListRegisteredSubscriptionProvidersCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-license-manager-linux-subscriptions/Interface/ListRegisteredSubscriptionProvidersCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-license-manager-linux-subscriptions/Interface/ListRegisteredSubscriptionProvidersCommandOutput/) + +
+
+ +ListTagsForResource + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/license-manager-linux-subscriptions/command/ListTagsForResourceCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-license-manager-linux-subscriptions/Interface/ListTagsForResourceCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-license-manager-linux-subscriptions/Interface/ListTagsForResourceCommandOutput/) + +
+
+ +RegisterSubscriptionProvider + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/license-manager-linux-subscriptions/command/RegisterSubscriptionProviderCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-license-manager-linux-subscriptions/Interface/RegisterSubscriptionProviderCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-license-manager-linux-subscriptions/Interface/RegisterSubscriptionProviderCommandOutput/) + +
+
+ +TagResource + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/license-manager-linux-subscriptions/command/TagResourceCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-license-manager-linux-subscriptions/Interface/TagResourceCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-license-manager-linux-subscriptions/Interface/TagResourceCommandOutput/) + +
+
+ +UntagResource + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/license-manager-linux-subscriptions/command/UntagResourceCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-license-manager-linux-subscriptions/Interface/UntagResourceCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-license-manager-linux-subscriptions/Interface/UntagResourceCommandOutput/) +
diff --git a/clients/client-license-manager-linux-subscriptions/src/LicenseManagerLinuxSubscriptions.ts b/clients/client-license-manager-linux-subscriptions/src/LicenseManagerLinuxSubscriptions.ts index 644a8c3a0674..273d0a1a3157 100644 --- a/clients/client-license-manager-linux-subscriptions/src/LicenseManagerLinuxSubscriptions.ts +++ b/clients/client-license-manager-linux-subscriptions/src/LicenseManagerLinuxSubscriptions.ts @@ -2,6 +2,16 @@ import { createAggregatedClient } from "@smithy/smithy-client"; import { HttpHandlerOptions as __HttpHandlerOptions } from "@smithy/types"; +import { + DeregisterSubscriptionProviderCommand, + DeregisterSubscriptionProviderCommandInput, + DeregisterSubscriptionProviderCommandOutput, +} from "./commands/DeregisterSubscriptionProviderCommand"; +import { + GetRegisteredSubscriptionProviderCommand, + GetRegisteredSubscriptionProviderCommandInput, + GetRegisteredSubscriptionProviderCommandOutput, +} from "./commands/GetRegisteredSubscriptionProviderCommand"; import { GetServiceSettingsCommand, GetServiceSettingsCommandInput, @@ -17,6 +27,27 @@ import { ListLinuxSubscriptionsCommandInput, ListLinuxSubscriptionsCommandOutput, } from "./commands/ListLinuxSubscriptionsCommand"; +import { + ListRegisteredSubscriptionProvidersCommand, + ListRegisteredSubscriptionProvidersCommandInput, + ListRegisteredSubscriptionProvidersCommandOutput, +} from "./commands/ListRegisteredSubscriptionProvidersCommand"; +import { + ListTagsForResourceCommand, + ListTagsForResourceCommandInput, + ListTagsForResourceCommandOutput, +} from "./commands/ListTagsForResourceCommand"; +import { + RegisterSubscriptionProviderCommand, + RegisterSubscriptionProviderCommandInput, + RegisterSubscriptionProviderCommandOutput, +} from "./commands/RegisterSubscriptionProviderCommand"; +import { TagResourceCommand, TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand"; +import { + UntagResourceCommand, + UntagResourceCommandInput, + UntagResourceCommandOutput, +} from "./commands/UntagResourceCommand"; import { UpdateServiceSettingsCommand, UpdateServiceSettingsCommandInput, @@ -28,13 +59,54 @@ import { } from "./LicenseManagerLinuxSubscriptionsClient"; const commands = { + DeregisterSubscriptionProviderCommand, + GetRegisteredSubscriptionProviderCommand, GetServiceSettingsCommand, ListLinuxSubscriptionInstancesCommand, ListLinuxSubscriptionsCommand, + ListRegisteredSubscriptionProvidersCommand, + ListTagsForResourceCommand, + RegisterSubscriptionProviderCommand, + TagResourceCommand, + UntagResourceCommand, UpdateServiceSettingsCommand, }; export interface LicenseManagerLinuxSubscriptions { + /** + * @see {@link DeregisterSubscriptionProviderCommand} + */ + deregisterSubscriptionProvider( + args: DeregisterSubscriptionProviderCommandInput, + options?: __HttpHandlerOptions + ): Promise; + deregisterSubscriptionProvider( + args: DeregisterSubscriptionProviderCommandInput, + cb: (err: any, data?: DeregisterSubscriptionProviderCommandOutput) => void + ): void; + deregisterSubscriptionProvider( + args: DeregisterSubscriptionProviderCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeregisterSubscriptionProviderCommandOutput) => void + ): void; + + /** + * @see {@link GetRegisteredSubscriptionProviderCommand} + */ + getRegisteredSubscriptionProvider( + args: GetRegisteredSubscriptionProviderCommandInput, + options?: __HttpHandlerOptions + ): Promise; + getRegisteredSubscriptionProvider( + args: GetRegisteredSubscriptionProviderCommandInput, + cb: (err: any, data?: GetRegisteredSubscriptionProviderCommandOutput) => void + ): void; + getRegisteredSubscriptionProvider( + args: GetRegisteredSubscriptionProviderCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetRegisteredSubscriptionProviderCommandOutput) => void + ): void; + /** * @see {@link GetServiceSettingsCommand} */ @@ -89,6 +161,80 @@ export interface LicenseManagerLinuxSubscriptions { cb: (err: any, data?: ListLinuxSubscriptionsCommandOutput) => void ): void; + /** + * @see {@link ListRegisteredSubscriptionProvidersCommand} + */ + listRegisteredSubscriptionProviders(): Promise; + listRegisteredSubscriptionProviders( + args: ListRegisteredSubscriptionProvidersCommandInput, + options?: __HttpHandlerOptions + ): Promise; + listRegisteredSubscriptionProviders( + args: ListRegisteredSubscriptionProvidersCommandInput, + cb: (err: any, data?: ListRegisteredSubscriptionProvidersCommandOutput) => void + ): void; + listRegisteredSubscriptionProviders( + args: ListRegisteredSubscriptionProvidersCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListRegisteredSubscriptionProvidersCommandOutput) => void + ): void; + + /** + * @see {@link ListTagsForResourceCommand} + */ + listTagsForResource( + args: ListTagsForResourceCommandInput, + options?: __HttpHandlerOptions + ): Promise; + listTagsForResource( + args: ListTagsForResourceCommandInput, + cb: (err: any, data?: ListTagsForResourceCommandOutput) => void + ): void; + listTagsForResource( + args: ListTagsForResourceCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListTagsForResourceCommandOutput) => void + ): void; + + /** + * @see {@link RegisterSubscriptionProviderCommand} + */ + registerSubscriptionProvider( + args: RegisterSubscriptionProviderCommandInput, + options?: __HttpHandlerOptions + ): Promise; + registerSubscriptionProvider( + args: RegisterSubscriptionProviderCommandInput, + cb: (err: any, data?: RegisterSubscriptionProviderCommandOutput) => void + ): void; + registerSubscriptionProvider( + args: RegisterSubscriptionProviderCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: RegisterSubscriptionProviderCommandOutput) => void + ): void; + + /** + * @see {@link TagResourceCommand} + */ + tagResource(args: TagResourceCommandInput, options?: __HttpHandlerOptions): Promise; + tagResource(args: TagResourceCommandInput, cb: (err: any, data?: TagResourceCommandOutput) => void): void; + tagResource( + args: TagResourceCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: TagResourceCommandOutput) => void + ): void; + + /** + * @see {@link UntagResourceCommand} + */ + untagResource(args: UntagResourceCommandInput, options?: __HttpHandlerOptions): Promise; + untagResource(args: UntagResourceCommandInput, cb: (err: any, data?: UntagResourceCommandOutput) => void): void; + untagResource( + args: UntagResourceCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UntagResourceCommandOutput) => void + ): void; + /** * @see {@link UpdateServiceSettingsCommand} */ diff --git a/clients/client-license-manager-linux-subscriptions/src/LicenseManagerLinuxSubscriptionsClient.ts b/clients/client-license-manager-linux-subscriptions/src/LicenseManagerLinuxSubscriptionsClient.ts index 12d6f1312ca5..00909ad92ed0 100644 --- a/clients/client-license-manager-linux-subscriptions/src/LicenseManagerLinuxSubscriptionsClient.ts +++ b/clients/client-license-manager-linux-subscriptions/src/LicenseManagerLinuxSubscriptionsClient.ts @@ -53,6 +53,14 @@ import { HttpAuthSchemeResolvedConfig, resolveHttpAuthSchemeConfig, } from "./auth/httpAuthSchemeProvider"; +import { + DeregisterSubscriptionProviderCommandInput, + DeregisterSubscriptionProviderCommandOutput, +} from "./commands/DeregisterSubscriptionProviderCommand"; +import { + GetRegisteredSubscriptionProviderCommandInput, + GetRegisteredSubscriptionProviderCommandOutput, +} from "./commands/GetRegisteredSubscriptionProviderCommand"; import { GetServiceSettingsCommandInput, GetServiceSettingsCommandOutput } from "./commands/GetServiceSettingsCommand"; import { ListLinuxSubscriptionInstancesCommandInput, @@ -62,6 +70,20 @@ import { ListLinuxSubscriptionsCommandInput, ListLinuxSubscriptionsCommandOutput, } from "./commands/ListLinuxSubscriptionsCommand"; +import { + ListRegisteredSubscriptionProvidersCommandInput, + ListRegisteredSubscriptionProvidersCommandOutput, +} from "./commands/ListRegisteredSubscriptionProvidersCommand"; +import { + ListTagsForResourceCommandInput, + ListTagsForResourceCommandOutput, +} from "./commands/ListTagsForResourceCommand"; +import { + RegisterSubscriptionProviderCommandInput, + RegisterSubscriptionProviderCommandOutput, +} from "./commands/RegisterSubscriptionProviderCommand"; +import { TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand"; +import { UntagResourceCommandInput, UntagResourceCommandOutput } from "./commands/UntagResourceCommand"; import { UpdateServiceSettingsCommandInput, UpdateServiceSettingsCommandOutput, @@ -81,18 +103,32 @@ export { __Client }; * @public */ export type ServiceInputTypes = + | DeregisterSubscriptionProviderCommandInput + | GetRegisteredSubscriptionProviderCommandInput | GetServiceSettingsCommandInput | ListLinuxSubscriptionInstancesCommandInput | ListLinuxSubscriptionsCommandInput + | ListRegisteredSubscriptionProvidersCommandInput + | ListTagsForResourceCommandInput + | RegisterSubscriptionProviderCommandInput + | TagResourceCommandInput + | UntagResourceCommandInput | UpdateServiceSettingsCommandInput; /** * @public */ export type ServiceOutputTypes = + | DeregisterSubscriptionProviderCommandOutput + | GetRegisteredSubscriptionProviderCommandOutput | GetServiceSettingsCommandOutput | ListLinuxSubscriptionInstancesCommandOutput | ListLinuxSubscriptionsCommandOutput + | ListRegisteredSubscriptionProvidersCommandOutput + | ListTagsForResourceCommandOutput + | RegisterSubscriptionProviderCommandOutput + | TagResourceCommandOutput + | UntagResourceCommandOutput | UpdateServiceSettingsCommandOutput; /** diff --git a/clients/client-license-manager-linux-subscriptions/src/commands/DeregisterSubscriptionProviderCommand.ts b/clients/client-license-manager-linux-subscriptions/src/commands/DeregisterSubscriptionProviderCommand.ts new file mode 100644 index 000000000000..52303183349e --- /dev/null +++ b/clients/client-license-manager-linux-subscriptions/src/commands/DeregisterSubscriptionProviderCommand.ts @@ -0,0 +1,102 @@ +// 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 { commonParams } from "../endpoint/EndpointParameters"; +import { + LicenseManagerLinuxSubscriptionsClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../LicenseManagerLinuxSubscriptionsClient"; +import { DeregisterSubscriptionProviderRequest, DeregisterSubscriptionProviderResponse } from "../models/models_0"; +import { + de_DeregisterSubscriptionProviderCommand, + se_DeregisterSubscriptionProviderCommand, +} from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link DeregisterSubscriptionProviderCommand}. + */ +export interface DeregisterSubscriptionProviderCommandInput extends DeregisterSubscriptionProviderRequest {} +/** + * @public + * + * The output of {@link DeregisterSubscriptionProviderCommand}. + */ +export interface DeregisterSubscriptionProviderCommandOutput + extends DeregisterSubscriptionProviderResponse, + __MetadataBearer {} + +/** + *

Remove a third-party subscription provider from the Bring Your Own License (BYOL) subscriptions + * registered to your account.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { LicenseManagerLinuxSubscriptionsClient, DeregisterSubscriptionProviderCommand } from "@aws-sdk/client-license-manager-linux-subscriptions"; // ES Modules import + * // const { LicenseManagerLinuxSubscriptionsClient, DeregisterSubscriptionProviderCommand } = require("@aws-sdk/client-license-manager-linux-subscriptions"); // CommonJS import + * const client = new LicenseManagerLinuxSubscriptionsClient(config); + * const input = { // DeregisterSubscriptionProviderRequest + * SubscriptionProviderArn: "STRING_VALUE", // required + * }; + * const command = new DeregisterSubscriptionProviderCommand(input); + * const response = await client.send(command); + * // {}; + * + * ``` + * + * @param DeregisterSubscriptionProviderCommandInput - {@link DeregisterSubscriptionProviderCommandInput} + * @returns {@link DeregisterSubscriptionProviderCommandOutput} + * @see {@link DeregisterSubscriptionProviderCommandInput} for command's `input` shape. + * @see {@link DeregisterSubscriptionProviderCommandOutput} for command's `response` shape. + * @see {@link LicenseManagerLinuxSubscriptionsClientResolvedConfig | config} for LicenseManagerLinuxSubscriptionsClient's `config` shape. + * + * @throws {@link InternalServerException} (server fault) + *

An exception occurred with the service.

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

Unable to find the requested Amazon Web Services resource.

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

The request was denied due to request throttling.

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

The provided input is not valid. Try your request again.

+ * + * @throws {@link LicenseManagerLinuxSubscriptionsServiceException} + *

Base exception class for all service exceptions from LicenseManagerLinuxSubscriptions service.

+ * + * @public + */ +export class DeregisterSubscriptionProviderCommand extends $Command + .classBuilder< + DeregisterSubscriptionProviderCommandInput, + DeregisterSubscriptionProviderCommandOutput, + LicenseManagerLinuxSubscriptionsClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep({ + ...commonParams, + }) + .m(function (this: any, Command: any, cs: any, config: LicenseManagerLinuxSubscriptionsClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("LicenseManagerLinuxSubscriptions", "DeregisterSubscriptionProvider", {}) + .n("LicenseManagerLinuxSubscriptionsClient", "DeregisterSubscriptionProviderCommand") + .f(void 0, void 0) + .ser(se_DeregisterSubscriptionProviderCommand) + .de(de_DeregisterSubscriptionProviderCommand) + .build() {} diff --git a/clients/client-license-manager-linux-subscriptions/src/commands/GetRegisteredSubscriptionProviderCommand.ts b/clients/client-license-manager-linux-subscriptions/src/commands/GetRegisteredSubscriptionProviderCommand.ts new file mode 100644 index 000000000000..f735f4c52bf5 --- /dev/null +++ b/clients/client-license-manager-linux-subscriptions/src/commands/GetRegisteredSubscriptionProviderCommand.ts @@ -0,0 +1,111 @@ +// 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 { commonParams } from "../endpoint/EndpointParameters"; +import { + LicenseManagerLinuxSubscriptionsClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../LicenseManagerLinuxSubscriptionsClient"; +import { + GetRegisteredSubscriptionProviderRequest, + GetRegisteredSubscriptionProviderResponse, +} from "../models/models_0"; +import { + de_GetRegisteredSubscriptionProviderCommand, + se_GetRegisteredSubscriptionProviderCommand, +} from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link GetRegisteredSubscriptionProviderCommand}. + */ +export interface GetRegisteredSubscriptionProviderCommandInput extends GetRegisteredSubscriptionProviderRequest {} +/** + * @public + * + * The output of {@link GetRegisteredSubscriptionProviderCommand}. + */ +export interface GetRegisteredSubscriptionProviderCommandOutput + extends GetRegisteredSubscriptionProviderResponse, + __MetadataBearer {} + +/** + *

Get details for a Bring Your Own License (BYOL) subscription that's registered to your account.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { LicenseManagerLinuxSubscriptionsClient, GetRegisteredSubscriptionProviderCommand } from "@aws-sdk/client-license-manager-linux-subscriptions"; // ES Modules import + * // const { LicenseManagerLinuxSubscriptionsClient, GetRegisteredSubscriptionProviderCommand } = require("@aws-sdk/client-license-manager-linux-subscriptions"); // CommonJS import + * const client = new LicenseManagerLinuxSubscriptionsClient(config); + * const input = { // GetRegisteredSubscriptionProviderRequest + * SubscriptionProviderArn: "STRING_VALUE", // required + * }; + * const command = new GetRegisteredSubscriptionProviderCommand(input); + * const response = await client.send(command); + * // { // GetRegisteredSubscriptionProviderResponse + * // SubscriptionProviderArn: "STRING_VALUE", + * // SubscriptionProviderSource: "STRING_VALUE", + * // SecretArn: "STRING_VALUE", + * // SubscriptionProviderStatus: "STRING_VALUE", + * // SubscriptionProviderStatusMessage: "STRING_VALUE", + * // LastSuccessfulDataRetrievalTime: "STRING_VALUE", + * // }; + * + * ``` + * + * @param GetRegisteredSubscriptionProviderCommandInput - {@link GetRegisteredSubscriptionProviderCommandInput} + * @returns {@link GetRegisteredSubscriptionProviderCommandOutput} + * @see {@link GetRegisteredSubscriptionProviderCommandInput} for command's `input` shape. + * @see {@link GetRegisteredSubscriptionProviderCommandOutput} for command's `response` shape. + * @see {@link LicenseManagerLinuxSubscriptionsClientResolvedConfig | config} for LicenseManagerLinuxSubscriptionsClient's `config` shape. + * + * @throws {@link InternalServerException} (server fault) + *

An exception occurred with the service.

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

Unable to find the requested Amazon Web Services resource.

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

The request was denied due to request throttling.

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

The provided input is not valid. Try your request again.

+ * + * @throws {@link LicenseManagerLinuxSubscriptionsServiceException} + *

Base exception class for all service exceptions from LicenseManagerLinuxSubscriptions service.

+ * + * @public + */ +export class GetRegisteredSubscriptionProviderCommand extends $Command + .classBuilder< + GetRegisteredSubscriptionProviderCommandInput, + GetRegisteredSubscriptionProviderCommandOutput, + LicenseManagerLinuxSubscriptionsClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep({ + ...commonParams, + }) + .m(function (this: any, Command: any, cs: any, config: LicenseManagerLinuxSubscriptionsClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("LicenseManagerLinuxSubscriptions", "GetRegisteredSubscriptionProvider", {}) + .n("LicenseManagerLinuxSubscriptionsClient", "GetRegisteredSubscriptionProviderCommand") + .f(void 0, void 0) + .ser(se_GetRegisteredSubscriptionProviderCommand) + .de(de_GetRegisteredSubscriptionProviderCommand) + .build() {} diff --git a/clients/client-license-manager-linux-subscriptions/src/commands/GetServiceSettingsCommand.ts b/clients/client-license-manager-linux-subscriptions/src/commands/GetServiceSettingsCommand.ts index 3c9bf58e6c36..4634596592d7 100644 --- a/clients/client-license-manager-linux-subscriptions/src/commands/GetServiceSettingsCommand.ts +++ b/clients/client-license-manager-linux-subscriptions/src/commands/GetServiceSettingsCommand.ts @@ -32,7 +32,7 @@ export interface GetServiceSettingsCommandInput extends GetServiceSettingsReques export interface GetServiceSettingsCommandOutput extends GetServiceSettingsResponse, __MetadataBearer {} /** - *

Lists the Linux subscriptions service settings.

+ *

Lists the Linux subscriptions service settings for your account.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-license-manager-linux-subscriptions/src/commands/ListLinuxSubscriptionInstancesCommand.ts b/clients/client-license-manager-linux-subscriptions/src/commands/ListLinuxSubscriptionInstancesCommand.ts index 092d8ffcedc8..fa9cc29e10cc 100644 --- a/clients/client-license-manager-linux-subscriptions/src/commands/ListLinuxSubscriptionInstancesCommand.ts +++ b/clients/client-license-manager-linux-subscriptions/src/commands/ListLinuxSubscriptionInstancesCommand.ts @@ -75,6 +75,11 @@ export interface ListLinuxSubscriptionInstancesCommandOutput * // ], * // LastUpdatedTime: "STRING_VALUE", * // SubscriptionName: "STRING_VALUE", + * // OsVersion: "STRING_VALUE", + * // SubscriptionProviderCreateTime: "STRING_VALUE", + * // SubscriptionProviderUpdateTime: "STRING_VALUE", + * // DualSubscription: "STRING_VALUE", + * // RegisteredWithSubscriptionProvider: "STRING_VALUE", * // }, * // ], * // NextToken: "STRING_VALUE", diff --git a/clients/client-license-manager-linux-subscriptions/src/commands/ListRegisteredSubscriptionProvidersCommand.ts b/clients/client-license-manager-linux-subscriptions/src/commands/ListRegisteredSubscriptionProvidersCommand.ts new file mode 100644 index 000000000000..6c5bca2ee7fa --- /dev/null +++ b/clients/client-license-manager-linux-subscriptions/src/commands/ListRegisteredSubscriptionProvidersCommand.ts @@ -0,0 +1,117 @@ +// 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 { commonParams } from "../endpoint/EndpointParameters"; +import { + LicenseManagerLinuxSubscriptionsClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../LicenseManagerLinuxSubscriptionsClient"; +import { + ListRegisteredSubscriptionProvidersRequest, + ListRegisteredSubscriptionProvidersResponse, +} from "../models/models_0"; +import { + de_ListRegisteredSubscriptionProvidersCommand, + se_ListRegisteredSubscriptionProvidersCommand, +} from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link ListRegisteredSubscriptionProvidersCommand}. + */ +export interface ListRegisteredSubscriptionProvidersCommandInput extends ListRegisteredSubscriptionProvidersRequest {} +/** + * @public + * + * The output of {@link ListRegisteredSubscriptionProvidersCommand}. + */ +export interface ListRegisteredSubscriptionProvidersCommandOutput + extends ListRegisteredSubscriptionProvidersResponse, + __MetadataBearer {} + +/** + *

List Bring Your Own License (BYOL) subscription registration resources for your account.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { LicenseManagerLinuxSubscriptionsClient, ListRegisteredSubscriptionProvidersCommand } from "@aws-sdk/client-license-manager-linux-subscriptions"; // ES Modules import + * // const { LicenseManagerLinuxSubscriptionsClient, ListRegisteredSubscriptionProvidersCommand } = require("@aws-sdk/client-license-manager-linux-subscriptions"); // CommonJS import + * const client = new LicenseManagerLinuxSubscriptionsClient(config); + * const input = { // ListRegisteredSubscriptionProvidersRequest + * SubscriptionProviderSources: [ // SubscriptionProviderSourceList + * "STRING_VALUE", + * ], + * MaxResults: Number("int"), + * NextToken: "STRING_VALUE", + * }; + * const command = new ListRegisteredSubscriptionProvidersCommand(input); + * const response = await client.send(command); + * // { // ListRegisteredSubscriptionProvidersResponse + * // RegisteredSubscriptionProviders: [ // RegisteredSubscriptionProviderList + * // { // RegisteredSubscriptionProvider + * // SubscriptionProviderArn: "STRING_VALUE", + * // SubscriptionProviderSource: "STRING_VALUE", + * // SecretArn: "STRING_VALUE", + * // SubscriptionProviderStatus: "STRING_VALUE", + * // SubscriptionProviderStatusMessage: "STRING_VALUE", + * // LastSuccessfulDataRetrievalTime: "STRING_VALUE", + * // }, + * // ], + * // NextToken: "STRING_VALUE", + * // }; + * + * ``` + * + * @param ListRegisteredSubscriptionProvidersCommandInput - {@link ListRegisteredSubscriptionProvidersCommandInput} + * @returns {@link ListRegisteredSubscriptionProvidersCommandOutput} + * @see {@link ListRegisteredSubscriptionProvidersCommandInput} for command's `input` shape. + * @see {@link ListRegisteredSubscriptionProvidersCommandOutput} for command's `response` shape. + * @see {@link LicenseManagerLinuxSubscriptionsClientResolvedConfig | config} for LicenseManagerLinuxSubscriptionsClient's `config` shape. + * + * @throws {@link InternalServerException} (server fault) + *

An exception occurred with the service.

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

The request was denied due to request throttling.

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

The provided input is not valid. Try your request again.

+ * + * @throws {@link LicenseManagerLinuxSubscriptionsServiceException} + *

Base exception class for all service exceptions from LicenseManagerLinuxSubscriptions service.

+ * + * @public + */ +export class ListRegisteredSubscriptionProvidersCommand extends $Command + .classBuilder< + ListRegisteredSubscriptionProvidersCommandInput, + ListRegisteredSubscriptionProvidersCommandOutput, + LicenseManagerLinuxSubscriptionsClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep({ + ...commonParams, + }) + .m(function (this: any, Command: any, cs: any, config: LicenseManagerLinuxSubscriptionsClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("LicenseManagerLinuxSubscriptions", "ListRegisteredSubscriptionProviders", {}) + .n("LicenseManagerLinuxSubscriptionsClient", "ListRegisteredSubscriptionProvidersCommand") + .f(void 0, void 0) + .ser(se_ListRegisteredSubscriptionProvidersCommand) + .de(de_ListRegisteredSubscriptionProvidersCommand) + .build() {} diff --git a/clients/client-license-manager-linux-subscriptions/src/commands/ListTagsForResourceCommand.ts b/clients/client-license-manager-linux-subscriptions/src/commands/ListTagsForResourceCommand.ts new file mode 100644 index 000000000000..c2631df339bf --- /dev/null +++ b/clients/client-license-manager-linux-subscriptions/src/commands/ListTagsForResourceCommand.ts @@ -0,0 +1,102 @@ +// 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 { commonParams } from "../endpoint/EndpointParameters"; +import { + LicenseManagerLinuxSubscriptionsClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../LicenseManagerLinuxSubscriptionsClient"; +import { + ListTagsForResourceRequest, + ListTagsForResourceResponse, + ListTagsForResourceResponseFilterSensitiveLog, +} from "../models/models_0"; +import { de_ListTagsForResourceCommand, se_ListTagsForResourceCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link ListTagsForResourceCommand}. + */ +export interface ListTagsForResourceCommandInput extends ListTagsForResourceRequest {} +/** + * @public + * + * The output of {@link ListTagsForResourceCommand}. + */ +export interface ListTagsForResourceCommandOutput extends ListTagsForResourceResponse, __MetadataBearer {} + +/** + *

List the metadata tags that are assigned to the + * specified Amazon Web Services resource.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { LicenseManagerLinuxSubscriptionsClient, ListTagsForResourceCommand } from "@aws-sdk/client-license-manager-linux-subscriptions"; // ES Modules import + * // const { LicenseManagerLinuxSubscriptionsClient, ListTagsForResourceCommand } = require("@aws-sdk/client-license-manager-linux-subscriptions"); // CommonJS import + * const client = new LicenseManagerLinuxSubscriptionsClient(config); + * const input = { // ListTagsForResourceRequest + * resourceArn: "STRING_VALUE", // required + * }; + * const command = new ListTagsForResourceCommand(input); + * const response = await client.send(command); + * // { // ListTagsForResourceResponse + * // tags: { // Tags + * // "": "STRING_VALUE", + * // }, + * // }; + * + * ``` + * + * @param ListTagsForResourceCommandInput - {@link ListTagsForResourceCommandInput} + * @returns {@link ListTagsForResourceCommandOutput} + * @see {@link ListTagsForResourceCommandInput} for command's `input` shape. + * @see {@link ListTagsForResourceCommandOutput} for command's `response` shape. + * @see {@link LicenseManagerLinuxSubscriptionsClientResolvedConfig | config} for LicenseManagerLinuxSubscriptionsClient's `config` shape. + * + * @throws {@link InternalServerException} (server fault) + *

An exception occurred with the service.

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

Unable to find the requested Amazon Web Services resource.

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

The provided input is not valid. Try your request again.

+ * + * @throws {@link LicenseManagerLinuxSubscriptionsServiceException} + *

Base exception class for all service exceptions from LicenseManagerLinuxSubscriptions service.

+ * + * @public + */ +export class ListTagsForResourceCommand extends $Command + .classBuilder< + ListTagsForResourceCommandInput, + ListTagsForResourceCommandOutput, + LicenseManagerLinuxSubscriptionsClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep({ + ...commonParams, + }) + .m(function (this: any, Command: any, cs: any, config: LicenseManagerLinuxSubscriptionsClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("LicenseManagerLinuxSubscriptions", "ListTagsForResource", {}) + .n("LicenseManagerLinuxSubscriptionsClient", "ListTagsForResourceCommand") + .f(void 0, ListTagsForResourceResponseFilterSensitiveLog) + .ser(se_ListTagsForResourceCommand) + .de(de_ListTagsForResourceCommand) + .build() {} diff --git a/clients/client-license-manager-linux-subscriptions/src/commands/RegisterSubscriptionProviderCommand.ts b/clients/client-license-manager-linux-subscriptions/src/commands/RegisterSubscriptionProviderCommand.ts new file mode 100644 index 000000000000..de88e0616630 --- /dev/null +++ b/clients/client-license-manager-linux-subscriptions/src/commands/RegisterSubscriptionProviderCommand.ts @@ -0,0 +1,110 @@ +// 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 { commonParams } from "../endpoint/EndpointParameters"; +import { + LicenseManagerLinuxSubscriptionsClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../LicenseManagerLinuxSubscriptionsClient"; +import { + RegisterSubscriptionProviderRequest, + RegisterSubscriptionProviderRequestFilterSensitiveLog, + RegisterSubscriptionProviderResponse, +} from "../models/models_0"; +import { + de_RegisterSubscriptionProviderCommand, + se_RegisterSubscriptionProviderCommand, +} from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link RegisterSubscriptionProviderCommand}. + */ +export interface RegisterSubscriptionProviderCommandInput extends RegisterSubscriptionProviderRequest {} +/** + * @public + * + * The output of {@link RegisterSubscriptionProviderCommand}. + */ +export interface RegisterSubscriptionProviderCommandOutput + extends RegisterSubscriptionProviderResponse, + __MetadataBearer {} + +/** + *

Register the supported third-party subscription provider for your Bring Your Own License (BYOL) subscription.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { LicenseManagerLinuxSubscriptionsClient, RegisterSubscriptionProviderCommand } from "@aws-sdk/client-license-manager-linux-subscriptions"; // ES Modules import + * // const { LicenseManagerLinuxSubscriptionsClient, RegisterSubscriptionProviderCommand } = require("@aws-sdk/client-license-manager-linux-subscriptions"); // CommonJS import + * const client = new LicenseManagerLinuxSubscriptionsClient(config); + * const input = { // RegisterSubscriptionProviderRequest + * SubscriptionProviderSource: "STRING_VALUE", // required + * SecretArn: "STRING_VALUE", // required + * Tags: { // Tags + * "": "STRING_VALUE", + * }, + * }; + * const command = new RegisterSubscriptionProviderCommand(input); + * const response = await client.send(command); + * // { // RegisterSubscriptionProviderResponse + * // SubscriptionProviderSource: "STRING_VALUE", + * // SubscriptionProviderArn: "STRING_VALUE", + * // SubscriptionProviderStatus: "STRING_VALUE", + * // }; + * + * ``` + * + * @param RegisterSubscriptionProviderCommandInput - {@link RegisterSubscriptionProviderCommandInput} + * @returns {@link RegisterSubscriptionProviderCommandOutput} + * @see {@link RegisterSubscriptionProviderCommandInput} for command's `input` shape. + * @see {@link RegisterSubscriptionProviderCommandOutput} for command's `response` shape. + * @see {@link LicenseManagerLinuxSubscriptionsClientResolvedConfig | config} for LicenseManagerLinuxSubscriptionsClient's `config` shape. + * + * @throws {@link InternalServerException} (server fault) + *

An exception occurred with the service.

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

The request was denied due to request throttling.

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

The provided input is not valid. Try your request again.

+ * + * @throws {@link LicenseManagerLinuxSubscriptionsServiceException} + *

Base exception class for all service exceptions from LicenseManagerLinuxSubscriptions service.

+ * + * @public + */ +export class RegisterSubscriptionProviderCommand extends $Command + .classBuilder< + RegisterSubscriptionProviderCommandInput, + RegisterSubscriptionProviderCommandOutput, + LicenseManagerLinuxSubscriptionsClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep({ + ...commonParams, + }) + .m(function (this: any, Command: any, cs: any, config: LicenseManagerLinuxSubscriptionsClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("LicenseManagerLinuxSubscriptions", "RegisterSubscriptionProvider", {}) + .n("LicenseManagerLinuxSubscriptionsClient", "RegisterSubscriptionProviderCommand") + .f(RegisterSubscriptionProviderRequestFilterSensitiveLog, void 0) + .ser(se_RegisterSubscriptionProviderCommand) + .de(de_RegisterSubscriptionProviderCommand) + .build() {} diff --git a/clients/client-license-manager-linux-subscriptions/src/commands/TagResourceCommand.ts b/clients/client-license-manager-linux-subscriptions/src/commands/TagResourceCommand.ts new file mode 100644 index 000000000000..af35f25904c3 --- /dev/null +++ b/clients/client-license-manager-linux-subscriptions/src/commands/TagResourceCommand.ts @@ -0,0 +1,96 @@ +// 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 { commonParams } from "../endpoint/EndpointParameters"; +import { + LicenseManagerLinuxSubscriptionsClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../LicenseManagerLinuxSubscriptionsClient"; +import { TagResourceRequest, TagResourceRequestFilterSensitiveLog, TagResourceResponse } from "../models/models_0"; +import { de_TagResourceCommand, se_TagResourceCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link TagResourceCommand}. + */ +export interface TagResourceCommandInput extends TagResourceRequest {} +/** + * @public + * + * The output of {@link TagResourceCommand}. + */ +export interface TagResourceCommandOutput extends TagResourceResponse, __MetadataBearer {} + +/** + *

Add metadata tags to the specified Amazon Web Services resource.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { LicenseManagerLinuxSubscriptionsClient, TagResourceCommand } from "@aws-sdk/client-license-manager-linux-subscriptions"; // ES Modules import + * // const { LicenseManagerLinuxSubscriptionsClient, TagResourceCommand } = require("@aws-sdk/client-license-manager-linux-subscriptions"); // CommonJS import + * const client = new LicenseManagerLinuxSubscriptionsClient(config); + * const input = { // TagResourceRequest + * resourceArn: "STRING_VALUE", // required + * tags: { // Tags // required + * "": "STRING_VALUE", + * }, + * }; + * const command = new TagResourceCommand(input); + * const response = await client.send(command); + * // {}; + * + * ``` + * + * @param TagResourceCommandInput - {@link TagResourceCommandInput} + * @returns {@link TagResourceCommandOutput} + * @see {@link TagResourceCommandInput} for command's `input` shape. + * @see {@link TagResourceCommandOutput} for command's `response` shape. + * @see {@link LicenseManagerLinuxSubscriptionsClientResolvedConfig | config} for LicenseManagerLinuxSubscriptionsClient's `config` shape. + * + * @throws {@link InternalServerException} (server fault) + *

An exception occurred with the service.

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

Unable to find the requested Amazon Web Services resource.

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

The provided input is not valid. Try your request again.

+ * + * @throws {@link LicenseManagerLinuxSubscriptionsServiceException} + *

Base exception class for all service exceptions from LicenseManagerLinuxSubscriptions service.

+ * + * @public + */ +export class TagResourceCommand extends $Command + .classBuilder< + TagResourceCommandInput, + TagResourceCommandOutput, + LicenseManagerLinuxSubscriptionsClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep({ + ...commonParams, + }) + .m(function (this: any, Command: any, cs: any, config: LicenseManagerLinuxSubscriptionsClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("LicenseManagerLinuxSubscriptions", "TagResource", {}) + .n("LicenseManagerLinuxSubscriptionsClient", "TagResourceCommand") + .f(TagResourceRequestFilterSensitiveLog, void 0) + .ser(se_TagResourceCommand) + .de(de_TagResourceCommand) + .build() {} diff --git a/clients/client-license-manager-linux-subscriptions/src/commands/UntagResourceCommand.ts b/clients/client-license-manager-linux-subscriptions/src/commands/UntagResourceCommand.ts new file mode 100644 index 000000000000..ee0354721fb0 --- /dev/null +++ b/clients/client-license-manager-linux-subscriptions/src/commands/UntagResourceCommand.ts @@ -0,0 +1,97 @@ +// 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 { commonParams } from "../endpoint/EndpointParameters"; +import { + LicenseManagerLinuxSubscriptionsClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../LicenseManagerLinuxSubscriptionsClient"; +import { + UntagResourceRequest, + UntagResourceRequestFilterSensitiveLog, + UntagResourceResponse, +} from "../models/models_0"; +import { de_UntagResourceCommand, se_UntagResourceCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link UntagResourceCommand}. + */ +export interface UntagResourceCommandInput extends UntagResourceRequest {} +/** + * @public + * + * The output of {@link UntagResourceCommand}. + */ +export interface UntagResourceCommandOutput extends UntagResourceResponse, __MetadataBearer {} + +/** + *

Remove one or more metadata tag from the specified Amazon Web Services resource.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { LicenseManagerLinuxSubscriptionsClient, UntagResourceCommand } from "@aws-sdk/client-license-manager-linux-subscriptions"; // ES Modules import + * // const { LicenseManagerLinuxSubscriptionsClient, UntagResourceCommand } = require("@aws-sdk/client-license-manager-linux-subscriptions"); // CommonJS import + * const client = new LicenseManagerLinuxSubscriptionsClient(config); + * const input = { // UntagResourceRequest + * resourceArn: "STRING_VALUE", // required + * tagKeys: [ // TagKeyList // required + * "STRING_VALUE", + * ], + * }; + * const command = new UntagResourceCommand(input); + * const response = await client.send(command); + * // {}; + * + * ``` + * + * @param UntagResourceCommandInput - {@link UntagResourceCommandInput} + * @returns {@link UntagResourceCommandOutput} + * @see {@link UntagResourceCommandInput} for command's `input` shape. + * @see {@link UntagResourceCommandOutput} for command's `response` shape. + * @see {@link LicenseManagerLinuxSubscriptionsClientResolvedConfig | config} for LicenseManagerLinuxSubscriptionsClient's `config` shape. + * + * @throws {@link InternalServerException} (server fault) + *

An exception occurred with the service.

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

Unable to find the requested Amazon Web Services resource.

+ * + * @throws {@link LicenseManagerLinuxSubscriptionsServiceException} + *

Base exception class for all service exceptions from LicenseManagerLinuxSubscriptions service.

+ * + * @public + */ +export class UntagResourceCommand extends $Command + .classBuilder< + UntagResourceCommandInput, + UntagResourceCommandOutput, + LicenseManagerLinuxSubscriptionsClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep({ + ...commonParams, + }) + .m(function (this: any, Command: any, cs: any, config: LicenseManagerLinuxSubscriptionsClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("LicenseManagerLinuxSubscriptions", "UntagResource", {}) + .n("LicenseManagerLinuxSubscriptionsClient", "UntagResourceCommand") + .f(UntagResourceRequestFilterSensitiveLog, void 0) + .ser(se_UntagResourceCommand) + .de(de_UntagResourceCommand) + .build() {} diff --git a/clients/client-license-manager-linux-subscriptions/src/commands/index.ts b/clients/client-license-manager-linux-subscriptions/src/commands/index.ts index 4f6a4d6ba405..d787b5188aa9 100644 --- a/clients/client-license-manager-linux-subscriptions/src/commands/index.ts +++ b/clients/client-license-manager-linux-subscriptions/src/commands/index.ts @@ -1,5 +1,12 @@ // smithy-typescript generated code +export * from "./DeregisterSubscriptionProviderCommand"; +export * from "./GetRegisteredSubscriptionProviderCommand"; export * from "./GetServiceSettingsCommand"; export * from "./ListLinuxSubscriptionInstancesCommand"; export * from "./ListLinuxSubscriptionsCommand"; +export * from "./ListRegisteredSubscriptionProvidersCommand"; +export * from "./ListTagsForResourceCommand"; +export * from "./RegisterSubscriptionProviderCommand"; +export * from "./TagResourceCommand"; +export * from "./UntagResourceCommand"; export * from "./UpdateServiceSettingsCommand"; diff --git a/clients/client-license-manager-linux-subscriptions/src/models/models_0.ts b/clients/client-license-manager-linux-subscriptions/src/models/models_0.ts index 33c489bcde9b..0667791f5b9b 100644 --- a/clients/client-license-manager-linux-subscriptions/src/models/models_0.ts +++ b/clients/client-license-manager-linux-subscriptions/src/models/models_0.ts @@ -1,8 +1,104 @@ // smithy-typescript generated code -import { ExceptionOptionType as __ExceptionOptionType } from "@smithy/smithy-client"; +import { ExceptionOptionType as __ExceptionOptionType, SENSITIVE_STRING } from "@smithy/smithy-client"; import { LicenseManagerLinuxSubscriptionsServiceException as __BaseException } from "./LicenseManagerLinuxSubscriptionsServiceException"; +/** + * @public + */ +export interface DeregisterSubscriptionProviderRequest { + /** + *

The Amazon Resource Name (ARN) of the subscription provider resource to deregister.

+ * @public + */ + SubscriptionProviderArn: string | undefined; +} + +/** + * @public + */ +export interface DeregisterSubscriptionProviderResponse {} + +/** + *

An exception occurred with the service.

+ * @public + */ +export class InternalServerException extends __BaseException { + readonly name: "InternalServerException" = "InternalServerException"; + readonly $fault: "server" = "server"; + /** + * @internal + */ + constructor(opts: __ExceptionOptionType) { + super({ + name: "InternalServerException", + $fault: "server", + ...opts, + }); + Object.setPrototypeOf(this, InternalServerException.prototype); + } +} + +/** + *

Unable to find the requested Amazon Web Services resource.

+ * @public + */ +export class ResourceNotFoundException extends __BaseException { + readonly name: "ResourceNotFoundException" = "ResourceNotFoundException"; + readonly $fault: "client" = "client"; + /** + * @internal + */ + constructor(opts: __ExceptionOptionType) { + super({ + name: "ResourceNotFoundException", + $fault: "client", + ...opts, + }); + Object.setPrototypeOf(this, ResourceNotFoundException.prototype); + } +} + +/** + *

The request was denied due to request throttling.

+ * @public + */ +export class ThrottlingException extends __BaseException { + readonly name: "ThrottlingException" = "ThrottlingException"; + readonly $fault: "client" = "client"; + /** + * @internal + */ + constructor(opts: __ExceptionOptionType) { + super({ + name: "ThrottlingException", + $fault: "client", + ...opts, + }); + Object.setPrototypeOf(this, ThrottlingException.prototype); + } +} + +/** + *

The provided input is not valid. Try your request again.

+ * @public + */ +export class ValidationException extends __BaseException { + readonly name: "ValidationException" = "ValidationException"; + readonly $fault: "client" = "client"; + /** + * @internal + */ + constructor(opts: __ExceptionOptionType) { + super({ + name: "ValidationException", + $fault: "client", + ...opts, + }); + Object.setPrototypeOf(this, ValidationException.prototype); + } +} + /** * @public * @enum @@ -52,6 +148,102 @@ export interface Filter { Operator?: Operator; } +/** + * @public + */ +export interface GetRegisteredSubscriptionProviderRequest { + /** + *

The Amazon Resource Name (ARN) of the BYOL registration resource to get details for.

+ * @public + */ + SubscriptionProviderArn: string | undefined; +} + +/** + * @public + * @enum + */ +export const SubscriptionProviderSource = { + /** + * RedHat subscription provider namespace + */ + RedHat: "RedHat", +} as const; + +/** + * @public + */ +export type SubscriptionProviderSource = (typeof SubscriptionProviderSource)[keyof typeof SubscriptionProviderSource]; + +/** + * @public + * @enum + */ +export const SubscriptionProviderStatus = { + /** + * ACTIVE status + */ + ACTIVE: "ACTIVE", + /** + * INVALID status + */ + INVALID: "INVALID", + /** + * PENDING status + */ + PENDING: "PENDING", +} as const; + +/** + * @public + */ +export type SubscriptionProviderStatus = (typeof SubscriptionProviderStatus)[keyof typeof SubscriptionProviderStatus]; + +/** + * @public + */ +export interface GetRegisteredSubscriptionProviderResponse { + /** + *

The Amazon Resource Name (ARN) for the BYOL registration resource specified in the request.

+ * @public + */ + SubscriptionProviderArn?: string; + + /** + *

The subscription provider for the BYOL registration resource specified + * in the request.

+ * @public + */ + SubscriptionProviderSource?: SubscriptionProviderSource; + + /** + *

The Amazon Resource Name (ARN) of the third-party access secret stored in Secrets Manager for the BYOL + * registration resource specified in the request.

+ * @public + */ + SecretArn?: string; + + /** + *

The status of the Linux subscription provider access token from the last + * successful subscription data request.

+ * @public + */ + SubscriptionProviderStatus?: SubscriptionProviderStatus; + + /** + *

The detailed message from your subscription provider token status.

+ * @public + */ + SubscriptionProviderStatusMessage?: string; + + /** + *

The timestamp from the last time License Manager retrieved subscription details + * from your registered third-party Linux subscription provider.

+ * @public + */ + LastSuccessfulDataRetrievalTime?: string; +} + /** * @public */ @@ -181,66 +373,6 @@ export interface GetServiceSettingsResponse { HomeRegions?: string[]; } -/** - *

An exception occurred with the service.

- * @public - */ -export class InternalServerException extends __BaseException { - readonly name: "InternalServerException" = "InternalServerException"; - readonly $fault: "server" = "server"; - /** - * @internal - */ - constructor(opts: __ExceptionOptionType) { - super({ - name: "InternalServerException", - $fault: "server", - ...opts, - }); - Object.setPrototypeOf(this, InternalServerException.prototype); - } -} - -/** - *

The request was denied due to request throttling.

- * @public - */ -export class ThrottlingException extends __BaseException { - readonly name: "ThrottlingException" = "ThrottlingException"; - readonly $fault: "client" = "client"; - /** - * @internal - */ - constructor(opts: __ExceptionOptionType) { - super({ - name: "ThrottlingException", - $fault: "client", - ...opts, - }); - Object.setPrototypeOf(this, ThrottlingException.prototype); - } -} - -/** - *

The provided input is not valid. Try your request again.

- * @public - */ -export class ValidationException extends __BaseException { - readonly name: "ValidationException" = "ValidationException"; - readonly $fault: "client" = "client"; - /** - * @internal - */ - constructor(opts: __ExceptionOptionType) { - super({ - name: "ValidationException", - $fault: "client", - ...opts, - }); - Object.setPrototypeOf(this, ValidationException.prototype); - } -} - /** *

Details discovered information about a running instance using Linux subscriptions.

* @public @@ -304,10 +436,44 @@ export interface Instance { LastUpdatedTime?: string; /** - *

The name of the subscription being used by the instance.

+ *

The name of the license subscription that the instance uses.

* @public */ SubscriptionName?: string; + + /** + *

The operating system software version that runs on your instance.

+ * @public + */ + OsVersion?: string; + + /** + *

The timestamp when you registered the third-party Linux subscription + * provider for the subscription that the instance uses.

+ * @public + */ + SubscriptionProviderCreateTime?: string; + + /** + *

The timestamp from the last time that the instance synced with the registered + * third-party Linux subscription provider.

+ * @public + */ + SubscriptionProviderUpdateTime?: string; + + /** + *

Indicates that you have two different license subscriptions for + * the same software on your instance.

+ * @public + */ + DualSubscription?: string; + + /** + *

Indicates that your instance uses a BYOL license subscription from + * a third-party Linux subscription provider that you've registered with License Manager.

+ * @public + */ + RegisteredWithSubscriptionProvider?: string; } /** @@ -317,54 +483,61 @@ export interface Instance { */ export interface ListLinuxSubscriptionInstancesRequest { /** - *

An array of structures that you can use to filter the results to those that match one or - * more sets of key-value pairs that you specify. For example, you can filter by the name of - * AmiID with an optional operator to see subscriptions that match, partially - * match, or don't match a certain Amazon Machine Image (AMI) ID.

- *

The valid names for this filter are:

+ *

An array of structures that you can use to filter the results by your specified criteria. + * For example, you can specify Region in the Name, with the + * contains operator to list all subscriptions that match a partial string in the + * Value, such as us-west.

+ *

For each filter, you can specify one of the following values for the Name key + * to streamline results:

*
    *
  • *

    + * AccountID + *

    + *
  • + *
  • + *

    * AmiID *

    *
  • *
  • *

    - * InstanceID + * DualSubscription *

    *
  • *
  • *

    - * AccountID + * InstanceID *

    *
  • *
  • *

    - * Status + * InstanceType *

    *
  • *
  • *

    - * Region + * ProductCode *

    *
  • *
  • *

    - * UsageOperation + * Region *

    *
  • *
  • *

    - * ProductCode + * Status *

    *
  • *
  • *

    - * InstanceType + * UsageOperation *

    *
  • *
- *

The valid Operators for this filter are:

+ *

For each filter, you can use one of the following Operator values to + * define the behavior of the filter:

*
    *
  • *

    @@ -387,13 +560,14 @@ export interface ListLinuxSubscriptionInstancesRequest { Filters?: Filter[]; /** - *

    Maximum number of results to return in a single call.

    + *

    The maximum items to return in a request.

    * @public */ MaxResults?: number; /** - *

    Token for the next set of results.

    + *

    A token to specify where to start paginating. This + * is the nextToken from a previously truncated response.

    * @public */ NextToken?: string; @@ -410,7 +584,10 @@ export interface ListLinuxSubscriptionInstancesResponse { Instances?: Instance[]; /** - *

    Token for the next set of results.

    + *

    The next token used for paginated responses. When this + * field isn't empty, there are additional elements that the service hasn't + * included in this request. Use this token with the next request to retrieve + * additional objects.

    * @public */ NextToken?: string; @@ -458,13 +635,14 @@ export interface ListLinuxSubscriptionsRequest { Filters?: Filter[]; /** - *

    Maximum number of results to return in a single call.

    + *

    The maximum items to return in a request.

    * @public */ MaxResults?: number; /** - *

    Token for the next set of results.

    + *

    A token to specify where to start paginating. This + * is the nextToken from a previously truncated response.

    * @public */ NextToken?: string; @@ -507,12 +685,230 @@ export interface ListLinuxSubscriptionsResponse { Subscriptions?: Subscription[]; /** - *

    Token for the next set of results.

    + *

    The next token used for paginated responses. When this + * field isn't empty, there are additional elements that the service hasn't + * included in this request. Use this token with the next request to retrieve + * additional objects.

    * @public */ NextToken?: string; } +/** + * @public + */ +export interface ListRegisteredSubscriptionProvidersRequest { + /** + *

    To filter your results, specify which subscription providers to return + * in the list.

    + * @public + */ + SubscriptionProviderSources?: SubscriptionProviderSource[]; + + /** + *

    The maximum items to return in a request.

    + * @public + */ + MaxResults?: number; + + /** + *

    A token to specify where to start paginating. This + * is the nextToken from a previously truncated response.

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

    A third-party provider for operating system (OS) platform software and license + * subscriptions, such as Red Hat. When you register a third-party Linux subscription + * provider, License Manager can get subscription data from the registered provider.

    + * @public + */ +export interface RegisteredSubscriptionProvider { + /** + *

    The Amazon Resource Name (ARN) of the Linux subscription provider resource that you registered.

    + * @public + */ + SubscriptionProviderArn?: string; + + /** + *

    A supported third-party Linux subscription provider. License Manager currently supports + * Red Hat subscriptions.

    + * @public + */ + SubscriptionProviderSource?: SubscriptionProviderSource; + + /** + *

    The Amazon Resource Name (ARN) of the Secrets Manager secret that stores your registered Linux subscription provider + * access token. For RHEL account subscriptions, this is the offline token.

    + * @public + */ + SecretArn?: string; + + /** + *

    Indicates the status of your registered Linux subscription provider access token + * from the last time License Manager retrieved subscription data. For RHEL account subscriptions, + * this is the status of the offline token.

    + * @public + */ + SubscriptionProviderStatus?: SubscriptionProviderStatus; + + /** + *

    A detailed message that's associated with your BYOL subscription + * provider token status.

    + * @public + */ + SubscriptionProviderStatusMessage?: string; + + /** + *

    The timestamp from the last time that License Manager accessed third-party subscription data + * for your account from your registered Linux subscription provider.

    + * @public + */ + LastSuccessfulDataRetrievalTime?: string; +} + +/** + * @public + */ +export interface ListRegisteredSubscriptionProvidersResponse { + /** + *

    The list of BYOL registration resources that fit the criteria + * you specified in the request.

    + * @public + */ + RegisteredSubscriptionProviders?: RegisteredSubscriptionProvider[]; + + /** + *

    The next token used for paginated responses. When this + * field isn't empty, there are additional elements that the service hasn't + * included in this request. Use this token with the next request to retrieve + * additional objects.

    + * @public + */ + NextToken?: string; +} + +/** + * @public + */ +export interface ListTagsForResourceRequest { + /** + *

    The Amazon Resource Name (ARN) of the resource for which to list metadata tags.

    + * @public + */ + resourceArn: string | undefined; +} + +/** + * @public + */ +export interface ListTagsForResourceResponse { + /** + *

    The metadata tags for the requested resource.

    + * @public + */ + tags?: Record; +} + +/** + * @public + */ +export interface RegisterSubscriptionProviderRequest { + /** + *

    The supported Linux subscription provider to register.

    + * @public + */ + SubscriptionProviderSource: SubscriptionProviderSource | undefined; + + /** + *

    The Amazon Resource Name (ARN) of the secret where you've stored your subscription provider's access token. For + * RHEL subscriptions managed through the Red Hat Subscription Manager (RHSM), the secret contains + * your Red Hat Offline token.

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

    The metadata tags to assign to your registered Linux subscription provider + * resource.

    + * @public + */ + Tags?: Record; +} + +/** + * @public + */ +export interface RegisterSubscriptionProviderResponse { + /** + *

    The Linux subscription provider that you registered.

    + * @public + */ + SubscriptionProviderSource?: SubscriptionProviderSource; + + /** + *

    The Amazon Resource Name (ARN) of the Linux subscription provider resource that you registered.

    + * @public + */ + SubscriptionProviderArn?: string; + + /** + *

    Indicates the status of the registration action for the Linux subscription provider + * that you requested.

    + * @public + */ + SubscriptionProviderStatus?: SubscriptionProviderStatus; +} + +/** + * @public + */ +export interface TagResourceRequest { + /** + *

    The Amazon Resource Name (ARN) of the Amazon Web Services resource to which to add the specified + * metadata tags.

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

    The metadata tags to assign to the Amazon Web Services resource. Tags are + * formatted as key value pairs.

    + * @public + */ + tags: Record | undefined; +} + +/** + * @public + */ +export interface TagResourceResponse {} + +/** + * @public + */ +export interface UntagResourceRequest { + /** + *

    The Amazon Resource Name (ARN) of the Amazon Web Services resource to remove the metadata tags from.

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

    A list of metadata tag keys to remove from the requested + * resource.

    + * @public + */ + tagKeys: string[] | undefined; +} + +/** + * @public + */ +export interface UntagResourceResponse {} + /** * @public */ @@ -574,3 +970,37 @@ export interface UpdateServiceSettingsResponse { */ HomeRegions?: string[]; } + +/** + * @internal + */ +export const ListTagsForResourceResponseFilterSensitiveLog = (obj: ListTagsForResourceResponse): any => ({ + ...obj, + ...(obj.tags && { tags: SENSITIVE_STRING }), +}); + +/** + * @internal + */ +export const RegisterSubscriptionProviderRequestFilterSensitiveLog = ( + obj: RegisterSubscriptionProviderRequest +): any => ({ + ...obj, + ...(obj.Tags && { Tags: SENSITIVE_STRING }), +}); + +/** + * @internal + */ +export const TagResourceRequestFilterSensitiveLog = (obj: TagResourceRequest): any => ({ + ...obj, + ...(obj.tags && { tags: SENSITIVE_STRING }), +}); + +/** + * @internal + */ +export const UntagResourceRequestFilterSensitiveLog = (obj: UntagResourceRequest): any => ({ + ...obj, + ...(obj.tagKeys && { tagKeys: SENSITIVE_STRING }), +}); diff --git a/clients/client-license-manager-linux-subscriptions/src/pagination/ListRegisteredSubscriptionProvidersPaginator.ts b/clients/client-license-manager-linux-subscriptions/src/pagination/ListRegisteredSubscriptionProvidersPaginator.ts new file mode 100644 index 000000000000..367593366096 --- /dev/null +++ b/clients/client-license-manager-linux-subscriptions/src/pagination/ListRegisteredSubscriptionProvidersPaginator.ts @@ -0,0 +1,30 @@ +// smithy-typescript generated code +import { createPaginator } from "@smithy/core"; +import { Paginator } from "@smithy/types"; + +import { + ListRegisteredSubscriptionProvidersCommand, + ListRegisteredSubscriptionProvidersCommandInput, + ListRegisteredSubscriptionProvidersCommandOutput, +} from "../commands/ListRegisteredSubscriptionProvidersCommand"; +import { LicenseManagerLinuxSubscriptionsClient } from "../LicenseManagerLinuxSubscriptionsClient"; +import { LicenseManagerLinuxSubscriptionsPaginationConfiguration } from "./Interfaces"; + +/** + * @public + */ +export const paginateListRegisteredSubscriptionProviders: ( + config: LicenseManagerLinuxSubscriptionsPaginationConfiguration, + input: ListRegisteredSubscriptionProvidersCommandInput, + ...rest: any[] +) => Paginator = createPaginator< + LicenseManagerLinuxSubscriptionsPaginationConfiguration, + ListRegisteredSubscriptionProvidersCommandInput, + ListRegisteredSubscriptionProvidersCommandOutput +>( + LicenseManagerLinuxSubscriptionsClient, + ListRegisteredSubscriptionProvidersCommand, + "NextToken", + "NextToken", + "MaxResults" +); diff --git a/clients/client-license-manager-linux-subscriptions/src/pagination/index.ts b/clients/client-license-manager-linux-subscriptions/src/pagination/index.ts index d0dc7b1dbf77..1a0c64931198 100644 --- a/clients/client-license-manager-linux-subscriptions/src/pagination/index.ts +++ b/clients/client-license-manager-linux-subscriptions/src/pagination/index.ts @@ -2,3 +2,4 @@ export * from "./Interfaces"; export * from "./ListLinuxSubscriptionInstancesPaginator"; export * from "./ListLinuxSubscriptionsPaginator"; +export * from "./ListRegisteredSubscriptionProvidersPaginator"; diff --git a/clients/client-license-manager-linux-subscriptions/src/protocols/Aws_restJson1.ts b/clients/client-license-manager-linux-subscriptions/src/protocols/Aws_restJson1.ts index 7c2c402d9272..82953e543a7e 100644 --- a/clients/client-license-manager-linux-subscriptions/src/protocols/Aws_restJson1.ts +++ b/clients/client-license-manager-linux-subscriptions/src/protocols/Aws_restJson1.ts @@ -9,7 +9,9 @@ import { expectNonNull as __expectNonNull, expectObject as __expectObject, expectString as __expectString, + extendedEncodeURIComponent as __extendedEncodeURIComponent, map, + resolvedPath as __resolvedPath, take, withBaseException, } from "@smithy/smithy-client"; @@ -19,6 +21,14 @@ import { SerdeContext as __SerdeContext, } from "@smithy/types"; +import { + DeregisterSubscriptionProviderCommandInput, + DeregisterSubscriptionProviderCommandOutput, +} from "../commands/DeregisterSubscriptionProviderCommand"; +import { + GetRegisteredSubscriptionProviderCommandInput, + GetRegisteredSubscriptionProviderCommandOutput, +} from "../commands/GetRegisteredSubscriptionProviderCommand"; import { GetServiceSettingsCommandInput, GetServiceSettingsCommandOutput } from "../commands/GetServiceSettingsCommand"; import { ListLinuxSubscriptionInstancesCommandInput, @@ -28,6 +38,20 @@ import { ListLinuxSubscriptionsCommandInput, ListLinuxSubscriptionsCommandOutput, } from "../commands/ListLinuxSubscriptionsCommand"; +import { + ListRegisteredSubscriptionProvidersCommandInput, + ListRegisteredSubscriptionProvidersCommandOutput, +} from "../commands/ListRegisteredSubscriptionProvidersCommand"; +import { + ListTagsForResourceCommandInput, + ListTagsForResourceCommandOutput, +} from "../commands/ListTagsForResourceCommand"; +import { + RegisterSubscriptionProviderCommandInput, + RegisterSubscriptionProviderCommandOutput, +} from "../commands/RegisterSubscriptionProviderCommand"; +import { TagResourceCommandInput, TagResourceCommandOutput } from "../commands/TagResourceCommand"; +import { UntagResourceCommandInput, UntagResourceCommandOutput } from "../commands/UntagResourceCommand"; import { UpdateServiceSettingsCommandInput, UpdateServiceSettingsCommandOutput, @@ -37,10 +61,56 @@ import { Filter, InternalServerException, LinuxSubscriptionsDiscoverySettings, + ResourceNotFoundException, + SubscriptionProviderSource, ThrottlingException, ValidationException, } from "../models/models_0"; +/** + * serializeAws_restJson1DeregisterSubscriptionProviderCommand + */ +export const se_DeregisterSubscriptionProviderCommand = async ( + input: DeregisterSubscriptionProviderCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/subscription/DeregisterSubscriptionProvider"); + let body: any; + body = JSON.stringify( + take(input, { + SubscriptionProviderArn: [], + }) + ); + b.m("POST").h(headers).b(body); + return b.build(); +}; + +/** + * serializeAws_restJson1GetRegisteredSubscriptionProviderCommand + */ +export const se_GetRegisteredSubscriptionProviderCommand = async ( + input: GetRegisteredSubscriptionProviderCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/subscription/GetRegisteredSubscriptionProvider"); + let body: any; + body = JSON.stringify( + take(input, { + SubscriptionProviderArn: [], + }) + ); + b.m("POST").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1GetServiceSettingsCommand */ @@ -104,6 +174,115 @@ export const se_ListLinuxSubscriptionsCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1ListRegisteredSubscriptionProvidersCommand + */ +export const se_ListRegisteredSubscriptionProvidersCommand = async ( + input: ListRegisteredSubscriptionProvidersCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/subscription/ListRegisteredSubscriptionProviders"); + let body: any; + body = JSON.stringify( + take(input, { + MaxResults: [], + NextToken: [], + SubscriptionProviderSources: (_) => _json(_), + }) + ); + b.m("POST").h(headers).b(body); + return b.build(); +}; + +/** + * serializeAws_restJson1ListTagsForResourceCommand + */ +export const se_ListTagsForResourceCommand = async ( + input: ListTagsForResourceCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = {}; + b.bp("/tags/{resourceArn}"); + b.p("resourceArn", () => input.resourceArn!, "{resourceArn}", false); + let body: any; + b.m("GET").h(headers).b(body); + return b.build(); +}; + +/** + * serializeAws_restJson1RegisterSubscriptionProviderCommand + */ +export const se_RegisterSubscriptionProviderCommand = async ( + input: RegisterSubscriptionProviderCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/subscription/RegisterSubscriptionProvider"); + let body: any; + body = JSON.stringify( + take(input, { + SecretArn: [], + SubscriptionProviderSource: [], + Tags: (_) => _json(_), + }) + ); + b.m("POST").h(headers).b(body); + return b.build(); +}; + +/** + * serializeAws_restJson1TagResourceCommand + */ +export const se_TagResourceCommand = async ( + input: TagResourceCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/tags/{resourceArn}"); + b.p("resourceArn", () => input.resourceArn!, "{resourceArn}", false); + let body: any; + body = JSON.stringify( + take(input, { + tags: (_) => _json(_), + }) + ); + b.m("PUT").h(headers).b(body); + return b.build(); +}; + +/** + * serializeAws_restJson1UntagResourceCommand + */ +export const se_UntagResourceCommand = async ( + input: UntagResourceCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = {}; + b.bp("/tags/{resourceArn}"); + b.p("resourceArn", () => input.resourceArn!, "{resourceArn}", false); + const query: any = map({ + [_tK]: [ + __expectNonNull(input.tagKeys, `tagKeys`) != null, + () => (input[_tK]! || []).map((_entry) => _entry as any), + ], + }); + let body: any; + b.m("DELETE").h(headers).q(query).b(body); + return b.build(); +}; + /** * serializeAws_restJson1UpdateServiceSettingsCommand */ @@ -128,6 +307,49 @@ export const se_UpdateServiceSettingsCommand = async ( return b.build(); }; +/** + * deserializeAws_restJson1DeregisterSubscriptionProviderCommand + */ +export const de_DeregisterSubscriptionProviderCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + await collectBody(output.body, context); + return contents; +}; + +/** + * deserializeAws_restJson1GetRegisteredSubscriptionProviderCommand + */ +export const de_GetRegisteredSubscriptionProviderCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + LastSuccessfulDataRetrievalTime: __expectString, + SecretArn: __expectString, + SubscriptionProviderArn: __expectString, + SubscriptionProviderSource: __expectString, + SubscriptionProviderStatus: __expectString, + SubscriptionProviderStatusMessage: __expectString, + }); + Object.assign(contents, doc); + return contents; +}; + /** * deserializeAws_restJson1GetServiceSettingsCommand */ @@ -197,6 +419,106 @@ export const de_ListLinuxSubscriptionsCommand = async ( return contents; }; +/** + * deserializeAws_restJson1ListRegisteredSubscriptionProvidersCommand + */ +export const de_ListRegisteredSubscriptionProvidersCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + NextToken: __expectString, + RegisteredSubscriptionProviders: _json, + }); + Object.assign(contents, doc); + return contents; +}; + +/** + * deserializeAws_restJson1ListTagsForResourceCommand + */ +export const de_ListTagsForResourceCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + tags: _json, + }); + Object.assign(contents, doc); + return contents; +}; + +/** + * deserializeAws_restJson1RegisterSubscriptionProviderCommand + */ +export const de_RegisterSubscriptionProviderCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + SubscriptionProviderArn: __expectString, + SubscriptionProviderSource: __expectString, + SubscriptionProviderStatus: __expectString, + }); + Object.assign(contents, doc); + return contents; +}; + +/** + * deserializeAws_restJson1TagResourceCommand + */ +export const de_TagResourceCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + await collectBody(output.body, context); + return contents; +}; + +/** + * deserializeAws_restJson1UntagResourceCommand + */ +export const de_UntagResourceCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + await collectBody(output.body, context); + return contents; +}; + /** * deserializeAws_restJson1UpdateServiceSettingsCommand */ @@ -235,6 +557,9 @@ const de_CommandError = async (output: __HttpResponse, context: __SerdeContext): case "InternalServerException": case "com.amazonaws.licensemanagerlinuxsubscriptions#InternalServerException": throw await de_InternalServerExceptionRes(parsedOutput, context); + case "ResourceNotFoundException": + case "com.amazonaws.licensemanagerlinuxsubscriptions#ResourceNotFoundException": + throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); case "ThrottlingException": case "com.amazonaws.licensemanagerlinuxsubscriptions#ThrottlingException": throw await de_ThrottlingExceptionRes(parsedOutput, context); @@ -272,6 +597,26 @@ const de_InternalServerExceptionRes = async ( return __decorateServiceException(exception, parsedOutput.body); }; +/** + * deserializeAws_restJson1ResourceNotFoundExceptionRes + */ +const de_ResourceNotFoundExceptionRes = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const contents: any = map({}); + const data: any = parsedOutput.body; + const doc = take(data, { + message: __expectString, + }); + Object.assign(contents, doc); + const exception = new ResourceNotFoundException({ + $metadata: deserializeMetadata(parsedOutput), + ...contents, + }); + return __decorateServiceException(exception, parsedOutput.body); +}; + /** * deserializeAws_restJson1ThrottlingExceptionRes */ @@ -314,6 +659,10 @@ const de_ValidationExceptionRes = async (parsedOutput: any, context: __SerdeCont // se_StringList omitted. +// se_SubscriptionProviderSourceList omitted. + +// se_Tags omitted. + // de_Instance omitted. // de_InstanceList omitted. @@ -322,6 +671,10 @@ const de_ValidationExceptionRes = async (parsedOutput: any, context: __SerdeCont // de_ProductCodeList omitted. +// de_RegisteredSubscriptionProvider omitted. + +// de_RegisteredSubscriptionProviderList omitted. + // de_StringList omitted. // de_StringMap omitted. @@ -330,6 +683,8 @@ const de_ValidationExceptionRes = async (parsedOutput: any, context: __SerdeCont // de_SubscriptionList omitted. +// de_Tags omitted. + const deserializeMetadata = (output: __HttpResponse): __ResponseMetadata => ({ httpStatusCode: output.statusCode, requestId: @@ -348,3 +703,5 @@ const isSerializableHeaderValue = (value: any): boolean => value !== "" && (!Object.getOwnPropertyNames(value).includes("length") || value.length != 0) && (!Object.getOwnPropertyNames(value).includes("size") || value.size != 0); + +const _tK = "tagKeys"; diff --git a/codegen/sdk-codegen/aws-models/license-manager-linux-subscriptions.json b/codegen/sdk-codegen/aws-models/license-manager-linux-subscriptions.json index 17c79b31cca1..c165ca5b9bce 100644 --- a/codegen/sdk-codegen/aws-models/license-manager-linux-subscriptions.json +++ b/codegen/sdk-codegen/aws-models/license-manager-linux-subscriptions.json @@ -7,6 +7,60 @@ "com.amazonaws.licensemanagerlinuxsubscriptions#BoxLong": { "type": "long" }, + "com.amazonaws.licensemanagerlinuxsubscriptions#DeregisterSubscriptionProvider": { + "type": "operation", + "input": { + "target": "com.amazonaws.licensemanagerlinuxsubscriptions#DeregisterSubscriptionProviderRequest" + }, + "output": { + "target": "com.amazonaws.licensemanagerlinuxsubscriptions#DeregisterSubscriptionProviderResponse" + }, + "errors": [ + { + "target": "com.amazonaws.licensemanagerlinuxsubscriptions#InternalServerException" + }, + { + "target": "com.amazonaws.licensemanagerlinuxsubscriptions#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.licensemanagerlinuxsubscriptions#ThrottlingException" + }, + { + "target": "com.amazonaws.licensemanagerlinuxsubscriptions#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

    Remove a third-party subscription provider from the Bring Your Own License (BYOL) subscriptions \n\t\t\tregistered to your account.

    ", + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/subscription/DeregisterSubscriptionProvider" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.licensemanagerlinuxsubscriptions#DeregisterSubscriptionProviderRequest": { + "type": "structure", + "members": { + "SubscriptionProviderArn": { + "target": "com.amazonaws.licensemanagerlinuxsubscriptions#SubscriptionProviderArn", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the subscription provider resource to deregister.

    ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.licensemanagerlinuxsubscriptions#DeregisterSubscriptionProviderResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.licensemanagerlinuxsubscriptions#Filter": { "type": "structure", "members": { @@ -39,6 +93,97 @@ "target": "com.amazonaws.licensemanagerlinuxsubscriptions#Filter" } }, + "com.amazonaws.licensemanagerlinuxsubscriptions#GetRegisteredSubscriptionProvider": { + "type": "operation", + "input": { + "target": "com.amazonaws.licensemanagerlinuxsubscriptions#GetRegisteredSubscriptionProviderRequest" + }, + "output": { + "target": "com.amazonaws.licensemanagerlinuxsubscriptions#GetRegisteredSubscriptionProviderResponse" + }, + "errors": [ + { + "target": "com.amazonaws.licensemanagerlinuxsubscriptions#InternalServerException" + }, + { + "target": "com.amazonaws.licensemanagerlinuxsubscriptions#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.licensemanagerlinuxsubscriptions#ThrottlingException" + }, + { + "target": "com.amazonaws.licensemanagerlinuxsubscriptions#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

    Get details for a Bring Your Own License (BYOL) subscription that's registered to your account.

    ", + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/subscription/GetRegisteredSubscriptionProvider" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.licensemanagerlinuxsubscriptions#GetRegisteredSubscriptionProviderRequest": { + "type": "structure", + "members": { + "SubscriptionProviderArn": { + "target": "com.amazonaws.licensemanagerlinuxsubscriptions#SubscriptionProviderArn", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the BYOL registration resource to get details for.

    ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.licensemanagerlinuxsubscriptions#GetRegisteredSubscriptionProviderResponse": { + "type": "structure", + "members": { + "SubscriptionProviderArn": { + "target": "com.amazonaws.licensemanagerlinuxsubscriptions#SubscriptionProviderArn", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) for the BYOL registration resource specified in the request.

    " + } + }, + "SubscriptionProviderSource": { + "target": "com.amazonaws.licensemanagerlinuxsubscriptions#SubscriptionProviderSource", + "traits": { + "smithy.api#documentation": "

    The subscription provider for the BYOL registration resource specified \n\t\t\tin the request.

    " + } + }, + "SecretArn": { + "target": "com.amazonaws.licensemanagerlinuxsubscriptions#SecretArn", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the third-party access secret stored in Secrets Manager for the BYOL \n\t\t\tregistration resource specified in the request.

    " + } + }, + "SubscriptionProviderStatus": { + "target": "com.amazonaws.licensemanagerlinuxsubscriptions#SubscriptionProviderStatus", + "traits": { + "smithy.api#documentation": "

    The status of the Linux subscription provider access token from the last \n\t\t\tsuccessful subscription data request.

    " + } + }, + "SubscriptionProviderStatusMessage": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

    The detailed message from your subscription provider token status.

    " + } + }, + "LastSuccessfulDataRetrievalTime": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

    The timestamp from the last time License Manager retrieved subscription details \n\t\t\tfrom your registered third-party Linux subscription provider.

    " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.licensemanagerlinuxsubscriptions#GetServiceSettings": { "type": "operation", "input": { @@ -59,7 +204,7 @@ } ], "traits": { - "smithy.api#documentation": "

    Lists the Linux subscriptions service settings.

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

    Lists the Linux subscriptions service settings for your account.

    ", "smithy.api#http": { "code": 200, "method": "POST", @@ -167,7 +312,37 @@ "SubscriptionName": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

    The name of the subscription being used by the instance.

    " + "smithy.api#documentation": "

    The name of the license subscription that the instance uses.

    " + } + }, + "OsVersion": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

    The operating system software version that runs on your instance.

    " + } + }, + "SubscriptionProviderCreateTime": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

    The timestamp when you registered the third-party Linux subscription \n\t\t\tprovider for the subscription that the instance uses.

    " + } + }, + "SubscriptionProviderUpdateTime": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

    The timestamp from the last time that the instance synced with the registered \n\t\t\tthird-party Linux subscription provider.

    " + } + }, + "DualSubscription": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

    Indicates that you have two different license subscriptions for \n\t\t\tthe same software on your instance.

    " + } + }, + "RegisteredWithSubscriptionProvider": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

    Indicates that your instance uses a BYOL license subscription from \n\t\t\ta third-party Linux subscription provider that you've registered with License Manager.

    " } } }, @@ -197,6 +372,12 @@ "type": "service", "version": "2018-05-10", "operations": [ + { + "target": "com.amazonaws.licensemanagerlinuxsubscriptions#DeregisterSubscriptionProvider" + }, + { + "target": "com.amazonaws.licensemanagerlinuxsubscriptions#GetRegisteredSubscriptionProvider" + }, { "target": "com.amazonaws.licensemanagerlinuxsubscriptions#GetServiceSettings" }, @@ -206,6 +387,21 @@ { "target": "com.amazonaws.licensemanagerlinuxsubscriptions#ListLinuxSubscriptions" }, + { + "target": "com.amazonaws.licensemanagerlinuxsubscriptions#ListRegisteredSubscriptionProviders" + }, + { + "target": "com.amazonaws.licensemanagerlinuxsubscriptions#ListTagsForResource" + }, + { + "target": "com.amazonaws.licensemanagerlinuxsubscriptions#RegisterSubscriptionProvider" + }, + { + "target": "com.amazonaws.licensemanagerlinuxsubscriptions#TagResource" + }, + { + "target": "com.amazonaws.licensemanagerlinuxsubscriptions#UntagResource" + }, { "target": "com.amazonaws.licensemanagerlinuxsubscriptions#UpdateServiceSettings" } @@ -227,15 +423,7 @@ "x-amz-content-sha256", "x-amz-user-agent", "x-amzn-platform-id", - "x-amzn-trace-id", - "content-length", - "x-api-key", - "authorization", - "x-amz-date", - "x-amz-security-token", - "Access-Control-Allow-Headers", - "Access-Control-Allow-Methods", - "Access-Control-Allow-Origin" + "x-amzn-trace-id" ], "additionalExposedHeaders": ["x-amzn-errortype", "x-amzn-requestid", "x-amzn-trace-id"] }, @@ -987,19 +1175,19 @@ "Filters": { "target": "com.amazonaws.licensemanagerlinuxsubscriptions#FilterList", "traits": { - "smithy.api#documentation": "

    An array of structures that you can use to filter the results to those that match one or\n more sets of key-value pairs that you specify. For example, you can filter by the name of\n AmiID with an optional operator to see subscriptions that match, partially\n match, or don't match a certain Amazon Machine Image (AMI) ID.

    \n

    The valid names for this filter are:

    \n
      \n
    • \n

      \n AmiID\n

      \n
    • \n
    • \n

      \n InstanceID\n

      \n
    • \n
    • \n

      \n AccountID\n

      \n
    • \n
    • \n

      \n Status\n

      \n
    • \n
    • \n

      \n Region\n

      \n
    • \n
    • \n

      \n UsageOperation\n

      \n
    • \n
    • \n

      \n ProductCode\n

      \n
    • \n
    • \n

      \n InstanceType\n

      \n
    • \n
    \n

    The valid Operators for this filter are:

    \n
      \n
    • \n

      \n contains\n

      \n
    • \n
    • \n

      \n equals\n

      \n
    • \n
    • \n

      \n Notequal\n

      \n
    • \n
    " + "smithy.api#documentation": "

    An array of structures that you can use to filter the results by your specified criteria. \n \tFor example, you can specify Region in the Name, with the \n \tcontains operator to list all subscriptions that match a partial string in the \n \tValue, such as us-west.

    \n

    For each filter, you can specify one of the following values for the Name key \n \tto streamline results:

    \n
      \n
    • \n

      \n AccountID\n

      \n
    • \n
    • \n

      \n AmiID\n

      \n
    • \n
    • \n

      \n DualSubscription\n

      \n
    • \n
    • \n

      \n InstanceID\n

      \n
    • \n
    • \n

      \n InstanceType\n

      \n
    • \n
    • \n

      \n ProductCode\n

      \n
    • \n
    • \n

      \n Region\n

      \n
    • \n
    • \n

      \n Status\n

      \n
    • \n
    • \n

      \n UsageOperation\n

      \n
    • \n
    \n

    For each filter, you can use one of the following Operator values to \n \t\tdefine the behavior of the filter:

    \n
      \n
    • \n

      \n contains\n

      \n
    • \n
    • \n

      \n equals\n

      \n
    • \n
    • \n

      \n Notequal\n

      \n
    • \n
    " } }, "MaxResults": { "target": "com.amazonaws.licensemanagerlinuxsubscriptions#BoxInteger", "traits": { - "smithy.api#documentation": "

    Maximum number of results to return in a single call.

    " + "smithy.api#documentation": "

    The maximum items to return in a request.

    " } }, "NextToken": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

    Token for the next set of results.

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

    A token to specify where to start paginating. This \n\tis the nextToken from a previously truncated response.

    ", "smithy.api#length": { "min": 1, "max": 16384 @@ -1023,7 +1211,7 @@ "NextToken": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

    Token for the next set of results.

    " + "smithy.api#documentation": "

    The next token used for paginated responses. When this \n\tfield isn't empty, there are additional elements that the service hasn't \n\tincluded in this request. Use this token with the next request to retrieve \n\tadditional objects.

    " } } } @@ -1075,13 +1263,13 @@ "MaxResults": { "target": "com.amazonaws.licensemanagerlinuxsubscriptions#BoxInteger", "traits": { - "smithy.api#documentation": "

    Maximum number of results to return in a single call.

    " + "smithy.api#documentation": "

    The maximum items to return in a request.

    " } }, "NextToken": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

    Token for the next set of results.

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

    A token to specify where to start paginating. This \n\tis the nextToken from a previously truncated response.

    ", "smithy.api#length": { "min": 1, "max": 16384 @@ -1105,9 +1293,152 @@ "NextToken": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

    Token for the next set of results.

    " + "smithy.api#documentation": "

    The next token used for paginated responses. When this \n\tfield isn't empty, there are additional elements that the service hasn't \n\tincluded in this request. Use this token with the next request to retrieve \n\tadditional objects.

    " + } + } + } + }, + "com.amazonaws.licensemanagerlinuxsubscriptions#ListRegisteredSubscriptionProviders": { + "type": "operation", + "input": { + "target": "com.amazonaws.licensemanagerlinuxsubscriptions#ListRegisteredSubscriptionProvidersRequest" + }, + "output": { + "target": "com.amazonaws.licensemanagerlinuxsubscriptions#ListRegisteredSubscriptionProvidersResponse" + }, + "errors": [ + { + "target": "com.amazonaws.licensemanagerlinuxsubscriptions#InternalServerException" + }, + { + "target": "com.amazonaws.licensemanagerlinuxsubscriptions#ThrottlingException" + }, + { + "target": "com.amazonaws.licensemanagerlinuxsubscriptions#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

    List Bring Your Own License (BYOL) subscription registration resources for your account.

    ", + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/subscription/ListRegisteredSubscriptionProviders" + }, + "smithy.api#idempotent": {}, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults", + "items": "RegisteredSubscriptionProviders" + } + } + }, + "com.amazonaws.licensemanagerlinuxsubscriptions#ListRegisteredSubscriptionProvidersRequest": { + "type": "structure", + "members": { + "SubscriptionProviderSources": { + "target": "com.amazonaws.licensemanagerlinuxsubscriptions#SubscriptionProviderSourceList", + "traits": { + "smithy.api#documentation": "

    To filter your results, specify which subscription providers to return \n\t\t\tin the list.

    " + } + }, + "MaxResults": { + "target": "com.amazonaws.licensemanagerlinuxsubscriptions#BoxInteger", + "traits": { + "smithy.api#documentation": "

    The maximum items to return in a request.

    ", + "smithy.api#range": { + "min": 1, + "max": 100 + } + } + }, + "NextToken": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

    A token to specify where to start paginating. This \n\tis the nextToken from a previously truncated response.

    " + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.licensemanagerlinuxsubscriptions#ListRegisteredSubscriptionProvidersResponse": { + "type": "structure", + "members": { + "RegisteredSubscriptionProviders": { + "target": "com.amazonaws.licensemanagerlinuxsubscriptions#RegisteredSubscriptionProviderList", + "traits": { + "smithy.api#documentation": "

    The list of BYOL registration resources that fit the criteria \n\t\t\tyou specified in the request.

    " + } + }, + "NextToken": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

    The next token used for paginated responses. When this \n\tfield isn't empty, there are additional elements that the service hasn't \n\tincluded in this request. Use this token with the next request to retrieve \n\tadditional objects.

    " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.licensemanagerlinuxsubscriptions#ListTagsForResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.licensemanagerlinuxsubscriptions#ListTagsForResourceRequest" + }, + "output": { + "target": "com.amazonaws.licensemanagerlinuxsubscriptions#ListTagsForResourceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.licensemanagerlinuxsubscriptions#InternalServerException" + }, + { + "target": "com.amazonaws.licensemanagerlinuxsubscriptions#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.licensemanagerlinuxsubscriptions#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

    List the metadata tags that are assigned to the \n\t\t\tspecified Amazon Web Services resource.

    ", + "smithy.api#http": { + "method": "GET", + "uri": "/tags/{resourceArn}" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.licensemanagerlinuxsubscriptions#ListTagsForResourceRequest": { + "type": "structure", + "members": { + "resourceArn": { + "target": "com.amazonaws.licensemanagerlinuxsubscriptions#SubscriptionProviderArn", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the resource for which to list metadata tags.

    ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.licensemanagerlinuxsubscriptions#ListTagsForResourceResponse": { + "type": "structure", + "members": { + "tags": { + "target": "com.amazonaws.licensemanagerlinuxsubscriptions#Tags", + "traits": { + "smithy.api#documentation": "

    The metadata tags for the requested resource.

    " } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.licensemanagerlinuxsubscriptions#Operator": { @@ -1159,6 +1490,157 @@ "target": "smithy.api#String" } }, + "com.amazonaws.licensemanagerlinuxsubscriptions#RegisterSubscriptionProvider": { + "type": "operation", + "input": { + "target": "com.amazonaws.licensemanagerlinuxsubscriptions#RegisterSubscriptionProviderRequest" + }, + "output": { + "target": "com.amazonaws.licensemanagerlinuxsubscriptions#RegisterSubscriptionProviderResponse" + }, + "errors": [ + { + "target": "com.amazonaws.licensemanagerlinuxsubscriptions#InternalServerException" + }, + { + "target": "com.amazonaws.licensemanagerlinuxsubscriptions#ThrottlingException" + }, + { + "target": "com.amazonaws.licensemanagerlinuxsubscriptions#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

    Register the supported third-party subscription provider for your Bring Your Own License (BYOL) subscription.

    ", + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/subscription/RegisterSubscriptionProvider" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.licensemanagerlinuxsubscriptions#RegisterSubscriptionProviderRequest": { + "type": "structure", + "members": { + "SubscriptionProviderSource": { + "target": "com.amazonaws.licensemanagerlinuxsubscriptions#SubscriptionProviderSource", + "traits": { + "smithy.api#documentation": "

    The supported Linux subscription provider to register.

    ", + "smithy.api#required": {} + } + }, + "SecretArn": { + "target": "com.amazonaws.licensemanagerlinuxsubscriptions#SecretArn", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the secret where you've stored your subscription provider's access token. For \n\t\t\tRHEL subscriptions managed through the Red Hat Subscription Manager (RHSM), the secret contains \n\t\t\tyour Red Hat Offline token.

    ", + "smithy.api#required": {} + } + }, + "Tags": { + "target": "com.amazonaws.licensemanagerlinuxsubscriptions#Tags", + "traits": { + "smithy.api#documentation": "

    The metadata tags to assign to your registered Linux subscription provider \n\t\t\tresource.

    " + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.licensemanagerlinuxsubscriptions#RegisterSubscriptionProviderResponse": { + "type": "structure", + "members": { + "SubscriptionProviderSource": { + "target": "com.amazonaws.licensemanagerlinuxsubscriptions#SubscriptionProviderSource", + "traits": { + "smithy.api#documentation": "

    The Linux subscription provider that you registered.

    " + } + }, + "SubscriptionProviderArn": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the Linux subscription provider resource that you registered.

    " + } + }, + "SubscriptionProviderStatus": { + "target": "com.amazonaws.licensemanagerlinuxsubscriptions#SubscriptionProviderStatus", + "traits": { + "smithy.api#documentation": "

    Indicates the status of the registration action for the Linux subscription provider \n\t\t\tthat you requested.

    " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.licensemanagerlinuxsubscriptions#RegisteredSubscriptionProvider": { + "type": "structure", + "members": { + "SubscriptionProviderArn": { + "target": "com.amazonaws.licensemanagerlinuxsubscriptions#SubscriptionProviderArn", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the Linux subscription provider resource that you registered.

    " + } + }, + "SubscriptionProviderSource": { + "target": "com.amazonaws.licensemanagerlinuxsubscriptions#SubscriptionProviderSource", + "traits": { + "smithy.api#documentation": "

    A supported third-party Linux subscription provider. License Manager currently supports \n\t\t\tRed Hat subscriptions.

    " + } + }, + "SecretArn": { + "target": "com.amazonaws.licensemanagerlinuxsubscriptions#SecretArn", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the Secrets Manager secret that stores your registered Linux subscription provider \n\t\t\taccess token. For RHEL account subscriptions, this is the offline token.

    " + } + }, + "SubscriptionProviderStatus": { + "target": "com.amazonaws.licensemanagerlinuxsubscriptions#SubscriptionProviderStatus", + "traits": { + "smithy.api#documentation": "

    Indicates the status of your registered Linux subscription provider access token \n\t\t\tfrom the last time License Manager retrieved subscription data. For RHEL account subscriptions, \n\t\t\tthis is the status of the offline token.

    " + } + }, + "SubscriptionProviderStatusMessage": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

    A detailed message that's associated with your BYOL subscription \n\t\t\tprovider token status.

    " + } + }, + "LastSuccessfulDataRetrievalTime": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

    The timestamp from the last time that License Manager accessed third-party subscription data \n\t\t\tfor your account from your registered Linux subscription provider.

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    A third-party provider for operating system (OS) platform software and license \n\t\t\tsubscriptions, such as Red Hat. When you register a third-party Linux subscription \n\t\t\tprovider, License Manager can get subscription data from the registered provider.

    " + } + }, + "com.amazonaws.licensemanagerlinuxsubscriptions#RegisteredSubscriptionProviderList": { + "type": "list", + "member": { + "target": "com.amazonaws.licensemanagerlinuxsubscriptions#RegisteredSubscriptionProvider" + } + }, + "com.amazonaws.licensemanagerlinuxsubscriptions#ResourceNotFoundException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String" + } + }, + "traits": { + "smithy.api#documentation": "

    Unable to find the requested Amazon Web Services resource.

    ", + "smithy.api#error": "client" + } + }, + "com.amazonaws.licensemanagerlinuxsubscriptions#SecretArn": { + "type": "string", + "traits": { + "smithy.api#pattern": "^arn:[a-z0-9-\\.]{1,63}:secretsmanager:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:secret:[^/]{1,1023}$" + } + }, "com.amazonaws.licensemanagerlinuxsubscriptions#Status": { "type": "string", "traits": { @@ -1246,6 +1728,139 @@ "target": "com.amazonaws.licensemanagerlinuxsubscriptions#Subscription" } }, + "com.amazonaws.licensemanagerlinuxsubscriptions#SubscriptionProviderArn": { + "type": "string", + "traits": { + "smithy.api#pattern": "^arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{1,510}/[a-z0-9-\\.]{1,510}$" + } + }, + "com.amazonaws.licensemanagerlinuxsubscriptions#SubscriptionProviderSource": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "RedHat", + "value": "RedHat", + "documentation": "RedHat subscription provider namespace" + } + ] + } + }, + "com.amazonaws.licensemanagerlinuxsubscriptions#SubscriptionProviderSourceList": { + "type": "list", + "member": { + "target": "com.amazonaws.licensemanagerlinuxsubscriptions#SubscriptionProviderSource" + } + }, + "com.amazonaws.licensemanagerlinuxsubscriptions#SubscriptionProviderStatus": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "ACTIVE", + "value": "ACTIVE", + "documentation": "ACTIVE status" + }, + { + "name": "INVALID", + "value": "INVALID", + "documentation": "INVALID status" + }, + { + "name": "PENDING", + "value": "PENDING", + "documentation": "PENDING status" + } + ] + } + }, + "com.amazonaws.licensemanagerlinuxsubscriptions#TagKeyList": { + "type": "list", + "member": { + "target": "smithy.api#String" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 50 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.licensemanagerlinuxsubscriptions#TagResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.licensemanagerlinuxsubscriptions#TagResourceRequest" + }, + "output": { + "target": "com.amazonaws.licensemanagerlinuxsubscriptions#TagResourceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.licensemanagerlinuxsubscriptions#InternalServerException" + }, + { + "target": "com.amazonaws.licensemanagerlinuxsubscriptions#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.licensemanagerlinuxsubscriptions#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

    Add metadata tags to the specified Amazon Web Services resource.

    ", + "smithy.api#http": { + "method": "PUT", + "uri": "/tags/{resourceArn}" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.licensemanagerlinuxsubscriptions#TagResourceRequest": { + "type": "structure", + "members": { + "resourceArn": { + "target": "com.amazonaws.licensemanagerlinuxsubscriptions#SubscriptionProviderArn", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the Amazon Web Services resource to which to add the specified \n\t\t\tmetadata tags.

    ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "tags": { + "target": "com.amazonaws.licensemanagerlinuxsubscriptions#Tags", + "traits": { + "smithy.api#documentation": "

    The metadata tags to assign to the Amazon Web Services resource. Tags are \n\t\t\tformatted as key value pairs.

    ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.licensemanagerlinuxsubscriptions#TagResourceResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.licensemanagerlinuxsubscriptions#Tags": { + "type": "map", + "key": { + "target": "smithy.api#String" + }, + "value": { + "target": "smithy.api#String" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 50 + }, + "smithy.api#sensitive": {} + } + }, "com.amazonaws.licensemanagerlinuxsubscriptions#ThrottlingException": { "type": "structure", "members": { @@ -1258,6 +1873,62 @@ "smithy.api#error": "client" } }, + "com.amazonaws.licensemanagerlinuxsubscriptions#UntagResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.licensemanagerlinuxsubscriptions#UntagResourceRequest" + }, + "output": { + "target": "com.amazonaws.licensemanagerlinuxsubscriptions#UntagResourceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.licensemanagerlinuxsubscriptions#InternalServerException" + }, + { + "target": "com.amazonaws.licensemanagerlinuxsubscriptions#ResourceNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

    Remove one or more metadata tag from the specified Amazon Web Services resource.

    ", + "smithy.api#http": { + "method": "DELETE", + "uri": "/tags/{resourceArn}" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.licensemanagerlinuxsubscriptions#UntagResourceRequest": { + "type": "structure", + "members": { + "resourceArn": { + "target": "com.amazonaws.licensemanagerlinuxsubscriptions#SubscriptionProviderArn", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the Amazon Web Services resource to remove the metadata tags from.

    ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "tagKeys": { + "target": "com.amazonaws.licensemanagerlinuxsubscriptions#TagKeyList", + "traits": { + "smithy.api#documentation": "

    A list of metadata tag keys to remove from the requested \n\t\t\tresource.

    ", + "smithy.api#httpQuery": "tagKeys", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.licensemanagerlinuxsubscriptions#UntagResourceResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.licensemanagerlinuxsubscriptions#UpdateServiceSettings": { "type": "operation", "input": {