/** * 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 Http { class URI; } //namespace Http namespace IoTWireless { namespace Model { /** */ class UpdateResourceEventConfigurationRequest : public IoTWirelessRequest { public: AWS_IOTWIRELESS_API UpdateResourceEventConfigurationRequest(); // 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 "UpdateResourceEventConfiguration"; } AWS_IOTWIRELESS_API Aws::String SerializePayload() const override; AWS_IOTWIRELESS_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; /** *

Resource identifier to opt in for event messaging.

*/ inline const Aws::String& GetIdentifier() const{ return m_identifier; } /** *

Resource identifier to opt in for event messaging.

*/ inline bool IdentifierHasBeenSet() const { return m_identifierHasBeenSet; } /** *

Resource identifier to opt in for event messaging.

*/ inline void SetIdentifier(const Aws::String& value) { m_identifierHasBeenSet = true; m_identifier = value; } /** *

Resource identifier to opt in for event messaging.

*/ inline void SetIdentifier(Aws::String&& value) { m_identifierHasBeenSet = true; m_identifier = std::move(value); } /** *

Resource identifier to opt in for event messaging.

*/ inline void SetIdentifier(const char* value) { m_identifierHasBeenSet = true; m_identifier.assign(value); } /** *

Resource identifier to opt in for event messaging.

*/ inline UpdateResourceEventConfigurationRequest& WithIdentifier(const Aws::String& value) { SetIdentifier(value); return *this;} /** *

Resource identifier to opt in for event messaging.

*/ inline UpdateResourceEventConfigurationRequest& WithIdentifier(Aws::String&& value) { SetIdentifier(std::move(value)); return *this;} /** *

Resource identifier to opt in for event messaging.

*/ inline UpdateResourceEventConfigurationRequest& WithIdentifier(const char* value) { SetIdentifier(value); return *this;} /** *

Identifier type of the particular resource identifier for event * configuration.

*/ inline const IdentifierType& GetIdentifierType() const{ return m_identifierType; } /** *

Identifier type of the particular resource identifier for event * configuration.

*/ inline bool IdentifierTypeHasBeenSet() const { return m_identifierTypeHasBeenSet; } /** *

Identifier type of the particular resource identifier for event * configuration.

*/ inline void SetIdentifierType(const IdentifierType& value) { m_identifierTypeHasBeenSet = true; m_identifierType = value; } /** *

Identifier type of the particular resource identifier for event * configuration.

*/ inline void SetIdentifierType(IdentifierType&& value) { m_identifierTypeHasBeenSet = true; m_identifierType = std::move(value); } /** *

Identifier type of the particular resource identifier for event * configuration.

*/ inline UpdateResourceEventConfigurationRequest& WithIdentifierType(const IdentifierType& value) { SetIdentifierType(value); return *this;} /** *

Identifier type of the particular resource identifier for event * configuration.

*/ inline UpdateResourceEventConfigurationRequest& WithIdentifierType(IdentifierType&& value) { SetIdentifierType(std::move(value)); return *this;} /** *

Partner type of the resource if the identifier type is * PartnerAccountId

*/ inline const EventNotificationPartnerType& GetPartnerType() const{ return m_partnerType; } /** *

Partner type of the resource if the identifier type is * PartnerAccountId

*/ inline bool PartnerTypeHasBeenSet() const { return m_partnerTypeHasBeenSet; } /** *

Partner type of the resource if the identifier type is * PartnerAccountId

*/ inline void SetPartnerType(const EventNotificationPartnerType& value) { m_partnerTypeHasBeenSet = true; m_partnerType = value; } /** *

Partner type of the resource if the identifier type is * PartnerAccountId

*/ inline void SetPartnerType(EventNotificationPartnerType&& value) { m_partnerTypeHasBeenSet = true; m_partnerType = std::move(value); } /** *

Partner type of the resource if the identifier type is * PartnerAccountId

*/ inline UpdateResourceEventConfigurationRequest& WithPartnerType(const EventNotificationPartnerType& value) { SetPartnerType(value); return *this;} /** *

Partner type of the resource if the identifier type is * PartnerAccountId

*/ inline UpdateResourceEventConfigurationRequest& WithPartnerType(EventNotificationPartnerType&& value) { SetPartnerType(std::move(value)); return *this;} /** *

Event configuration for the device registration state event.

*/ inline const DeviceRegistrationStateEventConfiguration& GetDeviceRegistrationState() const{ return m_deviceRegistrationState; } /** *

Event configuration for the device registration state event.

*/ inline bool DeviceRegistrationStateHasBeenSet() const { return m_deviceRegistrationStateHasBeenSet; } /** *

Event configuration for the device registration state event.

*/ inline void SetDeviceRegistrationState(const DeviceRegistrationStateEventConfiguration& value) { m_deviceRegistrationStateHasBeenSet = true; m_deviceRegistrationState = value; } /** *

Event configuration for the device registration state event.

*/ inline void SetDeviceRegistrationState(DeviceRegistrationStateEventConfiguration&& value) { m_deviceRegistrationStateHasBeenSet = true; m_deviceRegistrationState = std::move(value); } /** *

Event configuration for the device registration state event.

*/ inline UpdateResourceEventConfigurationRequest& WithDeviceRegistrationState(const DeviceRegistrationStateEventConfiguration& value) { SetDeviceRegistrationState(value); return *this;} /** *

Event configuration for the device registration state event.

*/ inline UpdateResourceEventConfigurationRequest& WithDeviceRegistrationState(DeviceRegistrationStateEventConfiguration&& value) { SetDeviceRegistrationState(std::move(value)); return *this;} /** *

Event configuration for the proximity event.

*/ inline const ProximityEventConfiguration& GetProximity() const{ return m_proximity; } /** *

Event configuration for the proximity event.

*/ inline bool ProximityHasBeenSet() const { return m_proximityHasBeenSet; } /** *

Event configuration for the proximity event.

*/ inline void SetProximity(const ProximityEventConfiguration& value) { m_proximityHasBeenSet = true; m_proximity = value; } /** *

Event configuration for the proximity event.

*/ inline void SetProximity(ProximityEventConfiguration&& value) { m_proximityHasBeenSet = true; m_proximity = std::move(value); } /** *

Event configuration for the proximity event.

*/ inline UpdateResourceEventConfigurationRequest& WithProximity(const ProximityEventConfiguration& value) { SetProximity(value); return *this;} /** *

Event configuration for the proximity event.

*/ inline UpdateResourceEventConfigurationRequest& WithProximity(ProximityEventConfiguration&& value) { SetProximity(std::move(value)); return *this;} /** *

Event configuration for the join event.

*/ inline const JoinEventConfiguration& GetJoin() const{ return m_join; } /** *

Event configuration for the join event.

*/ inline bool JoinHasBeenSet() const { return m_joinHasBeenSet; } /** *

Event configuration for the join event.

*/ inline void SetJoin(const JoinEventConfiguration& value) { m_joinHasBeenSet = true; m_join = value; } /** *

Event configuration for the join event.

*/ inline void SetJoin(JoinEventConfiguration&& value) { m_joinHasBeenSet = true; m_join = std::move(value); } /** *

Event configuration for the join event.

*/ inline UpdateResourceEventConfigurationRequest& WithJoin(const JoinEventConfiguration& value) { SetJoin(value); return *this;} /** *

Event configuration for the join event.

*/ inline UpdateResourceEventConfigurationRequest& WithJoin(JoinEventConfiguration&& value) { SetJoin(std::move(value)); return *this;} /** *

Event configuration for the connection status event.

*/ inline const ConnectionStatusEventConfiguration& GetConnectionStatus() const{ return m_connectionStatus; } /** *

Event configuration for the connection status event.

*/ inline bool ConnectionStatusHasBeenSet() const { return m_connectionStatusHasBeenSet; } /** *

Event configuration for the connection status event.

*/ inline void SetConnectionStatus(const ConnectionStatusEventConfiguration& value) { m_connectionStatusHasBeenSet = true; m_connectionStatus = value; } /** *

Event configuration for the connection status event.

*/ inline void SetConnectionStatus(ConnectionStatusEventConfiguration&& value) { m_connectionStatusHasBeenSet = true; m_connectionStatus = std::move(value); } /** *

Event configuration for the connection status event.

*/ inline UpdateResourceEventConfigurationRequest& WithConnectionStatus(const ConnectionStatusEventConfiguration& value) { SetConnectionStatus(value); return *this;} /** *

Event configuration for the connection status event.

*/ inline UpdateResourceEventConfigurationRequest& WithConnectionStatus(ConnectionStatusEventConfiguration&& value) { SetConnectionStatus(std::move(value)); return *this;} /** *

Event configuration for the message delivery status event.

*/ inline const MessageDeliveryStatusEventConfiguration& GetMessageDeliveryStatus() const{ return m_messageDeliveryStatus; } /** *

Event configuration for the message delivery status event.

*/ inline bool MessageDeliveryStatusHasBeenSet() const { return m_messageDeliveryStatusHasBeenSet; } /** *

Event configuration for the message delivery status event.

*/ inline void SetMessageDeliveryStatus(const MessageDeliveryStatusEventConfiguration& value) { m_messageDeliveryStatusHasBeenSet = true; m_messageDeliveryStatus = value; } /** *

Event configuration for the message delivery status event.

*/ inline void SetMessageDeliveryStatus(MessageDeliveryStatusEventConfiguration&& value) { m_messageDeliveryStatusHasBeenSet = true; m_messageDeliveryStatus = std::move(value); } /** *

Event configuration for the message delivery status event.

*/ inline UpdateResourceEventConfigurationRequest& WithMessageDeliveryStatus(const MessageDeliveryStatusEventConfiguration& value) { SetMessageDeliveryStatus(value); return *this;} /** *

Event configuration for the message delivery status event.

*/ inline UpdateResourceEventConfigurationRequest& WithMessageDeliveryStatus(MessageDeliveryStatusEventConfiguration&& value) { SetMessageDeliveryStatus(std::move(value)); return *this;} private: Aws::String m_identifier; bool m_identifierHasBeenSet = false; IdentifierType m_identifierType; bool m_identifierTypeHasBeenSet = false; EventNotificationPartnerType m_partnerType; bool m_partnerTypeHasBeenSet = false; DeviceRegistrationStateEventConfiguration m_deviceRegistrationState; bool m_deviceRegistrationStateHasBeenSet = false; ProximityEventConfiguration m_proximity; bool m_proximityHasBeenSet = false; JoinEventConfiguration m_join; bool m_joinHasBeenSet = false; ConnectionStatusEventConfiguration m_connectionStatus; bool m_connectionStatusHasBeenSet = false; MessageDeliveryStatusEventConfiguration m_messageDeliveryStatus; bool m_messageDeliveryStatusHasBeenSet = false; }; } // namespace Model } // namespace IoTWireless } // namespace Aws