AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
AvailabilityConfiguration.h
1
6#pragma once
7#include <aws/workmail/WorkMail_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/workmail/model/AvailabilityProviderType.h>
10#include <aws/workmail/model/RedactedEwsAvailabilityProvider.h>
11#include <aws/workmail/model/LambdaAvailabilityProvider.h>
12#include <aws/core/utils/DateTime.h>
13#include <utility>
14
15namespace Aws
16{
17namespace Utils
18{
19namespace Json
20{
21 class JsonValue;
22 class JsonView;
23} // namespace Json
24} // namespace Utils
25namespace WorkMail
26{
27namespace Model
28{
29
37 {
38 public:
39 AWS_WORKMAIL_API AvailabilityConfiguration() = default;
42 AWS_WORKMAIL_API Aws::Utils::Json::JsonValue Jsonize() const;
43
44
46
49 inline const Aws::String& GetDomainName() const { return m_domainName; }
50 inline bool DomainNameHasBeenSet() const { return m_domainNameHasBeenSet; }
51 template<typename DomainNameT = Aws::String>
52 void SetDomainName(DomainNameT&& value) { m_domainNameHasBeenSet = true; m_domainName = std::forward<DomainNameT>(value); }
53 template<typename DomainNameT = Aws::String>
54 AvailabilityConfiguration& WithDomainName(DomainNameT&& value) { SetDomainName(std::forward<DomainNameT>(value)); return *this;}
56
58
61 inline AvailabilityProviderType GetProviderType() const { return m_providerType; }
62 inline bool ProviderTypeHasBeenSet() const { return m_providerTypeHasBeenSet; }
63 inline void SetProviderType(AvailabilityProviderType value) { m_providerTypeHasBeenSet = true; m_providerType = value; }
66
68
72 inline const RedactedEwsAvailabilityProvider& GetEwsProvider() const { return m_ewsProvider; }
73 inline bool EwsProviderHasBeenSet() const { return m_ewsProviderHasBeenSet; }
74 template<typename EwsProviderT = RedactedEwsAvailabilityProvider>
75 void SetEwsProvider(EwsProviderT&& value) { m_ewsProviderHasBeenSet = true; m_ewsProvider = std::forward<EwsProviderT>(value); }
76 template<typename EwsProviderT = RedactedEwsAvailabilityProvider>
77 AvailabilityConfiguration& WithEwsProvider(EwsProviderT&& value) { SetEwsProvider(std::forward<EwsProviderT>(value)); return *this;}
79
81
85 inline const LambdaAvailabilityProvider& GetLambdaProvider() const { return m_lambdaProvider; }
86 inline bool LambdaProviderHasBeenSet() const { return m_lambdaProviderHasBeenSet; }
87 template<typename LambdaProviderT = LambdaAvailabilityProvider>
88 void SetLambdaProvider(LambdaProviderT&& value) { m_lambdaProviderHasBeenSet = true; m_lambdaProvider = std::forward<LambdaProviderT>(value); }
89 template<typename LambdaProviderT = LambdaAvailabilityProvider>
90 AvailabilityConfiguration& WithLambdaProvider(LambdaProviderT&& value) { SetLambdaProvider(std::forward<LambdaProviderT>(value)); return *this;}
92
94
97 inline const Aws::Utils::DateTime& GetDateCreated() const { return m_dateCreated; }
98 inline bool DateCreatedHasBeenSet() const { return m_dateCreatedHasBeenSet; }
99 template<typename DateCreatedT = Aws::Utils::DateTime>
100 void SetDateCreated(DateCreatedT&& value) { m_dateCreatedHasBeenSet = true; m_dateCreated = std::forward<DateCreatedT>(value); }
101 template<typename DateCreatedT = Aws::Utils::DateTime>
102 AvailabilityConfiguration& WithDateCreated(DateCreatedT&& value) { SetDateCreated(std::forward<DateCreatedT>(value)); return *this;}
104
106
110 inline const Aws::Utils::DateTime& GetDateModified() const { return m_dateModified; }
111 inline bool DateModifiedHasBeenSet() const { return m_dateModifiedHasBeenSet; }
112 template<typename DateModifiedT = Aws::Utils::DateTime>
113 void SetDateModified(DateModifiedT&& value) { m_dateModifiedHasBeenSet = true; m_dateModified = std::forward<DateModifiedT>(value); }
114 template<typename DateModifiedT = Aws::Utils::DateTime>
115 AvailabilityConfiguration& WithDateModified(DateModifiedT&& value) { SetDateModified(std::forward<DateModifiedT>(value)); return *this;}
117 private:
118
119 Aws::String m_domainName;
120 bool m_domainNameHasBeenSet = false;
121
123 bool m_providerTypeHasBeenSet = false;
124
125 RedactedEwsAvailabilityProvider m_ewsProvider;
126 bool m_ewsProviderHasBeenSet = false;
127
128 LambdaAvailabilityProvider m_lambdaProvider;
129 bool m_lambdaProviderHasBeenSet = false;
130
131 Aws::Utils::DateTime m_dateCreated{};
132 bool m_dateCreatedHasBeenSet = false;
133
134 Aws::Utils::DateTime m_dateModified{};
135 bool m_dateModifiedHasBeenSet = false;
136 };
137
138} // namespace Model
139} // namespace WorkMail
140} // namespace Aws
AvailabilityConfiguration & WithDomainName(DomainNameT &&value)
AWS_WORKMAIL_API AvailabilityConfiguration & operator=(Aws::Utils::Json::JsonView jsonValue)
const RedactedEwsAvailabilityProvider & GetEwsProvider() const
AWS_WORKMAIL_API AvailabilityConfiguration(Aws::Utils::Json::JsonView jsonValue)
AvailabilityConfiguration & WithEwsProvider(EwsProviderT &&value)
AvailabilityConfiguration & WithLambdaProvider(LambdaProviderT &&value)
void SetProviderType(AvailabilityProviderType value)
const Aws::Utils::DateTime & GetDateCreated() const
AvailabilityConfiguration & WithDateModified(DateModifiedT &&value)
AvailabilityConfiguration & WithDateCreated(DateCreatedT &&value)
const LambdaAvailabilityProvider & GetLambdaProvider() const
AWS_WORKMAIL_API AvailabilityConfiguration()=default
AvailabilityConfiguration & WithProviderType(AvailabilityProviderType value)
AWS_WORKMAIL_API Aws::Utils::Json::JsonValue Jsonize() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Aws::Utils::Json::JsonValue JsonValue