/** * 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 NetworkFirewall { namespace Model { /** *

Provides configuration status for a single policy or rule group that is used * for a firewall endpoint. Network Firewall provides each endpoint with the rules * that are configured in the firewall policy. Each time you add a subnet or modify * the associated firewall policy, Network Firewall synchronizes the rules in the * endpoint, so it can properly filter network traffic. This is part of a * SyncState for a firewall.

See Also:

AWS * API Reference

*/ class PerObjectStatus { public: AWS_NETWORKFIREWALL_API PerObjectStatus(); AWS_NETWORKFIREWALL_API PerObjectStatus(Aws::Utils::Json::JsonView jsonValue); AWS_NETWORKFIREWALL_API PerObjectStatus& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_NETWORKFIREWALL_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

Indicates whether this object is in sync with the version indicated in the * update token.

*/ inline const PerObjectSyncStatus& GetSyncStatus() const{ return m_syncStatus; } /** *

Indicates whether this object is in sync with the version indicated in the * update token.

*/ inline bool SyncStatusHasBeenSet() const { return m_syncStatusHasBeenSet; } /** *

Indicates whether this object is in sync with the version indicated in the * update token.

*/ inline void SetSyncStatus(const PerObjectSyncStatus& value) { m_syncStatusHasBeenSet = true; m_syncStatus = value; } /** *

Indicates whether this object is in sync with the version indicated in the * update token.

*/ inline void SetSyncStatus(PerObjectSyncStatus&& value) { m_syncStatusHasBeenSet = true; m_syncStatus = std::move(value); } /** *

Indicates whether this object is in sync with the version indicated in the * update token.

*/ inline PerObjectStatus& WithSyncStatus(const PerObjectSyncStatus& value) { SetSyncStatus(value); return *this;} /** *

Indicates whether this object is in sync with the version indicated in the * update token.

*/ inline PerObjectStatus& WithSyncStatus(PerObjectSyncStatus&& value) { SetSyncStatus(std::move(value)); return *this;} /** *

The current version of the object that is either in sync or pending * synchronization.

*/ inline const Aws::String& GetUpdateToken() const{ return m_updateToken; } /** *

The current version of the object that is either in sync or pending * synchronization.

*/ inline bool UpdateTokenHasBeenSet() const { return m_updateTokenHasBeenSet; } /** *

The current version of the object that is either in sync or pending * synchronization.

*/ inline void SetUpdateToken(const Aws::String& value) { m_updateTokenHasBeenSet = true; m_updateToken = value; } /** *

The current version of the object that is either in sync or pending * synchronization.

*/ inline void SetUpdateToken(Aws::String&& value) { m_updateTokenHasBeenSet = true; m_updateToken = std::move(value); } /** *

The current version of the object that is either in sync or pending * synchronization.

*/ inline void SetUpdateToken(const char* value) { m_updateTokenHasBeenSet = true; m_updateToken.assign(value); } /** *

The current version of the object that is either in sync or pending * synchronization.

*/ inline PerObjectStatus& WithUpdateToken(const Aws::String& value) { SetUpdateToken(value); return *this;} /** *

The current version of the object that is either in sync or pending * synchronization.

*/ inline PerObjectStatus& WithUpdateToken(Aws::String&& value) { SetUpdateToken(std::move(value)); return *this;} /** *

The current version of the object that is either in sync or pending * synchronization.

*/ inline PerObjectStatus& WithUpdateToken(const char* value) { SetUpdateToken(value); return *this;} private: PerObjectSyncStatus m_syncStatus; bool m_syncStatusHasBeenSet = false; Aws::String m_updateToken; bool m_updateTokenHasBeenSet = false; }; } // namespace Model } // namespace NetworkFirewall } // namespace Aws