AWS SDK for C++

AWS SDK for C++ Version 1.11.929

Loading...
Searching...
No Matches
Principal.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/crt/cbor/Cbor.h>
9#include <aws/servicecatalog/ServiceCatalog_EXPORTS.h>
10#include <aws/servicecatalog/model/PrincipalType.h>
11
12#include <utility>
13
14namespace Aws {
15namespace Utils {
16namespace Cbor {
17class CborValue;
18} // namespace Cbor
19} // namespace Utils
20namespace ServiceCatalog {
21namespace Model {
22
28class Principal {
29 public:
30 AWS_SERVICECATALOG_API Principal() = default;
31 AWS_SERVICECATALOG_API Principal(const std::shared_ptr<Aws::Crt::Cbor::CborDecoder>& decoder);
32 AWS_SERVICECATALOG_API Principal& operator=(const std::shared_ptr<Aws::Crt::Cbor::CborDecoder>& decoder);
33 AWS_SERVICECATALOG_API void CborEncode(Aws::Crt::Cbor::CborEncoder& encoder) const;
34
36
44 inline const Aws::String& GetPrincipalARN() const { return m_principalARN; }
45 inline bool PrincipalARNHasBeenSet() const { return m_principalARNHasBeenSet; }
46 template <typename PrincipalARNT = Aws::String>
47 void SetPrincipalARN(PrincipalARNT&& value) {
48 m_principalARNHasBeenSet = true;
49 m_principalARN = std::forward<PrincipalARNT>(value);
50 }
51 template <typename PrincipalARNT = Aws::String>
52 Principal& WithPrincipalARN(PrincipalARNT&& value) {
53 SetPrincipalARN(std::forward<PrincipalARNT>(value));
54 return *this;
55 }
57
59
64 inline PrincipalType GetPrincipalType() const { return m_principalType; }
65 inline bool PrincipalTypeHasBeenSet() const { return m_principalTypeHasBeenSet; }
66 inline void SetPrincipalType(PrincipalType value) {
67 m_principalTypeHasBeenSet = true;
68 m_principalType = value;
69 }
71 SetPrincipalType(value);
72 return *this;
73 }
75 private:
76 Aws::String m_principalARN;
77
79 bool m_principalARNHasBeenSet = false;
80 bool m_principalTypeHasBeenSet = false;
81};
82
83} // namespace Model
84} // namespace ServiceCatalog
85} // namespace Aws
AWS_SERVICECATALOG_API void CborEncode(Aws::Crt::Cbor::CborEncoder &encoder) const
void SetPrincipalARN(PrincipalARNT &&value)
Definition Principal.h:47
AWS_SERVICECATALOG_API Principal(const std::shared_ptr< Aws::Crt::Cbor::CborDecoder > &decoder)
Principal & WithPrincipalARN(PrincipalARNT &&value)
Definition Principal.h:52
Principal & WithPrincipalType(PrincipalType value)
Definition Principal.h:70
void SetPrincipalType(PrincipalType value)
Definition Principal.h:66
PrincipalType GetPrincipalType() const
Definition Principal.h:64
AWS_SERVICECATALOG_API Principal()=default
const Aws::String & GetPrincipalARN() const
Definition Principal.h:44
AWS_SERVICECATALOG_API Principal & operator=(const std::shared_ptr< Aws::Crt::Cbor::CborDecoder > &decoder)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String