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

Describes a rule match.

See Also:

AWS * API Reference

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

The HTTP criteria that a rule must match.

*/ inline const HttpMatch& GetHttpMatch() const{ return m_httpMatch; } /** *

The HTTP criteria that a rule must match.

*/ inline bool HttpMatchHasBeenSet() const { return m_httpMatchHasBeenSet; } /** *

The HTTP criteria that a rule must match.

*/ inline void SetHttpMatch(const HttpMatch& value) { m_httpMatchHasBeenSet = true; m_httpMatch = value; } /** *

The HTTP criteria that a rule must match.

*/ inline void SetHttpMatch(HttpMatch&& value) { m_httpMatchHasBeenSet = true; m_httpMatch = std::move(value); } /** *

The HTTP criteria that a rule must match.

*/ inline RuleMatch& WithHttpMatch(const HttpMatch& value) { SetHttpMatch(value); return *this;} /** *

The HTTP criteria that a rule must match.

*/ inline RuleMatch& WithHttpMatch(HttpMatch&& value) { SetHttpMatch(std::move(value)); return *this;} private: HttpMatch m_httpMatch; bool m_httpMatchHasBeenSet = false; }; } // namespace Model } // namespace VPCLattice } // namespace Aws