AWS SDK for C++

AWS SDK for C++ Version 1.11.752

Loading...
Searching...
No Matches
GrpcGatewayRouteMatch.h
1
6#pragma once
7#include <aws/appmesh/AppMesh_EXPORTS.h>
8#include <aws/appmesh/model/GatewayRouteHostnameMatch.h>
9#include <aws/appmesh/model/GrpcGatewayRouteMetadata.h>
10#include <aws/core/utils/memory/stl/AWSString.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12
13#include <utility>
14
15namespace Aws {
16namespace Utils {
17namespace Json {
18class JsonValue;
19class JsonView;
20} // namespace Json
21} // namespace Utils
22namespace AppMesh {
23namespace Model {
24
32 public:
33 AWS_APPMESH_API GrpcGatewayRouteMatch() = default;
36 AWS_APPMESH_API Aws::Utils::Json::JsonValue Jsonize() const;
37
39
42 inline const GatewayRouteHostnameMatch& GetHostname() const { return m_hostname; }
43 inline bool HostnameHasBeenSet() const { return m_hostnameHasBeenSet; }
44 template <typename HostnameT = GatewayRouteHostnameMatch>
45 void SetHostname(HostnameT&& value) {
46 m_hostnameHasBeenSet = true;
47 m_hostname = std::forward<HostnameT>(value);
48 }
49 template <typename HostnameT = GatewayRouteHostnameMatch>
50 GrpcGatewayRouteMatch& WithHostname(HostnameT&& value) {
51 SetHostname(std::forward<HostnameT>(value));
52 return *this;
53 }
55
57
60 inline const Aws::Vector<GrpcGatewayRouteMetadata>& GetMetadata() const { return m_metadata; }
61 inline bool MetadataHasBeenSet() const { return m_metadataHasBeenSet; }
62 template <typename MetadataT = Aws::Vector<GrpcGatewayRouteMetadata>>
63 void SetMetadata(MetadataT&& value) {
64 m_metadataHasBeenSet = true;
65 m_metadata = std::forward<MetadataT>(value);
66 }
67 template <typename MetadataT = Aws::Vector<GrpcGatewayRouteMetadata>>
68 GrpcGatewayRouteMatch& WithMetadata(MetadataT&& value) {
69 SetMetadata(std::forward<MetadataT>(value));
70 return *this;
71 }
72 template <typename MetadataT = GrpcGatewayRouteMetadata>
73 GrpcGatewayRouteMatch& AddMetadata(MetadataT&& value) {
74 m_metadataHasBeenSet = true;
75 m_metadata.emplace_back(std::forward<MetadataT>(value));
76 return *this;
77 }
79
81
84 inline int GetPort() const { return m_port; }
85 inline bool PortHasBeenSet() const { return m_portHasBeenSet; }
86 inline void SetPort(int value) {
87 m_portHasBeenSet = true;
88 m_port = value;
89 }
90 inline GrpcGatewayRouteMatch& WithPort(int value) {
91 SetPort(value);
92 return *this;
93 }
95
97
101 inline const Aws::String& GetServiceName() const { return m_serviceName; }
102 inline bool ServiceNameHasBeenSet() const { return m_serviceNameHasBeenSet; }
103 template <typename ServiceNameT = Aws::String>
104 void SetServiceName(ServiceNameT&& value) {
105 m_serviceNameHasBeenSet = true;
106 m_serviceName = std::forward<ServiceNameT>(value);
107 }
108 template <typename ServiceNameT = Aws::String>
109 GrpcGatewayRouteMatch& WithServiceName(ServiceNameT&& value) {
110 SetServiceName(std::forward<ServiceNameT>(value));
111 return *this;
112 }
114 private:
115 GatewayRouteHostnameMatch m_hostname;
116
118
119 int m_port{0};
120
121 Aws::String m_serviceName;
122 bool m_hostnameHasBeenSet = false;
123 bool m_metadataHasBeenSet = false;
124 bool m_portHasBeenSet = false;
125 bool m_serviceNameHasBeenSet = false;
126};
127
128} // namespace Model
129} // namespace AppMesh
130} // namespace Aws
const GatewayRouteHostnameMatch & GetHostname() const
AWS_APPMESH_API GrpcGatewayRouteMatch()=default
AWS_APPMESH_API Aws::Utils::Json::JsonValue Jsonize() const
GrpcGatewayRouteMatch & WithServiceName(ServiceNameT &&value)
const Aws::Vector< GrpcGatewayRouteMetadata > & GetMetadata() const
GrpcGatewayRouteMatch & WithPort(int value)
AWS_APPMESH_API GrpcGatewayRouteMatch & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_APPMESH_API GrpcGatewayRouteMatch(Aws::Utils::Json::JsonView jsonValue)
GrpcGatewayRouteMatch & WithMetadata(MetadataT &&value)
GrpcGatewayRouteMatch & AddMetadata(MetadataT &&value)
GrpcGatewayRouteMatch & WithHostname(HostnameT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue