/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include An object that represents the requirements for a route to match HTTP requests
* for a virtual router.See Also:
AWS
* API Reference
The client request headers to match on.
*/ inline const Aws::VectorThe client request headers to match on.
*/ inline bool HeadersHasBeenSet() const { return m_headersHasBeenSet; } /** *The client request headers to match on.
*/ inline void SetHeaders(const Aws::VectorThe client request headers to match on.
*/ inline void SetHeaders(Aws::VectorThe client request headers to match on.
*/ inline HttpRouteMatch& WithHeaders(const Aws::VectorThe client request headers to match on.
*/ inline HttpRouteMatch& WithHeaders(Aws::VectorThe client request headers to match on.
*/ inline HttpRouteMatch& AddHeaders(const HttpRouteHeader& value) { m_headersHasBeenSet = true; m_headers.push_back(value); return *this; } /** *The client request headers to match on.
*/ inline HttpRouteMatch& AddHeaders(HttpRouteHeader&& value) { m_headersHasBeenSet = true; m_headers.push_back(std::move(value)); return *this; } /** *The client request method to match on. Specify only one.
*/ inline const HttpMethod& GetMethod() const{ return m_method; } /** *The client request method to match on. Specify only one.
*/ inline bool MethodHasBeenSet() const { return m_methodHasBeenSet; } /** *The client request method to match on. Specify only one.
*/ inline void SetMethod(const HttpMethod& value) { m_methodHasBeenSet = true; m_method = value; } /** *The client request method to match on. Specify only one.
*/ inline void SetMethod(HttpMethod&& value) { m_methodHasBeenSet = true; m_method = std::move(value); } /** *The client request method to match on. Specify only one.
*/ inline HttpRouteMatch& WithMethod(const HttpMethod& value) { SetMethod(value); return *this;} /** *The client request method to match on. Specify only one.
*/ inline HttpRouteMatch& WithMethod(HttpMethod&& value) { SetMethod(std::move(value)); return *this;} /** *The client request path to match on.
*/ inline const HttpPathMatch& GetPath() const{ return m_path; } /** *The client request path to match on.
*/ inline bool PathHasBeenSet() const { return m_pathHasBeenSet; } /** *The client request path to match on.
*/ inline void SetPath(const HttpPathMatch& value) { m_pathHasBeenSet = true; m_path = value; } /** *The client request path to match on.
*/ inline void SetPath(HttpPathMatch&& value) { m_pathHasBeenSet = true; m_path = std::move(value); } /** *The client request path to match on.
*/ inline HttpRouteMatch& WithPath(const HttpPathMatch& value) { SetPath(value); return *this;} /** *The client request path to match on.
*/ inline HttpRouteMatch& WithPath(HttpPathMatch&& value) { SetPath(std::move(value)); return *this;} /** *The port number to match on.
*/ inline int GetPort() const{ return m_port; } /** *The port number to match on.
*/ inline bool PortHasBeenSet() const { return m_portHasBeenSet; } /** *The port number to match on.
*/ inline void SetPort(int value) { m_portHasBeenSet = true; m_port = value; } /** *The port number to match on.
*/ inline HttpRouteMatch& WithPort(int value) { SetPort(value); return *this;} /** *Specifies the path to match requests with. This parameter must always start
* with /
, which by itself matches all requests to the virtual service
* name. You can also match for path-based routing of requests. For example, if
* your virtual service name is my-service.local
and you want the
* route to match requests to my-service.local/metrics
, your prefix
* should be /metrics
.
Specifies the path to match requests with. This parameter must always start
* with /
, which by itself matches all requests to the virtual service
* name. You can also match for path-based routing of requests. For example, if
* your virtual service name is my-service.local
and you want the
* route to match requests to my-service.local/metrics
, your prefix
* should be /metrics
.
Specifies the path to match requests with. This parameter must always start
* with /
, which by itself matches all requests to the virtual service
* name. You can also match for path-based routing of requests. For example, if
* your virtual service name is my-service.local
and you want the
* route to match requests to my-service.local/metrics
, your prefix
* should be /metrics
.
Specifies the path to match requests with. This parameter must always start
* with /
, which by itself matches all requests to the virtual service
* name. You can also match for path-based routing of requests. For example, if
* your virtual service name is my-service.local
and you want the
* route to match requests to my-service.local/metrics
, your prefix
* should be /metrics
.
Specifies the path to match requests with. This parameter must always start
* with /
, which by itself matches all requests to the virtual service
* name. You can also match for path-based routing of requests. For example, if
* your virtual service name is my-service.local
and you want the
* route to match requests to my-service.local/metrics
, your prefix
* should be /metrics
.
Specifies the path to match requests with. This parameter must always start
* with /
, which by itself matches all requests to the virtual service
* name. You can also match for path-based routing of requests. For example, if
* your virtual service name is my-service.local
and you want the
* route to match requests to my-service.local/metrics
, your prefix
* should be /metrics
.
Specifies the path to match requests with. This parameter must always start
* with /
, which by itself matches all requests to the virtual service
* name. You can also match for path-based routing of requests. For example, if
* your virtual service name is my-service.local
and you want the
* route to match requests to my-service.local/metrics
, your prefix
* should be /metrics
.
Specifies the path to match requests with. This parameter must always start
* with /
, which by itself matches all requests to the virtual service
* name. You can also match for path-based routing of requests. For example, if
* your virtual service name is my-service.local
and you want the
* route to match requests to my-service.local/metrics
, your prefix
* should be /metrics
.
The client request query parameters to match on.
*/ inline const Aws::VectorThe client request query parameters to match on.
*/ inline bool QueryParametersHasBeenSet() const { return m_queryParametersHasBeenSet; } /** *The client request query parameters to match on.
*/ inline void SetQueryParameters(const Aws::VectorThe client request query parameters to match on.
*/ inline void SetQueryParameters(Aws::VectorThe client request query parameters to match on.
*/ inline HttpRouteMatch& WithQueryParameters(const Aws::VectorThe client request query parameters to match on.
*/ inline HttpRouteMatch& WithQueryParameters(Aws::VectorThe client request query parameters to match on.
*/ inline HttpRouteMatch& AddQueryParameters(const HttpQueryParameter& value) { m_queryParametersHasBeenSet = true; m_queryParameters.push_back(value); return *this; } /** *The client request query parameters to match on.
*/ inline HttpRouteMatch& AddQueryParameters(HttpQueryParameter&& value) { m_queryParametersHasBeenSet = true; m_queryParameters.push_back(std::move(value)); return *this; } /** *The client request scheme to match on. Specify only one. Applicable only for * HTTP2 routes.
*/ inline const HttpScheme& GetScheme() const{ return m_scheme; } /** *The client request scheme to match on. Specify only one. Applicable only for * HTTP2 routes.
*/ inline bool SchemeHasBeenSet() const { return m_schemeHasBeenSet; } /** *The client request scheme to match on. Specify only one. Applicable only for * HTTP2 routes.
*/ inline void SetScheme(const HttpScheme& value) { m_schemeHasBeenSet = true; m_scheme = value; } /** *The client request scheme to match on. Specify only one. Applicable only for * HTTP2 routes.
*/ inline void SetScheme(HttpScheme&& value) { m_schemeHasBeenSet = true; m_scheme = std::move(value); } /** *The client request scheme to match on. Specify only one. Applicable only for * HTTP2 routes.
*/ inline HttpRouteMatch& WithScheme(const HttpScheme& value) { SetScheme(value); return *this;} /** *The client request scheme to match on. Specify only one. Applicable only for * HTTP2 routes.
*/ inline HttpRouteMatch& WithScheme(HttpScheme&& value) { SetScheme(std::move(value)); return *this;} private: Aws::Vector