7#include <aws/cloudfront/CloudFront_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/cloudfront/model/CustomHeaders.h>
10#include <aws/cloudfront/model/S3OriginConfig.h>
11#include <aws/cloudfront/model/CustomOriginConfig.h>
12#include <aws/cloudfront/model/VpcOriginConfig.h>
13#include <aws/cloudfront/model/OriginShield.h>
53 AWS_CLOUDFRONT_API
Origin() =
default;
68 template<
typename IdT = Aws::String>
69 void SetId(IdT&& value) { m_idHasBeenSet =
true; m_id = std::forward<IdT>(value); }
70 template<
typename IdT = Aws::String>
82 template<
typename DomainNameT = Aws::String>
83 void SetDomainName(DomainNameT&& value) { m_domainNameHasBeenSet =
true; m_domainName = std::forward<DomainNameT>(value); }
84 template<
typename DomainNameT = Aws::String>
97 template<
typename OriginPathT = Aws::String>
98 void SetOriginPath(OriginPathT&& value) { m_originPathHasBeenSet =
true; m_originPath = std::forward<OriginPathT>(value); }
99 template<
typename OriginPathT = Aws::String>
113 template<
typename CustomHeadersT = CustomHeaders>
114 void SetCustomHeaders(CustomHeadersT&& value) { m_customHeadersHasBeenSet =
true; m_customHeaders = std::forward<CustomHeadersT>(value); }
115 template<
typename CustomHeadersT = CustomHeaders>
128 template<
typename S3OriginConfigT = S3OriginConfig>
129 void SetS3OriginConfig(S3OriginConfigT&& value) { m_s3OriginConfigHasBeenSet =
true; m_s3OriginConfig = std::forward<S3OriginConfigT>(value); }
130 template<
typename S3OriginConfigT = S3OriginConfig>
143 template<
typename CustomOriginConfigT = CustomOriginConfig>
144 void SetCustomOriginConfig(CustomOriginConfigT&& value) { m_customOriginConfigHasBeenSet =
true; m_customOriginConfig = std::forward<CustomOriginConfigT>(value); }
145 template<
typename CustomOriginConfigT = CustomOriginConfig>
155 template<
typename VpcOriginConfigT = VpcOriginConfig>
156 void SetVpcOriginConfig(VpcOriginConfigT&& value) { m_vpcOriginConfigHasBeenSet =
true; m_vpcOriginConfig = std::forward<VpcOriginConfigT>(value); }
157 template<
typename VpcOriginConfigT = VpcOriginConfig>
176 inline void SetConnectionAttempts(
int value) { m_connectionAttemptsHasBeenSet =
true; m_connectionAttempts = value; }
191 inline void SetConnectionTimeout(
int value) { m_connectionTimeoutHasBeenSet =
true; m_connectionTimeout = value; }
204 template<
typename OriginShieldT = OriginShield>
205 void SetOriginShield(OriginShieldT&& value) { m_originShieldHasBeenSet =
true; m_originShield = std::forward<OriginShieldT>(value); }
206 template<
typename OriginShieldT = OriginShield>
220 template<
typename OriginAccessControlIdT = Aws::String>
221 void SetOriginAccessControlId(OriginAccessControlIdT&& value) { m_originAccessControlIdHasBeenSet =
true; m_originAccessControlId = std::forward<OriginAccessControlIdT>(value); }
222 template<
typename OriginAccessControlIdT = Aws::String>
228 bool m_idHasBeenSet =
false;
231 bool m_domainNameHasBeenSet =
false;
234 bool m_originPathHasBeenSet =
false;
237 bool m_customHeadersHasBeenSet =
false;
240 bool m_s3OriginConfigHasBeenSet =
false;
243 bool m_customOriginConfigHasBeenSet =
false;
246 bool m_vpcOriginConfigHasBeenSet =
false;
248 int m_connectionAttempts{0};
249 bool m_connectionAttemptsHasBeenSet =
false;
251 int m_connectionTimeout{0};
252 bool m_connectionTimeoutHasBeenSet =
false;
254 OriginShield m_originShield;
255 bool m_originShieldHasBeenSet =
false;
258 bool m_originAccessControlIdHasBeenSet =
false;
AWS_CLOUDFRONT_API Origin & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
bool CustomOriginConfigHasBeenSet() const
bool S3OriginConfigHasBeenSet() const
Origin & WithOriginAccessControlId(OriginAccessControlIdT &&value)
const Aws::String & GetId() const
Origin & WithId(IdT &&value)
void SetCustomHeaders(CustomHeadersT &&value)
Origin & WithOriginPath(OriginPathT &&value)
int GetConnectionAttempts() const
Origin & WithS3OriginConfig(S3OriginConfigT &&value)
void SetOriginAccessControlId(OriginAccessControlIdT &&value)
bool CustomHeadersHasBeenSet() const
void SetS3OriginConfig(S3OriginConfigT &&value)
void SetOriginPath(OriginPathT &&value)
Origin & WithVpcOriginConfig(VpcOriginConfigT &&value)
bool DomainNameHasBeenSet() const
void SetCustomOriginConfig(CustomOriginConfigT &&value)
bool ConnectionTimeoutHasBeenSet() const
void SetConnectionTimeout(int value)
int GetConnectionTimeout() const
const CustomOriginConfig & GetCustomOriginConfig() const
void SetVpcOriginConfig(VpcOriginConfigT &&value)
const VpcOriginConfig & GetVpcOriginConfig() const
void SetConnectionAttempts(int value)
void SetDomainName(DomainNameT &&value)
Origin & WithOriginShield(OriginShieldT &&value)
const Aws::String & GetOriginAccessControlId() const
bool IdHasBeenSet() const
Origin & WithCustomHeaders(CustomHeadersT &&value)
const CustomHeaders & GetCustomHeaders() const
void SetOriginShield(OriginShieldT &&value)
bool ConnectionAttemptsHasBeenSet() const
AWS_CLOUDFRONT_API Origin(const Aws::Utils::Xml::XmlNode &xmlNode)
Origin & WithConnectionTimeout(int value)
const OriginShield & GetOriginShield() const
Origin & WithCustomOriginConfig(CustomOriginConfigT &&value)
AWS_CLOUDFRONT_API void AddToNode(Aws::Utils::Xml::XmlNode &parentNode) const
const S3OriginConfig & GetS3OriginConfig() const
bool VpcOriginConfigHasBeenSet() const
Origin & WithConnectionAttempts(int value)
bool OriginShieldHasBeenSet() const
Origin & WithDomainName(DomainNameT &&value)
const Aws::String & GetDomainName() const
bool OriginAccessControlIdHasBeenSet() const
bool OriginPathHasBeenSet() const
const Aws::String & GetOriginPath() const
AWS_CLOUDFRONT_API Origin()=default
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String