/** * 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 SsmSap { namespace Model { /** */ class RegisterApplicationRequest : public SsmSapRequest { public: AWS_SSMSAP_API RegisterApplicationRequest(); // 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 "RegisterApplication"; } AWS_SSMSAP_API Aws::String SerializePayload() const override; /** *

The ID of the application.

*/ inline const Aws::String& GetApplicationId() const{ return m_applicationId; } /** *

The ID of the application.

*/ inline bool ApplicationIdHasBeenSet() const { return m_applicationIdHasBeenSet; } /** *

The ID of the application.

*/ inline void SetApplicationId(const Aws::String& value) { m_applicationIdHasBeenSet = true; m_applicationId = value; } /** *

The ID of the application.

*/ inline void SetApplicationId(Aws::String&& value) { m_applicationIdHasBeenSet = true; m_applicationId = std::move(value); } /** *

The ID of the application.

*/ inline void SetApplicationId(const char* value) { m_applicationIdHasBeenSet = true; m_applicationId.assign(value); } /** *

The ID of the application.

*/ inline RegisterApplicationRequest& WithApplicationId(const Aws::String& value) { SetApplicationId(value); return *this;} /** *

The ID of the application.

*/ inline RegisterApplicationRequest& WithApplicationId(Aws::String&& value) { SetApplicationId(std::move(value)); return *this;} /** *

The ID of the application.

*/ inline RegisterApplicationRequest& WithApplicationId(const char* value) { SetApplicationId(value); return *this;} /** *

The type of the application.

*/ inline const ApplicationType& GetApplicationType() const{ return m_applicationType; } /** *

The type of the application.

*/ inline bool ApplicationTypeHasBeenSet() const { return m_applicationTypeHasBeenSet; } /** *

The type of the application.

*/ inline void SetApplicationType(const ApplicationType& value) { m_applicationTypeHasBeenSet = true; m_applicationType = value; } /** *

The type of the application.

*/ inline void SetApplicationType(ApplicationType&& value) { m_applicationTypeHasBeenSet = true; m_applicationType = std::move(value); } /** *

The type of the application.

*/ inline RegisterApplicationRequest& WithApplicationType(const ApplicationType& value) { SetApplicationType(value); return *this;} /** *

The type of the application.

*/ inline RegisterApplicationRequest& WithApplicationType(ApplicationType&& value) { SetApplicationType(std::move(value)); return *this;} /** *

The Amazon EC2 instances on which your SAP application is running.

*/ inline const Aws::Vector& GetInstances() const{ return m_instances; } /** *

The Amazon EC2 instances on which your SAP application is running.

*/ inline bool InstancesHasBeenSet() const { return m_instancesHasBeenSet; } /** *

The Amazon EC2 instances on which your SAP application is running.

*/ inline void SetInstances(const Aws::Vector& value) { m_instancesHasBeenSet = true; m_instances = value; } /** *

The Amazon EC2 instances on which your SAP application is running.

*/ inline void SetInstances(Aws::Vector&& value) { m_instancesHasBeenSet = true; m_instances = std::move(value); } /** *

The Amazon EC2 instances on which your SAP application is running.

*/ inline RegisterApplicationRequest& WithInstances(const Aws::Vector& value) { SetInstances(value); return *this;} /** *

The Amazon EC2 instances on which your SAP application is running.

*/ inline RegisterApplicationRequest& WithInstances(Aws::Vector&& value) { SetInstances(std::move(value)); return *this;} /** *

The Amazon EC2 instances on which your SAP application is running.

*/ inline RegisterApplicationRequest& AddInstances(const Aws::String& value) { m_instancesHasBeenSet = true; m_instances.push_back(value); return *this; } /** *

The Amazon EC2 instances on which your SAP application is running.

*/ inline RegisterApplicationRequest& AddInstances(Aws::String&& value) { m_instancesHasBeenSet = true; m_instances.push_back(std::move(value)); return *this; } /** *

The Amazon EC2 instances on which your SAP application is running.

*/ inline RegisterApplicationRequest& AddInstances(const char* value) { m_instancesHasBeenSet = true; m_instances.push_back(value); return *this; } /** *

The SAP instance number of the application.

*/ inline const Aws::String& GetSapInstanceNumber() const{ return m_sapInstanceNumber; } /** *

The SAP instance number of the application.

*/ inline bool SapInstanceNumberHasBeenSet() const { return m_sapInstanceNumberHasBeenSet; } /** *

The SAP instance number of the application.

*/ inline void SetSapInstanceNumber(const Aws::String& value) { m_sapInstanceNumberHasBeenSet = true; m_sapInstanceNumber = value; } /** *

The SAP instance number of the application.

*/ inline void SetSapInstanceNumber(Aws::String&& value) { m_sapInstanceNumberHasBeenSet = true; m_sapInstanceNumber = std::move(value); } /** *

The SAP instance number of the application.

*/ inline void SetSapInstanceNumber(const char* value) { m_sapInstanceNumberHasBeenSet = true; m_sapInstanceNumber.assign(value); } /** *

The SAP instance number of the application.

*/ inline RegisterApplicationRequest& WithSapInstanceNumber(const Aws::String& value) { SetSapInstanceNumber(value); return *this;} /** *

The SAP instance number of the application.

*/ inline RegisterApplicationRequest& WithSapInstanceNumber(Aws::String&& value) { SetSapInstanceNumber(std::move(value)); return *this;} /** *

The SAP instance number of the application.

*/ inline RegisterApplicationRequest& WithSapInstanceNumber(const char* value) { SetSapInstanceNumber(value); return *this;} /** *

The System ID of the application.

*/ inline const Aws::String& GetSid() const{ return m_sid; } /** *

The System ID of the application.

*/ inline bool SidHasBeenSet() const { return m_sidHasBeenSet; } /** *

The System ID of the application.

*/ inline void SetSid(const Aws::String& value) { m_sidHasBeenSet = true; m_sid = value; } /** *

The System ID of the application.

*/ inline void SetSid(Aws::String&& value) { m_sidHasBeenSet = true; m_sid = std::move(value); } /** *

The System ID of the application.

*/ inline void SetSid(const char* value) { m_sidHasBeenSet = true; m_sid.assign(value); } /** *

The System ID of the application.

*/ inline RegisterApplicationRequest& WithSid(const Aws::String& value) { SetSid(value); return *this;} /** *

The System ID of the application.

*/ inline RegisterApplicationRequest& WithSid(Aws::String&& value) { SetSid(std::move(value)); return *this;} /** *

The System ID of the application.

*/ inline RegisterApplicationRequest& WithSid(const char* value) { SetSid(value); return *this;} /** *

The tags to be attached to the SAP application.

*/ inline const Aws::Map& GetTags() const{ return m_tags; } /** *

The tags to be attached to the SAP application.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

The tags to be attached to the SAP application.

*/ inline void SetTags(const Aws::Map& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

The tags to be attached to the SAP application.

*/ inline void SetTags(Aws::Map&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

The tags to be attached to the SAP application.

*/ inline RegisterApplicationRequest& WithTags(const Aws::Map& value) { SetTags(value); return *this;} /** *

The tags to be attached to the SAP application.

*/ inline RegisterApplicationRequest& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} /** *

The tags to be attached to the SAP application.

*/ inline RegisterApplicationRequest& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *

The tags to be attached to the SAP application.

*/ inline RegisterApplicationRequest& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *

The tags to be attached to the SAP application.

*/ inline RegisterApplicationRequest& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *

The tags to be attached to the SAP application.

*/ inline RegisterApplicationRequest& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } /** *

The tags to be attached to the SAP application.

*/ inline RegisterApplicationRequest& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *

The tags to be attached to the SAP application.

*/ inline RegisterApplicationRequest& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *

The tags to be attached to the SAP application.

*/ inline RegisterApplicationRequest& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *

The credentials of the SAP application.

*/ inline const Aws::Vector& GetCredentials() const{ return m_credentials; } /** *

The credentials of the SAP application.

*/ inline bool CredentialsHasBeenSet() const { return m_credentialsHasBeenSet; } /** *

The credentials of the SAP application.

*/ inline void SetCredentials(const Aws::Vector& value) { m_credentialsHasBeenSet = true; m_credentials = value; } /** *

The credentials of the SAP application.

*/ inline void SetCredentials(Aws::Vector&& value) { m_credentialsHasBeenSet = true; m_credentials = std::move(value); } /** *

The credentials of the SAP application.

*/ inline RegisterApplicationRequest& WithCredentials(const Aws::Vector& value) { SetCredentials(value); return *this;} /** *

The credentials of the SAP application.

*/ inline RegisterApplicationRequest& WithCredentials(Aws::Vector&& value) { SetCredentials(std::move(value)); return *this;} /** *

The credentials of the SAP application.

*/ inline RegisterApplicationRequest& AddCredentials(const ApplicationCredential& value) { m_credentialsHasBeenSet = true; m_credentials.push_back(value); return *this; } /** *

The credentials of the SAP application.

*/ inline RegisterApplicationRequest& AddCredentials(ApplicationCredential&& value) { m_credentialsHasBeenSet = true; m_credentials.push_back(std::move(value)); return *this; } private: Aws::String m_applicationId; bool m_applicationIdHasBeenSet = false; ApplicationType m_applicationType; bool m_applicationTypeHasBeenSet = false; Aws::Vector m_instances; bool m_instancesHasBeenSet = false; Aws::String m_sapInstanceNumber; bool m_sapInstanceNumberHasBeenSet = false; Aws::String m_sid; bool m_sidHasBeenSet = false; Aws::Map m_tags; bool m_tagsHasBeenSet = false; Aws::Vector m_credentials; bool m_credentialsHasBeenSet = false; }; } // namespace Model } // namespace SsmSap } // namespace Aws