AWS SDK for C++

AWS SDK for C++ Version 1.11.748

Loading...
Searching...
No Matches
GrpcRouteMatch.h
1
6#pragma once
7#include <aws/appmesh/AppMesh_EXPORTS.h>
8#include <aws/appmesh/model/GrpcRouteMetadata.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11
12#include <utility>
13
14namespace Aws {
15namespace Utils {
16namespace Json {
17class JsonValue;
18class JsonView;
19} // namespace Json
20} // namespace Utils
21namespace AppMesh {
22namespace Model {
23
31 public:
32 AWS_APPMESH_API GrpcRouteMatch() = default;
33 AWS_APPMESH_API GrpcRouteMatch(Aws::Utils::Json::JsonView jsonValue);
35 AWS_APPMESH_API Aws::Utils::Json::JsonValue Jsonize() const;
36
38
41 inline const Aws::Vector<GrpcRouteMetadata>& GetMetadata() const { return m_metadata; }
42 inline bool MetadataHasBeenSet() const { return m_metadataHasBeenSet; }
43 template <typename MetadataT = Aws::Vector<GrpcRouteMetadata>>
44 void SetMetadata(MetadataT&& value) {
45 m_metadataHasBeenSet = true;
46 m_metadata = std::forward<MetadataT>(value);
47 }
48 template <typename MetadataT = Aws::Vector<GrpcRouteMetadata>>
49 GrpcRouteMatch& WithMetadata(MetadataT&& value) {
50 SetMetadata(std::forward<MetadataT>(value));
51 return *this;
52 }
53 template <typename MetadataT = GrpcRouteMetadata>
54 GrpcRouteMatch& AddMetadata(MetadataT&& value) {
55 m_metadataHasBeenSet = true;
56 m_metadata.emplace_back(std::forward<MetadataT>(value));
57 return *this;
58 }
60
62
66 inline const Aws::String& GetMethodName() const { return m_methodName; }
67 inline bool MethodNameHasBeenSet() const { return m_methodNameHasBeenSet; }
68 template <typename MethodNameT = Aws::String>
69 void SetMethodName(MethodNameT&& value) {
70 m_methodNameHasBeenSet = true;
71 m_methodName = std::forward<MethodNameT>(value);
72 }
73 template <typename MethodNameT = Aws::String>
74 GrpcRouteMatch& WithMethodName(MethodNameT&& value) {
75 SetMethodName(std::forward<MethodNameT>(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 GrpcRouteMatch& 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 GrpcRouteMatch& WithServiceName(ServiceNameT&& value) {
110 SetServiceName(std::forward<ServiceNameT>(value));
111 return *this;
112 }
114 private:
116
117 Aws::String m_methodName;
118
119 int m_port{0};
120
121 Aws::String m_serviceName;
122 bool m_metadataHasBeenSet = false;
123 bool m_methodNameHasBeenSet = false;
124 bool m_portHasBeenSet = false;
125 bool m_serviceNameHasBeenSet = false;
126};
127
128} // namespace Model
129} // namespace AppMesh
130} // namespace Aws
void SetMethodName(MethodNameT &&value)
AWS_APPMESH_API GrpcRouteMatch & operator=(Aws::Utils::Json::JsonView jsonValue)
GrpcRouteMatch & WithMethodName(MethodNameT &&value)
const Aws::String & GetMethodName() const
AWS_APPMESH_API GrpcRouteMatch(Aws::Utils::Json::JsonView jsonValue)
GrpcRouteMatch & AddMetadata(MetadataT &&value)
GrpcRouteMatch & WithServiceName(ServiceNameT &&value)
GrpcRouteMatch & WithMetadata(MetadataT &&value)
void SetServiceName(ServiceNameT &&value)
AWS_APPMESH_API Aws::Utils::Json::JsonValue Jsonize() const
const Aws::String & GetServiceName() const
const Aws::Vector< GrpcRouteMetadata > & GetMetadata() const
GrpcRouteMatch & WithPort(int value)
AWS_APPMESH_API GrpcRouteMatch()=default
void SetMetadata(MetadataT &&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