diff --git a/VERSION b/VERSION index c718e9d8228..a18d6424584 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.11.393 \ No newline at end of file +1.11.394 \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-appconfig/include/aws/appconfig/AppConfigClient.h b/generated/src/aws-cpp-sdk-appconfig/include/aws/appconfig/AppConfigClient.h index b13888aef8e..77db83be1fc 100644 --- a/generated/src/aws-cpp-sdk-appconfig/include/aws/appconfig/AppConfigClient.h +++ b/generated/src/aws-cpp-sdk-appconfig/include/aws/appconfig/AppConfigClient.h @@ -381,8 +381,12 @@ namespace AppConfig } /** - *

Creates a new configuration in the AppConfig hosted configuration - * store.

See Also:

Creates a new configuration in the AppConfig hosted configuration store. If + * you're creating a feature flag, we recommend you familiarize yourself with the + * JSON schema for feature flag data. For more information, see Type + * reference for AWS.AppConfig.FeatureFlags in the AppConfig User + * Guide.

See Also:

AWS * API Reference

*/ @@ -407,8 +411,7 @@ namespace AppConfig } /** - *

Deletes an application. Deleting an application does not delete a - * configuration from a host.

See Also:

Deletes an application.

See Also:

AWS * API Reference

*/ @@ -433,8 +436,10 @@ namespace AppConfig } /** - *

Deletes a configuration profile. Deleting a configuration profile does not - * delete a configuration from a host.

See Also:

Deletes a configuration profile.

To prevent users from unintentionally + * deleting actively-used configuration profiles, enable deletion + * protection.

See Also:

AWS * API Reference

*/ @@ -459,8 +464,7 @@ namespace AppConfig } /** - *

Deletes a deployment strategy. Deleting a deployment strategy does not delete - * a configuration from a host.

See Also:

Deletes a deployment strategy.

See Also:

AWS * API Reference

*/ @@ -485,8 +489,10 @@ namespace AppConfig } /** - *

Deletes an environment. Deleting an environment does not delete a - * configuration from a host.

See Also:

Deletes an environment.

To prevent users from unintentionally deleting + * actively-used environments, enable deletion + * protection.

See Also:

AWS * API Reference

*/ @@ -588,6 +594,32 @@ namespace AppConfig return SubmitAsync(&AppConfigClient::DeleteHostedConfigurationVersion, request, handler, context); } + /** + *

Returns information about the status of the DeletionProtection + * parameter.

See Also:

AWS + * API Reference

+ */ + virtual Model::GetAccountSettingsOutcome GetAccountSettings(const Model::GetAccountSettingsRequest& request = {}) const; + + /** + * A Callable wrapper for GetAccountSettings that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetAccountSettingsOutcomeCallable GetAccountSettingsCallable(const GetAccountSettingsRequestT& request = {}) const + { + return SubmitCallable(&AppConfigClient::GetAccountSettings, request); + } + + /** + * An Async wrapper for GetAccountSettings that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetAccountSettingsAsync(const GetAccountSettingsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const GetAccountSettingsRequestT& request = {}) const + { + return SubmitAsync(&AppConfigClient::GetAccountSettings, request, handler, context); + } + /** *

Retrieves information about an application.

See Also:

AWS @@ -1148,6 +1180,32 @@ namespace AppConfig return SubmitAsync(&AppConfigClient::UntagResource, request, handler, context); } + /** + *

Updates the value of the DeletionProtection + * parameter.

See Also:

AWS + * API Reference

+ */ + virtual Model::UpdateAccountSettingsOutcome UpdateAccountSettings(const Model::UpdateAccountSettingsRequest& request = {}) const; + + /** + * A Callable wrapper for UpdateAccountSettings that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UpdateAccountSettingsOutcomeCallable UpdateAccountSettingsCallable(const UpdateAccountSettingsRequestT& request = {}) const + { + return SubmitCallable(&AppConfigClient::UpdateAccountSettings, request); + } + + /** + * An Async wrapper for UpdateAccountSettings that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UpdateAccountSettingsAsync(const UpdateAccountSettingsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const UpdateAccountSettingsRequestT& request = {}) const + { + return SubmitAsync(&AppConfigClient::UpdateAccountSettings, request, handler, context); + } + /** *

Updates an application.

See Also:

AWS diff --git a/generated/src/aws-cpp-sdk-appconfig/include/aws/appconfig/AppConfigServiceClientModel.h b/generated/src/aws-cpp-sdk-appconfig/include/aws/appconfig/AppConfigServiceClientModel.h index 9336758f9ae..30e35b989af 100644 --- a/generated/src/aws-cpp-sdk-appconfig/include/aws/appconfig/AppConfigServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-appconfig/include/aws/appconfig/AppConfigServiceClientModel.h @@ -25,6 +25,7 @@ #include #include #include +#include #include #include #include @@ -44,6 +45,7 @@ #include #include #include +#include #include #include #include @@ -51,8 +53,10 @@ #include #include #include +#include #include #include +#include #include #include /* End of service model headers required in AppConfigClient header */ @@ -109,6 +113,7 @@ namespace Aws class DeleteExtensionRequest; class DeleteExtensionAssociationRequest; class DeleteHostedConfigurationVersionRequest; + class GetAccountSettingsRequest; class GetApplicationRequest; class GetConfigurationProfileRequest; class GetDeploymentRequest; @@ -130,6 +135,7 @@ namespace Aws class StopDeploymentRequest; class TagResourceRequest; class UntagResourceRequest; + class UpdateAccountSettingsRequest; class UpdateApplicationRequest; class UpdateConfigurationProfileRequest; class UpdateDeploymentStrategyRequest; @@ -154,6 +160,7 @@ namespace Aws typedef Aws::Utils::Outcome DeleteExtensionOutcome; typedef Aws::Utils::Outcome DeleteExtensionAssociationOutcome; typedef Aws::Utils::Outcome DeleteHostedConfigurationVersionOutcome; + typedef Aws::Utils::Outcome GetAccountSettingsOutcome; typedef Aws::Utils::Outcome GetApplicationOutcome; typedef Aws::Utils::Outcome GetConfigurationProfileOutcome; typedef Aws::Utils::Outcome GetDeploymentOutcome; @@ -175,6 +182,7 @@ namespace Aws typedef Aws::Utils::Outcome StopDeploymentOutcome; typedef Aws::Utils::Outcome TagResourceOutcome; typedef Aws::Utils::Outcome UntagResourceOutcome; + typedef Aws::Utils::Outcome UpdateAccountSettingsOutcome; typedef Aws::Utils::Outcome UpdateApplicationOutcome; typedef Aws::Utils::Outcome UpdateConfigurationProfileOutcome; typedef Aws::Utils::Outcome UpdateDeploymentStrategyOutcome; @@ -199,6 +207,7 @@ namespace Aws typedef std::future DeleteExtensionOutcomeCallable; typedef std::future DeleteExtensionAssociationOutcomeCallable; typedef std::future DeleteHostedConfigurationVersionOutcomeCallable; + typedef std::future GetAccountSettingsOutcomeCallable; typedef std::future GetApplicationOutcomeCallable; typedef std::future GetConfigurationProfileOutcomeCallable; typedef std::future GetDeploymentOutcomeCallable; @@ -220,6 +229,7 @@ namespace Aws typedef std::future StopDeploymentOutcomeCallable; typedef std::future TagResourceOutcomeCallable; typedef std::future UntagResourceOutcomeCallable; + typedef std::future UpdateAccountSettingsOutcomeCallable; typedef std::future UpdateApplicationOutcomeCallable; typedef std::future UpdateConfigurationProfileOutcomeCallable; typedef std::future UpdateDeploymentStrategyOutcomeCallable; @@ -247,6 +257,7 @@ namespace Aws typedef std::function&) > DeleteExtensionResponseReceivedHandler; typedef std::function&) > DeleteExtensionAssociationResponseReceivedHandler; typedef std::function&) > DeleteHostedConfigurationVersionResponseReceivedHandler; + typedef std::function&) > GetAccountSettingsResponseReceivedHandler; typedef std::function&) > GetApplicationResponseReceivedHandler; typedef std::function&) > GetConfigurationProfileResponseReceivedHandler; typedef std::function&) > GetDeploymentResponseReceivedHandler; @@ -268,6 +279,7 @@ namespace Aws typedef std::function&) > StopDeploymentResponseReceivedHandler; typedef std::function&) > TagResourceResponseReceivedHandler; typedef std::function&) > UntagResourceResponseReceivedHandler; + typedef std::function&) > UpdateAccountSettingsResponseReceivedHandler; typedef std::function&) > UpdateApplicationResponseReceivedHandler; typedef std::function&) > UpdateConfigurationProfileResponseReceivedHandler; typedef std::function&) > UpdateDeploymentStrategyResponseReceivedHandler; diff --git a/generated/src/aws-cpp-sdk-appconfig/include/aws/appconfig/model/DeleteConfigurationProfileRequest.h b/generated/src/aws-cpp-sdk-appconfig/include/aws/appconfig/model/DeleteConfigurationProfileRequest.h index 15861da006b..b530919c8e4 100644 --- a/generated/src/aws-cpp-sdk-appconfig/include/aws/appconfig/model/DeleteConfigurationProfileRequest.h +++ b/generated/src/aws-cpp-sdk-appconfig/include/aws/appconfig/model/DeleteConfigurationProfileRequest.h @@ -7,6 +7,7 @@ #include #include #include +#include #include namespace Aws @@ -31,6 +32,8 @@ namespace Model AWS_APPCONFIG_API Aws::String SerializePayload() const override; + AWS_APPCONFIG_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + ///@{ /** @@ -60,6 +63,32 @@ namespace Model inline DeleteConfigurationProfileRequest& WithConfigurationProfileId(Aws::String&& value) { SetConfigurationProfileId(std::move(value)); return *this;} inline DeleteConfigurationProfileRequest& WithConfigurationProfileId(const char* value) { SetConfigurationProfileId(value); return *this;} ///@} + + ///@{ + /** + *

A parameter to configure deletion protection. If enabled, deletion protection + * prevents a user from deleting a configuration profile if your application has + * called either GetLatestConfiguration + * or for the configuration profile during the specified interval.

This + * parameter supports the following values:

  • BYPASS: + * Instructs AppConfig to bypass the deletion protection check and delete a + * configuration profile even if deletion protection would have otherwise prevented + * it.

  • APPLY: Instructs the deletion protection + * check to run, even if deletion protection is disabled at the account level. + * APPLY also forces the deletion protection check to run against + * resources created in the past hour, which are normally excluded from deletion + * protection checks.

  • ACCOUNT_DEFAULT: The default + * setting, which instructs AppConfig to implement the deletion protection value + * specified in the UpdateAccountSettings API.

+ */ + inline const DeletionProtectionCheck& GetDeletionProtectionCheck() const{ return m_deletionProtectionCheck; } + inline bool DeletionProtectionCheckHasBeenSet() const { return m_deletionProtectionCheckHasBeenSet; } + inline void SetDeletionProtectionCheck(const DeletionProtectionCheck& value) { m_deletionProtectionCheckHasBeenSet = true; m_deletionProtectionCheck = value; } + inline void SetDeletionProtectionCheck(DeletionProtectionCheck&& value) { m_deletionProtectionCheckHasBeenSet = true; m_deletionProtectionCheck = std::move(value); } + inline DeleteConfigurationProfileRequest& WithDeletionProtectionCheck(const DeletionProtectionCheck& value) { SetDeletionProtectionCheck(value); return *this;} + inline DeleteConfigurationProfileRequest& WithDeletionProtectionCheck(DeletionProtectionCheck&& value) { SetDeletionProtectionCheck(std::move(value)); return *this;} + ///@} private: Aws::String m_applicationId; @@ -67,6 +96,9 @@ namespace Model Aws::String m_configurationProfileId; bool m_configurationProfileIdHasBeenSet = false; + + DeletionProtectionCheck m_deletionProtectionCheck; + bool m_deletionProtectionCheckHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-appconfig/include/aws/appconfig/model/DeleteEnvironmentRequest.h b/generated/src/aws-cpp-sdk-appconfig/include/aws/appconfig/model/DeleteEnvironmentRequest.h index aaf749aaa94..32d117f5d6e 100644 --- a/generated/src/aws-cpp-sdk-appconfig/include/aws/appconfig/model/DeleteEnvironmentRequest.h +++ b/generated/src/aws-cpp-sdk-appconfig/include/aws/appconfig/model/DeleteEnvironmentRequest.h @@ -7,6 +7,7 @@ #include #include #include +#include #include namespace Aws @@ -31,6 +32,22 @@ namespace Model AWS_APPCONFIG_API Aws::String SerializePayload() const override; + AWS_APPCONFIG_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

The ID of the environment that you want to delete.

+ */ + inline const Aws::String& GetEnvironmentId() const{ return m_environmentId; } + inline bool EnvironmentIdHasBeenSet() const { return m_environmentIdHasBeenSet; } + inline void SetEnvironmentId(const Aws::String& value) { m_environmentIdHasBeenSet = true; m_environmentId = value; } + inline void SetEnvironmentId(Aws::String&& value) { m_environmentIdHasBeenSet = true; m_environmentId = std::move(value); } + inline void SetEnvironmentId(const char* value) { m_environmentIdHasBeenSet = true; m_environmentId.assign(value); } + inline DeleteEnvironmentRequest& WithEnvironmentId(const Aws::String& value) { SetEnvironmentId(value); return *this;} + inline DeleteEnvironmentRequest& WithEnvironmentId(Aws::String&& value) { SetEnvironmentId(std::move(value)); return *this;} + inline DeleteEnvironmentRequest& WithEnvironmentId(const char* value) { SetEnvironmentId(value); return *this;} + ///@} ///@{ /** @@ -48,24 +65,39 @@ namespace Model ///@{ /** - *

The ID of the environment that you want to delete.

+ *

A parameter to configure deletion protection. If enabled, deletion protection + * prevents a user from deleting an environment if your application called either + * GetLatestConfiguration + * or in the environment during the specified interval.

This parameter + * supports the following values:

  • BYPASS: Instructs + * AppConfig to bypass the deletion protection check and delete a configuration + * profile even if deletion protection would have otherwise prevented it.

    + *
  • APPLY: Instructs the deletion protection check to + * run, even if deletion protection is disabled at the account level. + * APPLY also forces the deletion protection check to run against + * resources created in the past hour, which are normally excluded from deletion + * protection checks.

  • ACCOUNT_DEFAULT: The default + * setting, which instructs AppConfig to implement the deletion protection value + * specified in the UpdateAccountSettings API.

*/ - inline const Aws::String& GetEnvironmentId() const{ return m_environmentId; } - inline bool EnvironmentIdHasBeenSet() const { return m_environmentIdHasBeenSet; } - inline void SetEnvironmentId(const Aws::String& value) { m_environmentIdHasBeenSet = true; m_environmentId = value; } - inline void SetEnvironmentId(Aws::String&& value) { m_environmentIdHasBeenSet = true; m_environmentId = std::move(value); } - inline void SetEnvironmentId(const char* value) { m_environmentIdHasBeenSet = true; m_environmentId.assign(value); } - inline DeleteEnvironmentRequest& WithEnvironmentId(const Aws::String& value) { SetEnvironmentId(value); return *this;} - inline DeleteEnvironmentRequest& WithEnvironmentId(Aws::String&& value) { SetEnvironmentId(std::move(value)); return *this;} - inline DeleteEnvironmentRequest& WithEnvironmentId(const char* value) { SetEnvironmentId(value); return *this;} + inline const DeletionProtectionCheck& GetDeletionProtectionCheck() const{ return m_deletionProtectionCheck; } + inline bool DeletionProtectionCheckHasBeenSet() const { return m_deletionProtectionCheckHasBeenSet; } + inline void SetDeletionProtectionCheck(const DeletionProtectionCheck& value) { m_deletionProtectionCheckHasBeenSet = true; m_deletionProtectionCheck = value; } + inline void SetDeletionProtectionCheck(DeletionProtectionCheck&& value) { m_deletionProtectionCheckHasBeenSet = true; m_deletionProtectionCheck = std::move(value); } + inline DeleteEnvironmentRequest& WithDeletionProtectionCheck(const DeletionProtectionCheck& value) { SetDeletionProtectionCheck(value); return *this;} + inline DeleteEnvironmentRequest& WithDeletionProtectionCheck(DeletionProtectionCheck&& value) { SetDeletionProtectionCheck(std::move(value)); return *this;} ///@} private: + Aws::String m_environmentId; + bool m_environmentIdHasBeenSet = false; + Aws::String m_applicationId; bool m_applicationIdHasBeenSet = false; - Aws::String m_environmentId; - bool m_environmentIdHasBeenSet = false; + DeletionProtectionCheck m_deletionProtectionCheck; + bool m_deletionProtectionCheckHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-appconfig/include/aws/appconfig/model/DeletionProtectionCheck.h b/generated/src/aws-cpp-sdk-appconfig/include/aws/appconfig/model/DeletionProtectionCheck.h new file mode 100644 index 00000000000..e98d3f6751f --- /dev/null +++ b/generated/src/aws-cpp-sdk-appconfig/include/aws/appconfig/model/DeletionProtectionCheck.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace AppConfig +{ +namespace Model +{ + enum class DeletionProtectionCheck + { + NOT_SET, + ACCOUNT_DEFAULT, + APPLY, + BYPASS + }; + +namespace DeletionProtectionCheckMapper +{ +AWS_APPCONFIG_API DeletionProtectionCheck GetDeletionProtectionCheckForName(const Aws::String& name); + +AWS_APPCONFIG_API Aws::String GetNameForDeletionProtectionCheck(DeletionProtectionCheck value); +} // namespace DeletionProtectionCheckMapper +} // namespace Model +} // namespace AppConfig +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-appconfig/include/aws/appconfig/model/DeletionProtectionSettings.h b/generated/src/aws-cpp-sdk-appconfig/include/aws/appconfig/model/DeletionProtectionSettings.h new file mode 100644 index 00000000000..bc697f73aa6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-appconfig/include/aws/appconfig/model/DeletionProtectionSettings.h @@ -0,0 +1,84 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace AppConfig +{ +namespace Model +{ + + /** + *

A parameter to configure deletion protection. If enabled, deletion protection + * prevents a user from deleting a configuration profile or an environment if + * AppConfig has called either GetLatestConfiguration + * or for the configuration profile or from the environment during the specified + * interval.

This setting uses the following default values:

  • + *

    Deletion protection is disabled by default.

  • The default + * interval specified by ProtectionPeriodInMinutes is 60.

  • + *
  • DeletionProtectionCheck skips configuration profiles and + * environments that were created in the past hour.

See + * Also:

AWS + * API Reference

+ */ + class DeletionProtectionSettings + { + public: + AWS_APPCONFIG_API DeletionProtectionSettings(); + AWS_APPCONFIG_API DeletionProtectionSettings(Aws::Utils::Json::JsonView jsonValue); + AWS_APPCONFIG_API DeletionProtectionSettings& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_APPCONFIG_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

A parameter that indicates if deletion protection is enabled or not.

+ */ + inline bool GetEnabled() const{ return m_enabled; } + inline bool EnabledHasBeenSet() const { return m_enabledHasBeenSet; } + inline void SetEnabled(bool value) { m_enabledHasBeenSet = true; m_enabled = value; } + inline DeletionProtectionSettings& WithEnabled(bool value) { SetEnabled(value); return *this;} + ///@} + + ///@{ + /** + *

The time interval during which AppConfig monitors for calls to GetLatestConfiguration + * or for a configuration profile or from an environment. AppConfig returns an + * error if a user calls or for the designated configuration profile or + * environment. To bypass the error and delete a configuration profile or an + * environment, specify BYPASS for the + * DeletionProtectionCheck parameter for either or .

+ */ + inline int GetProtectionPeriodInMinutes() const{ return m_protectionPeriodInMinutes; } + inline bool ProtectionPeriodInMinutesHasBeenSet() const { return m_protectionPeriodInMinutesHasBeenSet; } + inline void SetProtectionPeriodInMinutes(int value) { m_protectionPeriodInMinutesHasBeenSet = true; m_protectionPeriodInMinutes = value; } + inline DeletionProtectionSettings& WithProtectionPeriodInMinutes(int value) { SetProtectionPeriodInMinutes(value); return *this;} + ///@} + private: + + bool m_enabled; + bool m_enabledHasBeenSet = false; + + int m_protectionPeriodInMinutes; + bool m_protectionPeriodInMinutesHasBeenSet = false; + }; + +} // namespace Model +} // namespace AppConfig +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-appconfig/include/aws/appconfig/model/GetAccountSettingsRequest.h b/generated/src/aws-cpp-sdk-appconfig/include/aws/appconfig/model/GetAccountSettingsRequest.h new file mode 100644 index 00000000000..f2d9c9c5cf9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-appconfig/include/aws/appconfig/model/GetAccountSettingsRequest.h @@ -0,0 +1,36 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace AppConfig +{ +namespace Model +{ + + /** + */ + class GetAccountSettingsRequest : public AppConfigRequest + { + public: + AWS_APPCONFIG_API GetAccountSettingsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetAccountSettings"; } + + AWS_APPCONFIG_API Aws::String SerializePayload() const override; + + }; + +} // namespace Model +} // namespace AppConfig +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-appconfig/include/aws/appconfig/model/GetAccountSettingsResult.h b/generated/src/aws-cpp-sdk-appconfig/include/aws/appconfig/model/GetAccountSettingsResult.h new file mode 100644 index 00000000000..1e5e5fc439e --- /dev/null +++ b/generated/src/aws-cpp-sdk-appconfig/include/aws/appconfig/model/GetAccountSettingsResult.h @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace AppConfig +{ +namespace Model +{ + class GetAccountSettingsResult + { + public: + AWS_APPCONFIG_API GetAccountSettingsResult(); + AWS_APPCONFIG_API GetAccountSettingsResult(const Aws::AmazonWebServiceResult& result); + AWS_APPCONFIG_API GetAccountSettingsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

A parameter to configure deletion protection. If enabled, deletion protection + * prevents a user from deleting a configuration profile or an environment if + * AppConfig has called either GetLatestConfiguration + * or for the configuration profile or from the environment during the specified + * interval. Deletion protection is disabled by default. The default interval for + * ProtectionPeriodInMinutes is 60.

+ */ + inline const DeletionProtectionSettings& GetDeletionProtection() const{ return m_deletionProtection; } + inline void SetDeletionProtection(const DeletionProtectionSettings& value) { m_deletionProtection = value; } + inline void SetDeletionProtection(DeletionProtectionSettings&& value) { m_deletionProtection = std::move(value); } + inline GetAccountSettingsResult& WithDeletionProtection(const DeletionProtectionSettings& value) { SetDeletionProtection(value); return *this;} + inline GetAccountSettingsResult& WithDeletionProtection(DeletionProtectionSettings&& value) { SetDeletionProtection(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline GetAccountSettingsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline GetAccountSettingsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline GetAccountSettingsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + DeletionProtectionSettings m_deletionProtection; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace AppConfig +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-appconfig/include/aws/appconfig/model/UpdateAccountSettingsRequest.h b/generated/src/aws-cpp-sdk-appconfig/include/aws/appconfig/model/UpdateAccountSettingsRequest.h new file mode 100644 index 00000000000..b0772227f82 --- /dev/null +++ b/generated/src/aws-cpp-sdk-appconfig/include/aws/appconfig/model/UpdateAccountSettingsRequest.h @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace AppConfig +{ +namespace Model +{ + + /** + */ + class UpdateAccountSettingsRequest : public AppConfigRequest + { + public: + AWS_APPCONFIG_API UpdateAccountSettingsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "UpdateAccountSettings"; } + + AWS_APPCONFIG_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

A parameter to configure deletion protection. If enabled, deletion protection + * prevents a user from deleting a configuration profile or an environment if + * AppConfig has called either GetLatestConfiguration + * or for the configuration profile or from the environment during the specified + * interval. Deletion protection is disabled by default. The default interval for + * ProtectionPeriodInMinutes is 60.

+ */ + inline const DeletionProtectionSettings& GetDeletionProtection() const{ return m_deletionProtection; } + inline bool DeletionProtectionHasBeenSet() const { return m_deletionProtectionHasBeenSet; } + inline void SetDeletionProtection(const DeletionProtectionSettings& value) { m_deletionProtectionHasBeenSet = true; m_deletionProtection = value; } + inline void SetDeletionProtection(DeletionProtectionSettings&& value) { m_deletionProtectionHasBeenSet = true; m_deletionProtection = std::move(value); } + inline UpdateAccountSettingsRequest& WithDeletionProtection(const DeletionProtectionSettings& value) { SetDeletionProtection(value); return *this;} + inline UpdateAccountSettingsRequest& WithDeletionProtection(DeletionProtectionSettings&& value) { SetDeletionProtection(std::move(value)); return *this;} + ///@} + private: + + DeletionProtectionSettings m_deletionProtection; + bool m_deletionProtectionHasBeenSet = false; + }; + +} // namespace Model +} // namespace AppConfig +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-appconfig/include/aws/appconfig/model/UpdateAccountSettingsResult.h b/generated/src/aws-cpp-sdk-appconfig/include/aws/appconfig/model/UpdateAccountSettingsResult.h new file mode 100644 index 00000000000..67d49dcd582 --- /dev/null +++ b/generated/src/aws-cpp-sdk-appconfig/include/aws/appconfig/model/UpdateAccountSettingsResult.h @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace AppConfig +{ +namespace Model +{ + class UpdateAccountSettingsResult + { + public: + AWS_APPCONFIG_API UpdateAccountSettingsResult(); + AWS_APPCONFIG_API UpdateAccountSettingsResult(const Aws::AmazonWebServiceResult& result); + AWS_APPCONFIG_API UpdateAccountSettingsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

A parameter to configure deletion protection. If enabled, deletion protection + * prevents a user from deleting a configuration profile or an environment if + * AppConfig has called either GetLatestConfiguration + * or for the configuration profile or from the environment during the specified + * interval. Deletion protection is disabled by default. The default interval for + * ProtectionPeriodInMinutes is 60.

+ */ + inline const DeletionProtectionSettings& GetDeletionProtection() const{ return m_deletionProtection; } + inline void SetDeletionProtection(const DeletionProtectionSettings& value) { m_deletionProtection = value; } + inline void SetDeletionProtection(DeletionProtectionSettings&& value) { m_deletionProtection = std::move(value); } + inline UpdateAccountSettingsResult& WithDeletionProtection(const DeletionProtectionSettings& value) { SetDeletionProtection(value); return *this;} + inline UpdateAccountSettingsResult& WithDeletionProtection(DeletionProtectionSettings&& value) { SetDeletionProtection(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline UpdateAccountSettingsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline UpdateAccountSettingsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline UpdateAccountSettingsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + DeletionProtectionSettings m_deletionProtection; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace AppConfig +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-appconfig/include/aws/appconfig/model/Validator.h b/generated/src/aws-cpp-sdk-appconfig/include/aws/appconfig/model/Validator.h index 9a03703ea4e..872fc5fa198 100644 --- a/generated/src/aws-cpp-sdk-appconfig/include/aws/appconfig/model/Validator.h +++ b/generated/src/aws-cpp-sdk-appconfig/include/aws/appconfig/model/Validator.h @@ -29,8 +29,10 @@ namespace Model * configuration that you want to deploy functions as intended. To validate your * application configuration data, you provide a schema or an Amazon Web Services * Lambda function that runs against the configuration. The configuration - * deployment or update can only proceed when the configuration data is - * valid.

See Also:

About + * validators in the AppConfig User Guide.

See Also:

AWS * API Reference

*/ diff --git a/generated/src/aws-cpp-sdk-appconfig/source/AppConfigClient.cpp b/generated/src/aws-cpp-sdk-appconfig/source/AppConfigClient.cpp index d69ac7b079d..8e8d100bb7b 100644 --- a/generated/src/aws-cpp-sdk-appconfig/source/AppConfigClient.cpp +++ b/generated/src/aws-cpp-sdk-appconfig/source/AppConfigClient.cpp @@ -35,6 +35,7 @@ #include #include #include +#include #include #include #include @@ -56,6 +57,7 @@ #include #include #include +#include #include #include #include @@ -533,16 +535,16 @@ DeleteEnvironmentOutcome AppConfigClient::DeleteEnvironment(const DeleteEnvironm { AWS_OPERATION_GUARD(DeleteEnvironment); AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteEnvironment, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); - if (!request.ApplicationIdHasBeenSet()) - { - AWS_LOGSTREAM_ERROR("DeleteEnvironment", "Required field: ApplicationId, is not set"); - return DeleteEnvironmentOutcome(Aws::Client::AWSError(AppConfigErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ApplicationId]", false)); - } if (!request.EnvironmentIdHasBeenSet()) { AWS_LOGSTREAM_ERROR("DeleteEnvironment", "Required field: EnvironmentId, is not set"); return DeleteEnvironmentOutcome(Aws::Client::AWSError(AppConfigErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [EnvironmentId]", false)); } + if (!request.ApplicationIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteEnvironment", "Required field: ApplicationId, is not set"); + return DeleteEnvironmentOutcome(Aws::Client::AWSError(AppConfigErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ApplicationId]", false)); + } AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteEnvironment, CoreErrors, CoreErrors::NOT_INITIALIZED); auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); @@ -682,6 +684,33 @@ DeleteHostedConfigurationVersionOutcome AppConfigClient::DeleteHostedConfigurati {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +GetAccountSettingsOutcome AppConfigClient::GetAccountSettings(const GetAccountSettingsRequest& request) const +{ + AWS_OPERATION_GUARD(GetAccountSettings); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetAccountSettings, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetAccountSettings, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetAccountSettings, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetAccountSettings", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GetAccountSettingsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetAccountSettings, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/settings"); + return GetAccountSettingsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + GetApplicationOutcome AppConfigClient::GetApplication(const GetApplicationRequest& request) const { AWS_OPERATION_GUARD(GetApplication); @@ -1438,6 +1467,33 @@ UntagResourceOutcome AppConfigClient::UntagResource(const UntagResourceRequest& {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +UpdateAccountSettingsOutcome AppConfigClient::UpdateAccountSettings(const UpdateAccountSettingsRequest& request) const +{ + AWS_OPERATION_GUARD(UpdateAccountSettings); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UpdateAccountSettings, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UpdateAccountSettings, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UpdateAccountSettings, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UpdateAccountSettings", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> UpdateAccountSettingsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, UpdateAccountSettings, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/settings"); + return UpdateAccountSettingsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PATCH, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + UpdateApplicationOutcome AppConfigClient::UpdateApplication(const UpdateApplicationRequest& request) const { AWS_OPERATION_GUARD(UpdateApplication); diff --git a/generated/src/aws-cpp-sdk-appconfig/source/model/DeleteConfigurationProfileRequest.cpp b/generated/src/aws-cpp-sdk-appconfig/source/model/DeleteConfigurationProfileRequest.cpp index 2b311818e66..59ef1948960 100644 --- a/generated/src/aws-cpp-sdk-appconfig/source/model/DeleteConfigurationProfileRequest.cpp +++ b/generated/src/aws-cpp-sdk-appconfig/source/model/DeleteConfigurationProfileRequest.cpp @@ -5,6 +5,7 @@ #include #include +#include #include @@ -14,7 +15,9 @@ using namespace Aws::Utils; DeleteConfigurationProfileRequest::DeleteConfigurationProfileRequest() : m_applicationIdHasBeenSet(false), - m_configurationProfileIdHasBeenSet(false) + m_configurationProfileIdHasBeenSet(false), + m_deletionProtectionCheck(DeletionProtectionCheck::NOT_SET), + m_deletionProtectionCheckHasBeenSet(false) { } @@ -23,6 +26,19 @@ Aws::String DeleteConfigurationProfileRequest::SerializePayload() const return {}; } +Aws::Http::HeaderValueCollection DeleteConfigurationProfileRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_deletionProtectionCheckHasBeenSet && m_deletionProtectionCheck != DeletionProtectionCheck::NOT_SET) + { + headers.emplace("x-amzn-deletion-protection-check", DeletionProtectionCheckMapper::GetNameForDeletionProtectionCheck(m_deletionProtectionCheck)); + } + + return headers; + +} + diff --git a/generated/src/aws-cpp-sdk-appconfig/source/model/DeleteEnvironmentRequest.cpp b/generated/src/aws-cpp-sdk-appconfig/source/model/DeleteEnvironmentRequest.cpp index 8134cfed74d..311d263c747 100644 --- a/generated/src/aws-cpp-sdk-appconfig/source/model/DeleteEnvironmentRequest.cpp +++ b/generated/src/aws-cpp-sdk-appconfig/source/model/DeleteEnvironmentRequest.cpp @@ -5,6 +5,7 @@ #include #include +#include #include @@ -13,8 +14,10 @@ using namespace Aws::Utils::Json; using namespace Aws::Utils; DeleteEnvironmentRequest::DeleteEnvironmentRequest() : + m_environmentIdHasBeenSet(false), m_applicationIdHasBeenSet(false), - m_environmentIdHasBeenSet(false) + m_deletionProtectionCheck(DeletionProtectionCheck::NOT_SET), + m_deletionProtectionCheckHasBeenSet(false) { } @@ -23,6 +26,19 @@ Aws::String DeleteEnvironmentRequest::SerializePayload() const return {}; } +Aws::Http::HeaderValueCollection DeleteEnvironmentRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_deletionProtectionCheckHasBeenSet && m_deletionProtectionCheck != DeletionProtectionCheck::NOT_SET) + { + headers.emplace("x-amzn-deletion-protection-check", DeletionProtectionCheckMapper::GetNameForDeletionProtectionCheck(m_deletionProtectionCheck)); + } + + return headers; + +} + diff --git a/generated/src/aws-cpp-sdk-appconfig/source/model/DeletionProtectionCheck.cpp b/generated/src/aws-cpp-sdk-appconfig/source/model/DeletionProtectionCheck.cpp new file mode 100644 index 00000000000..d8a49da0b13 --- /dev/null +++ b/generated/src/aws-cpp-sdk-appconfig/source/model/DeletionProtectionCheck.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace AppConfig + { + namespace Model + { + namespace DeletionProtectionCheckMapper + { + + static const int ACCOUNT_DEFAULT_HASH = HashingUtils::HashString("ACCOUNT_DEFAULT"); + static const int APPLY_HASH = HashingUtils::HashString("APPLY"); + static const int BYPASS_HASH = HashingUtils::HashString("BYPASS"); + + + DeletionProtectionCheck GetDeletionProtectionCheckForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == ACCOUNT_DEFAULT_HASH) + { + return DeletionProtectionCheck::ACCOUNT_DEFAULT; + } + else if (hashCode == APPLY_HASH) + { + return DeletionProtectionCheck::APPLY; + } + else if (hashCode == BYPASS_HASH) + { + return DeletionProtectionCheck::BYPASS; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return DeletionProtectionCheck::NOT_SET; + } + + Aws::String GetNameForDeletionProtectionCheck(DeletionProtectionCheck enumValue) + { + switch(enumValue) + { + case DeletionProtectionCheck::NOT_SET: + return {}; + case DeletionProtectionCheck::ACCOUNT_DEFAULT: + return "ACCOUNT_DEFAULT"; + case DeletionProtectionCheck::APPLY: + return "APPLY"; + case DeletionProtectionCheck::BYPASS: + return "BYPASS"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace DeletionProtectionCheckMapper + } // namespace Model + } // namespace AppConfig +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-appconfig/source/model/DeletionProtectionSettings.cpp b/generated/src/aws-cpp-sdk-appconfig/source/model/DeletionProtectionSettings.cpp new file mode 100644 index 00000000000..ef2c09be3b2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-appconfig/source/model/DeletionProtectionSettings.cpp @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace AppConfig +{ +namespace Model +{ + +DeletionProtectionSettings::DeletionProtectionSettings() : + m_enabled(false), + m_enabledHasBeenSet(false), + m_protectionPeriodInMinutes(0), + m_protectionPeriodInMinutesHasBeenSet(false) +{ +} + +DeletionProtectionSettings::DeletionProtectionSettings(JsonView jsonValue) + : DeletionProtectionSettings() +{ + *this = jsonValue; +} + +DeletionProtectionSettings& DeletionProtectionSettings::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Enabled")) + { + m_enabled = jsonValue.GetBool("Enabled"); + + m_enabledHasBeenSet = true; + } + + if(jsonValue.ValueExists("ProtectionPeriodInMinutes")) + { + m_protectionPeriodInMinutes = jsonValue.GetInteger("ProtectionPeriodInMinutes"); + + m_protectionPeriodInMinutesHasBeenSet = true; + } + + return *this; +} + +JsonValue DeletionProtectionSettings::Jsonize() const +{ + JsonValue payload; + + if(m_enabledHasBeenSet) + { + payload.WithBool("Enabled", m_enabled); + + } + + if(m_protectionPeriodInMinutesHasBeenSet) + { + payload.WithInteger("ProtectionPeriodInMinutes", m_protectionPeriodInMinutes); + + } + + return payload; +} + +} // namespace Model +} // namespace AppConfig +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-appconfig/source/model/GetAccountSettingsRequest.cpp b/generated/src/aws-cpp-sdk-appconfig/source/model/GetAccountSettingsRequest.cpp new file mode 100644 index 00000000000..8df9555ccb0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-appconfig/source/model/GetAccountSettingsRequest.cpp @@ -0,0 +1,26 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::AppConfig::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +GetAccountSettingsRequest::GetAccountSettingsRequest() +{ +} + +Aws::String GetAccountSettingsRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-appconfig/source/model/GetAccountSettingsResult.cpp b/generated/src/aws-cpp-sdk-appconfig/source/model/GetAccountSettingsResult.cpp new file mode 100644 index 00000000000..b3c08cac498 --- /dev/null +++ b/generated/src/aws-cpp-sdk-appconfig/source/model/GetAccountSettingsResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::AppConfig::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetAccountSettingsResult::GetAccountSettingsResult() +{ +} + +GetAccountSettingsResult::GetAccountSettingsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetAccountSettingsResult& GetAccountSettingsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("DeletionProtection")) + { + m_deletionProtection = jsonValue.GetObject("DeletionProtection"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-appconfig/source/model/UpdateAccountSettingsRequest.cpp b/generated/src/aws-cpp-sdk-appconfig/source/model/UpdateAccountSettingsRequest.cpp new file mode 100644 index 00000000000..78c6eaad3c1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-appconfig/source/model/UpdateAccountSettingsRequest.cpp @@ -0,0 +1,35 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::AppConfig::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +UpdateAccountSettingsRequest::UpdateAccountSettingsRequest() : + m_deletionProtectionHasBeenSet(false) +{ +} + +Aws::String UpdateAccountSettingsRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_deletionProtectionHasBeenSet) + { + payload.WithObject("DeletionProtection", m_deletionProtection.Jsonize()); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-appconfig/source/model/UpdateAccountSettingsResult.cpp b/generated/src/aws-cpp-sdk-appconfig/source/model/UpdateAccountSettingsResult.cpp new file mode 100644 index 00000000000..6542fc62a03 --- /dev/null +++ b/generated/src/aws-cpp-sdk-appconfig/source/model/UpdateAccountSettingsResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::AppConfig::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UpdateAccountSettingsResult::UpdateAccountSettingsResult() +{ +} + +UpdateAccountSettingsResult::UpdateAccountSettingsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +UpdateAccountSettingsResult& UpdateAccountSettingsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("DeletionProtection")) + { + m_deletionProtection = jsonValue.GetObject("DeletionProtection"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-datazone/include/aws/datazone/DataZoneClient.h b/generated/src/aws-cpp-sdk-datazone/include/aws/datazone/DataZoneClient.h index 2fc3c56b296..3e886b13a72 100644 --- a/generated/src/aws-cpp-sdk-datazone/include/aws/datazone/DataZoneClient.h +++ b/generated/src/aws-cpp-sdk-datazone/include/aws/datazone/DataZoneClient.h @@ -843,7 +843,7 @@ namespace DataZone } /** - *

Deletes an data product in Amazon DataZone.

See Also:

Deletes a data product in Amazon DataZone.

See Also:

AWS * API Reference

*/ diff --git a/generated/src/aws-cpp-sdk-devicefarm/include/aws/devicefarm/model/Artifact.h b/generated/src/aws-cpp-sdk-devicefarm/include/aws/devicefarm/model/Artifact.h index d47e48ab7d0..463e4df1e11 100644 --- a/generated/src/aws-cpp-sdk-devicefarm/include/aws/devicefarm/model/Artifact.h +++ b/generated/src/aws-cpp-sdk-devicefarm/include/aws/devicefarm/model/Artifact.h @@ -75,15 +75,12 @@ namespace Model *

RESULT_LOG

  • SERVICE_LOG

  • WEBKIT_LOG

    *
  • INSTRUMENTATION_OUTPUT

  • EXERCISER_MONKEY_OUTPUT: * the artifact (log) generated by an Android fuzz test.

  • - *

    CALABASH_JSON_OUTPUT

  • CALABASH_PRETTY_OUTPUT

  • - *

    CALABASH_STANDARD_OUTPUT

  • CALABASH_JAVA_XML_OUTPUT

  • - *
  • AUTOMATION_OUTPUT

  • APPIUM_SERVER_OUTPUT

  • - *

    APPIUM_JAVA_OUTPUT

  • APPIUM_JAVA_XML_OUTPUT

  • - *

    APPIUM_PYTHON_OUTPUT

  • APPIUM_PYTHON_XML_OUTPUT

  • - *
  • EXPLORER_EVENT_LOG

  • EXPLORER_SUMMARY_LOG

  • - *

    APPLICATION_CRASH_REPORT

  • XCTEST_LOG

  • - *

    VIDEO

  • CUSTOMER_ARTIFACT

  • - *

    CUSTOMER_ARTIFACT_LOG

  • TESTSPEC_OUTPUT

  • + *

    APPIUM_SERVER_OUTPUT

  • APPIUM_JAVA_OUTPUT

  • + *

    APPIUM_JAVA_XML_OUTPUT

  • APPIUM_PYTHON_OUTPUT

  • + *

    APPIUM_PYTHON_XML_OUTPUT

  • APPLICATION_CRASH_REPORT

  • + *
  • XCTEST_LOG

  • VIDEO

  • + *

    CUSTOMER_ARTIFACT

  • CUSTOMER_ARTIFACT_LOG

  • + *

    TESTSPEC_OUTPUT

  • */ inline const ArtifactType& GetType() const{ return m_type; } inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-devicefarm/include/aws/devicefarm/model/CreateUploadRequest.h b/generated/src/aws-cpp-sdk-devicefarm/include/aws/devicefarm/model/CreateUploadRequest.h index e315ca0fbef..b354a2f8f79 100644 --- a/generated/src/aws-cpp-sdk-devicefarm/include/aws/devicefarm/model/CreateUploadRequest.h +++ b/generated/src/aws-cpp-sdk-devicefarm/include/aws/devicefarm/model/CreateUploadRequest.h @@ -83,14 +83,13 @@ namespace Model *

    APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE

  • *

    APPIUM_WEB_PYTHON_TEST_PACKAGE

  • *

    APPIUM_WEB_NODE_TEST_PACKAGE

  • - *

    APPIUM_WEB_RUBY_TEST_PACKAGE

  • CALABASH_TEST_PACKAGE

    - *
  • INSTRUMENTATION_TEST_PACKAGE

  • - *

    UIAUTOMATION_TEST_PACKAGE

  • UIAUTOMATOR_TEST_PACKAGE

    - *
  • XCTEST_TEST_PACKAGE

  • XCTEST_UI_TEST_PACKAGE

    - *
  • APPIUM_JAVA_JUNIT_TEST_SPEC

  • - *

    APPIUM_JAVA_TESTNG_TEST_SPEC

  • APPIUM_PYTHON_TEST_SPEC

    - *
  • APPIUM_NODE_TEST_SPEC

  • APPIUM_RUBY_TEST_SPEC

    - *
  • APPIUM_WEB_JAVA_JUNIT_TEST_SPEC

  • + *

    APPIUM_WEB_RUBY_TEST_PACKAGE

  • + *

    INSTRUMENTATION_TEST_PACKAGE

  • XCTEST_TEST_PACKAGE

  • + *
  • XCTEST_UI_TEST_PACKAGE

  • APPIUM_JAVA_JUNIT_TEST_SPEC

    + *
  • APPIUM_JAVA_TESTNG_TEST_SPEC

  • + *

    APPIUM_PYTHON_TEST_SPEC

  • APPIUM_NODE_TEST_SPEC

  • + *
  • APPIUM_RUBY_TEST_SPEC

  • + *

    APPIUM_WEB_JAVA_JUNIT_TEST_SPEC

  • *

    APPIUM_WEB_JAVA_TESTNG_TEST_SPEC

  • *

    APPIUM_WEB_PYTHON_TEST_SPEC

  • APPIUM_WEB_NODE_TEST_SPEC

    *
  • APPIUM_WEB_RUBY_TEST_SPEC

  • diff --git a/generated/src/aws-cpp-sdk-devicefarm/include/aws/devicefarm/model/GetDevicePoolCompatibilityRequest.h b/generated/src/aws-cpp-sdk-devicefarm/include/aws/devicefarm/model/GetDevicePoolCompatibilityRequest.h index c66b042446e..0ea0e6a092a 100644 --- a/generated/src/aws-cpp-sdk-devicefarm/include/aws/devicefarm/model/GetDevicePoolCompatibilityRequest.h +++ b/generated/src/aws-cpp-sdk-devicefarm/include/aws/devicefarm/model/GetDevicePoolCompatibilityRequest.h @@ -73,16 +73,13 @@ namespace Model /** *

    The test type for the specified device pool.

    Allowed values include * the following:

    • BUILTIN_FUZZ.

    • - *

      BUILTIN_EXPLORER. For Android, an app explorer that traverses an Android app, - * interacting with it and capturing screenshots at the same time.

    • *

      APPIUM_JAVA_JUNIT.

    • APPIUM_JAVA_TESTNG.

    • *

      APPIUM_PYTHON.

    • APPIUM_NODE.

    • *

      APPIUM_RUBY.

    • APPIUM_WEB_JAVA_JUNIT.

    • *

      APPIUM_WEB_JAVA_TESTNG.

    • APPIUM_WEB_PYTHON.

    • *

      APPIUM_WEB_NODE.

    • APPIUM_WEB_RUBY.

    • - *

      CALABASH.

    • INSTRUMENTATION.

    • - *

      UIAUTOMATION.

    • UIAUTOMATOR.

    • XCTEST.

      - *
    • XCTEST_UI.

    + *

    INSTRUMENTATION.

  • XCTEST.

  • XCTEST_UI.

    + *
  • */ inline const TestType& GetTestType() const{ return m_testType; } inline bool TestTypeHasBeenSet() const { return m_testTypeHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-devicefarm/include/aws/devicefarm/model/Job.h b/generated/src/aws-cpp-sdk-devicefarm/include/aws/devicefarm/model/Job.h index 6fd1cba2422..2295df46df5 100644 --- a/generated/src/aws-cpp-sdk-devicefarm/include/aws/devicefarm/model/Job.h +++ b/generated/src/aws-cpp-sdk-devicefarm/include/aws/devicefarm/model/Job.h @@ -75,17 +75,13 @@ namespace Model ///@{ /** *

    The job's type.

    Allowed values include the following:

    • - *

      BUILTIN_FUZZ

    • BUILTIN_EXPLORER. For Android, an app explorer - * that traverses an Android app, interacting with it and capturing screenshots at - * the same time.

    • APPIUM_JAVA_JUNIT

    • + *

      BUILTIN_FUZZ

    • APPIUM_JAVA_JUNIT

    • *

      APPIUM_JAVA_TESTNG

    • APPIUM_PYTHON

    • *

      APPIUM_NODE

    • APPIUM_RUBY

    • *

      APPIUM_WEB_JAVA_JUNIT

    • APPIUM_WEB_JAVA_TESTNG

    • *

      APPIUM_WEB_PYTHON

    • APPIUM_WEB_NODE

    • - *

      APPIUM_WEB_RUBY

    • CALABASH

    • - *

      INSTRUMENTATION

    • UIAUTOMATION

    • - *

      UIAUTOMATOR

    • XCTEST

    • XCTEST_UI

    • - *
    + *

    APPIUM_WEB_RUBY

  • INSTRUMENTATION

  • + *

    XCTEST

  • XCTEST_UI

  • */ inline const TestType& GetType() const{ return m_type; } inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-devicefarm/include/aws/devicefarm/model/ListUploadsRequest.h b/generated/src/aws-cpp-sdk-devicefarm/include/aws/devicefarm/model/ListUploadsRequest.h index 9a74c1d7a97..a83a5d79252 100644 --- a/generated/src/aws-cpp-sdk-devicefarm/include/aws/devicefarm/model/ListUploadsRequest.h +++ b/generated/src/aws-cpp-sdk-devicefarm/include/aws/devicefarm/model/ListUploadsRequest.h @@ -66,14 +66,13 @@ namespace Model *

    APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE

  • *

    APPIUM_WEB_PYTHON_TEST_PACKAGE

  • *

    APPIUM_WEB_NODE_TEST_PACKAGE

  • - *

    APPIUM_WEB_RUBY_TEST_PACKAGE

  • CALABASH_TEST_PACKAGE

    - *
  • INSTRUMENTATION_TEST_PACKAGE

  • - *

    UIAUTOMATION_TEST_PACKAGE

  • UIAUTOMATOR_TEST_PACKAGE

    - *
  • XCTEST_TEST_PACKAGE

  • XCTEST_UI_TEST_PACKAGE

    - *
  • APPIUM_JAVA_JUNIT_TEST_SPEC

  • - *

    APPIUM_JAVA_TESTNG_TEST_SPEC

  • APPIUM_PYTHON_TEST_SPEC

    - *
  • APPIUM_NODE_TEST_SPEC

  • APPIUM_RUBY_TEST_SPEC

    - *
  • APPIUM_WEB_JAVA_JUNIT_TEST_SPEC

  • + *

    APPIUM_WEB_RUBY_TEST_PACKAGE

  • + *

    INSTRUMENTATION_TEST_PACKAGE

  • XCTEST_TEST_PACKAGE

  • + *
  • XCTEST_UI_TEST_PACKAGE

  • APPIUM_JAVA_JUNIT_TEST_SPEC

    + *
  • APPIUM_JAVA_TESTNG_TEST_SPEC

  • + *

    APPIUM_PYTHON_TEST_SPEC

  • APPIUM_NODE_TEST_SPEC

  • + *
  • APPIUM_RUBY_TEST_SPEC

  • + *

    APPIUM_WEB_JAVA_JUNIT_TEST_SPEC

  • *

    APPIUM_WEB_JAVA_TESTNG_TEST_SPEC

  • *

    APPIUM_WEB_PYTHON_TEST_SPEC

  • APPIUM_WEB_NODE_TEST_SPEC

    *
  • APPIUM_WEB_RUBY_TEST_SPEC

  • diff --git a/generated/src/aws-cpp-sdk-devicefarm/include/aws/devicefarm/model/Run.h b/generated/src/aws-cpp-sdk-devicefarm/include/aws/devicefarm/model/Run.h index 4ec112b8a8b..b6b8d333295 100644 --- a/generated/src/aws-cpp-sdk-devicefarm/include/aws/devicefarm/model/Run.h +++ b/generated/src/aws-cpp-sdk-devicefarm/include/aws/devicefarm/model/Run.h @@ -84,17 +84,13 @@ namespace Model ///@{ /** *

    The run's type.

    Must be one of the following values:

    • - *

      BUILTIN_FUZZ

    • BUILTIN_EXPLORER

      For Android, an - * app explorer that traverses an Android app, interacting with it and capturing - * screenshots at the same time.

    • APPIUM_JAVA_JUNIT

      - *
    • APPIUM_JAVA_TESTNG

    • APPIUM_PYTHON

    • + *

      BUILTIN_FUZZ

    • APPIUM_JAVA_JUNIT

    • + *

      APPIUM_JAVA_TESTNG

    • APPIUM_PYTHON

    • *

      APPIUM_NODE

    • APPIUM_RUBY

    • *

      APPIUM_WEB_JAVA_JUNIT

    • APPIUM_WEB_JAVA_TESTNG

    • *

      APPIUM_WEB_PYTHON

    • APPIUM_WEB_NODE

    • - *

      APPIUM_WEB_RUBY

    • CALABASH

    • - *

      INSTRUMENTATION

    • UIAUTOMATION

    • - *

      UIAUTOMATOR

    • XCTEST

    • XCTEST_UI

    • - *
    + *

    APPIUM_WEB_RUBY

  • INSTRUMENTATION

  • + *

    XCTEST

  • XCTEST_UI

  • */ inline const TestType& GetType() const{ return m_type; } inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-devicefarm/include/aws/devicefarm/model/ScheduleRunTest.h b/generated/src/aws-cpp-sdk-devicefarm/include/aws/devicefarm/model/ScheduleRunTest.h index 5b47fde6df6..bf196e686e0 100644 --- a/generated/src/aws-cpp-sdk-devicefarm/include/aws/devicefarm/model/ScheduleRunTest.h +++ b/generated/src/aws-cpp-sdk-devicefarm/include/aws/devicefarm/model/ScheduleRunTest.h @@ -44,17 +44,13 @@ namespace Model ///@{ /** *

    The test's type.

    Must be one of the following values:

    • - *

      BUILTIN_FUZZ

    • BUILTIN_EXPLORER. For Android, an app explorer - * that traverses an Android app, interacting with it and capturing screenshots at - * the same time.

    • APPIUM_JAVA_JUNIT

    • + *

      BUILTIN_FUZZ

    • APPIUM_JAVA_JUNIT

    • *

      APPIUM_JAVA_TESTNG

    • APPIUM_PYTHON

    • *

      APPIUM_NODE

    • APPIUM_RUBY

    • *

      APPIUM_WEB_JAVA_JUNIT

    • APPIUM_WEB_JAVA_TESTNG

    • *

      APPIUM_WEB_PYTHON

    • APPIUM_WEB_NODE

    • - *

      APPIUM_WEB_RUBY

    • CALABASH

    • - *

      INSTRUMENTATION

    • UIAUTOMATION

    • - *

      UIAUTOMATOR

    • XCTEST

    • XCTEST_UI

    • - *
    + *

    APPIUM_WEB_RUBY

  • INSTRUMENTATION

  • + *

    XCTEST

  • XCTEST_UI

  • */ inline const TestType& GetType() const{ return m_type; } inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } @@ -112,43 +108,30 @@ namespace Model * settings. Parameters are represented by name-value pairs of strings.

    For * all tests:

    • app_performance_monitoring: * Performance monitoring is enabled by default. Set this parameter to false to - * disable it.

    For Calabash tests:

    • profile: A - * cucumber profile (for example, my_profile_name).

    • - *

      tags: You can limit execution to features or scenarios that have (or don't - * have) certain tags (for example, @smoke or @smoke,~@wip).

    For - * Appium tests (all types):

    • appium_version: The Appium version. - * Currently supported values are 1.6.5 (and later), latest, and default.

        - *
      • latest runs the latest Appium version supported by Device Farm - * (1.9.1).

      • For default, Device Farm selects a compatible version - * of Appium for the device. The current behavior is to run 1.7.2 on Android - * devices and iOS 9 and earlier and 1.7.2 for iOS 10 and later.

      • - *

        This behavior is subject to change.

    For fuzz - * tests (Android only):

    • event_count: The number of events, - * between 1 and 10000, that the UI fuzz test should perform.

    • - *

      throttle: The time, in ms, between 0 and 1000, that the UI fuzz test should - * wait between events.

    • seed: A seed to use for randomizing the - * UI fuzz test. Using the same seed value between tests ensures identical event - * sequences.

    For Explorer tests:

    • username: A - * user name to use if the Explorer encounters a login form. If not supplied, no - * user name is inserted.

    • password: A password to use if the - * Explorer encounters a login form. If not supplied, no password is inserted.

      - *

    For Instrumentation:

    • filter: A test filter - * string. Examples:

      • Running a single test case: - * com.android.abc.Test1

      • Running a single test: - * com.android.abc.Test1#smoke

      • Running multiple - * tests: com.android.abc.Test1,com.android.abc.Test2

      - *

    For XCTest and XCTestUI:

    • filter: A test filter - * string. Examples:

      • Running a single test class: + * disable it.

      For Appium tests (all types):

      • + *

        appium_version: The Appium version. Currently supported values are 1.6.5 (and + * later), latest, and default.

        • latest runs the latest Appium + * version supported by Device Farm (1.9.1).

        • For default, Device + * Farm selects a compatible version of Appium for the device. The current behavior + * is to run 1.7.2 on Android devices and iOS 9 and earlier and 1.7.2 for iOS 10 + * and later.

        • This behavior is subject to change.

        + *

      For fuzz tests (Android only):

      • event_count: The + * number of events, between 1 and 10000, that the UI fuzz test should perform.

        + *
      • throttle: The time, in ms, between 0 and 1000, that the UI fuzz + * test should wait between events.

      • seed: A seed to use for + * randomizing the UI fuzz test. Using the same seed value between tests ensures + * identical event sequences.

      For Instrumentation:

      • + *

        filter: A test filter string. Examples:

        • Running a single + * test case: com.android.abc.Test1

        • Running a + * single test: com.android.abc.Test1#smoke

        • Running + * multiple tests: com.android.abc.Test1,com.android.abc.Test2

          + *

      For XCTest and XCTestUI:

      • filter: A + * test filter string. Examples:

        • Running a single test class: * LoginTests

        • Running a multiple test classes: * LoginTests,SmokeTests

        • Running a single test: * LoginTests/testValid

        • Running multiple tests: * LoginTests/testValid,LoginTests/testInvalid

      • - *

      For UIAutomator:

      • filter: A test filter string. - * Examples:

        • Running a single test case: - * com.android.abc.Test1

        • Running a single test: - * com.android.abc.Test1#smoke

        • Running multiple - * tests: com.android.abc.Test1,com.android.abc.Test2

        - *
      + *
    */ inline const Aws::Map& GetParameters() const{ return m_parameters; } inline bool ParametersHasBeenSet() const { return m_parametersHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-devicefarm/include/aws/devicefarm/model/Suite.h b/generated/src/aws-cpp-sdk-devicefarm/include/aws/devicefarm/model/Suite.h index 9553189c8e3..7914df1e614 100644 --- a/generated/src/aws-cpp-sdk-devicefarm/include/aws/devicefarm/model/Suite.h +++ b/generated/src/aws-cpp-sdk-devicefarm/include/aws/devicefarm/model/Suite.h @@ -74,17 +74,13 @@ namespace Model ///@{ /** *

    The suite's type.

    Must be one of the following values:

    • - *

      BUILTIN_FUZZ

    • BUILTIN_EXPLORER

      Only available - * for Android; an app explorer that traverses an Android app, interacting with it - * and capturing screenshots at the same time.

    • - *

      APPIUM_JAVA_JUNIT

    • APPIUM_JAVA_TESTNG

    • - *

      APPIUM_PYTHON

    • APPIUM_NODE

    • APPIUM_RUBY

      - *
    • APPIUM_WEB_JAVA_JUNIT

    • APPIUM_WEB_JAVA_TESTNG

      - *
    • APPIUM_WEB_PYTHON

    • APPIUM_WEB_NODE

    • - *

      APPIUM_WEB_RUBY

    • CALABASH

    • - *

      INSTRUMENTATION

    • UIAUTOMATION

    • - *

      UIAUTOMATOR

    • XCTEST

    • XCTEST_UI

    • - *
    + *

    BUILTIN_FUZZ

  • APPIUM_JAVA_JUNIT

  • + *

    APPIUM_JAVA_TESTNG

  • APPIUM_PYTHON

  • + *

    APPIUM_NODE

  • APPIUM_RUBY

  • + *

    APPIUM_WEB_JAVA_JUNIT

  • APPIUM_WEB_JAVA_TESTNG

  • + *

    APPIUM_WEB_PYTHON

  • APPIUM_WEB_NODE

  • + *

    APPIUM_WEB_RUBY

  • INSTRUMENTATION

  • + *

    XCTEST

  • XCTEST_UI

  • */ inline const TestType& GetType() const{ return m_type; } inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-devicefarm/include/aws/devicefarm/model/Test.h b/generated/src/aws-cpp-sdk-devicefarm/include/aws/devicefarm/model/Test.h index c9360aa64a9..781f73b96d6 100644 --- a/generated/src/aws-cpp-sdk-devicefarm/include/aws/devicefarm/model/Test.h +++ b/generated/src/aws-cpp-sdk-devicefarm/include/aws/devicefarm/model/Test.h @@ -74,17 +74,13 @@ namespace Model ///@{ /** *

    The test's type.

    Must be one of the following values:

    • - *

      BUILTIN_FUZZ

    • BUILTIN_EXPLORER

      For Android, an - * app explorer that traverses an Android app, interacting with it and capturing - * screenshots at the same time.

    • APPIUM_JAVA_JUNIT

      - *
    • APPIUM_JAVA_TESTNG

    • APPIUM_PYTHON

    • + *

      BUILTIN_FUZZ

    • APPIUM_JAVA_JUNIT

    • + *

      APPIUM_JAVA_TESTNG

    • APPIUM_PYTHON

    • *

      APPIUM_NODE

    • APPIUM_RUBY

    • *

      APPIUM_WEB_JAVA_JUNIT

    • APPIUM_WEB_JAVA_TESTNG

    • *

      APPIUM_WEB_PYTHON

    • APPIUM_WEB_NODE

    • - *

      APPIUM_WEB_RUBY

    • CALABASH

    • - *

      INSTRUMENTATION

    • UIAUTOMATION

    • - *

      UIAUTOMATOR

    • XCTEST

    • XCTEST_UI

    • - *
    + *

    APPIUM_WEB_RUBY

  • INSTRUMENTATION

  • + *

    XCTEST

  • XCTEST_UI

  • */ inline const TestType& GetType() const{ return m_type; } inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-devicefarm/include/aws/devicefarm/model/TestType.h b/generated/src/aws-cpp-sdk-devicefarm/include/aws/devicefarm/model/TestType.h index a7bac64b4eb..6ca7cdfc496 100644 --- a/generated/src/aws-cpp-sdk-devicefarm/include/aws/devicefarm/model/TestType.h +++ b/generated/src/aws-cpp-sdk-devicefarm/include/aws/devicefarm/model/TestType.h @@ -17,8 +17,6 @@ namespace Model { NOT_SET, BUILTIN_FUZZ, - BUILTIN_EXPLORER, - WEB_PERFORMANCE_PROFILE, APPIUM_JAVA_JUNIT, APPIUM_JAVA_TESTNG, APPIUM_PYTHON, @@ -29,14 +27,9 @@ namespace Model APPIUM_WEB_PYTHON, APPIUM_WEB_NODE, APPIUM_WEB_RUBY, - CALABASH, INSTRUMENTATION, - UIAUTOMATION, - UIAUTOMATOR, XCTEST, - XCTEST_UI, - REMOTE_ACCESS_RECORD, - REMOTE_ACCESS_REPLAY + XCTEST_UI }; namespace TestTypeMapper diff --git a/generated/src/aws-cpp-sdk-devicefarm/include/aws/devicefarm/model/Upload.h b/generated/src/aws-cpp-sdk-devicefarm/include/aws/devicefarm/model/Upload.h index 1e886720244..9444f694a61 100644 --- a/generated/src/aws-cpp-sdk-devicefarm/include/aws/devicefarm/model/Upload.h +++ b/generated/src/aws-cpp-sdk-devicefarm/include/aws/devicefarm/model/Upload.h @@ -94,14 +94,13 @@ namespace Model *

    APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE

  • *

    APPIUM_WEB_PYTHON_TEST_PACKAGE

  • *

    APPIUM_WEB_NODE_TEST_PACKAGE

  • - *

    APPIUM_WEB_RUBY_TEST_PACKAGE

  • CALABASH_TEST_PACKAGE

    - *
  • INSTRUMENTATION_TEST_PACKAGE

  • - *

    UIAUTOMATION_TEST_PACKAGE

  • UIAUTOMATOR_TEST_PACKAGE

    - *
  • XCTEST_TEST_PACKAGE

  • XCTEST_UI_TEST_PACKAGE

    - *
  • APPIUM_JAVA_JUNIT_TEST_SPEC

  • - *

    APPIUM_JAVA_TESTNG_TEST_SPEC

  • APPIUM_PYTHON_TEST_SPEC

    - *
  • APPIUM_NODE_TEST_SPEC

  • APPIUM_RUBY_TEST_SPEC

    - *
  • APPIUM_WEB_JAVA_JUNIT_TEST_SPEC

  • + *

    APPIUM_WEB_RUBY_TEST_PACKAGE

  • + *

    INSTRUMENTATION_TEST_PACKAGE

  • XCTEST_TEST_PACKAGE

  • + *
  • XCTEST_UI_TEST_PACKAGE

  • APPIUM_JAVA_JUNIT_TEST_SPEC

    + *
  • APPIUM_JAVA_TESTNG_TEST_SPEC

  • + *

    APPIUM_PYTHON_TEST_SPEC

  • APPIUM_NODE_TEST_SPEC

  • + *
  • APPIUM_RUBY_TEST_SPEC

  • + *

    APPIUM_WEB_JAVA_JUNIT_TEST_SPEC

  • *

    APPIUM_WEB_JAVA_TESTNG_TEST_SPEC

  • *

    APPIUM_WEB_PYTHON_TEST_SPEC

  • APPIUM_WEB_NODE_TEST_SPEC

    *
  • APPIUM_WEB_RUBY_TEST_SPEC

  • diff --git a/generated/src/aws-cpp-sdk-devicefarm/source/model/TestType.cpp b/generated/src/aws-cpp-sdk-devicefarm/source/model/TestType.cpp index 8ba3bb64072..5bb524e75c8 100644 --- a/generated/src/aws-cpp-sdk-devicefarm/source/model/TestType.cpp +++ b/generated/src/aws-cpp-sdk-devicefarm/source/model/TestType.cpp @@ -21,8 +21,6 @@ namespace Aws { static const int BUILTIN_FUZZ_HASH = HashingUtils::HashString("BUILTIN_FUZZ"); - static const int BUILTIN_EXPLORER_HASH = HashingUtils::HashString("BUILTIN_EXPLORER"); - static const int WEB_PERFORMANCE_PROFILE_HASH = HashingUtils::HashString("WEB_PERFORMANCE_PROFILE"); static const int APPIUM_JAVA_JUNIT_HASH = HashingUtils::HashString("APPIUM_JAVA_JUNIT"); static const int APPIUM_JAVA_TESTNG_HASH = HashingUtils::HashString("APPIUM_JAVA_TESTNG"); static const int APPIUM_PYTHON_HASH = HashingUtils::HashString("APPIUM_PYTHON"); @@ -33,14 +31,9 @@ namespace Aws static const int APPIUM_WEB_PYTHON_HASH = HashingUtils::HashString("APPIUM_WEB_PYTHON"); static const int APPIUM_WEB_NODE_HASH = HashingUtils::HashString("APPIUM_WEB_NODE"); static const int APPIUM_WEB_RUBY_HASH = HashingUtils::HashString("APPIUM_WEB_RUBY"); - static const int CALABASH_HASH = HashingUtils::HashString("CALABASH"); static const int INSTRUMENTATION_HASH = HashingUtils::HashString("INSTRUMENTATION"); - static const int UIAUTOMATION_HASH = HashingUtils::HashString("UIAUTOMATION"); - static const int UIAUTOMATOR_HASH = HashingUtils::HashString("UIAUTOMATOR"); static const int XCTEST_HASH = HashingUtils::HashString("XCTEST"); static const int XCTEST_UI_HASH = HashingUtils::HashString("XCTEST_UI"); - static const int REMOTE_ACCESS_RECORD_HASH = HashingUtils::HashString("REMOTE_ACCESS_RECORD"); - static const int REMOTE_ACCESS_REPLAY_HASH = HashingUtils::HashString("REMOTE_ACCESS_REPLAY"); TestType GetTestTypeForName(const Aws::String& name) @@ -50,14 +43,6 @@ namespace Aws { return TestType::BUILTIN_FUZZ; } - else if (hashCode == BUILTIN_EXPLORER_HASH) - { - return TestType::BUILTIN_EXPLORER; - } - else if (hashCode == WEB_PERFORMANCE_PROFILE_HASH) - { - return TestType::WEB_PERFORMANCE_PROFILE; - } else if (hashCode == APPIUM_JAVA_JUNIT_HASH) { return TestType::APPIUM_JAVA_JUNIT; @@ -98,22 +83,10 @@ namespace Aws { return TestType::APPIUM_WEB_RUBY; } - else if (hashCode == CALABASH_HASH) - { - return TestType::CALABASH; - } else if (hashCode == INSTRUMENTATION_HASH) { return TestType::INSTRUMENTATION; } - else if (hashCode == UIAUTOMATION_HASH) - { - return TestType::UIAUTOMATION; - } - else if (hashCode == UIAUTOMATOR_HASH) - { - return TestType::UIAUTOMATOR; - } else if (hashCode == XCTEST_HASH) { return TestType::XCTEST; @@ -122,14 +95,6 @@ namespace Aws { return TestType::XCTEST_UI; } - else if (hashCode == REMOTE_ACCESS_RECORD_HASH) - { - return TestType::REMOTE_ACCESS_RECORD; - } - else if (hashCode == REMOTE_ACCESS_REPLAY_HASH) - { - return TestType::REMOTE_ACCESS_REPLAY; - } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -148,10 +113,6 @@ namespace Aws return {}; case TestType::BUILTIN_FUZZ: return "BUILTIN_FUZZ"; - case TestType::BUILTIN_EXPLORER: - return "BUILTIN_EXPLORER"; - case TestType::WEB_PERFORMANCE_PROFILE: - return "WEB_PERFORMANCE_PROFILE"; case TestType::APPIUM_JAVA_JUNIT: return "APPIUM_JAVA_JUNIT"; case TestType::APPIUM_JAVA_TESTNG: @@ -172,22 +133,12 @@ namespace Aws return "APPIUM_WEB_NODE"; case TestType::APPIUM_WEB_RUBY: return "APPIUM_WEB_RUBY"; - case TestType::CALABASH: - return "CALABASH"; case TestType::INSTRUMENTATION: return "INSTRUMENTATION"; - case TestType::UIAUTOMATION: - return "UIAUTOMATION"; - case TestType::UIAUTOMATOR: - return "UIAUTOMATOR"; case TestType::XCTEST: return "XCTEST"; case TestType::XCTEST_UI: return "XCTEST_UI"; - case TestType::REMOTE_ACCESS_RECORD: - return "REMOTE_ACCESS_RECORD"; - case TestType::REMOTE_ACCESS_REPLAY: - return "REMOTE_ACCESS_REPLAY"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/EC2Client.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/EC2Client.h index 60053b215a4..e0d6f7f13b0 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/EC2Client.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/EC2Client.h @@ -17292,43 +17292,50 @@ namespace EC2 *

    Registers an AMI. When you're creating an instance-store backed AMI, * registering the AMI is the final step in the creation process. For more * information about creating AMIs, see Create - * your own AMI in the Amazon Elastic Compute Cloud User Guide.

    - *

    For Amazon EBS-backed instances, CreateImage creates and - * registers the AMI in a single request, so you don't have to register the AMI - * yourself. We recommend that you always use CreateImage unless you have a - * specific reason to use RegisterImage.

    If needed, you can - * deregister an AMI at any time. Any modifications you make to an AMI backed by an - * instance store volume invalidates its registration. If you make changes to an - * image, deregister the previous image and register the new image.

    - * Register a snapshot of a root device volume

    You can use - * RegisterImage to create an Amazon EBS-backed Linux AMI from a - * snapshot of a root device volume. You specify the snapshot using a block device - * mapping. You can't set the encryption state of the volume using the block device - * mapping. If the snapshot is encrypted, or encryption by default is enabled, the - * root volume of an instance launched from the AMI is encrypted.

    For more - * information, see Create - * a Linux AMI from a snapshot and and Create + * an instance-store backed AMI in the Amazon EC2 User Guide.

    + *

    For Amazon EBS-backed instances, CreateImage creates and registers the + * AMI in a single request, so you don't have to register the AMI yourself. We + * recommend that you always use CreateImage unless you have a specific + * reason to use RegisterImage.

    If needed, you can deregister an AMI + * at any time. Any modifications you make to an AMI backed by an instance store + * volume invalidates its registration. If you make changes to an image, deregister + * the previous image and register the new image.

    Register a snapshot of + * a root device volume

    You can use RegisterImage to + * create an Amazon EBS-backed Linux AMI from a snapshot of a root device volume. + * You specify the snapshot using a block device mapping. You can't set the + * encryption state of the volume using the block device mapping. If the snapshot + * is encrypted, or encryption by default is enabled, the root volume of an + * instance launched from the AMI is encrypted.

    For more information, see Create + * an AMI from a snapshot and Use - * encryption with Amazon EBS-backed AMIs in the Amazon Elastic Compute - * Cloud User Guide.

    Amazon Web Services Marketplace product - * codes

    If any snapshots have Amazon Web Services Marketplace product - * codes, they are copied to the new AMI.

    Windows and some Linux - * distributions, such as Red Hat Enterprise Linux (RHEL) and SUSE Linux Enterprise - * Server (SLES), use the Amazon EC2 billing product code associated with an AMI to - * verify the subscription status for package updates. To create a new AMI for - * operating systems that require a billing product code, instead of registering - * the AMI, do the following to preserve the billing product code association:

    - *
    1. Launch an instance from an existing AMI with that billing product - * code.

    2. Customize the instance.

    3. Create an AMI - * from the instance using CreateImage.

    If you purchase a - * Reserved Instance to apply to an On-Demand Instance that was launched from an - * AMI with a billing product code, make sure that the Reserved Instance has the - * matching billing product code. If you purchase a Reserved Instance without the - * matching billing product code, the Reserved Instance will not be applied to the - * On-Demand Instance. For information about how to obtain the platform details and - * billing information of an AMI, see in the Amazon EC2 User + * Guide.

    Amazon Web Services Marketplace product codes

    + *

    If any snapshots have Amazon Web Services Marketplace product codes, they are + * copied to the new AMI.

    In most cases, AMIs for Windows, RedHat, SUSE, and + * SQL Server require correct licensing information to be present on the AMI. For + * more information, see Understand + * AMI billing information in the Amazon EC2 User Guide. When creating + * an AMI from a snapshot, the RegisterImage operation derives the + * correct billing information from the snapshot's metadata, but this requires the + * appropriate metadata to be present. To verify if the correct billing information + * was applied, check the PlatformDetails field on the new AMI. If the + * field is empty or doesn't match the expected operating system code (for example, + * Windows, RedHat, SUSE, or SQL), the AMI creation was unsuccessful, and you + * should discard the AMI and instead create the AMI from an instance using + * CreateImage. For more information, see Create + * an AMI from an instance in the Amazon EC2 User Guide.

    If you + * purchase a Reserved Instance to apply to an On-Demand Instance that was launched + * from an AMI with a billing product code, make sure that the Reserved Instance + * has the matching billing product code. If you purchase a Reserved Instance + * without the matching billing product code, the Reserved Instance will not be + * applied to the On-Demand Instance. For information about how to obtain the + * platform details and billing information of an AMI, see Understand * AMI billing information in the Amazon EC2 User Guide.

    See * Also:

    The ID of an IPAM pool.

    + */ + inline const Aws::String& GetIpamPoolId() const{ return m_ipamPoolId; } + inline bool IpamPoolIdHasBeenSet() const { return m_ipamPoolIdHasBeenSet; } + inline void SetIpamPoolId(const Aws::String& value) { m_ipamPoolIdHasBeenSet = true; m_ipamPoolId = value; } + inline void SetIpamPoolId(Aws::String&& value) { m_ipamPoolIdHasBeenSet = true; m_ipamPoolId = std::move(value); } + inline void SetIpamPoolId(const char* value) { m_ipamPoolIdHasBeenSet = true; m_ipamPoolId.assign(value); } + inline AllocateAddressRequest& WithIpamPoolId(const Aws::String& value) { SetIpamPoolId(value); return *this;} + inline AllocateAddressRequest& WithIpamPoolId(Aws::String&& value) { SetIpamPoolId(std::move(value)); return *this;} + inline AllocateAddressRequest& WithIpamPoolId(const char* value) { SetIpamPoolId(value); return *this;} + ///@} private: DomainType m_domain; @@ -163,6 +177,9 @@ namespace Model Aws::Vector m_tagSpecifications; bool m_tagSpecificationsHasBeenSet = false; + + Aws::String m_ipamPoolId; + bool m_ipamPoolIdHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/IpamPoolAllocationResourceType.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/IpamPoolAllocationResourceType.h index 9ab25f17676..81ad64a509e 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/IpamPoolAllocationResourceType.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/IpamPoolAllocationResourceType.h @@ -20,7 +20,8 @@ namespace Model vpc, ec2_public_ipv4_pool, custom, - subnet + subnet, + eip }; namespace IpamPoolAllocationResourceTypeMapper diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/IpamPublicAddressType.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/IpamPublicAddressType.h index d8e07b5b3f9..f1540c91a9a 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/IpamPublicAddressType.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/IpamPublicAddressType.h @@ -19,6 +19,7 @@ namespace Model service_managed_ip, service_managed_byoip, amazon_owned_eip, + amazon_owned_contig, byoip, ec2_public_ip }; diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/AllocateAddressRequest.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/AllocateAddressRequest.cpp index 4caf6bb335f..0980d7d207b 100644 --- a/generated/src/aws-cpp-sdk-ec2/source/model/AllocateAddressRequest.cpp +++ b/generated/src/aws-cpp-sdk-ec2/source/model/AllocateAddressRequest.cpp @@ -19,7 +19,8 @@ AllocateAddressRequest::AllocateAddressRequest() : m_customerOwnedIpv4PoolHasBeenSet(false), m_dryRun(false), m_dryRunHasBeenSet(false), - m_tagSpecificationsHasBeenSet(false) + m_tagSpecificationsHasBeenSet(false), + m_ipamPoolIdHasBeenSet(false) { } @@ -67,6 +68,11 @@ Aws::String AllocateAddressRequest::SerializePayload() const } } + if(m_ipamPoolIdHasBeenSet) + { + ss << "IpamPoolId=" << StringUtils::URLEncode(m_ipamPoolId.c_str()) << "&"; + } + ss << "Version=2016-11-15"; return ss.str(); } diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/IpamPoolAllocationResourceType.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/IpamPoolAllocationResourceType.cpp index b95277b83d0..99c30dd68f2 100644 --- a/generated/src/aws-cpp-sdk-ec2/source/model/IpamPoolAllocationResourceType.cpp +++ b/generated/src/aws-cpp-sdk-ec2/source/model/IpamPoolAllocationResourceType.cpp @@ -25,6 +25,7 @@ namespace Aws static const int ec2_public_ipv4_pool_HASH = HashingUtils::HashString("ec2-public-ipv4-pool"); static const int custom_HASH = HashingUtils::HashString("custom"); static const int subnet_HASH = HashingUtils::HashString("subnet"); + static const int eip_HASH = HashingUtils::HashString("eip"); IpamPoolAllocationResourceType GetIpamPoolAllocationResourceTypeForName(const Aws::String& name) @@ -50,6 +51,10 @@ namespace Aws { return IpamPoolAllocationResourceType::subnet; } + else if (hashCode == eip_HASH) + { + return IpamPoolAllocationResourceType::eip; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -76,6 +81,8 @@ namespace Aws return "custom"; case IpamPoolAllocationResourceType::subnet: return "subnet"; + case IpamPoolAllocationResourceType::eip: + return "eip"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/IpamPublicAddressType.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/IpamPublicAddressType.cpp index 10ff25c9fc9..6b325631cfd 100644 --- a/generated/src/aws-cpp-sdk-ec2/source/model/IpamPublicAddressType.cpp +++ b/generated/src/aws-cpp-sdk-ec2/source/model/IpamPublicAddressType.cpp @@ -23,6 +23,7 @@ namespace Aws static const int service_managed_ip_HASH = HashingUtils::HashString("service-managed-ip"); static const int service_managed_byoip_HASH = HashingUtils::HashString("service-managed-byoip"); static const int amazon_owned_eip_HASH = HashingUtils::HashString("amazon-owned-eip"); + static const int amazon_owned_contig_HASH = HashingUtils::HashString("amazon-owned-contig"); static const int byoip_HASH = HashingUtils::HashString("byoip"); static const int ec2_public_ip_HASH = HashingUtils::HashString("ec2-public-ip"); @@ -42,6 +43,10 @@ namespace Aws { return IpamPublicAddressType::amazon_owned_eip; } + else if (hashCode == amazon_owned_contig_HASH) + { + return IpamPublicAddressType::amazon_owned_contig; + } else if (hashCode == byoip_HASH) { return IpamPublicAddressType::byoip; @@ -72,6 +77,8 @@ namespace Aws return "service-managed-byoip"; case IpamPublicAddressType::amazon_owned_eip: return "amazon-owned-eip"; + case IpamPublicAddressType::amazon_owned_contig: + return "amazon-owned-contig"; case IpamPublicAddressType::byoip: return "byoip"; case IpamPublicAddressType::ec2_public_ip: diff --git a/generated/src/aws-cpp-sdk-internetmonitor/include/aws/internetmonitor/model/QueryType.h b/generated/src/aws-cpp-sdk-internetmonitor/include/aws/internetmonitor/model/QueryType.h index 553e5eec483..6df34b74d40 100644 --- a/generated/src/aws-cpp-sdk-internetmonitor/include/aws/internetmonitor/model/QueryType.h +++ b/generated/src/aws-cpp-sdk-internetmonitor/include/aws/internetmonitor/model/QueryType.h @@ -18,7 +18,9 @@ namespace Model NOT_SET, MEASUREMENTS, TOP_LOCATIONS, - TOP_LOCATION_DETAILS + TOP_LOCATION_DETAILS, + OVERALL_TRAFFIC_SUGGESTIONS, + OVERALL_TRAFFIC_SUGGESTIONS_DETAILS }; namespace QueryTypeMapper diff --git a/generated/src/aws-cpp-sdk-internetmonitor/include/aws/internetmonitor/model/StartQueryRequest.h b/generated/src/aws-cpp-sdk-internetmonitor/include/aws/internetmonitor/model/StartQueryRequest.h index 483f8e269c4..3f2dada7acc 100644 --- a/generated/src/aws-cpp-sdk-internetmonitor/include/aws/internetmonitor/model/StartQueryRequest.h +++ b/generated/src/aws-cpp-sdk-internetmonitor/include/aws/internetmonitor/model/StartQueryRequest.h @@ -87,8 +87,14 @@ namespace Model * and ASN combinations that you're monitoring, by traffic volume.

  • *

    TOP_LOCATION_DETAILS: Provides TTFB for Amazon CloudFront, your * current configuration, and the best performing EC2 configuration, at 1 hour - * intervals.

  • For lists of the fields returned with each query - * type and more information about how each type of query is performed, see

  • OVERALL_TRAFFIC_SUGGESTIONS: Provides + * TTFB, using a 30-day weighted average, for all traffic in each Amazon Web + * Services location that is monitored.

  • + * OVERALL_TRAFFIC_SUGGESTIONS_DETAILS: Provides TTFB, using a 30-day + * weighted average, for each top location, for a proposed Amazon Web Services + * location. Must provide a Amazon Web Services location to search.

  • + *

    For lists of the fields returned with each query type and more information + * about how each type of query is performed, see * Using the Amazon CloudWatch Internet Monitor query interface in the Amazon * CloudWatch Internet Monitor User Guide.

    diff --git a/generated/src/aws-cpp-sdk-internetmonitor/source/model/QueryType.cpp b/generated/src/aws-cpp-sdk-internetmonitor/source/model/QueryType.cpp index e6c7980cce6..923b6f25260 100644 --- a/generated/src/aws-cpp-sdk-internetmonitor/source/model/QueryType.cpp +++ b/generated/src/aws-cpp-sdk-internetmonitor/source/model/QueryType.cpp @@ -23,6 +23,8 @@ namespace Aws static const int MEASUREMENTS_HASH = HashingUtils::HashString("MEASUREMENTS"); static const int TOP_LOCATIONS_HASH = HashingUtils::HashString("TOP_LOCATIONS"); static const int TOP_LOCATION_DETAILS_HASH = HashingUtils::HashString("TOP_LOCATION_DETAILS"); + static const int OVERALL_TRAFFIC_SUGGESTIONS_HASH = HashingUtils::HashString("OVERALL_TRAFFIC_SUGGESTIONS"); + static const int OVERALL_TRAFFIC_SUGGESTIONS_DETAILS_HASH = HashingUtils::HashString("OVERALL_TRAFFIC_SUGGESTIONS_DETAILS"); QueryType GetQueryTypeForName(const Aws::String& name) @@ -40,6 +42,14 @@ namespace Aws { return QueryType::TOP_LOCATION_DETAILS; } + else if (hashCode == OVERALL_TRAFFIC_SUGGESTIONS_HASH) + { + return QueryType::OVERALL_TRAFFIC_SUGGESTIONS; + } + else if (hashCode == OVERALL_TRAFFIC_SUGGESTIONS_DETAILS_HASH) + { + return QueryType::OVERALL_TRAFFIC_SUGGESTIONS_DETAILS; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -62,6 +72,10 @@ namespace Aws return "TOP_LOCATIONS"; case QueryType::TOP_LOCATION_DETAILS: return "TOP_LOCATION_DETAILS"; + case QueryType::OVERALL_TRAFFIC_SUGGESTIONS: + return "OVERALL_TRAFFIC_SUGGESTIONS"; + case QueryType::OVERALL_TRAFFIC_SUGGESTIONS_DETAILS: + return "OVERALL_TRAFFIC_SUGGESTIONS_DETAILS"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-pcs/CMakeLists.txt b/generated/src/aws-cpp-sdk-pcs/CMakeLists.txt new file mode 100644 index 00000000000..fa1906f5116 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/CMakeLists.txt @@ -0,0 +1,76 @@ +add_project(aws-cpp-sdk-pcs "C++ SDK for the AWS pcs service" aws-cpp-sdk-core) + +file(GLOB AWS_PCS_HEADERS + "include/aws/pcs/*.h" +) + +file(GLOB AWS_PCS_MODEL_HEADERS + "include/aws/pcs/model/*.h" +) + +file(GLOB AWS_PCS_SOURCE + "source/*.cpp" +) + +file(GLOB AWS_PCS_MODEL_SOURCE + "source/model/*.cpp" +) + +file(GLOB PCS_UNIFIED_HEADERS + ${AWS_PCS_HEADERS} + ${AWS_PCS_MODEL_HEADERS} +) + +file(GLOB PCS_UNITY_SRC + ${AWS_PCS_SOURCE} + ${AWS_PCS_MODEL_SOURCE} +) + +if(ENABLE_UNITY_BUILD) + enable_unity_build("PCS" PCS_UNITY_SRC) +endif() + +file(GLOB PCS_SRC + ${PCS_UNIFIED_HEADERS} + ${PCS_UNITY_SRC} +) + +if(WIN32) + #if we are compiling for visual studio, create a sane directory tree. + if(MSVC) + source_group("Header Files\\aws\\pcs" FILES ${AWS_PCS_HEADERS}) + source_group("Header Files\\aws\\pcs\\model" FILES ${AWS_PCS_MODEL_HEADERS}) + source_group("Source Files" FILES ${AWS_PCS_SOURCE}) + source_group("Source Files\\model" FILES ${AWS_PCS_MODEL_SOURCE}) + endif(MSVC) +endif() + +set(PCS_INCLUDES + "${CMAKE_CURRENT_SOURCE_DIR}/include/" +) + +add_library(${PROJECT_NAME} ${PCS_SRC}) +add_library(AWS::${PROJECT_NAME} ALIAS ${PROJECT_NAME}) + +set_compiler_flags(${PROJECT_NAME}) +set_compiler_warnings(${PROJECT_NAME}) + +if(USE_WINDOWS_DLL_SEMANTICS AND BUILD_SHARED_LIBS) + target_compile_definitions(${PROJECT_NAME} PRIVATE "AWS_PCS_EXPORTS") +endif() + +target_include_directories(${PROJECT_NAME} PUBLIC + $ + $) + +target_link_libraries(${PROJECT_NAME} PRIVATE ${PLATFORM_DEP_LIBS} ${PROJECT_LIBS}) + + +setup_install() + +install (FILES ${AWS_PCS_HEADERS} DESTINATION ${INCLUDE_DIRECTORY}/aws/pcs) +install (FILES ${AWS_PCS_MODEL_HEADERS} DESTINATION ${INCLUDE_DIRECTORY}/aws/pcs/model) + +do_packaging() + + diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/PCSClient.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/PCSClient.h new file mode 100644 index 00000000000..99414302bf0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/PCSClient.h @@ -0,0 +1,613 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace PCS +{ + /** + *

    Amazon Web Services Parallel Computing Service (Amazon Web Services PCS) is a + * managed service that makes it easier for you to run and scale your high + * performance computing (HPC) workloads, and build scientific and engineering + * models on Amazon Web Services using Slurm. For more information, see the Amazon Web Services + * Parallel Computing Service User Guide.

    This reference describes the + * actions and data types of the service management API. You can use the Amazon Web + * Services SDKs to call the API actions in software, or use the Command Line + * Interface (CLI) to call the API actions manually. These API actions manage the + * service through an Amazon Web Services account.

    The API actions operate + * on Amazon Web Services PCS resources. A resource is an entity in Amazon + * Web Services that you can work with. Amazon Web Services services create + * resources when you use the features of the service. Examples of Amazon Web + * Services PCS resources include clusters, compute node groups, and queues. For + * more information about resources in Amazon Web Services, see Resource + * in the Resource Explorer User Guide.

    An Amazon Web Services PCS + * compute node is an Amazon EC2 instance. You don't launch compute nodes + * directly. Amazon Web Services PCS uses configuration information that you + * provide to launch compute nodes in your Amazon Web Services account. You receive + * billing charges for your running compute nodes. Amazon Web Services PCS + * automatically terminates your compute nodes when you delete the Amazon Web + * Services PCS resources related to those compute nodes.

    + */ + class AWS_PCS_API PCSClient : public Aws::Client::AWSJsonClient, public Aws::Client::ClientWithAsyncTemplateMethods + { + public: + typedef Aws::Client::AWSJsonClient BASECLASS; + static const char* GetServiceName(); + static const char* GetAllocationTag(); + + typedef PCSClientConfiguration ClientConfigurationType; + typedef PCSEndpointProvider EndpointProviderType; + + /** + * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + PCSClient(const Aws::PCS::PCSClientConfiguration& clientConfiguration = Aws::PCS::PCSClientConfiguration(), + std::shared_ptr endpointProvider = nullptr); + + /** + * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + PCSClient(const Aws::Auth::AWSCredentials& credentials, + std::shared_ptr endpointProvider = nullptr, + const Aws::PCS::PCSClientConfiguration& clientConfiguration = Aws::PCS::PCSClientConfiguration()); + + /** + * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, + * the default http client factory will be used + */ + PCSClient(const std::shared_ptr& credentialsProvider, + std::shared_ptr endpointProvider = nullptr, + const Aws::PCS::PCSClientConfiguration& clientConfiguration = Aws::PCS::PCSClientConfiguration()); + + + /* Legacy constructors due deprecation */ + /** + * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + PCSClient(const Aws::Client::ClientConfiguration& clientConfiguration); + + /** + * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + PCSClient(const Aws::Auth::AWSCredentials& credentials, + const Aws::Client::ClientConfiguration& clientConfiguration); + + /** + * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, + * the default http client factory will be used + */ + PCSClient(const std::shared_ptr& credentialsProvider, + const Aws::Client::ClientConfiguration& clientConfiguration); + + /* End of legacy constructors due deprecation */ + virtual ~PCSClient(); + + /** + *

    Creates a cluster in your account. Amazon Web Services PCS creates the + * cluster controller in a service-owned account. The cluster controller + * communicates with the cluster resources in your account. The subnets and + * security groups for the cluster must already exist before you use this API + * action.

    It takes time for Amazon Web Services PCS to create the + * cluster. The cluster is in a Creating state until it is ready to + * use. There can only be 1 cluster in a Creating state per Amazon Web + * Services Region per Amazon Web Services account. CreateCluster + * fails with a ServiceQuotaExceededException if there is already a + * cluster in a Creating state.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::CreateClusterOutcome CreateCluster(const Model::CreateClusterRequest& request) const; + + /** + * A Callable wrapper for CreateCluster that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CreateClusterOutcomeCallable CreateClusterCallable(const CreateClusterRequestT& request) const + { + return SubmitCallable(&PCSClient::CreateCluster, request); + } + + /** + * An Async wrapper for CreateCluster that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CreateClusterAsync(const CreateClusterRequestT& request, const CreateClusterResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&PCSClient::CreateCluster, request, handler, context); + } + + /** + *

    Creates a managed set of compute nodes. You associate a compute node group + * with a cluster through 1 or more Amazon Web Services PCS queues or as part of + * the login fleet. A compute node group includes the definition of the compute + * properties and lifecycle management. Amazon Web Services PCS uses the + * information you provide to this API action to launch compute nodes in your + * account. You can only specify subnets in the same Amazon VPC as your cluster. + * You receive billing charges for the compute nodes that Amazon Web Services PCS + * launches in your account. You must already have a launch template before you + * call this API. For more information, see Launch + * an instance from a launch template in the Amazon Elastic Compute Cloud + * User Guide for Linux Instances.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::CreateComputeNodeGroupOutcome CreateComputeNodeGroup(const Model::CreateComputeNodeGroupRequest& request) const; + + /** + * A Callable wrapper for CreateComputeNodeGroup that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CreateComputeNodeGroupOutcomeCallable CreateComputeNodeGroupCallable(const CreateComputeNodeGroupRequestT& request) const + { + return SubmitCallable(&PCSClient::CreateComputeNodeGroup, request); + } + + /** + * An Async wrapper for CreateComputeNodeGroup that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CreateComputeNodeGroupAsync(const CreateComputeNodeGroupRequestT& request, const CreateComputeNodeGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&PCSClient::CreateComputeNodeGroup, request, handler, context); + } + + /** + *

    Creates a job queue. You must associate 1 or more compute node groups with + * the queue. You can associate 1 compute node group with multiple + * queues.

    See Also:

    AWS API + * Reference

    + */ + virtual Model::CreateQueueOutcome CreateQueue(const Model::CreateQueueRequest& request) const; + + /** + * A Callable wrapper for CreateQueue that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CreateQueueOutcomeCallable CreateQueueCallable(const CreateQueueRequestT& request) const + { + return SubmitCallable(&PCSClient::CreateQueue, request); + } + + /** + * An Async wrapper for CreateQueue that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CreateQueueAsync(const CreateQueueRequestT& request, const CreateQueueResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&PCSClient::CreateQueue, request, handler, context); + } + + /** + *

    Deletes a cluster and all its linked resources. You must delete all queues + * and compute node groups associated with the cluster before you can delete the + * cluster.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::DeleteClusterOutcome DeleteCluster(const Model::DeleteClusterRequest& request) const; + + /** + * A Callable wrapper for DeleteCluster that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteClusterOutcomeCallable DeleteClusterCallable(const DeleteClusterRequestT& request) const + { + return SubmitCallable(&PCSClient::DeleteCluster, request); + } + + /** + * An Async wrapper for DeleteCluster that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteClusterAsync(const DeleteClusterRequestT& request, const DeleteClusterResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&PCSClient::DeleteCluster, request, handler, context); + } + + /** + *

    Deletes a compute node group. You must delete all queues associated with the + * compute node group first.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::DeleteComputeNodeGroupOutcome DeleteComputeNodeGroup(const Model::DeleteComputeNodeGroupRequest& request) const; + + /** + * A Callable wrapper for DeleteComputeNodeGroup that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteComputeNodeGroupOutcomeCallable DeleteComputeNodeGroupCallable(const DeleteComputeNodeGroupRequestT& request) const + { + return SubmitCallable(&PCSClient::DeleteComputeNodeGroup, request); + } + + /** + * An Async wrapper for DeleteComputeNodeGroup that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteComputeNodeGroupAsync(const DeleteComputeNodeGroupRequestT& request, const DeleteComputeNodeGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&PCSClient::DeleteComputeNodeGroup, request, handler, context); + } + + /** + *

    Deletes a job queue. If the compute node group associated with this queue + * isn't associated with any other queues, Amazon Web Services PCS terminates all + * the compute nodes for this queue.

    See Also:

    AWS API + * Reference

    + */ + virtual Model::DeleteQueueOutcome DeleteQueue(const Model::DeleteQueueRequest& request) const; + + /** + * A Callable wrapper for DeleteQueue that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteQueueOutcomeCallable DeleteQueueCallable(const DeleteQueueRequestT& request) const + { + return SubmitCallable(&PCSClient::DeleteQueue, request); + } + + /** + * An Async wrapper for DeleteQueue that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteQueueAsync(const DeleteQueueRequestT& request, const DeleteQueueResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&PCSClient::DeleteQueue, request, handler, context); + } + + /** + *

    Returns detailed information about a running cluster in your account. This + * API action provides networking information, endpoint information for + * communication with the scheduler, and provisioning status.

    See + * Also:

    AWS API + * Reference

    + */ + virtual Model::GetClusterOutcome GetCluster(const Model::GetClusterRequest& request) const; + + /** + * A Callable wrapper for GetCluster that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetClusterOutcomeCallable GetClusterCallable(const GetClusterRequestT& request) const + { + return SubmitCallable(&PCSClient::GetCluster, request); + } + + /** + * An Async wrapper for GetCluster that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetClusterAsync(const GetClusterRequestT& request, const GetClusterResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&PCSClient::GetCluster, request, handler, context); + } + + /** + *

    Returns detailed information about a compute node group. This API action + * provides networking information, EC2 instance type, compute node group status, + * and scheduler (such as Slurm) configuration.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::GetComputeNodeGroupOutcome GetComputeNodeGroup(const Model::GetComputeNodeGroupRequest& request) const; + + /** + * A Callable wrapper for GetComputeNodeGroup that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetComputeNodeGroupOutcomeCallable GetComputeNodeGroupCallable(const GetComputeNodeGroupRequestT& request) const + { + return SubmitCallable(&PCSClient::GetComputeNodeGroup, request); + } + + /** + * An Async wrapper for GetComputeNodeGroup that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetComputeNodeGroupAsync(const GetComputeNodeGroupRequestT& request, const GetComputeNodeGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&PCSClient::GetComputeNodeGroup, request, handler, context); + } + + /** + *

    Returns detailed information about a queue. The information includes the + * compute node groups that the queue uses to schedule jobs.

    See + * Also:

    AWS API + * Reference

    + */ + virtual Model::GetQueueOutcome GetQueue(const Model::GetQueueRequest& request) const; + + /** + * A Callable wrapper for GetQueue that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetQueueOutcomeCallable GetQueueCallable(const GetQueueRequestT& request) const + { + return SubmitCallable(&PCSClient::GetQueue, request); + } + + /** + * An Async wrapper for GetQueue that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetQueueAsync(const GetQueueRequestT& request, const GetQueueResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&PCSClient::GetQueue, request, handler, context); + } + + /** + *

    Returns a list of running clusters in your account.

    See Also:

    + * AWS + * API Reference

    + */ + virtual Model::ListClustersOutcome ListClusters(const Model::ListClustersRequest& request = {}) const; + + /** + * A Callable wrapper for ListClusters that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListClustersOutcomeCallable ListClustersCallable(const ListClustersRequestT& request = {}) const + { + return SubmitCallable(&PCSClient::ListClusters, request); + } + + /** + * An Async wrapper for ListClusters that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListClustersAsync(const ListClustersResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const ListClustersRequestT& request = {}) const + { + return SubmitAsync(&PCSClient::ListClusters, request, handler, context); + } + + /** + *

    Returns a list of all compute node groups associated with a + * cluster.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::ListComputeNodeGroupsOutcome ListComputeNodeGroups(const Model::ListComputeNodeGroupsRequest& request) const; + + /** + * A Callable wrapper for ListComputeNodeGroups that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListComputeNodeGroupsOutcomeCallable ListComputeNodeGroupsCallable(const ListComputeNodeGroupsRequestT& request) const + { + return SubmitCallable(&PCSClient::ListComputeNodeGroups, request); + } + + /** + * An Async wrapper for ListComputeNodeGroups that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListComputeNodeGroupsAsync(const ListComputeNodeGroupsRequestT& request, const ListComputeNodeGroupsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&PCSClient::ListComputeNodeGroups, request, handler, context); + } + + /** + *

    Returns a list of all queues associated with a cluster.

    See + * Also:

    AWS API + * Reference

    + */ + virtual Model::ListQueuesOutcome ListQueues(const Model::ListQueuesRequest& request) const; + + /** + * A Callable wrapper for ListQueues that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListQueuesOutcomeCallable ListQueuesCallable(const ListQueuesRequestT& request) const + { + return SubmitCallable(&PCSClient::ListQueues, request); + } + + /** + * An Async wrapper for ListQueues that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListQueuesAsync(const ListQueuesRequestT& request, const ListQueuesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&PCSClient::ListQueues, request, handler, context); + } + + /** + *

    Returns a list of all tags on an Amazon Web Services PCS + * resource.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const; + + /** + * A Callable wrapper for ListTagsForResource that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const ListTagsForResourceRequestT& request) const + { + return SubmitCallable(&PCSClient::ListTagsForResource, request); + } + + /** + * An Async wrapper for ListTagsForResource that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListTagsForResourceAsync(const ListTagsForResourceRequestT& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&PCSClient::ListTagsForResource, request, handler, context); + } + + /** + *

    This API action isn't intended for you to use.

    + *

    Amazon Web Services PCS uses this API action to register the compute nodes it + * launches in your account.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::RegisterComputeNodeGroupInstanceOutcome RegisterComputeNodeGroupInstance(const Model::RegisterComputeNodeGroupInstanceRequest& request) const; + + /** + * A Callable wrapper for RegisterComputeNodeGroupInstance that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::RegisterComputeNodeGroupInstanceOutcomeCallable RegisterComputeNodeGroupInstanceCallable(const RegisterComputeNodeGroupInstanceRequestT& request) const + { + return SubmitCallable(&PCSClient::RegisterComputeNodeGroupInstance, request); + } + + /** + * An Async wrapper for RegisterComputeNodeGroupInstance that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void RegisterComputeNodeGroupInstanceAsync(const RegisterComputeNodeGroupInstanceRequestT& request, const RegisterComputeNodeGroupInstanceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&PCSClient::RegisterComputeNodeGroupInstance, request, handler, context); + } + + /** + *

    Adds or edits tags on an Amazon Web Services PCS resource. Each tag consists + * of a tag key and a tag value. The tag key and tag value are case-sensitive + * strings. The tag value can be an empty (null) string. To add a tag, specify a + * new tag key and a tag value. To edit a tag, specify an existing tag key and a + * new tag value.

    See Also:

    AWS API + * Reference

    + */ + virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const; + + /** + * A Callable wrapper for TagResource that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::TagResourceOutcomeCallable TagResourceCallable(const TagResourceRequestT& request) const + { + return SubmitCallable(&PCSClient::TagResource, request); + } + + /** + * An Async wrapper for TagResource that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void TagResourceAsync(const TagResourceRequestT& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&PCSClient::TagResource, request, handler, context); + } + + /** + *

    Deletes tags from an Amazon Web Services PCS resource. To delete a tag, + * specify the tag key and the Amazon Resource Name (ARN) of the Amazon Web + * Services PCS resource.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const; + + /** + * A Callable wrapper for UntagResource that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UntagResourceOutcomeCallable UntagResourceCallable(const UntagResourceRequestT& request) const + { + return SubmitCallable(&PCSClient::UntagResource, request); + } + + /** + * An Async wrapper for UntagResource that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UntagResourceAsync(const UntagResourceRequestT& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&PCSClient::UntagResource, request, handler, context); + } + + /** + *

    Updates a compute node group. You can update many of the fields related to + * your compute node group including the configurations for networking, compute + * nodes, and settings specific to your scheduler (such as Slurm).

    See + * Also:

    AWS + * API Reference

    + */ + virtual Model::UpdateComputeNodeGroupOutcome UpdateComputeNodeGroup(const Model::UpdateComputeNodeGroupRequest& request) const; + + /** + * A Callable wrapper for UpdateComputeNodeGroup that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UpdateComputeNodeGroupOutcomeCallable UpdateComputeNodeGroupCallable(const UpdateComputeNodeGroupRequestT& request) const + { + return SubmitCallable(&PCSClient::UpdateComputeNodeGroup, request); + } + + /** + * An Async wrapper for UpdateComputeNodeGroup that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UpdateComputeNodeGroupAsync(const UpdateComputeNodeGroupRequestT& request, const UpdateComputeNodeGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&PCSClient::UpdateComputeNodeGroup, request, handler, context); + } + + /** + *

    Updates the compute node group configuration of a queue. Use this API to + * change the compute node groups that the queue can send jobs to.

    See + * Also:

    AWS API + * Reference

    + */ + virtual Model::UpdateQueueOutcome UpdateQueue(const Model::UpdateQueueRequest& request) const; + + /** + * A Callable wrapper for UpdateQueue that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UpdateQueueOutcomeCallable UpdateQueueCallable(const UpdateQueueRequestT& request) const + { + return SubmitCallable(&PCSClient::UpdateQueue, request); + } + + /** + * An Async wrapper for UpdateQueue that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UpdateQueueAsync(const UpdateQueueRequestT& request, const UpdateQueueResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&PCSClient::UpdateQueue, request, handler, context); + } + + + void OverrideEndpoint(const Aws::String& endpoint); + std::shared_ptr& accessEndpointProvider(); + private: + friend class Aws::Client::ClientWithAsyncTemplateMethods; + void init(const PCSClientConfiguration& clientConfiguration); + + PCSClientConfiguration m_clientConfiguration; + std::shared_ptr m_endpointProvider; + }; + +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/PCSEndpointProvider.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/PCSEndpointProvider.h new file mode 100644 index 00000000000..164b76d3e99 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/PCSEndpointProvider.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +#include + + +namespace Aws +{ +namespace PCS +{ +namespace Endpoint +{ +using EndpointParameters = Aws::Endpoint::EndpointParameters; +using Aws::Endpoint::EndpointProviderBase; +using Aws::Endpoint::DefaultEndpointProvider; + +using PCSClientContextParameters = Aws::Endpoint::ClientContextParameters; + +using PCSClientConfiguration = Aws::Client::GenericClientConfiguration; +using PCSBuiltInParameters = Aws::Endpoint::BuiltInParameters; + +/** + * The type for the PCS Client Endpoint Provider. + * Inherit from this Base class / "Interface" should you want to provide a custom endpoint provider. + * The SDK must use service-specific type for each service per specification. + */ +using PCSEndpointProviderBase = + EndpointProviderBase; + +using PCSDefaultEpProviderBase = + DefaultEndpointProvider; + +/** + * Default endpoint provider used for this service + */ +class AWS_PCS_API PCSEndpointProvider : public PCSDefaultEpProviderBase +{ +public: + using PCSResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + + PCSEndpointProvider() + : PCSDefaultEpProviderBase(Aws::PCS::PCSEndpointRules::GetRulesBlob(), Aws::PCS::PCSEndpointRules::RulesBlobSize) + {} + + ~PCSEndpointProvider() + { + } +}; +} // namespace Endpoint +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/PCSEndpointRules.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/PCSEndpointRules.h new file mode 100644 index 00000000000..f9b800e0e61 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/PCSEndpointRules.h @@ -0,0 +1,23 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace PCS +{ +class PCSEndpointRules +{ +public: + static const size_t RulesBlobStrLen; + static const size_t RulesBlobSize; + + static const char* GetRulesBlob(); +}; +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/PCSErrorMarshaller.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/PCSErrorMarshaller.h new file mode 100644 index 00000000000..432a00a032d --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/PCSErrorMarshaller.h @@ -0,0 +1,23 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws +{ +namespace Client +{ + +class AWS_PCS_API PCSErrorMarshaller : public Aws::Client::JsonErrorMarshaller +{ +public: + Aws::Client::AWSError FindErrorByName(const char* exceptionName) const override; +}; + +} // namespace Client +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/PCSErrors.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/PCSErrors.h new file mode 100644 index 00000000000..fec0ebef38f --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/PCSErrors.h @@ -0,0 +1,74 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include +#include + +namespace Aws +{ +namespace PCS +{ +enum class PCSErrors +{ + //From Core// + ////////////////////////////////////////////////////////////////////////////////////////// + INCOMPLETE_SIGNATURE = 0, + INTERNAL_FAILURE = 1, + INVALID_ACTION = 2, + INVALID_CLIENT_TOKEN_ID = 3, + INVALID_PARAMETER_COMBINATION = 4, + INVALID_QUERY_PARAMETER = 5, + INVALID_PARAMETER_VALUE = 6, + MISSING_ACTION = 7, // SDK should never allow + MISSING_AUTHENTICATION_TOKEN = 8, // SDK should never allow + MISSING_PARAMETER = 9, // SDK should never allow + OPT_IN_REQUIRED = 10, + REQUEST_EXPIRED = 11, + SERVICE_UNAVAILABLE = 12, + THROTTLING = 13, + VALIDATION = 14, + ACCESS_DENIED = 15, + RESOURCE_NOT_FOUND = 16, + UNRECOGNIZED_CLIENT = 17, + MALFORMED_QUERY_STRING = 18, + SLOW_DOWN = 19, + REQUEST_TIME_TOO_SKEWED = 20, + INVALID_SIGNATURE = 21, + SIGNATURE_DOES_NOT_MATCH = 22, + INVALID_ACCESS_KEY_ID = 23, + REQUEST_TIMEOUT = 24, + NETWORK_CONNECTION = 99, + + UNKNOWN = 100, + /////////////////////////////////////////////////////////////////////////////////////////// + + CONFLICT= static_cast(Aws::Client::CoreErrors::SERVICE_EXTENSION_START_RANGE) + 1, + INTERNAL_SERVER, + SERVICE_QUOTA_EXCEEDED +}; + +class AWS_PCS_API PCSError : public Aws::Client::AWSError +{ +public: + PCSError() {} + PCSError(const Aws::Client::AWSError& rhs) : Aws::Client::AWSError(rhs) {} + PCSError(Aws::Client::AWSError&& rhs) : Aws::Client::AWSError(rhs) {} + PCSError(const Aws::Client::AWSError& rhs) : Aws::Client::AWSError(rhs) {} + PCSError(Aws::Client::AWSError&& rhs) : Aws::Client::AWSError(rhs) {} + + template + T GetModeledError(); +}; + +namespace PCSErrorMapper +{ + AWS_PCS_API Aws::Client::AWSError GetErrorForName(const char* errorName); +} + +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/PCSRequest.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/PCSRequest.h new file mode 100644 index 00000000000..07bcc65bd20 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/PCSRequest.h @@ -0,0 +1,46 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace PCS +{ + class AWS_PCS_API PCSRequest : public Aws::AmazonSerializableWebServiceRequest + { + public: + using EndpointParameter = Aws::Endpoint::EndpointParameter; + using EndpointParameters = Aws::Endpoint::EndpointParameters; + + virtual ~PCSRequest () {} + + void AddParametersToRequest(Aws::Http::HttpRequest& httpRequest) const { AWS_UNREFERENCED_PARAM(httpRequest); } + + inline Aws::Http::HeaderValueCollection GetHeaders() const override + { + auto headers = GetRequestSpecificHeaders(); + + if(headers.size() == 0 || (headers.size() > 0 && headers.count(Aws::Http::CONTENT_TYPE_HEADER) == 0)) + { + headers.emplace(Aws::Http::HeaderValuePair(Aws::Http::CONTENT_TYPE_HEADER, Aws::AMZN_JSON_CONTENT_TYPE_1_0 )); + } + headers.emplace(Aws::Http::HeaderValuePair(Aws::Http::API_VERSION_HEADER, "2023-02-10")); + return headers; + } + + protected: + virtual Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const { return Aws::Http::HeaderValueCollection(); } + + }; + + +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/PCSServiceClientModel.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/PCSServiceClientModel.h new file mode 100644 index 00000000000..2fa090df6d9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/PCSServiceClientModel.h @@ -0,0 +1,165 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +/* Generic header includes */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +/* End of generic header includes */ + +/* Service model headers required in PCSClient header */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +/* End of service model headers required in PCSClient header */ + +namespace Aws +{ + namespace Http + { + class HttpClient; + class HttpClientFactory; + } // namespace Http + + namespace Utils + { + template< typename R, typename E> class Outcome; + + namespace Threading + { + class Executor; + } // namespace Threading + } // namespace Utils + + namespace Auth + { + class AWSCredentials; + class AWSCredentialsProvider; + } // namespace Auth + + namespace Client + { + class RetryStrategy; + } // namespace Client + + namespace PCS + { + using PCSClientConfiguration = Aws::Client::GenericClientConfiguration; + using PCSEndpointProviderBase = Aws::PCS::Endpoint::PCSEndpointProviderBase; + using PCSEndpointProvider = Aws::PCS::Endpoint::PCSEndpointProvider; + + namespace Model + { + /* Service model forward declarations required in PCSClient header */ + class CreateClusterRequest; + class CreateComputeNodeGroupRequest; + class CreateQueueRequest; + class DeleteClusterRequest; + class DeleteComputeNodeGroupRequest; + class DeleteQueueRequest; + class GetClusterRequest; + class GetComputeNodeGroupRequest; + class GetQueueRequest; + class ListClustersRequest; + class ListComputeNodeGroupsRequest; + class ListQueuesRequest; + class ListTagsForResourceRequest; + class RegisterComputeNodeGroupInstanceRequest; + class TagResourceRequest; + class UntagResourceRequest; + class UpdateComputeNodeGroupRequest; + class UpdateQueueRequest; + /* End of service model forward declarations required in PCSClient header */ + + /* Service model Outcome class definitions */ + typedef Aws::Utils::Outcome CreateClusterOutcome; + typedef Aws::Utils::Outcome CreateComputeNodeGroupOutcome; + typedef Aws::Utils::Outcome CreateQueueOutcome; + typedef Aws::Utils::Outcome DeleteClusterOutcome; + typedef Aws::Utils::Outcome DeleteComputeNodeGroupOutcome; + typedef Aws::Utils::Outcome DeleteQueueOutcome; + typedef Aws::Utils::Outcome GetClusterOutcome; + typedef Aws::Utils::Outcome GetComputeNodeGroupOutcome; + typedef Aws::Utils::Outcome GetQueueOutcome; + typedef Aws::Utils::Outcome ListClustersOutcome; + typedef Aws::Utils::Outcome ListComputeNodeGroupsOutcome; + typedef Aws::Utils::Outcome ListQueuesOutcome; + typedef Aws::Utils::Outcome ListTagsForResourceOutcome; + typedef Aws::Utils::Outcome RegisterComputeNodeGroupInstanceOutcome; + typedef Aws::Utils::Outcome TagResourceOutcome; + typedef Aws::Utils::Outcome UntagResourceOutcome; + typedef Aws::Utils::Outcome UpdateComputeNodeGroupOutcome; + typedef Aws::Utils::Outcome UpdateQueueOutcome; + /* End of service model Outcome class definitions */ + + /* Service model Outcome callable definitions */ + typedef std::future CreateClusterOutcomeCallable; + typedef std::future CreateComputeNodeGroupOutcomeCallable; + typedef std::future CreateQueueOutcomeCallable; + typedef std::future DeleteClusterOutcomeCallable; + typedef std::future DeleteComputeNodeGroupOutcomeCallable; + typedef std::future DeleteQueueOutcomeCallable; + typedef std::future GetClusterOutcomeCallable; + typedef std::future GetComputeNodeGroupOutcomeCallable; + typedef std::future GetQueueOutcomeCallable; + typedef std::future ListClustersOutcomeCallable; + typedef std::future ListComputeNodeGroupsOutcomeCallable; + typedef std::future ListQueuesOutcomeCallable; + typedef std::future ListTagsForResourceOutcomeCallable; + typedef std::future RegisterComputeNodeGroupInstanceOutcomeCallable; + typedef std::future TagResourceOutcomeCallable; + typedef std::future UntagResourceOutcomeCallable; + typedef std::future UpdateComputeNodeGroupOutcomeCallable; + typedef std::future UpdateQueueOutcomeCallable; + /* End of service model Outcome callable definitions */ + } // namespace Model + + class PCSClient; + + /* Service model async handlers definitions */ + typedef std::function&) > CreateClusterResponseReceivedHandler; + typedef std::function&) > CreateComputeNodeGroupResponseReceivedHandler; + typedef std::function&) > CreateQueueResponseReceivedHandler; + typedef std::function&) > DeleteClusterResponseReceivedHandler; + typedef std::function&) > DeleteComputeNodeGroupResponseReceivedHandler; + typedef std::function&) > DeleteQueueResponseReceivedHandler; + typedef std::function&) > GetClusterResponseReceivedHandler; + typedef std::function&) > GetComputeNodeGroupResponseReceivedHandler; + typedef std::function&) > GetQueueResponseReceivedHandler; + typedef std::function&) > ListClustersResponseReceivedHandler; + typedef std::function&) > ListComputeNodeGroupsResponseReceivedHandler; + typedef std::function&) > ListQueuesResponseReceivedHandler; + typedef std::function&) > ListTagsForResourceResponseReceivedHandler; + typedef std::function&) > RegisterComputeNodeGroupInstanceResponseReceivedHandler; + typedef std::function&) > TagResourceResponseReceivedHandler; + typedef std::function&) > UntagResourceResponseReceivedHandler; + typedef std::function&) > UpdateComputeNodeGroupResponseReceivedHandler; + typedef std::function&) > UpdateQueueResponseReceivedHandler; + /* End of service model async handlers definitions */ + } // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/PCS_EXPORTS.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/PCS_EXPORTS.h new file mode 100644 index 00000000000..0934def9ad5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/PCS_EXPORTS.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#ifdef _MSC_VER + //disable windows complaining about max template size. + #pragma warning (disable : 4503) +#endif // _MSC_VER + +#if defined (USE_WINDOWS_DLL_SEMANTICS) || defined (_WIN32) + #ifdef _MSC_VER + #pragma warning(disable : 4251) + #endif // _MSC_VER + + #ifdef USE_IMPORT_EXPORT + #ifdef AWS_PCS_EXPORTS + #define AWS_PCS_API __declspec(dllexport) + #else + #define AWS_PCS_API __declspec(dllimport) + #endif /* AWS_PCS_EXPORTS */ + #define AWS_PCS_EXTERN + #else + #define AWS_PCS_API + #define AWS_PCS_EXTERN extern + #endif // USE_IMPORT_EXPORT +#else // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32) + #define AWS_PCS_API + #define AWS_PCS_EXTERN extern +#endif // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32) diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/Cluster.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/Cluster.h new file mode 100644 index 00000000000..a86fc484093 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/Cluster.h @@ -0,0 +1,243 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace PCS +{ +namespace Model +{ + + /** + *

    The cluster resource and configuration.

    See Also:

    AWS API + * Reference

    + */ + class Cluster + { + public: + AWS_PCS_API Cluster(); + AWS_PCS_API Cluster(Aws::Utils::Json::JsonView jsonValue); + AWS_PCS_API Cluster& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_PCS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The name that identifies the cluster.

    + */ + inline const Aws::String& GetName() const{ return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + inline Cluster& WithName(const Aws::String& value) { SetName(value); return *this;} + inline Cluster& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline Cluster& WithName(const char* value) { SetName(value); return *this;} + ///@} + + ///@{ + /** + *

    The generated unique ID of the cluster.

    + */ + inline const Aws::String& GetId() const{ return m_id; } + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + inline Cluster& WithId(const Aws::String& value) { SetId(value); return *this;} + inline Cluster& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + inline Cluster& WithId(const char* value) { SetId(value); return *this;} + ///@} + + ///@{ + /** + *

    The unique Amazon Resource Name (ARN) of the cluster.

    + */ + inline const Aws::String& GetArn() const{ return m_arn; } + inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } + inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } + inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } + inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } + inline Cluster& WithArn(const Aws::String& value) { SetArn(value); return *this;} + inline Cluster& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} + inline Cluster& WithArn(const char* value) { SetArn(value); return *this;} + ///@} + + ///@{ + /** + *

    The provisioning status of the cluster.

    The provisioning status + * doesn't indicate the overall health of the cluster.

    + */ + inline const ClusterStatus& GetStatus() const{ return m_status; } + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + inline void SetStatus(const ClusterStatus& value) { m_statusHasBeenSet = true; m_status = value; } + inline void SetStatus(ClusterStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + inline Cluster& WithStatus(const ClusterStatus& value) { SetStatus(value); return *this;} + inline Cluster& WithStatus(ClusterStatus&& value) { SetStatus(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The date and time the resource was created.

    + */ + inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } + inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } + inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAtHasBeenSet = true; m_createdAt = value; } + inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); } + inline Cluster& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} + inline Cluster& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The date and time the resource was modified.

    + */ + inline const Aws::Utils::DateTime& GetModifiedAt() const{ return m_modifiedAt; } + inline bool ModifiedAtHasBeenSet() const { return m_modifiedAtHasBeenSet; } + inline void SetModifiedAt(const Aws::Utils::DateTime& value) { m_modifiedAtHasBeenSet = true; m_modifiedAt = value; } + inline void SetModifiedAt(Aws::Utils::DateTime&& value) { m_modifiedAtHasBeenSet = true; m_modifiedAt = std::move(value); } + inline Cluster& WithModifiedAt(const Aws::Utils::DateTime& value) { SetModifiedAt(value); return *this;} + inline Cluster& WithModifiedAt(Aws::Utils::DateTime&& value) { SetModifiedAt(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Scheduler& GetScheduler() const{ return m_scheduler; } + inline bool SchedulerHasBeenSet() const { return m_schedulerHasBeenSet; } + inline void SetScheduler(const Scheduler& value) { m_schedulerHasBeenSet = true; m_scheduler = value; } + inline void SetScheduler(Scheduler&& value) { m_schedulerHasBeenSet = true; m_scheduler = std::move(value); } + inline Cluster& WithScheduler(const Scheduler& value) { SetScheduler(value); return *this;} + inline Cluster& WithScheduler(Scheduler&& value) { SetScheduler(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The size of the cluster.

    • SMALL: 32 compute + * nodes and 256 jobs

    • MEDIUM: 512 compute nodes and + * 8192 jobs

    • LARGE: 2048 compute nodes and 16,384 + * jobs

    + */ + inline const Size& GetSize() const{ return m_size; } + inline bool SizeHasBeenSet() const { return m_sizeHasBeenSet; } + inline void SetSize(const Size& value) { m_sizeHasBeenSet = true; m_size = value; } + inline void SetSize(Size&& value) { m_sizeHasBeenSet = true; m_size = std::move(value); } + inline Cluster& WithSize(const Size& value) { SetSize(value); return *this;} + inline Cluster& WithSize(Size&& value) { SetSize(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    Additional options related to the Slurm scheduler.

    + */ + inline const ClusterSlurmConfiguration& GetSlurmConfiguration() const{ return m_slurmConfiguration; } + inline bool SlurmConfigurationHasBeenSet() const { return m_slurmConfigurationHasBeenSet; } + inline void SetSlurmConfiguration(const ClusterSlurmConfiguration& value) { m_slurmConfigurationHasBeenSet = true; m_slurmConfiguration = value; } + inline void SetSlurmConfiguration(ClusterSlurmConfiguration&& value) { m_slurmConfigurationHasBeenSet = true; m_slurmConfiguration = std::move(value); } + inline Cluster& WithSlurmConfiguration(const ClusterSlurmConfiguration& value) { SetSlurmConfiguration(value); return *this;} + inline Cluster& WithSlurmConfiguration(ClusterSlurmConfiguration&& value) { SetSlurmConfiguration(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Networking& GetNetworking() const{ return m_networking; } + inline bool NetworkingHasBeenSet() const { return m_networkingHasBeenSet; } + inline void SetNetworking(const Networking& value) { m_networkingHasBeenSet = true; m_networking = value; } + inline void SetNetworking(Networking&& value) { m_networkingHasBeenSet = true; m_networking = std::move(value); } + inline Cluster& WithNetworking(const Networking& value) { SetNetworking(value); return *this;} + inline Cluster& WithNetworking(Networking&& value) { SetNetworking(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The list of endpoints available for interaction with the scheduler.

    + */ + inline const Aws::Vector& GetEndpoints() const{ return m_endpoints; } + inline bool EndpointsHasBeenSet() const { return m_endpointsHasBeenSet; } + inline void SetEndpoints(const Aws::Vector& value) { m_endpointsHasBeenSet = true; m_endpoints = value; } + inline void SetEndpoints(Aws::Vector&& value) { m_endpointsHasBeenSet = true; m_endpoints = std::move(value); } + inline Cluster& WithEndpoints(const Aws::Vector& value) { SetEndpoints(value); return *this;} + inline Cluster& WithEndpoints(Aws::Vector&& value) { SetEndpoints(std::move(value)); return *this;} + inline Cluster& AddEndpoints(const Endpoint& value) { m_endpointsHasBeenSet = true; m_endpoints.push_back(value); return *this; } + inline Cluster& AddEndpoints(Endpoint&& value) { m_endpointsHasBeenSet = true; m_endpoints.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

    The list of errors that occurred during cluster provisioning.

    + */ + inline const Aws::Vector& GetErrorInfo() const{ return m_errorInfo; } + inline bool ErrorInfoHasBeenSet() const { return m_errorInfoHasBeenSet; } + inline void SetErrorInfo(const Aws::Vector& value) { m_errorInfoHasBeenSet = true; m_errorInfo = value; } + inline void SetErrorInfo(Aws::Vector&& value) { m_errorInfoHasBeenSet = true; m_errorInfo = std::move(value); } + inline Cluster& WithErrorInfo(const Aws::Vector& value) { SetErrorInfo(value); return *this;} + inline Cluster& WithErrorInfo(Aws::Vector&& value) { SetErrorInfo(std::move(value)); return *this;} + inline Cluster& AddErrorInfo(const ErrorInfo& value) { m_errorInfoHasBeenSet = true; m_errorInfo.push_back(value); return *this; } + inline Cluster& AddErrorInfo(ErrorInfo&& value) { m_errorInfoHasBeenSet = true; m_errorInfo.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_id; + bool m_idHasBeenSet = false; + + Aws::String m_arn; + bool m_arnHasBeenSet = false; + + ClusterStatus m_status; + bool m_statusHasBeenSet = false; + + Aws::Utils::DateTime m_createdAt; + bool m_createdAtHasBeenSet = false; + + Aws::Utils::DateTime m_modifiedAt; + bool m_modifiedAtHasBeenSet = false; + + Scheduler m_scheduler; + bool m_schedulerHasBeenSet = false; + + Size m_size; + bool m_sizeHasBeenSet = false; + + ClusterSlurmConfiguration m_slurmConfiguration; + bool m_slurmConfigurationHasBeenSet = false; + + Networking m_networking; + bool m_networkingHasBeenSet = false; + + Aws::Vector m_endpoints; + bool m_endpointsHasBeenSet = false; + + Aws::Vector m_errorInfo; + bool m_errorInfoHasBeenSet = false; + }; + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ClusterSlurmConfiguration.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ClusterSlurmConfiguration.h new file mode 100644 index 00000000000..b1c17c85b77 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ClusterSlurmConfiguration.h @@ -0,0 +1,94 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace PCS +{ +namespace Model +{ + + /** + *

    Additional options related to the Slurm scheduler.

    See Also:

    + * AWS + * API Reference

    + */ + class ClusterSlurmConfiguration + { + public: + AWS_PCS_API ClusterSlurmConfiguration(); + AWS_PCS_API ClusterSlurmConfiguration(Aws::Utils::Json::JsonView jsonValue); + AWS_PCS_API ClusterSlurmConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_PCS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The time before an idle node is scaled down.

    + */ + inline int GetScaleDownIdleTimeInSeconds() const{ return m_scaleDownIdleTimeInSeconds; } + inline bool ScaleDownIdleTimeInSecondsHasBeenSet() const { return m_scaleDownIdleTimeInSecondsHasBeenSet; } + inline void SetScaleDownIdleTimeInSeconds(int value) { m_scaleDownIdleTimeInSecondsHasBeenSet = true; m_scaleDownIdleTimeInSeconds = value; } + inline ClusterSlurmConfiguration& WithScaleDownIdleTimeInSeconds(int value) { SetScaleDownIdleTimeInSeconds(value); return *this;} + ///@} + + ///@{ + /** + *

    Additional Slurm-specific configuration that directly maps to Slurm + * settings.

    + */ + inline const Aws::Vector& GetSlurmCustomSettings() const{ return m_slurmCustomSettings; } + inline bool SlurmCustomSettingsHasBeenSet() const { return m_slurmCustomSettingsHasBeenSet; } + inline void SetSlurmCustomSettings(const Aws::Vector& value) { m_slurmCustomSettingsHasBeenSet = true; m_slurmCustomSettings = value; } + inline void SetSlurmCustomSettings(Aws::Vector&& value) { m_slurmCustomSettingsHasBeenSet = true; m_slurmCustomSettings = std::move(value); } + inline ClusterSlurmConfiguration& WithSlurmCustomSettings(const Aws::Vector& value) { SetSlurmCustomSettings(value); return *this;} + inline ClusterSlurmConfiguration& WithSlurmCustomSettings(Aws::Vector&& value) { SetSlurmCustomSettings(std::move(value)); return *this;} + inline ClusterSlurmConfiguration& AddSlurmCustomSettings(const SlurmCustomSetting& value) { m_slurmCustomSettingsHasBeenSet = true; m_slurmCustomSettings.push_back(value); return *this; } + inline ClusterSlurmConfiguration& AddSlurmCustomSettings(SlurmCustomSetting&& value) { m_slurmCustomSettingsHasBeenSet = true; m_slurmCustomSettings.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

    The shared Slurm key for authentication, also known as the cluster + * secret.

    + */ + inline const SlurmAuthKey& GetAuthKey() const{ return m_authKey; } + inline bool AuthKeyHasBeenSet() const { return m_authKeyHasBeenSet; } + inline void SetAuthKey(const SlurmAuthKey& value) { m_authKeyHasBeenSet = true; m_authKey = value; } + inline void SetAuthKey(SlurmAuthKey&& value) { m_authKeyHasBeenSet = true; m_authKey = std::move(value); } + inline ClusterSlurmConfiguration& WithAuthKey(const SlurmAuthKey& value) { SetAuthKey(value); return *this;} + inline ClusterSlurmConfiguration& WithAuthKey(SlurmAuthKey&& value) { SetAuthKey(std::move(value)); return *this;} + ///@} + private: + + int m_scaleDownIdleTimeInSeconds; + bool m_scaleDownIdleTimeInSecondsHasBeenSet = false; + + Aws::Vector m_slurmCustomSettings; + bool m_slurmCustomSettingsHasBeenSet = false; + + SlurmAuthKey m_authKey; + bool m_authKeyHasBeenSet = false; + }; + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ClusterSlurmConfigurationRequest.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ClusterSlurmConfigurationRequest.h new file mode 100644 index 00000000000..b7611aeeb14 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ClusterSlurmConfigurationRequest.h @@ -0,0 +1,77 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace PCS +{ +namespace Model +{ + + /** + *

    Additional options related to the Slurm scheduler.

    See Also:

    + * AWS + * API Reference

    + */ + class ClusterSlurmConfigurationRequest + { + public: + AWS_PCS_API ClusterSlurmConfigurationRequest(); + AWS_PCS_API ClusterSlurmConfigurationRequest(Aws::Utils::Json::JsonView jsonValue); + AWS_PCS_API ClusterSlurmConfigurationRequest& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_PCS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The time before an idle node is scaled down.

    + */ + inline int GetScaleDownIdleTimeInSeconds() const{ return m_scaleDownIdleTimeInSeconds; } + inline bool ScaleDownIdleTimeInSecondsHasBeenSet() const { return m_scaleDownIdleTimeInSecondsHasBeenSet; } + inline void SetScaleDownIdleTimeInSeconds(int value) { m_scaleDownIdleTimeInSecondsHasBeenSet = true; m_scaleDownIdleTimeInSeconds = value; } + inline ClusterSlurmConfigurationRequest& WithScaleDownIdleTimeInSeconds(int value) { SetScaleDownIdleTimeInSeconds(value); return *this;} + ///@} + + ///@{ + /** + *

    Additional Slurm-specific configuration that directly maps to Slurm + * settings.

    + */ + inline const Aws::Vector& GetSlurmCustomSettings() const{ return m_slurmCustomSettings; } + inline bool SlurmCustomSettingsHasBeenSet() const { return m_slurmCustomSettingsHasBeenSet; } + inline void SetSlurmCustomSettings(const Aws::Vector& value) { m_slurmCustomSettingsHasBeenSet = true; m_slurmCustomSettings = value; } + inline void SetSlurmCustomSettings(Aws::Vector&& value) { m_slurmCustomSettingsHasBeenSet = true; m_slurmCustomSettings = std::move(value); } + inline ClusterSlurmConfigurationRequest& WithSlurmCustomSettings(const Aws::Vector& value) { SetSlurmCustomSettings(value); return *this;} + inline ClusterSlurmConfigurationRequest& WithSlurmCustomSettings(Aws::Vector&& value) { SetSlurmCustomSettings(std::move(value)); return *this;} + inline ClusterSlurmConfigurationRequest& AddSlurmCustomSettings(const SlurmCustomSetting& value) { m_slurmCustomSettingsHasBeenSet = true; m_slurmCustomSettings.push_back(value); return *this; } + inline ClusterSlurmConfigurationRequest& AddSlurmCustomSettings(SlurmCustomSetting&& value) { m_slurmCustomSettingsHasBeenSet = true; m_slurmCustomSettings.push_back(std::move(value)); return *this; } + ///@} + private: + + int m_scaleDownIdleTimeInSeconds; + bool m_scaleDownIdleTimeInSecondsHasBeenSet = false; + + Aws::Vector m_slurmCustomSettings; + bool m_slurmCustomSettingsHasBeenSet = false; + }; + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ClusterStatus.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ClusterStatus.h new file mode 100644 index 00000000000..71bdeac0f62 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ClusterStatus.h @@ -0,0 +1,36 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace PCS +{ +namespace Model +{ + enum class ClusterStatus + { + NOT_SET, + CREATING, + ACTIVE, + UPDATING, + DELETING, + CREATE_FAILED, + DELETE_FAILED, + UPDATE_FAILED + }; + +namespace ClusterStatusMapper +{ +AWS_PCS_API ClusterStatus GetClusterStatusForName(const Aws::String& name); + +AWS_PCS_API Aws::String GetNameForClusterStatus(ClusterStatus value); +} // namespace ClusterStatusMapper +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ClusterSummary.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ClusterSummary.h new file mode 100644 index 00000000000..2c9cc7df8ac --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ClusterSummary.h @@ -0,0 +1,144 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace PCS +{ +namespace Model +{ + + /** + *

    The object returned by the ListClusters API + * action.

    See Also:

    AWS + * API Reference

    + */ + class ClusterSummary + { + public: + AWS_PCS_API ClusterSummary(); + AWS_PCS_API ClusterSummary(Aws::Utils::Json::JsonView jsonValue); + AWS_PCS_API ClusterSummary& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_PCS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The name that identifies the cluster.

    + */ + inline const Aws::String& GetName() const{ return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + inline ClusterSummary& WithName(const Aws::String& value) { SetName(value); return *this;} + inline ClusterSummary& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline ClusterSummary& WithName(const char* value) { SetName(value); return *this;} + ///@} + + ///@{ + /** + *

    The generated unique ID of the cluster.

    + */ + inline const Aws::String& GetId() const{ return m_id; } + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + inline ClusterSummary& WithId(const Aws::String& value) { SetId(value); return *this;} + inline ClusterSummary& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + inline ClusterSummary& WithId(const char* value) { SetId(value); return *this;} + ///@} + + ///@{ + /** + *

    The unique Amazon Resource Name (ARN) of the cluster.

    + */ + inline const Aws::String& GetArn() const{ return m_arn; } + inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } + inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } + inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } + inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } + inline ClusterSummary& WithArn(const Aws::String& value) { SetArn(value); return *this;} + inline ClusterSummary& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} + inline ClusterSummary& WithArn(const char* value) { SetArn(value); return *this;} + ///@} + + ///@{ + /** + *

    The date and time the resource was created.

    + */ + inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } + inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } + inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAtHasBeenSet = true; m_createdAt = value; } + inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); } + inline ClusterSummary& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} + inline ClusterSummary& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The date and time the resource was modified.

    + */ + inline const Aws::Utils::DateTime& GetModifiedAt() const{ return m_modifiedAt; } + inline bool ModifiedAtHasBeenSet() const { return m_modifiedAtHasBeenSet; } + inline void SetModifiedAt(const Aws::Utils::DateTime& value) { m_modifiedAtHasBeenSet = true; m_modifiedAt = value; } + inline void SetModifiedAt(Aws::Utils::DateTime&& value) { m_modifiedAtHasBeenSet = true; m_modifiedAt = std::move(value); } + inline ClusterSummary& WithModifiedAt(const Aws::Utils::DateTime& value) { SetModifiedAt(value); return *this;} + inline ClusterSummary& WithModifiedAt(Aws::Utils::DateTime&& value) { SetModifiedAt(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The provisioning status of the cluster.

    The provisioning status + * doesn't indicate the overall health of the cluster.

    + */ + inline const ClusterStatus& GetStatus() const{ return m_status; } + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + inline void SetStatus(const ClusterStatus& value) { m_statusHasBeenSet = true; m_status = value; } + inline void SetStatus(ClusterStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + inline ClusterSummary& WithStatus(const ClusterStatus& value) { SetStatus(value); return *this;} + inline ClusterSummary& WithStatus(ClusterStatus&& value) { SetStatus(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_id; + bool m_idHasBeenSet = false; + + Aws::String m_arn; + bool m_arnHasBeenSet = false; + + Aws::Utils::DateTime m_createdAt; + bool m_createdAtHasBeenSet = false; + + Aws::Utils::DateTime m_modifiedAt; + bool m_modifiedAtHasBeenSet = false; + + ClusterStatus m_status; + bool m_statusHasBeenSet = false; + }; + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ComputeNodeGroup.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ComputeNodeGroup.h new file mode 100644 index 00000000000..a480ab0b2a8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ComputeNodeGroup.h @@ -0,0 +1,333 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace PCS +{ +namespace Model +{ + + /** + *

    A compute node group associated with a cluster.

    See Also:

    AWS + * API Reference

    + */ + class ComputeNodeGroup + { + public: + AWS_PCS_API ComputeNodeGroup(); + AWS_PCS_API ComputeNodeGroup(Aws::Utils::Json::JsonView jsonValue); + AWS_PCS_API ComputeNodeGroup& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_PCS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The name that identifies the compute node group.

    + */ + inline const Aws::String& GetName() const{ return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + inline ComputeNodeGroup& WithName(const Aws::String& value) { SetName(value); return *this;} + inline ComputeNodeGroup& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline ComputeNodeGroup& WithName(const char* value) { SetName(value); return *this;} + ///@} + + ///@{ + /** + *

    The generated unique ID of the compute node group.

    + */ + inline const Aws::String& GetId() const{ return m_id; } + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + inline ComputeNodeGroup& WithId(const Aws::String& value) { SetId(value); return *this;} + inline ComputeNodeGroup& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + inline ComputeNodeGroup& WithId(const char* value) { SetId(value); return *this;} + ///@} + + ///@{ + /** + *

    The unique Amazon Resource Name (ARN) of the compute node group.

    + */ + inline const Aws::String& GetArn() const{ return m_arn; } + inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } + inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } + inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } + inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } + inline ComputeNodeGroup& WithArn(const Aws::String& value) { SetArn(value); return *this;} + inline ComputeNodeGroup& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} + inline ComputeNodeGroup& WithArn(const char* value) { SetArn(value); return *this;} + ///@} + + ///@{ + /** + *

    The ID of the cluster of the compute node group.

    + */ + inline const Aws::String& GetClusterId() const{ return m_clusterId; } + inline bool ClusterIdHasBeenSet() const { return m_clusterIdHasBeenSet; } + inline void SetClusterId(const Aws::String& value) { m_clusterIdHasBeenSet = true; m_clusterId = value; } + inline void SetClusterId(Aws::String&& value) { m_clusterIdHasBeenSet = true; m_clusterId = std::move(value); } + inline void SetClusterId(const char* value) { m_clusterIdHasBeenSet = true; m_clusterId.assign(value); } + inline ComputeNodeGroup& WithClusterId(const Aws::String& value) { SetClusterId(value); return *this;} + inline ComputeNodeGroup& WithClusterId(Aws::String&& value) { SetClusterId(std::move(value)); return *this;} + inline ComputeNodeGroup& WithClusterId(const char* value) { SetClusterId(value); return *this;} + ///@} + + ///@{ + /** + *

    The date and time the resource was created.

    + */ + inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } + inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } + inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAtHasBeenSet = true; m_createdAt = value; } + inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); } + inline ComputeNodeGroup& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} + inline ComputeNodeGroup& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The date and time the resource was modified.

    + */ + inline const Aws::Utils::DateTime& GetModifiedAt() const{ return m_modifiedAt; } + inline bool ModifiedAtHasBeenSet() const { return m_modifiedAtHasBeenSet; } + inline void SetModifiedAt(const Aws::Utils::DateTime& value) { m_modifiedAtHasBeenSet = true; m_modifiedAt = value; } + inline void SetModifiedAt(Aws::Utils::DateTime&& value) { m_modifiedAtHasBeenSet = true; m_modifiedAt = std::move(value); } + inline ComputeNodeGroup& WithModifiedAt(const Aws::Utils::DateTime& value) { SetModifiedAt(value); return *this;} + inline ComputeNodeGroup& WithModifiedAt(Aws::Utils::DateTime&& value) { SetModifiedAt(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The provisioning status of the compute node group.

    The + * provisioning status doesn't indicate the overall health of the compute node + * group.

    + */ + inline const ComputeNodeGroupStatus& GetStatus() const{ return m_status; } + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + inline void SetStatus(const ComputeNodeGroupStatus& value) { m_statusHasBeenSet = true; m_status = value; } + inline void SetStatus(ComputeNodeGroupStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + inline ComputeNodeGroup& WithStatus(const ComputeNodeGroupStatus& value) { SetStatus(value); return *this;} + inline ComputeNodeGroup& WithStatus(ComputeNodeGroupStatus&& value) { SetStatus(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The ID of the Amazon Machine Image (AMI) that Amazon Web Services PCS uses to + * launch instances. If not provided, Amazon Web Services PCS uses the AMI ID + * specified in the custom launch template.

    + */ + inline const Aws::String& GetAmiId() const{ return m_amiId; } + inline bool AmiIdHasBeenSet() const { return m_amiIdHasBeenSet; } + inline void SetAmiId(const Aws::String& value) { m_amiIdHasBeenSet = true; m_amiId = value; } + inline void SetAmiId(Aws::String&& value) { m_amiIdHasBeenSet = true; m_amiId = std::move(value); } + inline void SetAmiId(const char* value) { m_amiIdHasBeenSet = true; m_amiId.assign(value); } + inline ComputeNodeGroup& WithAmiId(const Aws::String& value) { SetAmiId(value); return *this;} + inline ComputeNodeGroup& WithAmiId(Aws::String&& value) { SetAmiId(std::move(value)); return *this;} + inline ComputeNodeGroup& WithAmiId(const char* value) { SetAmiId(value); return *this;} + ///@} + + ///@{ + /** + *

    The list of subnet IDs where instances are provisioned by the compute node + * group. The subnets must be in the same VPC as the cluster.

    + */ + inline const Aws::Vector& GetSubnetIds() const{ return m_subnetIds; } + inline bool SubnetIdsHasBeenSet() const { return m_subnetIdsHasBeenSet; } + inline void SetSubnetIds(const Aws::Vector& value) { m_subnetIdsHasBeenSet = true; m_subnetIds = value; } + inline void SetSubnetIds(Aws::Vector&& value) { m_subnetIdsHasBeenSet = true; m_subnetIds = std::move(value); } + inline ComputeNodeGroup& WithSubnetIds(const Aws::Vector& value) { SetSubnetIds(value); return *this;} + inline ComputeNodeGroup& WithSubnetIds(Aws::Vector&& value) { SetSubnetIds(std::move(value)); return *this;} + inline ComputeNodeGroup& AddSubnetIds(const Aws::String& value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(value); return *this; } + inline ComputeNodeGroup& AddSubnetIds(Aws::String&& value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(std::move(value)); return *this; } + inline ComputeNodeGroup& AddSubnetIds(const char* value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

    Specifies how EC2 instances are purchased on your behalf. Amazon Web Services + * PCS supports On-Demand and Spot instances. For more information, see Instance + * purchasing options in the Amazon Elastic Compute Cloud User Guide. If + * you don't provide this option, it defaults to On-Demand.

    + */ + inline const PurchaseOption& GetPurchaseOption() const{ return m_purchaseOption; } + inline bool PurchaseOptionHasBeenSet() const { return m_purchaseOptionHasBeenSet; } + inline void SetPurchaseOption(const PurchaseOption& value) { m_purchaseOptionHasBeenSet = true; m_purchaseOption = value; } + inline void SetPurchaseOption(PurchaseOption&& value) { m_purchaseOptionHasBeenSet = true; m_purchaseOption = std::move(value); } + inline ComputeNodeGroup& WithPurchaseOption(const PurchaseOption& value) { SetPurchaseOption(value); return *this;} + inline ComputeNodeGroup& WithPurchaseOption(PurchaseOption&& value) { SetPurchaseOption(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const CustomLaunchTemplate& GetCustomLaunchTemplate() const{ return m_customLaunchTemplate; } + inline bool CustomLaunchTemplateHasBeenSet() const { return m_customLaunchTemplateHasBeenSet; } + inline void SetCustomLaunchTemplate(const CustomLaunchTemplate& value) { m_customLaunchTemplateHasBeenSet = true; m_customLaunchTemplate = value; } + inline void SetCustomLaunchTemplate(CustomLaunchTemplate&& value) { m_customLaunchTemplateHasBeenSet = true; m_customLaunchTemplate = std::move(value); } + inline ComputeNodeGroup& WithCustomLaunchTemplate(const CustomLaunchTemplate& value) { SetCustomLaunchTemplate(value); return *this;} + inline ComputeNodeGroup& WithCustomLaunchTemplate(CustomLaunchTemplate&& value) { SetCustomLaunchTemplate(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The Amazon Resource Name (ARN) of the IAM instance profile used to pass an + * IAM role when launching EC2 instances. The role contained in your instance + * profile must have pcs:RegisterComputeNodeGroupInstance permissions + * attached to provision instances correctly.

    + */ + inline const Aws::String& GetIamInstanceProfileArn() const{ return m_iamInstanceProfileArn; } + inline bool IamInstanceProfileArnHasBeenSet() const { return m_iamInstanceProfileArnHasBeenSet; } + inline void SetIamInstanceProfileArn(const Aws::String& value) { m_iamInstanceProfileArnHasBeenSet = true; m_iamInstanceProfileArn = value; } + inline void SetIamInstanceProfileArn(Aws::String&& value) { m_iamInstanceProfileArnHasBeenSet = true; m_iamInstanceProfileArn = std::move(value); } + inline void SetIamInstanceProfileArn(const char* value) { m_iamInstanceProfileArnHasBeenSet = true; m_iamInstanceProfileArn.assign(value); } + inline ComputeNodeGroup& WithIamInstanceProfileArn(const Aws::String& value) { SetIamInstanceProfileArn(value); return *this;} + inline ComputeNodeGroup& WithIamInstanceProfileArn(Aws::String&& value) { SetIamInstanceProfileArn(std::move(value)); return *this;} + inline ComputeNodeGroup& WithIamInstanceProfileArn(const char* value) { SetIamInstanceProfileArn(value); return *this;} + ///@} + + ///@{ + + inline const ScalingConfiguration& GetScalingConfiguration() const{ return m_scalingConfiguration; } + inline bool ScalingConfigurationHasBeenSet() const { return m_scalingConfigurationHasBeenSet; } + inline void SetScalingConfiguration(const ScalingConfiguration& value) { m_scalingConfigurationHasBeenSet = true; m_scalingConfiguration = value; } + inline void SetScalingConfiguration(ScalingConfiguration&& value) { m_scalingConfigurationHasBeenSet = true; m_scalingConfiguration = std::move(value); } + inline ComputeNodeGroup& WithScalingConfiguration(const ScalingConfiguration& value) { SetScalingConfiguration(value); return *this;} + inline ComputeNodeGroup& WithScalingConfiguration(ScalingConfiguration&& value) { SetScalingConfiguration(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    A list of EC2 instance configurations that Amazon Web Services PCS can + * provision in the compute node group.

    + */ + inline const Aws::Vector& GetInstanceConfigs() const{ return m_instanceConfigs; } + inline bool InstanceConfigsHasBeenSet() const { return m_instanceConfigsHasBeenSet; } + inline void SetInstanceConfigs(const Aws::Vector& value) { m_instanceConfigsHasBeenSet = true; m_instanceConfigs = value; } + inline void SetInstanceConfigs(Aws::Vector&& value) { m_instanceConfigsHasBeenSet = true; m_instanceConfigs = std::move(value); } + inline ComputeNodeGroup& WithInstanceConfigs(const Aws::Vector& value) { SetInstanceConfigs(value); return *this;} + inline ComputeNodeGroup& WithInstanceConfigs(Aws::Vector&& value) { SetInstanceConfigs(std::move(value)); return *this;} + inline ComputeNodeGroup& AddInstanceConfigs(const InstanceConfig& value) { m_instanceConfigsHasBeenSet = true; m_instanceConfigs.push_back(value); return *this; } + inline ComputeNodeGroup& AddInstanceConfigs(InstanceConfig&& value) { m_instanceConfigsHasBeenSet = true; m_instanceConfigs.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const SpotOptions& GetSpotOptions() const{ return m_spotOptions; } + inline bool SpotOptionsHasBeenSet() const { return m_spotOptionsHasBeenSet; } + inline void SetSpotOptions(const SpotOptions& value) { m_spotOptionsHasBeenSet = true; m_spotOptions = value; } + inline void SetSpotOptions(SpotOptions&& value) { m_spotOptionsHasBeenSet = true; m_spotOptions = std::move(value); } + inline ComputeNodeGroup& WithSpotOptions(const SpotOptions& value) { SetSpotOptions(value); return *this;} + inline ComputeNodeGroup& WithSpotOptions(SpotOptions&& value) { SetSpotOptions(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const ComputeNodeGroupSlurmConfiguration& GetSlurmConfiguration() const{ return m_slurmConfiguration; } + inline bool SlurmConfigurationHasBeenSet() const { return m_slurmConfigurationHasBeenSet; } + inline void SetSlurmConfiguration(const ComputeNodeGroupSlurmConfiguration& value) { m_slurmConfigurationHasBeenSet = true; m_slurmConfiguration = value; } + inline void SetSlurmConfiguration(ComputeNodeGroupSlurmConfiguration&& value) { m_slurmConfigurationHasBeenSet = true; m_slurmConfiguration = std::move(value); } + inline ComputeNodeGroup& WithSlurmConfiguration(const ComputeNodeGroupSlurmConfiguration& value) { SetSlurmConfiguration(value); return *this;} + inline ComputeNodeGroup& WithSlurmConfiguration(ComputeNodeGroupSlurmConfiguration&& value) { SetSlurmConfiguration(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The list of errors that occurred during compute node group provisioning.

    + */ + inline const Aws::Vector& GetErrorInfo() const{ return m_errorInfo; } + inline bool ErrorInfoHasBeenSet() const { return m_errorInfoHasBeenSet; } + inline void SetErrorInfo(const Aws::Vector& value) { m_errorInfoHasBeenSet = true; m_errorInfo = value; } + inline void SetErrorInfo(Aws::Vector&& value) { m_errorInfoHasBeenSet = true; m_errorInfo = std::move(value); } + inline ComputeNodeGroup& WithErrorInfo(const Aws::Vector& value) { SetErrorInfo(value); return *this;} + inline ComputeNodeGroup& WithErrorInfo(Aws::Vector&& value) { SetErrorInfo(std::move(value)); return *this;} + inline ComputeNodeGroup& AddErrorInfo(const ErrorInfo& value) { m_errorInfoHasBeenSet = true; m_errorInfo.push_back(value); return *this; } + inline ComputeNodeGroup& AddErrorInfo(ErrorInfo&& value) { m_errorInfoHasBeenSet = true; m_errorInfo.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_id; + bool m_idHasBeenSet = false; + + Aws::String m_arn; + bool m_arnHasBeenSet = false; + + Aws::String m_clusterId; + bool m_clusterIdHasBeenSet = false; + + Aws::Utils::DateTime m_createdAt; + bool m_createdAtHasBeenSet = false; + + Aws::Utils::DateTime m_modifiedAt; + bool m_modifiedAtHasBeenSet = false; + + ComputeNodeGroupStatus m_status; + bool m_statusHasBeenSet = false; + + Aws::String m_amiId; + bool m_amiIdHasBeenSet = false; + + Aws::Vector m_subnetIds; + bool m_subnetIdsHasBeenSet = false; + + PurchaseOption m_purchaseOption; + bool m_purchaseOptionHasBeenSet = false; + + CustomLaunchTemplate m_customLaunchTemplate; + bool m_customLaunchTemplateHasBeenSet = false; + + Aws::String m_iamInstanceProfileArn; + bool m_iamInstanceProfileArnHasBeenSet = false; + + ScalingConfiguration m_scalingConfiguration; + bool m_scalingConfigurationHasBeenSet = false; + + Aws::Vector m_instanceConfigs; + bool m_instanceConfigsHasBeenSet = false; + + SpotOptions m_spotOptions; + bool m_spotOptionsHasBeenSet = false; + + ComputeNodeGroupSlurmConfiguration m_slurmConfiguration; + bool m_slurmConfigurationHasBeenSet = false; + + Aws::Vector m_errorInfo; + bool m_errorInfoHasBeenSet = false; + }; + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ComputeNodeGroupConfiguration.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ComputeNodeGroupConfiguration.h new file mode 100644 index 00000000000..c7dbce78cfb --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ComputeNodeGroupConfiguration.h @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace PCS +{ +namespace Model +{ + + /** + *

    The compute node group configuration for a queue.

    See Also:

    + * AWS + * API Reference

    + */ + class ComputeNodeGroupConfiguration + { + public: + AWS_PCS_API ComputeNodeGroupConfiguration(); + AWS_PCS_API ComputeNodeGroupConfiguration(Aws::Utils::Json::JsonView jsonValue); + AWS_PCS_API ComputeNodeGroupConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_PCS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The compute node group ID for the compute node group configuration.

    + */ + inline const Aws::String& GetComputeNodeGroupId() const{ return m_computeNodeGroupId; } + inline bool ComputeNodeGroupIdHasBeenSet() const { return m_computeNodeGroupIdHasBeenSet; } + inline void SetComputeNodeGroupId(const Aws::String& value) { m_computeNodeGroupIdHasBeenSet = true; m_computeNodeGroupId = value; } + inline void SetComputeNodeGroupId(Aws::String&& value) { m_computeNodeGroupIdHasBeenSet = true; m_computeNodeGroupId = std::move(value); } + inline void SetComputeNodeGroupId(const char* value) { m_computeNodeGroupIdHasBeenSet = true; m_computeNodeGroupId.assign(value); } + inline ComputeNodeGroupConfiguration& WithComputeNodeGroupId(const Aws::String& value) { SetComputeNodeGroupId(value); return *this;} + inline ComputeNodeGroupConfiguration& WithComputeNodeGroupId(Aws::String&& value) { SetComputeNodeGroupId(std::move(value)); return *this;} + inline ComputeNodeGroupConfiguration& WithComputeNodeGroupId(const char* value) { SetComputeNodeGroupId(value); return *this;} + ///@} + private: + + Aws::String m_computeNodeGroupId; + bool m_computeNodeGroupIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ComputeNodeGroupSlurmConfiguration.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ComputeNodeGroupSlurmConfiguration.h new file mode 100644 index 00000000000..179dde4e02e --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ComputeNodeGroupSlurmConfiguration.h @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace PCS +{ +namespace Model +{ + + /** + *

    Additional options related to the Slurm scheduler.

    See Also:

    + * AWS + * API Reference

    + */ + class ComputeNodeGroupSlurmConfiguration + { + public: + AWS_PCS_API ComputeNodeGroupSlurmConfiguration(); + AWS_PCS_API ComputeNodeGroupSlurmConfiguration(Aws::Utils::Json::JsonView jsonValue); + AWS_PCS_API ComputeNodeGroupSlurmConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_PCS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    Additional Slurm-specific configuration that directly maps to Slurm + * settings.

    + */ + inline const Aws::Vector& GetSlurmCustomSettings() const{ return m_slurmCustomSettings; } + inline bool SlurmCustomSettingsHasBeenSet() const { return m_slurmCustomSettingsHasBeenSet; } + inline void SetSlurmCustomSettings(const Aws::Vector& value) { m_slurmCustomSettingsHasBeenSet = true; m_slurmCustomSettings = value; } + inline void SetSlurmCustomSettings(Aws::Vector&& value) { m_slurmCustomSettingsHasBeenSet = true; m_slurmCustomSettings = std::move(value); } + inline ComputeNodeGroupSlurmConfiguration& WithSlurmCustomSettings(const Aws::Vector& value) { SetSlurmCustomSettings(value); return *this;} + inline ComputeNodeGroupSlurmConfiguration& WithSlurmCustomSettings(Aws::Vector&& value) { SetSlurmCustomSettings(std::move(value)); return *this;} + inline ComputeNodeGroupSlurmConfiguration& AddSlurmCustomSettings(const SlurmCustomSetting& value) { m_slurmCustomSettingsHasBeenSet = true; m_slurmCustomSettings.push_back(value); return *this; } + inline ComputeNodeGroupSlurmConfiguration& AddSlurmCustomSettings(SlurmCustomSetting&& value) { m_slurmCustomSettingsHasBeenSet = true; m_slurmCustomSettings.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::Vector m_slurmCustomSettings; + bool m_slurmCustomSettingsHasBeenSet = false; + }; + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ComputeNodeGroupSlurmConfigurationRequest.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ComputeNodeGroupSlurmConfigurationRequest.h new file mode 100644 index 00000000000..1510be11766 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ComputeNodeGroupSlurmConfigurationRequest.h @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace PCS +{ +namespace Model +{ + + /** + *

    Additional options related to the Slurm scheduler.

    See Also:

    + * AWS + * API Reference

    + */ + class ComputeNodeGroupSlurmConfigurationRequest + { + public: + AWS_PCS_API ComputeNodeGroupSlurmConfigurationRequest(); + AWS_PCS_API ComputeNodeGroupSlurmConfigurationRequest(Aws::Utils::Json::JsonView jsonValue); + AWS_PCS_API ComputeNodeGroupSlurmConfigurationRequest& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_PCS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    Additional Slurm-specific configuration that directly maps to Slurm + * settings.

    + */ + inline const Aws::Vector& GetSlurmCustomSettings() const{ return m_slurmCustomSettings; } + inline bool SlurmCustomSettingsHasBeenSet() const { return m_slurmCustomSettingsHasBeenSet; } + inline void SetSlurmCustomSettings(const Aws::Vector& value) { m_slurmCustomSettingsHasBeenSet = true; m_slurmCustomSettings = value; } + inline void SetSlurmCustomSettings(Aws::Vector&& value) { m_slurmCustomSettingsHasBeenSet = true; m_slurmCustomSettings = std::move(value); } + inline ComputeNodeGroupSlurmConfigurationRequest& WithSlurmCustomSettings(const Aws::Vector& value) { SetSlurmCustomSettings(value); return *this;} + inline ComputeNodeGroupSlurmConfigurationRequest& WithSlurmCustomSettings(Aws::Vector&& value) { SetSlurmCustomSettings(std::move(value)); return *this;} + inline ComputeNodeGroupSlurmConfigurationRequest& AddSlurmCustomSettings(const SlurmCustomSetting& value) { m_slurmCustomSettingsHasBeenSet = true; m_slurmCustomSettings.push_back(value); return *this; } + inline ComputeNodeGroupSlurmConfigurationRequest& AddSlurmCustomSettings(SlurmCustomSetting&& value) { m_slurmCustomSettingsHasBeenSet = true; m_slurmCustomSettings.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::Vector m_slurmCustomSettings; + bool m_slurmCustomSettingsHasBeenSet = false; + }; + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ComputeNodeGroupStatus.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ComputeNodeGroupStatus.h new file mode 100644 index 00000000000..f0c913a0546 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ComputeNodeGroupStatus.h @@ -0,0 +1,37 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace PCS +{ +namespace Model +{ + enum class ComputeNodeGroupStatus + { + NOT_SET, + CREATING, + ACTIVE, + UPDATING, + DELETING, + CREATE_FAILED, + DELETE_FAILED, + UPDATE_FAILED, + DELETED + }; + +namespace ComputeNodeGroupStatusMapper +{ +AWS_PCS_API ComputeNodeGroupStatus GetComputeNodeGroupStatusForName(const Aws::String& name); + +AWS_PCS_API Aws::String GetNameForComputeNodeGroupStatus(ComputeNodeGroupStatus value); +} // namespace ComputeNodeGroupStatusMapper +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ComputeNodeGroupSummary.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ComputeNodeGroupSummary.h new file mode 100644 index 00000000000..69d45f9808b --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ComputeNodeGroupSummary.h @@ -0,0 +1,162 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace PCS +{ +namespace Model +{ + + /** + *

    The object returned by the ListComputeNodeGroups API + * action.

    See Also:

    AWS + * API Reference

    + */ + class ComputeNodeGroupSummary + { + public: + AWS_PCS_API ComputeNodeGroupSummary(); + AWS_PCS_API ComputeNodeGroupSummary(Aws::Utils::Json::JsonView jsonValue); + AWS_PCS_API ComputeNodeGroupSummary& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_PCS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The name that identifies the compute node group.

    + */ + inline const Aws::String& GetName() const{ return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + inline ComputeNodeGroupSummary& WithName(const Aws::String& value) { SetName(value); return *this;} + inline ComputeNodeGroupSummary& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline ComputeNodeGroupSummary& WithName(const char* value) { SetName(value); return *this;} + ///@} + + ///@{ + /** + *

    The generated unique ID of the compute node group.

    + */ + inline const Aws::String& GetId() const{ return m_id; } + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + inline ComputeNodeGroupSummary& WithId(const Aws::String& value) { SetId(value); return *this;} + inline ComputeNodeGroupSummary& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + inline ComputeNodeGroupSummary& WithId(const char* value) { SetId(value); return *this;} + ///@} + + ///@{ + /** + *

    The unique Amazon Resource Name (ARN) of the compute node group.

    + */ + inline const Aws::String& GetArn() const{ return m_arn; } + inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } + inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } + inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } + inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } + inline ComputeNodeGroupSummary& WithArn(const Aws::String& value) { SetArn(value); return *this;} + inline ComputeNodeGroupSummary& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} + inline ComputeNodeGroupSummary& WithArn(const char* value) { SetArn(value); return *this;} + ///@} + + ///@{ + /** + *

    The ID of the cluster of the compute node group.

    + */ + inline const Aws::String& GetClusterId() const{ return m_clusterId; } + inline bool ClusterIdHasBeenSet() const { return m_clusterIdHasBeenSet; } + inline void SetClusterId(const Aws::String& value) { m_clusterIdHasBeenSet = true; m_clusterId = value; } + inline void SetClusterId(Aws::String&& value) { m_clusterIdHasBeenSet = true; m_clusterId = std::move(value); } + inline void SetClusterId(const char* value) { m_clusterIdHasBeenSet = true; m_clusterId.assign(value); } + inline ComputeNodeGroupSummary& WithClusterId(const Aws::String& value) { SetClusterId(value); return *this;} + inline ComputeNodeGroupSummary& WithClusterId(Aws::String&& value) { SetClusterId(std::move(value)); return *this;} + inline ComputeNodeGroupSummary& WithClusterId(const char* value) { SetClusterId(value); return *this;} + ///@} + + ///@{ + /** + *

    The date and time the resource was created.

    + */ + inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } + inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } + inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAtHasBeenSet = true; m_createdAt = value; } + inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); } + inline ComputeNodeGroupSummary& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} + inline ComputeNodeGroupSummary& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The date and time the resource was modified.

    + */ + inline const Aws::Utils::DateTime& GetModifiedAt() const{ return m_modifiedAt; } + inline bool ModifiedAtHasBeenSet() const { return m_modifiedAtHasBeenSet; } + inline void SetModifiedAt(const Aws::Utils::DateTime& value) { m_modifiedAtHasBeenSet = true; m_modifiedAt = value; } + inline void SetModifiedAt(Aws::Utils::DateTime&& value) { m_modifiedAtHasBeenSet = true; m_modifiedAt = std::move(value); } + inline ComputeNodeGroupSummary& WithModifiedAt(const Aws::Utils::DateTime& value) { SetModifiedAt(value); return *this;} + inline ComputeNodeGroupSummary& WithModifiedAt(Aws::Utils::DateTime&& value) { SetModifiedAt(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The provisioning status of the compute node group.

    The + * provisioning status doesn't indicate the overall health of the compute node + * group.

    + */ + inline const ComputeNodeGroupStatus& GetStatus() const{ return m_status; } + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + inline void SetStatus(const ComputeNodeGroupStatus& value) { m_statusHasBeenSet = true; m_status = value; } + inline void SetStatus(ComputeNodeGroupStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + inline ComputeNodeGroupSummary& WithStatus(const ComputeNodeGroupStatus& value) { SetStatus(value); return *this;} + inline ComputeNodeGroupSummary& WithStatus(ComputeNodeGroupStatus&& value) { SetStatus(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_id; + bool m_idHasBeenSet = false; + + Aws::String m_arn; + bool m_arnHasBeenSet = false; + + Aws::String m_clusterId; + bool m_clusterIdHasBeenSet = false; + + Aws::Utils::DateTime m_createdAt; + bool m_createdAtHasBeenSet = false; + + Aws::Utils::DateTime m_modifiedAt; + bool m_modifiedAtHasBeenSet = false; + + ComputeNodeGroupStatus m_status; + bool m_statusHasBeenSet = false; + }; + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ConflictException.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ConflictException.h new file mode 100644 index 00000000000..cb626c50e1f --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ConflictException.h @@ -0,0 +1,101 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace PCS +{ +namespace Model +{ + + /** + *

    Your request has conflicting operations. This can occur if you're trying to + * perform more than 1 operation on the same resource at the same time.

    + * Examples

    • A cluster with the same name already + * exists.

    • A cluster isn't in ACTIVE status.

      + *
    • A cluster to delete is in an unstable state. For example, because + * it still has ACTIVE node groups or queues.

    • A + * queue already exists in a cluster.

    See Also:

    AWS + * API Reference

    + */ + class ConflictException + { + public: + AWS_PCS_API ConflictException(); + AWS_PCS_API ConflictException(Aws::Utils::Json::JsonView jsonValue); + AWS_PCS_API ConflictException& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_PCS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + + inline const Aws::String& GetMessage() const{ return m_message; } + inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } + inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; } + inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); } + inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); } + inline ConflictException& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} + inline ConflictException& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} + inline ConflictException& WithMessage(const char* value) { SetMessage(value); return *this;} + ///@} + + ///@{ + /** + *

    The unique identifier of the resource that caused the conflict exception. + *

    + */ + inline const Aws::String& GetResourceId() const{ return m_resourceId; } + inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; } + inline void SetResourceId(const Aws::String& value) { m_resourceIdHasBeenSet = true; m_resourceId = value; } + inline void SetResourceId(Aws::String&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::move(value); } + inline void SetResourceId(const char* value) { m_resourceIdHasBeenSet = true; m_resourceId.assign(value); } + inline ConflictException& WithResourceId(const Aws::String& value) { SetResourceId(value); return *this;} + inline ConflictException& WithResourceId(Aws::String&& value) { SetResourceId(std::move(value)); return *this;} + inline ConflictException& WithResourceId(const char* value) { SetResourceId(value); return *this;} + ///@} + + ///@{ + /** + *

    The type or category of the resource that caused the conflict exception." + *

    + */ + inline const Aws::String& GetResourceType() const{ return m_resourceType; } + inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; } + inline void SetResourceType(const Aws::String& value) { m_resourceTypeHasBeenSet = true; m_resourceType = value; } + inline void SetResourceType(Aws::String&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::move(value); } + inline void SetResourceType(const char* value) { m_resourceTypeHasBeenSet = true; m_resourceType.assign(value); } + inline ConflictException& WithResourceType(const Aws::String& value) { SetResourceType(value); return *this;} + inline ConflictException& WithResourceType(Aws::String&& value) { SetResourceType(std::move(value)); return *this;} + inline ConflictException& WithResourceType(const char* value) { SetResourceType(value); return *this;} + ///@} + private: + + Aws::String m_message; + bool m_messageHasBeenSet = false; + + Aws::String m_resourceId; + bool m_resourceIdHasBeenSet = false; + + Aws::String m_resourceType; + bool m_resourceTypeHasBeenSet = false; + }; + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/CreateClusterRequest.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/CreateClusterRequest.h new file mode 100644 index 00000000000..ad67a24d9d8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/CreateClusterRequest.h @@ -0,0 +1,175 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace PCS +{ +namespace Model +{ + + /** + */ + class CreateClusterRequest : public PCSRequest + { + public: + AWS_PCS_API CreateClusterRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "CreateCluster"; } + + AWS_PCS_API Aws::String SerializePayload() const override; + + AWS_PCS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

    A name to identify the cluster. Example: MyCluster

    + */ + inline const Aws::String& GetClusterName() const{ return m_clusterName; } + inline bool ClusterNameHasBeenSet() const { return m_clusterNameHasBeenSet; } + inline void SetClusterName(const Aws::String& value) { m_clusterNameHasBeenSet = true; m_clusterName = value; } + inline void SetClusterName(Aws::String&& value) { m_clusterNameHasBeenSet = true; m_clusterName = std::move(value); } + inline void SetClusterName(const char* value) { m_clusterNameHasBeenSet = true; m_clusterName.assign(value); } + inline CreateClusterRequest& WithClusterName(const Aws::String& value) { SetClusterName(value); return *this;} + inline CreateClusterRequest& WithClusterName(Aws::String&& value) { SetClusterName(std::move(value)); return *this;} + inline CreateClusterRequest& WithClusterName(const char* value) { SetClusterName(value); return *this;} + ///@} + + ///@{ + /** + *

    The cluster management and job scheduling software associated with the + * cluster.

    + */ + inline const SchedulerRequest& GetScheduler() const{ return m_scheduler; } + inline bool SchedulerHasBeenSet() const { return m_schedulerHasBeenSet; } + inline void SetScheduler(const SchedulerRequest& value) { m_schedulerHasBeenSet = true; m_scheduler = value; } + inline void SetScheduler(SchedulerRequest&& value) { m_schedulerHasBeenSet = true; m_scheduler = std::move(value); } + inline CreateClusterRequest& WithScheduler(const SchedulerRequest& value) { SetScheduler(value); return *this;} + inline CreateClusterRequest& WithScheduler(SchedulerRequest&& value) { SetScheduler(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    A value that determines the maximum number of compute nodes in the cluster + * and the maximum number of jobs (active and queued).

    • + * SMALL: 32 compute nodes and 256 jobs

    • + * MEDIUM: 512 compute nodes and 8192 jobs

    • + * LARGE: 2048 compute nodes and 16,384 jobs

    + */ + inline const Size& GetSize() const{ return m_size; } + inline bool SizeHasBeenSet() const { return m_sizeHasBeenSet; } + inline void SetSize(const Size& value) { m_sizeHasBeenSet = true; m_size = value; } + inline void SetSize(Size&& value) { m_sizeHasBeenSet = true; m_size = std::move(value); } + inline CreateClusterRequest& WithSize(const Size& value) { SetSize(value); return *this;} + inline CreateClusterRequest& WithSize(Size&& value) { SetSize(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The networking configuration used to set up the cluster's control plane.

    + */ + inline const NetworkingRequest& GetNetworking() const{ return m_networking; } + inline bool NetworkingHasBeenSet() const { return m_networkingHasBeenSet; } + inline void SetNetworking(const NetworkingRequest& value) { m_networkingHasBeenSet = true; m_networking = value; } + inline void SetNetworking(NetworkingRequest&& value) { m_networkingHasBeenSet = true; m_networking = std::move(value); } + inline CreateClusterRequest& WithNetworking(const NetworkingRequest& value) { SetNetworking(value); return *this;} + inline CreateClusterRequest& WithNetworking(NetworkingRequest&& value) { SetNetworking(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    Additional options related to the Slurm scheduler.

    + */ + inline const ClusterSlurmConfigurationRequest& GetSlurmConfiguration() const{ return m_slurmConfiguration; } + inline bool SlurmConfigurationHasBeenSet() const { return m_slurmConfigurationHasBeenSet; } + inline void SetSlurmConfiguration(const ClusterSlurmConfigurationRequest& value) { m_slurmConfigurationHasBeenSet = true; m_slurmConfiguration = value; } + inline void SetSlurmConfiguration(ClusterSlurmConfigurationRequest&& value) { m_slurmConfigurationHasBeenSet = true; m_slurmConfiguration = std::move(value); } + inline CreateClusterRequest& WithSlurmConfiguration(const ClusterSlurmConfigurationRequest& value) { SetSlurmConfiguration(value); return *this;} + inline CreateClusterRequest& WithSlurmConfiguration(ClusterSlurmConfigurationRequest&& value) { SetSlurmConfiguration(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    A unique, case-sensitive identifier that you provide to ensure the + * idempotency of the request. Idempotency ensures that an API request completes + * only once. With an idempotent request, if the original request completes + * successfully, the subsequent retries with the same client token return the + * result from the original successful request and they have no additional effect. + * If you don't specify a client token, the CLI and SDK automatically generate 1 + * for you.

    + */ + inline const Aws::String& GetClientToken() const{ return m_clientToken; } + inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } + inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } + inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } + inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } + inline CreateClusterRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} + inline CreateClusterRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} + inline CreateClusterRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} + ///@} + + ///@{ + /** + *

    1 or more tags added to the resource. Each tag consists of a tag key and tag + * value. The tag value is optional and can be an empty string.

    + */ + inline const Aws::Map& GetTags() const{ return m_tags; } + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + inline void SetTags(const Aws::Map& value) { m_tagsHasBeenSet = true; m_tags = value; } + inline void SetTags(Aws::Map&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } + inline CreateClusterRequest& WithTags(const Aws::Map& value) { SetTags(value); return *this;} + inline CreateClusterRequest& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} + inline CreateClusterRequest& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } + inline CreateClusterRequest& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } + inline CreateClusterRequest& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } + inline CreateClusterRequest& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } + inline CreateClusterRequest& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } + inline CreateClusterRequest& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } + inline CreateClusterRequest& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } + ///@} + private: + + Aws::String m_clusterName; + bool m_clusterNameHasBeenSet = false; + + SchedulerRequest m_scheduler; + bool m_schedulerHasBeenSet = false; + + Size m_size; + bool m_sizeHasBeenSet = false; + + NetworkingRequest m_networking; + bool m_networkingHasBeenSet = false; + + ClusterSlurmConfigurationRequest m_slurmConfiguration; + bool m_slurmConfigurationHasBeenSet = false; + + Aws::String m_clientToken; + bool m_clientTokenHasBeenSet = false; + + Aws::Map m_tags; + bool m_tagsHasBeenSet = false; + }; + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/CreateClusterResult.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/CreateClusterResult.h new file mode 100644 index 00000000000..3cc2d086718 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/CreateClusterResult.h @@ -0,0 +1,66 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace PCS +{ +namespace Model +{ + class CreateClusterResult + { + public: + AWS_PCS_API CreateClusterResult(); + AWS_PCS_API CreateClusterResult(const Aws::AmazonWebServiceResult& result); + AWS_PCS_API CreateClusterResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    The cluster resource.

    + */ + inline const Cluster& GetCluster() const{ return m_cluster; } + inline void SetCluster(const Cluster& value) { m_cluster = value; } + inline void SetCluster(Cluster&& value) { m_cluster = std::move(value); } + inline CreateClusterResult& WithCluster(const Cluster& value) { SetCluster(value); return *this;} + inline CreateClusterResult& WithCluster(Cluster&& value) { SetCluster(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline CreateClusterResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline CreateClusterResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline CreateClusterResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Cluster m_cluster; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/CreateComputeNodeGroupRequest.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/CreateComputeNodeGroupRequest.h new file mode 100644 index 00000000000..1e9ca13a332 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/CreateComputeNodeGroupRequest.h @@ -0,0 +1,285 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace PCS +{ +namespace Model +{ + + /** + */ + class CreateComputeNodeGroupRequest : public PCSRequest + { + public: + AWS_PCS_API CreateComputeNodeGroupRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "CreateComputeNodeGroup"; } + + AWS_PCS_API Aws::String SerializePayload() const override; + + AWS_PCS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

    The name or ID of the cluster to create a compute node group in.

    + */ + inline const Aws::String& GetClusterIdentifier() const{ return m_clusterIdentifier; } + inline bool ClusterIdentifierHasBeenSet() const { return m_clusterIdentifierHasBeenSet; } + inline void SetClusterIdentifier(const Aws::String& value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier = value; } + inline void SetClusterIdentifier(Aws::String&& value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier = std::move(value); } + inline void SetClusterIdentifier(const char* value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier.assign(value); } + inline CreateComputeNodeGroupRequest& WithClusterIdentifier(const Aws::String& value) { SetClusterIdentifier(value); return *this;} + inline CreateComputeNodeGroupRequest& WithClusterIdentifier(Aws::String&& value) { SetClusterIdentifier(std::move(value)); return *this;} + inline CreateComputeNodeGroupRequest& WithClusterIdentifier(const char* value) { SetClusterIdentifier(value); return *this;} + ///@} + + ///@{ + /** + *

    A name to identify the cluster. Example: MyCluster

    + */ + inline const Aws::String& GetComputeNodeGroupName() const{ return m_computeNodeGroupName; } + inline bool ComputeNodeGroupNameHasBeenSet() const { return m_computeNodeGroupNameHasBeenSet; } + inline void SetComputeNodeGroupName(const Aws::String& value) { m_computeNodeGroupNameHasBeenSet = true; m_computeNodeGroupName = value; } + inline void SetComputeNodeGroupName(Aws::String&& value) { m_computeNodeGroupNameHasBeenSet = true; m_computeNodeGroupName = std::move(value); } + inline void SetComputeNodeGroupName(const char* value) { m_computeNodeGroupNameHasBeenSet = true; m_computeNodeGroupName.assign(value); } + inline CreateComputeNodeGroupRequest& WithComputeNodeGroupName(const Aws::String& value) { SetComputeNodeGroupName(value); return *this;} + inline CreateComputeNodeGroupRequest& WithComputeNodeGroupName(Aws::String&& value) { SetComputeNodeGroupName(std::move(value)); return *this;} + inline CreateComputeNodeGroupRequest& WithComputeNodeGroupName(const char* value) { SetComputeNodeGroupName(value); return *this;} + ///@} + + ///@{ + /** + *

    The ID of the Amazon Machine Image (AMI) that Amazon Web Services PCS uses + * to launch compute nodes (Amazon EC2 instances). If you don't provide this value, + * Amazon Web Services PCS uses the AMI ID specified in the custom launch + * template.

    + */ + inline const Aws::String& GetAmiId() const{ return m_amiId; } + inline bool AmiIdHasBeenSet() const { return m_amiIdHasBeenSet; } + inline void SetAmiId(const Aws::String& value) { m_amiIdHasBeenSet = true; m_amiId = value; } + inline void SetAmiId(Aws::String&& value) { m_amiIdHasBeenSet = true; m_amiId = std::move(value); } + inline void SetAmiId(const char* value) { m_amiIdHasBeenSet = true; m_amiId.assign(value); } + inline CreateComputeNodeGroupRequest& WithAmiId(const Aws::String& value) { SetAmiId(value); return *this;} + inline CreateComputeNodeGroupRequest& WithAmiId(Aws::String&& value) { SetAmiId(std::move(value)); return *this;} + inline CreateComputeNodeGroupRequest& WithAmiId(const char* value) { SetAmiId(value); return *this;} + ///@} + + ///@{ + /** + *

    The list of subnet IDs where the compute node group launches instances. + * Subnets must be in the same VPC as the cluster.

    + */ + inline const Aws::Vector& GetSubnetIds() const{ return m_subnetIds; } + inline bool SubnetIdsHasBeenSet() const { return m_subnetIdsHasBeenSet; } + inline void SetSubnetIds(const Aws::Vector& value) { m_subnetIdsHasBeenSet = true; m_subnetIds = value; } + inline void SetSubnetIds(Aws::Vector&& value) { m_subnetIdsHasBeenSet = true; m_subnetIds = std::move(value); } + inline CreateComputeNodeGroupRequest& WithSubnetIds(const Aws::Vector& value) { SetSubnetIds(value); return *this;} + inline CreateComputeNodeGroupRequest& WithSubnetIds(Aws::Vector&& value) { SetSubnetIds(std::move(value)); return *this;} + inline CreateComputeNodeGroupRequest& AddSubnetIds(const Aws::String& value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(value); return *this; } + inline CreateComputeNodeGroupRequest& AddSubnetIds(Aws::String&& value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(std::move(value)); return *this; } + inline CreateComputeNodeGroupRequest& AddSubnetIds(const char* value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

    Specifies how EC2 instances are purchased on your behalf. Amazon Web Services + * PCS supports On-Demand and Spot instances. For more information, see Instance + * purchasing options in the Amazon Elastic Compute Cloud User Guide. If + * you don't provide this option, it defaults to On-Demand.

    + */ + inline const PurchaseOption& GetPurchaseOption() const{ return m_purchaseOption; } + inline bool PurchaseOptionHasBeenSet() const { return m_purchaseOptionHasBeenSet; } + inline void SetPurchaseOption(const PurchaseOption& value) { m_purchaseOptionHasBeenSet = true; m_purchaseOption = value; } + inline void SetPurchaseOption(PurchaseOption&& value) { m_purchaseOptionHasBeenSet = true; m_purchaseOption = std::move(value); } + inline CreateComputeNodeGroupRequest& WithPurchaseOption(const PurchaseOption& value) { SetPurchaseOption(value); return *this;} + inline CreateComputeNodeGroupRequest& WithPurchaseOption(PurchaseOption&& value) { SetPurchaseOption(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const CustomLaunchTemplate& GetCustomLaunchTemplate() const{ return m_customLaunchTemplate; } + inline bool CustomLaunchTemplateHasBeenSet() const { return m_customLaunchTemplateHasBeenSet; } + inline void SetCustomLaunchTemplate(const CustomLaunchTemplate& value) { m_customLaunchTemplateHasBeenSet = true; m_customLaunchTemplate = value; } + inline void SetCustomLaunchTemplate(CustomLaunchTemplate&& value) { m_customLaunchTemplateHasBeenSet = true; m_customLaunchTemplate = std::move(value); } + inline CreateComputeNodeGroupRequest& WithCustomLaunchTemplate(const CustomLaunchTemplate& value) { SetCustomLaunchTemplate(value); return *this;} + inline CreateComputeNodeGroupRequest& WithCustomLaunchTemplate(CustomLaunchTemplate&& value) { SetCustomLaunchTemplate(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The Amazon Resource Name (ARN) of the IAM instance profile used to pass an + * IAM role when launching EC2 instances. The role contained in your instance + * profile must have pcs:RegisterComputeNodeGroupInstance permissions + * attached in order to provision instances correctly. The resource identifier of + * the ARN must start with AWSPCS. For example, + * arn:aws:iam:123456789012:instance-profile/AWSPCSMyComputeNodeInstanceProfile. + *

    + */ + inline const Aws::String& GetIamInstanceProfileArn() const{ return m_iamInstanceProfileArn; } + inline bool IamInstanceProfileArnHasBeenSet() const { return m_iamInstanceProfileArnHasBeenSet; } + inline void SetIamInstanceProfileArn(const Aws::String& value) { m_iamInstanceProfileArnHasBeenSet = true; m_iamInstanceProfileArn = value; } + inline void SetIamInstanceProfileArn(Aws::String&& value) { m_iamInstanceProfileArnHasBeenSet = true; m_iamInstanceProfileArn = std::move(value); } + inline void SetIamInstanceProfileArn(const char* value) { m_iamInstanceProfileArnHasBeenSet = true; m_iamInstanceProfileArn.assign(value); } + inline CreateComputeNodeGroupRequest& WithIamInstanceProfileArn(const Aws::String& value) { SetIamInstanceProfileArn(value); return *this;} + inline CreateComputeNodeGroupRequest& WithIamInstanceProfileArn(Aws::String&& value) { SetIamInstanceProfileArn(std::move(value)); return *this;} + inline CreateComputeNodeGroupRequest& WithIamInstanceProfileArn(const char* value) { SetIamInstanceProfileArn(value); return *this;} + ///@} + + ///@{ + /** + *

    Specifies the boundaries of the compute node group auto scaling.

    + */ + inline const ScalingConfigurationRequest& GetScalingConfiguration() const{ return m_scalingConfiguration; } + inline bool ScalingConfigurationHasBeenSet() const { return m_scalingConfigurationHasBeenSet; } + inline void SetScalingConfiguration(const ScalingConfigurationRequest& value) { m_scalingConfigurationHasBeenSet = true; m_scalingConfiguration = value; } + inline void SetScalingConfiguration(ScalingConfigurationRequest&& value) { m_scalingConfigurationHasBeenSet = true; m_scalingConfiguration = std::move(value); } + inline CreateComputeNodeGroupRequest& WithScalingConfiguration(const ScalingConfigurationRequest& value) { SetScalingConfiguration(value); return *this;} + inline CreateComputeNodeGroupRequest& WithScalingConfiguration(ScalingConfigurationRequest&& value) { SetScalingConfiguration(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    A list of EC2 instance configurations that Amazon Web Services PCS can + * provision in the compute node group.

    + */ + inline const Aws::Vector& GetInstanceConfigs() const{ return m_instanceConfigs; } + inline bool InstanceConfigsHasBeenSet() const { return m_instanceConfigsHasBeenSet; } + inline void SetInstanceConfigs(const Aws::Vector& value) { m_instanceConfigsHasBeenSet = true; m_instanceConfigs = value; } + inline void SetInstanceConfigs(Aws::Vector&& value) { m_instanceConfigsHasBeenSet = true; m_instanceConfigs = std::move(value); } + inline CreateComputeNodeGroupRequest& WithInstanceConfigs(const Aws::Vector& value) { SetInstanceConfigs(value); return *this;} + inline CreateComputeNodeGroupRequest& WithInstanceConfigs(Aws::Vector&& value) { SetInstanceConfigs(std::move(value)); return *this;} + inline CreateComputeNodeGroupRequest& AddInstanceConfigs(const InstanceConfig& value) { m_instanceConfigsHasBeenSet = true; m_instanceConfigs.push_back(value); return *this; } + inline CreateComputeNodeGroupRequest& AddInstanceConfigs(InstanceConfig&& value) { m_instanceConfigsHasBeenSet = true; m_instanceConfigs.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const SpotOptions& GetSpotOptions() const{ return m_spotOptions; } + inline bool SpotOptionsHasBeenSet() const { return m_spotOptionsHasBeenSet; } + inline void SetSpotOptions(const SpotOptions& value) { m_spotOptionsHasBeenSet = true; m_spotOptions = value; } + inline void SetSpotOptions(SpotOptions&& value) { m_spotOptionsHasBeenSet = true; m_spotOptions = std::move(value); } + inline CreateComputeNodeGroupRequest& WithSpotOptions(const SpotOptions& value) { SetSpotOptions(value); return *this;} + inline CreateComputeNodeGroupRequest& WithSpotOptions(SpotOptions&& value) { SetSpotOptions(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    Additional options related to the Slurm scheduler.

    + */ + inline const ComputeNodeGroupSlurmConfigurationRequest& GetSlurmConfiguration() const{ return m_slurmConfiguration; } + inline bool SlurmConfigurationHasBeenSet() const { return m_slurmConfigurationHasBeenSet; } + inline void SetSlurmConfiguration(const ComputeNodeGroupSlurmConfigurationRequest& value) { m_slurmConfigurationHasBeenSet = true; m_slurmConfiguration = value; } + inline void SetSlurmConfiguration(ComputeNodeGroupSlurmConfigurationRequest&& value) { m_slurmConfigurationHasBeenSet = true; m_slurmConfiguration = std::move(value); } + inline CreateComputeNodeGroupRequest& WithSlurmConfiguration(const ComputeNodeGroupSlurmConfigurationRequest& value) { SetSlurmConfiguration(value); return *this;} + inline CreateComputeNodeGroupRequest& WithSlurmConfiguration(ComputeNodeGroupSlurmConfigurationRequest&& value) { SetSlurmConfiguration(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    A unique, case-sensitive identifier that you provide to ensure the + * idempotency of the request. Idempotency ensures that an API request completes + * only once. With an idempotent request, if the original request completes + * successfully, the subsequent retries with the same client token return the + * result from the original successful request and they have no additional effect. + * If you don't specify a client token, the CLI and SDK automatically generate 1 + * for you.

    + */ + inline const Aws::String& GetClientToken() const{ return m_clientToken; } + inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } + inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } + inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } + inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } + inline CreateComputeNodeGroupRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} + inline CreateComputeNodeGroupRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} + inline CreateComputeNodeGroupRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} + ///@} + + ///@{ + /** + *

    1 or more tags added to the resource. Each tag consists of a tag key and tag + * value. The tag value is optional and can be an empty string.

    + */ + inline const Aws::Map& GetTags() const{ return m_tags; } + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + inline void SetTags(const Aws::Map& value) { m_tagsHasBeenSet = true; m_tags = value; } + inline void SetTags(Aws::Map&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } + inline CreateComputeNodeGroupRequest& WithTags(const Aws::Map& value) { SetTags(value); return *this;} + inline CreateComputeNodeGroupRequest& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} + inline CreateComputeNodeGroupRequest& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } + inline CreateComputeNodeGroupRequest& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } + inline CreateComputeNodeGroupRequest& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } + inline CreateComputeNodeGroupRequest& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } + inline CreateComputeNodeGroupRequest& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } + inline CreateComputeNodeGroupRequest& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } + inline CreateComputeNodeGroupRequest& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } + ///@} + private: + + Aws::String m_clusterIdentifier; + bool m_clusterIdentifierHasBeenSet = false; + + Aws::String m_computeNodeGroupName; + bool m_computeNodeGroupNameHasBeenSet = false; + + Aws::String m_amiId; + bool m_amiIdHasBeenSet = false; + + Aws::Vector m_subnetIds; + bool m_subnetIdsHasBeenSet = false; + + PurchaseOption m_purchaseOption; + bool m_purchaseOptionHasBeenSet = false; + + CustomLaunchTemplate m_customLaunchTemplate; + bool m_customLaunchTemplateHasBeenSet = false; + + Aws::String m_iamInstanceProfileArn; + bool m_iamInstanceProfileArnHasBeenSet = false; + + ScalingConfigurationRequest m_scalingConfiguration; + bool m_scalingConfigurationHasBeenSet = false; + + Aws::Vector m_instanceConfigs; + bool m_instanceConfigsHasBeenSet = false; + + SpotOptions m_spotOptions; + bool m_spotOptionsHasBeenSet = false; + + ComputeNodeGroupSlurmConfigurationRequest m_slurmConfiguration; + bool m_slurmConfigurationHasBeenSet = false; + + Aws::String m_clientToken; + bool m_clientTokenHasBeenSet = false; + + Aws::Map m_tags; + bool m_tagsHasBeenSet = false; + }; + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/CreateComputeNodeGroupResult.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/CreateComputeNodeGroupResult.h new file mode 100644 index 00000000000..42dfceaa449 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/CreateComputeNodeGroupResult.h @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace PCS +{ +namespace Model +{ + class CreateComputeNodeGroupResult + { + public: + AWS_PCS_API CreateComputeNodeGroupResult(); + AWS_PCS_API CreateComputeNodeGroupResult(const Aws::AmazonWebServiceResult& result); + AWS_PCS_API CreateComputeNodeGroupResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const ComputeNodeGroup& GetComputeNodeGroup() const{ return m_computeNodeGroup; } + inline void SetComputeNodeGroup(const ComputeNodeGroup& value) { m_computeNodeGroup = value; } + inline void SetComputeNodeGroup(ComputeNodeGroup&& value) { m_computeNodeGroup = std::move(value); } + inline CreateComputeNodeGroupResult& WithComputeNodeGroup(const ComputeNodeGroup& value) { SetComputeNodeGroup(value); return *this;} + inline CreateComputeNodeGroupResult& WithComputeNodeGroup(ComputeNodeGroup&& value) { SetComputeNodeGroup(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline CreateComputeNodeGroupResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline CreateComputeNodeGroupResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline CreateComputeNodeGroupResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + ComputeNodeGroup m_computeNodeGroup; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/CreateQueueRequest.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/CreateQueueRequest.h new file mode 100644 index 00000000000..e00d927be3d --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/CreateQueueRequest.h @@ -0,0 +1,143 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace PCS +{ +namespace Model +{ + + /** + */ + class CreateQueueRequest : public PCSRequest + { + public: + AWS_PCS_API CreateQueueRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "CreateQueue"; } + + AWS_PCS_API Aws::String SerializePayload() const override; + + AWS_PCS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

    The name or ID of the cluster for which to create a queue.

    + */ + inline const Aws::String& GetClusterIdentifier() const{ return m_clusterIdentifier; } + inline bool ClusterIdentifierHasBeenSet() const { return m_clusterIdentifierHasBeenSet; } + inline void SetClusterIdentifier(const Aws::String& value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier = value; } + inline void SetClusterIdentifier(Aws::String&& value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier = std::move(value); } + inline void SetClusterIdentifier(const char* value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier.assign(value); } + inline CreateQueueRequest& WithClusterIdentifier(const Aws::String& value) { SetClusterIdentifier(value); return *this;} + inline CreateQueueRequest& WithClusterIdentifier(Aws::String&& value) { SetClusterIdentifier(std::move(value)); return *this;} + inline CreateQueueRequest& WithClusterIdentifier(const char* value) { SetClusterIdentifier(value); return *this;} + ///@} + + ///@{ + /** + *

    A name to identify the queue.

    + */ + inline const Aws::String& GetQueueName() const{ return m_queueName; } + inline bool QueueNameHasBeenSet() const { return m_queueNameHasBeenSet; } + inline void SetQueueName(const Aws::String& value) { m_queueNameHasBeenSet = true; m_queueName = value; } + inline void SetQueueName(Aws::String&& value) { m_queueNameHasBeenSet = true; m_queueName = std::move(value); } + inline void SetQueueName(const char* value) { m_queueNameHasBeenSet = true; m_queueName.assign(value); } + inline CreateQueueRequest& WithQueueName(const Aws::String& value) { SetQueueName(value); return *this;} + inline CreateQueueRequest& WithQueueName(Aws::String&& value) { SetQueueName(std::move(value)); return *this;} + inline CreateQueueRequest& WithQueueName(const char* value) { SetQueueName(value); return *this;} + ///@} + + ///@{ + /** + *

    The list of compute node group configurations to associate with the queue. + * Queues assign jobs to associated compute node groups.

    + */ + inline const Aws::Vector& GetComputeNodeGroupConfigurations() const{ return m_computeNodeGroupConfigurations; } + inline bool ComputeNodeGroupConfigurationsHasBeenSet() const { return m_computeNodeGroupConfigurationsHasBeenSet; } + inline void SetComputeNodeGroupConfigurations(const Aws::Vector& value) { m_computeNodeGroupConfigurationsHasBeenSet = true; m_computeNodeGroupConfigurations = value; } + inline void SetComputeNodeGroupConfigurations(Aws::Vector&& value) { m_computeNodeGroupConfigurationsHasBeenSet = true; m_computeNodeGroupConfigurations = std::move(value); } + inline CreateQueueRequest& WithComputeNodeGroupConfigurations(const Aws::Vector& value) { SetComputeNodeGroupConfigurations(value); return *this;} + inline CreateQueueRequest& WithComputeNodeGroupConfigurations(Aws::Vector&& value) { SetComputeNodeGroupConfigurations(std::move(value)); return *this;} + inline CreateQueueRequest& AddComputeNodeGroupConfigurations(const ComputeNodeGroupConfiguration& value) { m_computeNodeGroupConfigurationsHasBeenSet = true; m_computeNodeGroupConfigurations.push_back(value); return *this; } + inline CreateQueueRequest& AddComputeNodeGroupConfigurations(ComputeNodeGroupConfiguration&& value) { m_computeNodeGroupConfigurationsHasBeenSet = true; m_computeNodeGroupConfigurations.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

    A unique, case-sensitive identifier that you provide to ensure the + * idempotency of the request. Idempotency ensures that an API request completes + * only once. With an idempotent request, if the original request completes + * successfully, the subsequent retries with the same client token return the + * result from the original successful request and they have no additional effect. + * If you don't specify a client token, the CLI and SDK automatically generate 1 + * for you.

    + */ + inline const Aws::String& GetClientToken() const{ return m_clientToken; } + inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } + inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } + inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } + inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } + inline CreateQueueRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} + inline CreateQueueRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} + inline CreateQueueRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} + ///@} + + ///@{ + /** + *

    1 or more tags added to the resource. Each tag consists of a tag key and tag + * value. The tag value is optional and can be an empty string.

    + */ + inline const Aws::Map& GetTags() const{ return m_tags; } + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + inline void SetTags(const Aws::Map& value) { m_tagsHasBeenSet = true; m_tags = value; } + inline void SetTags(Aws::Map&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } + inline CreateQueueRequest& WithTags(const Aws::Map& value) { SetTags(value); return *this;} + inline CreateQueueRequest& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} + inline CreateQueueRequest& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } + inline CreateQueueRequest& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } + inline CreateQueueRequest& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } + inline CreateQueueRequest& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } + inline CreateQueueRequest& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } + inline CreateQueueRequest& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } + inline CreateQueueRequest& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } + ///@} + private: + + Aws::String m_clusterIdentifier; + bool m_clusterIdentifierHasBeenSet = false; + + Aws::String m_queueName; + bool m_queueNameHasBeenSet = false; + + Aws::Vector m_computeNodeGroupConfigurations; + bool m_computeNodeGroupConfigurationsHasBeenSet = false; + + Aws::String m_clientToken; + bool m_clientTokenHasBeenSet = false; + + Aws::Map m_tags; + bool m_tagsHasBeenSet = false; + }; + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/CreateQueueResult.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/CreateQueueResult.h new file mode 100644 index 00000000000..3d25011c0a6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/CreateQueueResult.h @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace PCS +{ +namespace Model +{ + class CreateQueueResult + { + public: + AWS_PCS_API CreateQueueResult(); + AWS_PCS_API CreateQueueResult(const Aws::AmazonWebServiceResult& result); + AWS_PCS_API CreateQueueResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Queue& GetQueue() const{ return m_queue; } + inline void SetQueue(const Queue& value) { m_queue = value; } + inline void SetQueue(Queue&& value) { m_queue = std::move(value); } + inline CreateQueueResult& WithQueue(const Queue& value) { SetQueue(value); return *this;} + inline CreateQueueResult& WithQueue(Queue&& value) { SetQueue(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline CreateQueueResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline CreateQueueResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline CreateQueueResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Queue m_queue; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/CustomLaunchTemplate.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/CustomLaunchTemplate.h new file mode 100644 index 00000000000..eefcd2003c3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/CustomLaunchTemplate.h @@ -0,0 +1,80 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace PCS +{ +namespace Model +{ + + /** + *

    An Amazon EC2 launch template Amazon Web Services PCS uses to launch compute + * nodes.

    See Also:

    AWS + * API Reference

    + */ + class CustomLaunchTemplate + { + public: + AWS_PCS_API CustomLaunchTemplate(); + AWS_PCS_API CustomLaunchTemplate(Aws::Utils::Json::JsonView jsonValue); + AWS_PCS_API CustomLaunchTemplate& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_PCS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The ID of the EC2 launch template to use to provision instances.

    + * Example: lt-xxxx

    + */ + inline const Aws::String& GetId() const{ return m_id; } + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + inline CustomLaunchTemplate& WithId(const Aws::String& value) { SetId(value); return *this;} + inline CustomLaunchTemplate& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + inline CustomLaunchTemplate& WithId(const char* value) { SetId(value); return *this;} + ///@} + + ///@{ + /** + *

    The version of the EC2 launch template to use to provision instances.

    + */ + inline const Aws::String& GetVersion() const{ return m_version; } + inline bool VersionHasBeenSet() const { return m_versionHasBeenSet; } + inline void SetVersion(const Aws::String& value) { m_versionHasBeenSet = true; m_version = value; } + inline void SetVersion(Aws::String&& value) { m_versionHasBeenSet = true; m_version = std::move(value); } + inline void SetVersion(const char* value) { m_versionHasBeenSet = true; m_version.assign(value); } + inline CustomLaunchTemplate& WithVersion(const Aws::String& value) { SetVersion(value); return *this;} + inline CustomLaunchTemplate& WithVersion(Aws::String&& value) { SetVersion(std::move(value)); return *this;} + inline CustomLaunchTemplate& WithVersion(const char* value) { SetVersion(value); return *this;} + ///@} + private: + + Aws::String m_id; + bool m_idHasBeenSet = false; + + Aws::String m_version; + bool m_versionHasBeenSet = false; + }; + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/DeleteClusterRequest.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/DeleteClusterRequest.h new file mode 100644 index 00000000000..5d55dba19bf --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/DeleteClusterRequest.h @@ -0,0 +1,82 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace PCS +{ +namespace Model +{ + + /** + */ + class DeleteClusterRequest : public PCSRequest + { + public: + AWS_PCS_API DeleteClusterRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "DeleteCluster"; } + + AWS_PCS_API Aws::String SerializePayload() const override; + + AWS_PCS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

    The name or ID of the cluster to delete.

    + */ + inline const Aws::String& GetClusterIdentifier() const{ return m_clusterIdentifier; } + inline bool ClusterIdentifierHasBeenSet() const { return m_clusterIdentifierHasBeenSet; } + inline void SetClusterIdentifier(const Aws::String& value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier = value; } + inline void SetClusterIdentifier(Aws::String&& value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier = std::move(value); } + inline void SetClusterIdentifier(const char* value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier.assign(value); } + inline DeleteClusterRequest& WithClusterIdentifier(const Aws::String& value) { SetClusterIdentifier(value); return *this;} + inline DeleteClusterRequest& WithClusterIdentifier(Aws::String&& value) { SetClusterIdentifier(std::move(value)); return *this;} + inline DeleteClusterRequest& WithClusterIdentifier(const char* value) { SetClusterIdentifier(value); return *this;} + ///@} + + ///@{ + /** + *

    A unique, case-sensitive identifier that you provide to ensure the + * idempotency of the request. Idempotency ensures that an API request completes + * only once. With an idempotent request, if the original request completes + * successfully, the subsequent retries with the same client token return the + * result from the original successful request and they have no additional effect. + * If you don't specify a client token, the CLI and SDK automatically generate 1 + * for you.

    + */ + inline const Aws::String& GetClientToken() const{ return m_clientToken; } + inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } + inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } + inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } + inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } + inline DeleteClusterRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} + inline DeleteClusterRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} + inline DeleteClusterRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} + ///@} + private: + + Aws::String m_clusterIdentifier; + bool m_clusterIdentifierHasBeenSet = false; + + Aws::String m_clientToken; + bool m_clientTokenHasBeenSet = false; + }; + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/DeleteClusterResult.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/DeleteClusterResult.h new file mode 100644 index 00000000000..b44c4acb35b --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/DeleteClusterResult.h @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace PCS +{ +namespace Model +{ + class DeleteClusterResult + { + public: + AWS_PCS_API DeleteClusterResult(); + AWS_PCS_API DeleteClusterResult(const Aws::AmazonWebServiceResult& result); + AWS_PCS_API DeleteClusterResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline DeleteClusterResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline DeleteClusterResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline DeleteClusterResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/DeleteComputeNodeGroupRequest.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/DeleteComputeNodeGroupRequest.h new file mode 100644 index 00000000000..c0f7774f82e --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/DeleteComputeNodeGroupRequest.h @@ -0,0 +1,99 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace PCS +{ +namespace Model +{ + + /** + */ + class DeleteComputeNodeGroupRequest : public PCSRequest + { + public: + AWS_PCS_API DeleteComputeNodeGroupRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "DeleteComputeNodeGroup"; } + + AWS_PCS_API Aws::String SerializePayload() const override; + + AWS_PCS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

    The name or ID of the cluster of the compute node group.

    + */ + inline const Aws::String& GetClusterIdentifier() const{ return m_clusterIdentifier; } + inline bool ClusterIdentifierHasBeenSet() const { return m_clusterIdentifierHasBeenSet; } + inline void SetClusterIdentifier(const Aws::String& value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier = value; } + inline void SetClusterIdentifier(Aws::String&& value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier = std::move(value); } + inline void SetClusterIdentifier(const char* value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier.assign(value); } + inline DeleteComputeNodeGroupRequest& WithClusterIdentifier(const Aws::String& value) { SetClusterIdentifier(value); return *this;} + inline DeleteComputeNodeGroupRequest& WithClusterIdentifier(Aws::String&& value) { SetClusterIdentifier(std::move(value)); return *this;} + inline DeleteComputeNodeGroupRequest& WithClusterIdentifier(const char* value) { SetClusterIdentifier(value); return *this;} + ///@} + + ///@{ + /** + *

    The name or ID of the compute node group to delete.

    + */ + inline const Aws::String& GetComputeNodeGroupIdentifier() const{ return m_computeNodeGroupIdentifier; } + inline bool ComputeNodeGroupIdentifierHasBeenSet() const { return m_computeNodeGroupIdentifierHasBeenSet; } + inline void SetComputeNodeGroupIdentifier(const Aws::String& value) { m_computeNodeGroupIdentifierHasBeenSet = true; m_computeNodeGroupIdentifier = value; } + inline void SetComputeNodeGroupIdentifier(Aws::String&& value) { m_computeNodeGroupIdentifierHasBeenSet = true; m_computeNodeGroupIdentifier = std::move(value); } + inline void SetComputeNodeGroupIdentifier(const char* value) { m_computeNodeGroupIdentifierHasBeenSet = true; m_computeNodeGroupIdentifier.assign(value); } + inline DeleteComputeNodeGroupRequest& WithComputeNodeGroupIdentifier(const Aws::String& value) { SetComputeNodeGroupIdentifier(value); return *this;} + inline DeleteComputeNodeGroupRequest& WithComputeNodeGroupIdentifier(Aws::String&& value) { SetComputeNodeGroupIdentifier(std::move(value)); return *this;} + inline DeleteComputeNodeGroupRequest& WithComputeNodeGroupIdentifier(const char* value) { SetComputeNodeGroupIdentifier(value); return *this;} + ///@} + + ///@{ + /** + *

    A unique, case-sensitive identifier that you provide to ensure the + * idempotency of the request. Idempotency ensures that an API request completes + * only once. With an idempotent request, if the original request completes + * successfully, the subsequent retries with the same client token return the + * result from the original successful request and they have no additional effect. + * If you don't specify a client token, the CLI and SDK automatically generate 1 + * for you.

    + */ + inline const Aws::String& GetClientToken() const{ return m_clientToken; } + inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } + inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } + inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } + inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } + inline DeleteComputeNodeGroupRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} + inline DeleteComputeNodeGroupRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} + inline DeleteComputeNodeGroupRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} + ///@} + private: + + Aws::String m_clusterIdentifier; + bool m_clusterIdentifierHasBeenSet = false; + + Aws::String m_computeNodeGroupIdentifier; + bool m_computeNodeGroupIdentifierHasBeenSet = false; + + Aws::String m_clientToken; + bool m_clientTokenHasBeenSet = false; + }; + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/DeleteComputeNodeGroupResult.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/DeleteComputeNodeGroupResult.h new file mode 100644 index 00000000000..91802c6d9b0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/DeleteComputeNodeGroupResult.h @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace PCS +{ +namespace Model +{ + class DeleteComputeNodeGroupResult + { + public: + AWS_PCS_API DeleteComputeNodeGroupResult(); + AWS_PCS_API DeleteComputeNodeGroupResult(const Aws::AmazonWebServiceResult& result); + AWS_PCS_API DeleteComputeNodeGroupResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline DeleteComputeNodeGroupResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline DeleteComputeNodeGroupResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline DeleteComputeNodeGroupResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/DeleteQueueRequest.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/DeleteQueueRequest.h new file mode 100644 index 00000000000..4d15008a940 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/DeleteQueueRequest.h @@ -0,0 +1,99 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace PCS +{ +namespace Model +{ + + /** + */ + class DeleteQueueRequest : public PCSRequest + { + public: + AWS_PCS_API DeleteQueueRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "DeleteQueue"; } + + AWS_PCS_API Aws::String SerializePayload() const override; + + AWS_PCS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

    The name or ID of the cluster of the queue.

    + */ + inline const Aws::String& GetClusterIdentifier() const{ return m_clusterIdentifier; } + inline bool ClusterIdentifierHasBeenSet() const { return m_clusterIdentifierHasBeenSet; } + inline void SetClusterIdentifier(const Aws::String& value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier = value; } + inline void SetClusterIdentifier(Aws::String&& value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier = std::move(value); } + inline void SetClusterIdentifier(const char* value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier.assign(value); } + inline DeleteQueueRequest& WithClusterIdentifier(const Aws::String& value) { SetClusterIdentifier(value); return *this;} + inline DeleteQueueRequest& WithClusterIdentifier(Aws::String&& value) { SetClusterIdentifier(std::move(value)); return *this;} + inline DeleteQueueRequest& WithClusterIdentifier(const char* value) { SetClusterIdentifier(value); return *this;} + ///@} + + ///@{ + /** + *

    The name or ID of the queue to delete.

    + */ + inline const Aws::String& GetQueueIdentifier() const{ return m_queueIdentifier; } + inline bool QueueIdentifierHasBeenSet() const { return m_queueIdentifierHasBeenSet; } + inline void SetQueueIdentifier(const Aws::String& value) { m_queueIdentifierHasBeenSet = true; m_queueIdentifier = value; } + inline void SetQueueIdentifier(Aws::String&& value) { m_queueIdentifierHasBeenSet = true; m_queueIdentifier = std::move(value); } + inline void SetQueueIdentifier(const char* value) { m_queueIdentifierHasBeenSet = true; m_queueIdentifier.assign(value); } + inline DeleteQueueRequest& WithQueueIdentifier(const Aws::String& value) { SetQueueIdentifier(value); return *this;} + inline DeleteQueueRequest& WithQueueIdentifier(Aws::String&& value) { SetQueueIdentifier(std::move(value)); return *this;} + inline DeleteQueueRequest& WithQueueIdentifier(const char* value) { SetQueueIdentifier(value); return *this;} + ///@} + + ///@{ + /** + *

    A unique, case-sensitive identifier that you provide to ensure the + * idempotency of the request. Idempotency ensures that an API request completes + * only once. With an idempotent request, if the original request completes + * successfully, the subsequent retries with the same client token return the + * result from the original successful request and they have no additional effect. + * If you don't specify a client token, the CLI and SDK automatically generate 1 + * for you.

    + */ + inline const Aws::String& GetClientToken() const{ return m_clientToken; } + inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } + inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } + inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } + inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } + inline DeleteQueueRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} + inline DeleteQueueRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} + inline DeleteQueueRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} + ///@} + private: + + Aws::String m_clusterIdentifier; + bool m_clusterIdentifierHasBeenSet = false; + + Aws::String m_queueIdentifier; + bool m_queueIdentifierHasBeenSet = false; + + Aws::String m_clientToken; + bool m_clientTokenHasBeenSet = false; + }; + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/DeleteQueueResult.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/DeleteQueueResult.h new file mode 100644 index 00000000000..190138009a7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/DeleteQueueResult.h @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace PCS +{ +namespace Model +{ + class DeleteQueueResult + { + public: + AWS_PCS_API DeleteQueueResult(); + AWS_PCS_API DeleteQueueResult(const Aws::AmazonWebServiceResult& result); + AWS_PCS_API DeleteQueueResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline DeleteQueueResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline DeleteQueueResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline DeleteQueueResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/Endpoint.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/Endpoint.h new file mode 100644 index 00000000000..258c613c770 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/Endpoint.h @@ -0,0 +1,113 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace PCS +{ +namespace Model +{ + + /** + *

    An endpoint available for interaction with the scheduler.

    See + * Also:

    AWS API + * Reference

    + */ + class Endpoint + { + public: + AWS_PCS_API Endpoint(); + AWS_PCS_API Endpoint(Aws::Utils::Json::JsonView jsonValue); + AWS_PCS_API Endpoint& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_PCS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    Indicates the type of endpoint running at the specific IP address.

    + */ + inline const EndpointType& GetType() const{ return m_type; } + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + inline void SetType(const EndpointType& value) { m_typeHasBeenSet = true; m_type = value; } + inline void SetType(EndpointType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } + inline Endpoint& WithType(const EndpointType& value) { SetType(value); return *this;} + inline Endpoint& WithType(EndpointType&& value) { SetType(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The endpoint's private IP address.

    Example: 2.2.2.2

    + */ + inline const Aws::String& GetPrivateIpAddress() const{ return m_privateIpAddress; } + inline bool PrivateIpAddressHasBeenSet() const { return m_privateIpAddressHasBeenSet; } + inline void SetPrivateIpAddress(const Aws::String& value) { m_privateIpAddressHasBeenSet = true; m_privateIpAddress = value; } + inline void SetPrivateIpAddress(Aws::String&& value) { m_privateIpAddressHasBeenSet = true; m_privateIpAddress = std::move(value); } + inline void SetPrivateIpAddress(const char* value) { m_privateIpAddressHasBeenSet = true; m_privateIpAddress.assign(value); } + inline Endpoint& WithPrivateIpAddress(const Aws::String& value) { SetPrivateIpAddress(value); return *this;} + inline Endpoint& WithPrivateIpAddress(Aws::String&& value) { SetPrivateIpAddress(std::move(value)); return *this;} + inline Endpoint& WithPrivateIpAddress(const char* value) { SetPrivateIpAddress(value); return *this;} + ///@} + + ///@{ + /** + *

    The endpoint's public IP address.

    Example: 1.1.1.1

    + */ + inline const Aws::String& GetPublicIpAddress() const{ return m_publicIpAddress; } + inline bool PublicIpAddressHasBeenSet() const { return m_publicIpAddressHasBeenSet; } + inline void SetPublicIpAddress(const Aws::String& value) { m_publicIpAddressHasBeenSet = true; m_publicIpAddress = value; } + inline void SetPublicIpAddress(Aws::String&& value) { m_publicIpAddressHasBeenSet = true; m_publicIpAddress = std::move(value); } + inline void SetPublicIpAddress(const char* value) { m_publicIpAddressHasBeenSet = true; m_publicIpAddress.assign(value); } + inline Endpoint& WithPublicIpAddress(const Aws::String& value) { SetPublicIpAddress(value); return *this;} + inline Endpoint& WithPublicIpAddress(Aws::String&& value) { SetPublicIpAddress(std::move(value)); return *this;} + inline Endpoint& WithPublicIpAddress(const char* value) { SetPublicIpAddress(value); return *this;} + ///@} + + ///@{ + /** + *

    The endpoint's connection port number.

    Example: 1234 + *

    + */ + inline const Aws::String& GetPort() const{ return m_port; } + inline bool PortHasBeenSet() const { return m_portHasBeenSet; } + inline void SetPort(const Aws::String& value) { m_portHasBeenSet = true; m_port = value; } + inline void SetPort(Aws::String&& value) { m_portHasBeenSet = true; m_port = std::move(value); } + inline void SetPort(const char* value) { m_portHasBeenSet = true; m_port.assign(value); } + inline Endpoint& WithPort(const Aws::String& value) { SetPort(value); return *this;} + inline Endpoint& WithPort(Aws::String&& value) { SetPort(std::move(value)); return *this;} + inline Endpoint& WithPort(const char* value) { SetPort(value); return *this;} + ///@} + private: + + EndpointType m_type; + bool m_typeHasBeenSet = false; + + Aws::String m_privateIpAddress; + bool m_privateIpAddressHasBeenSet = false; + + Aws::String m_publicIpAddress; + bool m_publicIpAddressHasBeenSet = false; + + Aws::String m_port; + bool m_portHasBeenSet = false; + }; + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/EndpointType.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/EndpointType.h new file mode 100644 index 00000000000..dcb82bbae93 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/EndpointType.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace PCS +{ +namespace Model +{ + enum class EndpointType + { + NOT_SET, + SLURMCTLD, + SLURMDBD + }; + +namespace EndpointTypeMapper +{ +AWS_PCS_API EndpointType GetEndpointTypeForName(const Aws::String& name); + +AWS_PCS_API Aws::String GetNameForEndpointType(EndpointType value); +} // namespace EndpointTypeMapper +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ErrorInfo.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ErrorInfo.h new file mode 100644 index 00000000000..d437b479b19 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ErrorInfo.h @@ -0,0 +1,78 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace PCS +{ +namespace Model +{ + + /** + *

    An error that occurred during resource creation.

    See Also:

    + * AWS + * API Reference

    + */ + class ErrorInfo + { + public: + AWS_PCS_API ErrorInfo(); + AWS_PCS_API ErrorInfo(Aws::Utils::Json::JsonView jsonValue); + AWS_PCS_API ErrorInfo& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_PCS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The short-form error code.

    + */ + inline const Aws::String& GetCode() const{ return m_code; } + inline bool CodeHasBeenSet() const { return m_codeHasBeenSet; } + inline void SetCode(const Aws::String& value) { m_codeHasBeenSet = true; m_code = value; } + inline void SetCode(Aws::String&& value) { m_codeHasBeenSet = true; m_code = std::move(value); } + inline void SetCode(const char* value) { m_codeHasBeenSet = true; m_code.assign(value); } + inline ErrorInfo& WithCode(const Aws::String& value) { SetCode(value); return *this;} + inline ErrorInfo& WithCode(Aws::String&& value) { SetCode(std::move(value)); return *this;} + inline ErrorInfo& WithCode(const char* value) { SetCode(value); return *this;} + ///@} + + ///@{ + /** + *

    The detailed error information.

    + */ + inline const Aws::String& GetMessage() const{ return m_message; } + inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } + inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; } + inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); } + inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); } + inline ErrorInfo& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} + inline ErrorInfo& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} + inline ErrorInfo& WithMessage(const char* value) { SetMessage(value); return *this;} + ///@} + private: + + Aws::String m_code; + bool m_codeHasBeenSet = false; + + Aws::String m_message; + bool m_messageHasBeenSet = false; + }; + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/GetClusterRequest.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/GetClusterRequest.h new file mode 100644 index 00000000000..969521f9e6e --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/GetClusterRequest.h @@ -0,0 +1,58 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace PCS +{ +namespace Model +{ + + /** + */ + class GetClusterRequest : public PCSRequest + { + public: + AWS_PCS_API GetClusterRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetCluster"; } + + AWS_PCS_API Aws::String SerializePayload() const override; + + AWS_PCS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

    The name or ID of the cluster of the queue.

    + */ + inline const Aws::String& GetClusterIdentifier() const{ return m_clusterIdentifier; } + inline bool ClusterIdentifierHasBeenSet() const { return m_clusterIdentifierHasBeenSet; } + inline void SetClusterIdentifier(const Aws::String& value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier = value; } + inline void SetClusterIdentifier(Aws::String&& value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier = std::move(value); } + inline void SetClusterIdentifier(const char* value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier.assign(value); } + inline GetClusterRequest& WithClusterIdentifier(const Aws::String& value) { SetClusterIdentifier(value); return *this;} + inline GetClusterRequest& WithClusterIdentifier(Aws::String&& value) { SetClusterIdentifier(std::move(value)); return *this;} + inline GetClusterRequest& WithClusterIdentifier(const char* value) { SetClusterIdentifier(value); return *this;} + ///@} + private: + + Aws::String m_clusterIdentifier; + bool m_clusterIdentifierHasBeenSet = false; + }; + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/GetClusterResult.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/GetClusterResult.h new file mode 100644 index 00000000000..b42728cc8e4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/GetClusterResult.h @@ -0,0 +1,66 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace PCS +{ +namespace Model +{ + class GetClusterResult + { + public: + AWS_PCS_API GetClusterResult(); + AWS_PCS_API GetClusterResult(const Aws::AmazonWebServiceResult& result); + AWS_PCS_API GetClusterResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    The cluster resource.

    + */ + inline const Cluster& GetCluster() const{ return m_cluster; } + inline void SetCluster(const Cluster& value) { m_cluster = value; } + inline void SetCluster(Cluster&& value) { m_cluster = std::move(value); } + inline GetClusterResult& WithCluster(const Cluster& value) { SetCluster(value); return *this;} + inline GetClusterResult& WithCluster(Cluster&& value) { SetCluster(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline GetClusterResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline GetClusterResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline GetClusterResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Cluster m_cluster; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/GetComputeNodeGroupRequest.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/GetComputeNodeGroupRequest.h new file mode 100644 index 00000000000..7a86efa04aa --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/GetComputeNodeGroupRequest.h @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace PCS +{ +namespace Model +{ + + /** + */ + class GetComputeNodeGroupRequest : public PCSRequest + { + public: + AWS_PCS_API GetComputeNodeGroupRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetComputeNodeGroup"; } + + AWS_PCS_API Aws::String SerializePayload() const override; + + AWS_PCS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

    The name or ID of the cluster.

    + */ + inline const Aws::String& GetClusterIdentifier() const{ return m_clusterIdentifier; } + inline bool ClusterIdentifierHasBeenSet() const { return m_clusterIdentifierHasBeenSet; } + inline void SetClusterIdentifier(const Aws::String& value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier = value; } + inline void SetClusterIdentifier(Aws::String&& value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier = std::move(value); } + inline void SetClusterIdentifier(const char* value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier.assign(value); } + inline GetComputeNodeGroupRequest& WithClusterIdentifier(const Aws::String& value) { SetClusterIdentifier(value); return *this;} + inline GetComputeNodeGroupRequest& WithClusterIdentifier(Aws::String&& value) { SetClusterIdentifier(std::move(value)); return *this;} + inline GetComputeNodeGroupRequest& WithClusterIdentifier(const char* value) { SetClusterIdentifier(value); return *this;} + ///@} + + ///@{ + /** + *

    The name or ID of the compute node group.

    + */ + inline const Aws::String& GetComputeNodeGroupIdentifier() const{ return m_computeNodeGroupIdentifier; } + inline bool ComputeNodeGroupIdentifierHasBeenSet() const { return m_computeNodeGroupIdentifierHasBeenSet; } + inline void SetComputeNodeGroupIdentifier(const Aws::String& value) { m_computeNodeGroupIdentifierHasBeenSet = true; m_computeNodeGroupIdentifier = value; } + inline void SetComputeNodeGroupIdentifier(Aws::String&& value) { m_computeNodeGroupIdentifierHasBeenSet = true; m_computeNodeGroupIdentifier = std::move(value); } + inline void SetComputeNodeGroupIdentifier(const char* value) { m_computeNodeGroupIdentifierHasBeenSet = true; m_computeNodeGroupIdentifier.assign(value); } + inline GetComputeNodeGroupRequest& WithComputeNodeGroupIdentifier(const Aws::String& value) { SetComputeNodeGroupIdentifier(value); return *this;} + inline GetComputeNodeGroupRequest& WithComputeNodeGroupIdentifier(Aws::String&& value) { SetComputeNodeGroupIdentifier(std::move(value)); return *this;} + inline GetComputeNodeGroupRequest& WithComputeNodeGroupIdentifier(const char* value) { SetComputeNodeGroupIdentifier(value); return *this;} + ///@} + private: + + Aws::String m_clusterIdentifier; + bool m_clusterIdentifierHasBeenSet = false; + + Aws::String m_computeNodeGroupIdentifier; + bool m_computeNodeGroupIdentifierHasBeenSet = false; + }; + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/GetComputeNodeGroupResult.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/GetComputeNodeGroupResult.h new file mode 100644 index 00000000000..11873de0220 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/GetComputeNodeGroupResult.h @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace PCS +{ +namespace Model +{ + class GetComputeNodeGroupResult + { + public: + AWS_PCS_API GetComputeNodeGroupResult(); + AWS_PCS_API GetComputeNodeGroupResult(const Aws::AmazonWebServiceResult& result); + AWS_PCS_API GetComputeNodeGroupResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const ComputeNodeGroup& GetComputeNodeGroup() const{ return m_computeNodeGroup; } + inline void SetComputeNodeGroup(const ComputeNodeGroup& value) { m_computeNodeGroup = value; } + inline void SetComputeNodeGroup(ComputeNodeGroup&& value) { m_computeNodeGroup = std::move(value); } + inline GetComputeNodeGroupResult& WithComputeNodeGroup(const ComputeNodeGroup& value) { SetComputeNodeGroup(value); return *this;} + inline GetComputeNodeGroupResult& WithComputeNodeGroup(ComputeNodeGroup&& value) { SetComputeNodeGroup(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline GetComputeNodeGroupResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline GetComputeNodeGroupResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline GetComputeNodeGroupResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + ComputeNodeGroup m_computeNodeGroup; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/GetQueueRequest.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/GetQueueRequest.h new file mode 100644 index 00000000000..f6389fbfbe7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/GetQueueRequest.h @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace PCS +{ +namespace Model +{ + + /** + */ + class GetQueueRequest : public PCSRequest + { + public: + AWS_PCS_API GetQueueRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "GetQueue"; } + + AWS_PCS_API Aws::String SerializePayload() const override; + + AWS_PCS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

    The name or ID of the cluster of the queue.

    + */ + inline const Aws::String& GetClusterIdentifier() const{ return m_clusterIdentifier; } + inline bool ClusterIdentifierHasBeenSet() const { return m_clusterIdentifierHasBeenSet; } + inline void SetClusterIdentifier(const Aws::String& value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier = value; } + inline void SetClusterIdentifier(Aws::String&& value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier = std::move(value); } + inline void SetClusterIdentifier(const char* value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier.assign(value); } + inline GetQueueRequest& WithClusterIdentifier(const Aws::String& value) { SetClusterIdentifier(value); return *this;} + inline GetQueueRequest& WithClusterIdentifier(Aws::String&& value) { SetClusterIdentifier(std::move(value)); return *this;} + inline GetQueueRequest& WithClusterIdentifier(const char* value) { SetClusterIdentifier(value); return *this;} + ///@} + + ///@{ + /** + *

    The name or ID of the queue.

    + */ + inline const Aws::String& GetQueueIdentifier() const{ return m_queueIdentifier; } + inline bool QueueIdentifierHasBeenSet() const { return m_queueIdentifierHasBeenSet; } + inline void SetQueueIdentifier(const Aws::String& value) { m_queueIdentifierHasBeenSet = true; m_queueIdentifier = value; } + inline void SetQueueIdentifier(Aws::String&& value) { m_queueIdentifierHasBeenSet = true; m_queueIdentifier = std::move(value); } + inline void SetQueueIdentifier(const char* value) { m_queueIdentifierHasBeenSet = true; m_queueIdentifier.assign(value); } + inline GetQueueRequest& WithQueueIdentifier(const Aws::String& value) { SetQueueIdentifier(value); return *this;} + inline GetQueueRequest& WithQueueIdentifier(Aws::String&& value) { SetQueueIdentifier(std::move(value)); return *this;} + inline GetQueueRequest& WithQueueIdentifier(const char* value) { SetQueueIdentifier(value); return *this;} + ///@} + private: + + Aws::String m_clusterIdentifier; + bool m_clusterIdentifierHasBeenSet = false; + + Aws::String m_queueIdentifier; + bool m_queueIdentifierHasBeenSet = false; + }; + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/GetQueueResult.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/GetQueueResult.h new file mode 100644 index 00000000000..25cbc7eb194 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/GetQueueResult.h @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace PCS +{ +namespace Model +{ + class GetQueueResult + { + public: + AWS_PCS_API GetQueueResult(); + AWS_PCS_API GetQueueResult(const Aws::AmazonWebServiceResult& result); + AWS_PCS_API GetQueueResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Queue& GetQueue() const{ return m_queue; } + inline void SetQueue(const Queue& value) { m_queue = value; } + inline void SetQueue(Queue&& value) { m_queue = std::move(value); } + inline GetQueueResult& WithQueue(const Queue& value) { SetQueue(value); return *this;} + inline GetQueueResult& WithQueue(Queue&& value) { SetQueue(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline GetQueueResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline GetQueueResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline GetQueueResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Queue m_queue; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/InstanceConfig.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/InstanceConfig.h new file mode 100644 index 00000000000..c30c953da15 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/InstanceConfig.h @@ -0,0 +1,63 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace PCS +{ +namespace Model +{ + + /** + *

    An EC2 instance configuration Amazon Web Services PCS uses to launch compute + * nodes.

    See Also:

    AWS + * API Reference

    + */ + class InstanceConfig + { + public: + AWS_PCS_API InstanceConfig(); + AWS_PCS_API InstanceConfig(Aws::Utils::Json::JsonView jsonValue); + AWS_PCS_API InstanceConfig& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_PCS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The EC2 instance type that Amazon Web Services PCS can provision in the + * compute node group.

    Example: t2.xlarge

    + */ + inline const Aws::String& GetInstanceType() const{ return m_instanceType; } + inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; } + inline void SetInstanceType(const Aws::String& value) { m_instanceTypeHasBeenSet = true; m_instanceType = value; } + inline void SetInstanceType(Aws::String&& value) { m_instanceTypeHasBeenSet = true; m_instanceType = std::move(value); } + inline void SetInstanceType(const char* value) { m_instanceTypeHasBeenSet = true; m_instanceType.assign(value); } + inline InstanceConfig& WithInstanceType(const Aws::String& value) { SetInstanceType(value); return *this;} + inline InstanceConfig& WithInstanceType(Aws::String&& value) { SetInstanceType(std::move(value)); return *this;} + inline InstanceConfig& WithInstanceType(const char* value) { SetInstanceType(value); return *this;} + ///@} + private: + + Aws::String m_instanceType; + bool m_instanceTypeHasBeenSet = false; + }; + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ListClustersRequest.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ListClustersRequest.h new file mode 100644 index 00000000000..5a87965ccf4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ListClustersRequest.h @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace PCS +{ +namespace Model +{ + + /** + */ + class ListClustersRequest : public PCSRequest + { + public: + AWS_PCS_API ListClustersRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ListClusters"; } + + AWS_PCS_API Aws::String SerializePayload() const override; + + AWS_PCS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

    The value of nextToken is a unique pagination token for each + * page of results returned. If nextToken is returned, there are more + * results available. Make the call again using the returned token to retrieve the + * next page. Keep all other arguments unchanged. Each pagination token expires + * after 24 hours. Using an expired pagination token returns an HTTP 400 + * InvalidToken error.

    + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + inline ListClustersRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline ListClustersRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline ListClustersRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + /** + *

    The maximum number of results that are returned per call. You can use + * nextToken to obtain further pages of results. The default is 10 + * results, and the maximum allowed page size is 100 results. A value of 0 uses the + * default.

    + */ + inline int GetMaxResults() const{ return m_maxResults; } + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + inline ListClustersRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + ///@} + private: + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + }; + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ListClustersResult.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ListClustersResult.h new file mode 100644 index 00000000000..b352a0cde07 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ListClustersResult.h @@ -0,0 +1,89 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace PCS +{ +namespace Model +{ + class ListClustersResult + { + public: + AWS_PCS_API ListClustersResult(); + AWS_PCS_API ListClustersResult(const Aws::AmazonWebServiceResult& result); + AWS_PCS_API ListClustersResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    The list of clusters.

    + */ + inline const Aws::Vector& GetClusters() const{ return m_clusters; } + inline void SetClusters(const Aws::Vector& value) { m_clusters = value; } + inline void SetClusters(Aws::Vector&& value) { m_clusters = std::move(value); } + inline ListClustersResult& WithClusters(const Aws::Vector& value) { SetClusters(value); return *this;} + inline ListClustersResult& WithClusters(Aws::Vector&& value) { SetClusters(std::move(value)); return *this;} + inline ListClustersResult& AddClusters(const ClusterSummary& value) { m_clusters.push_back(value); return *this; } + inline ListClustersResult& AddClusters(ClusterSummary&& value) { m_clusters.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

    The value of nextToken is a unique pagination token for each + * page of results returned. If nextToken is returned, there are more + * results available. Make the call again using the returned token to retrieve the + * next page. Keep all other arguments unchanged. Each pagination token expires + * after 24 hours. Using an expired pagination token returns an HTTP 400 + * InvalidToken error.

    + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + inline ListClustersResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline ListClustersResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline ListClustersResult& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline ListClustersResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline ListClustersResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline ListClustersResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Vector m_clusters; + + Aws::String m_nextToken; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ListComputeNodeGroupsRequest.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ListComputeNodeGroupsRequest.h new file mode 100644 index 00000000000..235af3977c7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ListComputeNodeGroupsRequest.h @@ -0,0 +1,96 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace PCS +{ +namespace Model +{ + + /** + */ + class ListComputeNodeGroupsRequest : public PCSRequest + { + public: + AWS_PCS_API ListComputeNodeGroupsRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ListComputeNodeGroups"; } + + AWS_PCS_API Aws::String SerializePayload() const override; + + AWS_PCS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

    The name or ID of the cluster to list compute node groups for.

    + */ + inline const Aws::String& GetClusterIdentifier() const{ return m_clusterIdentifier; } + inline bool ClusterIdentifierHasBeenSet() const { return m_clusterIdentifierHasBeenSet; } + inline void SetClusterIdentifier(const Aws::String& value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier = value; } + inline void SetClusterIdentifier(Aws::String&& value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier = std::move(value); } + inline void SetClusterIdentifier(const char* value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier.assign(value); } + inline ListComputeNodeGroupsRequest& WithClusterIdentifier(const Aws::String& value) { SetClusterIdentifier(value); return *this;} + inline ListComputeNodeGroupsRequest& WithClusterIdentifier(Aws::String&& value) { SetClusterIdentifier(std::move(value)); return *this;} + inline ListComputeNodeGroupsRequest& WithClusterIdentifier(const char* value) { SetClusterIdentifier(value); return *this;} + ///@} + + ///@{ + /** + *

    The value of nextToken is a unique pagination token for each + * page of results returned. If nextToken is returned, there are more + * results available. Make the call again using the returned token to retrieve the + * next page. Keep all other arguments unchanged. Each pagination token expires + * after 24 hours. Using an expired pagination token returns an HTTP 400 + * InvalidToken error.

    + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + inline ListComputeNodeGroupsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline ListComputeNodeGroupsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline ListComputeNodeGroupsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + /** + *

    The maximum number of results that are returned per call. You can use + * nextToken to obtain further pages of results. The default is 10 + * results, and the maximum allowed page size is 100 results. A value of 0 uses the + * default.

    + */ + inline int GetMaxResults() const{ return m_maxResults; } + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + inline ListComputeNodeGroupsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + ///@} + private: + + Aws::String m_clusterIdentifier; + bool m_clusterIdentifierHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + }; + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ListComputeNodeGroupsResult.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ListComputeNodeGroupsResult.h new file mode 100644 index 00000000000..8425becac85 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ListComputeNodeGroupsResult.h @@ -0,0 +1,89 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace PCS +{ +namespace Model +{ + class ListComputeNodeGroupsResult + { + public: + AWS_PCS_API ListComputeNodeGroupsResult(); + AWS_PCS_API ListComputeNodeGroupsResult(const Aws::AmazonWebServiceResult& result); + AWS_PCS_API ListComputeNodeGroupsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    The list of compute node groups for the cluster.

    + */ + inline const Aws::Vector& GetComputeNodeGroups() const{ return m_computeNodeGroups; } + inline void SetComputeNodeGroups(const Aws::Vector& value) { m_computeNodeGroups = value; } + inline void SetComputeNodeGroups(Aws::Vector&& value) { m_computeNodeGroups = std::move(value); } + inline ListComputeNodeGroupsResult& WithComputeNodeGroups(const Aws::Vector& value) { SetComputeNodeGroups(value); return *this;} + inline ListComputeNodeGroupsResult& WithComputeNodeGroups(Aws::Vector&& value) { SetComputeNodeGroups(std::move(value)); return *this;} + inline ListComputeNodeGroupsResult& AddComputeNodeGroups(const ComputeNodeGroupSummary& value) { m_computeNodeGroups.push_back(value); return *this; } + inline ListComputeNodeGroupsResult& AddComputeNodeGroups(ComputeNodeGroupSummary&& value) { m_computeNodeGroups.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

    The value of nextToken is a unique pagination token for each + * page of results returned. If nextToken is returned, there are more + * results available. Make the call again using the returned token to retrieve the + * next page. Keep all other arguments unchanged. Each pagination token expires + * after 24 hours. Using an expired pagination token returns an HTTP 400 + * InvalidToken error.

    + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + inline ListComputeNodeGroupsResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline ListComputeNodeGroupsResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline ListComputeNodeGroupsResult& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline ListComputeNodeGroupsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline ListComputeNodeGroupsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline ListComputeNodeGroupsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Vector m_computeNodeGroups; + + Aws::String m_nextToken; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ListQueuesRequest.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ListQueuesRequest.h new file mode 100644 index 00000000000..b764ae6266e --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ListQueuesRequest.h @@ -0,0 +1,96 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace PCS +{ +namespace Model +{ + + /** + */ + class ListQueuesRequest : public PCSRequest + { + public: + AWS_PCS_API ListQueuesRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ListQueues"; } + + AWS_PCS_API Aws::String SerializePayload() const override; + + AWS_PCS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

    The name or ID of the cluster to list queues for.

    + */ + inline const Aws::String& GetClusterIdentifier() const{ return m_clusterIdentifier; } + inline bool ClusterIdentifierHasBeenSet() const { return m_clusterIdentifierHasBeenSet; } + inline void SetClusterIdentifier(const Aws::String& value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier = value; } + inline void SetClusterIdentifier(Aws::String&& value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier = std::move(value); } + inline void SetClusterIdentifier(const char* value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier.assign(value); } + inline ListQueuesRequest& WithClusterIdentifier(const Aws::String& value) { SetClusterIdentifier(value); return *this;} + inline ListQueuesRequest& WithClusterIdentifier(Aws::String&& value) { SetClusterIdentifier(std::move(value)); return *this;} + inline ListQueuesRequest& WithClusterIdentifier(const char* value) { SetClusterIdentifier(value); return *this;} + ///@} + + ///@{ + /** + *

    The value of nextToken is a unique pagination token for each + * page of results returned. If nextToken is returned, there are more + * results available. Make the call again using the returned token to retrieve the + * next page. Keep all other arguments unchanged. Each pagination token expires + * after 24 hours. Using an expired pagination token returns an HTTP 400 + * InvalidToken error.

    + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + inline ListQueuesRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline ListQueuesRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline ListQueuesRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + /** + *

    The maximum number of results that are returned per call. You can use + * nextToken to obtain further pages of results. The default is 10 + * results, and the maximum allowed page size is 100 results. A value of 0 uses the + * default.

    + */ + inline int GetMaxResults() const{ return m_maxResults; } + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + inline ListQueuesRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + ///@} + private: + + Aws::String m_clusterIdentifier; + bool m_clusterIdentifierHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + }; + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ListQueuesResult.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ListQueuesResult.h new file mode 100644 index 00000000000..2b3cb5684cd --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ListQueuesResult.h @@ -0,0 +1,89 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace PCS +{ +namespace Model +{ + class ListQueuesResult + { + public: + AWS_PCS_API ListQueuesResult(); + AWS_PCS_API ListQueuesResult(const Aws::AmazonWebServiceResult& result); + AWS_PCS_API ListQueuesResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    The list of queues associated with the cluster.

    + */ + inline const Aws::Vector& GetQueues() const{ return m_queues; } + inline void SetQueues(const Aws::Vector& value) { m_queues = value; } + inline void SetQueues(Aws::Vector&& value) { m_queues = std::move(value); } + inline ListQueuesResult& WithQueues(const Aws::Vector& value) { SetQueues(value); return *this;} + inline ListQueuesResult& WithQueues(Aws::Vector&& value) { SetQueues(std::move(value)); return *this;} + inline ListQueuesResult& AddQueues(const QueueSummary& value) { m_queues.push_back(value); return *this; } + inline ListQueuesResult& AddQueues(QueueSummary&& value) { m_queues.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

    The value of nextToken is a unique pagination token for each + * page of results returned. If nextToken is returned, there are more + * results available. Make the call again using the returned token to retrieve the + * next page. Keep all other arguments unchanged. Each pagination token expires + * after 24 hours. Using an expired pagination token returns an HTTP 400 + * InvalidToken error.

    + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + inline ListQueuesResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline ListQueuesResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline ListQueuesResult& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline ListQueuesResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline ListQueuesResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline ListQueuesResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Vector m_queues; + + Aws::String m_nextToken; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ListTagsForResourceRequest.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ListTagsForResourceRequest.h new file mode 100644 index 00000000000..51d93ec713a --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ListTagsForResourceRequest.h @@ -0,0 +1,58 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace PCS +{ +namespace Model +{ + + /** + */ + class ListTagsForResourceRequest : public PCSRequest + { + public: + AWS_PCS_API ListTagsForResourceRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ListTagsForResource"; } + + AWS_PCS_API Aws::String SerializePayload() const override; + + AWS_PCS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

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

    + */ + inline const Aws::String& GetResourceArn() const{ return m_resourceArn; } + inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; } + inline void SetResourceArn(const Aws::String& value) { m_resourceArnHasBeenSet = true; m_resourceArn = value; } + inline void SetResourceArn(Aws::String&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::move(value); } + inline void SetResourceArn(const char* value) { m_resourceArnHasBeenSet = true; m_resourceArn.assign(value); } + inline ListTagsForResourceRequest& WithResourceArn(const Aws::String& value) { SetResourceArn(value); return *this;} + inline ListTagsForResourceRequest& WithResourceArn(Aws::String&& value) { SetResourceArn(std::move(value)); return *this;} + inline ListTagsForResourceRequest& WithResourceArn(const char* value) { SetResourceArn(value); return *this;} + ///@} + private: + + Aws::String m_resourceArn; + bool m_resourceArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ListTagsForResourceResult.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ListTagsForResourceResult.h new file mode 100644 index 00000000000..53cedb1bb98 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ListTagsForResourceResult.h @@ -0,0 +1,74 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace PCS +{ +namespace Model +{ + class ListTagsForResourceResult + { + public: + AWS_PCS_API ListTagsForResourceResult(); + AWS_PCS_API ListTagsForResourceResult(const Aws::AmazonWebServiceResult& result); + AWS_PCS_API ListTagsForResourceResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    1 or more tags added to the resource. Each tag consists of a tag key and tag + * value. The tag value is optional and can be an empty string.

    + */ + inline const Aws::Map& GetTags() const{ return m_tags; } + inline void SetTags(const Aws::Map& value) { m_tags = value; } + inline void SetTags(Aws::Map&& value) { m_tags = std::move(value); } + inline ListTagsForResourceResult& WithTags(const Aws::Map& value) { SetTags(value); return *this;} + inline ListTagsForResourceResult& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} + inline ListTagsForResourceResult& AddTags(const Aws::String& key, const Aws::String& value) { m_tags.emplace(key, value); return *this; } + inline ListTagsForResourceResult& AddTags(Aws::String&& key, const Aws::String& value) { m_tags.emplace(std::move(key), value); return *this; } + inline ListTagsForResourceResult& AddTags(const Aws::String& key, Aws::String&& value) { m_tags.emplace(key, std::move(value)); return *this; } + inline ListTagsForResourceResult& AddTags(Aws::String&& key, Aws::String&& value) { m_tags.emplace(std::move(key), std::move(value)); return *this; } + inline ListTagsForResourceResult& AddTags(const char* key, Aws::String&& value) { m_tags.emplace(key, std::move(value)); return *this; } + inline ListTagsForResourceResult& AddTags(Aws::String&& key, const char* value) { m_tags.emplace(std::move(key), value); return *this; } + inline ListTagsForResourceResult& AddTags(const char* key, const char* value) { m_tags.emplace(key, value); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline ListTagsForResourceResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline ListTagsForResourceResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline ListTagsForResourceResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Map m_tags; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/Networking.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/Networking.h new file mode 100644 index 00000000000..5150bae7841 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/Networking.h @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace PCS +{ +namespace Model +{ + + /** + *

    The networking configuration for the cluster's control plane.

    See + * Also:

    AWS API + * Reference

    + */ + class Networking + { + public: + AWS_PCS_API Networking(); + AWS_PCS_API Networking(Aws::Utils::Json::JsonView jsonValue); + AWS_PCS_API Networking& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_PCS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The ID of the subnet where Amazon Web Services PCS creates an Elastic Network + * Interface (ENI) to enable communication between managed controllers and Amazon + * Web Services PCS resources. The subnet must have an available IP address, cannot + * reside in AWS Outposts, AWS Wavelength, or an AWS Local Zone.

    Example: + * subnet-abcd1234

    + */ + inline const Aws::Vector& GetSubnetIds() const{ return m_subnetIds; } + inline bool SubnetIdsHasBeenSet() const { return m_subnetIdsHasBeenSet; } + inline void SetSubnetIds(const Aws::Vector& value) { m_subnetIdsHasBeenSet = true; m_subnetIds = value; } + inline void SetSubnetIds(Aws::Vector&& value) { m_subnetIdsHasBeenSet = true; m_subnetIds = std::move(value); } + inline Networking& WithSubnetIds(const Aws::Vector& value) { SetSubnetIds(value); return *this;} + inline Networking& WithSubnetIds(Aws::Vector&& value) { SetSubnetIds(std::move(value)); return *this;} + inline Networking& AddSubnetIds(const Aws::String& value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(value); return *this; } + inline Networking& AddSubnetIds(Aws::String&& value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(std::move(value)); return *this; } + inline Networking& AddSubnetIds(const char* value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

    The list of security group IDs associated with the Elastic Network Interface + * (ENI) created in subnets.

    The following rules are required:

    • + *

      Inbound rule 1

      • Protocol: All

      • Ports: + * All

      • Source: Self

    • Outbound rule + * 1

      • Protocol: All

      • Ports: All

      • + *

        Destination: 0.0.0.0/0 (IPv4)

    • Outbound rule + * 2

      • Protocol: All

      • Ports: All

      • + *

        Destination: Self

    + */ + inline const Aws::Vector& GetSecurityGroupIds() const{ return m_securityGroupIds; } + inline bool SecurityGroupIdsHasBeenSet() const { return m_securityGroupIdsHasBeenSet; } + inline void SetSecurityGroupIds(const Aws::Vector& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds = value; } + inline void SetSecurityGroupIds(Aws::Vector&& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds = std::move(value); } + inline Networking& WithSecurityGroupIds(const Aws::Vector& value) { SetSecurityGroupIds(value); return *this;} + inline Networking& WithSecurityGroupIds(Aws::Vector&& value) { SetSecurityGroupIds(std::move(value)); return *this;} + inline Networking& AddSecurityGroupIds(const Aws::String& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.push_back(value); return *this; } + inline Networking& AddSecurityGroupIds(Aws::String&& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.push_back(std::move(value)); return *this; } + inline Networking& AddSecurityGroupIds(const char* value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.push_back(value); return *this; } + ///@} + private: + + Aws::Vector m_subnetIds; + bool m_subnetIdsHasBeenSet = false; + + Aws::Vector m_securityGroupIds; + bool m_securityGroupIdsHasBeenSet = false; + }; + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/NetworkingRequest.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/NetworkingRequest.h new file mode 100644 index 00000000000..9235d831650 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/NetworkingRequest.h @@ -0,0 +1,88 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace PCS +{ +namespace Model +{ + + /** + *

    The networking configuration for the cluster's control plane.

    See + * Also:

    AWS + * API Reference

    + */ + class NetworkingRequest + { + public: + AWS_PCS_API NetworkingRequest(); + AWS_PCS_API NetworkingRequest(Aws::Utils::Json::JsonView jsonValue); + AWS_PCS_API NetworkingRequest& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_PCS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The list of subnet IDs where Amazon Web Services PCS creates an Elastic + * Network Interface (ENI) to enable communication between managed controllers and + * Amazon Web Services PCS resources. Subnet IDs have the form + * subnet-0123456789abcdef0.

    Subnets can't be in Outposts, + * Wavelength or an Amazon Web Services Local Zone.

    Amazon Web + * Services PCS currently supports only 1 subnet in this list.

    + */ + inline const Aws::Vector& GetSubnetIds() const{ return m_subnetIds; } + inline bool SubnetIdsHasBeenSet() const { return m_subnetIdsHasBeenSet; } + inline void SetSubnetIds(const Aws::Vector& value) { m_subnetIdsHasBeenSet = true; m_subnetIds = value; } + inline void SetSubnetIds(Aws::Vector&& value) { m_subnetIdsHasBeenSet = true; m_subnetIds = std::move(value); } + inline NetworkingRequest& WithSubnetIds(const Aws::Vector& value) { SetSubnetIds(value); return *this;} + inline NetworkingRequest& WithSubnetIds(Aws::Vector&& value) { SetSubnetIds(std::move(value)); return *this;} + inline NetworkingRequest& AddSubnetIds(const Aws::String& value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(value); return *this; } + inline NetworkingRequest& AddSubnetIds(Aws::String&& value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(std::move(value)); return *this; } + inline NetworkingRequest& AddSubnetIds(const char* value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

    A list of security group IDs associated with the Elastic Network Interface + * (ENI) created in subnets.

    + */ + inline const Aws::Vector& GetSecurityGroupIds() const{ return m_securityGroupIds; } + inline bool SecurityGroupIdsHasBeenSet() const { return m_securityGroupIdsHasBeenSet; } + inline void SetSecurityGroupIds(const Aws::Vector& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds = value; } + inline void SetSecurityGroupIds(Aws::Vector&& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds = std::move(value); } + inline NetworkingRequest& WithSecurityGroupIds(const Aws::Vector& value) { SetSecurityGroupIds(value); return *this;} + inline NetworkingRequest& WithSecurityGroupIds(Aws::Vector&& value) { SetSecurityGroupIds(std::move(value)); return *this;} + inline NetworkingRequest& AddSecurityGroupIds(const Aws::String& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.push_back(value); return *this; } + inline NetworkingRequest& AddSecurityGroupIds(Aws::String&& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.push_back(std::move(value)); return *this; } + inline NetworkingRequest& AddSecurityGroupIds(const char* value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.push_back(value); return *this; } + ///@} + private: + + Aws::Vector m_subnetIds; + bool m_subnetIdsHasBeenSet = false; + + Aws::Vector m_securityGroupIds; + bool m_securityGroupIdsHasBeenSet = false; + }; + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/PurchaseOption.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/PurchaseOption.h new file mode 100644 index 00000000000..7401791580d --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/PurchaseOption.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace PCS +{ +namespace Model +{ + enum class PurchaseOption + { + NOT_SET, + ONDEMAND, + SPOT + }; + +namespace PurchaseOptionMapper +{ +AWS_PCS_API PurchaseOption GetPurchaseOptionForName(const Aws::String& name); + +AWS_PCS_API Aws::String GetNameForPurchaseOption(PurchaseOption value); +} // namespace PurchaseOptionMapper +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/Queue.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/Queue.h new file mode 100644 index 00000000000..afe56cfa08f --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/Queue.h @@ -0,0 +1,198 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace PCS +{ +namespace Model +{ + + /** + *

    A queue resource.

    See Also:

    AWS API + * Reference

    + */ + class Queue + { + public: + AWS_PCS_API Queue(); + AWS_PCS_API Queue(Aws::Utils::Json::JsonView jsonValue); + AWS_PCS_API Queue& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_PCS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The name that identifies the queue.

    + */ + inline const Aws::String& GetName() const{ return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + inline Queue& WithName(const Aws::String& value) { SetName(value); return *this;} + inline Queue& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline Queue& WithName(const char* value) { SetName(value); return *this;} + ///@} + + ///@{ + /** + *

    The generated unique ID of the queue.

    + */ + inline const Aws::String& GetId() const{ return m_id; } + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + inline Queue& WithId(const Aws::String& value) { SetId(value); return *this;} + inline Queue& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + inline Queue& WithId(const char* value) { SetId(value); return *this;} + ///@} + + ///@{ + /** + *

    The unique Amazon Resource Name (ARN) of the queue.

    + */ + inline const Aws::String& GetArn() const{ return m_arn; } + inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } + inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } + inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } + inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } + inline Queue& WithArn(const Aws::String& value) { SetArn(value); return *this;} + inline Queue& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} + inline Queue& WithArn(const char* value) { SetArn(value); return *this;} + ///@} + + ///@{ + /** + *

    The ID of the cluster of the queue.

    + */ + inline const Aws::String& GetClusterId() const{ return m_clusterId; } + inline bool ClusterIdHasBeenSet() const { return m_clusterIdHasBeenSet; } + inline void SetClusterId(const Aws::String& value) { m_clusterIdHasBeenSet = true; m_clusterId = value; } + inline void SetClusterId(Aws::String&& value) { m_clusterIdHasBeenSet = true; m_clusterId = std::move(value); } + inline void SetClusterId(const char* value) { m_clusterIdHasBeenSet = true; m_clusterId.assign(value); } + inline Queue& WithClusterId(const Aws::String& value) { SetClusterId(value); return *this;} + inline Queue& WithClusterId(Aws::String&& value) { SetClusterId(std::move(value)); return *this;} + inline Queue& WithClusterId(const char* value) { SetClusterId(value); return *this;} + ///@} + + ///@{ + /** + *

    The date and time the resource was created.

    + */ + inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } + inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } + inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAtHasBeenSet = true; m_createdAt = value; } + inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); } + inline Queue& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} + inline Queue& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The date and time the resource was modified.

    + */ + inline const Aws::Utils::DateTime& GetModifiedAt() const{ return m_modifiedAt; } + inline bool ModifiedAtHasBeenSet() const { return m_modifiedAtHasBeenSet; } + inline void SetModifiedAt(const Aws::Utils::DateTime& value) { m_modifiedAtHasBeenSet = true; m_modifiedAt = value; } + inline void SetModifiedAt(Aws::Utils::DateTime&& value) { m_modifiedAtHasBeenSet = true; m_modifiedAt = std::move(value); } + inline Queue& WithModifiedAt(const Aws::Utils::DateTime& value) { SetModifiedAt(value); return *this;} + inline Queue& WithModifiedAt(Aws::Utils::DateTime&& value) { SetModifiedAt(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The provisioning status of the queue.

    The provisioning status + * doesn't indicate the overall health of the queue.

    + */ + inline const QueueStatus& GetStatus() const{ return m_status; } + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + inline void SetStatus(const QueueStatus& value) { m_statusHasBeenSet = true; m_status = value; } + inline void SetStatus(QueueStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + inline Queue& WithStatus(const QueueStatus& value) { SetStatus(value); return *this;} + inline Queue& WithStatus(QueueStatus&& value) { SetStatus(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The list of compute node group configurations associated with the queue. + * Queues assign jobs to associated compute node groups.

    + */ + inline const Aws::Vector& GetComputeNodeGroupConfigurations() const{ return m_computeNodeGroupConfigurations; } + inline bool ComputeNodeGroupConfigurationsHasBeenSet() const { return m_computeNodeGroupConfigurationsHasBeenSet; } + inline void SetComputeNodeGroupConfigurations(const Aws::Vector& value) { m_computeNodeGroupConfigurationsHasBeenSet = true; m_computeNodeGroupConfigurations = value; } + inline void SetComputeNodeGroupConfigurations(Aws::Vector&& value) { m_computeNodeGroupConfigurationsHasBeenSet = true; m_computeNodeGroupConfigurations = std::move(value); } + inline Queue& WithComputeNodeGroupConfigurations(const Aws::Vector& value) { SetComputeNodeGroupConfigurations(value); return *this;} + inline Queue& WithComputeNodeGroupConfigurations(Aws::Vector&& value) { SetComputeNodeGroupConfigurations(std::move(value)); return *this;} + inline Queue& AddComputeNodeGroupConfigurations(const ComputeNodeGroupConfiguration& value) { m_computeNodeGroupConfigurationsHasBeenSet = true; m_computeNodeGroupConfigurations.push_back(value); return *this; } + inline Queue& AddComputeNodeGroupConfigurations(ComputeNodeGroupConfiguration&& value) { m_computeNodeGroupConfigurationsHasBeenSet = true; m_computeNodeGroupConfigurations.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

    The list of errors that occurred during queue provisioning.

    + */ + inline const Aws::Vector& GetErrorInfo() const{ return m_errorInfo; } + inline bool ErrorInfoHasBeenSet() const { return m_errorInfoHasBeenSet; } + inline void SetErrorInfo(const Aws::Vector& value) { m_errorInfoHasBeenSet = true; m_errorInfo = value; } + inline void SetErrorInfo(Aws::Vector&& value) { m_errorInfoHasBeenSet = true; m_errorInfo = std::move(value); } + inline Queue& WithErrorInfo(const Aws::Vector& value) { SetErrorInfo(value); return *this;} + inline Queue& WithErrorInfo(Aws::Vector&& value) { SetErrorInfo(std::move(value)); return *this;} + inline Queue& AddErrorInfo(const ErrorInfo& value) { m_errorInfoHasBeenSet = true; m_errorInfo.push_back(value); return *this; } + inline Queue& AddErrorInfo(ErrorInfo&& value) { m_errorInfoHasBeenSet = true; m_errorInfo.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_id; + bool m_idHasBeenSet = false; + + Aws::String m_arn; + bool m_arnHasBeenSet = false; + + Aws::String m_clusterId; + bool m_clusterIdHasBeenSet = false; + + Aws::Utils::DateTime m_createdAt; + bool m_createdAtHasBeenSet = false; + + Aws::Utils::DateTime m_modifiedAt; + bool m_modifiedAtHasBeenSet = false; + + QueueStatus m_status; + bool m_statusHasBeenSet = false; + + Aws::Vector m_computeNodeGroupConfigurations; + bool m_computeNodeGroupConfigurationsHasBeenSet = false; + + Aws::Vector m_errorInfo; + bool m_errorInfoHasBeenSet = false; + }; + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/QueueStatus.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/QueueStatus.h new file mode 100644 index 00000000000..5815ab13b14 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/QueueStatus.h @@ -0,0 +1,36 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace PCS +{ +namespace Model +{ + enum class QueueStatus + { + NOT_SET, + CREATING, + ACTIVE, + UPDATING, + DELETING, + CREATE_FAILED, + DELETE_FAILED, + UPDATE_FAILED + }; + +namespace QueueStatusMapper +{ +AWS_PCS_API QueueStatus GetQueueStatusForName(const Aws::String& name); + +AWS_PCS_API Aws::String GetNameForQueueStatus(QueueStatus value); +} // namespace QueueStatusMapper +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/QueueSummary.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/QueueSummary.h new file mode 100644 index 00000000000..f8711dd218f --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/QueueSummary.h @@ -0,0 +1,161 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace PCS +{ +namespace Model +{ + + /** + *

    The object returned by the ListQueues API action.

    See + * Also:

    AWS + * API Reference

    + */ + class QueueSummary + { + public: + AWS_PCS_API QueueSummary(); + AWS_PCS_API QueueSummary(Aws::Utils::Json::JsonView jsonValue); + AWS_PCS_API QueueSummary& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_PCS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The name that identifies the queue.

    + */ + inline const Aws::String& GetName() const{ return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + inline QueueSummary& WithName(const Aws::String& value) { SetName(value); return *this;} + inline QueueSummary& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline QueueSummary& WithName(const char* value) { SetName(value); return *this;} + ///@} + + ///@{ + /** + *

    The generated unique ID of the queue.

    + */ + inline const Aws::String& GetId() const{ return m_id; } + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + inline QueueSummary& WithId(const Aws::String& value) { SetId(value); return *this;} + inline QueueSummary& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + inline QueueSummary& WithId(const char* value) { SetId(value); return *this;} + ///@} + + ///@{ + /** + *

    The unique Amazon Resource Name (ARN) of the queue.

    + */ + inline const Aws::String& GetArn() const{ return m_arn; } + inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } + inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } + inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } + inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } + inline QueueSummary& WithArn(const Aws::String& value) { SetArn(value); return *this;} + inline QueueSummary& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} + inline QueueSummary& WithArn(const char* value) { SetArn(value); return *this;} + ///@} + + ///@{ + /** + *

    The ID of the cluster of the queue.

    + */ + inline const Aws::String& GetClusterId() const{ return m_clusterId; } + inline bool ClusterIdHasBeenSet() const { return m_clusterIdHasBeenSet; } + inline void SetClusterId(const Aws::String& value) { m_clusterIdHasBeenSet = true; m_clusterId = value; } + inline void SetClusterId(Aws::String&& value) { m_clusterIdHasBeenSet = true; m_clusterId = std::move(value); } + inline void SetClusterId(const char* value) { m_clusterIdHasBeenSet = true; m_clusterId.assign(value); } + inline QueueSummary& WithClusterId(const Aws::String& value) { SetClusterId(value); return *this;} + inline QueueSummary& WithClusterId(Aws::String&& value) { SetClusterId(std::move(value)); return *this;} + inline QueueSummary& WithClusterId(const char* value) { SetClusterId(value); return *this;} + ///@} + + ///@{ + /** + *

    The date and time the resource was created.

    + */ + inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } + inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } + inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAtHasBeenSet = true; m_createdAt = value; } + inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); } + inline QueueSummary& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} + inline QueueSummary& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The date and time the resource was modified.

    + */ + inline const Aws::Utils::DateTime& GetModifiedAt() const{ return m_modifiedAt; } + inline bool ModifiedAtHasBeenSet() const { return m_modifiedAtHasBeenSet; } + inline void SetModifiedAt(const Aws::Utils::DateTime& value) { m_modifiedAtHasBeenSet = true; m_modifiedAt = value; } + inline void SetModifiedAt(Aws::Utils::DateTime&& value) { m_modifiedAtHasBeenSet = true; m_modifiedAt = std::move(value); } + inline QueueSummary& WithModifiedAt(const Aws::Utils::DateTime& value) { SetModifiedAt(value); return *this;} + inline QueueSummary& WithModifiedAt(Aws::Utils::DateTime&& value) { SetModifiedAt(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The provisioning status of the queue.

    The provisioning status + * doesn't indicate the overall health of the queue.

    + */ + inline const QueueStatus& GetStatus() const{ return m_status; } + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + inline void SetStatus(const QueueStatus& value) { m_statusHasBeenSet = true; m_status = value; } + inline void SetStatus(QueueStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + inline QueueSummary& WithStatus(const QueueStatus& value) { SetStatus(value); return *this;} + inline QueueSummary& WithStatus(QueueStatus&& value) { SetStatus(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_id; + bool m_idHasBeenSet = false; + + Aws::String m_arn; + bool m_arnHasBeenSet = false; + + Aws::String m_clusterId; + bool m_clusterIdHasBeenSet = false; + + Aws::Utils::DateTime m_createdAt; + bool m_createdAtHasBeenSet = false; + + Aws::Utils::DateTime m_modifiedAt; + bool m_modifiedAtHasBeenSet = false; + + QueueStatus m_status; + bool m_statusHasBeenSet = false; + }; + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/RegisterComputeNodeGroupInstanceRequest.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/RegisterComputeNodeGroupInstanceRequest.h new file mode 100644 index 00000000000..e1c565c2f2a --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/RegisterComputeNodeGroupInstanceRequest.h @@ -0,0 +1,76 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace PCS +{ +namespace Model +{ + + /** + */ + class RegisterComputeNodeGroupInstanceRequest : public PCSRequest + { + public: + AWS_PCS_API RegisterComputeNodeGroupInstanceRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "RegisterComputeNodeGroupInstance"; } + + AWS_PCS_API Aws::String SerializePayload() const override; + + AWS_PCS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

    The name or ID of the cluster to register the compute node group instance + * in.

    + */ + inline const Aws::String& GetClusterIdentifier() const{ return m_clusterIdentifier; } + inline bool ClusterIdentifierHasBeenSet() const { return m_clusterIdentifierHasBeenSet; } + inline void SetClusterIdentifier(const Aws::String& value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier = value; } + inline void SetClusterIdentifier(Aws::String&& value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier = std::move(value); } + inline void SetClusterIdentifier(const char* value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier.assign(value); } + inline RegisterComputeNodeGroupInstanceRequest& WithClusterIdentifier(const Aws::String& value) { SetClusterIdentifier(value); return *this;} + inline RegisterComputeNodeGroupInstanceRequest& WithClusterIdentifier(Aws::String&& value) { SetClusterIdentifier(std::move(value)); return *this;} + inline RegisterComputeNodeGroupInstanceRequest& WithClusterIdentifier(const char* value) { SetClusterIdentifier(value); return *this;} + ///@} + + ///@{ + /** + *

    The client-generated token to allow for retries.

    + */ + inline const Aws::String& GetBootstrapId() const{ return m_bootstrapId; } + inline bool BootstrapIdHasBeenSet() const { return m_bootstrapIdHasBeenSet; } + inline void SetBootstrapId(const Aws::String& value) { m_bootstrapIdHasBeenSet = true; m_bootstrapId = value; } + inline void SetBootstrapId(Aws::String&& value) { m_bootstrapIdHasBeenSet = true; m_bootstrapId = std::move(value); } + inline void SetBootstrapId(const char* value) { m_bootstrapIdHasBeenSet = true; m_bootstrapId.assign(value); } + inline RegisterComputeNodeGroupInstanceRequest& WithBootstrapId(const Aws::String& value) { SetBootstrapId(value); return *this;} + inline RegisterComputeNodeGroupInstanceRequest& WithBootstrapId(Aws::String&& value) { SetBootstrapId(std::move(value)); return *this;} + inline RegisterComputeNodeGroupInstanceRequest& WithBootstrapId(const char* value) { SetBootstrapId(value); return *this;} + ///@} + private: + + Aws::String m_clusterIdentifier; + bool m_clusterIdentifierHasBeenSet = false; + + Aws::String m_bootstrapId; + bool m_bootstrapIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/RegisterComputeNodeGroupInstanceResult.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/RegisterComputeNodeGroupInstanceResult.h new file mode 100644 index 00000000000..e424d98a648 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/RegisterComputeNodeGroupInstanceResult.h @@ -0,0 +1,100 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace PCS +{ +namespace Model +{ + class RegisterComputeNodeGroupInstanceResult + { + public: + AWS_PCS_API RegisterComputeNodeGroupInstanceResult(); + AWS_PCS_API RegisterComputeNodeGroupInstanceResult(const Aws::AmazonWebServiceResult& result); + AWS_PCS_API RegisterComputeNodeGroupInstanceResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    The scheduler node ID for this instance.

    + */ + inline const Aws::String& GetNodeID() const{ return m_nodeID; } + inline void SetNodeID(const Aws::String& value) { m_nodeID = value; } + inline void SetNodeID(Aws::String&& value) { m_nodeID = std::move(value); } + inline void SetNodeID(const char* value) { m_nodeID.assign(value); } + inline RegisterComputeNodeGroupInstanceResult& WithNodeID(const Aws::String& value) { SetNodeID(value); return *this;} + inline RegisterComputeNodeGroupInstanceResult& WithNodeID(Aws::String&& value) { SetNodeID(std::move(value)); return *this;} + inline RegisterComputeNodeGroupInstanceResult& WithNodeID(const char* value) { SetNodeID(value); return *this;} + ///@} + + ///@{ + /** + *

    For the Slurm scheduler, this is the shared Munge key the scheduler uses to + * authenticate compute node group instances.

    + */ + inline const Aws::String& GetSharedSecret() const{ return m_sharedSecret; } + inline void SetSharedSecret(const Aws::String& value) { m_sharedSecret = value; } + inline void SetSharedSecret(Aws::String&& value) { m_sharedSecret = std::move(value); } + inline void SetSharedSecret(const char* value) { m_sharedSecret.assign(value); } + inline RegisterComputeNodeGroupInstanceResult& WithSharedSecret(const Aws::String& value) { SetSharedSecret(value); return *this;} + inline RegisterComputeNodeGroupInstanceResult& WithSharedSecret(Aws::String&& value) { SetSharedSecret(std::move(value)); return *this;} + inline RegisterComputeNodeGroupInstanceResult& WithSharedSecret(const char* value) { SetSharedSecret(value); return *this;} + ///@} + + ///@{ + /** + *

    The list of endpoints available for interaction with the scheduler.

    + */ + inline const Aws::Vector& GetEndpoints() const{ return m_endpoints; } + inline void SetEndpoints(const Aws::Vector& value) { m_endpoints = value; } + inline void SetEndpoints(Aws::Vector&& value) { m_endpoints = std::move(value); } + inline RegisterComputeNodeGroupInstanceResult& WithEndpoints(const Aws::Vector& value) { SetEndpoints(value); return *this;} + inline RegisterComputeNodeGroupInstanceResult& WithEndpoints(Aws::Vector&& value) { SetEndpoints(std::move(value)); return *this;} + inline RegisterComputeNodeGroupInstanceResult& AddEndpoints(const Endpoint& value) { m_endpoints.push_back(value); return *this; } + inline RegisterComputeNodeGroupInstanceResult& AddEndpoints(Endpoint&& value) { m_endpoints.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline RegisterComputeNodeGroupInstanceResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline RegisterComputeNodeGroupInstanceResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline RegisterComputeNodeGroupInstanceResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_nodeID; + + Aws::String m_sharedSecret; + + Aws::Vector m_endpoints; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ResourceNotFoundException.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ResourceNotFoundException.h new file mode 100644 index 00000000000..bc3fba928d1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ResourceNotFoundException.h @@ -0,0 +1,95 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace PCS +{ +namespace Model +{ + + /** + *

    The requested resource can't be found. The cluster, node group, or queue + * you're attempting to get, update, list, or delete doesn't exist.

    + * Examples

    See Also:

    AWS + * API Reference

    + */ + class ResourceNotFoundException + { + public: + AWS_PCS_API ResourceNotFoundException(); + AWS_PCS_API ResourceNotFoundException(Aws::Utils::Json::JsonView jsonValue); + AWS_PCS_API ResourceNotFoundException& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_PCS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + + inline const Aws::String& GetMessage() const{ return m_message; } + inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } + inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; } + inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); } + inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); } + inline ResourceNotFoundException& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} + inline ResourceNotFoundException& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} + inline ResourceNotFoundException& WithMessage(const char* value) { SetMessage(value); return *this;} + ///@} + + ///@{ + /** + *

    The unique identifier of the resource that was not found.

    + */ + inline const Aws::String& GetResourceId() const{ return m_resourceId; } + inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; } + inline void SetResourceId(const Aws::String& value) { m_resourceIdHasBeenSet = true; m_resourceId = value; } + inline void SetResourceId(Aws::String&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::move(value); } + inline void SetResourceId(const char* value) { m_resourceIdHasBeenSet = true; m_resourceId.assign(value); } + inline ResourceNotFoundException& WithResourceId(const Aws::String& value) { SetResourceId(value); return *this;} + inline ResourceNotFoundException& WithResourceId(Aws::String&& value) { SetResourceId(std::move(value)); return *this;} + inline ResourceNotFoundException& WithResourceId(const char* value) { SetResourceId(value); return *this;} + ///@} + + ///@{ + /** + *

    The type or category of the resource that was not found.

    + */ + inline const Aws::String& GetResourceType() const{ return m_resourceType; } + inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; } + inline void SetResourceType(const Aws::String& value) { m_resourceTypeHasBeenSet = true; m_resourceType = value; } + inline void SetResourceType(Aws::String&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::move(value); } + inline void SetResourceType(const char* value) { m_resourceTypeHasBeenSet = true; m_resourceType.assign(value); } + inline ResourceNotFoundException& WithResourceType(const Aws::String& value) { SetResourceType(value); return *this;} + inline ResourceNotFoundException& WithResourceType(Aws::String&& value) { SetResourceType(std::move(value)); return *this;} + inline ResourceNotFoundException& WithResourceType(const char* value) { SetResourceType(value); return *this;} + ///@} + private: + + Aws::String m_message; + bool m_messageHasBeenSet = false; + + Aws::String m_resourceId; + bool m_resourceIdHasBeenSet = false; + + Aws::String m_resourceType; + bool m_resourceTypeHasBeenSet = false; + }; + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ScalingConfiguration.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ScalingConfiguration.h new file mode 100644 index 00000000000..81864cf9449 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ScalingConfiguration.h @@ -0,0 +1,69 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace PCS +{ +namespace Model +{ + + /** + *

    Specifies the boundaries of the compute node group auto + * scaling.

    See Also:

    AWS + * API Reference

    + */ + class ScalingConfiguration + { + public: + AWS_PCS_API ScalingConfiguration(); + AWS_PCS_API ScalingConfiguration(Aws::Utils::Json::JsonView jsonValue); + AWS_PCS_API ScalingConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_PCS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The lower bound of the number of instances allowed in the compute fleet.

    + */ + inline int GetMinInstanceCount() const{ return m_minInstanceCount; } + inline bool MinInstanceCountHasBeenSet() const { return m_minInstanceCountHasBeenSet; } + inline void SetMinInstanceCount(int value) { m_minInstanceCountHasBeenSet = true; m_minInstanceCount = value; } + inline ScalingConfiguration& WithMinInstanceCount(int value) { SetMinInstanceCount(value); return *this;} + ///@} + + ///@{ + /** + *

    The upper bound of the number of instances allowed in the compute fleet.

    + */ + inline int GetMaxInstanceCount() const{ return m_maxInstanceCount; } + inline bool MaxInstanceCountHasBeenSet() const { return m_maxInstanceCountHasBeenSet; } + inline void SetMaxInstanceCount(int value) { m_maxInstanceCountHasBeenSet = true; m_maxInstanceCount = value; } + inline ScalingConfiguration& WithMaxInstanceCount(int value) { SetMaxInstanceCount(value); return *this;} + ///@} + private: + + int m_minInstanceCount; + bool m_minInstanceCountHasBeenSet = false; + + int m_maxInstanceCount; + bool m_maxInstanceCountHasBeenSet = false; + }; + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ScalingConfigurationRequest.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ScalingConfigurationRequest.h new file mode 100644 index 00000000000..a8600b24317 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ScalingConfigurationRequest.h @@ -0,0 +1,69 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace PCS +{ +namespace Model +{ + + /** + *

    Specifies the boundaries of the compute node group auto + * scaling.

    See Also:

    AWS + * API Reference

    + */ + class ScalingConfigurationRequest + { + public: + AWS_PCS_API ScalingConfigurationRequest(); + AWS_PCS_API ScalingConfigurationRequest(Aws::Utils::Json::JsonView jsonValue); + AWS_PCS_API ScalingConfigurationRequest& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_PCS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The lower bound of the number of instances allowed in the compute fleet.

    + */ + inline int GetMinInstanceCount() const{ return m_minInstanceCount; } + inline bool MinInstanceCountHasBeenSet() const { return m_minInstanceCountHasBeenSet; } + inline void SetMinInstanceCount(int value) { m_minInstanceCountHasBeenSet = true; m_minInstanceCount = value; } + inline ScalingConfigurationRequest& WithMinInstanceCount(int value) { SetMinInstanceCount(value); return *this;} + ///@} + + ///@{ + /** + *

    The upper bound of the number of instances allowed in the compute fleet.

    + */ + inline int GetMaxInstanceCount() const{ return m_maxInstanceCount; } + inline bool MaxInstanceCountHasBeenSet() const { return m_maxInstanceCountHasBeenSet; } + inline void SetMaxInstanceCount(int value) { m_maxInstanceCountHasBeenSet = true; m_maxInstanceCount = value; } + inline ScalingConfigurationRequest& WithMaxInstanceCount(int value) { SetMaxInstanceCount(value); return *this;} + ///@} + private: + + int m_minInstanceCount; + bool m_minInstanceCountHasBeenSet = false; + + int m_maxInstanceCount; + bool m_maxInstanceCountHasBeenSet = false; + }; + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/Scheduler.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/Scheduler.h new file mode 100644 index 00000000000..a0a7d52e608 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/Scheduler.h @@ -0,0 +1,80 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace PCS +{ +namespace Model +{ + + /** + *

    The cluster management and job scheduling software associated with the + * cluster.

    See Also:

    AWS API + * Reference

    + */ + class Scheduler + { + public: + AWS_PCS_API Scheduler(); + AWS_PCS_API Scheduler(Aws::Utils::Json::JsonView jsonValue); + AWS_PCS_API Scheduler& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_PCS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The software Amazon Web Services PCS uses to manage cluster scaling and job + * scheduling.

    + */ + inline const SchedulerType& GetType() const{ return m_type; } + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + inline void SetType(const SchedulerType& value) { m_typeHasBeenSet = true; m_type = value; } + inline void SetType(SchedulerType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } + inline Scheduler& WithType(const SchedulerType& value) { SetType(value); return *this;} + inline Scheduler& WithType(SchedulerType&& value) { SetType(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The version of the specified scheduling software that Amazon Web Services PCS + * uses to manage cluster scaling and job scheduling.

    + */ + inline const Aws::String& GetVersion() const{ return m_version; } + inline bool VersionHasBeenSet() const { return m_versionHasBeenSet; } + inline void SetVersion(const Aws::String& value) { m_versionHasBeenSet = true; m_version = value; } + inline void SetVersion(Aws::String&& value) { m_versionHasBeenSet = true; m_version = std::move(value); } + inline void SetVersion(const char* value) { m_versionHasBeenSet = true; m_version.assign(value); } + inline Scheduler& WithVersion(const Aws::String& value) { SetVersion(value); return *this;} + inline Scheduler& WithVersion(Aws::String&& value) { SetVersion(std::move(value)); return *this;} + inline Scheduler& WithVersion(const char* value) { SetVersion(value); return *this;} + ///@} + private: + + SchedulerType m_type; + bool m_typeHasBeenSet = false; + + Aws::String m_version; + bool m_versionHasBeenSet = false; + }; + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/SchedulerRequest.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/SchedulerRequest.h new file mode 100644 index 00000000000..05eb28e6f21 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/SchedulerRequest.h @@ -0,0 +1,80 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace PCS +{ +namespace Model +{ + + /** + *

    The cluster management and job scheduling software associated with the + * cluster.

    See Also:

    AWS + * API Reference

    + */ + class SchedulerRequest + { + public: + AWS_PCS_API SchedulerRequest(); + AWS_PCS_API SchedulerRequest(Aws::Utils::Json::JsonView jsonValue); + AWS_PCS_API SchedulerRequest& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_PCS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The software Amazon Web Services PCS uses to manage cluster scaling and job + * scheduling.

    + */ + inline const SchedulerType& GetType() const{ return m_type; } + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + inline void SetType(const SchedulerType& value) { m_typeHasBeenSet = true; m_type = value; } + inline void SetType(SchedulerType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } + inline SchedulerRequest& WithType(const SchedulerType& value) { SetType(value); return *this;} + inline SchedulerRequest& WithType(SchedulerType&& value) { SetType(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The version of the specified scheduling software that Amazon Web Services PCS + * uses to manage cluster scaling and job scheduling.

    + */ + inline const Aws::String& GetVersion() const{ return m_version; } + inline bool VersionHasBeenSet() const { return m_versionHasBeenSet; } + inline void SetVersion(const Aws::String& value) { m_versionHasBeenSet = true; m_version = value; } + inline void SetVersion(Aws::String&& value) { m_versionHasBeenSet = true; m_version = std::move(value); } + inline void SetVersion(const char* value) { m_versionHasBeenSet = true; m_version.assign(value); } + inline SchedulerRequest& WithVersion(const Aws::String& value) { SetVersion(value); return *this;} + inline SchedulerRequest& WithVersion(Aws::String&& value) { SetVersion(std::move(value)); return *this;} + inline SchedulerRequest& WithVersion(const char* value) { SetVersion(value); return *this;} + ///@} + private: + + SchedulerType m_type; + bool m_typeHasBeenSet = false; + + Aws::String m_version; + bool m_versionHasBeenSet = false; + }; + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/SchedulerType.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/SchedulerType.h new file mode 100644 index 00000000000..9c4f585b7a7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/SchedulerType.h @@ -0,0 +1,30 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace PCS +{ +namespace Model +{ + enum class SchedulerType + { + NOT_SET, + SLURM + }; + +namespace SchedulerTypeMapper +{ +AWS_PCS_API SchedulerType GetSchedulerTypeForName(const Aws::String& name); + +AWS_PCS_API Aws::String GetNameForSchedulerType(SchedulerType value); +} // namespace SchedulerTypeMapper +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ServiceQuotaExceededException.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ServiceQuotaExceededException.h new file mode 100644 index 00000000000..cda3b0e83c1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ServiceQuotaExceededException.h @@ -0,0 +1,138 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace PCS +{ +namespace Model +{ + + /** + *

    You exceeded your service quota. Service quotas, also referred to as limits, + * are the maximum number of service resources or operations for your Amazon Web + * Services account. To learn how to increase your service quota, see Requesting + * a quota increase in the Service Quotas User Guide

    + * Examples

    • The max number of clusters or queues has been + * reached for the account.

    • The max number of compute node groups + * has been reached for the associated cluster.

    • The total of + * maxInstances across all compute node groups has been reached for + * associated cluster.

    See Also:

    AWS + * API Reference

    + */ + class ServiceQuotaExceededException + { + public: + AWS_PCS_API ServiceQuotaExceededException(); + AWS_PCS_API ServiceQuotaExceededException(Aws::Utils::Json::JsonView jsonValue); + AWS_PCS_API ServiceQuotaExceededException& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_PCS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + + inline const Aws::String& GetMessage() const{ return m_message; } + inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } + inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; } + inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); } + inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); } + inline ServiceQuotaExceededException& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} + inline ServiceQuotaExceededException& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} + inline ServiceQuotaExceededException& WithMessage(const char* value) { SetMessage(value); return *this;} + ///@} + + ///@{ + /** + *

    The service code associated with the quota that was exceeded.

    + */ + inline const Aws::String& GetServiceCode() const{ return m_serviceCode; } + inline bool ServiceCodeHasBeenSet() const { return m_serviceCodeHasBeenSet; } + inline void SetServiceCode(const Aws::String& value) { m_serviceCodeHasBeenSet = true; m_serviceCode = value; } + inline void SetServiceCode(Aws::String&& value) { m_serviceCodeHasBeenSet = true; m_serviceCode = std::move(value); } + inline void SetServiceCode(const char* value) { m_serviceCodeHasBeenSet = true; m_serviceCode.assign(value); } + inline ServiceQuotaExceededException& WithServiceCode(const Aws::String& value) { SetServiceCode(value); return *this;} + inline ServiceQuotaExceededException& WithServiceCode(Aws::String&& value) { SetServiceCode(std::move(value)); return *this;} + inline ServiceQuotaExceededException& WithServiceCode(const char* value) { SetServiceCode(value); return *this;} + ///@} + + ///@{ + /** + *

    The unique identifier of the resource that caused the quota to be exceeded. + *

    + */ + inline const Aws::String& GetResourceId() const{ return m_resourceId; } + inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; } + inline void SetResourceId(const Aws::String& value) { m_resourceIdHasBeenSet = true; m_resourceId = value; } + inline void SetResourceId(Aws::String&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::move(value); } + inline void SetResourceId(const char* value) { m_resourceIdHasBeenSet = true; m_resourceId.assign(value); } + inline ServiceQuotaExceededException& WithResourceId(const Aws::String& value) { SetResourceId(value); return *this;} + inline ServiceQuotaExceededException& WithResourceId(Aws::String&& value) { SetResourceId(std::move(value)); return *this;} + inline ServiceQuotaExceededException& WithResourceId(const char* value) { SetResourceId(value); return *this;} + ///@} + + ///@{ + /** + *

    The type or category of the resource that caused the quota to be exceeded. + *

    + */ + inline const Aws::String& GetResourceType() const{ return m_resourceType; } + inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; } + inline void SetResourceType(const Aws::String& value) { m_resourceTypeHasBeenSet = true; m_resourceType = value; } + inline void SetResourceType(Aws::String&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::move(value); } + inline void SetResourceType(const char* value) { m_resourceTypeHasBeenSet = true; m_resourceType.assign(value); } + inline ServiceQuotaExceededException& WithResourceType(const Aws::String& value) { SetResourceType(value); return *this;} + inline ServiceQuotaExceededException& WithResourceType(Aws::String&& value) { SetResourceType(std::move(value)); return *this;} + inline ServiceQuotaExceededException& WithResourceType(const char* value) { SetResourceType(value); return *this;} + ///@} + + ///@{ + /** + *

    The quota code of the service quota that was exceeded.

    + */ + inline const Aws::String& GetQuotaCode() const{ return m_quotaCode; } + inline bool QuotaCodeHasBeenSet() const { return m_quotaCodeHasBeenSet; } + inline void SetQuotaCode(const Aws::String& value) { m_quotaCodeHasBeenSet = true; m_quotaCode = value; } + inline void SetQuotaCode(Aws::String&& value) { m_quotaCodeHasBeenSet = true; m_quotaCode = std::move(value); } + inline void SetQuotaCode(const char* value) { m_quotaCodeHasBeenSet = true; m_quotaCode.assign(value); } + inline ServiceQuotaExceededException& WithQuotaCode(const Aws::String& value) { SetQuotaCode(value); return *this;} + inline ServiceQuotaExceededException& WithQuotaCode(Aws::String&& value) { SetQuotaCode(std::move(value)); return *this;} + inline ServiceQuotaExceededException& WithQuotaCode(const char* value) { SetQuotaCode(value); return *this;} + ///@} + private: + + Aws::String m_message; + bool m_messageHasBeenSet = false; + + Aws::String m_serviceCode; + bool m_serviceCodeHasBeenSet = false; + + Aws::String m_resourceId; + bool m_resourceIdHasBeenSet = false; + + Aws::String m_resourceType; + bool m_resourceTypeHasBeenSet = false; + + Aws::String m_quotaCode; + bool m_quotaCodeHasBeenSet = false; + }; + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/Size.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/Size.h new file mode 100644 index 00000000000..833d357afe1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/Size.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace PCS +{ +namespace Model +{ + enum class Size + { + NOT_SET, + SMALL, + MEDIUM, + LARGE + }; + +namespace SizeMapper +{ +AWS_PCS_API Size GetSizeForName(const Aws::String& name); + +AWS_PCS_API Aws::String GetNameForSize(Size value); +} // namespace SizeMapper +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/SlurmAuthKey.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/SlurmAuthKey.h new file mode 100644 index 00000000000..eaaed38b182 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/SlurmAuthKey.h @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace PCS +{ +namespace Model +{ + + /** + *

    The shared Slurm key for authentication, also known as the cluster + * secret.

    See Also:

    AWS + * API Reference

    + */ + class SlurmAuthKey + { + public: + AWS_PCS_API SlurmAuthKey(); + AWS_PCS_API SlurmAuthKey(Aws::Utils::Json::JsonView jsonValue); + AWS_PCS_API SlurmAuthKey& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_PCS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The Amazon Resource Name (ARN) of the the shared Slurm key.

    + */ + inline const Aws::String& GetSecretArn() const{ return m_secretArn; } + inline bool SecretArnHasBeenSet() const { return m_secretArnHasBeenSet; } + inline void SetSecretArn(const Aws::String& value) { m_secretArnHasBeenSet = true; m_secretArn = value; } + inline void SetSecretArn(Aws::String&& value) { m_secretArnHasBeenSet = true; m_secretArn = std::move(value); } + inline void SetSecretArn(const char* value) { m_secretArnHasBeenSet = true; m_secretArn.assign(value); } + inline SlurmAuthKey& WithSecretArn(const Aws::String& value) { SetSecretArn(value); return *this;} + inline SlurmAuthKey& WithSecretArn(Aws::String&& value) { SetSecretArn(std::move(value)); return *this;} + inline SlurmAuthKey& WithSecretArn(const char* value) { SetSecretArn(value); return *this;} + ///@} + + ///@{ + /** + *

    The version of the shared Slurm key.

    + */ + inline const Aws::String& GetSecretVersion() const{ return m_secretVersion; } + inline bool SecretVersionHasBeenSet() const { return m_secretVersionHasBeenSet; } + inline void SetSecretVersion(const Aws::String& value) { m_secretVersionHasBeenSet = true; m_secretVersion = value; } + inline void SetSecretVersion(Aws::String&& value) { m_secretVersionHasBeenSet = true; m_secretVersion = std::move(value); } + inline void SetSecretVersion(const char* value) { m_secretVersionHasBeenSet = true; m_secretVersion.assign(value); } + inline SlurmAuthKey& WithSecretVersion(const Aws::String& value) { SetSecretVersion(value); return *this;} + inline SlurmAuthKey& WithSecretVersion(Aws::String&& value) { SetSecretVersion(std::move(value)); return *this;} + inline SlurmAuthKey& WithSecretVersion(const char* value) { SetSecretVersion(value); return *this;} + ///@} + private: + + Aws::String m_secretArn; + bool m_secretArnHasBeenSet = false; + + Aws::String m_secretVersion; + bool m_secretVersionHasBeenSet = false; + }; + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/SlurmCustomSetting.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/SlurmCustomSetting.h new file mode 100644 index 00000000000..cda120e1995 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/SlurmCustomSetting.h @@ -0,0 +1,85 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace PCS +{ +namespace Model +{ + + /** + *

    Additional settings that directly map to Slurm settings.

    See + * Also:

    AWS + * API Reference

    + */ + class SlurmCustomSetting + { + public: + AWS_PCS_API SlurmCustomSetting(); + AWS_PCS_API SlurmCustomSetting(Aws::Utils::Json::JsonView jsonValue); + AWS_PCS_API SlurmCustomSetting& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_PCS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    Amazon Web Services PCS supports configuration of the following Slurm + * parameters: + * Prolog , + * Epilog , and + * SelectTypeParameters .

    + */ + inline const Aws::String& GetParameterName() const{ return m_parameterName; } + inline bool ParameterNameHasBeenSet() const { return m_parameterNameHasBeenSet; } + inline void SetParameterName(const Aws::String& value) { m_parameterNameHasBeenSet = true; m_parameterName = value; } + inline void SetParameterName(Aws::String&& value) { m_parameterNameHasBeenSet = true; m_parameterName = std::move(value); } + inline void SetParameterName(const char* value) { m_parameterNameHasBeenSet = true; m_parameterName.assign(value); } + inline SlurmCustomSetting& WithParameterName(const Aws::String& value) { SetParameterName(value); return *this;} + inline SlurmCustomSetting& WithParameterName(Aws::String&& value) { SetParameterName(std::move(value)); return *this;} + inline SlurmCustomSetting& WithParameterName(const char* value) { SetParameterName(value); return *this;} + ///@} + + ///@{ + /** + *

    The values for the configured Slurm settings.

    + */ + inline const Aws::String& GetParameterValue() const{ return m_parameterValue; } + inline bool ParameterValueHasBeenSet() const { return m_parameterValueHasBeenSet; } + inline void SetParameterValue(const Aws::String& value) { m_parameterValueHasBeenSet = true; m_parameterValue = value; } + inline void SetParameterValue(Aws::String&& value) { m_parameterValueHasBeenSet = true; m_parameterValue = std::move(value); } + inline void SetParameterValue(const char* value) { m_parameterValueHasBeenSet = true; m_parameterValue.assign(value); } + inline SlurmCustomSetting& WithParameterValue(const Aws::String& value) { SetParameterValue(value); return *this;} + inline SlurmCustomSetting& WithParameterValue(Aws::String&& value) { SetParameterValue(std::move(value)); return *this;} + inline SlurmCustomSetting& WithParameterValue(const char* value) { SetParameterValue(value); return *this;} + ///@} + private: + + Aws::String m_parameterName; + bool m_parameterNameHasBeenSet = false; + + Aws::String m_parameterValue; + bool m_parameterValueHasBeenSet = false; + }; + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/SpotAllocationStrategy.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/SpotAllocationStrategy.h new file mode 100644 index 00000000000..4431d78ea48 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/SpotAllocationStrategy.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace PCS +{ +namespace Model +{ + enum class SpotAllocationStrategy + { + NOT_SET, + lowest_price, + capacity_optimized, + price_capacity_optimized + }; + +namespace SpotAllocationStrategyMapper +{ +AWS_PCS_API SpotAllocationStrategy GetSpotAllocationStrategyForName(const Aws::String& name); + +AWS_PCS_API Aws::String GetNameForSpotAllocationStrategy(SpotAllocationStrategy value); +} // namespace SpotAllocationStrategyMapper +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/SpotOptions.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/SpotOptions.h new file mode 100644 index 00000000000..89710b474d9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/SpotOptions.h @@ -0,0 +1,68 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace PCS +{ +namespace Model +{ + + /** + *

    Additional configuration when you specify SPOT as the + * purchaseOption for the CreateComputeNodeGroup API + * action.

    See Also:

    AWS API + * Reference

    + */ + class SpotOptions + { + public: + AWS_PCS_API SpotOptions(); + AWS_PCS_API SpotOptions(Aws::Utils::Json::JsonView jsonValue); + AWS_PCS_API SpotOptions& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_PCS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The Amazon EC2 allocation strategy Amazon Web Services PCS uses to provision + * EC2 instances. Amazon Web Services PCS supports lowest price, capacity + * optimized, and price capacity optimized. For more information, see Use + * allocation strategies to determine how EC2 Fleet or Spot Fleet fulfills Spot and + * On-Demand capacity in the Amazon Elastic Compute Cloud User Guide. If + * you don't provide this option, it defaults to price capacity + * optimized.

    + */ + inline const SpotAllocationStrategy& GetAllocationStrategy() const{ return m_allocationStrategy; } + inline bool AllocationStrategyHasBeenSet() const { return m_allocationStrategyHasBeenSet; } + inline void SetAllocationStrategy(const SpotAllocationStrategy& value) { m_allocationStrategyHasBeenSet = true; m_allocationStrategy = value; } + inline void SetAllocationStrategy(SpotAllocationStrategy&& value) { m_allocationStrategyHasBeenSet = true; m_allocationStrategy = std::move(value); } + inline SpotOptions& WithAllocationStrategy(const SpotAllocationStrategy& value) { SetAllocationStrategy(value); return *this;} + inline SpotOptions& WithAllocationStrategy(SpotAllocationStrategy&& value) { SetAllocationStrategy(std::move(value)); return *this;} + ///@} + private: + + SpotAllocationStrategy m_allocationStrategy; + bool m_allocationStrategyHasBeenSet = false; + }; + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/TagResourceRequest.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/TagResourceRequest.h new file mode 100644 index 00000000000..4124997696f --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/TagResourceRequest.h @@ -0,0 +1,82 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace PCS +{ +namespace Model +{ + + /** + */ + class TagResourceRequest : public PCSRequest + { + public: + AWS_PCS_API TagResourceRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "TagResource"; } + + AWS_PCS_API Aws::String SerializePayload() const override; + + AWS_PCS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

    The Amazon Resource Name (ARN) of the resource.

    + */ + inline const Aws::String& GetResourceArn() const{ return m_resourceArn; } + inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; } + inline void SetResourceArn(const Aws::String& value) { m_resourceArnHasBeenSet = true; m_resourceArn = value; } + inline void SetResourceArn(Aws::String&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::move(value); } + inline void SetResourceArn(const char* value) { m_resourceArnHasBeenSet = true; m_resourceArn.assign(value); } + inline TagResourceRequest& WithResourceArn(const Aws::String& value) { SetResourceArn(value); return *this;} + inline TagResourceRequest& WithResourceArn(Aws::String&& value) { SetResourceArn(std::move(value)); return *this;} + inline TagResourceRequest& WithResourceArn(const char* value) { SetResourceArn(value); return *this;} + ///@} + + ///@{ + /** + *

    1 or more tags added to the resource. Each tag consists of a tag key and tag + * value. The tag value is optional and can be an empty string.

    + */ + inline const Aws::Map& GetTags() const{ return m_tags; } + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + inline void SetTags(const Aws::Map& value) { m_tagsHasBeenSet = true; m_tags = value; } + inline void SetTags(Aws::Map&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } + inline TagResourceRequest& WithTags(const Aws::Map& value) { SetTags(value); return *this;} + inline TagResourceRequest& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} + inline TagResourceRequest& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } + inline TagResourceRequest& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } + inline TagResourceRequest& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } + inline TagResourceRequest& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } + inline TagResourceRequest& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } + inline TagResourceRequest& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } + inline TagResourceRequest& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } + ///@} + private: + + Aws::String m_resourceArn; + bool m_resourceArnHasBeenSet = false; + + Aws::Map m_tags; + bool m_tagsHasBeenSet = false; + }; + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ThrottlingException.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ThrottlingException.h new file mode 100644 index 00000000000..73acd2efe5d --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ThrottlingException.h @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace PCS +{ +namespace Model +{ + + /** + *

    Your request exceeded a request rate quota. Check the resource's request rate + * quota and try again.

    See Also:

    AWS + * API Reference

    + */ + class ThrottlingException + { + public: + AWS_PCS_API ThrottlingException(); + AWS_PCS_API ThrottlingException(Aws::Utils::Json::JsonView jsonValue); + AWS_PCS_API ThrottlingException& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_PCS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + + inline const Aws::String& GetMessage() const{ return m_message; } + inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } + inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; } + inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); } + inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); } + inline ThrottlingException& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} + inline ThrottlingException& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} + inline ThrottlingException& WithMessage(const char* value) { SetMessage(value); return *this;} + ///@} + + ///@{ + /** + *

    The number of seconds to wait before retrying the request.

    + */ + inline int GetRetryAfterSeconds() const{ return m_retryAfterSeconds; } + inline bool RetryAfterSecondsHasBeenSet() const { return m_retryAfterSecondsHasBeenSet; } + inline void SetRetryAfterSeconds(int value) { m_retryAfterSecondsHasBeenSet = true; m_retryAfterSeconds = value; } + inline ThrottlingException& WithRetryAfterSeconds(int value) { SetRetryAfterSeconds(value); return *this;} + ///@} + private: + + Aws::String m_message; + bool m_messageHasBeenSet = false; + + int m_retryAfterSeconds; + bool m_retryAfterSecondsHasBeenSet = false; + }; + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/UntagResourceRequest.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/UntagResourceRequest.h new file mode 100644 index 00000000000..ae198a2939f --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/UntagResourceRequest.h @@ -0,0 +1,78 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace PCS +{ +namespace Model +{ + + /** + */ + class UntagResourceRequest : public PCSRequest + { + public: + AWS_PCS_API UntagResourceRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "UntagResource"; } + + AWS_PCS_API Aws::String SerializePayload() const override; + + AWS_PCS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

    The Amazon Resource Name (ARN) of the resource.

    + */ + inline const Aws::String& GetResourceArn() const{ return m_resourceArn; } + inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; } + inline void SetResourceArn(const Aws::String& value) { m_resourceArnHasBeenSet = true; m_resourceArn = value; } + inline void SetResourceArn(Aws::String&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::move(value); } + inline void SetResourceArn(const char* value) { m_resourceArnHasBeenSet = true; m_resourceArn.assign(value); } + inline UntagResourceRequest& WithResourceArn(const Aws::String& value) { SetResourceArn(value); return *this;} + inline UntagResourceRequest& WithResourceArn(Aws::String&& value) { SetResourceArn(std::move(value)); return *this;} + inline UntagResourceRequest& WithResourceArn(const char* value) { SetResourceArn(value); return *this;} + ///@} + + ///@{ + /** + *

    1 or more tag keys to remove from the resource. Specify only tag keys and not + * tag values.

    + */ + inline const Aws::Vector& GetTagKeys() const{ return m_tagKeys; } + inline bool TagKeysHasBeenSet() const { return m_tagKeysHasBeenSet; } + inline void SetTagKeys(const Aws::Vector& value) { m_tagKeysHasBeenSet = true; m_tagKeys = value; } + inline void SetTagKeys(Aws::Vector&& value) { m_tagKeysHasBeenSet = true; m_tagKeys = std::move(value); } + inline UntagResourceRequest& WithTagKeys(const Aws::Vector& value) { SetTagKeys(value); return *this;} + inline UntagResourceRequest& WithTagKeys(Aws::Vector&& value) { SetTagKeys(std::move(value)); return *this;} + inline UntagResourceRequest& AddTagKeys(const Aws::String& value) { m_tagKeysHasBeenSet = true; m_tagKeys.push_back(value); return *this; } + inline UntagResourceRequest& AddTagKeys(Aws::String&& value) { m_tagKeysHasBeenSet = true; m_tagKeys.push_back(std::move(value)); return *this; } + inline UntagResourceRequest& AddTagKeys(const char* value) { m_tagKeysHasBeenSet = true; m_tagKeys.push_back(value); return *this; } + ///@} + private: + + Aws::String m_resourceArn; + bool m_resourceArnHasBeenSet = false; + + Aws::Vector m_tagKeys; + bool m_tagKeysHasBeenSet = false; + }; + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/UpdateComputeNodeGroupRequest.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/UpdateComputeNodeGroupRequest.h new file mode 100644 index 00000000000..cbe13378396 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/UpdateComputeNodeGroupRequest.h @@ -0,0 +1,238 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace PCS +{ +namespace Model +{ + + /** + */ + class UpdateComputeNodeGroupRequest : public PCSRequest + { + public: + AWS_PCS_API UpdateComputeNodeGroupRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "UpdateComputeNodeGroup"; } + + AWS_PCS_API Aws::String SerializePayload() const override; + + AWS_PCS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

    The name or ID of the cluster of the compute node group.

    + */ + inline const Aws::String& GetClusterIdentifier() const{ return m_clusterIdentifier; } + inline bool ClusterIdentifierHasBeenSet() const { return m_clusterIdentifierHasBeenSet; } + inline void SetClusterIdentifier(const Aws::String& value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier = value; } + inline void SetClusterIdentifier(Aws::String&& value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier = std::move(value); } + inline void SetClusterIdentifier(const char* value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier.assign(value); } + inline UpdateComputeNodeGroupRequest& WithClusterIdentifier(const Aws::String& value) { SetClusterIdentifier(value); return *this;} + inline UpdateComputeNodeGroupRequest& WithClusterIdentifier(Aws::String&& value) { SetClusterIdentifier(std::move(value)); return *this;} + inline UpdateComputeNodeGroupRequest& WithClusterIdentifier(const char* value) { SetClusterIdentifier(value); return *this;} + ///@} + + ///@{ + /** + *

    The name or ID of the compute node group.

    + */ + inline const Aws::String& GetComputeNodeGroupIdentifier() const{ return m_computeNodeGroupIdentifier; } + inline bool ComputeNodeGroupIdentifierHasBeenSet() const { return m_computeNodeGroupIdentifierHasBeenSet; } + inline void SetComputeNodeGroupIdentifier(const Aws::String& value) { m_computeNodeGroupIdentifierHasBeenSet = true; m_computeNodeGroupIdentifier = value; } + inline void SetComputeNodeGroupIdentifier(Aws::String&& value) { m_computeNodeGroupIdentifierHasBeenSet = true; m_computeNodeGroupIdentifier = std::move(value); } + inline void SetComputeNodeGroupIdentifier(const char* value) { m_computeNodeGroupIdentifierHasBeenSet = true; m_computeNodeGroupIdentifier.assign(value); } + inline UpdateComputeNodeGroupRequest& WithComputeNodeGroupIdentifier(const Aws::String& value) { SetComputeNodeGroupIdentifier(value); return *this;} + inline UpdateComputeNodeGroupRequest& WithComputeNodeGroupIdentifier(Aws::String&& value) { SetComputeNodeGroupIdentifier(std::move(value)); return *this;} + inline UpdateComputeNodeGroupRequest& WithComputeNodeGroupIdentifier(const char* value) { SetComputeNodeGroupIdentifier(value); return *this;} + ///@} + + ///@{ + /** + *

    The ID of the Amazon Machine Image (AMI) that Amazon Web Services PCS uses to + * launch instances. If not provided, Amazon Web Services PCS uses the AMI ID + * specified in the custom launch template.

    + */ + inline const Aws::String& GetAmiId() const{ return m_amiId; } + inline bool AmiIdHasBeenSet() const { return m_amiIdHasBeenSet; } + inline void SetAmiId(const Aws::String& value) { m_amiIdHasBeenSet = true; m_amiId = value; } + inline void SetAmiId(Aws::String&& value) { m_amiIdHasBeenSet = true; m_amiId = std::move(value); } + inline void SetAmiId(const char* value) { m_amiIdHasBeenSet = true; m_amiId.assign(value); } + inline UpdateComputeNodeGroupRequest& WithAmiId(const Aws::String& value) { SetAmiId(value); return *this;} + inline UpdateComputeNodeGroupRequest& WithAmiId(Aws::String&& value) { SetAmiId(std::move(value)); return *this;} + inline UpdateComputeNodeGroupRequest& WithAmiId(const char* value) { SetAmiId(value); return *this;} + ///@} + + ///@{ + /** + *

    The list of subnet IDs where the compute node group provisions instances. The + * subnets must be in the same VPC as the cluster.

    + */ + inline const Aws::Vector& GetSubnetIds() const{ return m_subnetIds; } + inline bool SubnetIdsHasBeenSet() const { return m_subnetIdsHasBeenSet; } + inline void SetSubnetIds(const Aws::Vector& value) { m_subnetIdsHasBeenSet = true; m_subnetIds = value; } + inline void SetSubnetIds(Aws::Vector&& value) { m_subnetIdsHasBeenSet = true; m_subnetIds = std::move(value); } + inline UpdateComputeNodeGroupRequest& WithSubnetIds(const Aws::Vector& value) { SetSubnetIds(value); return *this;} + inline UpdateComputeNodeGroupRequest& WithSubnetIds(Aws::Vector&& value) { SetSubnetIds(std::move(value)); return *this;} + inline UpdateComputeNodeGroupRequest& AddSubnetIds(const Aws::String& value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(value); return *this; } + inline UpdateComputeNodeGroupRequest& AddSubnetIds(Aws::String&& value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(std::move(value)); return *this; } + inline UpdateComputeNodeGroupRequest& AddSubnetIds(const char* value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(value); return *this; } + ///@} + + ///@{ + + inline const CustomLaunchTemplate& GetCustomLaunchTemplate() const{ return m_customLaunchTemplate; } + inline bool CustomLaunchTemplateHasBeenSet() const { return m_customLaunchTemplateHasBeenSet; } + inline void SetCustomLaunchTemplate(const CustomLaunchTemplate& value) { m_customLaunchTemplateHasBeenSet = true; m_customLaunchTemplate = value; } + inline void SetCustomLaunchTemplate(CustomLaunchTemplate&& value) { m_customLaunchTemplateHasBeenSet = true; m_customLaunchTemplate = std::move(value); } + inline UpdateComputeNodeGroupRequest& WithCustomLaunchTemplate(const CustomLaunchTemplate& value) { SetCustomLaunchTemplate(value); return *this;} + inline UpdateComputeNodeGroupRequest& WithCustomLaunchTemplate(CustomLaunchTemplate&& value) { SetCustomLaunchTemplate(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    Specifies how EC2 instances are purchased on your behalf. Amazon Web Services + * PCS supports On-Demand and Spot instances. For more information, see Instance + * purchasing options in the Amazon Elastic Compute Cloud User Guide. If + * you don't provide this option, it defaults to On-Demand.

    + */ + inline const PurchaseOption& GetPurchaseOption() const{ return m_purchaseOption; } + inline bool PurchaseOptionHasBeenSet() const { return m_purchaseOptionHasBeenSet; } + inline void SetPurchaseOption(const PurchaseOption& value) { m_purchaseOptionHasBeenSet = true; m_purchaseOption = value; } + inline void SetPurchaseOption(PurchaseOption&& value) { m_purchaseOptionHasBeenSet = true; m_purchaseOption = std::move(value); } + inline UpdateComputeNodeGroupRequest& WithPurchaseOption(const PurchaseOption& value) { SetPurchaseOption(value); return *this;} + inline UpdateComputeNodeGroupRequest& WithPurchaseOption(PurchaseOption&& value) { SetPurchaseOption(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const SpotOptions& GetSpotOptions() const{ return m_spotOptions; } + inline bool SpotOptionsHasBeenSet() const { return m_spotOptionsHasBeenSet; } + inline void SetSpotOptions(const SpotOptions& value) { m_spotOptionsHasBeenSet = true; m_spotOptions = value; } + inline void SetSpotOptions(SpotOptions&& value) { m_spotOptionsHasBeenSet = true; m_spotOptions = std::move(value); } + inline UpdateComputeNodeGroupRequest& WithSpotOptions(const SpotOptions& value) { SetSpotOptions(value); return *this;} + inline UpdateComputeNodeGroupRequest& WithSpotOptions(SpotOptions&& value) { SetSpotOptions(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    Specifies the boundaries of the compute node group auto scaling.

    + */ + inline const ScalingConfigurationRequest& GetScalingConfiguration() const{ return m_scalingConfiguration; } + inline bool ScalingConfigurationHasBeenSet() const { return m_scalingConfigurationHasBeenSet; } + inline void SetScalingConfiguration(const ScalingConfigurationRequest& value) { m_scalingConfigurationHasBeenSet = true; m_scalingConfiguration = value; } + inline void SetScalingConfiguration(ScalingConfigurationRequest&& value) { m_scalingConfigurationHasBeenSet = true; m_scalingConfiguration = std::move(value); } + inline UpdateComputeNodeGroupRequest& WithScalingConfiguration(const ScalingConfigurationRequest& value) { SetScalingConfiguration(value); return *this;} + inline UpdateComputeNodeGroupRequest& WithScalingConfiguration(ScalingConfigurationRequest&& value) { SetScalingConfiguration(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    The Amazon Resource Name (ARN) of the IAM instance profile used to pass an + * IAM role when launching EC2 instances. The role contained in your instance + * profile must have pcs:RegisterComputeNodeGroupInstance permissions + * attached to provision instances correctly.

    + */ + inline const Aws::String& GetIamInstanceProfileArn() const{ return m_iamInstanceProfileArn; } + inline bool IamInstanceProfileArnHasBeenSet() const { return m_iamInstanceProfileArnHasBeenSet; } + inline void SetIamInstanceProfileArn(const Aws::String& value) { m_iamInstanceProfileArnHasBeenSet = true; m_iamInstanceProfileArn = value; } + inline void SetIamInstanceProfileArn(Aws::String&& value) { m_iamInstanceProfileArnHasBeenSet = true; m_iamInstanceProfileArn = std::move(value); } + inline void SetIamInstanceProfileArn(const char* value) { m_iamInstanceProfileArnHasBeenSet = true; m_iamInstanceProfileArn.assign(value); } + inline UpdateComputeNodeGroupRequest& WithIamInstanceProfileArn(const Aws::String& value) { SetIamInstanceProfileArn(value); return *this;} + inline UpdateComputeNodeGroupRequest& WithIamInstanceProfileArn(Aws::String&& value) { SetIamInstanceProfileArn(std::move(value)); return *this;} + inline UpdateComputeNodeGroupRequest& WithIamInstanceProfileArn(const char* value) { SetIamInstanceProfileArn(value); return *this;} + ///@} + + ///@{ + /** + *

    Additional options related to the Slurm scheduler.

    + */ + inline const UpdateComputeNodeGroupSlurmConfigurationRequest& GetSlurmConfiguration() const{ return m_slurmConfiguration; } + inline bool SlurmConfigurationHasBeenSet() const { return m_slurmConfigurationHasBeenSet; } + inline void SetSlurmConfiguration(const UpdateComputeNodeGroupSlurmConfigurationRequest& value) { m_slurmConfigurationHasBeenSet = true; m_slurmConfiguration = value; } + inline void SetSlurmConfiguration(UpdateComputeNodeGroupSlurmConfigurationRequest&& value) { m_slurmConfigurationHasBeenSet = true; m_slurmConfiguration = std::move(value); } + inline UpdateComputeNodeGroupRequest& WithSlurmConfiguration(const UpdateComputeNodeGroupSlurmConfigurationRequest& value) { SetSlurmConfiguration(value); return *this;} + inline UpdateComputeNodeGroupRequest& WithSlurmConfiguration(UpdateComputeNodeGroupSlurmConfigurationRequest&& value) { SetSlurmConfiguration(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    A unique, case-sensitive identifier that you provide to ensure the + * idempotency of the request. Idempotency ensures that an API request completes + * only once. With an idempotent request, if the original request completes + * successfully, the subsequent retries with the same client token return the + * result from the original successful request and they have no additional effect. + * If you don't specify a client token, the CLI and SDK automatically generate 1 + * for you.

    + */ + inline const Aws::String& GetClientToken() const{ return m_clientToken; } + inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } + inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } + inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } + inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } + inline UpdateComputeNodeGroupRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} + inline UpdateComputeNodeGroupRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} + inline UpdateComputeNodeGroupRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} + ///@} + private: + + Aws::String m_clusterIdentifier; + bool m_clusterIdentifierHasBeenSet = false; + + Aws::String m_computeNodeGroupIdentifier; + bool m_computeNodeGroupIdentifierHasBeenSet = false; + + Aws::String m_amiId; + bool m_amiIdHasBeenSet = false; + + Aws::Vector m_subnetIds; + bool m_subnetIdsHasBeenSet = false; + + CustomLaunchTemplate m_customLaunchTemplate; + bool m_customLaunchTemplateHasBeenSet = false; + + PurchaseOption m_purchaseOption; + bool m_purchaseOptionHasBeenSet = false; + + SpotOptions m_spotOptions; + bool m_spotOptionsHasBeenSet = false; + + ScalingConfigurationRequest m_scalingConfiguration; + bool m_scalingConfigurationHasBeenSet = false; + + Aws::String m_iamInstanceProfileArn; + bool m_iamInstanceProfileArnHasBeenSet = false; + + UpdateComputeNodeGroupSlurmConfigurationRequest m_slurmConfiguration; + bool m_slurmConfigurationHasBeenSet = false; + + Aws::String m_clientToken; + bool m_clientTokenHasBeenSet = false; + }; + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/UpdateComputeNodeGroupResult.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/UpdateComputeNodeGroupResult.h new file mode 100644 index 00000000000..16203e73a96 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/UpdateComputeNodeGroupResult.h @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace PCS +{ +namespace Model +{ + class UpdateComputeNodeGroupResult + { + public: + AWS_PCS_API UpdateComputeNodeGroupResult(); + AWS_PCS_API UpdateComputeNodeGroupResult(const Aws::AmazonWebServiceResult& result); + AWS_PCS_API UpdateComputeNodeGroupResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const ComputeNodeGroup& GetComputeNodeGroup() const{ return m_computeNodeGroup; } + inline void SetComputeNodeGroup(const ComputeNodeGroup& value) { m_computeNodeGroup = value; } + inline void SetComputeNodeGroup(ComputeNodeGroup&& value) { m_computeNodeGroup = std::move(value); } + inline UpdateComputeNodeGroupResult& WithComputeNodeGroup(const ComputeNodeGroup& value) { SetComputeNodeGroup(value); return *this;} + inline UpdateComputeNodeGroupResult& WithComputeNodeGroup(ComputeNodeGroup&& value) { SetComputeNodeGroup(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline UpdateComputeNodeGroupResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline UpdateComputeNodeGroupResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline UpdateComputeNodeGroupResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + ComputeNodeGroup m_computeNodeGroup; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/UpdateComputeNodeGroupSlurmConfigurationRequest.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/UpdateComputeNodeGroupSlurmConfigurationRequest.h new file mode 100644 index 00000000000..b463fa5777b --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/UpdateComputeNodeGroupSlurmConfigurationRequest.h @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace PCS +{ +namespace Model +{ + + /** + *

    Additional options related to the Slurm scheduler.

    See Also:

    + * AWS + * API Reference

    + */ + class UpdateComputeNodeGroupSlurmConfigurationRequest + { + public: + AWS_PCS_API UpdateComputeNodeGroupSlurmConfigurationRequest(); + AWS_PCS_API UpdateComputeNodeGroupSlurmConfigurationRequest(Aws::Utils::Json::JsonView jsonValue); + AWS_PCS_API UpdateComputeNodeGroupSlurmConfigurationRequest& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_PCS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    Additional Slurm-specific configuration that directly maps to Slurm + * settings.

    + */ + inline const Aws::Vector& GetSlurmCustomSettings() const{ return m_slurmCustomSettings; } + inline bool SlurmCustomSettingsHasBeenSet() const { return m_slurmCustomSettingsHasBeenSet; } + inline void SetSlurmCustomSettings(const Aws::Vector& value) { m_slurmCustomSettingsHasBeenSet = true; m_slurmCustomSettings = value; } + inline void SetSlurmCustomSettings(Aws::Vector&& value) { m_slurmCustomSettingsHasBeenSet = true; m_slurmCustomSettings = std::move(value); } + inline UpdateComputeNodeGroupSlurmConfigurationRequest& WithSlurmCustomSettings(const Aws::Vector& value) { SetSlurmCustomSettings(value); return *this;} + inline UpdateComputeNodeGroupSlurmConfigurationRequest& WithSlurmCustomSettings(Aws::Vector&& value) { SetSlurmCustomSettings(std::move(value)); return *this;} + inline UpdateComputeNodeGroupSlurmConfigurationRequest& AddSlurmCustomSettings(const SlurmCustomSetting& value) { m_slurmCustomSettingsHasBeenSet = true; m_slurmCustomSettings.push_back(value); return *this; } + inline UpdateComputeNodeGroupSlurmConfigurationRequest& AddSlurmCustomSettings(SlurmCustomSetting&& value) { m_slurmCustomSettingsHasBeenSet = true; m_slurmCustomSettings.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::Vector m_slurmCustomSettings; + bool m_slurmCustomSettingsHasBeenSet = false; + }; + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/UpdateQueueRequest.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/UpdateQueueRequest.h new file mode 100644 index 00000000000..2f7d5950081 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/UpdateQueueRequest.h @@ -0,0 +1,119 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace PCS +{ +namespace Model +{ + + /** + */ + class UpdateQueueRequest : public PCSRequest + { + public: + AWS_PCS_API UpdateQueueRequest(); + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "UpdateQueue"; } + + AWS_PCS_API Aws::String SerializePayload() const override; + + AWS_PCS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

    The name or ID of the cluster of the queue.

    + */ + inline const Aws::String& GetClusterIdentifier() const{ return m_clusterIdentifier; } + inline bool ClusterIdentifierHasBeenSet() const { return m_clusterIdentifierHasBeenSet; } + inline void SetClusterIdentifier(const Aws::String& value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier = value; } + inline void SetClusterIdentifier(Aws::String&& value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier = std::move(value); } + inline void SetClusterIdentifier(const char* value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier.assign(value); } + inline UpdateQueueRequest& WithClusterIdentifier(const Aws::String& value) { SetClusterIdentifier(value); return *this;} + inline UpdateQueueRequest& WithClusterIdentifier(Aws::String&& value) { SetClusterIdentifier(std::move(value)); return *this;} + inline UpdateQueueRequest& WithClusterIdentifier(const char* value) { SetClusterIdentifier(value); return *this;} + ///@} + + ///@{ + /** + *

    The name or ID of the queue.

    + */ + inline const Aws::String& GetQueueIdentifier() const{ return m_queueIdentifier; } + inline bool QueueIdentifierHasBeenSet() const { return m_queueIdentifierHasBeenSet; } + inline void SetQueueIdentifier(const Aws::String& value) { m_queueIdentifierHasBeenSet = true; m_queueIdentifier = value; } + inline void SetQueueIdentifier(Aws::String&& value) { m_queueIdentifierHasBeenSet = true; m_queueIdentifier = std::move(value); } + inline void SetQueueIdentifier(const char* value) { m_queueIdentifierHasBeenSet = true; m_queueIdentifier.assign(value); } + inline UpdateQueueRequest& WithQueueIdentifier(const Aws::String& value) { SetQueueIdentifier(value); return *this;} + inline UpdateQueueRequest& WithQueueIdentifier(Aws::String&& value) { SetQueueIdentifier(std::move(value)); return *this;} + inline UpdateQueueRequest& WithQueueIdentifier(const char* value) { SetQueueIdentifier(value); return *this;} + ///@} + + ///@{ + /** + *

    The list of compute node group configurations to associate with the queue. + * Queues assign jobs to associated compute node groups.

    + */ + inline const Aws::Vector& GetComputeNodeGroupConfigurations() const{ return m_computeNodeGroupConfigurations; } + inline bool ComputeNodeGroupConfigurationsHasBeenSet() const { return m_computeNodeGroupConfigurationsHasBeenSet; } + inline void SetComputeNodeGroupConfigurations(const Aws::Vector& value) { m_computeNodeGroupConfigurationsHasBeenSet = true; m_computeNodeGroupConfigurations = value; } + inline void SetComputeNodeGroupConfigurations(Aws::Vector&& value) { m_computeNodeGroupConfigurationsHasBeenSet = true; m_computeNodeGroupConfigurations = std::move(value); } + inline UpdateQueueRequest& WithComputeNodeGroupConfigurations(const Aws::Vector& value) { SetComputeNodeGroupConfigurations(value); return *this;} + inline UpdateQueueRequest& WithComputeNodeGroupConfigurations(Aws::Vector&& value) { SetComputeNodeGroupConfigurations(std::move(value)); return *this;} + inline UpdateQueueRequest& AddComputeNodeGroupConfigurations(const ComputeNodeGroupConfiguration& value) { m_computeNodeGroupConfigurationsHasBeenSet = true; m_computeNodeGroupConfigurations.push_back(value); return *this; } + inline UpdateQueueRequest& AddComputeNodeGroupConfigurations(ComputeNodeGroupConfiguration&& value) { m_computeNodeGroupConfigurationsHasBeenSet = true; m_computeNodeGroupConfigurations.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

    A unique, case-sensitive identifier that you provide to ensure the + * idempotency of the request. Idempotency ensures that an API request completes + * only once. With an idempotent request, if the original request completes + * successfully, the subsequent retries with the same client token return the + * result from the original successful request and they have no additional effect. + * If you don't specify a client token, the CLI and SDK automatically generate 1 + * for you.

    + */ + inline const Aws::String& GetClientToken() const{ return m_clientToken; } + inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } + inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } + inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } + inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } + inline UpdateQueueRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} + inline UpdateQueueRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} + inline UpdateQueueRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} + ///@} + private: + + Aws::String m_clusterIdentifier; + bool m_clusterIdentifierHasBeenSet = false; + + Aws::String m_queueIdentifier; + bool m_queueIdentifierHasBeenSet = false; + + Aws::Vector m_computeNodeGroupConfigurations; + bool m_computeNodeGroupConfigurationsHasBeenSet = false; + + Aws::String m_clientToken; + bool m_clientTokenHasBeenSet = false; + }; + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/UpdateQueueResult.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/UpdateQueueResult.h new file mode 100644 index 00000000000..35326bb5955 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/UpdateQueueResult.h @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace PCS +{ +namespace Model +{ + class UpdateQueueResult + { + public: + AWS_PCS_API UpdateQueueResult(); + AWS_PCS_API UpdateQueueResult(const Aws::AmazonWebServiceResult& result); + AWS_PCS_API UpdateQueueResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Queue& GetQueue() const{ return m_queue; } + inline void SetQueue(const Queue& value) { m_queue = value; } + inline void SetQueue(Queue&& value) { m_queue = std::move(value); } + inline UpdateQueueResult& WithQueue(const Queue& value) { SetQueue(value); return *this;} + inline UpdateQueueResult& WithQueue(Queue&& value) { SetQueue(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + inline UpdateQueueResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline UpdateQueueResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline UpdateQueueResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Queue m_queue; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ValidationException.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ValidationException.h new file mode 100644 index 00000000000..b6a49a3eaab --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ValidationException.h @@ -0,0 +1,100 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace PCS +{ +namespace Model +{ + + /** + *

    The request isn't valid.

    Examples

    • Your + * request contains malformed JSON or unsupported characters.

    • The + * scheduler version isn't supported.

    • There are networking + * related errors, such as network validation failure.

    • AMI type + * is CUSTOM and the launch template doesn't define the AMI ID, or the + * AMI type is AL2 and the launch template defines the AMI.

    • + *

    See Also:

    AWS + * API Reference

    + */ + class ValidationException + { + public: + AWS_PCS_API ValidationException(); + AWS_PCS_API ValidationException(Aws::Utils::Json::JsonView jsonValue); + AWS_PCS_API ValidationException& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_PCS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + + inline const Aws::String& GetMessage() const{ return m_message; } + inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } + inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; } + inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); } + inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); } + inline ValidationException& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} + inline ValidationException& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} + inline ValidationException& WithMessage(const char* value) { SetMessage(value); return *this;} + ///@} + + ///@{ + /** + *

    The specific reason or cause of the validation error.

    + */ + inline const ValidationExceptionReason& GetReason() const{ return m_reason; } + inline bool ReasonHasBeenSet() const { return m_reasonHasBeenSet; } + inline void SetReason(const ValidationExceptionReason& value) { m_reasonHasBeenSet = true; m_reason = value; } + inline void SetReason(ValidationExceptionReason&& value) { m_reasonHasBeenSet = true; m_reason = std::move(value); } + inline ValidationException& WithReason(const ValidationExceptionReason& value) { SetReason(value); return *this;} + inline ValidationException& WithReason(ValidationExceptionReason&& value) { SetReason(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

    A list of fields or properties that failed validation.

    + */ + inline const Aws::Vector& GetFieldList() const{ return m_fieldList; } + inline bool FieldListHasBeenSet() const { return m_fieldListHasBeenSet; } + inline void SetFieldList(const Aws::Vector& value) { m_fieldListHasBeenSet = true; m_fieldList = value; } + inline void SetFieldList(Aws::Vector&& value) { m_fieldListHasBeenSet = true; m_fieldList = std::move(value); } + inline ValidationException& WithFieldList(const Aws::Vector& value) { SetFieldList(value); return *this;} + inline ValidationException& WithFieldList(Aws::Vector&& value) { SetFieldList(std::move(value)); return *this;} + inline ValidationException& AddFieldList(const ValidationExceptionField& value) { m_fieldListHasBeenSet = true; m_fieldList.push_back(value); return *this; } + inline ValidationException& AddFieldList(ValidationExceptionField&& value) { m_fieldListHasBeenSet = true; m_fieldList.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::String m_message; + bool m_messageHasBeenSet = false; + + ValidationExceptionReason m_reason; + bool m_reasonHasBeenSet = false; + + Aws::Vector m_fieldList; + bool m_fieldListHasBeenSet = false; + }; + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ValidationExceptionField.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ValidationExceptionField.h new file mode 100644 index 00000000000..c41b8545d1b --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ValidationExceptionField.h @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace PCS +{ +namespace Model +{ + + /** + *

    Stores information about a field in a request that caused an + * exception.

    See Also:

    AWS + * API Reference

    + */ + class ValidationExceptionField + { + public: + AWS_PCS_API ValidationExceptionField(); + AWS_PCS_API ValidationExceptionField(Aws::Utils::Json::JsonView jsonValue); + AWS_PCS_API ValidationExceptionField& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_PCS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

    The name of the exception.

    + */ + inline const Aws::String& GetName() const{ return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + inline ValidationExceptionField& WithName(const Aws::String& value) { SetName(value); return *this;} + inline ValidationExceptionField& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline ValidationExceptionField& WithName(const char* value) { SetName(value); return *this;} + ///@} + + ///@{ + /** + *

    The message body of the exception.

    + */ + inline const Aws::String& GetMessage() const{ return m_message; } + inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } + inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; } + inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); } + inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); } + inline ValidationExceptionField& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} + inline ValidationExceptionField& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} + inline ValidationExceptionField& WithMessage(const char* value) { SetMessage(value); return *this;} + ///@} + private: + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_message; + bool m_messageHasBeenSet = false; + }; + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ValidationExceptionReason.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ValidationExceptionReason.h new file mode 100644 index 00000000000..fcff38aa350 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/model/ValidationExceptionReason.h @@ -0,0 +1,33 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace PCS +{ +namespace Model +{ + enum class ValidationExceptionReason + { + NOT_SET, + unknownOperation, + cannotParse, + fieldValidationFailed, + other + }; + +namespace ValidationExceptionReasonMapper +{ +AWS_PCS_API ValidationExceptionReason GetValidationExceptionReasonForName(const Aws::String& name); + +AWS_PCS_API Aws::String GetNameForValidationExceptionReason(ValidationExceptionReason value); +} // namespace ValidationExceptionReasonMapper +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/source/PCSClient.cpp b/generated/src/aws-cpp-sdk-pcs/source/PCSClient.cpp new file mode 100644 index 00000000000..4f5584b52e9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/PCSClient.cpp @@ -0,0 +1,652 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + + +using namespace Aws; +using namespace Aws::Auth; +using namespace Aws::Client; +using namespace Aws::PCS; +using namespace Aws::PCS::Model; +using namespace Aws::Http; +using namespace Aws::Utils::Json; +using namespace smithy::components::tracing; +using ResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + +namespace Aws +{ + namespace PCS + { + const char SERVICE_NAME[] = "pcs"; + const char ALLOCATION_TAG[] = "PCSClient"; + } +} +const char* PCSClient::GetServiceName() {return SERVICE_NAME;} +const char* PCSClient::GetAllocationTag() {return ALLOCATION_TAG;} + +PCSClient::PCSClient(const PCS::PCSClientConfiguration& clientConfiguration, + std::shared_ptr endpointProvider) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(endpointProvider ? std::move(endpointProvider) : Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +PCSClient::PCSClient(const AWSCredentials& credentials, + std::shared_ptr endpointProvider, + const PCS::PCSClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG, credentials), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(endpointProvider ? std::move(endpointProvider) : Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +PCSClient::PCSClient(const std::shared_ptr& credentialsProvider, + std::shared_ptr endpointProvider, + const PCS::PCSClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + credentialsProvider, + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(endpointProvider ? std::move(endpointProvider) : Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + + /* Legacy constructors due deprecation */ + PCSClient::PCSClient(const Client::ClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +PCSClient::PCSClient(const AWSCredentials& credentials, + const Client::ClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG, credentials), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +PCSClient::PCSClient(const std::shared_ptr& credentialsProvider, + const Client::ClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + credentialsProvider, + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + + /* End of legacy constructors due deprecation */ +PCSClient::~PCSClient() +{ + ShutdownSdkClient(this, -1); +} + +std::shared_ptr& PCSClient::accessEndpointProvider() +{ + return m_endpointProvider; +} + +void PCSClient::init(const PCS::PCSClientConfiguration& config) +{ + AWSClient::SetServiceClientName("PCS"); + if (!m_clientConfiguration.executor) { + if (!m_clientConfiguration.configFactories.executorCreateFn()) { + AWS_LOGSTREAM_FATAL(ALLOCATION_TAG, "Failed to initialize client: config is missing Executor or executorCreateFn"); + m_isInitialized = false; + return; + } + m_clientConfiguration.executor = m_clientConfiguration.configFactories.executorCreateFn(); + } + AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); + m_endpointProvider->InitBuiltInParameters(config); +} + +void PCSClient::OverrideEndpoint(const Aws::String& endpoint) +{ + AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); + m_endpointProvider->OverrideEndpoint(endpoint); +} + +CreateClusterOutcome PCSClient::CreateCluster(const CreateClusterRequest& request) const +{ + AWS_OPERATION_GUARD(CreateCluster); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreateCluster, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CreateCluster, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CreateCluster, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CreateCluster", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> CreateClusterOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, CreateCluster, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return CreateClusterOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +CreateComputeNodeGroupOutcome PCSClient::CreateComputeNodeGroup(const CreateComputeNodeGroupRequest& request) const +{ + AWS_OPERATION_GUARD(CreateComputeNodeGroup); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreateComputeNodeGroup, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CreateComputeNodeGroup, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CreateComputeNodeGroup, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CreateComputeNodeGroup", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> CreateComputeNodeGroupOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, CreateComputeNodeGroup, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return CreateComputeNodeGroupOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +CreateQueueOutcome PCSClient::CreateQueue(const CreateQueueRequest& request) const +{ + AWS_OPERATION_GUARD(CreateQueue); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreateQueue, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CreateQueue, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CreateQueue, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CreateQueue", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> CreateQueueOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, CreateQueue, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return CreateQueueOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +DeleteClusterOutcome PCSClient::DeleteCluster(const DeleteClusterRequest& request) const +{ + AWS_OPERATION_GUARD(DeleteCluster); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteCluster, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteCluster, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteCluster, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeleteCluster", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DeleteClusterOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DeleteCluster, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return DeleteClusterOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +DeleteComputeNodeGroupOutcome PCSClient::DeleteComputeNodeGroup(const DeleteComputeNodeGroupRequest& request) const +{ + AWS_OPERATION_GUARD(DeleteComputeNodeGroup); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteComputeNodeGroup, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteComputeNodeGroup, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteComputeNodeGroup, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeleteComputeNodeGroup", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DeleteComputeNodeGroupOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DeleteComputeNodeGroup, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return DeleteComputeNodeGroupOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +DeleteQueueOutcome PCSClient::DeleteQueue(const DeleteQueueRequest& request) const +{ + AWS_OPERATION_GUARD(DeleteQueue); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteQueue, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteQueue, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteQueue, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeleteQueue", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DeleteQueueOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DeleteQueue, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return DeleteQueueOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +GetClusterOutcome PCSClient::GetCluster(const GetClusterRequest& request) const +{ + AWS_OPERATION_GUARD(GetCluster); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetCluster, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetCluster, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetCluster, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetCluster", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GetClusterOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetCluster, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return GetClusterOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +GetComputeNodeGroupOutcome PCSClient::GetComputeNodeGroup(const GetComputeNodeGroupRequest& request) const +{ + AWS_OPERATION_GUARD(GetComputeNodeGroup); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetComputeNodeGroup, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetComputeNodeGroup, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetComputeNodeGroup, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetComputeNodeGroup", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GetComputeNodeGroupOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetComputeNodeGroup, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return GetComputeNodeGroupOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +GetQueueOutcome PCSClient::GetQueue(const GetQueueRequest& request) const +{ + AWS_OPERATION_GUARD(GetQueue); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetQueue, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetQueue, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetQueue, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetQueue", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GetQueueOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetQueue, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return GetQueueOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +ListClustersOutcome PCSClient::ListClusters(const ListClustersRequest& request) const +{ + AWS_OPERATION_GUARD(ListClusters); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListClusters, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListClusters, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListClusters, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListClusters", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ListClustersOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ListClusters, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return ListClustersOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +ListComputeNodeGroupsOutcome PCSClient::ListComputeNodeGroups(const ListComputeNodeGroupsRequest& request) const +{ + AWS_OPERATION_GUARD(ListComputeNodeGroups); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListComputeNodeGroups, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListComputeNodeGroups, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListComputeNodeGroups, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListComputeNodeGroups", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ListComputeNodeGroupsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ListComputeNodeGroups, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return ListComputeNodeGroupsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +ListQueuesOutcome PCSClient::ListQueues(const ListQueuesRequest& request) const +{ + AWS_OPERATION_GUARD(ListQueues); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListQueues, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListQueues, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListQueues, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListQueues", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ListQueuesOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ListQueues, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return ListQueuesOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +ListTagsForResourceOutcome PCSClient::ListTagsForResource(const ListTagsForResourceRequest& request) const +{ + AWS_OPERATION_GUARD(ListTagsForResource); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListTagsForResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListTagsForResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListTagsForResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListTagsForResource", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ListTagsForResourceOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ListTagsForResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return ListTagsForResourceOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +RegisterComputeNodeGroupInstanceOutcome PCSClient::RegisterComputeNodeGroupInstance(const RegisterComputeNodeGroupInstanceRequest& request) const +{ + AWS_OPERATION_GUARD(RegisterComputeNodeGroupInstance); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, RegisterComputeNodeGroupInstance, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, RegisterComputeNodeGroupInstance, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, RegisterComputeNodeGroupInstance, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".RegisterComputeNodeGroupInstance", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> RegisterComputeNodeGroupInstanceOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, RegisterComputeNodeGroupInstance, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return RegisterComputeNodeGroupInstanceOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +TagResourceOutcome PCSClient::TagResource(const TagResourceRequest& request) const +{ + AWS_OPERATION_GUARD(TagResource); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, TagResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, TagResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, TagResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".TagResource", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> TagResourceOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, TagResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return TagResourceOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +UntagResourceOutcome PCSClient::UntagResource(const UntagResourceRequest& request) const +{ + AWS_OPERATION_GUARD(UntagResource); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UntagResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UntagResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UntagResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UntagResource", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> UntagResourceOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, UntagResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return UntagResourceOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +UpdateComputeNodeGroupOutcome PCSClient::UpdateComputeNodeGroup(const UpdateComputeNodeGroupRequest& request) const +{ + AWS_OPERATION_GUARD(UpdateComputeNodeGroup); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UpdateComputeNodeGroup, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UpdateComputeNodeGroup, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UpdateComputeNodeGroup, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UpdateComputeNodeGroup", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> UpdateComputeNodeGroupOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, UpdateComputeNodeGroup, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return UpdateComputeNodeGroupOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +UpdateQueueOutcome PCSClient::UpdateQueue(const UpdateQueueRequest& request) const +{ + AWS_OPERATION_GUARD(UpdateQueue); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UpdateQueue, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UpdateQueue, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UpdateQueue, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UpdateQueue", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> UpdateQueueOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, UpdateQueue, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return UpdateQueueOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + diff --git a/generated/src/aws-cpp-sdk-pcs/source/PCSEndpointProvider.cpp b/generated/src/aws-cpp-sdk-pcs/source/PCSEndpointProvider.cpp new file mode 100644 index 00000000000..64f1dc28b24 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/PCSEndpointProvider.cpp @@ -0,0 +1,16 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws +{ +namespace PCS +{ +namespace Endpoint +{ +} // namespace Endpoint +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/source/PCSEndpointRules.cpp b/generated/src/aws-cpp-sdk-pcs/source/PCSEndpointRules.cpp new file mode 100644 index 00000000000..54fc58ed84c --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/PCSEndpointRules.cpp @@ -0,0 +1,175 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +namespace Aws +{ +namespace PCS +{ +const size_t PCSEndpointRules::RulesBlobStrLen = 3712; +const size_t PCSEndpointRules::RulesBlobSize = 3713; + +using RulesBlobT = Aws::Array; +static constexpr RulesBlobT RulesBlob = {{ +'{','"','v','e','r','s','i','o','n','"',':','"','1','.','0','"',',','"','p','a','r','a','m','e','t', +'e','r','s','"',':','{','"','R','e','g','i','o','n','"',':','{','"','b','u','i','l','t','I','n','"', +':','"','A','W','S',':',':','R','e','g','i','o','n','"',',','"','r','e','q','u','i','r','e','d','"', +':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"',':','"','T', +'h','e',' ','A','W','S',' ','r','e','g','i','o','n',' ','u','s','e','d',' ','t','o',' ','d','i','s', +'p','a','t','c','h',' ','t','h','e',' ','r','e','q','u','e','s','t','.','"',',','"','t','y','p','e', +'"',':','"','S','t','r','i','n','g','"','}',',','"','U','s','e','D','u','a','l','S','t','a','c','k', +'"',':','{','"','b','u','i','l','t','I','n','"',':','"','A','W','S',':',':','U','s','e','D','u','a', +'l','S','t','a','c','k','"',',','"','r','e','q','u','i','r','e','d','"',':','t','r','u','e',',','"', +'d','e','f','a','u','l','t','"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a', +'t','i','o','n','"',':','"','W','h','e','n',' ','t','r','u','e',',',' ','u','s','e',' ','t','h','e', +' ','d','u','a','l','-','s','t','a','c','k',' ','e','n','d','p','o','i','n','t','.',' ','I','f',' ', +'t','h','e',' ','c','o','n','f','i','g','u','r','e','d',' ','e','n','d','p','o','i','n','t',' ','d', +'o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','d','u','a','l','-','s','t','a','c', +'k',',',' ','d','i','s','p','a','t','c','h','i','n','g',' ','t','h','e',' ','r','e','q','u','e','s', +'t',' ','M','A','Y',' ','r','e','t','u','r','n',' ','a','n',' ','e','r','r','o','r','.','"',',','"', +'t','y','p','e','"',':','"','B','o','o','l','e','a','n','"','}',',','"','U','s','e','F','I','P','S', +'"',':','{','"','b','u','i','l','t','I','n','"',':','"','A','W','S',':',':','U','s','e','F','I','P', +'S','"',',','"','r','e','q','u','i','r','e','d','"',':','t','r','u','e',',','"','d','e','f','a','u', +'l','t','"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"', +':','"','W','h','e','n',' ','t','r','u','e',',',' ','s','e','n','d',' ','t','h','i','s',' ','r','e', +'q','u','e','s','t',' ','t','o',' ','t','h','e',' ','F','I','P','S','-','c','o','m','p','l','i','a', +'n','t',' ','r','e','g','i','o','n','a','l',' ','e','n','d','p','o','i','n','t','.',' ','I','f',' ', +'t','h','e',' ','c','o','n','f','i','g','u','r','e','d',' ','e','n','d','p','o','i','n','t',' ','d', +'o','e','s',' ','n','o','t',' ','h','a','v','e',' ','a',' ','F','I','P','S',' ','c','o','m','p','l', +'i','a','n','t',' ','e','n','d','p','o','i','n','t',',',' ','d','i','s','p','a','t','c','h','i','n', +'g',' ','t','h','e',' ','r','e','q','u','e','s','t',' ','w','i','l','l',' ','r','e','t','u','r','n', +' ','a','n',' ','e','r','r','o','r','.','"',',','"','t','y','p','e','"',':','"','B','o','o','l','e', +'a','n','"','}',',','"','E','n','d','p','o','i','n','t','"',':','{','"','b','u','i','l','t','I','n', +'"',':','"','S','D','K',':',':','E','n','d','p','o','i','n','t','"',',','"','r','e','q','u','i','r', +'e','d','"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"', +':','"','O','v','e','r','r','i','d','e',' ','t','h','e',' ','e','n','d','p','o','i','n','t',' ','u', +'s','e','d',' ','t','o',' ','s','e','n','d',' ','t','h','i','s',' ','r','e','q','u','e','s','t','"', +',','"','t','y','p','e','"',':','"','S','t','r','i','n','g','"','}','}',',','"','r','u','l','e','s', +'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', +'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', +'d','p','o','i','n','t','"','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', +'s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':', +'"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','F', +'I','P','S',' ','a','n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a', +'r','e',' ','n','o','t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':', +'"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', +',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k', +'"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l', +'i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','D','u','a','l','s','t','a', +'c','k',' ','a','n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a','r', +'e',' ','n','o','t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':','"', +'e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',', +'"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','{','"','r','e','f','"',':', +'"','E','n','d','p','o','i','n','t','"','}',',','"','p','r','o','p','e','r','t','i','e','s','"',':', +'{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', +'e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', +'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']','}',']', +',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a', +'s','s','i','g','n','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}', +']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t', +'r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a', +'l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':', +'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t','r','u','e', +',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}', +',','"','s','u','p','p','o','r','t','s','F','I','P','S','"',']','}',']','}',',','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u', +'l','t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a','l','S','t','a','c','k','"',']', +'}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':', +'"','h','t','t','p','s',':','/','/','p','c','s','-','f','i','p','s','.','{','R','e','g','i','o','n', +'}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l','S','t', +'a','c','k','D','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e', +'s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e', +'"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r', +'e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','F','I','P', +'S',' ','a','n','d',' ','D','u','a','l','S','t','a','c','k',' ','a','r','e',' ','e','n','a','b','l', +'e','d',',',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o', +'e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','o','n','e',' ','o','r',' ','b','o','t', +'h','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e', +'"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r', +'u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o', +'n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','F','I','P','S','"',']', +'}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"', +'u','r','l','"',':','"','h','t','t','p','s',':','/','/','p','c','s','-','f','i','p','s','.','{','R', +'e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d', +'n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{', +'}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e', +'n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}', +']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','F','I','P','S',' ','i','s', +' ','e','n','a','b','l','e','d',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i', +'o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','F','I','P','S','"', +',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':', +'"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}', +',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','t','r','u','e',',','{','"','f','n','"',':','"', +'g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r', +'t','s','D','u','a','l','S','t','a','c','k','"',']','}',']','}',']',',','"','r','u','l','e','s','"', +':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','r','u','l','e','s', +'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p', +'o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','p','c','s', +'.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l', +'t','#','d','u','a','l','S','t','a','c','k','D','n','s','S','u','f','f','i','x','}','"',',','"','p', +'r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{', +'}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t', +'y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e', +'e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r', +'o','r','"',':','"','D','u','a','l','S','t','a','c','k',' ','i','s',' ','e','n','a','b','l','e','d', +' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ', +'n','o','t',' ','s','u','p','p','o','r','t',' ','D','u','a','l','S','t','a','c','k','"',',','"','t', +'y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r', +'e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','r','u', +'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e', +'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/', +'p','c','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e', +'s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t', +'i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y', +'p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"', +'t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"', +'t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','C','o', +'n','f','i','g','u','r','a','t','i','o','n',':',' ','M','i','s','s','i','n','g',' ','R','e','g','i', +'o','n','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p', +'e','"',':','"','t','r','e','e','"','}',']','}','\0' +}}; + +const char* PCSEndpointRules::GetRulesBlob() +{ + return RulesBlob.data(); +} + +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/source/PCSErrorMarshaller.cpp b/generated/src/aws-cpp-sdk-pcs/source/PCSErrorMarshaller.cpp new file mode 100644 index 00000000000..7eb30947bf2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/PCSErrorMarshaller.cpp @@ -0,0 +1,22 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::Client; +using namespace Aws::PCS; + +AWSError PCSErrorMarshaller::FindErrorByName(const char* errorName) const +{ + AWSError error = PCSErrorMapper::GetErrorForName(errorName); + if(error.GetErrorType() != CoreErrors::UNKNOWN) + { + return error; + } + + return AWSErrorMarshaller::FindErrorByName(errorName); +} \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-pcs/source/PCSErrors.cpp b/generated/src/aws-cpp-sdk-pcs/source/PCSErrors.cpp new file mode 100644 index 00000000000..0d446488d1b --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/PCSErrors.cpp @@ -0,0 +1,83 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +using namespace Aws::Client; +using namespace Aws::Utils; +using namespace Aws::PCS; +using namespace Aws::PCS::Model; + +namespace Aws +{ +namespace PCS +{ +template<> AWS_PCS_API ConflictException PCSError::GetModeledError() +{ + assert(this->GetErrorType() == PCSErrors::CONFLICT); + return ConflictException(this->GetJsonPayload().View()); +} + +template<> AWS_PCS_API ServiceQuotaExceededException PCSError::GetModeledError() +{ + assert(this->GetErrorType() == PCSErrors::SERVICE_QUOTA_EXCEEDED); + return ServiceQuotaExceededException(this->GetJsonPayload().View()); +} + +template<> AWS_PCS_API ThrottlingException PCSError::GetModeledError() +{ + assert(this->GetErrorType() == PCSErrors::THROTTLING); + return ThrottlingException(this->GetJsonPayload().View()); +} + +template<> AWS_PCS_API ResourceNotFoundException PCSError::GetModeledError() +{ + assert(this->GetErrorType() == PCSErrors::RESOURCE_NOT_FOUND); + return ResourceNotFoundException(this->GetJsonPayload().View()); +} + +template<> AWS_PCS_API ValidationException PCSError::GetModeledError() +{ + assert(this->GetErrorType() == PCSErrors::VALIDATION); + return ValidationException(this->GetJsonPayload().View()); +} + +namespace PCSErrorMapper +{ + +static const int CONFLICT_HASH = HashingUtils::HashString("ConflictException"); +static const int SERVICE_QUOTA_EXCEEDED_HASH = HashingUtils::HashString("ServiceQuotaExceededException"); +static const int INTERNAL_SERVER_HASH = HashingUtils::HashString("InternalServerException"); + + +AWSError GetErrorForName(const char* errorName) +{ + int hashCode = HashingUtils::HashString(errorName); + + if (hashCode == CONFLICT_HASH) + { + return AWSError(static_cast(PCSErrors::CONFLICT), RetryableType::NOT_RETRYABLE); + } + else if (hashCode == SERVICE_QUOTA_EXCEEDED_HASH) + { + return AWSError(static_cast(PCSErrors::SERVICE_QUOTA_EXCEEDED), RetryableType::NOT_RETRYABLE); + } + else if (hashCode == INTERNAL_SERVER_HASH) + { + return AWSError(static_cast(PCSErrors::INTERNAL_SERVER), RetryableType::RETRYABLE); + } + return AWSError(CoreErrors::UNKNOWN, false); +} + +} // namespace PCSErrorMapper +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/source/PCSRequest.cpp b/generated/src/aws-cpp-sdk-pcs/source/PCSRequest.cpp new file mode 100644 index 00000000000..8b01fe2665c --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/PCSRequest.cpp @@ -0,0 +1,14 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + + +#include + +namespace Aws +{ +namespace PCS +{ +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/Cluster.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/Cluster.cpp new file mode 100644 index 00000000000..8fc99023fdc --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/Cluster.cpp @@ -0,0 +1,227 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace PCS +{ +namespace Model +{ + +Cluster::Cluster() : + m_nameHasBeenSet(false), + m_idHasBeenSet(false), + m_arnHasBeenSet(false), + m_status(ClusterStatus::NOT_SET), + m_statusHasBeenSet(false), + m_createdAtHasBeenSet(false), + m_modifiedAtHasBeenSet(false), + m_schedulerHasBeenSet(false), + m_size(Size::NOT_SET), + m_sizeHasBeenSet(false), + m_slurmConfigurationHasBeenSet(false), + m_networkingHasBeenSet(false), + m_endpointsHasBeenSet(false), + m_errorInfoHasBeenSet(false) +{ +} + +Cluster::Cluster(JsonView jsonValue) + : Cluster() +{ + *this = jsonValue; +} + +Cluster& Cluster::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("name")) + { + m_name = jsonValue.GetString("name"); + + m_nameHasBeenSet = true; + } + + if(jsonValue.ValueExists("id")) + { + m_id = jsonValue.GetString("id"); + + m_idHasBeenSet = true; + } + + if(jsonValue.ValueExists("arn")) + { + m_arn = jsonValue.GetString("arn"); + + m_arnHasBeenSet = true; + } + + if(jsonValue.ValueExists("status")) + { + m_status = ClusterStatusMapper::GetClusterStatusForName(jsonValue.GetString("status")); + + m_statusHasBeenSet = true; + } + + if(jsonValue.ValueExists("createdAt")) + { + m_createdAt = jsonValue.GetString("createdAt"); + + m_createdAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("modifiedAt")) + { + m_modifiedAt = jsonValue.GetString("modifiedAt"); + + m_modifiedAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("scheduler")) + { + m_scheduler = jsonValue.GetObject("scheduler"); + + m_schedulerHasBeenSet = true; + } + + if(jsonValue.ValueExists("size")) + { + m_size = SizeMapper::GetSizeForName(jsonValue.GetString("size")); + + m_sizeHasBeenSet = true; + } + + if(jsonValue.ValueExists("slurmConfiguration")) + { + m_slurmConfiguration = jsonValue.GetObject("slurmConfiguration"); + + m_slurmConfigurationHasBeenSet = true; + } + + if(jsonValue.ValueExists("networking")) + { + m_networking = jsonValue.GetObject("networking"); + + m_networkingHasBeenSet = true; + } + + if(jsonValue.ValueExists("endpoints")) + { + Aws::Utils::Array endpointsJsonList = jsonValue.GetArray("endpoints"); + for(unsigned endpointsIndex = 0; endpointsIndex < endpointsJsonList.GetLength(); ++endpointsIndex) + { + m_endpoints.push_back(endpointsJsonList[endpointsIndex].AsObject()); + } + m_endpointsHasBeenSet = true; + } + + if(jsonValue.ValueExists("errorInfo")) + { + Aws::Utils::Array errorInfoJsonList = jsonValue.GetArray("errorInfo"); + for(unsigned errorInfoIndex = 0; errorInfoIndex < errorInfoJsonList.GetLength(); ++errorInfoIndex) + { + m_errorInfo.push_back(errorInfoJsonList[errorInfoIndex].AsObject()); + } + m_errorInfoHasBeenSet = true; + } + + return *this; +} + +JsonValue Cluster::Jsonize() const +{ + JsonValue payload; + + if(m_nameHasBeenSet) + { + payload.WithString("name", m_name); + + } + + if(m_idHasBeenSet) + { + payload.WithString("id", m_id); + + } + + if(m_arnHasBeenSet) + { + payload.WithString("arn", m_arn); + + } + + if(m_statusHasBeenSet) + { + payload.WithString("status", ClusterStatusMapper::GetNameForClusterStatus(m_status)); + } + + if(m_createdAtHasBeenSet) + { + payload.WithString("createdAt", m_createdAt.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_modifiedAtHasBeenSet) + { + payload.WithString("modifiedAt", m_modifiedAt.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_schedulerHasBeenSet) + { + payload.WithObject("scheduler", m_scheduler.Jsonize()); + + } + + if(m_sizeHasBeenSet) + { + payload.WithString("size", SizeMapper::GetNameForSize(m_size)); + } + + if(m_slurmConfigurationHasBeenSet) + { + payload.WithObject("slurmConfiguration", m_slurmConfiguration.Jsonize()); + + } + + if(m_networkingHasBeenSet) + { + payload.WithObject("networking", m_networking.Jsonize()); + + } + + if(m_endpointsHasBeenSet) + { + Aws::Utils::Array endpointsJsonList(m_endpoints.size()); + for(unsigned endpointsIndex = 0; endpointsIndex < endpointsJsonList.GetLength(); ++endpointsIndex) + { + endpointsJsonList[endpointsIndex].AsObject(m_endpoints[endpointsIndex].Jsonize()); + } + payload.WithArray("endpoints", std::move(endpointsJsonList)); + + } + + if(m_errorInfoHasBeenSet) + { + Aws::Utils::Array errorInfoJsonList(m_errorInfo.size()); + for(unsigned errorInfoIndex = 0; errorInfoIndex < errorInfoJsonList.GetLength(); ++errorInfoIndex) + { + errorInfoJsonList[errorInfoIndex].AsObject(m_errorInfo[errorInfoIndex].Jsonize()); + } + payload.WithArray("errorInfo", std::move(errorInfoJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/ClusterSlurmConfiguration.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/ClusterSlurmConfiguration.cpp new file mode 100644 index 00000000000..8cc3df69678 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/ClusterSlurmConfiguration.cpp @@ -0,0 +1,96 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace PCS +{ +namespace Model +{ + +ClusterSlurmConfiguration::ClusterSlurmConfiguration() : + m_scaleDownIdleTimeInSeconds(0), + m_scaleDownIdleTimeInSecondsHasBeenSet(false), + m_slurmCustomSettingsHasBeenSet(false), + m_authKeyHasBeenSet(false) +{ +} + +ClusterSlurmConfiguration::ClusterSlurmConfiguration(JsonView jsonValue) + : ClusterSlurmConfiguration() +{ + *this = jsonValue; +} + +ClusterSlurmConfiguration& ClusterSlurmConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("scaleDownIdleTimeInSeconds")) + { + m_scaleDownIdleTimeInSeconds = jsonValue.GetInteger("scaleDownIdleTimeInSeconds"); + + m_scaleDownIdleTimeInSecondsHasBeenSet = true; + } + + if(jsonValue.ValueExists("slurmCustomSettings")) + { + Aws::Utils::Array slurmCustomSettingsJsonList = jsonValue.GetArray("slurmCustomSettings"); + for(unsigned slurmCustomSettingsIndex = 0; slurmCustomSettingsIndex < slurmCustomSettingsJsonList.GetLength(); ++slurmCustomSettingsIndex) + { + m_slurmCustomSettings.push_back(slurmCustomSettingsJsonList[slurmCustomSettingsIndex].AsObject()); + } + m_slurmCustomSettingsHasBeenSet = true; + } + + if(jsonValue.ValueExists("authKey")) + { + m_authKey = jsonValue.GetObject("authKey"); + + m_authKeyHasBeenSet = true; + } + + return *this; +} + +JsonValue ClusterSlurmConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_scaleDownIdleTimeInSecondsHasBeenSet) + { + payload.WithInteger("scaleDownIdleTimeInSeconds", m_scaleDownIdleTimeInSeconds); + + } + + if(m_slurmCustomSettingsHasBeenSet) + { + Aws::Utils::Array slurmCustomSettingsJsonList(m_slurmCustomSettings.size()); + for(unsigned slurmCustomSettingsIndex = 0; slurmCustomSettingsIndex < slurmCustomSettingsJsonList.GetLength(); ++slurmCustomSettingsIndex) + { + slurmCustomSettingsJsonList[slurmCustomSettingsIndex].AsObject(m_slurmCustomSettings[slurmCustomSettingsIndex].Jsonize()); + } + payload.WithArray("slurmCustomSettings", std::move(slurmCustomSettingsJsonList)); + + } + + if(m_authKeyHasBeenSet) + { + payload.WithObject("authKey", m_authKey.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/ClusterSlurmConfigurationRequest.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/ClusterSlurmConfigurationRequest.cpp new file mode 100644 index 00000000000..d34e44bc68c --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/ClusterSlurmConfigurationRequest.cpp @@ -0,0 +1,82 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace PCS +{ +namespace Model +{ + +ClusterSlurmConfigurationRequest::ClusterSlurmConfigurationRequest() : + m_scaleDownIdleTimeInSeconds(0), + m_scaleDownIdleTimeInSecondsHasBeenSet(false), + m_slurmCustomSettingsHasBeenSet(false) +{ +} + +ClusterSlurmConfigurationRequest::ClusterSlurmConfigurationRequest(JsonView jsonValue) + : ClusterSlurmConfigurationRequest() +{ + *this = jsonValue; +} + +ClusterSlurmConfigurationRequest& ClusterSlurmConfigurationRequest::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("scaleDownIdleTimeInSeconds")) + { + m_scaleDownIdleTimeInSeconds = jsonValue.GetInteger("scaleDownIdleTimeInSeconds"); + + m_scaleDownIdleTimeInSecondsHasBeenSet = true; + } + + if(jsonValue.ValueExists("slurmCustomSettings")) + { + Aws::Utils::Array slurmCustomSettingsJsonList = jsonValue.GetArray("slurmCustomSettings"); + for(unsigned slurmCustomSettingsIndex = 0; slurmCustomSettingsIndex < slurmCustomSettingsJsonList.GetLength(); ++slurmCustomSettingsIndex) + { + m_slurmCustomSettings.push_back(slurmCustomSettingsJsonList[slurmCustomSettingsIndex].AsObject()); + } + m_slurmCustomSettingsHasBeenSet = true; + } + + return *this; +} + +JsonValue ClusterSlurmConfigurationRequest::Jsonize() const +{ + JsonValue payload; + + if(m_scaleDownIdleTimeInSecondsHasBeenSet) + { + payload.WithInteger("scaleDownIdleTimeInSeconds", m_scaleDownIdleTimeInSeconds); + + } + + if(m_slurmCustomSettingsHasBeenSet) + { + Aws::Utils::Array slurmCustomSettingsJsonList(m_slurmCustomSettings.size()); + for(unsigned slurmCustomSettingsIndex = 0; slurmCustomSettingsIndex < slurmCustomSettingsJsonList.GetLength(); ++slurmCustomSettingsIndex) + { + slurmCustomSettingsJsonList[slurmCustomSettingsIndex].AsObject(m_slurmCustomSettings[slurmCustomSettingsIndex].Jsonize()); + } + payload.WithArray("slurmCustomSettings", std::move(slurmCustomSettingsJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/ClusterStatus.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/ClusterStatus.cpp new file mode 100644 index 00000000000..4a874dd5532 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/ClusterStatus.cpp @@ -0,0 +1,107 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace PCS + { + namespace Model + { + namespace ClusterStatusMapper + { + + static const int CREATING_HASH = HashingUtils::HashString("CREATING"); + static const int ACTIVE_HASH = HashingUtils::HashString("ACTIVE"); + static const int UPDATING_HASH = HashingUtils::HashString("UPDATING"); + static const int DELETING_HASH = HashingUtils::HashString("DELETING"); + static const int CREATE_FAILED_HASH = HashingUtils::HashString("CREATE_FAILED"); + static const int DELETE_FAILED_HASH = HashingUtils::HashString("DELETE_FAILED"); + static const int UPDATE_FAILED_HASH = HashingUtils::HashString("UPDATE_FAILED"); + + + ClusterStatus GetClusterStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == CREATING_HASH) + { + return ClusterStatus::CREATING; + } + else if (hashCode == ACTIVE_HASH) + { + return ClusterStatus::ACTIVE; + } + else if (hashCode == UPDATING_HASH) + { + return ClusterStatus::UPDATING; + } + else if (hashCode == DELETING_HASH) + { + return ClusterStatus::DELETING; + } + else if (hashCode == CREATE_FAILED_HASH) + { + return ClusterStatus::CREATE_FAILED; + } + else if (hashCode == DELETE_FAILED_HASH) + { + return ClusterStatus::DELETE_FAILED; + } + else if (hashCode == UPDATE_FAILED_HASH) + { + return ClusterStatus::UPDATE_FAILED; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ClusterStatus::NOT_SET; + } + + Aws::String GetNameForClusterStatus(ClusterStatus enumValue) + { + switch(enumValue) + { + case ClusterStatus::NOT_SET: + return {}; + case ClusterStatus::CREATING: + return "CREATING"; + case ClusterStatus::ACTIVE: + return "ACTIVE"; + case ClusterStatus::UPDATING: + return "UPDATING"; + case ClusterStatus::DELETING: + return "DELETING"; + case ClusterStatus::CREATE_FAILED: + return "CREATE_FAILED"; + case ClusterStatus::DELETE_FAILED: + return "DELETE_FAILED"; + case ClusterStatus::UPDATE_FAILED: + return "UPDATE_FAILED"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ClusterStatusMapper + } // namespace Model + } // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/ClusterSummary.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/ClusterSummary.cpp new file mode 100644 index 00000000000..aa4a7b26891 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/ClusterSummary.cpp @@ -0,0 +1,127 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace PCS +{ +namespace Model +{ + +ClusterSummary::ClusterSummary() : + m_nameHasBeenSet(false), + m_idHasBeenSet(false), + m_arnHasBeenSet(false), + m_createdAtHasBeenSet(false), + m_modifiedAtHasBeenSet(false), + m_status(ClusterStatus::NOT_SET), + m_statusHasBeenSet(false) +{ +} + +ClusterSummary::ClusterSummary(JsonView jsonValue) + : ClusterSummary() +{ + *this = jsonValue; +} + +ClusterSummary& ClusterSummary::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("name")) + { + m_name = jsonValue.GetString("name"); + + m_nameHasBeenSet = true; + } + + if(jsonValue.ValueExists("id")) + { + m_id = jsonValue.GetString("id"); + + m_idHasBeenSet = true; + } + + if(jsonValue.ValueExists("arn")) + { + m_arn = jsonValue.GetString("arn"); + + m_arnHasBeenSet = true; + } + + if(jsonValue.ValueExists("createdAt")) + { + m_createdAt = jsonValue.GetString("createdAt"); + + m_createdAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("modifiedAt")) + { + m_modifiedAt = jsonValue.GetString("modifiedAt"); + + m_modifiedAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("status")) + { + m_status = ClusterStatusMapper::GetClusterStatusForName(jsonValue.GetString("status")); + + m_statusHasBeenSet = true; + } + + return *this; +} + +JsonValue ClusterSummary::Jsonize() const +{ + JsonValue payload; + + if(m_nameHasBeenSet) + { + payload.WithString("name", m_name); + + } + + if(m_idHasBeenSet) + { + payload.WithString("id", m_id); + + } + + if(m_arnHasBeenSet) + { + payload.WithString("arn", m_arn); + + } + + if(m_createdAtHasBeenSet) + { + payload.WithString("createdAt", m_createdAt.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_modifiedAtHasBeenSet) + { + payload.WithString("modifiedAt", m_modifiedAt.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_statusHasBeenSet) + { + payload.WithString("status", ClusterStatusMapper::GetNameForClusterStatus(m_status)); + } + + return payload; +} + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/ComputeNodeGroup.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/ComputeNodeGroup.cpp new file mode 100644 index 00000000000..4d0ca3785d6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/ComputeNodeGroup.cpp @@ -0,0 +1,305 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace PCS +{ +namespace Model +{ + +ComputeNodeGroup::ComputeNodeGroup() : + m_nameHasBeenSet(false), + m_idHasBeenSet(false), + m_arnHasBeenSet(false), + m_clusterIdHasBeenSet(false), + m_createdAtHasBeenSet(false), + m_modifiedAtHasBeenSet(false), + m_status(ComputeNodeGroupStatus::NOT_SET), + m_statusHasBeenSet(false), + m_amiIdHasBeenSet(false), + m_subnetIdsHasBeenSet(false), + m_purchaseOption(PurchaseOption::NOT_SET), + m_purchaseOptionHasBeenSet(false), + m_customLaunchTemplateHasBeenSet(false), + m_iamInstanceProfileArnHasBeenSet(false), + m_scalingConfigurationHasBeenSet(false), + m_instanceConfigsHasBeenSet(false), + m_spotOptionsHasBeenSet(false), + m_slurmConfigurationHasBeenSet(false), + m_errorInfoHasBeenSet(false) +{ +} + +ComputeNodeGroup::ComputeNodeGroup(JsonView jsonValue) + : ComputeNodeGroup() +{ + *this = jsonValue; +} + +ComputeNodeGroup& ComputeNodeGroup::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("name")) + { + m_name = jsonValue.GetString("name"); + + m_nameHasBeenSet = true; + } + + if(jsonValue.ValueExists("id")) + { + m_id = jsonValue.GetString("id"); + + m_idHasBeenSet = true; + } + + if(jsonValue.ValueExists("arn")) + { + m_arn = jsonValue.GetString("arn"); + + m_arnHasBeenSet = true; + } + + if(jsonValue.ValueExists("clusterId")) + { + m_clusterId = jsonValue.GetString("clusterId"); + + m_clusterIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("createdAt")) + { + m_createdAt = jsonValue.GetString("createdAt"); + + m_createdAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("modifiedAt")) + { + m_modifiedAt = jsonValue.GetString("modifiedAt"); + + m_modifiedAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("status")) + { + m_status = ComputeNodeGroupStatusMapper::GetComputeNodeGroupStatusForName(jsonValue.GetString("status")); + + m_statusHasBeenSet = true; + } + + if(jsonValue.ValueExists("amiId")) + { + m_amiId = jsonValue.GetString("amiId"); + + m_amiIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("subnetIds")) + { + Aws::Utils::Array subnetIdsJsonList = jsonValue.GetArray("subnetIds"); + for(unsigned subnetIdsIndex = 0; subnetIdsIndex < subnetIdsJsonList.GetLength(); ++subnetIdsIndex) + { + m_subnetIds.push_back(subnetIdsJsonList[subnetIdsIndex].AsString()); + } + m_subnetIdsHasBeenSet = true; + } + + if(jsonValue.ValueExists("purchaseOption")) + { + m_purchaseOption = PurchaseOptionMapper::GetPurchaseOptionForName(jsonValue.GetString("purchaseOption")); + + m_purchaseOptionHasBeenSet = true; + } + + if(jsonValue.ValueExists("customLaunchTemplate")) + { + m_customLaunchTemplate = jsonValue.GetObject("customLaunchTemplate"); + + m_customLaunchTemplateHasBeenSet = true; + } + + if(jsonValue.ValueExists("iamInstanceProfileArn")) + { + m_iamInstanceProfileArn = jsonValue.GetString("iamInstanceProfileArn"); + + m_iamInstanceProfileArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("scalingConfiguration")) + { + m_scalingConfiguration = jsonValue.GetObject("scalingConfiguration"); + + m_scalingConfigurationHasBeenSet = true; + } + + if(jsonValue.ValueExists("instanceConfigs")) + { + Aws::Utils::Array instanceConfigsJsonList = jsonValue.GetArray("instanceConfigs"); + for(unsigned instanceConfigsIndex = 0; instanceConfigsIndex < instanceConfigsJsonList.GetLength(); ++instanceConfigsIndex) + { + m_instanceConfigs.push_back(instanceConfigsJsonList[instanceConfigsIndex].AsObject()); + } + m_instanceConfigsHasBeenSet = true; + } + + if(jsonValue.ValueExists("spotOptions")) + { + m_spotOptions = jsonValue.GetObject("spotOptions"); + + m_spotOptionsHasBeenSet = true; + } + + if(jsonValue.ValueExists("slurmConfiguration")) + { + m_slurmConfiguration = jsonValue.GetObject("slurmConfiguration"); + + m_slurmConfigurationHasBeenSet = true; + } + + if(jsonValue.ValueExists("errorInfo")) + { + Aws::Utils::Array errorInfoJsonList = jsonValue.GetArray("errorInfo"); + for(unsigned errorInfoIndex = 0; errorInfoIndex < errorInfoJsonList.GetLength(); ++errorInfoIndex) + { + m_errorInfo.push_back(errorInfoJsonList[errorInfoIndex].AsObject()); + } + m_errorInfoHasBeenSet = true; + } + + return *this; +} + +JsonValue ComputeNodeGroup::Jsonize() const +{ + JsonValue payload; + + if(m_nameHasBeenSet) + { + payload.WithString("name", m_name); + + } + + if(m_idHasBeenSet) + { + payload.WithString("id", m_id); + + } + + if(m_arnHasBeenSet) + { + payload.WithString("arn", m_arn); + + } + + if(m_clusterIdHasBeenSet) + { + payload.WithString("clusterId", m_clusterId); + + } + + if(m_createdAtHasBeenSet) + { + payload.WithString("createdAt", m_createdAt.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_modifiedAtHasBeenSet) + { + payload.WithString("modifiedAt", m_modifiedAt.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_statusHasBeenSet) + { + payload.WithString("status", ComputeNodeGroupStatusMapper::GetNameForComputeNodeGroupStatus(m_status)); + } + + if(m_amiIdHasBeenSet) + { + payload.WithString("amiId", m_amiId); + + } + + if(m_subnetIdsHasBeenSet) + { + Aws::Utils::Array subnetIdsJsonList(m_subnetIds.size()); + for(unsigned subnetIdsIndex = 0; subnetIdsIndex < subnetIdsJsonList.GetLength(); ++subnetIdsIndex) + { + subnetIdsJsonList[subnetIdsIndex].AsString(m_subnetIds[subnetIdsIndex]); + } + payload.WithArray("subnetIds", std::move(subnetIdsJsonList)); + + } + + if(m_purchaseOptionHasBeenSet) + { + payload.WithString("purchaseOption", PurchaseOptionMapper::GetNameForPurchaseOption(m_purchaseOption)); + } + + if(m_customLaunchTemplateHasBeenSet) + { + payload.WithObject("customLaunchTemplate", m_customLaunchTemplate.Jsonize()); + + } + + if(m_iamInstanceProfileArnHasBeenSet) + { + payload.WithString("iamInstanceProfileArn", m_iamInstanceProfileArn); + + } + + if(m_scalingConfigurationHasBeenSet) + { + payload.WithObject("scalingConfiguration", m_scalingConfiguration.Jsonize()); + + } + + if(m_instanceConfigsHasBeenSet) + { + Aws::Utils::Array instanceConfigsJsonList(m_instanceConfigs.size()); + for(unsigned instanceConfigsIndex = 0; instanceConfigsIndex < instanceConfigsJsonList.GetLength(); ++instanceConfigsIndex) + { + instanceConfigsJsonList[instanceConfigsIndex].AsObject(m_instanceConfigs[instanceConfigsIndex].Jsonize()); + } + payload.WithArray("instanceConfigs", std::move(instanceConfigsJsonList)); + + } + + if(m_spotOptionsHasBeenSet) + { + payload.WithObject("spotOptions", m_spotOptions.Jsonize()); + + } + + if(m_slurmConfigurationHasBeenSet) + { + payload.WithObject("slurmConfiguration", m_slurmConfiguration.Jsonize()); + + } + + if(m_errorInfoHasBeenSet) + { + Aws::Utils::Array errorInfoJsonList(m_errorInfo.size()); + for(unsigned errorInfoIndex = 0; errorInfoIndex < errorInfoJsonList.GetLength(); ++errorInfoIndex) + { + errorInfoJsonList[errorInfoIndex].AsObject(m_errorInfo[errorInfoIndex].Jsonize()); + } + payload.WithArray("errorInfo", std::move(errorInfoJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/ComputeNodeGroupConfiguration.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/ComputeNodeGroupConfiguration.cpp new file mode 100644 index 00000000000..c4b49212d6f --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/ComputeNodeGroupConfiguration.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace PCS +{ +namespace Model +{ + +ComputeNodeGroupConfiguration::ComputeNodeGroupConfiguration() : + m_computeNodeGroupIdHasBeenSet(false) +{ +} + +ComputeNodeGroupConfiguration::ComputeNodeGroupConfiguration(JsonView jsonValue) + : ComputeNodeGroupConfiguration() +{ + *this = jsonValue; +} + +ComputeNodeGroupConfiguration& ComputeNodeGroupConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("computeNodeGroupId")) + { + m_computeNodeGroupId = jsonValue.GetString("computeNodeGroupId"); + + m_computeNodeGroupIdHasBeenSet = true; + } + + return *this; +} + +JsonValue ComputeNodeGroupConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_computeNodeGroupIdHasBeenSet) + { + payload.WithString("computeNodeGroupId", m_computeNodeGroupId); + + } + + return payload; +} + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/ComputeNodeGroupSlurmConfiguration.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/ComputeNodeGroupSlurmConfiguration.cpp new file mode 100644 index 00000000000..fec54fd65bb --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/ComputeNodeGroupSlurmConfiguration.cpp @@ -0,0 +1,67 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace PCS +{ +namespace Model +{ + +ComputeNodeGroupSlurmConfiguration::ComputeNodeGroupSlurmConfiguration() : + m_slurmCustomSettingsHasBeenSet(false) +{ +} + +ComputeNodeGroupSlurmConfiguration::ComputeNodeGroupSlurmConfiguration(JsonView jsonValue) + : ComputeNodeGroupSlurmConfiguration() +{ + *this = jsonValue; +} + +ComputeNodeGroupSlurmConfiguration& ComputeNodeGroupSlurmConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("slurmCustomSettings")) + { + Aws::Utils::Array slurmCustomSettingsJsonList = jsonValue.GetArray("slurmCustomSettings"); + for(unsigned slurmCustomSettingsIndex = 0; slurmCustomSettingsIndex < slurmCustomSettingsJsonList.GetLength(); ++slurmCustomSettingsIndex) + { + m_slurmCustomSettings.push_back(slurmCustomSettingsJsonList[slurmCustomSettingsIndex].AsObject()); + } + m_slurmCustomSettingsHasBeenSet = true; + } + + return *this; +} + +JsonValue ComputeNodeGroupSlurmConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_slurmCustomSettingsHasBeenSet) + { + Aws::Utils::Array slurmCustomSettingsJsonList(m_slurmCustomSettings.size()); + for(unsigned slurmCustomSettingsIndex = 0; slurmCustomSettingsIndex < slurmCustomSettingsJsonList.GetLength(); ++slurmCustomSettingsIndex) + { + slurmCustomSettingsJsonList[slurmCustomSettingsIndex].AsObject(m_slurmCustomSettings[slurmCustomSettingsIndex].Jsonize()); + } + payload.WithArray("slurmCustomSettings", std::move(slurmCustomSettingsJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/ComputeNodeGroupSlurmConfigurationRequest.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/ComputeNodeGroupSlurmConfigurationRequest.cpp new file mode 100644 index 00000000000..24912308128 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/ComputeNodeGroupSlurmConfigurationRequest.cpp @@ -0,0 +1,67 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace PCS +{ +namespace Model +{ + +ComputeNodeGroupSlurmConfigurationRequest::ComputeNodeGroupSlurmConfigurationRequest() : + m_slurmCustomSettingsHasBeenSet(false) +{ +} + +ComputeNodeGroupSlurmConfigurationRequest::ComputeNodeGroupSlurmConfigurationRequest(JsonView jsonValue) + : ComputeNodeGroupSlurmConfigurationRequest() +{ + *this = jsonValue; +} + +ComputeNodeGroupSlurmConfigurationRequest& ComputeNodeGroupSlurmConfigurationRequest::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("slurmCustomSettings")) + { + Aws::Utils::Array slurmCustomSettingsJsonList = jsonValue.GetArray("slurmCustomSettings"); + for(unsigned slurmCustomSettingsIndex = 0; slurmCustomSettingsIndex < slurmCustomSettingsJsonList.GetLength(); ++slurmCustomSettingsIndex) + { + m_slurmCustomSettings.push_back(slurmCustomSettingsJsonList[slurmCustomSettingsIndex].AsObject()); + } + m_slurmCustomSettingsHasBeenSet = true; + } + + return *this; +} + +JsonValue ComputeNodeGroupSlurmConfigurationRequest::Jsonize() const +{ + JsonValue payload; + + if(m_slurmCustomSettingsHasBeenSet) + { + Aws::Utils::Array slurmCustomSettingsJsonList(m_slurmCustomSettings.size()); + for(unsigned slurmCustomSettingsIndex = 0; slurmCustomSettingsIndex < slurmCustomSettingsJsonList.GetLength(); ++slurmCustomSettingsIndex) + { + slurmCustomSettingsJsonList[slurmCustomSettingsIndex].AsObject(m_slurmCustomSettings[slurmCustomSettingsIndex].Jsonize()); + } + payload.WithArray("slurmCustomSettings", std::move(slurmCustomSettingsJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/ComputeNodeGroupStatus.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/ComputeNodeGroupStatus.cpp new file mode 100644 index 00000000000..d195f9e673f --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/ComputeNodeGroupStatus.cpp @@ -0,0 +1,114 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace PCS + { + namespace Model + { + namespace ComputeNodeGroupStatusMapper + { + + static const int CREATING_HASH = HashingUtils::HashString("CREATING"); + static const int ACTIVE_HASH = HashingUtils::HashString("ACTIVE"); + static const int UPDATING_HASH = HashingUtils::HashString("UPDATING"); + static const int DELETING_HASH = HashingUtils::HashString("DELETING"); + static const int CREATE_FAILED_HASH = HashingUtils::HashString("CREATE_FAILED"); + static const int DELETE_FAILED_HASH = HashingUtils::HashString("DELETE_FAILED"); + static const int UPDATE_FAILED_HASH = HashingUtils::HashString("UPDATE_FAILED"); + static const int DELETED_HASH = HashingUtils::HashString("DELETED"); + + + ComputeNodeGroupStatus GetComputeNodeGroupStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == CREATING_HASH) + { + return ComputeNodeGroupStatus::CREATING; + } + else if (hashCode == ACTIVE_HASH) + { + return ComputeNodeGroupStatus::ACTIVE; + } + else if (hashCode == UPDATING_HASH) + { + return ComputeNodeGroupStatus::UPDATING; + } + else if (hashCode == DELETING_HASH) + { + return ComputeNodeGroupStatus::DELETING; + } + else if (hashCode == CREATE_FAILED_HASH) + { + return ComputeNodeGroupStatus::CREATE_FAILED; + } + else if (hashCode == DELETE_FAILED_HASH) + { + return ComputeNodeGroupStatus::DELETE_FAILED; + } + else if (hashCode == UPDATE_FAILED_HASH) + { + return ComputeNodeGroupStatus::UPDATE_FAILED; + } + else if (hashCode == DELETED_HASH) + { + return ComputeNodeGroupStatus::DELETED; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ComputeNodeGroupStatus::NOT_SET; + } + + Aws::String GetNameForComputeNodeGroupStatus(ComputeNodeGroupStatus enumValue) + { + switch(enumValue) + { + case ComputeNodeGroupStatus::NOT_SET: + return {}; + case ComputeNodeGroupStatus::CREATING: + return "CREATING"; + case ComputeNodeGroupStatus::ACTIVE: + return "ACTIVE"; + case ComputeNodeGroupStatus::UPDATING: + return "UPDATING"; + case ComputeNodeGroupStatus::DELETING: + return "DELETING"; + case ComputeNodeGroupStatus::CREATE_FAILED: + return "CREATE_FAILED"; + case ComputeNodeGroupStatus::DELETE_FAILED: + return "DELETE_FAILED"; + case ComputeNodeGroupStatus::UPDATE_FAILED: + return "UPDATE_FAILED"; + case ComputeNodeGroupStatus::DELETED: + return "DELETED"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ComputeNodeGroupStatusMapper + } // namespace Model + } // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/ComputeNodeGroupSummary.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/ComputeNodeGroupSummary.cpp new file mode 100644 index 00000000000..8b0b55b70be --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/ComputeNodeGroupSummary.cpp @@ -0,0 +1,141 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace PCS +{ +namespace Model +{ + +ComputeNodeGroupSummary::ComputeNodeGroupSummary() : + m_nameHasBeenSet(false), + m_idHasBeenSet(false), + m_arnHasBeenSet(false), + m_clusterIdHasBeenSet(false), + m_createdAtHasBeenSet(false), + m_modifiedAtHasBeenSet(false), + m_status(ComputeNodeGroupStatus::NOT_SET), + m_statusHasBeenSet(false) +{ +} + +ComputeNodeGroupSummary::ComputeNodeGroupSummary(JsonView jsonValue) + : ComputeNodeGroupSummary() +{ + *this = jsonValue; +} + +ComputeNodeGroupSummary& ComputeNodeGroupSummary::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("name")) + { + m_name = jsonValue.GetString("name"); + + m_nameHasBeenSet = true; + } + + if(jsonValue.ValueExists("id")) + { + m_id = jsonValue.GetString("id"); + + m_idHasBeenSet = true; + } + + if(jsonValue.ValueExists("arn")) + { + m_arn = jsonValue.GetString("arn"); + + m_arnHasBeenSet = true; + } + + if(jsonValue.ValueExists("clusterId")) + { + m_clusterId = jsonValue.GetString("clusterId"); + + m_clusterIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("createdAt")) + { + m_createdAt = jsonValue.GetString("createdAt"); + + m_createdAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("modifiedAt")) + { + m_modifiedAt = jsonValue.GetString("modifiedAt"); + + m_modifiedAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("status")) + { + m_status = ComputeNodeGroupStatusMapper::GetComputeNodeGroupStatusForName(jsonValue.GetString("status")); + + m_statusHasBeenSet = true; + } + + return *this; +} + +JsonValue ComputeNodeGroupSummary::Jsonize() const +{ + JsonValue payload; + + if(m_nameHasBeenSet) + { + payload.WithString("name", m_name); + + } + + if(m_idHasBeenSet) + { + payload.WithString("id", m_id); + + } + + if(m_arnHasBeenSet) + { + payload.WithString("arn", m_arn); + + } + + if(m_clusterIdHasBeenSet) + { + payload.WithString("clusterId", m_clusterId); + + } + + if(m_createdAtHasBeenSet) + { + payload.WithString("createdAt", m_createdAt.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_modifiedAtHasBeenSet) + { + payload.WithString("modifiedAt", m_modifiedAt.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_statusHasBeenSet) + { + payload.WithString("status", ComputeNodeGroupStatusMapper::GetNameForComputeNodeGroupStatus(m_status)); + } + + return payload; +} + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/ConflictException.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/ConflictException.cpp new file mode 100644 index 00000000000..4ed5a9b8df8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/ConflictException.cpp @@ -0,0 +1,87 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace PCS +{ +namespace Model +{ + +ConflictException::ConflictException() : + m_messageHasBeenSet(false), + m_resourceIdHasBeenSet(false), + m_resourceTypeHasBeenSet(false) +{ +} + +ConflictException::ConflictException(JsonView jsonValue) + : ConflictException() +{ + *this = jsonValue; +} + +ConflictException& ConflictException::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("message")) + { + m_message = jsonValue.GetString("message"); + + m_messageHasBeenSet = true; + } + + if(jsonValue.ValueExists("resourceId")) + { + m_resourceId = jsonValue.GetString("resourceId"); + + m_resourceIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("resourceType")) + { + m_resourceType = jsonValue.GetString("resourceType"); + + m_resourceTypeHasBeenSet = true; + } + + return *this; +} + +JsonValue ConflictException::Jsonize() const +{ + JsonValue payload; + + if(m_messageHasBeenSet) + { + payload.WithString("message", m_message); + + } + + if(m_resourceIdHasBeenSet) + { + payload.WithString("resourceId", m_resourceId); + + } + + if(m_resourceTypeHasBeenSet) + { + payload.WithString("resourceType", m_resourceType); + + } + + return payload; +} + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/CreateClusterRequest.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/CreateClusterRequest.cpp new file mode 100644 index 00000000000..7456611f6b0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/CreateClusterRequest.cpp @@ -0,0 +1,91 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::PCS::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +CreateClusterRequest::CreateClusterRequest() : + m_clusterNameHasBeenSet(false), + m_schedulerHasBeenSet(false), + m_size(Size::NOT_SET), + m_sizeHasBeenSet(false), + m_networkingHasBeenSet(false), + m_slurmConfigurationHasBeenSet(false), + m_clientToken(Aws::Utils::UUID::PseudoRandomUUID()), + m_clientTokenHasBeenSet(true), + m_tagsHasBeenSet(false) +{ +} + +Aws::String CreateClusterRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_clusterNameHasBeenSet) + { + payload.WithString("clusterName", m_clusterName); + + } + + if(m_schedulerHasBeenSet) + { + payload.WithObject("scheduler", m_scheduler.Jsonize()); + + } + + if(m_sizeHasBeenSet) + { + payload.WithString("size", SizeMapper::GetNameForSize(m_size)); + } + + if(m_networkingHasBeenSet) + { + payload.WithObject("networking", m_networking.Jsonize()); + + } + + if(m_slurmConfigurationHasBeenSet) + { + payload.WithObject("slurmConfiguration", m_slurmConfiguration.Jsonize()); + + } + + if(m_clientTokenHasBeenSet) + { + payload.WithString("clientToken", m_clientToken); + + } + + if(m_tagsHasBeenSet) + { + JsonValue tagsJsonMap; + for(auto& tagsItem : m_tags) + { + tagsJsonMap.WithString(tagsItem.first, tagsItem.second); + } + payload.WithObject("tags", std::move(tagsJsonMap)); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection CreateClusterRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "AWSParallelComputingService.CreateCluster")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/CreateClusterResult.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/CreateClusterResult.cpp new file mode 100644 index 00000000000..547b3a5f84f --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/CreateClusterResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::PCS::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CreateClusterResult::CreateClusterResult() +{ +} + +CreateClusterResult::CreateClusterResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +CreateClusterResult& CreateClusterResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("cluster")) + { + m_cluster = jsonValue.GetObject("cluster"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/CreateComputeNodeGroupRequest.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/CreateComputeNodeGroupRequest.cpp new file mode 100644 index 00000000000..349f1d6e524 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/CreateComputeNodeGroupRequest.cpp @@ -0,0 +1,143 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::PCS::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +CreateComputeNodeGroupRequest::CreateComputeNodeGroupRequest() : + m_clusterIdentifierHasBeenSet(false), + m_computeNodeGroupNameHasBeenSet(false), + m_amiIdHasBeenSet(false), + m_subnetIdsHasBeenSet(false), + m_purchaseOption(PurchaseOption::NOT_SET), + m_purchaseOptionHasBeenSet(false), + m_customLaunchTemplateHasBeenSet(false), + m_iamInstanceProfileArnHasBeenSet(false), + m_scalingConfigurationHasBeenSet(false), + m_instanceConfigsHasBeenSet(false), + m_spotOptionsHasBeenSet(false), + m_slurmConfigurationHasBeenSet(false), + m_clientToken(Aws::Utils::UUID::PseudoRandomUUID()), + m_clientTokenHasBeenSet(true), + m_tagsHasBeenSet(false) +{ +} + +Aws::String CreateComputeNodeGroupRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_clusterIdentifierHasBeenSet) + { + payload.WithString("clusterIdentifier", m_clusterIdentifier); + + } + + if(m_computeNodeGroupNameHasBeenSet) + { + payload.WithString("computeNodeGroupName", m_computeNodeGroupName); + + } + + if(m_amiIdHasBeenSet) + { + payload.WithString("amiId", m_amiId); + + } + + if(m_subnetIdsHasBeenSet) + { + Aws::Utils::Array subnetIdsJsonList(m_subnetIds.size()); + for(unsigned subnetIdsIndex = 0; subnetIdsIndex < subnetIdsJsonList.GetLength(); ++subnetIdsIndex) + { + subnetIdsJsonList[subnetIdsIndex].AsString(m_subnetIds[subnetIdsIndex]); + } + payload.WithArray("subnetIds", std::move(subnetIdsJsonList)); + + } + + if(m_purchaseOptionHasBeenSet) + { + payload.WithString("purchaseOption", PurchaseOptionMapper::GetNameForPurchaseOption(m_purchaseOption)); + } + + if(m_customLaunchTemplateHasBeenSet) + { + payload.WithObject("customLaunchTemplate", m_customLaunchTemplate.Jsonize()); + + } + + if(m_iamInstanceProfileArnHasBeenSet) + { + payload.WithString("iamInstanceProfileArn", m_iamInstanceProfileArn); + + } + + if(m_scalingConfigurationHasBeenSet) + { + payload.WithObject("scalingConfiguration", m_scalingConfiguration.Jsonize()); + + } + + if(m_instanceConfigsHasBeenSet) + { + Aws::Utils::Array instanceConfigsJsonList(m_instanceConfigs.size()); + for(unsigned instanceConfigsIndex = 0; instanceConfigsIndex < instanceConfigsJsonList.GetLength(); ++instanceConfigsIndex) + { + instanceConfigsJsonList[instanceConfigsIndex].AsObject(m_instanceConfigs[instanceConfigsIndex].Jsonize()); + } + payload.WithArray("instanceConfigs", std::move(instanceConfigsJsonList)); + + } + + if(m_spotOptionsHasBeenSet) + { + payload.WithObject("spotOptions", m_spotOptions.Jsonize()); + + } + + if(m_slurmConfigurationHasBeenSet) + { + payload.WithObject("slurmConfiguration", m_slurmConfiguration.Jsonize()); + + } + + if(m_clientTokenHasBeenSet) + { + payload.WithString("clientToken", m_clientToken); + + } + + if(m_tagsHasBeenSet) + { + JsonValue tagsJsonMap; + for(auto& tagsItem : m_tags) + { + tagsJsonMap.WithString(tagsItem.first, tagsItem.second); + } + payload.WithObject("tags", std::move(tagsJsonMap)); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection CreateComputeNodeGroupRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "AWSParallelComputingService.CreateComputeNodeGroup")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/CreateComputeNodeGroupResult.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/CreateComputeNodeGroupResult.cpp new file mode 100644 index 00000000000..85386ba814c --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/CreateComputeNodeGroupResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::PCS::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CreateComputeNodeGroupResult::CreateComputeNodeGroupResult() +{ +} + +CreateComputeNodeGroupResult::CreateComputeNodeGroupResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +CreateComputeNodeGroupResult& CreateComputeNodeGroupResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("computeNodeGroup")) + { + m_computeNodeGroup = jsonValue.GetObject("computeNodeGroup"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/CreateQueueRequest.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/CreateQueueRequest.cpp new file mode 100644 index 00000000000..89a11ccf54f --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/CreateQueueRequest.cpp @@ -0,0 +1,82 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::PCS::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +CreateQueueRequest::CreateQueueRequest() : + m_clusterIdentifierHasBeenSet(false), + m_queueNameHasBeenSet(false), + m_computeNodeGroupConfigurationsHasBeenSet(false), + m_clientToken(Aws::Utils::UUID::PseudoRandomUUID()), + m_clientTokenHasBeenSet(true), + m_tagsHasBeenSet(false) +{ +} + +Aws::String CreateQueueRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_clusterIdentifierHasBeenSet) + { + payload.WithString("clusterIdentifier", m_clusterIdentifier); + + } + + if(m_queueNameHasBeenSet) + { + payload.WithString("queueName", m_queueName); + + } + + if(m_computeNodeGroupConfigurationsHasBeenSet) + { + Aws::Utils::Array computeNodeGroupConfigurationsJsonList(m_computeNodeGroupConfigurations.size()); + for(unsigned computeNodeGroupConfigurationsIndex = 0; computeNodeGroupConfigurationsIndex < computeNodeGroupConfigurationsJsonList.GetLength(); ++computeNodeGroupConfigurationsIndex) + { + computeNodeGroupConfigurationsJsonList[computeNodeGroupConfigurationsIndex].AsObject(m_computeNodeGroupConfigurations[computeNodeGroupConfigurationsIndex].Jsonize()); + } + payload.WithArray("computeNodeGroupConfigurations", std::move(computeNodeGroupConfigurationsJsonList)); + + } + + if(m_clientTokenHasBeenSet) + { + payload.WithString("clientToken", m_clientToken); + + } + + if(m_tagsHasBeenSet) + { + JsonValue tagsJsonMap; + for(auto& tagsItem : m_tags) + { + tagsJsonMap.WithString(tagsItem.first, tagsItem.second); + } + payload.WithObject("tags", std::move(tagsJsonMap)); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection CreateQueueRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "AWSParallelComputingService.CreateQueue")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/CreateQueueResult.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/CreateQueueResult.cpp new file mode 100644 index 00000000000..83127b704e8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/CreateQueueResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::PCS::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CreateQueueResult::CreateQueueResult() +{ +} + +CreateQueueResult::CreateQueueResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +CreateQueueResult& CreateQueueResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("queue")) + { + m_queue = jsonValue.GetObject("queue"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/CustomLaunchTemplate.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/CustomLaunchTemplate.cpp new file mode 100644 index 00000000000..ca461b971b2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/CustomLaunchTemplate.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace PCS +{ +namespace Model +{ + +CustomLaunchTemplate::CustomLaunchTemplate() : + m_idHasBeenSet(false), + m_versionHasBeenSet(false) +{ +} + +CustomLaunchTemplate::CustomLaunchTemplate(JsonView jsonValue) + : CustomLaunchTemplate() +{ + *this = jsonValue; +} + +CustomLaunchTemplate& CustomLaunchTemplate::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("id")) + { + m_id = jsonValue.GetString("id"); + + m_idHasBeenSet = true; + } + + if(jsonValue.ValueExists("version")) + { + m_version = jsonValue.GetString("version"); + + m_versionHasBeenSet = true; + } + + return *this; +} + +JsonValue CustomLaunchTemplate::Jsonize() const +{ + JsonValue payload; + + if(m_idHasBeenSet) + { + payload.WithString("id", m_id); + + } + + if(m_versionHasBeenSet) + { + payload.WithString("version", m_version); + + } + + return payload; +} + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/DeleteClusterRequest.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/DeleteClusterRequest.cpp new file mode 100644 index 00000000000..75391684664 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/DeleteClusterRequest.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::PCS::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +DeleteClusterRequest::DeleteClusterRequest() : + m_clusterIdentifierHasBeenSet(false), + m_clientToken(Aws::Utils::UUID::PseudoRandomUUID()), + m_clientTokenHasBeenSet(true) +{ +} + +Aws::String DeleteClusterRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_clusterIdentifierHasBeenSet) + { + payload.WithString("clusterIdentifier", m_clusterIdentifier); + + } + + if(m_clientTokenHasBeenSet) + { + payload.WithString("clientToken", m_clientToken); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection DeleteClusterRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "AWSParallelComputingService.DeleteCluster")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/DeleteClusterResult.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/DeleteClusterResult.cpp new file mode 100644 index 00000000000..1bd163105d5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/DeleteClusterResult.cpp @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::PCS::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DeleteClusterResult::DeleteClusterResult() +{ +} + +DeleteClusterResult::DeleteClusterResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DeleteClusterResult& DeleteClusterResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/DeleteComputeNodeGroupRequest.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/DeleteComputeNodeGroupRequest.cpp new file mode 100644 index 00000000000..f7ed70c95ef --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/DeleteComputeNodeGroupRequest.cpp @@ -0,0 +1,58 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::PCS::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +DeleteComputeNodeGroupRequest::DeleteComputeNodeGroupRequest() : + m_clusterIdentifierHasBeenSet(false), + m_computeNodeGroupIdentifierHasBeenSet(false), + m_clientToken(Aws::Utils::UUID::PseudoRandomUUID()), + m_clientTokenHasBeenSet(true) +{ +} + +Aws::String DeleteComputeNodeGroupRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_clusterIdentifierHasBeenSet) + { + payload.WithString("clusterIdentifier", m_clusterIdentifier); + + } + + if(m_computeNodeGroupIdentifierHasBeenSet) + { + payload.WithString("computeNodeGroupIdentifier", m_computeNodeGroupIdentifier); + + } + + if(m_clientTokenHasBeenSet) + { + payload.WithString("clientToken", m_clientToken); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection DeleteComputeNodeGroupRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "AWSParallelComputingService.DeleteComputeNodeGroup")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/DeleteComputeNodeGroupResult.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/DeleteComputeNodeGroupResult.cpp new file mode 100644 index 00000000000..9172c80d020 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/DeleteComputeNodeGroupResult.cpp @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::PCS::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DeleteComputeNodeGroupResult::DeleteComputeNodeGroupResult() +{ +} + +DeleteComputeNodeGroupResult::DeleteComputeNodeGroupResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DeleteComputeNodeGroupResult& DeleteComputeNodeGroupResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/DeleteQueueRequest.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/DeleteQueueRequest.cpp new file mode 100644 index 00000000000..f6a2c7a9d59 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/DeleteQueueRequest.cpp @@ -0,0 +1,58 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::PCS::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +DeleteQueueRequest::DeleteQueueRequest() : + m_clusterIdentifierHasBeenSet(false), + m_queueIdentifierHasBeenSet(false), + m_clientToken(Aws::Utils::UUID::PseudoRandomUUID()), + m_clientTokenHasBeenSet(true) +{ +} + +Aws::String DeleteQueueRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_clusterIdentifierHasBeenSet) + { + payload.WithString("clusterIdentifier", m_clusterIdentifier); + + } + + if(m_queueIdentifierHasBeenSet) + { + payload.WithString("queueIdentifier", m_queueIdentifier); + + } + + if(m_clientTokenHasBeenSet) + { + payload.WithString("clientToken", m_clientToken); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection DeleteQueueRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "AWSParallelComputingService.DeleteQueue")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/DeleteQueueResult.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/DeleteQueueResult.cpp new file mode 100644 index 00000000000..c12361146b9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/DeleteQueueResult.cpp @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::PCS::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DeleteQueueResult::DeleteQueueResult() +{ +} + +DeleteQueueResult::DeleteQueueResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DeleteQueueResult& DeleteQueueResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/Endpoint.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/Endpoint.cpp new file mode 100644 index 00000000000..fa25683666c --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/Endpoint.cpp @@ -0,0 +1,101 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace PCS +{ +namespace Model +{ + +Endpoint::Endpoint() : + m_type(EndpointType::NOT_SET), + m_typeHasBeenSet(false), + m_privateIpAddressHasBeenSet(false), + m_publicIpAddressHasBeenSet(false), + m_portHasBeenSet(false) +{ +} + +Endpoint::Endpoint(JsonView jsonValue) + : Endpoint() +{ + *this = jsonValue; +} + +Endpoint& Endpoint::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("type")) + { + m_type = EndpointTypeMapper::GetEndpointTypeForName(jsonValue.GetString("type")); + + m_typeHasBeenSet = true; + } + + if(jsonValue.ValueExists("privateIpAddress")) + { + m_privateIpAddress = jsonValue.GetString("privateIpAddress"); + + m_privateIpAddressHasBeenSet = true; + } + + if(jsonValue.ValueExists("publicIpAddress")) + { + m_publicIpAddress = jsonValue.GetString("publicIpAddress"); + + m_publicIpAddressHasBeenSet = true; + } + + if(jsonValue.ValueExists("port")) + { + m_port = jsonValue.GetString("port"); + + m_portHasBeenSet = true; + } + + return *this; +} + +JsonValue Endpoint::Jsonize() const +{ + JsonValue payload; + + if(m_typeHasBeenSet) + { + payload.WithString("type", EndpointTypeMapper::GetNameForEndpointType(m_type)); + } + + if(m_privateIpAddressHasBeenSet) + { + payload.WithString("privateIpAddress", m_privateIpAddress); + + } + + if(m_publicIpAddressHasBeenSet) + { + payload.WithString("publicIpAddress", m_publicIpAddress); + + } + + if(m_portHasBeenSet) + { + payload.WithString("port", m_port); + + } + + return payload; +} + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/EndpointType.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/EndpointType.cpp new file mode 100644 index 00000000000..75bde54d858 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/EndpointType.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace PCS + { + namespace Model + { + namespace EndpointTypeMapper + { + + static const int SLURMCTLD_HASH = HashingUtils::HashString("SLURMCTLD"); + static const int SLURMDBD_HASH = HashingUtils::HashString("SLURMDBD"); + + + EndpointType GetEndpointTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == SLURMCTLD_HASH) + { + return EndpointType::SLURMCTLD; + } + else if (hashCode == SLURMDBD_HASH) + { + return EndpointType::SLURMDBD; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return EndpointType::NOT_SET; + } + + Aws::String GetNameForEndpointType(EndpointType enumValue) + { + switch(enumValue) + { + case EndpointType::NOT_SET: + return {}; + case EndpointType::SLURMCTLD: + return "SLURMCTLD"; + case EndpointType::SLURMDBD: + return "SLURMDBD"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace EndpointTypeMapper + } // namespace Model + } // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/ErrorInfo.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/ErrorInfo.cpp new file mode 100644 index 00000000000..1e86c25a9f5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/ErrorInfo.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace PCS +{ +namespace Model +{ + +ErrorInfo::ErrorInfo() : + m_codeHasBeenSet(false), + m_messageHasBeenSet(false) +{ +} + +ErrorInfo::ErrorInfo(JsonView jsonValue) + : ErrorInfo() +{ + *this = jsonValue; +} + +ErrorInfo& ErrorInfo::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("code")) + { + m_code = jsonValue.GetString("code"); + + m_codeHasBeenSet = true; + } + + if(jsonValue.ValueExists("message")) + { + m_message = jsonValue.GetString("message"); + + m_messageHasBeenSet = true; + } + + return *this; +} + +JsonValue ErrorInfo::Jsonize() const +{ + JsonValue payload; + + if(m_codeHasBeenSet) + { + payload.WithString("code", m_code); + + } + + if(m_messageHasBeenSet) + { + payload.WithString("message", m_message); + + } + + return payload; +} + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/GetClusterRequest.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/GetClusterRequest.cpp new file mode 100644 index 00000000000..d5d2e91d6b0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/GetClusterRequest.cpp @@ -0,0 +1,43 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::PCS::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +GetClusterRequest::GetClusterRequest() : + m_clusterIdentifierHasBeenSet(false) +{ +} + +Aws::String GetClusterRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_clusterIdentifierHasBeenSet) + { + payload.WithString("clusterIdentifier", m_clusterIdentifier); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection GetClusterRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "AWSParallelComputingService.GetCluster")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/GetClusterResult.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/GetClusterResult.cpp new file mode 100644 index 00000000000..2284c9ace30 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/GetClusterResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::PCS::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetClusterResult::GetClusterResult() +{ +} + +GetClusterResult::GetClusterResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetClusterResult& GetClusterResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("cluster")) + { + m_cluster = jsonValue.GetObject("cluster"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/GetComputeNodeGroupRequest.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/GetComputeNodeGroupRequest.cpp new file mode 100644 index 00000000000..02ecb49431b --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/GetComputeNodeGroupRequest.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::PCS::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +GetComputeNodeGroupRequest::GetComputeNodeGroupRequest() : + m_clusterIdentifierHasBeenSet(false), + m_computeNodeGroupIdentifierHasBeenSet(false) +{ +} + +Aws::String GetComputeNodeGroupRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_clusterIdentifierHasBeenSet) + { + payload.WithString("clusterIdentifier", m_clusterIdentifier); + + } + + if(m_computeNodeGroupIdentifierHasBeenSet) + { + payload.WithString("computeNodeGroupIdentifier", m_computeNodeGroupIdentifier); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection GetComputeNodeGroupRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "AWSParallelComputingService.GetComputeNodeGroup")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/GetComputeNodeGroupResult.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/GetComputeNodeGroupResult.cpp new file mode 100644 index 00000000000..dc603f3d196 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/GetComputeNodeGroupResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::PCS::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetComputeNodeGroupResult::GetComputeNodeGroupResult() +{ +} + +GetComputeNodeGroupResult::GetComputeNodeGroupResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetComputeNodeGroupResult& GetComputeNodeGroupResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("computeNodeGroup")) + { + m_computeNodeGroup = jsonValue.GetObject("computeNodeGroup"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/GetQueueRequest.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/GetQueueRequest.cpp new file mode 100644 index 00000000000..fa2ae879e12 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/GetQueueRequest.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::PCS::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +GetQueueRequest::GetQueueRequest() : + m_clusterIdentifierHasBeenSet(false), + m_queueIdentifierHasBeenSet(false) +{ +} + +Aws::String GetQueueRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_clusterIdentifierHasBeenSet) + { + payload.WithString("clusterIdentifier", m_clusterIdentifier); + + } + + if(m_queueIdentifierHasBeenSet) + { + payload.WithString("queueIdentifier", m_queueIdentifier); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection GetQueueRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "AWSParallelComputingService.GetQueue")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/GetQueueResult.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/GetQueueResult.cpp new file mode 100644 index 00000000000..9df69b45887 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/GetQueueResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::PCS::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetQueueResult::GetQueueResult() +{ +} + +GetQueueResult::GetQueueResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetQueueResult& GetQueueResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("queue")) + { + m_queue = jsonValue.GetObject("queue"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/InstanceConfig.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/InstanceConfig.cpp new file mode 100644 index 00000000000..78bca7bee72 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/InstanceConfig.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace PCS +{ +namespace Model +{ + +InstanceConfig::InstanceConfig() : + m_instanceTypeHasBeenSet(false) +{ +} + +InstanceConfig::InstanceConfig(JsonView jsonValue) + : InstanceConfig() +{ + *this = jsonValue; +} + +InstanceConfig& InstanceConfig::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("instanceType")) + { + m_instanceType = jsonValue.GetString("instanceType"); + + m_instanceTypeHasBeenSet = true; + } + + return *this; +} + +JsonValue InstanceConfig::Jsonize() const +{ + JsonValue payload; + + if(m_instanceTypeHasBeenSet) + { + payload.WithString("instanceType", m_instanceType); + + } + + return payload; +} + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/ListClustersRequest.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/ListClustersRequest.cpp new file mode 100644 index 00000000000..e345763bbb1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/ListClustersRequest.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::PCS::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +ListClustersRequest::ListClustersRequest() : + m_nextTokenHasBeenSet(false), + m_maxResults(0), + m_maxResultsHasBeenSet(false) +{ +} + +Aws::String ListClustersRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_nextTokenHasBeenSet) + { + payload.WithString("nextToken", m_nextToken); + + } + + if(m_maxResultsHasBeenSet) + { + payload.WithInteger("maxResults", m_maxResults); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection ListClustersRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "AWSParallelComputingService.ListClusters")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/ListClustersResult.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/ListClustersResult.cpp new file mode 100644 index 00000000000..4ac9fc24215 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/ListClustersResult.cpp @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::PCS::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListClustersResult::ListClustersResult() +{ +} + +ListClustersResult::ListClustersResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListClustersResult& ListClustersResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("clusters")) + { + Aws::Utils::Array clustersJsonList = jsonValue.GetArray("clusters"); + for(unsigned clustersIndex = 0; clustersIndex < clustersJsonList.GetLength(); ++clustersIndex) + { + m_clusters.push_back(clustersJsonList[clustersIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("nextToken")) + { + m_nextToken = jsonValue.GetString("nextToken"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/ListComputeNodeGroupsRequest.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/ListComputeNodeGroupsRequest.cpp new file mode 100644 index 00000000000..770d359e836 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/ListComputeNodeGroupsRequest.cpp @@ -0,0 +1,58 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::PCS::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +ListComputeNodeGroupsRequest::ListComputeNodeGroupsRequest() : + m_clusterIdentifierHasBeenSet(false), + m_nextTokenHasBeenSet(false), + m_maxResults(0), + m_maxResultsHasBeenSet(false) +{ +} + +Aws::String ListComputeNodeGroupsRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_clusterIdentifierHasBeenSet) + { + payload.WithString("clusterIdentifier", m_clusterIdentifier); + + } + + if(m_nextTokenHasBeenSet) + { + payload.WithString("nextToken", m_nextToken); + + } + + if(m_maxResultsHasBeenSet) + { + payload.WithInteger("maxResults", m_maxResults); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection ListComputeNodeGroupsRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "AWSParallelComputingService.ListComputeNodeGroups")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/ListComputeNodeGroupsResult.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/ListComputeNodeGroupsResult.cpp new file mode 100644 index 00000000000..66b7e5573de --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/ListComputeNodeGroupsResult.cpp @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::PCS::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListComputeNodeGroupsResult::ListComputeNodeGroupsResult() +{ +} + +ListComputeNodeGroupsResult::ListComputeNodeGroupsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListComputeNodeGroupsResult& ListComputeNodeGroupsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("computeNodeGroups")) + { + Aws::Utils::Array computeNodeGroupsJsonList = jsonValue.GetArray("computeNodeGroups"); + for(unsigned computeNodeGroupsIndex = 0; computeNodeGroupsIndex < computeNodeGroupsJsonList.GetLength(); ++computeNodeGroupsIndex) + { + m_computeNodeGroups.push_back(computeNodeGroupsJsonList[computeNodeGroupsIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("nextToken")) + { + m_nextToken = jsonValue.GetString("nextToken"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/ListQueuesRequest.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/ListQueuesRequest.cpp new file mode 100644 index 00000000000..71d84f11d4b --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/ListQueuesRequest.cpp @@ -0,0 +1,58 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::PCS::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +ListQueuesRequest::ListQueuesRequest() : + m_clusterIdentifierHasBeenSet(false), + m_nextTokenHasBeenSet(false), + m_maxResults(0), + m_maxResultsHasBeenSet(false) +{ +} + +Aws::String ListQueuesRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_clusterIdentifierHasBeenSet) + { + payload.WithString("clusterIdentifier", m_clusterIdentifier); + + } + + if(m_nextTokenHasBeenSet) + { + payload.WithString("nextToken", m_nextToken); + + } + + if(m_maxResultsHasBeenSet) + { + payload.WithInteger("maxResults", m_maxResults); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection ListQueuesRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "AWSParallelComputingService.ListQueues")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/ListQueuesResult.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/ListQueuesResult.cpp new file mode 100644 index 00000000000..0d19148026c --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/ListQueuesResult.cpp @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::PCS::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListQueuesResult::ListQueuesResult() +{ +} + +ListQueuesResult::ListQueuesResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListQueuesResult& ListQueuesResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("queues")) + { + Aws::Utils::Array queuesJsonList = jsonValue.GetArray("queues"); + for(unsigned queuesIndex = 0; queuesIndex < queuesJsonList.GetLength(); ++queuesIndex) + { + m_queues.push_back(queuesJsonList[queuesIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("nextToken")) + { + m_nextToken = jsonValue.GetString("nextToken"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/ListTagsForResourceRequest.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/ListTagsForResourceRequest.cpp new file mode 100644 index 00000000000..b756a6dc2b0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/ListTagsForResourceRequest.cpp @@ -0,0 +1,43 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::PCS::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +ListTagsForResourceRequest::ListTagsForResourceRequest() : + m_resourceArnHasBeenSet(false) +{ +} + +Aws::String ListTagsForResourceRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_resourceArnHasBeenSet) + { + payload.WithString("resourceArn", m_resourceArn); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection ListTagsForResourceRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "AWSParallelComputingService.ListTagsForResource")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/ListTagsForResourceResult.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/ListTagsForResourceResult.cpp new file mode 100644 index 00000000000..085644e1313 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/ListTagsForResourceResult.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::PCS::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListTagsForResourceResult::ListTagsForResourceResult() +{ +} + +ListTagsForResourceResult::ListTagsForResourceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListTagsForResourceResult& ListTagsForResourceResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("tags")) + { + Aws::Map tagsJsonMap = jsonValue.GetObject("tags").GetAllObjects(); + for(auto& tagsItem : tagsJsonMap) + { + m_tags[tagsItem.first] = tagsItem.second.AsString(); + } + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/Networking.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/Networking.cpp new file mode 100644 index 00000000000..c58aa7ada77 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/Networking.cpp @@ -0,0 +1,89 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace PCS +{ +namespace Model +{ + +Networking::Networking() : + m_subnetIdsHasBeenSet(false), + m_securityGroupIdsHasBeenSet(false) +{ +} + +Networking::Networking(JsonView jsonValue) + : Networking() +{ + *this = jsonValue; +} + +Networking& Networking::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("subnetIds")) + { + Aws::Utils::Array subnetIdsJsonList = jsonValue.GetArray("subnetIds"); + for(unsigned subnetIdsIndex = 0; subnetIdsIndex < subnetIdsJsonList.GetLength(); ++subnetIdsIndex) + { + m_subnetIds.push_back(subnetIdsJsonList[subnetIdsIndex].AsString()); + } + m_subnetIdsHasBeenSet = true; + } + + if(jsonValue.ValueExists("securityGroupIds")) + { + Aws::Utils::Array securityGroupIdsJsonList = jsonValue.GetArray("securityGroupIds"); + for(unsigned securityGroupIdsIndex = 0; securityGroupIdsIndex < securityGroupIdsJsonList.GetLength(); ++securityGroupIdsIndex) + { + m_securityGroupIds.push_back(securityGroupIdsJsonList[securityGroupIdsIndex].AsString()); + } + m_securityGroupIdsHasBeenSet = true; + } + + return *this; +} + +JsonValue Networking::Jsonize() const +{ + JsonValue payload; + + if(m_subnetIdsHasBeenSet) + { + Aws::Utils::Array subnetIdsJsonList(m_subnetIds.size()); + for(unsigned subnetIdsIndex = 0; subnetIdsIndex < subnetIdsJsonList.GetLength(); ++subnetIdsIndex) + { + subnetIdsJsonList[subnetIdsIndex].AsString(m_subnetIds[subnetIdsIndex]); + } + payload.WithArray("subnetIds", std::move(subnetIdsJsonList)); + + } + + if(m_securityGroupIdsHasBeenSet) + { + Aws::Utils::Array securityGroupIdsJsonList(m_securityGroupIds.size()); + for(unsigned securityGroupIdsIndex = 0; securityGroupIdsIndex < securityGroupIdsJsonList.GetLength(); ++securityGroupIdsIndex) + { + securityGroupIdsJsonList[securityGroupIdsIndex].AsString(m_securityGroupIds[securityGroupIdsIndex]); + } + payload.WithArray("securityGroupIds", std::move(securityGroupIdsJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/NetworkingRequest.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/NetworkingRequest.cpp new file mode 100644 index 00000000000..5c11314004f --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/NetworkingRequest.cpp @@ -0,0 +1,89 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace PCS +{ +namespace Model +{ + +NetworkingRequest::NetworkingRequest() : + m_subnetIdsHasBeenSet(false), + m_securityGroupIdsHasBeenSet(false) +{ +} + +NetworkingRequest::NetworkingRequest(JsonView jsonValue) + : NetworkingRequest() +{ + *this = jsonValue; +} + +NetworkingRequest& NetworkingRequest::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("subnetIds")) + { + Aws::Utils::Array subnetIdsJsonList = jsonValue.GetArray("subnetIds"); + for(unsigned subnetIdsIndex = 0; subnetIdsIndex < subnetIdsJsonList.GetLength(); ++subnetIdsIndex) + { + m_subnetIds.push_back(subnetIdsJsonList[subnetIdsIndex].AsString()); + } + m_subnetIdsHasBeenSet = true; + } + + if(jsonValue.ValueExists("securityGroupIds")) + { + Aws::Utils::Array securityGroupIdsJsonList = jsonValue.GetArray("securityGroupIds"); + for(unsigned securityGroupIdsIndex = 0; securityGroupIdsIndex < securityGroupIdsJsonList.GetLength(); ++securityGroupIdsIndex) + { + m_securityGroupIds.push_back(securityGroupIdsJsonList[securityGroupIdsIndex].AsString()); + } + m_securityGroupIdsHasBeenSet = true; + } + + return *this; +} + +JsonValue NetworkingRequest::Jsonize() const +{ + JsonValue payload; + + if(m_subnetIdsHasBeenSet) + { + Aws::Utils::Array subnetIdsJsonList(m_subnetIds.size()); + for(unsigned subnetIdsIndex = 0; subnetIdsIndex < subnetIdsJsonList.GetLength(); ++subnetIdsIndex) + { + subnetIdsJsonList[subnetIdsIndex].AsString(m_subnetIds[subnetIdsIndex]); + } + payload.WithArray("subnetIds", std::move(subnetIdsJsonList)); + + } + + if(m_securityGroupIdsHasBeenSet) + { + Aws::Utils::Array securityGroupIdsJsonList(m_securityGroupIds.size()); + for(unsigned securityGroupIdsIndex = 0; securityGroupIdsIndex < securityGroupIdsJsonList.GetLength(); ++securityGroupIdsIndex) + { + securityGroupIdsJsonList[securityGroupIdsIndex].AsString(m_securityGroupIds[securityGroupIdsIndex]); + } + payload.WithArray("securityGroupIds", std::move(securityGroupIdsJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/PurchaseOption.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/PurchaseOption.cpp new file mode 100644 index 00000000000..9429d5b1685 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/PurchaseOption.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace PCS + { + namespace Model + { + namespace PurchaseOptionMapper + { + + static const int ONDEMAND_HASH = HashingUtils::HashString("ONDEMAND"); + static const int SPOT_HASH = HashingUtils::HashString("SPOT"); + + + PurchaseOption GetPurchaseOptionForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == ONDEMAND_HASH) + { + return PurchaseOption::ONDEMAND; + } + else if (hashCode == SPOT_HASH) + { + return PurchaseOption::SPOT; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return PurchaseOption::NOT_SET; + } + + Aws::String GetNameForPurchaseOption(PurchaseOption enumValue) + { + switch(enumValue) + { + case PurchaseOption::NOT_SET: + return {}; + case PurchaseOption::ONDEMAND: + return "ONDEMAND"; + case PurchaseOption::SPOT: + return "SPOT"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace PurchaseOptionMapper + } // namespace Model + } // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/Queue.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/Queue.cpp new file mode 100644 index 00000000000..aec5e13ca27 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/Queue.cpp @@ -0,0 +1,185 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace PCS +{ +namespace Model +{ + +Queue::Queue() : + m_nameHasBeenSet(false), + m_idHasBeenSet(false), + m_arnHasBeenSet(false), + m_clusterIdHasBeenSet(false), + m_createdAtHasBeenSet(false), + m_modifiedAtHasBeenSet(false), + m_status(QueueStatus::NOT_SET), + m_statusHasBeenSet(false), + m_computeNodeGroupConfigurationsHasBeenSet(false), + m_errorInfoHasBeenSet(false) +{ +} + +Queue::Queue(JsonView jsonValue) + : Queue() +{ + *this = jsonValue; +} + +Queue& Queue::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("name")) + { + m_name = jsonValue.GetString("name"); + + m_nameHasBeenSet = true; + } + + if(jsonValue.ValueExists("id")) + { + m_id = jsonValue.GetString("id"); + + m_idHasBeenSet = true; + } + + if(jsonValue.ValueExists("arn")) + { + m_arn = jsonValue.GetString("arn"); + + m_arnHasBeenSet = true; + } + + if(jsonValue.ValueExists("clusterId")) + { + m_clusterId = jsonValue.GetString("clusterId"); + + m_clusterIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("createdAt")) + { + m_createdAt = jsonValue.GetString("createdAt"); + + m_createdAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("modifiedAt")) + { + m_modifiedAt = jsonValue.GetString("modifiedAt"); + + m_modifiedAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("status")) + { + m_status = QueueStatusMapper::GetQueueStatusForName(jsonValue.GetString("status")); + + m_statusHasBeenSet = true; + } + + if(jsonValue.ValueExists("computeNodeGroupConfigurations")) + { + Aws::Utils::Array computeNodeGroupConfigurationsJsonList = jsonValue.GetArray("computeNodeGroupConfigurations"); + for(unsigned computeNodeGroupConfigurationsIndex = 0; computeNodeGroupConfigurationsIndex < computeNodeGroupConfigurationsJsonList.GetLength(); ++computeNodeGroupConfigurationsIndex) + { + m_computeNodeGroupConfigurations.push_back(computeNodeGroupConfigurationsJsonList[computeNodeGroupConfigurationsIndex].AsObject()); + } + m_computeNodeGroupConfigurationsHasBeenSet = true; + } + + if(jsonValue.ValueExists("errorInfo")) + { + Aws::Utils::Array errorInfoJsonList = jsonValue.GetArray("errorInfo"); + for(unsigned errorInfoIndex = 0; errorInfoIndex < errorInfoJsonList.GetLength(); ++errorInfoIndex) + { + m_errorInfo.push_back(errorInfoJsonList[errorInfoIndex].AsObject()); + } + m_errorInfoHasBeenSet = true; + } + + return *this; +} + +JsonValue Queue::Jsonize() const +{ + JsonValue payload; + + if(m_nameHasBeenSet) + { + payload.WithString("name", m_name); + + } + + if(m_idHasBeenSet) + { + payload.WithString("id", m_id); + + } + + if(m_arnHasBeenSet) + { + payload.WithString("arn", m_arn); + + } + + if(m_clusterIdHasBeenSet) + { + payload.WithString("clusterId", m_clusterId); + + } + + if(m_createdAtHasBeenSet) + { + payload.WithString("createdAt", m_createdAt.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_modifiedAtHasBeenSet) + { + payload.WithString("modifiedAt", m_modifiedAt.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_statusHasBeenSet) + { + payload.WithString("status", QueueStatusMapper::GetNameForQueueStatus(m_status)); + } + + if(m_computeNodeGroupConfigurationsHasBeenSet) + { + Aws::Utils::Array computeNodeGroupConfigurationsJsonList(m_computeNodeGroupConfigurations.size()); + for(unsigned computeNodeGroupConfigurationsIndex = 0; computeNodeGroupConfigurationsIndex < computeNodeGroupConfigurationsJsonList.GetLength(); ++computeNodeGroupConfigurationsIndex) + { + computeNodeGroupConfigurationsJsonList[computeNodeGroupConfigurationsIndex].AsObject(m_computeNodeGroupConfigurations[computeNodeGroupConfigurationsIndex].Jsonize()); + } + payload.WithArray("computeNodeGroupConfigurations", std::move(computeNodeGroupConfigurationsJsonList)); + + } + + if(m_errorInfoHasBeenSet) + { + Aws::Utils::Array errorInfoJsonList(m_errorInfo.size()); + for(unsigned errorInfoIndex = 0; errorInfoIndex < errorInfoJsonList.GetLength(); ++errorInfoIndex) + { + errorInfoJsonList[errorInfoIndex].AsObject(m_errorInfo[errorInfoIndex].Jsonize()); + } + payload.WithArray("errorInfo", std::move(errorInfoJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/QueueStatus.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/QueueStatus.cpp new file mode 100644 index 00000000000..e3d9d8d6049 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/QueueStatus.cpp @@ -0,0 +1,107 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace PCS + { + namespace Model + { + namespace QueueStatusMapper + { + + static const int CREATING_HASH = HashingUtils::HashString("CREATING"); + static const int ACTIVE_HASH = HashingUtils::HashString("ACTIVE"); + static const int UPDATING_HASH = HashingUtils::HashString("UPDATING"); + static const int DELETING_HASH = HashingUtils::HashString("DELETING"); + static const int CREATE_FAILED_HASH = HashingUtils::HashString("CREATE_FAILED"); + static const int DELETE_FAILED_HASH = HashingUtils::HashString("DELETE_FAILED"); + static const int UPDATE_FAILED_HASH = HashingUtils::HashString("UPDATE_FAILED"); + + + QueueStatus GetQueueStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == CREATING_HASH) + { + return QueueStatus::CREATING; + } + else if (hashCode == ACTIVE_HASH) + { + return QueueStatus::ACTIVE; + } + else if (hashCode == UPDATING_HASH) + { + return QueueStatus::UPDATING; + } + else if (hashCode == DELETING_HASH) + { + return QueueStatus::DELETING; + } + else if (hashCode == CREATE_FAILED_HASH) + { + return QueueStatus::CREATE_FAILED; + } + else if (hashCode == DELETE_FAILED_HASH) + { + return QueueStatus::DELETE_FAILED; + } + else if (hashCode == UPDATE_FAILED_HASH) + { + return QueueStatus::UPDATE_FAILED; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return QueueStatus::NOT_SET; + } + + Aws::String GetNameForQueueStatus(QueueStatus enumValue) + { + switch(enumValue) + { + case QueueStatus::NOT_SET: + return {}; + case QueueStatus::CREATING: + return "CREATING"; + case QueueStatus::ACTIVE: + return "ACTIVE"; + case QueueStatus::UPDATING: + return "UPDATING"; + case QueueStatus::DELETING: + return "DELETING"; + case QueueStatus::CREATE_FAILED: + return "CREATE_FAILED"; + case QueueStatus::DELETE_FAILED: + return "DELETE_FAILED"; + case QueueStatus::UPDATE_FAILED: + return "UPDATE_FAILED"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace QueueStatusMapper + } // namespace Model + } // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/QueueSummary.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/QueueSummary.cpp new file mode 100644 index 00000000000..84c4783ca98 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/QueueSummary.cpp @@ -0,0 +1,141 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace PCS +{ +namespace Model +{ + +QueueSummary::QueueSummary() : + m_nameHasBeenSet(false), + m_idHasBeenSet(false), + m_arnHasBeenSet(false), + m_clusterIdHasBeenSet(false), + m_createdAtHasBeenSet(false), + m_modifiedAtHasBeenSet(false), + m_status(QueueStatus::NOT_SET), + m_statusHasBeenSet(false) +{ +} + +QueueSummary::QueueSummary(JsonView jsonValue) + : QueueSummary() +{ + *this = jsonValue; +} + +QueueSummary& QueueSummary::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("name")) + { + m_name = jsonValue.GetString("name"); + + m_nameHasBeenSet = true; + } + + if(jsonValue.ValueExists("id")) + { + m_id = jsonValue.GetString("id"); + + m_idHasBeenSet = true; + } + + if(jsonValue.ValueExists("arn")) + { + m_arn = jsonValue.GetString("arn"); + + m_arnHasBeenSet = true; + } + + if(jsonValue.ValueExists("clusterId")) + { + m_clusterId = jsonValue.GetString("clusterId"); + + m_clusterIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("createdAt")) + { + m_createdAt = jsonValue.GetString("createdAt"); + + m_createdAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("modifiedAt")) + { + m_modifiedAt = jsonValue.GetString("modifiedAt"); + + m_modifiedAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("status")) + { + m_status = QueueStatusMapper::GetQueueStatusForName(jsonValue.GetString("status")); + + m_statusHasBeenSet = true; + } + + return *this; +} + +JsonValue QueueSummary::Jsonize() const +{ + JsonValue payload; + + if(m_nameHasBeenSet) + { + payload.WithString("name", m_name); + + } + + if(m_idHasBeenSet) + { + payload.WithString("id", m_id); + + } + + if(m_arnHasBeenSet) + { + payload.WithString("arn", m_arn); + + } + + if(m_clusterIdHasBeenSet) + { + payload.WithString("clusterId", m_clusterId); + + } + + if(m_createdAtHasBeenSet) + { + payload.WithString("createdAt", m_createdAt.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_modifiedAtHasBeenSet) + { + payload.WithString("modifiedAt", m_modifiedAt.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_statusHasBeenSet) + { + payload.WithString("status", QueueStatusMapper::GetNameForQueueStatus(m_status)); + } + + return payload; +} + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/RegisterComputeNodeGroupInstanceRequest.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/RegisterComputeNodeGroupInstanceRequest.cpp new file mode 100644 index 00000000000..90f0e8989ff --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/RegisterComputeNodeGroupInstanceRequest.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::PCS::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +RegisterComputeNodeGroupInstanceRequest::RegisterComputeNodeGroupInstanceRequest() : + m_clusterIdentifierHasBeenSet(false), + m_bootstrapIdHasBeenSet(false) +{ +} + +Aws::String RegisterComputeNodeGroupInstanceRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_clusterIdentifierHasBeenSet) + { + payload.WithString("clusterIdentifier", m_clusterIdentifier); + + } + + if(m_bootstrapIdHasBeenSet) + { + payload.WithString("bootstrapId", m_bootstrapId); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection RegisterComputeNodeGroupInstanceRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "AWSParallelComputingService.RegisterComputeNodeGroupInstance")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/RegisterComputeNodeGroupInstanceResult.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/RegisterComputeNodeGroupInstanceResult.cpp new file mode 100644 index 00000000000..afc9b4a7883 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/RegisterComputeNodeGroupInstanceResult.cpp @@ -0,0 +1,63 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::PCS::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +RegisterComputeNodeGroupInstanceResult::RegisterComputeNodeGroupInstanceResult() +{ +} + +RegisterComputeNodeGroupInstanceResult::RegisterComputeNodeGroupInstanceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +RegisterComputeNodeGroupInstanceResult& RegisterComputeNodeGroupInstanceResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("nodeID")) + { + m_nodeID = jsonValue.GetString("nodeID"); + + } + + if(jsonValue.ValueExists("sharedSecret")) + { + m_sharedSecret = jsonValue.GetString("sharedSecret"); + + } + + if(jsonValue.ValueExists("endpoints")) + { + Aws::Utils::Array endpointsJsonList = jsonValue.GetArray("endpoints"); + for(unsigned endpointsIndex = 0; endpointsIndex < endpointsJsonList.GetLength(); ++endpointsIndex) + { + m_endpoints.push_back(endpointsJsonList[endpointsIndex].AsObject()); + } + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/ResourceNotFoundException.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/ResourceNotFoundException.cpp new file mode 100644 index 00000000000..513a5617222 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/ResourceNotFoundException.cpp @@ -0,0 +1,87 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace PCS +{ +namespace Model +{ + +ResourceNotFoundException::ResourceNotFoundException() : + m_messageHasBeenSet(false), + m_resourceIdHasBeenSet(false), + m_resourceTypeHasBeenSet(false) +{ +} + +ResourceNotFoundException::ResourceNotFoundException(JsonView jsonValue) + : ResourceNotFoundException() +{ + *this = jsonValue; +} + +ResourceNotFoundException& ResourceNotFoundException::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("message")) + { + m_message = jsonValue.GetString("message"); + + m_messageHasBeenSet = true; + } + + if(jsonValue.ValueExists("resourceId")) + { + m_resourceId = jsonValue.GetString("resourceId"); + + m_resourceIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("resourceType")) + { + m_resourceType = jsonValue.GetString("resourceType"); + + m_resourceTypeHasBeenSet = true; + } + + return *this; +} + +JsonValue ResourceNotFoundException::Jsonize() const +{ + JsonValue payload; + + if(m_messageHasBeenSet) + { + payload.WithString("message", m_message); + + } + + if(m_resourceIdHasBeenSet) + { + payload.WithString("resourceId", m_resourceId); + + } + + if(m_resourceTypeHasBeenSet) + { + payload.WithString("resourceType", m_resourceType); + + } + + return payload; +} + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/ScalingConfiguration.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/ScalingConfiguration.cpp new file mode 100644 index 00000000000..e35a936f5c0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/ScalingConfiguration.cpp @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace PCS +{ +namespace Model +{ + +ScalingConfiguration::ScalingConfiguration() : + m_minInstanceCount(0), + m_minInstanceCountHasBeenSet(false), + m_maxInstanceCount(0), + m_maxInstanceCountHasBeenSet(false) +{ +} + +ScalingConfiguration::ScalingConfiguration(JsonView jsonValue) + : ScalingConfiguration() +{ + *this = jsonValue; +} + +ScalingConfiguration& ScalingConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("minInstanceCount")) + { + m_minInstanceCount = jsonValue.GetInteger("minInstanceCount"); + + m_minInstanceCountHasBeenSet = true; + } + + if(jsonValue.ValueExists("maxInstanceCount")) + { + m_maxInstanceCount = jsonValue.GetInteger("maxInstanceCount"); + + m_maxInstanceCountHasBeenSet = true; + } + + return *this; +} + +JsonValue ScalingConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_minInstanceCountHasBeenSet) + { + payload.WithInteger("minInstanceCount", m_minInstanceCount); + + } + + if(m_maxInstanceCountHasBeenSet) + { + payload.WithInteger("maxInstanceCount", m_maxInstanceCount); + + } + + return payload; +} + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/ScalingConfigurationRequest.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/ScalingConfigurationRequest.cpp new file mode 100644 index 00000000000..60cb8f45ac1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/ScalingConfigurationRequest.cpp @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace PCS +{ +namespace Model +{ + +ScalingConfigurationRequest::ScalingConfigurationRequest() : + m_minInstanceCount(0), + m_minInstanceCountHasBeenSet(false), + m_maxInstanceCount(0), + m_maxInstanceCountHasBeenSet(false) +{ +} + +ScalingConfigurationRequest::ScalingConfigurationRequest(JsonView jsonValue) + : ScalingConfigurationRequest() +{ + *this = jsonValue; +} + +ScalingConfigurationRequest& ScalingConfigurationRequest::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("minInstanceCount")) + { + m_minInstanceCount = jsonValue.GetInteger("minInstanceCount"); + + m_minInstanceCountHasBeenSet = true; + } + + if(jsonValue.ValueExists("maxInstanceCount")) + { + m_maxInstanceCount = jsonValue.GetInteger("maxInstanceCount"); + + m_maxInstanceCountHasBeenSet = true; + } + + return *this; +} + +JsonValue ScalingConfigurationRequest::Jsonize() const +{ + JsonValue payload; + + if(m_minInstanceCountHasBeenSet) + { + payload.WithInteger("minInstanceCount", m_minInstanceCount); + + } + + if(m_maxInstanceCountHasBeenSet) + { + payload.WithInteger("maxInstanceCount", m_maxInstanceCount); + + } + + return payload; +} + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/Scheduler.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/Scheduler.cpp new file mode 100644 index 00000000000..e2528930ad0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/Scheduler.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace PCS +{ +namespace Model +{ + +Scheduler::Scheduler() : + m_type(SchedulerType::NOT_SET), + m_typeHasBeenSet(false), + m_versionHasBeenSet(false) +{ +} + +Scheduler::Scheduler(JsonView jsonValue) + : Scheduler() +{ + *this = jsonValue; +} + +Scheduler& Scheduler::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("type")) + { + m_type = SchedulerTypeMapper::GetSchedulerTypeForName(jsonValue.GetString("type")); + + m_typeHasBeenSet = true; + } + + if(jsonValue.ValueExists("version")) + { + m_version = jsonValue.GetString("version"); + + m_versionHasBeenSet = true; + } + + return *this; +} + +JsonValue Scheduler::Jsonize() const +{ + JsonValue payload; + + if(m_typeHasBeenSet) + { + payload.WithString("type", SchedulerTypeMapper::GetNameForSchedulerType(m_type)); + } + + if(m_versionHasBeenSet) + { + payload.WithString("version", m_version); + + } + + return payload; +} + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/SchedulerRequest.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/SchedulerRequest.cpp new file mode 100644 index 00000000000..c200e31dc82 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/SchedulerRequest.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace PCS +{ +namespace Model +{ + +SchedulerRequest::SchedulerRequest() : + m_type(SchedulerType::NOT_SET), + m_typeHasBeenSet(false), + m_versionHasBeenSet(false) +{ +} + +SchedulerRequest::SchedulerRequest(JsonView jsonValue) + : SchedulerRequest() +{ + *this = jsonValue; +} + +SchedulerRequest& SchedulerRequest::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("type")) + { + m_type = SchedulerTypeMapper::GetSchedulerTypeForName(jsonValue.GetString("type")); + + m_typeHasBeenSet = true; + } + + if(jsonValue.ValueExists("version")) + { + m_version = jsonValue.GetString("version"); + + m_versionHasBeenSet = true; + } + + return *this; +} + +JsonValue SchedulerRequest::Jsonize() const +{ + JsonValue payload; + + if(m_typeHasBeenSet) + { + payload.WithString("type", SchedulerTypeMapper::GetNameForSchedulerType(m_type)); + } + + if(m_versionHasBeenSet) + { + payload.WithString("version", m_version); + + } + + return payload; +} + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/SchedulerType.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/SchedulerType.cpp new file mode 100644 index 00000000000..0be8ed947bc --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/SchedulerType.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace PCS + { + namespace Model + { + namespace SchedulerTypeMapper + { + + static const int SLURM_HASH = HashingUtils::HashString("SLURM"); + + + SchedulerType GetSchedulerTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == SLURM_HASH) + { + return SchedulerType::SLURM; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return SchedulerType::NOT_SET; + } + + Aws::String GetNameForSchedulerType(SchedulerType enumValue) + { + switch(enumValue) + { + case SchedulerType::NOT_SET: + return {}; + case SchedulerType::SLURM: + return "SLURM"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace SchedulerTypeMapper + } // namespace Model + } // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/ServiceQuotaExceededException.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/ServiceQuotaExceededException.cpp new file mode 100644 index 00000000000..cd591a40b5f --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/ServiceQuotaExceededException.cpp @@ -0,0 +1,115 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace PCS +{ +namespace Model +{ + +ServiceQuotaExceededException::ServiceQuotaExceededException() : + m_messageHasBeenSet(false), + m_serviceCodeHasBeenSet(false), + m_resourceIdHasBeenSet(false), + m_resourceTypeHasBeenSet(false), + m_quotaCodeHasBeenSet(false) +{ +} + +ServiceQuotaExceededException::ServiceQuotaExceededException(JsonView jsonValue) + : ServiceQuotaExceededException() +{ + *this = jsonValue; +} + +ServiceQuotaExceededException& ServiceQuotaExceededException::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("message")) + { + m_message = jsonValue.GetString("message"); + + m_messageHasBeenSet = true; + } + + if(jsonValue.ValueExists("serviceCode")) + { + m_serviceCode = jsonValue.GetString("serviceCode"); + + m_serviceCodeHasBeenSet = true; + } + + if(jsonValue.ValueExists("resourceId")) + { + m_resourceId = jsonValue.GetString("resourceId"); + + m_resourceIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("resourceType")) + { + m_resourceType = jsonValue.GetString("resourceType"); + + m_resourceTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("quotaCode")) + { + m_quotaCode = jsonValue.GetString("quotaCode"); + + m_quotaCodeHasBeenSet = true; + } + + return *this; +} + +JsonValue ServiceQuotaExceededException::Jsonize() const +{ + JsonValue payload; + + if(m_messageHasBeenSet) + { + payload.WithString("message", m_message); + + } + + if(m_serviceCodeHasBeenSet) + { + payload.WithString("serviceCode", m_serviceCode); + + } + + if(m_resourceIdHasBeenSet) + { + payload.WithString("resourceId", m_resourceId); + + } + + if(m_resourceTypeHasBeenSet) + { + payload.WithString("resourceType", m_resourceType); + + } + + if(m_quotaCodeHasBeenSet) + { + payload.WithString("quotaCode", m_quotaCode); + + } + + return payload; +} + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/Size.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/Size.cpp new file mode 100644 index 00000000000..0775c956733 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/Size.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace PCS + { + namespace Model + { + namespace SizeMapper + { + + static const int SMALL_HASH = HashingUtils::HashString("SMALL"); + static const int MEDIUM_HASH = HashingUtils::HashString("MEDIUM"); + static const int LARGE_HASH = HashingUtils::HashString("LARGE"); + + + Size GetSizeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == SMALL_HASH) + { + return Size::SMALL; + } + else if (hashCode == MEDIUM_HASH) + { + return Size::MEDIUM; + } + else if (hashCode == LARGE_HASH) + { + return Size::LARGE; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return Size::NOT_SET; + } + + Aws::String GetNameForSize(Size enumValue) + { + switch(enumValue) + { + case Size::NOT_SET: + return {}; + case Size::SMALL: + return "SMALL"; + case Size::MEDIUM: + return "MEDIUM"; + case Size::LARGE: + return "LARGE"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace SizeMapper + } // namespace Model + } // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/SlurmAuthKey.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/SlurmAuthKey.cpp new file mode 100644 index 00000000000..7da5f770316 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/SlurmAuthKey.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace PCS +{ +namespace Model +{ + +SlurmAuthKey::SlurmAuthKey() : + m_secretArnHasBeenSet(false), + m_secretVersionHasBeenSet(false) +{ +} + +SlurmAuthKey::SlurmAuthKey(JsonView jsonValue) + : SlurmAuthKey() +{ + *this = jsonValue; +} + +SlurmAuthKey& SlurmAuthKey::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("secretArn")) + { + m_secretArn = jsonValue.GetString("secretArn"); + + m_secretArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("secretVersion")) + { + m_secretVersion = jsonValue.GetString("secretVersion"); + + m_secretVersionHasBeenSet = true; + } + + return *this; +} + +JsonValue SlurmAuthKey::Jsonize() const +{ + JsonValue payload; + + if(m_secretArnHasBeenSet) + { + payload.WithString("secretArn", m_secretArn); + + } + + if(m_secretVersionHasBeenSet) + { + payload.WithString("secretVersion", m_secretVersion); + + } + + return payload; +} + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/SlurmCustomSetting.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/SlurmCustomSetting.cpp new file mode 100644 index 00000000000..747e28e91b2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/SlurmCustomSetting.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace PCS +{ +namespace Model +{ + +SlurmCustomSetting::SlurmCustomSetting() : + m_parameterNameHasBeenSet(false), + m_parameterValueHasBeenSet(false) +{ +} + +SlurmCustomSetting::SlurmCustomSetting(JsonView jsonValue) + : SlurmCustomSetting() +{ + *this = jsonValue; +} + +SlurmCustomSetting& SlurmCustomSetting::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("parameterName")) + { + m_parameterName = jsonValue.GetString("parameterName"); + + m_parameterNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("parameterValue")) + { + m_parameterValue = jsonValue.GetString("parameterValue"); + + m_parameterValueHasBeenSet = true; + } + + return *this; +} + +JsonValue SlurmCustomSetting::Jsonize() const +{ + JsonValue payload; + + if(m_parameterNameHasBeenSet) + { + payload.WithString("parameterName", m_parameterName); + + } + + if(m_parameterValueHasBeenSet) + { + payload.WithString("parameterValue", m_parameterValue); + + } + + return payload; +} + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/SpotAllocationStrategy.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/SpotAllocationStrategy.cpp new file mode 100644 index 00000000000..e9b4091c3b7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/SpotAllocationStrategy.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace PCS + { + namespace Model + { + namespace SpotAllocationStrategyMapper + { + + static const int lowest_price_HASH = HashingUtils::HashString("lowest-price"); + static const int capacity_optimized_HASH = HashingUtils::HashString("capacity-optimized"); + static const int price_capacity_optimized_HASH = HashingUtils::HashString("price-capacity-optimized"); + + + SpotAllocationStrategy GetSpotAllocationStrategyForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == lowest_price_HASH) + { + return SpotAllocationStrategy::lowest_price; + } + else if (hashCode == capacity_optimized_HASH) + { + return SpotAllocationStrategy::capacity_optimized; + } + else if (hashCode == price_capacity_optimized_HASH) + { + return SpotAllocationStrategy::price_capacity_optimized; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return SpotAllocationStrategy::NOT_SET; + } + + Aws::String GetNameForSpotAllocationStrategy(SpotAllocationStrategy enumValue) + { + switch(enumValue) + { + case SpotAllocationStrategy::NOT_SET: + return {}; + case SpotAllocationStrategy::lowest_price: + return "lowest-price"; + case SpotAllocationStrategy::capacity_optimized: + return "capacity-optimized"; + case SpotAllocationStrategy::price_capacity_optimized: + return "price-capacity-optimized"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace SpotAllocationStrategyMapper + } // namespace Model + } // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/SpotOptions.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/SpotOptions.cpp new file mode 100644 index 00000000000..1fba2a9285e --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/SpotOptions.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace PCS +{ +namespace Model +{ + +SpotOptions::SpotOptions() : + m_allocationStrategy(SpotAllocationStrategy::NOT_SET), + m_allocationStrategyHasBeenSet(false) +{ +} + +SpotOptions::SpotOptions(JsonView jsonValue) + : SpotOptions() +{ + *this = jsonValue; +} + +SpotOptions& SpotOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("allocationStrategy")) + { + m_allocationStrategy = SpotAllocationStrategyMapper::GetSpotAllocationStrategyForName(jsonValue.GetString("allocationStrategy")); + + m_allocationStrategyHasBeenSet = true; + } + + return *this; +} + +JsonValue SpotOptions::Jsonize() const +{ + JsonValue payload; + + if(m_allocationStrategyHasBeenSet) + { + payload.WithString("allocationStrategy", SpotAllocationStrategyMapper::GetNameForSpotAllocationStrategy(m_allocationStrategy)); + } + + return payload; +} + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/TagResourceRequest.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/TagResourceRequest.cpp new file mode 100644 index 00000000000..df336ee6ae4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/TagResourceRequest.cpp @@ -0,0 +1,55 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::PCS::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +TagResourceRequest::TagResourceRequest() : + m_resourceArnHasBeenSet(false), + m_tagsHasBeenSet(false) +{ +} + +Aws::String TagResourceRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_resourceArnHasBeenSet) + { + payload.WithString("resourceArn", m_resourceArn); + + } + + if(m_tagsHasBeenSet) + { + JsonValue tagsJsonMap; + for(auto& tagsItem : m_tags) + { + tagsJsonMap.WithString(tagsItem.first, tagsItem.second); + } + payload.WithObject("tags", std::move(tagsJsonMap)); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection TagResourceRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "AWSParallelComputingService.TagResource")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/ThrottlingException.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/ThrottlingException.cpp new file mode 100644 index 00000000000..2dd8371e790 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/ThrottlingException.cpp @@ -0,0 +1,74 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace PCS +{ +namespace Model +{ + +ThrottlingException::ThrottlingException() : + m_messageHasBeenSet(false), + m_retryAfterSeconds(0), + m_retryAfterSecondsHasBeenSet(false) +{ +} + +ThrottlingException::ThrottlingException(JsonView jsonValue) + : ThrottlingException() +{ + *this = jsonValue; +} + +ThrottlingException& ThrottlingException::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("message")) + { + m_message = jsonValue.GetString("message"); + + m_messageHasBeenSet = true; + } + + if(jsonValue.ValueExists("retryAfterSeconds")) + { + m_retryAfterSeconds = jsonValue.GetInteger("retryAfterSeconds"); + + m_retryAfterSecondsHasBeenSet = true; + } + + return *this; +} + +JsonValue ThrottlingException::Jsonize() const +{ + JsonValue payload; + + if(m_messageHasBeenSet) + { + payload.WithString("message", m_message); + + } + + if(m_retryAfterSecondsHasBeenSet) + { + payload.WithInteger("retryAfterSeconds", m_retryAfterSeconds); + + } + + return payload; +} + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/UntagResourceRequest.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/UntagResourceRequest.cpp new file mode 100644 index 00000000000..a7f1784f8ac --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/UntagResourceRequest.cpp @@ -0,0 +1,55 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::PCS::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +UntagResourceRequest::UntagResourceRequest() : + m_resourceArnHasBeenSet(false), + m_tagKeysHasBeenSet(false) +{ +} + +Aws::String UntagResourceRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_resourceArnHasBeenSet) + { + payload.WithString("resourceArn", m_resourceArn); + + } + + if(m_tagKeysHasBeenSet) + { + Aws::Utils::Array tagKeysJsonList(m_tagKeys.size()); + for(unsigned tagKeysIndex = 0; tagKeysIndex < tagKeysJsonList.GetLength(); ++tagKeysIndex) + { + tagKeysJsonList[tagKeysIndex].AsString(m_tagKeys[tagKeysIndex]); + } + payload.WithArray("tagKeys", std::move(tagKeysJsonList)); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection UntagResourceRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "AWSParallelComputingService.UntagResource")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/UpdateComputeNodeGroupRequest.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/UpdateComputeNodeGroupRequest.cpp new file mode 100644 index 00000000000..2ec608ebcd9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/UpdateComputeNodeGroupRequest.cpp @@ -0,0 +1,119 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::PCS::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +UpdateComputeNodeGroupRequest::UpdateComputeNodeGroupRequest() : + m_clusterIdentifierHasBeenSet(false), + m_computeNodeGroupIdentifierHasBeenSet(false), + m_amiIdHasBeenSet(false), + m_subnetIdsHasBeenSet(false), + m_customLaunchTemplateHasBeenSet(false), + m_purchaseOption(PurchaseOption::NOT_SET), + m_purchaseOptionHasBeenSet(false), + m_spotOptionsHasBeenSet(false), + m_scalingConfigurationHasBeenSet(false), + m_iamInstanceProfileArnHasBeenSet(false), + m_slurmConfigurationHasBeenSet(false), + m_clientToken(Aws::Utils::UUID::PseudoRandomUUID()), + m_clientTokenHasBeenSet(true) +{ +} + +Aws::String UpdateComputeNodeGroupRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_clusterIdentifierHasBeenSet) + { + payload.WithString("clusterIdentifier", m_clusterIdentifier); + + } + + if(m_computeNodeGroupIdentifierHasBeenSet) + { + payload.WithString("computeNodeGroupIdentifier", m_computeNodeGroupIdentifier); + + } + + if(m_amiIdHasBeenSet) + { + payload.WithString("amiId", m_amiId); + + } + + if(m_subnetIdsHasBeenSet) + { + Aws::Utils::Array subnetIdsJsonList(m_subnetIds.size()); + for(unsigned subnetIdsIndex = 0; subnetIdsIndex < subnetIdsJsonList.GetLength(); ++subnetIdsIndex) + { + subnetIdsJsonList[subnetIdsIndex].AsString(m_subnetIds[subnetIdsIndex]); + } + payload.WithArray("subnetIds", std::move(subnetIdsJsonList)); + + } + + if(m_customLaunchTemplateHasBeenSet) + { + payload.WithObject("customLaunchTemplate", m_customLaunchTemplate.Jsonize()); + + } + + if(m_purchaseOptionHasBeenSet) + { + payload.WithString("purchaseOption", PurchaseOptionMapper::GetNameForPurchaseOption(m_purchaseOption)); + } + + if(m_spotOptionsHasBeenSet) + { + payload.WithObject("spotOptions", m_spotOptions.Jsonize()); + + } + + if(m_scalingConfigurationHasBeenSet) + { + payload.WithObject("scalingConfiguration", m_scalingConfiguration.Jsonize()); + + } + + if(m_iamInstanceProfileArnHasBeenSet) + { + payload.WithString("iamInstanceProfileArn", m_iamInstanceProfileArn); + + } + + if(m_slurmConfigurationHasBeenSet) + { + payload.WithObject("slurmConfiguration", m_slurmConfiguration.Jsonize()); + + } + + if(m_clientTokenHasBeenSet) + { + payload.WithString("clientToken", m_clientToken); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection UpdateComputeNodeGroupRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "AWSParallelComputingService.UpdateComputeNodeGroup")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/UpdateComputeNodeGroupResult.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/UpdateComputeNodeGroupResult.cpp new file mode 100644 index 00000000000..5da7544089a --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/UpdateComputeNodeGroupResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::PCS::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UpdateComputeNodeGroupResult::UpdateComputeNodeGroupResult() +{ +} + +UpdateComputeNodeGroupResult::UpdateComputeNodeGroupResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +UpdateComputeNodeGroupResult& UpdateComputeNodeGroupResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("computeNodeGroup")) + { + m_computeNodeGroup = jsonValue.GetObject("computeNodeGroup"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/UpdateComputeNodeGroupSlurmConfigurationRequest.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/UpdateComputeNodeGroupSlurmConfigurationRequest.cpp new file mode 100644 index 00000000000..8a5dca666e4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/UpdateComputeNodeGroupSlurmConfigurationRequest.cpp @@ -0,0 +1,67 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace PCS +{ +namespace Model +{ + +UpdateComputeNodeGroupSlurmConfigurationRequest::UpdateComputeNodeGroupSlurmConfigurationRequest() : + m_slurmCustomSettingsHasBeenSet(false) +{ +} + +UpdateComputeNodeGroupSlurmConfigurationRequest::UpdateComputeNodeGroupSlurmConfigurationRequest(JsonView jsonValue) + : UpdateComputeNodeGroupSlurmConfigurationRequest() +{ + *this = jsonValue; +} + +UpdateComputeNodeGroupSlurmConfigurationRequest& UpdateComputeNodeGroupSlurmConfigurationRequest::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("slurmCustomSettings")) + { + Aws::Utils::Array slurmCustomSettingsJsonList = jsonValue.GetArray("slurmCustomSettings"); + for(unsigned slurmCustomSettingsIndex = 0; slurmCustomSettingsIndex < slurmCustomSettingsJsonList.GetLength(); ++slurmCustomSettingsIndex) + { + m_slurmCustomSettings.push_back(slurmCustomSettingsJsonList[slurmCustomSettingsIndex].AsObject()); + } + m_slurmCustomSettingsHasBeenSet = true; + } + + return *this; +} + +JsonValue UpdateComputeNodeGroupSlurmConfigurationRequest::Jsonize() const +{ + JsonValue payload; + + if(m_slurmCustomSettingsHasBeenSet) + { + Aws::Utils::Array slurmCustomSettingsJsonList(m_slurmCustomSettings.size()); + for(unsigned slurmCustomSettingsIndex = 0; slurmCustomSettingsIndex < slurmCustomSettingsJsonList.GetLength(); ++slurmCustomSettingsIndex) + { + slurmCustomSettingsJsonList[slurmCustomSettingsIndex].AsObject(m_slurmCustomSettings[slurmCustomSettingsIndex].Jsonize()); + } + payload.WithArray("slurmCustomSettings", std::move(slurmCustomSettingsJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/UpdateQueueRequest.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/UpdateQueueRequest.cpp new file mode 100644 index 00000000000..fa09cfc8395 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/UpdateQueueRequest.cpp @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::PCS::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +UpdateQueueRequest::UpdateQueueRequest() : + m_clusterIdentifierHasBeenSet(false), + m_queueIdentifierHasBeenSet(false), + m_computeNodeGroupConfigurationsHasBeenSet(false), + m_clientToken(Aws::Utils::UUID::PseudoRandomUUID()), + m_clientTokenHasBeenSet(true) +{ +} + +Aws::String UpdateQueueRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_clusterIdentifierHasBeenSet) + { + payload.WithString("clusterIdentifier", m_clusterIdentifier); + + } + + if(m_queueIdentifierHasBeenSet) + { + payload.WithString("queueIdentifier", m_queueIdentifier); + + } + + if(m_computeNodeGroupConfigurationsHasBeenSet) + { + Aws::Utils::Array computeNodeGroupConfigurationsJsonList(m_computeNodeGroupConfigurations.size()); + for(unsigned computeNodeGroupConfigurationsIndex = 0; computeNodeGroupConfigurationsIndex < computeNodeGroupConfigurationsJsonList.GetLength(); ++computeNodeGroupConfigurationsIndex) + { + computeNodeGroupConfigurationsJsonList[computeNodeGroupConfigurationsIndex].AsObject(m_computeNodeGroupConfigurations[computeNodeGroupConfigurationsIndex].Jsonize()); + } + payload.WithArray("computeNodeGroupConfigurations", std::move(computeNodeGroupConfigurationsJsonList)); + + } + + if(m_clientTokenHasBeenSet) + { + payload.WithString("clientToken", m_clientToken); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection UpdateQueueRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "AWSParallelComputingService.UpdateQueue")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/UpdateQueueResult.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/UpdateQueueResult.cpp new file mode 100644 index 00000000000..a6717b769c1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/UpdateQueueResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::PCS::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UpdateQueueResult::UpdateQueueResult() +{ +} + +UpdateQueueResult::UpdateQueueResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +UpdateQueueResult& UpdateQueueResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("queue")) + { + m_queue = jsonValue.GetObject("queue"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/ValidationException.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/ValidationException.cpp new file mode 100644 index 00000000000..27c7c187390 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/ValidationException.cpp @@ -0,0 +1,95 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace PCS +{ +namespace Model +{ + +ValidationException::ValidationException() : + m_messageHasBeenSet(false), + m_reason(ValidationExceptionReason::NOT_SET), + m_reasonHasBeenSet(false), + m_fieldListHasBeenSet(false) +{ +} + +ValidationException::ValidationException(JsonView jsonValue) + : ValidationException() +{ + *this = jsonValue; +} + +ValidationException& ValidationException::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("message")) + { + m_message = jsonValue.GetString("message"); + + m_messageHasBeenSet = true; + } + + if(jsonValue.ValueExists("reason")) + { + m_reason = ValidationExceptionReasonMapper::GetValidationExceptionReasonForName(jsonValue.GetString("reason")); + + m_reasonHasBeenSet = true; + } + + if(jsonValue.ValueExists("fieldList")) + { + Aws::Utils::Array fieldListJsonList = jsonValue.GetArray("fieldList"); + for(unsigned fieldListIndex = 0; fieldListIndex < fieldListJsonList.GetLength(); ++fieldListIndex) + { + m_fieldList.push_back(fieldListJsonList[fieldListIndex].AsObject()); + } + m_fieldListHasBeenSet = true; + } + + return *this; +} + +JsonValue ValidationException::Jsonize() const +{ + JsonValue payload; + + if(m_messageHasBeenSet) + { + payload.WithString("message", m_message); + + } + + if(m_reasonHasBeenSet) + { + payload.WithString("reason", ValidationExceptionReasonMapper::GetNameForValidationExceptionReason(m_reason)); + } + + if(m_fieldListHasBeenSet) + { + Aws::Utils::Array fieldListJsonList(m_fieldList.size()); + for(unsigned fieldListIndex = 0; fieldListIndex < fieldListJsonList.GetLength(); ++fieldListIndex) + { + fieldListJsonList[fieldListIndex].AsObject(m_fieldList[fieldListIndex].Jsonize()); + } + payload.WithArray("fieldList", std::move(fieldListJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/ValidationExceptionField.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/ValidationExceptionField.cpp new file mode 100644 index 00000000000..f76a0e4042d --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/ValidationExceptionField.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace PCS +{ +namespace Model +{ + +ValidationExceptionField::ValidationExceptionField() : + m_nameHasBeenSet(false), + m_messageHasBeenSet(false) +{ +} + +ValidationExceptionField::ValidationExceptionField(JsonView jsonValue) + : ValidationExceptionField() +{ + *this = jsonValue; +} + +ValidationExceptionField& ValidationExceptionField::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("name")) + { + m_name = jsonValue.GetString("name"); + + m_nameHasBeenSet = true; + } + + if(jsonValue.ValueExists("message")) + { + m_message = jsonValue.GetString("message"); + + m_messageHasBeenSet = true; + } + + return *this; +} + +JsonValue ValidationExceptionField::Jsonize() const +{ + JsonValue payload; + + if(m_nameHasBeenSet) + { + payload.WithString("name", m_name); + + } + + if(m_messageHasBeenSet) + { + payload.WithString("message", m_message); + + } + + return payload; +} + +} // namespace Model +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/source/model/ValidationExceptionReason.cpp b/generated/src/aws-cpp-sdk-pcs/source/model/ValidationExceptionReason.cpp new file mode 100644 index 00000000000..611d4569292 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/model/ValidationExceptionReason.cpp @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace PCS + { + namespace Model + { + namespace ValidationExceptionReasonMapper + { + + static const int unknownOperation_HASH = HashingUtils::HashString("unknownOperation"); + static const int cannotParse_HASH = HashingUtils::HashString("cannotParse"); + static const int fieldValidationFailed_HASH = HashingUtils::HashString("fieldValidationFailed"); + static const int other_HASH = HashingUtils::HashString("other"); + + + ValidationExceptionReason GetValidationExceptionReasonForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == unknownOperation_HASH) + { + return ValidationExceptionReason::unknownOperation; + } + else if (hashCode == cannotParse_HASH) + { + return ValidationExceptionReason::cannotParse; + } + else if (hashCode == fieldValidationFailed_HASH) + { + return ValidationExceptionReason::fieldValidationFailed; + } + else if (hashCode == other_HASH) + { + return ValidationExceptionReason::other; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ValidationExceptionReason::NOT_SET; + } + + Aws::String GetNameForValidationExceptionReason(ValidationExceptionReason enumValue) + { + switch(enumValue) + { + case ValidationExceptionReason::NOT_SET: + return {}; + case ValidationExceptionReason::unknownOperation: + return "unknownOperation"; + case ValidationExceptionReason::cannotParse: + return "cannotParse"; + case ValidationExceptionReason::fieldValidationFailed: + return "fieldValidationFailed"; + case ValidationExceptionReason::other: + return "other"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ValidationExceptionReasonMapper + } // namespace Model + } // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces/include/aws/workspaces/WorkSpacesClient.h b/generated/src/aws-cpp-sdk-workspaces/include/aws/workspaces/WorkSpacesClient.h index f69c4ddb6b0..0a7ef802ab4 100644 --- a/generated/src/aws-cpp-sdk-workspaces/include/aws/workspaces/WorkSpacesClient.h +++ b/generated/src/aws-cpp-sdk-workspaces/include/aws/workspaces/WorkSpacesClient.h @@ -2225,8 +2225,8 @@ namespace WorkSpaces /** *

    Starts the specified WorkSpaces.

    You cannot start a WorkSpace unless - * it has a running mode of AutoStop and a state of - * STOPPED.

    See Also:

    AutoStop or Manual and a + * state of STOPPED.

    See Also:

    AWS * API Reference

    */ @@ -2278,9 +2278,9 @@ namespace WorkSpaces } /** - *

    Stops the specified WorkSpaces.

    You cannot stop a WorkSpace unless it - * has a running mode of AutoStop and a state of - * AVAILABLE, IMPAIRED, UNHEALTHY, or + *

    Stops the specified WorkSpaces.

    You cannot stop a WorkSpace unless it + * has a running mode of AutoStop or Manual and a state + * of AVAILABLE, IMPAIRED, UNHEALTHY, or * ERROR.

    See Also:

    AWS * API Reference

    diff --git a/generated/src/aws-cpp-sdk-workspaces/include/aws/workspaces/model/WorkspaceRequest.h b/generated/src/aws-cpp-sdk-workspaces/include/aws/workspaces/model/WorkspaceRequest.h index 83e0e6ac478..8bc5746744b 100644 --- a/generated/src/aws-cpp-sdk-workspaces/include/aws/workspaces/model/WorkspaceRequest.h +++ b/generated/src/aws-cpp-sdk-workspaces/include/aws/workspaces/model/WorkspaceRequest.h @@ -150,7 +150,11 @@ namespace Model ///@{ /** - *

    The name of the user-decoupled WorkSpace.

    + *

    The name of the user-decoupled WorkSpace.

    + * WorkspaceName is required if UserName is + * [UNDEFINED] for user-decoupled WorkSpaces. + * WorkspaceName is not applicable if UserName is + * specified for user-assigned WorkSpaces.

    */ inline const Aws::String& GetWorkspaceName() const{ return m_workspaceName; } inline bool WorkspaceNameHasBeenSet() const { return m_workspaceNameHasBeenSet; } diff --git a/generated/tests/pcs-gen-tests/CMakeLists.txt b/generated/tests/pcs-gen-tests/CMakeLists.txt new file mode 100644 index 00000000000..b4c96d97229 --- /dev/null +++ b/generated/tests/pcs-gen-tests/CMakeLists.txt @@ -0,0 +1,42 @@ +add_project(pcs-gen-tests + "Tests for the AWS PCS C++ SDK" + testing-resources + aws-cpp-sdk-pcs + aws-cpp-sdk-core) + +file(GLOB AWS_PCS_GENERATED_TEST_SRC + "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp" +) + +if(MSVC AND BUILD_SHARED_LIBS) + add_definitions(-DGTEST_LINKED_AS_SHARED_LIBRARY=1) +endif() + +if (CMAKE_CROSSCOMPILING) + set(AUTORUN_UNIT_TESTS OFF) +endif() + +if (AUTORUN_UNIT_TESTS) + enable_testing() +endif() + +if(PLATFORM_ANDROID AND BUILD_SHARED_LIBS) + add_library(${PROJECT_NAME} "${AWS_PCS_GENERATED_TEST_SRC}") +else() + add_executable(${PROJECT_NAME} "${AWS_PCS_GENERATED_TEST_SRC}") +endif() + +set_compiler_flags(${PROJECT_NAME}) +set_compiler_warnings(${PROJECT_NAME}) + +target_link_libraries(${PROJECT_NAME} ${PROJECT_LIBS}) + +if (AUTORUN_UNIT_TESTS) + ADD_CUSTOM_COMMAND( TARGET ${PROJECT_NAME} POST_BUILD + COMMAND ${CMAKE_COMMAND} -E env LD_LIBRARY_PATH=${AWS_AUTORUN_LD_LIBRARY_PATH}:$ENV{LD_LIBRARY_PATH} $ + ARGS "--gtest_brief=1") +endif() + +if(NOT CMAKE_CROSSCOMPILING) + SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES OUTPUT_NAME ${PROJECT_NAME}) +endif() \ No newline at end of file diff --git a/generated/tests/pcs-gen-tests/PCSEndpointProviderTests.cpp b/generated/tests/pcs-gen-tests/PCSEndpointProviderTests.cpp new file mode 100644 index 00000000000..77be367838c --- /dev/null +++ b/generated/tests/pcs-gen-tests/PCSEndpointProviderTests.cpp @@ -0,0 +1,428 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + + +static const char* ALLOCATION_TAG = "AWSPCSEndpointProviderTests"; +using PCSEndpointProvider = Aws::PCS::Endpoint::PCSEndpointProvider; +using EndpointParameters = Aws::Vector; +using ResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + +using EpParam = Aws::Endpoint::EndpointParameter; +using EpProp = Aws::Endpoint::EndpointParameter; // just a container to store test expectations +using ExpEpProps = Aws::UnorderedMap>>; +using ExpEpAuthScheme = Aws::Vector; +using ExpEpHeaders = Aws::UnorderedMap>; + +struct PCSEndpointProviderEndpointTestCase +{ + using OperationParamsFromTest = EndpointParameters; + + struct Expect + { + struct Endpoint + { + Aws::String url; + ExpEpAuthScheme authScheme; + ExpEpProps properties; + ExpEpHeaders headers; + } endpoint; + Aws::String error; + }; + struct OperationInput + { + Aws::String operationName; + OperationParamsFromTest operationParams; + OperationParamsFromTest builtinParams; + OperationParamsFromTest clientParams; + }; + + Aws::String documentation; + // Specification tells us it is Client Initialization parameters + // At the same time, specification tells us to test EndpointProvider not the client itself + // Hence params here will be set as a client params (just like a dedicated field above). + Aws::Vector params; + Aws::Vector tags; + Expect expect; + // Aws::Vector operationInput; +}; + +class PCSEndpointProviderTests : public ::testing::TestWithParam +{ +public: + static const size_t TEST_CASES_SZ; +protected: + static Aws::Vector getTestCase(); + static Aws::UniquePtrSafeDeleted> TEST_CASES; + static void SetUpTestSuite() + { + TEST_CASES = Aws::MakeUniqueSafeDeleted>(ALLOCATION_TAG, getTestCase()); + ASSERT_TRUE(TEST_CASES) << "Failed to allocate TEST_CASES table"; + assert(TEST_CASES->size() == TEST_CASES_SZ); + } + + static void TearDownTestSuite() + { + TEST_CASES.reset(); + } +}; + +Aws::UniquePtrSafeDeleted> PCSEndpointProviderTests::TEST_CASES; +const size_t PCSEndpointProviderTests::TEST_CASES_SZ = 25; + +Aws::Vector PCSEndpointProviderTests::getTestCase() { + + Aws::Vector test_cases = { + /*TEST CASE 0*/ + {"For region us-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*epUrl*/"https://pcs-fips.us-east-1.api.aws", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 1*/ + {"For region us-east-1 with FIPS enabled and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://pcs-fips.us-east-1.amazonaws.com", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 2*/ + {"For region us-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*epUrl*/"https://pcs.us-east-1.api.aws", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 3*/ + {"For region us-east-1 with FIPS disabled and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://pcs.us-east-1.amazonaws.com", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 4*/ + {"For region cn-north-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "cn-north-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*epUrl*/"https://pcs-fips.cn-north-1.api.amazonwebservices.com.cn", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 5*/ + {"For region cn-north-1 with FIPS enabled and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "cn-north-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://pcs-fips.cn-north-1.amazonaws.com.cn", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 6*/ + {"For region cn-north-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "cn-north-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*epUrl*/"https://pcs.cn-north-1.api.amazonwebservices.com.cn", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 7*/ + {"For region cn-north-1 with FIPS disabled and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "cn-north-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://pcs.cn-north-1.amazonaws.com.cn", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 8*/ + {"For region us-gov-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-gov-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*epUrl*/"https://pcs-fips.us-gov-east-1.api.aws", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 9*/ + {"For region us-gov-east-1 with FIPS enabled and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-gov-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://pcs-fips.us-gov-east-1.amazonaws.com", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 10*/ + {"For region us-gov-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-gov-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*epUrl*/"https://pcs.us-gov-east-1.api.aws", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 11*/ + {"For region us-gov-east-1 with FIPS disabled and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-gov-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://pcs.us-gov-east-1.amazonaws.com", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 12*/ + {"For region us-iso-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-iso-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"FIPS and DualStack are enabled, but this partition does not support one or both"} // expect + }, + /*TEST CASE 13*/ + {"For region us-iso-east-1 with FIPS enabled and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-iso-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://pcs-fips.us-iso-east-1.c2s.ic.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 14*/ + {"For region us-iso-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-iso-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"DualStack is enabled but this partition does not support DualStack"} // expect + }, + /*TEST CASE 15*/ + {"For region us-iso-east-1 with FIPS disabled and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-iso-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://pcs.us-iso-east-1.c2s.ic.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 16*/ + {"For region us-isob-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-isob-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"FIPS and DualStack are enabled, but this partition does not support one or both"} // expect + }, + /*TEST CASE 17*/ + {"For region us-isob-east-1 with FIPS enabled and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-isob-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://pcs-fips.us-isob-east-1.sc2s.sgov.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 18*/ + {"For region us-isob-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-isob-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"DualStack is enabled but this partition does not support DualStack"} // expect + }, + /*TEST CASE 19*/ + {"For region us-isob-east-1 with FIPS disabled and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-isob-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://pcs.us-isob-east-1.sc2s.sgov.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 20*/ + {"For custom endpoint with region set and fips disabled and dualstack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.com"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://example.com", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 21*/ + {"For custom endpoint with region not set and fips disabled and dualstack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.com"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://example.com", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 22*/ + {"For custom endpoint with fips enabled and dualstack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Endpoint", "https://example.com"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: FIPS and custom endpoint are not supported"} // expect + }, + /*TEST CASE 23*/ + {"For custom endpoint with fips disabled and dualstack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.com"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: Dualstack and custom endpoint are not supported"} // expect + }, + /*TEST CASE 24*/ + {"Missing region", // documentation + {}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: Missing Region"} // expect + } + }; + return test_cases; +} + +Aws::String RulesToSdkSignerName(const Aws::String& rulesSignerName) +{ + Aws::String sdkSigner = "NullSigner"; + if (rulesSignerName == "sigv4") { + sdkSigner = "SignatureV4"; + } else if (rulesSignerName == "sigv4a") { + sdkSigner = "AsymmetricSignatureV4"; + } else if (rulesSignerName == "none") { + sdkSigner = "NullSigner"; + } else if (rulesSignerName == "bearer") { + sdkSigner = "Bearer"; + } else if (rulesSignerName == "s3Express") { + sdkSigner = "S3ExpressSigner"; + } else { + sdkSigner = rulesSignerName; + } + + return sdkSigner; +} + +void ValidateOutcome(const ResolveEndpointOutcome& outcome, const PCSEndpointProviderEndpointTestCase::Expect& expect) +{ + if(!expect.error.empty()) + { + ASSERT_FALSE(outcome.IsSuccess()) << "Expected failure with message:\n" << expect.error; + ASSERT_EQ(outcome.GetError().GetMessage(), expect.error); + } + else + { + AWS_ASSERT_SUCCESS(outcome); + ASSERT_EQ(outcome.GetResult().GetURL(), expect.endpoint.url); + const auto expAuthSchemesIt = expect.endpoint.properties.find("authSchemes"); + if (expAuthSchemesIt != expect.endpoint.properties.end()) + { + // in the list of AuthSchemes, select the one with a highest priority + const Aws::Vector priotityList = {"s3Express", "sigv4a", "sigv4", "bearer", "none", ""}; + const auto expectedAuthSchemePropsIt = std::find_first_of(expAuthSchemesIt->second.begin(), expAuthSchemesIt->second.end(), + priotityList.begin(), priotityList.end(), [](const Aws::Vector& props, const Aws::String& expName) + { + const auto& propNameIt = std::find_if(props.begin(), props.end(), [](const EpProp& prop) + { + return prop.GetName() == "name"; + }); + assert(propNameIt != props.end()); + return propNameIt->GetStrValueNoCheck() == expName; + }); + assert(expectedAuthSchemePropsIt != expAuthSchemesIt->second.end()); + + const auto& endpointResultAttrs = outcome.GetResult().GetAttributes(); + ASSERT_TRUE(endpointResultAttrs) << "Expected non-empty EndpointAttributes (authSchemes)"; + for (const auto& expProperty : *expectedAuthSchemePropsIt) + { + if (expProperty.GetName() == "name") { + ASSERT_TRUE(!endpointResultAttrs->authScheme.GetName().empty()); + ASSERT_EQ(RulesToSdkSignerName(expProperty.GetStrValueNoCheck()), endpointResultAttrs->authScheme.GetName()); + } else if (expProperty.GetName() == "signingName") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetSigningName()); + ASSERT_EQ(expProperty.GetStrValueNoCheck(), endpointResultAttrs->authScheme.GetSigningName().value()); + } else if (expProperty.GetName() == "signingRegion") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetSigningRegion()); + ASSERT_EQ(expProperty.GetStrValueNoCheck(), endpointResultAttrs->authScheme.GetSigningRegion().value()); + } else if (expProperty.GetName() == "signingRegionSet") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetSigningRegionSet()); + ASSERT_EQ(expProperty.GetStrValueNoCheck(), endpointResultAttrs->authScheme.GetSigningRegionSet().value()); + } else if (expProperty.GetName() == "disableDoubleEncoding") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetDisableDoubleEncoding()); + ASSERT_EQ(expProperty.GetBoolValueNoCheck(), endpointResultAttrs->authScheme.GetDisableDoubleEncoding().value()); + } else { + FAIL() << "Unsupported Auth type property " << expProperty.GetName() << ". Need to update test."; + } + } + } + + EXPECT_EQ(expect.endpoint.headers.empty(), outcome.GetResult().GetHeaders().empty()); + for(const auto& expHeaderVec : expect.endpoint.headers) + { + const auto& retHeaderIt = outcome.GetResult().GetHeaders().find(expHeaderVec.first); + ASSERT_TRUE(retHeaderIt != outcome.GetResult().GetHeaders().end()); + + auto retHeaderVec = Aws::Utils::StringUtils::Split(retHeaderIt->second, ';'); + std::sort(retHeaderVec.begin(), retHeaderVec.end()); + + auto expHeaderVecSorted = expHeaderVec.second; + std::sort(expHeaderVecSorted.begin(), expHeaderVecSorted.end()); + + ASSERT_EQ(expHeaderVecSorted, retHeaderVec); + } + } +} + +TEST_P(PCSEndpointProviderTests, EndpointProviderTest) +{ + const size_t TEST_CASE_IDX = GetParam(); + ASSERT_LT(TEST_CASE_IDX, TEST_CASES->size()) << "Something is wrong with the test fixture itself."; + const PCSEndpointProviderEndpointTestCase& TEST_CASE = TEST_CASES->at(TEST_CASE_IDX); + SCOPED_TRACE(Aws::String("\nTEST CASE # ") + Aws::Utils::StringUtils::to_string(TEST_CASE_IDX) + ": " + TEST_CASE.documentation); + SCOPED_TRACE(Aws::String("\n--gtest_filter=EndpointTestsFromModel/PCSEndpointProviderTests.EndpointProviderTest/") + Aws::Utils::StringUtils::to_string(TEST_CASE_IDX)); + + std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG); + ASSERT_TRUE(endpointProvider) << "Failed to allocate/initialize PCSEndpointProvider"; + + EndpointParameters endpointParameters; + for(const auto& param : TEST_CASE.params) + { + endpointParameters.emplace(endpointParameters.end(), Aws::Endpoint::EndpointParameter(param)); + } + auto resolvedEndpointOutcome = endpointProvider->ResolveEndpoint(endpointParameters); + ValidateOutcome(resolvedEndpointOutcome, TEST_CASE.expect); + +#if 0 // temporarily disabled + for(const auto& operation : TEST_CASE.operationInput) + { + /* + * Most specific to least specific value locations: + staticContextParams + contextParam + clientContextParams + Built-In Bindings + Built-in binding default values + */ + const Aws::Vector> + operationInputParams = {std::cref(operation.builtinParams), std::cref(operation.clientParams), std::cref(operation.operationParams)}; + + for(const auto& paramSource : operationInputParams) + { + for(const auto& param : paramSource.get()) + { + endpointParameters.emplace(endpointParameters.end(), Aws::Endpoint::EndpointParameter(param)); + } + } + auto resolvedEndpointOutcomePerOperation = endpointProvider->ResolveEndpoint(endpointParameters); + ValidateOutcome(resolvedEndpointOutcomePerOperation, TEST_CASE.expect); + } +#endif +} + +INSTANTIATE_TEST_SUITE_P(EndpointTestsFromModel, + PCSEndpointProviderTests, + ::testing::Range((size_t) 0u, PCSEndpointProviderTests::TEST_CASES_SZ)); diff --git a/generated/tests/pcs-gen-tests/RunTests.cpp b/generated/tests/pcs-gen-tests/RunTests.cpp new file mode 100644 index 00000000000..f2f10a7c789 --- /dev/null +++ b/generated/tests/pcs-gen-tests/RunTests.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +int main(int argc, char** argv) +{ + Aws::SDKOptions options; + options.loggingOptions.logLevel = Aws::Utils::Logging::LogLevel::Trace; + + AWS_BEGIN_MEMORY_TEST_EX(options, 1024, 128); + Aws::Testing::InitPlatformTest(options); + Aws::Testing::ParseArgs(argc, argv); + + Aws::InitAPI(options); + ::testing::InitGoogleTest(&argc, argv); + int exitCode = RUN_ALL_TESTS(); + Aws::ShutdownAPI(options); + + AWS_END_MEMORY_TEST_EX; + Aws::Testing::ShutdownPlatformTest(options); + return exitCode; +} diff --git a/src/aws-cpp-sdk-core/include/aws/core/VersionConfig.h b/src/aws-cpp-sdk-core/include/aws/core/VersionConfig.h index 088a86b5605..d9b4f42b99d 100644 --- a/src/aws-cpp-sdk-core/include/aws/core/VersionConfig.h +++ b/src/aws-cpp-sdk-core/include/aws/core/VersionConfig.h @@ -4,7 +4,7 @@ */ #pragma once -#define AWS_SDK_VERSION_STRING "1.11.393" +#define AWS_SDK_VERSION_STRING "1.11.394" #define AWS_SDK_VERSION_MAJOR 1 #define AWS_SDK_VERSION_MINOR 11 -#define AWS_SDK_VERSION_PATCH 393 +#define AWS_SDK_VERSION_PATCH 394 diff --git a/tools/code-generation/api-descriptions/appconfig-2019-10-09.normal.json b/tools/code-generation/api-descriptions/appconfig-2019-10-09.normal.json index 4106400ee11..3aab3ace383 100644 --- a/tools/code-generation/api-descriptions/appconfig-2019-10-09.normal.json +++ b/tools/code-generation/api-descriptions/appconfig-2019-10-09.normal.json @@ -5,12 +5,14 @@ "endpointPrefix":"appconfig", "jsonVersion":"1.1", "protocol":"rest-json", + "protocols":["rest-json"], "serviceAbbreviation":"AppConfig", "serviceFullName":"Amazon AppConfig", "serviceId":"AppConfig", "signatureVersion":"v4", "signingName":"appconfig", - "uid":"appconfig-2019-10-09" + "uid":"appconfig-2019-10-09", + "auth":["aws.auth#sigv4"] }, "operations":{ "CreateApplication":{ @@ -130,7 +132,7 @@ {"shape":"PayloadTooLargeException"}, {"shape":"InternalServerException"} ], - "documentation":"

    Creates a new configuration in the AppConfig hosted configuration store.

    " + "documentation":"

    Creates a new configuration in the AppConfig hosted configuration store. If you're creating a feature flag, we recommend you familiarize yourself with the JSON schema for feature flag data. For more information, see Type reference for AWS.AppConfig.FeatureFlags in the AppConfig User Guide.

    " }, "DeleteApplication":{ "name":"DeleteApplication", @@ -145,7 +147,7 @@ {"shape":"InternalServerException"}, {"shape":"BadRequestException"} ], - "documentation":"

    Deletes an application. Deleting an application does not delete a configuration from a host.

    " + "documentation":"

    Deletes an application.

    " }, "DeleteConfigurationProfile":{ "name":"DeleteConfigurationProfile", @@ -161,7 +163,7 @@ {"shape":"InternalServerException"}, {"shape":"BadRequestException"} ], - "documentation":"

    Deletes a configuration profile. Deleting a configuration profile does not delete a configuration from a host.

    " + "documentation":"

    Deletes a configuration profile.

    To prevent users from unintentionally deleting actively-used configuration profiles, enable deletion protection.

    " }, "DeleteDeploymentStrategy":{ "name":"DeleteDeploymentStrategy", @@ -176,7 +178,7 @@ {"shape":"InternalServerException"}, {"shape":"BadRequestException"} ], - "documentation":"

    Deletes a deployment strategy. Deleting a deployment strategy does not delete a configuration from a host.

    " + "documentation":"

    Deletes a deployment strategy.

    " }, "DeleteEnvironment":{ "name":"DeleteEnvironment", @@ -192,7 +194,7 @@ {"shape":"InternalServerException"}, {"shape":"BadRequestException"} ], - "documentation":"

    Deletes an environment. Deleting an environment does not delete a configuration from a host.

    " + "documentation":"

    Deletes an environment.

    To prevent users from unintentionally deleting actively-used environments, enable deletion protection.

    " }, "DeleteExtension":{ "name":"DeleteExtension", @@ -239,6 +241,20 @@ ], "documentation":"

    Deletes a version of a configuration from the AppConfig hosted configuration store.

    " }, + "GetAccountSettings":{ + "name":"GetAccountSettings", + "http":{ + "method":"GET", + "requestUri":"/settings", + "responseCode":200 + }, + "output":{"shape":"AccountSettings"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

    Returns information about the status of the DeletionProtection parameter.

    " + }, "GetApplication":{ "name":"GetApplication", "http":{ @@ -269,7 +285,7 @@ {"shape":"InternalServerException"}, {"shape":"BadRequestException"} ], - "documentation":"

    (Deprecated) Retrieves the latest deployed configuration.

    Note the following important information.

    ", + "documentation":"

    (Deprecated) Retrieves the latest deployed configuration.

    Note the following important information.

    ", "deprecated":true, "deprecatedMessage":"This API has been deprecated in favor of the GetLatestConfiguration API used in conjunction with StartConfigurationSession." }, @@ -588,6 +604,21 @@ ], "documentation":"

    Deletes a tag key and value from an AppConfig resource.

    " }, + "UpdateAccountSettings":{ + "name":"UpdateAccountSettings", + "http":{ + "method":"PATCH", + "requestUri":"/settings", + "responseCode":200 + }, + "input":{"shape":"UpdateAccountSettingsRequest"}, + "output":{"shape":"AccountSettings"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

    Updates the value of the DeletionProtection parameter.

    " + }, "UpdateApplication":{ "name":"UpdateApplication", "http":{ @@ -702,6 +733,15 @@ } }, "shapes":{ + "AccountSettings":{ + "type":"structure", + "members":{ + "DeletionProtection":{ + "shape":"DeletionProtectionSettings", + "documentation":"

    A parameter to configure deletion protection. If enabled, deletion protection prevents a user from deleting a configuration profile or an environment if AppConfig has called either GetLatestConfiguration or for the configuration profile or from the environment during the specified interval. Deletion protection is disabled by default. The default interval for ProtectionPeriodInMinutes is 60.

    " + } + } + }, "Action":{ "type":"structure", "members":{ @@ -851,7 +891,7 @@ "type":"string", "max":2048, "min":20, - "pattern":"arn:(aws[a-zA-Z-]*)?:[a-z]+:([a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1})?:(\\d{12})?:[a-zA-Z0-9-_/:.]+" + "pattern":"arn:(aws[a-zA-Z-]*)?:[a-z]+:([a-z]{2}((-gov)|(-iso([a-z]?)))?-[a-z]+-\\d{1})?:(\\d{12})?:[a-zA-Z0-9-_/:.]+" }, "BadRequestDetails":{ "type":"structure", @@ -1251,7 +1291,7 @@ }, "Content":{ "shape":"Blob", - "documentation":"

    The content of the configuration or the configuration data.

    " + "documentation":"

    The configuration data, as bytes.

    AppConfig accepts any type of data, including text formats like JSON or TOML, or binary formats like protocol buffers or compressed data.

    " }, "ContentType":{ "shape":"StringWithLengthBetween1And255", @@ -1305,6 +1345,12 @@ "documentation":"

    The ID of the configuration profile you want to delete.

    ", "location":"uri", "locationName":"ConfigurationProfileId" + }, + "DeletionProtectionCheck":{ + "shape":"DeletionProtectionCheck", + "documentation":"

    A parameter to configure deletion protection. If enabled, deletion protection prevents a user from deleting a configuration profile if your application has called either GetLatestConfiguration or for the configuration profile during the specified interval.

    This parameter supports the following values:

    • BYPASS: Instructs AppConfig to bypass the deletion protection check and delete a configuration profile even if deletion protection would have otherwise prevented it.

    • APPLY: Instructs the deletion protection check to run, even if deletion protection is disabled at the account level. APPLY also forces the deletion protection check to run against resources created in the past hour, which are normally excluded from deletion protection checks.

    • ACCOUNT_DEFAULT: The default setting, which instructs AppConfig to implement the deletion protection value specified in the UpdateAccountSettings API.

    ", + "location":"header", + "locationName":"x-amzn-deletion-protection-check" } } }, @@ -1323,21 +1369,27 @@ "DeleteEnvironmentRequest":{ "type":"structure", "required":[ - "ApplicationId", - "EnvironmentId" + "EnvironmentId", + "ApplicationId" ], "members":{ + "EnvironmentId":{ + "shape":"Id", + "documentation":"

    The ID of the environment that you want to delete.

    ", + "location":"uri", + "locationName":"EnvironmentId" + }, "ApplicationId":{ "shape":"Id", "documentation":"

    The application ID that includes the environment that you want to delete.

    ", "location":"uri", "locationName":"ApplicationId" }, - "EnvironmentId":{ - "shape":"Id", - "documentation":"

    The ID of the environment that you want to delete.

    ", - "location":"uri", - "locationName":"EnvironmentId" + "DeletionProtectionCheck":{ + "shape":"DeletionProtectionCheck", + "documentation":"

    A parameter to configure deletion protection. If enabled, deletion protection prevents a user from deleting an environment if your application called either GetLatestConfiguration or in the environment during the specified interval.

    This parameter supports the following values:

    • BYPASS: Instructs AppConfig to bypass the deletion protection check and delete a configuration profile even if deletion protection would have otherwise prevented it.

    • APPLY: Instructs the deletion protection check to run, even if deletion protection is disabled at the account level. APPLY also forces the deletion protection check to run against resources created in the past hour, which are normally excluded from deletion protection checks.

    • ACCOUNT_DEFAULT: The default setting, which instructs AppConfig to implement the deletion protection value specified in the UpdateAccountSettings API.

    ", + "location":"header", + "locationName":"x-amzn-deletion-protection-check" } } }, @@ -1400,6 +1452,36 @@ } } }, + "DeletionProtectionCheck":{ + "type":"string", + "enum":[ + "ACCOUNT_DEFAULT", + "APPLY", + "BYPASS" + ] + }, + "DeletionProtectionDuration":{ + "type":"integer", + "box":true, + "max":1440, + "min":15 + }, + "DeletionProtectionSettings":{ + "type":"structure", + "members":{ + "Enabled":{ + "shape":"Boolean", + "documentation":"

    A parameter that indicates if deletion protection is enabled or not.

    ", + "box":true + }, + "ProtectionPeriodInMinutes":{ + "shape":"DeletionProtectionDuration", + "documentation":"

    The time interval during which AppConfig monitors for calls to GetLatestConfiguration or for a configuration profile or from an environment. AppConfig returns an error if a user calls or for the designated configuration profile or environment. To bypass the error and delete a configuration profile or an environment, specify BYPASS for the DeletionProtectionCheck parameter for either or .

    ", + "box":true + } + }, + "documentation":"

    A parameter to configure deletion protection. If enabled, deletion protection prevents a user from deleting a configuration profile or an environment if AppConfig has called either GetLatestConfiguration or for the configuration profile or from the environment during the specified interval.

    This setting uses the following default values:

    • Deletion protection is disabled by default.

    • The default interval specified by ProtectionPeriodInMinutes is 60.

    • DeletionProtectionCheck skips configuration profiles and environments that were created in the past hour.

    " + }, "Deployment":{ "type":"structure", "members":{ @@ -1958,7 +2040,7 @@ }, "ClientConfigurationVersion":{ "shape":"Version", - "documentation":"

    The configuration version returned in the most recent GetConfiguration response.

    AppConfig uses the value of the ClientConfigurationVersion parameter to identify the configuration version on your clients. If you don’t send ClientConfigurationVersion with each call to GetConfiguration, your clients receive the current configuration. You are charged each time your clients receive a configuration.

    To avoid excess charges, we recommend you use the StartConfigurationSession and GetLatestConfiguration APIs, which track the client configuration version on your behalf. If you choose to continue using GetConfiguration, we recommend that you include the ClientConfigurationVersion value with every call to GetConfiguration. The value to use for ClientConfigurationVersion comes from the ConfigurationVersion attribute returned by GetConfiguration when there is new or updated data, and should be saved for subsequent calls to GetConfiguration.

    For more information about working with configurations, see Retrieving the Configuration in the AppConfig User Guide.

    ", + "documentation":"

    The configuration version returned in the most recent GetConfiguration response.

    AppConfig uses the value of the ClientConfigurationVersion parameter to identify the configuration version on your clients. If you don’t send ClientConfigurationVersion with each call to GetConfiguration, your clients receive the current configuration. You are charged each time your clients receive a configuration.

    To avoid excess charges, we recommend you use the StartConfigurationSession and GetLatestConfiguration APIs, which track the client configuration version on your behalf. If you choose to continue using GetConfiguration, we recommend that you include the ClientConfigurationVersion value with every call to GetConfiguration. The value to use for ClientConfigurationVersion comes from the ConfigurationVersion attribute returned by GetConfiguration when there is new or updated data, and should be saved for subsequent calls to GetConfiguration.

    For more information about working with configurations, see Retrieving the Configuration in the AppConfig User Guide.

    ", "location":"querystring", "locationName":"client_configuration_version" } @@ -2818,6 +2900,15 @@ } } }, + "UpdateAccountSettingsRequest":{ + "type":"structure", + "members":{ + "DeletionProtection":{ + "shape":"DeletionProtectionSettings", + "documentation":"

    A parameter to configure deletion protection. If enabled, deletion protection prevents a user from deleting a configuration profile or an environment if AppConfig has called either GetLatestConfiguration or for the configuration profile or from the environment during the specified interval. Deletion protection is disabled by default. The default interval for ProtectionPeriodInMinutes is 60.

    " + } + } + }, "UpdateApplicationRequest":{ "type":"structure", "required":["ApplicationId"], @@ -2858,7 +2949,7 @@ "locationName":"ConfigurationProfileId" }, "Name":{ - "shape":"Name", + "shape":"LongName", "documentation":"

    The name of the configuration profile.

    " }, "Description":{ @@ -3041,7 +3132,7 @@ "documentation":"

    Either the JSON Schema content or the Amazon Resource Name (ARN) of an Lambda function.

    " } }, - "documentation":"

    A validator provides a syntactic or semantic check to ensure the configuration that you want to deploy functions as intended. To validate your application configuration data, you provide a schema or an Amazon Web Services Lambda function that runs against the configuration. The configuration deployment or update can only proceed when the configuration data is valid.

    " + "documentation":"

    A validator provides a syntactic or semantic check to ensure the configuration that you want to deploy functions as intended. To validate your application configuration data, you provide a schema or an Amazon Web Services Lambda function that runs against the configuration. The configuration deployment or update can only proceed when the configuration data is valid. For more information, see About validators in the AppConfig User Guide.

    " }, "ValidatorList":{ "type":"list", diff --git a/tools/code-generation/api-descriptions/datazone-2018-05-10.normal.json b/tools/code-generation/api-descriptions/datazone-2018-05-10.normal.json index 16d713bf083..b4f91c15d2b 100644 --- a/tools/code-generation/api-descriptions/datazone-2018-05-10.normal.json +++ b/tools/code-generation/api-descriptions/datazone-2018-05-10.normal.json @@ -651,7 +651,7 @@ {"shape":"ValidationException"}, {"shape":"UnauthorizedException"} ], - "documentation":"

    Deletes an data product in Amazon DataZone.

    ", + "documentation":"

    Deletes a data product in Amazon DataZone.

    ", "idempotent":true }, "DeleteDataSource":{ @@ -3298,7 +3298,7 @@ }, "AuthorizedPrincipalIdentifier":{ "type":"string", - "pattern":"^[a-zA-Z0-9:/_-]*$" + "pattern":"^[a-zA-Z0-9:/._-]*$" }, "AuthorizedPrincipalIdentifiers":{ "type":"list", diff --git a/tools/code-generation/api-descriptions/devicefarm-2015-06-23.normal.json b/tools/code-generation/api-descriptions/devicefarm-2015-06-23.normal.json index fda5cb6fda1..7e7f829d6b9 100644 --- a/tools/code-generation/api-descriptions/devicefarm-2015-06-23.normal.json +++ b/tools/code-generation/api-descriptions/devicefarm-2015-06-23.normal.json @@ -1290,7 +1290,7 @@ "type":"string", "max":1011, "min":32, - "pattern":"^arn:.+" + "pattern":"^arn:aws:devicefarm:.+" }, "AmazonResourceNames":{ "type":"list", @@ -1325,7 +1325,7 @@ }, "type":{ "shape":"ArtifactType", - "documentation":"

    The artifact's type.

    Allowed values include the following:

    • UNKNOWN

    • SCREENSHOT

    • DEVICE_LOG

    • MESSAGE_LOG

    • VIDEO_LOG

    • RESULT_LOG

    • SERVICE_LOG

    • WEBKIT_LOG

    • INSTRUMENTATION_OUTPUT

    • EXERCISER_MONKEY_OUTPUT: the artifact (log) generated by an Android fuzz test.

    • CALABASH_JSON_OUTPUT

    • CALABASH_PRETTY_OUTPUT

    • CALABASH_STANDARD_OUTPUT

    • CALABASH_JAVA_XML_OUTPUT

    • AUTOMATION_OUTPUT

    • APPIUM_SERVER_OUTPUT

    • APPIUM_JAVA_OUTPUT

    • APPIUM_JAVA_XML_OUTPUT

    • APPIUM_PYTHON_OUTPUT

    • APPIUM_PYTHON_XML_OUTPUT

    • EXPLORER_EVENT_LOG

    • EXPLORER_SUMMARY_LOG

    • APPLICATION_CRASH_REPORT

    • XCTEST_LOG

    • VIDEO

    • CUSTOMER_ARTIFACT

    • CUSTOMER_ARTIFACT_LOG

    • TESTSPEC_OUTPUT

    " + "documentation":"

    The artifact's type.

    Allowed values include the following:

    • UNKNOWN

    • SCREENSHOT

    • DEVICE_LOG

    • MESSAGE_LOG

    • VIDEO_LOG

    • RESULT_LOG

    • SERVICE_LOG

    • WEBKIT_LOG

    • INSTRUMENTATION_OUTPUT

    • EXERCISER_MONKEY_OUTPUT: the artifact (log) generated by an Android fuzz test.

    • APPIUM_SERVER_OUTPUT

    • APPIUM_JAVA_OUTPUT

    • APPIUM_JAVA_XML_OUTPUT

    • APPIUM_PYTHON_OUTPUT

    • APPIUM_PYTHON_XML_OUTPUT

    • APPLICATION_CRASH_REPORT

    • XCTEST_LOG

    • VIDEO

    • CUSTOMER_ARTIFACT

    • CUSTOMER_ARTIFACT_LOG

    • TESTSPEC_OUTPUT

    " }, "extension":{ "shape":"String", @@ -1789,7 +1789,7 @@ }, "type":{ "shape":"UploadType", - "documentation":"

    The upload's upload type.

    Must be one of the following values:

    • ANDROID_APP

    • IOS_APP

    • WEB_APP

    • EXTERNAL_DATA

    • APPIUM_JAVA_JUNIT_TEST_PACKAGE

    • APPIUM_JAVA_TESTNG_TEST_PACKAGE

    • APPIUM_PYTHON_TEST_PACKAGE

    • APPIUM_NODE_TEST_PACKAGE

    • APPIUM_RUBY_TEST_PACKAGE

    • APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE

    • APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE

    • APPIUM_WEB_PYTHON_TEST_PACKAGE

    • APPIUM_WEB_NODE_TEST_PACKAGE

    • APPIUM_WEB_RUBY_TEST_PACKAGE

    • CALABASH_TEST_PACKAGE

    • INSTRUMENTATION_TEST_PACKAGE

    • UIAUTOMATION_TEST_PACKAGE

    • UIAUTOMATOR_TEST_PACKAGE

    • XCTEST_TEST_PACKAGE

    • XCTEST_UI_TEST_PACKAGE

    • APPIUM_JAVA_JUNIT_TEST_SPEC

    • APPIUM_JAVA_TESTNG_TEST_SPEC

    • APPIUM_PYTHON_TEST_SPEC

    • APPIUM_NODE_TEST_SPEC

    • APPIUM_RUBY_TEST_SPEC

    • APPIUM_WEB_JAVA_JUNIT_TEST_SPEC

    • APPIUM_WEB_JAVA_TESTNG_TEST_SPEC

    • APPIUM_WEB_PYTHON_TEST_SPEC

    • APPIUM_WEB_NODE_TEST_SPEC

    • APPIUM_WEB_RUBY_TEST_SPEC

    • INSTRUMENTATION_TEST_SPEC

    • XCTEST_UI_TEST_SPEC

    If you call CreateUpload with WEB_APP specified, AWS Device Farm throws an ArgumentException error.

    " + "documentation":"

    The upload's upload type.

    Must be one of the following values:

    • ANDROID_APP

    • IOS_APP

    • WEB_APP

    • EXTERNAL_DATA

    • APPIUM_JAVA_JUNIT_TEST_PACKAGE

    • APPIUM_JAVA_TESTNG_TEST_PACKAGE

    • APPIUM_PYTHON_TEST_PACKAGE

    • APPIUM_NODE_TEST_PACKAGE

    • APPIUM_RUBY_TEST_PACKAGE

    • APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE

    • APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE

    • APPIUM_WEB_PYTHON_TEST_PACKAGE

    • APPIUM_WEB_NODE_TEST_PACKAGE

    • APPIUM_WEB_RUBY_TEST_PACKAGE

    • INSTRUMENTATION_TEST_PACKAGE

    • XCTEST_TEST_PACKAGE

    • XCTEST_UI_TEST_PACKAGE

    • APPIUM_JAVA_JUNIT_TEST_SPEC

    • APPIUM_JAVA_TESTNG_TEST_SPEC

    • APPIUM_PYTHON_TEST_SPEC

    • APPIUM_NODE_TEST_SPEC

    • APPIUM_RUBY_TEST_SPEC

    • APPIUM_WEB_JAVA_JUNIT_TEST_SPEC

    • APPIUM_WEB_JAVA_TESTNG_TEST_SPEC

    • APPIUM_WEB_PYTHON_TEST_SPEC

    • APPIUM_WEB_NODE_TEST_SPEC

    • APPIUM_WEB_RUBY_TEST_SPEC

    • INSTRUMENTATION_TEST_SPEC

    • XCTEST_UI_TEST_SPEC

    If you call CreateUpload with WEB_APP specified, AWS Device Farm throws an ArgumentException error.

    " }, "contentType":{ "shape":"ContentType", @@ -2470,7 +2470,7 @@ }, "testType":{ "shape":"TestType", - "documentation":"

    The test type for the specified device pool.

    Allowed values include the following:

    • BUILTIN_FUZZ.

    • BUILTIN_EXPLORER. For Android, an app explorer that traverses an Android app, interacting with it and capturing screenshots at the same time.

    • APPIUM_JAVA_JUNIT.

    • APPIUM_JAVA_TESTNG.

    • APPIUM_PYTHON.

    • APPIUM_NODE.

    • APPIUM_RUBY.

    • APPIUM_WEB_JAVA_JUNIT.

    • APPIUM_WEB_JAVA_TESTNG.

    • APPIUM_WEB_PYTHON.

    • APPIUM_WEB_NODE.

    • APPIUM_WEB_RUBY.

    • CALABASH.

    • INSTRUMENTATION.

    • UIAUTOMATION.

    • UIAUTOMATOR.

    • XCTEST.

    • XCTEST_UI.

    " + "documentation":"

    The test type for the specified device pool.

    Allowed values include the following:

    • BUILTIN_FUZZ.

    • APPIUM_JAVA_JUNIT.

    • APPIUM_JAVA_TESTNG.

    • APPIUM_PYTHON.

    • APPIUM_NODE.

    • APPIUM_RUBY.

    • APPIUM_WEB_JAVA_JUNIT.

    • APPIUM_WEB_JAVA_TESTNG.

    • APPIUM_WEB_PYTHON.

    • APPIUM_WEB_NODE.

    • APPIUM_WEB_RUBY.

    • INSTRUMENTATION.

    • XCTEST.

    • XCTEST_UI.

    " }, "test":{ "shape":"ScheduleRunTest", @@ -2969,7 +2969,7 @@ }, "type":{ "shape":"TestType", - "documentation":"

    The job's type.

    Allowed values include the following:

    • BUILTIN_FUZZ

    • BUILTIN_EXPLORER. For Android, an app explorer that traverses an Android app, interacting with it and capturing screenshots at the same time.

    • APPIUM_JAVA_JUNIT

    • APPIUM_JAVA_TESTNG

    • APPIUM_PYTHON

    • APPIUM_NODE

    • APPIUM_RUBY

    • APPIUM_WEB_JAVA_JUNIT

    • APPIUM_WEB_JAVA_TESTNG

    • APPIUM_WEB_PYTHON

    • APPIUM_WEB_NODE

    • APPIUM_WEB_RUBY

    • CALABASH

    • INSTRUMENTATION

    • UIAUTOMATION

    • UIAUTOMATOR

    • XCTEST

    • XCTEST_UI

    " + "documentation":"

    The job's type.

    Allowed values include the following:

    • BUILTIN_FUZZ

    • APPIUM_JAVA_JUNIT

    • APPIUM_JAVA_TESTNG

    • APPIUM_PYTHON

    • APPIUM_NODE

    • APPIUM_RUBY

    • APPIUM_WEB_JAVA_JUNIT

    • APPIUM_WEB_JAVA_TESTNG

    • APPIUM_WEB_PYTHON

    • APPIUM_WEB_NODE

    • APPIUM_WEB_RUBY

    • INSTRUMENTATION

    • XCTEST

    • XCTEST_UI

    " }, "created":{ "shape":"DateTime", @@ -3695,7 +3695,7 @@ }, "type":{ "shape":"UploadType", - "documentation":"

    The type of upload.

    Must be one of the following values:

    • ANDROID_APP

    • IOS_APP

    • WEB_APP

    • EXTERNAL_DATA

    • APPIUM_JAVA_JUNIT_TEST_PACKAGE

    • APPIUM_JAVA_TESTNG_TEST_PACKAGE

    • APPIUM_PYTHON_TEST_PACKAGE

    • APPIUM_NODE_TEST_PACKAGE

    • APPIUM_RUBY_TEST_PACKAGE

    • APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE

    • APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE

    • APPIUM_WEB_PYTHON_TEST_PACKAGE

    • APPIUM_WEB_NODE_TEST_PACKAGE

    • APPIUM_WEB_RUBY_TEST_PACKAGE

    • CALABASH_TEST_PACKAGE

    • INSTRUMENTATION_TEST_PACKAGE

    • UIAUTOMATION_TEST_PACKAGE

    • UIAUTOMATOR_TEST_PACKAGE

    • XCTEST_TEST_PACKAGE

    • XCTEST_UI_TEST_PACKAGE

    • APPIUM_JAVA_JUNIT_TEST_SPEC

    • APPIUM_JAVA_TESTNG_TEST_SPEC

    • APPIUM_PYTHON_TEST_SPEC

    • APPIUM_NODE_TEST_SPEC

    • APPIUM_RUBY_TEST_SPEC

    • APPIUM_WEB_JAVA_JUNIT_TEST_SPEC

    • APPIUM_WEB_JAVA_TESTNG_TEST_SPEC

    • APPIUM_WEB_PYTHON_TEST_SPEC

    • APPIUM_WEB_NODE_TEST_SPEC

    • APPIUM_WEB_RUBY_TEST_SPEC

    • INSTRUMENTATION_TEST_SPEC

    • XCTEST_UI_TEST_SPEC

    " + "documentation":"

    The type of upload.

    Must be one of the following values:

    • ANDROID_APP

    • IOS_APP

    • WEB_APP

    • EXTERNAL_DATA

    • APPIUM_JAVA_JUNIT_TEST_PACKAGE

    • APPIUM_JAVA_TESTNG_TEST_PACKAGE

    • APPIUM_PYTHON_TEST_PACKAGE

    • APPIUM_NODE_TEST_PACKAGE

    • APPIUM_RUBY_TEST_PACKAGE

    • APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE

    • APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE

    • APPIUM_WEB_PYTHON_TEST_PACKAGE

    • APPIUM_WEB_NODE_TEST_PACKAGE

    • APPIUM_WEB_RUBY_TEST_PACKAGE

    • INSTRUMENTATION_TEST_PACKAGE

    • XCTEST_TEST_PACKAGE

    • XCTEST_UI_TEST_PACKAGE

    • APPIUM_JAVA_JUNIT_TEST_SPEC

    • APPIUM_JAVA_TESTNG_TEST_SPEC

    • APPIUM_PYTHON_TEST_SPEC

    • APPIUM_NODE_TEST_SPEC

    • APPIUM_RUBY_TEST_SPEC

    • APPIUM_WEB_JAVA_JUNIT_TEST_SPEC

    • APPIUM_WEB_JAVA_TESTNG_TEST_SPEC

    • APPIUM_WEB_PYTHON_TEST_SPEC

    • APPIUM_WEB_NODE_TEST_SPEC

    • APPIUM_WEB_RUBY_TEST_SPEC

    • INSTRUMENTATION_TEST_SPEC

    • XCTEST_UI_TEST_SPEC

    " }, "nextToken":{ "shape":"PaginationToken", @@ -4403,7 +4403,7 @@ }, "type":{ "shape":"TestType", - "documentation":"

    The run's type.

    Must be one of the following values:

    • BUILTIN_FUZZ

    • BUILTIN_EXPLORER

      For Android, an app explorer that traverses an Android app, interacting with it and capturing screenshots at the same time.

    • APPIUM_JAVA_JUNIT

    • APPIUM_JAVA_TESTNG

    • APPIUM_PYTHON

    • APPIUM_NODE

    • APPIUM_RUBY

    • APPIUM_WEB_JAVA_JUNIT

    • APPIUM_WEB_JAVA_TESTNG

    • APPIUM_WEB_PYTHON

    • APPIUM_WEB_NODE

    • APPIUM_WEB_RUBY

    • CALABASH

    • INSTRUMENTATION

    • UIAUTOMATION

    • UIAUTOMATOR

    • XCTEST

    • XCTEST_UI

    " + "documentation":"

    The run's type.

    Must be one of the following values:

    • BUILTIN_FUZZ

    • APPIUM_JAVA_JUNIT

    • APPIUM_JAVA_TESTNG

    • APPIUM_PYTHON

    • APPIUM_NODE

    • APPIUM_RUBY

    • APPIUM_WEB_JAVA_JUNIT

    • APPIUM_WEB_JAVA_TESTNG

    • APPIUM_WEB_PYTHON

    • APPIUM_WEB_NODE

    • APPIUM_WEB_RUBY

    • INSTRUMENTATION

    • XCTEST

    • XCTEST_UI

    " }, "platform":{ "shape":"DevicePlatform", @@ -4672,7 +4672,7 @@ "members":{ "type":{ "shape":"TestType", - "documentation":"

    The test's type.

    Must be one of the following values:

    • BUILTIN_FUZZ

    • BUILTIN_EXPLORER. For Android, an app explorer that traverses an Android app, interacting with it and capturing screenshots at the same time.

    • APPIUM_JAVA_JUNIT

    • APPIUM_JAVA_TESTNG

    • APPIUM_PYTHON

    • APPIUM_NODE

    • APPIUM_RUBY

    • APPIUM_WEB_JAVA_JUNIT

    • APPIUM_WEB_JAVA_TESTNG

    • APPIUM_WEB_PYTHON

    • APPIUM_WEB_NODE

    • APPIUM_WEB_RUBY

    • CALABASH

    • INSTRUMENTATION

    • UIAUTOMATION

    • UIAUTOMATOR

    • XCTEST

    • XCTEST_UI

    " + "documentation":"

    The test's type.

    Must be one of the following values:

    • BUILTIN_FUZZ

    • APPIUM_JAVA_JUNIT

    • APPIUM_JAVA_TESTNG

    • APPIUM_PYTHON

    • APPIUM_NODE

    • APPIUM_RUBY

    • APPIUM_WEB_JAVA_JUNIT

    • APPIUM_WEB_JAVA_TESTNG

    • APPIUM_WEB_PYTHON

    • APPIUM_WEB_NODE

    • APPIUM_WEB_RUBY

    • INSTRUMENTATION

    • XCTEST

    • XCTEST_UI

    " }, "testPackageArn":{ "shape":"AmazonResourceName", @@ -4688,7 +4688,7 @@ }, "parameters":{ "shape":"TestParameters", - "documentation":"

    The test's parameters, such as test framework parameters and fixture settings. Parameters are represented by name-value pairs of strings.

    For all tests:

    • app_performance_monitoring: Performance monitoring is enabled by default. Set this parameter to false to disable it.

    For Calabash tests:

    • profile: A cucumber profile (for example, my_profile_name).

    • tags: You can limit execution to features or scenarios that have (or don't have) certain tags (for example, @smoke or @smoke,~@wip).

    For Appium tests (all types):

    • appium_version: The Appium version. Currently supported values are 1.6.5 (and later), latest, and default.

      • latest runs the latest Appium version supported by Device Farm (1.9.1).

      • For default, Device Farm selects a compatible version of Appium for the device. The current behavior is to run 1.7.2 on Android devices and iOS 9 and earlier and 1.7.2 for iOS 10 and later.

      • This behavior is subject to change.

    For fuzz tests (Android only):

    • event_count: The number of events, between 1 and 10000, that the UI fuzz test should perform.

    • throttle: The time, in ms, between 0 and 1000, that the UI fuzz test should wait between events.

    • seed: A seed to use for randomizing the UI fuzz test. Using the same seed value between tests ensures identical event sequences.

    For Explorer tests:

    • username: A user name to use if the Explorer encounters a login form. If not supplied, no user name is inserted.

    • password: A password to use if the Explorer encounters a login form. If not supplied, no password is inserted.

    For Instrumentation:

    • filter: A test filter string. Examples:

      • Running a single test case: com.android.abc.Test1

      • Running a single test: com.android.abc.Test1#smoke

      • Running multiple tests: com.android.abc.Test1,com.android.abc.Test2

    For XCTest and XCTestUI:

    • filter: A test filter string. Examples:

      • Running a single test class: LoginTests

      • Running a multiple test classes: LoginTests,SmokeTests

      • Running a single test: LoginTests/testValid

      • Running multiple tests: LoginTests/testValid,LoginTests/testInvalid

    For UIAutomator:

    • filter: A test filter string. Examples:

      • Running a single test case: com.android.abc.Test1

      • Running a single test: com.android.abc.Test1#smoke

      • Running multiple tests: com.android.abc.Test1,com.android.abc.Test2

    " + "documentation":"

    The test's parameters, such as test framework parameters and fixture settings. Parameters are represented by name-value pairs of strings.

    For all tests:

    • app_performance_monitoring: Performance monitoring is enabled by default. Set this parameter to false to disable it.

    For Appium tests (all types):

    • appium_version: The Appium version. Currently supported values are 1.6.5 (and later), latest, and default.

      • latest runs the latest Appium version supported by Device Farm (1.9.1).

      • For default, Device Farm selects a compatible version of Appium for the device. The current behavior is to run 1.7.2 on Android devices and iOS 9 and earlier and 1.7.2 for iOS 10 and later.

      • This behavior is subject to change.

    For fuzz tests (Android only):

    • event_count: The number of events, between 1 and 10000, that the UI fuzz test should perform.

    • throttle: The time, in ms, between 0 and 1000, that the UI fuzz test should wait between events.

    • seed: A seed to use for randomizing the UI fuzz test. Using the same seed value between tests ensures identical event sequences.

    For Instrumentation:

    • filter: A test filter string. Examples:

      • Running a single test case: com.android.abc.Test1

      • Running a single test: com.android.abc.Test1#smoke

      • Running multiple tests: com.android.abc.Test1,com.android.abc.Test2

    For XCTest and XCTestUI:

    • filter: A test filter string. Examples:

      • Running a single test class: LoginTests

      • Running a multiple test classes: LoginTests,SmokeTests

      • Running a single test: LoginTests/testValid

      • Running multiple tests: LoginTests/testValid,LoginTests/testInvalid

    " } }, "documentation":"

    Represents test settings. This data structure is passed in as the test parameter to ScheduleRun. For an example of the JSON request syntax, see ScheduleRun.

    " @@ -4824,7 +4824,7 @@ }, "type":{ "shape":"TestType", - "documentation":"

    The suite's type.

    Must be one of the following values:

    • BUILTIN_FUZZ

    • BUILTIN_EXPLORER

      Only available for Android; an app explorer that traverses an Android app, interacting with it and capturing screenshots at the same time.

    • APPIUM_JAVA_JUNIT

    • APPIUM_JAVA_TESTNG

    • APPIUM_PYTHON

    • APPIUM_NODE

    • APPIUM_RUBY

    • APPIUM_WEB_JAVA_JUNIT

    • APPIUM_WEB_JAVA_TESTNG

    • APPIUM_WEB_PYTHON

    • APPIUM_WEB_NODE

    • APPIUM_WEB_RUBY

    • CALABASH

    • INSTRUMENTATION

    • UIAUTOMATION

    • UIAUTOMATOR

    • XCTEST

    • XCTEST_UI

    " + "documentation":"

    The suite's type.

    Must be one of the following values:

    • BUILTIN_FUZZ

    • APPIUM_JAVA_JUNIT

    • APPIUM_JAVA_TESTNG

    • APPIUM_PYTHON

    • APPIUM_NODE

    • APPIUM_RUBY

    • APPIUM_WEB_JAVA_JUNIT

    • APPIUM_WEB_JAVA_TESTNG

    • APPIUM_WEB_PYTHON

    • APPIUM_WEB_NODE

    • APPIUM_WEB_RUBY

    • INSTRUMENTATION

    • XCTEST

    • XCTEST_UI

    " }, "created":{ "shape":"DateTime", @@ -4956,7 +4956,7 @@ }, "type":{ "shape":"TestType", - "documentation":"

    The test's type.

    Must be one of the following values:

    • BUILTIN_FUZZ

    • BUILTIN_EXPLORER

      For Android, an app explorer that traverses an Android app, interacting with it and capturing screenshots at the same time.

    • APPIUM_JAVA_JUNIT

    • APPIUM_JAVA_TESTNG

    • APPIUM_PYTHON

    • APPIUM_NODE

    • APPIUM_RUBY

    • APPIUM_WEB_JAVA_JUNIT

    • APPIUM_WEB_JAVA_TESTNG

    • APPIUM_WEB_PYTHON

    • APPIUM_WEB_NODE

    • APPIUM_WEB_RUBY

    • CALABASH

    • INSTRUMENTATION

    • UIAUTOMATION

    • UIAUTOMATOR

    • XCTEST

    • XCTEST_UI

    " + "documentation":"

    The test's type.

    Must be one of the following values:

    • BUILTIN_FUZZ

    • APPIUM_JAVA_JUNIT

    • APPIUM_JAVA_TESTNG

    • APPIUM_PYTHON

    • APPIUM_NODE

    • APPIUM_RUBY

    • APPIUM_WEB_JAVA_JUNIT

    • APPIUM_WEB_JAVA_TESTNG

    • APPIUM_WEB_PYTHON

    • APPIUM_WEB_NODE

    • APPIUM_WEB_RUBY

    • INSTRUMENTATION

    • XCTEST

    • XCTEST_UI

    " }, "created":{ "shape":"DateTime", @@ -5169,8 +5169,6 @@ "type":"string", "enum":[ "BUILTIN_FUZZ", - "BUILTIN_EXPLORER", - "WEB_PERFORMANCE_PROFILE", "APPIUM_JAVA_JUNIT", "APPIUM_JAVA_TESTNG", "APPIUM_PYTHON", @@ -5181,14 +5179,9 @@ "APPIUM_WEB_PYTHON", "APPIUM_WEB_NODE", "APPIUM_WEB_RUBY", - "CALABASH", "INSTRUMENTATION", - "UIAUTOMATION", - "UIAUTOMATOR", "XCTEST", - "XCTEST_UI", - "REMOTE_ACCESS_RECORD", - "REMOTE_ACCESS_REPLAY" + "XCTEST_UI" ] }, "Tests":{ @@ -5589,7 +5582,7 @@ }, "type":{ "shape":"UploadType", - "documentation":"

    The upload's type.

    Must be one of the following values:

    • ANDROID_APP

    • IOS_APP

    • WEB_APP

    • EXTERNAL_DATA

    • APPIUM_JAVA_JUNIT_TEST_PACKAGE

    • APPIUM_JAVA_TESTNG_TEST_PACKAGE

    • APPIUM_PYTHON_TEST_PACKAGE

    • APPIUM_NODE_TEST_PACKAGE

    • APPIUM_RUBY_TEST_PACKAGE

    • APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE

    • APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE

    • APPIUM_WEB_PYTHON_TEST_PACKAGE

    • APPIUM_WEB_NODE_TEST_PACKAGE

    • APPIUM_WEB_RUBY_TEST_PACKAGE

    • CALABASH_TEST_PACKAGE

    • INSTRUMENTATION_TEST_PACKAGE

    • UIAUTOMATION_TEST_PACKAGE

    • UIAUTOMATOR_TEST_PACKAGE

    • XCTEST_TEST_PACKAGE

    • XCTEST_UI_TEST_PACKAGE

    • APPIUM_JAVA_JUNIT_TEST_SPEC

    • APPIUM_JAVA_TESTNG_TEST_SPEC

    • APPIUM_PYTHON_TEST_SPEC

    • APPIUM_NODE_TEST_SPEC

    • APPIUM_RUBY_TEST_SPEC

    • APPIUM_WEB_JAVA_JUNIT_TEST_SPEC

    • APPIUM_WEB_JAVA_TESTNG_TEST_SPEC

    • APPIUM_WEB_PYTHON_TEST_SPEC

    • APPIUM_WEB_NODE_TEST_SPEC

    • APPIUM_WEB_RUBY_TEST_SPEC

    • INSTRUMENTATION_TEST_SPEC

    • XCTEST_UI_TEST_SPEC

    " + "documentation":"

    The upload's type.

    Must be one of the following values:

    • ANDROID_APP

    • IOS_APP

    • WEB_APP

    • EXTERNAL_DATA

    • APPIUM_JAVA_JUNIT_TEST_PACKAGE

    • APPIUM_JAVA_TESTNG_TEST_PACKAGE

    • APPIUM_PYTHON_TEST_PACKAGE

    • APPIUM_NODE_TEST_PACKAGE

    • APPIUM_RUBY_TEST_PACKAGE

    • APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE

    • APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE

    • APPIUM_WEB_PYTHON_TEST_PACKAGE

    • APPIUM_WEB_NODE_TEST_PACKAGE

    • APPIUM_WEB_RUBY_TEST_PACKAGE

    • INSTRUMENTATION_TEST_PACKAGE

    • XCTEST_TEST_PACKAGE

    • XCTEST_UI_TEST_PACKAGE

    • APPIUM_JAVA_JUNIT_TEST_SPEC

    • APPIUM_JAVA_TESTNG_TEST_SPEC

    • APPIUM_PYTHON_TEST_SPEC

    • APPIUM_NODE_TEST_SPEC

    • APPIUM_RUBY_TEST_SPEC

    • APPIUM_WEB_JAVA_JUNIT_TEST_SPEC

    • APPIUM_WEB_JAVA_TESTNG_TEST_SPEC

    • APPIUM_WEB_PYTHON_TEST_SPEC

    • APPIUM_WEB_NODE_TEST_SPEC

    • APPIUM_WEB_RUBY_TEST_SPEC

    • INSTRUMENTATION_TEST_SPEC

    • XCTEST_UI_TEST_SPEC

    " }, "status":{ "shape":"UploadStatus", diff --git a/tools/code-generation/api-descriptions/ec2-2016-11-15.normal.json b/tools/code-generation/api-descriptions/ec2-2016-11-15.normal.json index 07421bb26e7..32910a6be85 100644 --- a/tools/code-generation/api-descriptions/ec2-2016-11-15.normal.json +++ b/tools/code-generation/api-descriptions/ec2-2016-11-15.normal.json @@ -5667,7 +5667,7 @@ }, "input":{"shape":"RegisterImageRequest"}, "output":{"shape":"RegisterImageResult"}, - "documentation":"

    Registers an AMI. When you're creating an instance-store backed AMI, registering the AMI is the final step in the creation process. For more information about creating AMIs, see Create your own AMI in the Amazon Elastic Compute Cloud User Guide.

    For Amazon EBS-backed instances, CreateImage creates and registers the AMI in a single request, so you don't have to register the AMI yourself. We recommend that you always use CreateImage unless you have a specific reason to use RegisterImage.

    If needed, you can deregister an AMI at any time. Any modifications you make to an AMI backed by an instance store volume invalidates its registration. If you make changes to an image, deregister the previous image and register the new image.

    Register a snapshot of a root device volume

    You can use RegisterImage to create an Amazon EBS-backed Linux AMI from a snapshot of a root device volume. You specify the snapshot using a block device mapping. You can't set the encryption state of the volume using the block device mapping. If the snapshot is encrypted, or encryption by default is enabled, the root volume of an instance launched from the AMI is encrypted.

    For more information, see Create a Linux AMI from a snapshot and Use encryption with Amazon EBS-backed AMIs in the Amazon Elastic Compute Cloud User Guide.

    Amazon Web Services Marketplace product codes

    If any snapshots have Amazon Web Services Marketplace product codes, they are copied to the new AMI.

    Windows and some Linux distributions, such as Red Hat Enterprise Linux (RHEL) and SUSE Linux Enterprise Server (SLES), use the Amazon EC2 billing product code associated with an AMI to verify the subscription status for package updates. To create a new AMI for operating systems that require a billing product code, instead of registering the AMI, do the following to preserve the billing product code association:

    1. Launch an instance from an existing AMI with that billing product code.

    2. Customize the instance.

    3. Create an AMI from the instance using CreateImage.

    If you purchase a Reserved Instance to apply to an On-Demand Instance that was launched from an AMI with a billing product code, make sure that the Reserved Instance has the matching billing product code. If you purchase a Reserved Instance without the matching billing product code, the Reserved Instance will not be applied to the On-Demand Instance. For information about how to obtain the platform details and billing information of an AMI, see Understand AMI billing information in the Amazon EC2 User Guide.

    " + "documentation":"

    Registers an AMI. When you're creating an instance-store backed AMI, registering the AMI is the final step in the creation process. For more information about creating AMIs, see Create an AMI from a snapshot and Create an instance-store backed AMI in the Amazon EC2 User Guide.

    For Amazon EBS-backed instances, CreateImage creates and registers the AMI in a single request, so you don't have to register the AMI yourself. We recommend that you always use CreateImage unless you have a specific reason to use RegisterImage.

    If needed, you can deregister an AMI at any time. Any modifications you make to an AMI backed by an instance store volume invalidates its registration. If you make changes to an image, deregister the previous image and register the new image.

    Register a snapshot of a root device volume

    You can use RegisterImage to create an Amazon EBS-backed Linux AMI from a snapshot of a root device volume. You specify the snapshot using a block device mapping. You can't set the encryption state of the volume using the block device mapping. If the snapshot is encrypted, or encryption by default is enabled, the root volume of an instance launched from the AMI is encrypted.

    For more information, see Create an AMI from a snapshot and Use encryption with Amazon EBS-backed AMIs in the Amazon EC2 User Guide.

    Amazon Web Services Marketplace product codes

    If any snapshots have Amazon Web Services Marketplace product codes, they are copied to the new AMI.

    In most cases, AMIs for Windows, RedHat, SUSE, and SQL Server require correct licensing information to be present on the AMI. For more information, see Understand AMI billing information in the Amazon EC2 User Guide. When creating an AMI from a snapshot, the RegisterImage operation derives the correct billing information from the snapshot's metadata, but this requires the appropriate metadata to be present. To verify if the correct billing information was applied, check the PlatformDetails field on the new AMI. If the field is empty or doesn't match the expected operating system code (for example, Windows, RedHat, SUSE, or SQL), the AMI creation was unsuccessful, and you should discard the AMI and instead create the AMI from an instance using CreateImage. For more information, see Create an AMI from an instance in the Amazon EC2 User Guide.

    If you purchase a Reserved Instance to apply to an On-Demand Instance that was launched from an AMI with a billing product code, make sure that the Reserved Instance has the matching billing product code. If you purchase a Reserved Instance without the matching billing product code, the Reserved Instance will not be applied to the On-Demand Instance. For information about how to obtain the platform details and billing information of an AMI, see Understand AMI billing information in the Amazon EC2 User Guide.

    " }, "RegisterInstanceEventNotificationAttributes":{ "name":"RegisterInstanceEventNotificationAttributes", @@ -7106,6 +7106,10 @@ "shape":"TagSpecificationList", "documentation":"

    The tags to assign to the Elastic IP address.

    ", "locationName":"TagSpecification" + }, + "IpamPoolId":{ + "shape":"IpamPoolId", + "documentation":"

    The ID of an IPAM pool.

    " } } }, @@ -38726,7 +38730,8 @@ "vpc", "ec2-public-ipv4-pool", "custom", - "subnet" + "subnet", + "eip" ] }, "IpamPoolAllocationSet":{ @@ -38983,6 +38988,7 @@ "service-managed-ip", "service-managed-byoip", "amazon-owned-eip", + "amazon-owned-contig", "byoip", "ec2-public-ip" ] diff --git a/tools/code-generation/api-descriptions/internetmonitor-2021-06-03.normal.json b/tools/code-generation/api-descriptions/internetmonitor-2021-06-03.normal.json index 17747a0a246..1730acc4104 100644 --- a/tools/code-generation/api-descriptions/internetmonitor-2021-06-03.normal.json +++ b/tools/code-generation/api-descriptions/internetmonitor-2021-06-03.normal.json @@ -2,9 +2,10 @@ "version":"2.0", "metadata":{ "apiVersion":"2021-06-03", + "auth":["aws.auth#sigv4"], "endpointPrefix":"internetmonitor", - "jsonVersion":"1.1", "protocol":"rest-json", + "protocols":["rest-json"], "serviceFullName":"Amazon CloudWatch Internet Monitor", "serviceId":"InternetMonitor", "signatureVersion":"v4", @@ -1567,7 +1568,9 @@ "enum":[ "MEASUREMENTS", "TOP_LOCATIONS", - "TOP_LOCATION_DETAILS" + "TOP_LOCATION_DETAILS", + "OVERALL_TRAFFIC_SUGGESTIONS", + "OVERALL_TRAFFIC_SUGGESTIONS_DETAILS" ] }, "ResourceName":{ @@ -1657,7 +1660,7 @@ }, "QueryType":{ "shape":"QueryType", - "documentation":"

    The type of query to run. The following are the three types of queries that you can run using the Internet Monitor query interface:

    • MEASUREMENTS: Provides availability score, performance score, total traffic, and round-trip times, at 5 minute intervals.

    • TOP_LOCATIONS: Provides availability score, performance score, total traffic, and time to first byte (TTFB) information, for the top location and ASN combinations that you're monitoring, by traffic volume.

    • TOP_LOCATION_DETAILS: Provides TTFB for Amazon CloudFront, your current configuration, and the best performing EC2 configuration, at 1 hour intervals.

    For lists of the fields returned with each query type and more information about how each type of query is performed, see Using the Amazon CloudWatch Internet Monitor query interface in the Amazon CloudWatch Internet Monitor User Guide.

    " + "documentation":"

    The type of query to run. The following are the three types of queries that you can run using the Internet Monitor query interface:

    • MEASUREMENTS: Provides availability score, performance score, total traffic, and round-trip times, at 5 minute intervals.

    • TOP_LOCATIONS: Provides availability score, performance score, total traffic, and time to first byte (TTFB) information, for the top location and ASN combinations that you're monitoring, by traffic volume.

    • TOP_LOCATION_DETAILS: Provides TTFB for Amazon CloudFront, your current configuration, and the best performing EC2 configuration, at 1 hour intervals.

    • OVERALL_TRAFFIC_SUGGESTIONS: Provides TTFB, using a 30-day weighted average, for all traffic in each Amazon Web Services location that is monitored.

    • OVERALL_TRAFFIC_SUGGESTIONS_DETAILS: Provides TTFB, using a 30-day weighted average, for each top location, for a proposed Amazon Web Services location. Must provide a Amazon Web Services location to search.

    For lists of the fields returned with each query type and more information about how each type of query is performed, see Using the Amazon CloudWatch Internet Monitor query interface in the Amazon CloudWatch Internet Monitor User Guide.

    " }, "FilterParameters":{ "shape":"FilterParameters", diff --git a/tools/code-generation/api-descriptions/pcs-2023-02-10.normal.json b/tools/code-generation/api-descriptions/pcs-2023-02-10.normal.json new file mode 100644 index 00000000000..0ecd55ea9a1 --- /dev/null +++ b/tools/code-generation/api-descriptions/pcs-2023-02-10.normal.json @@ -0,0 +1,1908 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2023-02-10", + "auth":["aws.auth#sigv4"], + "endpointPrefix":"pcs", + "jsonVersion":"1.0", + "protocol":"json", + "protocols":["json"], + "serviceFullName":"AWS Parallel Computing Service", + "serviceId":"PCS", + "signatureVersion":"v4", + "signingName":"pcs", + "targetPrefix":"AWSParallelComputingService", + "uid":"pcs-2023-02-10" + }, + "operations":{ + "CreateCluster":{ + "name":"CreateCluster", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateClusterRequest"}, + "output":{"shape":"CreateClusterResponse"}, + "errors":[ + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

    Creates a cluster in your account. Amazon Web Services PCS creates the cluster controller in a service-owned account. The cluster controller communicates with the cluster resources in your account. The subnets and security groups for the cluster must already exist before you use this API action.

    It takes time for Amazon Web Services PCS to create the cluster. The cluster is in a Creating state until it is ready to use. There can only be 1 cluster in a Creating state per Amazon Web Services Region per Amazon Web Services account. CreateCluster fails with a ServiceQuotaExceededException if there is already a cluster in a Creating state.

    ", + "idempotent":true + }, + "CreateComputeNodeGroup":{ + "name":"CreateComputeNodeGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateComputeNodeGroupRequest"}, + "output":{"shape":"CreateComputeNodeGroupResponse"}, + "errors":[ + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

    Creates a managed set of compute nodes. You associate a compute node group with a cluster through 1 or more Amazon Web Services PCS queues or as part of the login fleet. A compute node group includes the definition of the compute properties and lifecycle management. Amazon Web Services PCS uses the information you provide to this API action to launch compute nodes in your account. You can only specify subnets in the same Amazon VPC as your cluster. You receive billing charges for the compute nodes that Amazon Web Services PCS launches in your account. You must already have a launch template before you call this API. For more information, see Launch an instance from a launch template in the Amazon Elastic Compute Cloud User Guide for Linux Instances.

    ", + "idempotent":true + }, + "CreateQueue":{ + "name":"CreateQueue", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateQueueRequest"}, + "output":{"shape":"CreateQueueResponse"}, + "errors":[ + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

    Creates a job queue. You must associate 1 or more compute node groups with the queue. You can associate 1 compute node group with multiple queues.

    ", + "idempotent":true + }, + "DeleteCluster":{ + "name":"DeleteCluster", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteClusterRequest"}, + "output":{"shape":"DeleteClusterResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

    Deletes a cluster and all its linked resources. You must delete all queues and compute node groups associated with the cluster before you can delete the cluster.

    ", + "idempotent":true + }, + "DeleteComputeNodeGroup":{ + "name":"DeleteComputeNodeGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteComputeNodeGroupRequest"}, + "output":{"shape":"DeleteComputeNodeGroupResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

    Deletes a compute node group. You must delete all queues associated with the compute node group first.

    ", + "idempotent":true + }, + "DeleteQueue":{ + "name":"DeleteQueue", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteQueueRequest"}, + "output":{"shape":"DeleteQueueResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

    Deletes a job queue. If the compute node group associated with this queue isn't associated with any other queues, Amazon Web Services PCS terminates all the compute nodes for this queue.

    ", + "idempotent":true + }, + "GetCluster":{ + "name":"GetCluster", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetClusterRequest"}, + "output":{"shape":"GetClusterResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

    Returns detailed information about a running cluster in your account. This API action provides networking information, endpoint information for communication with the scheduler, and provisioning status.

    " + }, + "GetComputeNodeGroup":{ + "name":"GetComputeNodeGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetComputeNodeGroupRequest"}, + "output":{"shape":"GetComputeNodeGroupResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

    Returns detailed information about a compute node group. This API action provides networking information, EC2 instance type, compute node group status, and scheduler (such as Slurm) configuration.

    " + }, + "GetQueue":{ + "name":"GetQueue", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetQueueRequest"}, + "output":{"shape":"GetQueueResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

    Returns detailed information about a queue. The information includes the compute node groups that the queue uses to schedule jobs.

    " + }, + "ListClusters":{ + "name":"ListClusters", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListClustersRequest"}, + "output":{"shape":"ListClustersResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

    Returns a list of running clusters in your account.

    " + }, + "ListComputeNodeGroups":{ + "name":"ListComputeNodeGroups", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListComputeNodeGroupsRequest"}, + "output":{"shape":"ListComputeNodeGroupsResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

    Returns a list of all compute node groups associated with a cluster.

    " + }, + "ListQueues":{ + "name":"ListQueues", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListQueuesRequest"}, + "output":{"shape":"ListQueuesResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

    Returns a list of all queues associated with a cluster.

    " + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Returns a list of all tags on an Amazon Web Services PCS resource.

    " + }, + "RegisterComputeNodeGroupInstance":{ + "name":"RegisterComputeNodeGroupInstance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RegisterComputeNodeGroupInstanceRequest"}, + "output":{"shape":"RegisterComputeNodeGroupInstanceResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

    This API action isn't intended for you to use.

    Amazon Web Services PCS uses this API action to register the compute nodes it launches in your account.

    " + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Adds or edits tags on an Amazon Web Services PCS resource. Each tag consists of a tag key and a tag value. The tag key and tag value are case-sensitive strings. The tag value can be an empty (null) string. To add a tag, specify a new tag key and a tag value. To edit a tag, specify an existing tag key and a new tag value.

    ", + "idempotent":true + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Deletes tags from an Amazon Web Services PCS resource. To delete a tag, specify the tag key and the Amazon Resource Name (ARN) of the Amazon Web Services PCS resource.

    ", + "idempotent":true + }, + "UpdateComputeNodeGroup":{ + "name":"UpdateComputeNodeGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateComputeNodeGroupRequest"}, + "output":{"shape":"UpdateComputeNodeGroupResponse"}, + "errors":[ + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

    Updates a compute node group. You can update many of the fields related to your compute node group including the configurations for networking, compute nodes, and settings specific to your scheduler (such as Slurm).

    ", + "idempotent":true + }, + "UpdateQueue":{ + "name":"UpdateQueue", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateQueueRequest"}, + "output":{"shape":"UpdateQueueResponse"}, + "errors":[ + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

    Updates the compute node group configuration of a queue. Use this API to change the compute node groups that the queue can send jobs to.

    ", + "idempotent":true + } + }, + "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

    You don't have permission to perform the action.

    Examples

    • The launch template instance profile doesn't pass iam:PassRole verification.

    • There is a mismatch between the account ID and cluster ID.

    • The cluster ID doesn't exist.

    • The EC2 instance isn't present.

    ", + "exception":true + }, + "AmiId":{ + "type":"string", + "pattern":"ami-[a-z0-9]+" + }, + "Arn":{ + "type":"string", + "max":1011, + "min":1, + "pattern":"arn:aws*:pcs:.*:[0-9]{12}:.*/[a-z0-9_\\-]+" + }, + "BootstrapId":{ + "type":"string", + "max":1000, + "min":1, + "pattern":"[\\S]+" + }, + "Cluster":{ + "type":"structure", + "required":[ + "name", + "id", + "arn", + "status", + "createdAt", + "modifiedAt", + "scheduler", + "size", + "networking" + ], + "members":{ + "name":{ + "shape":"String", + "documentation":"

    The name that identifies the cluster.

    " + }, + "id":{ + "shape":"String", + "documentation":"

    The generated unique ID of the cluster.

    " + }, + "arn":{ + "shape":"String", + "documentation":"

    The unique Amazon Resource Name (ARN) of the cluster.

    " + }, + "status":{ + "shape":"ClusterStatus", + "documentation":"

    The provisioning status of the cluster.

    The provisioning status doesn't indicate the overall health of the cluster.

    " + }, + "createdAt":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

    The date and time the resource was created.

    " + }, + "modifiedAt":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

    The date and time the resource was modified.

    " + }, + "scheduler":{"shape":"Scheduler"}, + "size":{ + "shape":"Size", + "documentation":"

    The size of the cluster.

    • SMALL: 32 compute nodes and 256 jobs

    • MEDIUM: 512 compute nodes and 8192 jobs

    • LARGE: 2048 compute nodes and 16,384 jobs

    " + }, + "slurmConfiguration":{ + "shape":"ClusterSlurmConfiguration", + "documentation":"

    Additional options related to the Slurm scheduler.

    " + }, + "networking":{"shape":"Networking"}, + "endpoints":{ + "shape":"Endpoints", + "documentation":"

    The list of endpoints available for interaction with the scheduler.

    " + }, + "errorInfo":{ + "shape":"ErrorInfoList", + "documentation":"

    The list of errors that occurred during cluster provisioning.

    " + } + }, + "documentation":"

    The cluster resource and configuration.

    " + }, + "ClusterIdentifier":{ + "type":"string", + "pattern":"(pcs_[a-zA-Z0-9]+|[A-Za-z][A-Za-z0-9-]{1,40})" + }, + "ClusterList":{ + "type":"list", + "member":{"shape":"ClusterSummary"} + }, + "ClusterName":{ + "type":"string", + "max":40, + "min":1, + "pattern":"(?!pcs_)^(?![A-Za-z0-9]{10}$)[A-Za-z][A-Za-z0-9-]+" + }, + "ClusterSlurmConfiguration":{ + "type":"structure", + "members":{ + "scaleDownIdleTimeInSeconds":{ + "shape":"ClusterSlurmConfigurationScaleDownIdleTimeInSecondsInteger", + "documentation":"

    The time before an idle node is scaled down.

    " + }, + "slurmCustomSettings":{ + "shape":"SlurmCustomSettings", + "documentation":"

    Additional Slurm-specific configuration that directly maps to Slurm settings.

    " + }, + "authKey":{ + "shape":"SlurmAuthKey", + "documentation":"

    The shared Slurm key for authentication, also known as the cluster secret.

    " + } + }, + "documentation":"

    Additional options related to the Slurm scheduler.

    " + }, + "ClusterSlurmConfigurationRequest":{ + "type":"structure", + "members":{ + "scaleDownIdleTimeInSeconds":{ + "shape":"ClusterSlurmConfigurationRequestScaleDownIdleTimeInSecondsInteger", + "documentation":"

    The time before an idle node is scaled down.

    " + }, + "slurmCustomSettings":{ + "shape":"SlurmCustomSettings", + "documentation":"

    Additional Slurm-specific configuration that directly maps to Slurm settings.

    " + } + }, + "documentation":"

    Additional options related to the Slurm scheduler.

    " + }, + "ClusterSlurmConfigurationRequestScaleDownIdleTimeInSecondsInteger":{ + "type":"integer", + "box":true, + "min":1 + }, + "ClusterSlurmConfigurationScaleDownIdleTimeInSecondsInteger":{ + "type":"integer", + "box":true, + "min":1 + }, + "ClusterStatus":{ + "type":"string", + "enum":[ + "CREATING", + "ACTIVE", + "UPDATING", + "DELETING", + "CREATE_FAILED", + "DELETE_FAILED", + "UPDATE_FAILED" + ] + }, + "ClusterSummary":{ + "type":"structure", + "required":[ + "name", + "id", + "arn", + "createdAt", + "modifiedAt", + "status" + ], + "members":{ + "name":{ + "shape":"String", + "documentation":"

    The name that identifies the cluster.

    " + }, + "id":{ + "shape":"String", + "documentation":"

    The generated unique ID of the cluster.

    " + }, + "arn":{ + "shape":"String", + "documentation":"

    The unique Amazon Resource Name (ARN) of the cluster.

    " + }, + "createdAt":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

    The date and time the resource was created.

    " + }, + "modifiedAt":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

    The date and time the resource was modified.

    " + }, + "status":{ + "shape":"ClusterStatus", + "documentation":"

    The provisioning status of the cluster.

    The provisioning status doesn't indicate the overall health of the cluster.

    " + } + }, + "documentation":"

    The object returned by the ListClusters API action.

    " + }, + "ComputeNodeGroup":{ + "type":"structure", + "required":[ + "name", + "id", + "arn", + "clusterId", + "createdAt", + "modifiedAt", + "status", + "subnetIds", + "customLaunchTemplate", + "iamInstanceProfileArn", + "scalingConfiguration", + "instanceConfigs" + ], + "members":{ + "name":{ + "shape":"ComputeNodeGroupName", + "documentation":"

    The name that identifies the compute node group.

    " + }, + "id":{ + "shape":"String", + "documentation":"

    The generated unique ID of the compute node group.

    " + }, + "arn":{ + "shape":"String", + "documentation":"

    The unique Amazon Resource Name (ARN) of the compute node group.

    " + }, + "clusterId":{ + "shape":"String", + "documentation":"

    The ID of the cluster of the compute node group.

    " + }, + "createdAt":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

    The date and time the resource was created.

    " + }, + "modifiedAt":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

    The date and time the resource was modified.

    " + }, + "status":{ + "shape":"ComputeNodeGroupStatus", + "documentation":"

    The provisioning status of the compute node group.

    The provisioning status doesn't indicate the overall health of the compute node group.

    " + }, + "amiId":{ + "shape":"AmiId", + "documentation":"

    The ID of the Amazon Machine Image (AMI) that Amazon Web Services PCS uses to launch instances. If not provided, Amazon Web Services PCS uses the AMI ID specified in the custom launch template.

    " + }, + "subnetIds":{ + "shape":"SubnetIdList", + "documentation":"

    The list of subnet IDs where instances are provisioned by the compute node group. The subnets must be in the same VPC as the cluster.

    " + }, + "purchaseOption":{ + "shape":"PurchaseOption", + "documentation":"

    Specifies how EC2 instances are purchased on your behalf. Amazon Web Services PCS supports On-Demand and Spot instances. For more information, see Instance purchasing options in the Amazon Elastic Compute Cloud User Guide. If you don't provide this option, it defaults to On-Demand.

    " + }, + "customLaunchTemplate":{"shape":"CustomLaunchTemplate"}, + "iamInstanceProfileArn":{ + "shape":"InstanceProfileArn", + "documentation":"

    The Amazon Resource Name (ARN) of the IAM instance profile used to pass an IAM role when launching EC2 instances. The role contained in your instance profile must have pcs:RegisterComputeNodeGroupInstance permissions attached to provision instances correctly.

    " + }, + "scalingConfiguration":{"shape":"ScalingConfiguration"}, + "instanceConfigs":{ + "shape":"InstanceList", + "documentation":"

    A list of EC2 instance configurations that Amazon Web Services PCS can provision in the compute node group.

    " + }, + "spotOptions":{"shape":"SpotOptions"}, + "slurmConfiguration":{"shape":"ComputeNodeGroupSlurmConfiguration"}, + "errorInfo":{ + "shape":"ErrorInfoList", + "documentation":"

    The list of errors that occurred during compute node group provisioning.

    " + } + }, + "documentation":"

    A compute node group associated with a cluster.

    " + }, + "ComputeNodeGroupConfiguration":{ + "type":"structure", + "members":{ + "computeNodeGroupId":{ + "shape":"String", + "documentation":"

    The compute node group ID for the compute node group configuration.

    " + } + }, + "documentation":"

    The compute node group configuration for a queue.

    " + }, + "ComputeNodeGroupConfigurationList":{ + "type":"list", + "member":{"shape":"ComputeNodeGroupConfiguration"} + }, + "ComputeNodeGroupIdentifier":{ + "type":"string", + "pattern":"(pcs_[a-zA-Z0-9]+|[A-Za-z][A-Za-z0-9-]{1,25})" + }, + "ComputeNodeGroupList":{ + "type":"list", + "member":{"shape":"ComputeNodeGroupSummary"} + }, + "ComputeNodeGroupName":{ + "type":"string", + "max":25, + "min":1, + "pattern":"(?!pcs_)^(?![A-Za-z0-9]{10}$)[A-Za-z][A-Za-z0-9-]+" + }, + "ComputeNodeGroupSlurmConfiguration":{ + "type":"structure", + "members":{ + "slurmCustomSettings":{ + "shape":"SlurmCustomSettings", + "documentation":"

    Additional Slurm-specific configuration that directly maps to Slurm settings.

    " + } + }, + "documentation":"

    Additional options related to the Slurm scheduler.

    " + }, + "ComputeNodeGroupSlurmConfigurationRequest":{ + "type":"structure", + "members":{ + "slurmCustomSettings":{ + "shape":"SlurmCustomSettings", + "documentation":"

    Additional Slurm-specific configuration that directly maps to Slurm settings.

    " + } + }, + "documentation":"

    Additional options related to the Slurm scheduler.

    " + }, + "ComputeNodeGroupStatus":{ + "type":"string", + "enum":[ + "CREATING", + "ACTIVE", + "UPDATING", + "DELETING", + "CREATE_FAILED", + "DELETE_FAILED", + "UPDATE_FAILED", + "DELETED" + ] + }, + "ComputeNodeGroupSummary":{ + "type":"structure", + "required":[ + "name", + "id", + "arn", + "clusterId", + "createdAt", + "modifiedAt", + "status" + ], + "members":{ + "name":{ + "shape":"ComputeNodeGroupName", + "documentation":"

    The name that identifies the compute node group.

    " + }, + "id":{ + "shape":"String", + "documentation":"

    The generated unique ID of the compute node group.

    " + }, + "arn":{ + "shape":"String", + "documentation":"

    The unique Amazon Resource Name (ARN) of the compute node group.

    " + }, + "clusterId":{ + "shape":"String", + "documentation":"

    The ID of the cluster of the compute node group.

    " + }, + "createdAt":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

    The date and time the resource was created.

    " + }, + "modifiedAt":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

    The date and time the resource was modified.

    " + }, + "status":{ + "shape":"ComputeNodeGroupStatus", + "documentation":"

    The provisioning status of the compute node group.

    The provisioning status doesn't indicate the overall health of the compute node group.

    " + } + }, + "documentation":"

    The object returned by the ListComputeNodeGroups API action.

    " + }, + "ConflictException":{ + "type":"structure", + "required":[ + "message", + "resourceId", + "resourceType" + ], + "members":{ + "message":{"shape":"String"}, + "resourceId":{ + "shape":"String", + "documentation":"

    The unique identifier of the resource that caused the conflict exception.

    " + }, + "resourceType":{ + "shape":"String", + "documentation":"

    The type or category of the resource that caused the conflict exception.\"

    " + } + }, + "documentation":"

    Your request has conflicting operations. This can occur if you're trying to perform more than 1 operation on the same resource at the same time.

    Examples

    • A cluster with the same name already exists.

    • A cluster isn't in ACTIVE status.

    • A cluster to delete is in an unstable state. For example, because it still has ACTIVE node groups or queues.

    • A queue already exists in a cluster.

    ", + "exception":true + }, + "CreateClusterRequest":{ + "type":"structure", + "required":[ + "clusterName", + "scheduler", + "size", + "networking" + ], + "members":{ + "clusterName":{ + "shape":"ClusterName", + "documentation":"

    A name to identify the cluster. Example: MyCluster

    " + }, + "scheduler":{ + "shape":"SchedulerRequest", + "documentation":"

    The cluster management and job scheduling software associated with the cluster.

    " + }, + "size":{ + "shape":"Size", + "documentation":"

    A value that determines the maximum number of compute nodes in the cluster and the maximum number of jobs (active and queued).

    • SMALL: 32 compute nodes and 256 jobs

    • MEDIUM: 512 compute nodes and 8192 jobs

    • LARGE: 2048 compute nodes and 16,384 jobs

    " + }, + "networking":{ + "shape":"NetworkingRequest", + "documentation":"

    The networking configuration used to set up the cluster's control plane.

    " + }, + "slurmConfiguration":{ + "shape":"ClusterSlurmConfigurationRequest", + "documentation":"

    Additional options related to the Slurm scheduler.

    " + }, + "clientToken":{ + "shape":"SBClientToken", + "documentation":"

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, the subsequent retries with the same client token return the result from the original successful request and they have no additional effect. If you don't specify a client token, the CLI and SDK automatically generate 1 for you.

    ", + "idempotencyToken":true + }, + "tags":{ + "shape":"RequestTagMap", + "documentation":"

    1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string.

    " + } + } + }, + "CreateClusterResponse":{ + "type":"structure", + "members":{ + "cluster":{ + "shape":"Cluster", + "documentation":"

    The cluster resource.

    " + } + } + }, + "CreateComputeNodeGroupRequest":{ + "type":"structure", + "required":[ + "clusterIdentifier", + "computeNodeGroupName", + "subnetIds", + "customLaunchTemplate", + "iamInstanceProfileArn", + "scalingConfiguration", + "instanceConfigs" + ], + "members":{ + "clusterIdentifier":{ + "shape":"ClusterIdentifier", + "documentation":"

    The name or ID of the cluster to create a compute node group in.

    " + }, + "computeNodeGroupName":{ + "shape":"ComputeNodeGroupName", + "documentation":"

    A name to identify the cluster. Example: MyCluster

    " + }, + "amiId":{ + "shape":"AmiId", + "documentation":"

    The ID of the Amazon Machine Image (AMI) that Amazon Web Services PCS uses to launch compute nodes (Amazon EC2 instances). If you don't provide this value, Amazon Web Services PCS uses the AMI ID specified in the custom launch template.

    " + }, + "subnetIds":{ + "shape":"StringList", + "documentation":"

    The list of subnet IDs where the compute node group launches instances. Subnets must be in the same VPC as the cluster.

    " + }, + "purchaseOption":{ + "shape":"PurchaseOption", + "documentation":"

    Specifies how EC2 instances are purchased on your behalf. Amazon Web Services PCS supports On-Demand and Spot instances. For more information, see Instance purchasing options in the Amazon Elastic Compute Cloud User Guide. If you don't provide this option, it defaults to On-Demand.

    " + }, + "customLaunchTemplate":{"shape":"CustomLaunchTemplate"}, + "iamInstanceProfileArn":{ + "shape":"InstanceProfileArn", + "documentation":"

    The Amazon Resource Name (ARN) of the IAM instance profile used to pass an IAM role when launching EC2 instances. The role contained in your instance profile must have pcs:RegisterComputeNodeGroupInstance permissions attached in order to provision instances correctly. The resource identifier of the ARN must start with AWSPCS. For example, arn:aws:iam:123456789012:instance-profile/AWSPCSMyComputeNodeInstanceProfile.

    " + }, + "scalingConfiguration":{ + "shape":"ScalingConfigurationRequest", + "documentation":"

    Specifies the boundaries of the compute node group auto scaling.

    " + }, + "instanceConfigs":{ + "shape":"InstanceList", + "documentation":"

    A list of EC2 instance configurations that Amazon Web Services PCS can provision in the compute node group.

    " + }, + "spotOptions":{"shape":"SpotOptions"}, + "slurmConfiguration":{ + "shape":"ComputeNodeGroupSlurmConfigurationRequest", + "documentation":"

    Additional options related to the Slurm scheduler.

    " + }, + "clientToken":{ + "shape":"SBClientToken", + "documentation":"

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, the subsequent retries with the same client token return the result from the original successful request and they have no additional effect. If you don't specify a client token, the CLI and SDK automatically generate 1 for you.

    ", + "idempotencyToken":true + }, + "tags":{ + "shape":"RequestTagMap", + "documentation":"

    1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string.

    " + } + } + }, + "CreateComputeNodeGroupResponse":{ + "type":"structure", + "members":{ + "computeNodeGroup":{"shape":"ComputeNodeGroup"} + } + }, + "CreateQueueRequest":{ + "type":"structure", + "required":[ + "clusterIdentifier", + "queueName" + ], + "members":{ + "clusterIdentifier":{ + "shape":"ClusterIdentifier", + "documentation":"

    The name or ID of the cluster for which to create a queue.

    " + }, + "queueName":{ + "shape":"QueueName", + "documentation":"

    A name to identify the queue.

    " + }, + "computeNodeGroupConfigurations":{ + "shape":"ComputeNodeGroupConfigurationList", + "documentation":"

    The list of compute node group configurations to associate with the queue. Queues assign jobs to associated compute node groups.

    " + }, + "clientToken":{ + "shape":"SBClientToken", + "documentation":"

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, the subsequent retries with the same client token return the result from the original successful request and they have no additional effect. If you don't specify a client token, the CLI and SDK automatically generate 1 for you.

    ", + "idempotencyToken":true + }, + "tags":{ + "shape":"RequestTagMap", + "documentation":"

    1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string.

    " + } + } + }, + "CreateQueueResponse":{ + "type":"structure", + "members":{ + "queue":{"shape":"Queue"} + } + }, + "CustomLaunchTemplate":{ + "type":"structure", + "required":[ + "id", + "version" + ], + "members":{ + "id":{ + "shape":"String", + "documentation":"

    The ID of the EC2 launch template to use to provision instances.

    Example: lt-xxxx

    " + }, + "version":{ + "shape":"String", + "documentation":"

    The version of the EC2 launch template to use to provision instances.

    " + } + }, + "documentation":"

    An Amazon EC2 launch template Amazon Web Services PCS uses to launch compute nodes.

    " + }, + "DeleteClusterRequest":{ + "type":"structure", + "required":["clusterIdentifier"], + "members":{ + "clusterIdentifier":{ + "shape":"ClusterIdentifier", + "documentation":"

    The name or ID of the cluster to delete.

    " + }, + "clientToken":{ + "shape":"SBClientToken", + "documentation":"

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, the subsequent retries with the same client token return the result from the original successful request and they have no additional effect. If you don't specify a client token, the CLI and SDK automatically generate 1 for you.

    ", + "idempotencyToken":true + } + } + }, + "DeleteClusterResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteComputeNodeGroupRequest":{ + "type":"structure", + "required":[ + "clusterIdentifier", + "computeNodeGroupIdentifier" + ], + "members":{ + "clusterIdentifier":{ + "shape":"ClusterIdentifier", + "documentation":"

    The name or ID of the cluster of the compute node group.

    " + }, + "computeNodeGroupIdentifier":{ + "shape":"ComputeNodeGroupIdentifier", + "documentation":"

    The name or ID of the compute node group to delete.

    " + }, + "clientToken":{ + "shape":"SBClientToken", + "documentation":"

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, the subsequent retries with the same client token return the result from the original successful request and they have no additional effect. If you don't specify a client token, the CLI and SDK automatically generate 1 for you.

    ", + "idempotencyToken":true + } + } + }, + "DeleteComputeNodeGroupResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteQueueRequest":{ + "type":"structure", + "required":[ + "clusterIdentifier", + "queueIdentifier" + ], + "members":{ + "clusterIdentifier":{ + "shape":"ClusterIdentifier", + "documentation":"

    The name or ID of the cluster of the queue.

    " + }, + "queueIdentifier":{ + "shape":"QueueIdentifier", + "documentation":"

    The name or ID of the queue to delete.

    " + }, + "clientToken":{ + "shape":"SBClientToken", + "documentation":"

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, the subsequent retries with the same client token return the result from the original successful request and they have no additional effect. If you don't specify a client token, the CLI and SDK automatically generate 1 for you.

    ", + "idempotencyToken":true + } + } + }, + "DeleteQueueResponse":{ + "type":"structure", + "members":{ + } + }, + "Endpoint":{ + "type":"structure", + "required":[ + "type", + "privateIpAddress", + "port" + ], + "members":{ + "type":{ + "shape":"EndpointType", + "documentation":"

    Indicates the type of endpoint running at the specific IP address.

    " + }, + "privateIpAddress":{ + "shape":"String", + "documentation":"

    The endpoint's private IP address.

    Example: 2.2.2.2

    " + }, + "publicIpAddress":{ + "shape":"String", + "documentation":"

    The endpoint's public IP address.

    Example: 1.1.1.1

    " + }, + "port":{ + "shape":"String", + "documentation":"

    The endpoint's connection port number.

    Example: 1234

    " + } + }, + "documentation":"

    An endpoint available for interaction with the scheduler.

    " + }, + "EndpointType":{ + "type":"string", + "enum":[ + "SLURMCTLD", + "SLURMDBD" + ] + }, + "Endpoints":{ + "type":"list", + "member":{"shape":"Endpoint"} + }, + "ErrorInfo":{ + "type":"structure", + "members":{ + "code":{ + "shape":"String", + "documentation":"

    The short-form error code.

    " + }, + "message":{ + "shape":"String", + "documentation":"

    The detailed error information.

    " + } + }, + "documentation":"

    An error that occurred during resource creation.

    " + }, + "ErrorInfoList":{ + "type":"list", + "member":{"shape":"ErrorInfo"} + }, + "GetClusterRequest":{ + "type":"structure", + "required":["clusterIdentifier"], + "members":{ + "clusterIdentifier":{ + "shape":"ClusterIdentifier", + "documentation":"

    The name or ID of the cluster of the queue.

    " + } + } + }, + "GetClusterResponse":{ + "type":"structure", + "members":{ + "cluster":{ + "shape":"Cluster", + "documentation":"

    The cluster resource.

    " + } + } + }, + "GetComputeNodeGroupRequest":{ + "type":"structure", + "required":[ + "clusterIdentifier", + "computeNodeGroupIdentifier" + ], + "members":{ + "clusterIdentifier":{ + "shape":"ClusterIdentifier", + "documentation":"

    The name or ID of the cluster.

    " + }, + "computeNodeGroupIdentifier":{ + "shape":"ComputeNodeGroupIdentifier", + "documentation":"

    The name or ID of the compute node group.

    " + } + } + }, + "GetComputeNodeGroupResponse":{ + "type":"structure", + "members":{ + "computeNodeGroup":{"shape":"ComputeNodeGroup"} + } + }, + "GetQueueRequest":{ + "type":"structure", + "required":[ + "clusterIdentifier", + "queueIdentifier" + ], + "members":{ + "clusterIdentifier":{ + "shape":"ClusterIdentifier", + "documentation":"

    The name or ID of the cluster of the queue.

    " + }, + "queueIdentifier":{ + "shape":"QueueIdentifier", + "documentation":"

    The name or ID of the queue.

    " + } + } + }, + "GetQueueResponse":{ + "type":"structure", + "members":{ + "queue":{"shape":"Queue"} + } + }, + "InstanceConfig":{ + "type":"structure", + "members":{ + "instanceType":{ + "shape":"String", + "documentation":"

    The EC2 instance type that Amazon Web Services PCS can provision in the compute node group.

    Example: t2.xlarge

    " + } + }, + "documentation":"

    An EC2 instance configuration Amazon Web Services PCS uses to launch compute nodes.

    " + }, + "InstanceList":{ + "type":"list", + "member":{"shape":"InstanceConfig"} + }, + "InstanceProfileArn":{ + "type":"string", + "pattern":"arn:aws([a-zA-Z-]{0,10})?:iam::[0-9]{12}:instance-profile/.{1,128}" + }, + "Integer":{ + "type":"integer", + "box":true + }, + "InternalServerException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

    Amazon Web Services PCS can't process your request right now. Try again later.

    ", + "exception":true, + "fault":true, + "retryable":{"throttling":false} + }, + "ListClustersRequest":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"String", + "documentation":"

    The value of nextToken is a unique pagination token for each page of results returned. If nextToken is returned, there are more results available. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token returns an HTTP 400 InvalidToken error.

    " + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of results that are returned per call. You can use nextToken to obtain further pages of results. The default is 10 results, and the maximum allowed page size is 100 results. A value of 0 uses the default.

    " + } + } + }, + "ListClustersResponse":{ + "type":"structure", + "required":["clusters"], + "members":{ + "clusters":{ + "shape":"ClusterList", + "documentation":"

    The list of clusters.

    " + }, + "nextToken":{ + "shape":"String", + "documentation":"

    The value of nextToken is a unique pagination token for each page of results returned. If nextToken is returned, there are more results available. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token returns an HTTP 400 InvalidToken error.

    " + } + } + }, + "ListComputeNodeGroupsRequest":{ + "type":"structure", + "required":["clusterIdentifier"], + "members":{ + "clusterIdentifier":{ + "shape":"ClusterIdentifier", + "documentation":"

    The name or ID of the cluster to list compute node groups for.

    " + }, + "nextToken":{ + "shape":"String", + "documentation":"

    The value of nextToken is a unique pagination token for each page of results returned. If nextToken is returned, there are more results available. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token returns an HTTP 400 InvalidToken error.

    " + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of results that are returned per call. You can use nextToken to obtain further pages of results. The default is 10 results, and the maximum allowed page size is 100 results. A value of 0 uses the default.

    " + } + } + }, + "ListComputeNodeGroupsResponse":{ + "type":"structure", + "required":["computeNodeGroups"], + "members":{ + "computeNodeGroups":{ + "shape":"ComputeNodeGroupList", + "documentation":"

    The list of compute node groups for the cluster.

    " + }, + "nextToken":{ + "shape":"String", + "documentation":"

    The value of nextToken is a unique pagination token for each page of results returned. If nextToken is returned, there are more results available. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token returns an HTTP 400 InvalidToken error.

    " + } + } + }, + "ListQueuesRequest":{ + "type":"structure", + "required":["clusterIdentifier"], + "members":{ + "clusterIdentifier":{ + "shape":"ClusterIdentifier", + "documentation":"

    The name or ID of the cluster to list queues for.

    " + }, + "nextToken":{ + "shape":"String", + "documentation":"

    The value of nextToken is a unique pagination token for each page of results returned. If nextToken is returned, there are more results available. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token returns an HTTP 400 InvalidToken error.

    " + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of results that are returned per call. You can use nextToken to obtain further pages of results. The default is 10 results, and the maximum allowed page size is 100 results. A value of 0 uses the default.

    " + } + } + }, + "ListQueuesResponse":{ + "type":"structure", + "required":["queues"], + "members":{ + "queues":{ + "shape":"QueueList", + "documentation":"

    The list of queues associated with the cluster.

    " + }, + "nextToken":{ + "shape":"String", + "documentation":"

    The value of nextToken is a unique pagination token for each page of results returned. If nextToken is returned, there are more results available. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token returns an HTTP 400 InvalidToken error.

    " + } + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["resourceArn"], + "members":{ + "resourceArn":{ + "shape":"Arn", + "documentation":"

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

    " + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "tags":{ + "shape":"ResponseTagMap", + "documentation":"

    1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string.

    " + } + } + }, + "MaxResults":{ + "type":"integer", + "box":true, + "max":100, + "min":1 + }, + "Networking":{ + "type":"structure", + "members":{ + "subnetIds":{ + "shape":"SubnetIdList", + "documentation":"

    The ID of the subnet where Amazon Web Services PCS creates an Elastic Network Interface (ENI) to enable communication between managed controllers and Amazon Web Services PCS resources. The subnet must have an available IP address, cannot reside in AWS Outposts, AWS Wavelength, or an AWS Local Zone.

    Example: subnet-abcd1234

    " + }, + "securityGroupIds":{ + "shape":"SecurityGroupIdList", + "documentation":"

    The list of security group IDs associated with the Elastic Network Interface (ENI) created in subnets.

    The following rules are required:

    • Inbound rule 1

      • Protocol: All

      • Ports: All

      • Source: Self

    • Outbound rule 1

      • Protocol: All

      • Ports: All

      • Destination: 0.0.0.0/0 (IPv4)

    • Outbound rule 2

      • Protocol: All

      • Ports: All

      • Destination: Self

    " + } + }, + "documentation":"

    The networking configuration for the cluster's control plane.

    " + }, + "NetworkingRequest":{ + "type":"structure", + "members":{ + "subnetIds":{ + "shape":"SubnetIdList", + "documentation":"

    The list of subnet IDs where Amazon Web Services PCS creates an Elastic Network Interface (ENI) to enable communication between managed controllers and Amazon Web Services PCS resources. Subnet IDs have the form subnet-0123456789abcdef0.

    Subnets can't be in Outposts, Wavelength or an Amazon Web Services Local Zone.

    Amazon Web Services PCS currently supports only 1 subnet in this list.

    " + }, + "securityGroupIds":{ + "shape":"SecurityGroupIdList", + "documentation":"

    A list of security group IDs associated with the Elastic Network Interface (ENI) created in subnets.

    " + } + }, + "documentation":"

    The networking configuration for the cluster's control plane.

    " + }, + "PurchaseOption":{ + "type":"string", + "enum":[ + "ONDEMAND", + "SPOT" + ] + }, + "Queue":{ + "type":"structure", + "required":[ + "name", + "id", + "arn", + "clusterId", + "createdAt", + "modifiedAt", + "status", + "computeNodeGroupConfigurations" + ], + "members":{ + "name":{ + "shape":"QueueName", + "documentation":"

    The name that identifies the queue.

    " + }, + "id":{ + "shape":"String", + "documentation":"

    The generated unique ID of the queue.

    " + }, + "arn":{ + "shape":"String", + "documentation":"

    The unique Amazon Resource Name (ARN) of the queue.

    " + }, + "clusterId":{ + "shape":"String", + "documentation":"

    The ID of the cluster of the queue.

    " + }, + "createdAt":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

    The date and time the resource was created.

    " + }, + "modifiedAt":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

    The date and time the resource was modified.

    " + }, + "status":{ + "shape":"QueueStatus", + "documentation":"

    The provisioning status of the queue.

    The provisioning status doesn't indicate the overall health of the queue.

    " + }, + "computeNodeGroupConfigurations":{ + "shape":"ComputeNodeGroupConfigurationList", + "documentation":"

    The list of compute node group configurations associated with the queue. Queues assign jobs to associated compute node groups.

    " + }, + "errorInfo":{ + "shape":"ErrorInfoList", + "documentation":"

    The list of errors that occurred during queue provisioning.

    " + } + }, + "documentation":"

    A queue resource.

    " + }, + "QueueIdentifier":{ + "type":"string", + "pattern":"(pcs_[a-zA-Z0-9]+|[A-Za-z][A-Za-z0-9-]{1,25})" + }, + "QueueList":{ + "type":"list", + "member":{"shape":"QueueSummary"} + }, + "QueueName":{ + "type":"string", + "max":25, + "min":1, + "pattern":"(?!pcs_)^(?![A-Za-z0-9]{10}$)[A-Za-z][A-Za-z0-9-]+" + }, + "QueueStatus":{ + "type":"string", + "enum":[ + "CREATING", + "ACTIVE", + "UPDATING", + "DELETING", + "CREATE_FAILED", + "DELETE_FAILED", + "UPDATE_FAILED" + ] + }, + "QueueSummary":{ + "type":"structure", + "required":[ + "name", + "id", + "arn", + "clusterId", + "createdAt", + "modifiedAt", + "status" + ], + "members":{ + "name":{ + "shape":"QueueName", + "documentation":"

    The name that identifies the queue.

    " + }, + "id":{ + "shape":"String", + "documentation":"

    The generated unique ID of the queue.

    " + }, + "arn":{ + "shape":"String", + "documentation":"

    The unique Amazon Resource Name (ARN) of the queue.

    " + }, + "clusterId":{ + "shape":"String", + "documentation":"

    The ID of the cluster of the queue.

    " + }, + "createdAt":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

    The date and time the resource was created.

    " + }, + "modifiedAt":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

    The date and time the resource was modified.

    " + }, + "status":{ + "shape":"QueueStatus", + "documentation":"

    The provisioning status of the queue.

    The provisioning status doesn't indicate the overall health of the queue.

    " + } + }, + "documentation":"

    The object returned by the ListQueues API action.

    " + }, + "RegisterComputeNodeGroupInstanceRequest":{ + "type":"structure", + "required":[ + "clusterIdentifier", + "bootstrapId" + ], + "members":{ + "clusterIdentifier":{ + "shape":"ClusterIdentifier", + "documentation":"

    The name or ID of the cluster to register the compute node group instance in.

    " + }, + "bootstrapId":{ + "shape":"BootstrapId", + "documentation":"

    The client-generated token to allow for retries.

    " + } + } + }, + "RegisterComputeNodeGroupInstanceResponse":{ + "type":"structure", + "required":[ + "nodeID", + "sharedSecret", + "endpoints" + ], + "members":{ + "nodeID":{ + "shape":"String", + "documentation":"

    The scheduler node ID for this instance.

    " + }, + "sharedSecret":{ + "shape":"SharedSecret", + "documentation":"

    For the Slurm scheduler, this is the shared Munge key the scheduler uses to authenticate compute node group instances.

    " + }, + "endpoints":{ + "shape":"Endpoints", + "documentation":"

    The list of endpoints available for interaction with the scheduler.

    " + } + } + }, + "RequestTagMap":{ + "type":"map", + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"}, + "max":200, + "min":1 + }, + "ResourceNotFoundException":{ + "type":"structure", + "required":[ + "message", + "resourceId", + "resourceType" + ], + "members":{ + "message":{"shape":"String"}, + "resourceId":{ + "shape":"String", + "documentation":"

    The unique identifier of the resource that was not found.

    " + }, + "resourceType":{ + "shape":"String", + "documentation":"

    The type or category of the resource that was not found.

    " + } + }, + "documentation":"

    The requested resource can't be found. The cluster, node group, or queue you're attempting to get, update, list, or delete doesn't exist.

    Examples

    ", + "exception":true + }, + "ResponseTagMap":{ + "type":"map", + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"} + }, + "SBClientToken":{ + "type":"string", + "max":100, + "min":8 + }, + "ScalingConfiguration":{ + "type":"structure", + "required":[ + "minInstanceCount", + "maxInstanceCount" + ], + "members":{ + "minInstanceCount":{ + "shape":"ScalingConfigurationMinInstanceCountInteger", + "documentation":"

    The lower bound of the number of instances allowed in the compute fleet.

    " + }, + "maxInstanceCount":{ + "shape":"ScalingConfigurationMaxInstanceCountInteger", + "documentation":"

    The upper bound of the number of instances allowed in the compute fleet.

    " + } + }, + "documentation":"

    Specifies the boundaries of the compute node group auto scaling.

    " + }, + "ScalingConfigurationMaxInstanceCountInteger":{ + "type":"integer", + "box":true, + "min":0 + }, + "ScalingConfigurationMinInstanceCountInteger":{ + "type":"integer", + "box":true, + "min":0 + }, + "ScalingConfigurationRequest":{ + "type":"structure", + "required":[ + "minInstanceCount", + "maxInstanceCount" + ], + "members":{ + "minInstanceCount":{ + "shape":"ScalingConfigurationRequestMinInstanceCountInteger", + "documentation":"

    The lower bound of the number of instances allowed in the compute fleet.

    " + }, + "maxInstanceCount":{ + "shape":"ScalingConfigurationRequestMaxInstanceCountInteger", + "documentation":"

    The upper bound of the number of instances allowed in the compute fleet.

    " + } + }, + "documentation":"

    Specifies the boundaries of the compute node group auto scaling.

    " + }, + "ScalingConfigurationRequestMaxInstanceCountInteger":{ + "type":"integer", + "box":true, + "min":0 + }, + "ScalingConfigurationRequestMinInstanceCountInteger":{ + "type":"integer", + "box":true, + "min":0 + }, + "Scheduler":{ + "type":"structure", + "required":[ + "type", + "version" + ], + "members":{ + "type":{ + "shape":"SchedulerType", + "documentation":"

    The software Amazon Web Services PCS uses to manage cluster scaling and job scheduling.

    " + }, + "version":{ + "shape":"String", + "documentation":"

    The version of the specified scheduling software that Amazon Web Services PCS uses to manage cluster scaling and job scheduling.

    " + } + }, + "documentation":"

    The cluster management and job scheduling software associated with the cluster.

    " + }, + "SchedulerRequest":{ + "type":"structure", + "required":[ + "type", + "version" + ], + "members":{ + "type":{ + "shape":"SchedulerType", + "documentation":"

    The software Amazon Web Services PCS uses to manage cluster scaling and job scheduling.

    " + }, + "version":{ + "shape":"String", + "documentation":"

    The version of the specified scheduling software that Amazon Web Services PCS uses to manage cluster scaling and job scheduling.

    " + } + }, + "documentation":"

    The cluster management and job scheduling software associated with the cluster.

    " + }, + "SchedulerType":{ + "type":"string", + "enum":["SLURM"] + }, + "SecurityGroupId":{ + "type":"string", + "pattern":"sg-\\w{8,17}" + }, + "SecurityGroupIdList":{ + "type":"list", + "member":{"shape":"SecurityGroupId"} + }, + "ServiceQuotaExceededException":{ + "type":"structure", + "required":[ + "message", + "serviceCode" + ], + "members":{ + "message":{"shape":"String"}, + "serviceCode":{ + "shape":"String", + "documentation":"

    The service code associated with the quota that was exceeded.

    " + }, + "resourceId":{ + "shape":"String", + "documentation":"

    The unique identifier of the resource that caused the quota to be exceeded.

    " + }, + "resourceType":{ + "shape":"String", + "documentation":"

    The type or category of the resource that caused the quota to be exceeded.

    " + }, + "quotaCode":{ + "shape":"String", + "documentation":"

    The quota code of the service quota that was exceeded.

    " + } + }, + "documentation":"

    You exceeded your service quota. Service quotas, also referred to as limits, are the maximum number of service resources or operations for your Amazon Web Services account. To learn how to increase your service quota, see Requesting a quota increase in the Service Quotas User Guide

    Examples

    • The max number of clusters or queues has been reached for the account.

    • The max number of compute node groups has been reached for the associated cluster.

    • The total of maxInstances across all compute node groups has been reached for associated cluster.

    ", + "exception":true + }, + "SharedSecret":{ + "type":"string", + "sensitive":true + }, + "Size":{ + "type":"string", + "enum":[ + "SMALL", + "MEDIUM", + "LARGE" + ] + }, + "SlurmAuthKey":{ + "type":"structure", + "required":[ + "secretArn", + "secretVersion" + ], + "members":{ + "secretArn":{ + "shape":"String", + "documentation":"

    The Amazon Resource Name (ARN) of the the shared Slurm key.

    " + }, + "secretVersion":{ + "shape":"String", + "documentation":"

    The version of the shared Slurm key.

    " + } + }, + "documentation":"

    The shared Slurm key for authentication, also known as the cluster secret.

    " + }, + "SlurmCustomSetting":{ + "type":"structure", + "required":[ + "parameterName", + "parameterValue" + ], + "members":{ + "parameterName":{ + "shape":"String", + "documentation":"

    Amazon Web Services PCS supports configuration of the following Slurm parameters: Prolog , Epilog , and SelectTypeParameters .

    " + }, + "parameterValue":{ + "shape":"String", + "documentation":"

    The values for the configured Slurm settings.

    " + } + }, + "documentation":"

    Additional settings that directly map to Slurm settings.

    " + }, + "SlurmCustomSettings":{ + "type":"list", + "member":{"shape":"SlurmCustomSetting"} + }, + "SpotAllocationStrategy":{ + "type":"string", + "enum":[ + "lowest-price", + "capacity-optimized", + "price-capacity-optimized" + ] + }, + "SpotOptions":{ + "type":"structure", + "members":{ + "allocationStrategy":{ + "shape":"SpotAllocationStrategy", + "documentation":"

    The Amazon EC2 allocation strategy Amazon Web Services PCS uses to provision EC2 instances. Amazon Web Services PCS supports lowest price, capacity optimized, and price capacity optimized. For more information, see Use allocation strategies to determine how EC2 Fleet or Spot Fleet fulfills Spot and On-Demand capacity in the Amazon Elastic Compute Cloud User Guide. If you don't provide this option, it defaults to price capacity optimized.

    " + } + }, + "documentation":"

    Additional configuration when you specify SPOT as the purchaseOption for the CreateComputeNodeGroup API action.

    " + }, + "String":{"type":"string"}, + "StringList":{ + "type":"list", + "member":{"shape":"String"} + }, + "SubnetId":{ + "type":"string", + "pattern":"subnet-\\w{8,17}" + }, + "SubnetIdList":{ + "type":"list", + "member":{"shape":"SubnetId"}, + "min":1 + }, + "SyntheticTimestamp_date_time":{ + "type":"timestamp", + "timestampFormat":"iso8601" + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1 + }, + "TagKeys":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":200, + "min":1 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tags" + ], + "members":{ + "resourceArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the resource.

    " + }, + "tags":{ + "shape":"RequestTagMap", + "documentation":"

    1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string.

    " + } + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0 + }, + "ThrottlingException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"}, + "retryAfterSeconds":{ + "shape":"Integer", + "documentation":"

    The number of seconds to wait before retrying the request.

    " + } + }, + "documentation":"

    Your request exceeded a request rate quota. Check the resource's request rate quota and try again.

    ", + "exception":true, + "retryable":{"throttling":false} + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tagKeys" + ], + "members":{ + "resourceArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the resource.

    " + }, + "tagKeys":{ + "shape":"TagKeys", + "documentation":"

    1 or more tag keys to remove from the resource. Specify only tag keys and not tag values.

    " + } + } + }, + "UpdateComputeNodeGroupRequest":{ + "type":"structure", + "required":[ + "clusterIdentifier", + "computeNodeGroupIdentifier" + ], + "members":{ + "clusterIdentifier":{ + "shape":"ClusterIdentifier", + "documentation":"

    The name or ID of the cluster of the compute node group.

    " + }, + "computeNodeGroupIdentifier":{ + "shape":"ComputeNodeGroupIdentifier", + "documentation":"

    The name or ID of the compute node group.

    " + }, + "amiId":{ + "shape":"AmiId", + "documentation":"

    The ID of the Amazon Machine Image (AMI) that Amazon Web Services PCS uses to launch instances. If not provided, Amazon Web Services PCS uses the AMI ID specified in the custom launch template.

    " + }, + "subnetIds":{ + "shape":"StringList", + "documentation":"

    The list of subnet IDs where the compute node group provisions instances. The subnets must be in the same VPC as the cluster.

    " + }, + "customLaunchTemplate":{"shape":"CustomLaunchTemplate"}, + "purchaseOption":{ + "shape":"PurchaseOption", + "documentation":"

    Specifies how EC2 instances are purchased on your behalf. Amazon Web Services PCS supports On-Demand and Spot instances. For more information, see Instance purchasing options in the Amazon Elastic Compute Cloud User Guide. If you don't provide this option, it defaults to On-Demand.

    " + }, + "spotOptions":{"shape":"SpotOptions"}, + "scalingConfiguration":{ + "shape":"ScalingConfigurationRequest", + "documentation":"

    Specifies the boundaries of the compute node group auto scaling.

    " + }, + "iamInstanceProfileArn":{ + "shape":"InstanceProfileArn", + "documentation":"

    The Amazon Resource Name (ARN) of the IAM instance profile used to pass an IAM role when launching EC2 instances. The role contained in your instance profile must have pcs:RegisterComputeNodeGroupInstance permissions attached to provision instances correctly.

    " + }, + "slurmConfiguration":{ + "shape":"UpdateComputeNodeGroupSlurmConfigurationRequest", + "documentation":"

    Additional options related to the Slurm scheduler.

    " + }, + "clientToken":{ + "shape":"SBClientToken", + "documentation":"

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, the subsequent retries with the same client token return the result from the original successful request and they have no additional effect. If you don't specify a client token, the CLI and SDK automatically generate 1 for you.

    ", + "idempotencyToken":true + } + } + }, + "UpdateComputeNodeGroupResponse":{ + "type":"structure", + "members":{ + "computeNodeGroup":{"shape":"ComputeNodeGroup"} + } + }, + "UpdateComputeNodeGroupSlurmConfigurationRequest":{ + "type":"structure", + "members":{ + "slurmCustomSettings":{ + "shape":"SlurmCustomSettings", + "documentation":"

    Additional Slurm-specific configuration that directly maps to Slurm settings.

    " + } + }, + "documentation":"

    Additional options related to the Slurm scheduler.

    " + }, + "UpdateQueueRequest":{ + "type":"structure", + "required":[ + "clusterIdentifier", + "queueIdentifier" + ], + "members":{ + "clusterIdentifier":{ + "shape":"ClusterIdentifier", + "documentation":"

    The name or ID of the cluster of the queue.

    " + }, + "queueIdentifier":{ + "shape":"QueueIdentifier", + "documentation":"

    The name or ID of the queue.

    " + }, + "computeNodeGroupConfigurations":{ + "shape":"ComputeNodeGroupConfigurationList", + "documentation":"

    The list of compute node group configurations to associate with the queue. Queues assign jobs to associated compute node groups.

    " + }, + "clientToken":{ + "shape":"SBClientToken", + "documentation":"

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, the subsequent retries with the same client token return the result from the original successful request and they have no additional effect. If you don't specify a client token, the CLI and SDK automatically generate 1 for you.

    ", + "idempotencyToken":true + } + } + }, + "UpdateQueueResponse":{ + "type":"structure", + "members":{ + "queue":{"shape":"Queue"} + } + }, + "ValidationException":{ + "type":"structure", + "required":[ + "message", + "reason" + ], + "members":{ + "message":{"shape":"String"}, + "reason":{ + "shape":"ValidationExceptionReason", + "documentation":"

    The specific reason or cause of the validation error.

    " + }, + "fieldList":{ + "shape":"ValidationExceptionFieldList", + "documentation":"

    A list of fields or properties that failed validation.

    " + } + }, + "documentation":"

    The request isn't valid.

    Examples

    • Your request contains malformed JSON or unsupported characters.

    • The scheduler version isn't supported.

    • There are networking related errors, such as network validation failure.

    • AMI type is CUSTOM and the launch template doesn't define the AMI ID, or the AMI type is AL2 and the launch template defines the AMI.

    ", + "exception":true + }, + "ValidationExceptionField":{ + "type":"structure", + "required":[ + "name", + "message" + ], + "members":{ + "name":{ + "shape":"String", + "documentation":"

    The name of the exception.

    " + }, + "message":{ + "shape":"String", + "documentation":"

    The message body of the exception.

    " + } + }, + "documentation":"

    Stores information about a field in a request that caused an exception.

    " + }, + "ValidationExceptionFieldList":{ + "type":"list", + "member":{"shape":"ValidationExceptionField"} + }, + "ValidationExceptionReason":{ + "type":"string", + "enum":[ + "unknownOperation", + "cannotParse", + "fieldValidationFailed", + "other" + ] + } + }, + "documentation":"

    Amazon Web Services Parallel Computing Service (Amazon Web Services PCS) is a managed service that makes it easier for you to run and scale your high performance computing (HPC) workloads, and build scientific and engineering models on Amazon Web Services using Slurm. For more information, see the Amazon Web Services Parallel Computing Service User Guide.

    This reference describes the actions and data types of the service management API. You can use the Amazon Web Services SDKs to call the API actions in software, or use the Command Line Interface (CLI) to call the API actions manually. These API actions manage the service through an Amazon Web Services account.

    The API actions operate on Amazon Web Services PCS resources. A resource is an entity in Amazon Web Services that you can work with. Amazon Web Services services create resources when you use the features of the service. Examples of Amazon Web Services PCS resources include clusters, compute node groups, and queues. For more information about resources in Amazon Web Services, see Resource in the Resource Explorer User Guide.

    An Amazon Web Services PCS compute node is an Amazon EC2 instance. You don't launch compute nodes directly. Amazon Web Services PCS uses configuration information that you provide to launch compute nodes in your Amazon Web Services account. You receive billing charges for your running compute nodes. Amazon Web Services PCS automatically terminates your compute nodes when you delete the Amazon Web Services PCS resources related to those compute nodes.

    " +} diff --git a/tools/code-generation/api-descriptions/workspaces-2015-04-08.normal.json b/tools/code-generation/api-descriptions/workspaces-2015-04-08.normal.json index 67fad796ef5..6f0b46e385f 100644 --- a/tools/code-generation/api-descriptions/workspaces-2015-04-08.normal.json +++ b/tools/code-generation/api-descriptions/workspaces-2015-04-08.normal.json @@ -1223,7 +1223,7 @@ }, "input":{"shape":"StartWorkspacesRequest"}, "output":{"shape":"StartWorkspacesResult"}, - "documentation":"

    Starts the specified WorkSpaces.

    You cannot start a WorkSpace unless it has a running mode of AutoStop and a state of STOPPED.

    " + "documentation":"

    Starts the specified WorkSpaces.

    You cannot start a WorkSpace unless it has a running mode of AutoStop or Manual and a state of STOPPED.

    " }, "StartWorkspacesPool":{ "name":"StartWorkspacesPool", @@ -1252,7 +1252,7 @@ }, "input":{"shape":"StopWorkspacesRequest"}, "output":{"shape":"StopWorkspacesResult"}, - "documentation":"

    Stops the specified WorkSpaces.

    You cannot stop a WorkSpace unless it has a running mode of AutoStop and a state of AVAILABLE, IMPAIRED, UNHEALTHY, or ERROR.

    " + "documentation":"

    Stops the specified WorkSpaces.

    You cannot stop a WorkSpace unless it has a running mode of AutoStop or Manual and a state of AVAILABLE, IMPAIRED, UNHEALTHY, or ERROR.

    " }, "StopWorkspacesPool":{ "name":"StopWorkspacesPool", @@ -6757,7 +6757,7 @@ }, "WorkspaceName":{ "shape":"WorkspaceName", - "documentation":"

    The name of the user-decoupled WorkSpace.

    " + "documentation":"

    The name of the user-decoupled WorkSpace.

    WorkspaceName is required if UserName is [UNDEFINED] for user-decoupled WorkSpaces. WorkspaceName is not applicable if UserName is specified for user-assigned WorkSpaces.

    " } }, "documentation":"

    Describes the information used to create a WorkSpace.

    " diff --git a/tools/code-generation/endpoints/pcs-2023-02-10.endpoint-rule-set.json b/tools/code-generation/endpoints/pcs-2023-02-10.endpoint-rule-set.json new file mode 100644 index 00000000000..4da2239d23d --- /dev/null +++ b/tools/code-generation/endpoints/pcs-2023-02-10.endpoint-rule-set.json @@ -0,0 +1,350 @@ +{ + "version": "1.0", + "parameters": { + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + }, + "UseDualStack": { + "builtIn": "AWS::UseDualStack", + "required": true, + "default": false, + "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", + "type": "Boolean" + }, + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://pcs-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + }, + true + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://pcs-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://pcs.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://pcs.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ], + "type": "tree" + } + ] +} \ No newline at end of file diff --git a/tools/code-generation/endpoints/pcs-2023-02-10.endpoint-tests.json b/tools/code-generation/endpoints/pcs-2023-02-10.endpoint-tests.json new file mode 100644 index 00000000000..579a85f57a2 --- /dev/null +++ b/tools/code-generation/endpoints/pcs-2023-02-10.endpoint-tests.json @@ -0,0 +1,314 @@ +{ + "testCases": [ + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://pcs-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://pcs-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://pcs.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://pcs.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://pcs-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://pcs-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://pcs.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://pcs.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://pcs-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://pcs-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://pcs.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://pcs.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://pcs-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://pcs.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://pcs-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://pcs.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips enabled and dualstack disabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "expect": { + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } + } + ], + "version": "1.0" +} \ No newline at end of file