/** * 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 Lightsail { namespace Model { /** */ class DeleteContactMethodRequest : public LightsailRequest { public: AWS_LIGHTSAIL_API DeleteContactMethodRequest(); // 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 "DeleteContactMethod"; } AWS_LIGHTSAIL_API Aws::String SerializePayload() const override; AWS_LIGHTSAIL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The protocol that will be deleted, such as Email or * SMS (text messaging).

To delete an Email * and an SMS contact method if you added both, you must run separate * DeleteContactMethod actions to delete each protocol.

*/ inline const ContactProtocol& GetProtocol() const{ return m_protocol; } /** *

The protocol that will be deleted, such as Email or * SMS (text messaging).

To delete an Email * and an SMS contact method if you added both, you must run separate * DeleteContactMethod actions to delete each protocol.

*/ inline bool ProtocolHasBeenSet() const { return m_protocolHasBeenSet; } /** *

The protocol that will be deleted, such as Email or * SMS (text messaging).

To delete an Email * and an SMS contact method if you added both, you must run separate * DeleteContactMethod actions to delete each protocol.

*/ inline void SetProtocol(const ContactProtocol& value) { m_protocolHasBeenSet = true; m_protocol = value; } /** *

The protocol that will be deleted, such as Email or * SMS (text messaging).

To delete an Email * and an SMS contact method if you added both, you must run separate * DeleteContactMethod actions to delete each protocol.

*/ inline void SetProtocol(ContactProtocol&& value) { m_protocolHasBeenSet = true; m_protocol = std::move(value); } /** *

The protocol that will be deleted, such as Email or * SMS (text messaging).

To delete an Email * and an SMS contact method if you added both, you must run separate * DeleteContactMethod actions to delete each protocol.

*/ inline DeleteContactMethodRequest& WithProtocol(const ContactProtocol& value) { SetProtocol(value); return *this;} /** *

The protocol that will be deleted, such as Email or * SMS (text messaging).

To delete an Email * and an SMS contact method if you added both, you must run separate * DeleteContactMethod actions to delete each protocol.

*/ inline DeleteContactMethodRequest& WithProtocol(ContactProtocol&& value) { SetProtocol(std::move(value)); return *this;} private: ContactProtocol m_protocol; bool m_protocolHasBeenSet = false; }; } // namespace Model } // namespace Lightsail } // namespace Aws