/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace SecurityHub { namespace Model { /** *

A distribution configuration.

See Also:

AWS * API Reference

*/ class AWS_SECURITYHUB_API AwsCloudFrontDistributionDetails { public: AwsCloudFrontDistributionDetails(); AwsCloudFrontDistributionDetails(Aws::Utils::Json::JsonView jsonValue); AwsCloudFrontDistributionDetails& operator=(Aws::Utils::Json::JsonView jsonValue); Aws::Utils::Json::JsonValue Jsonize() const; /** *

The domain name corresponding to the distribution.

*/ inline const Aws::String& GetDomainName() const{ return m_domainName; } /** *

The domain name corresponding to the distribution.

*/ inline bool DomainNameHasBeenSet() const { return m_domainNameHasBeenSet; } /** *

The domain name corresponding to the distribution.

*/ inline void SetDomainName(const Aws::String& value) { m_domainNameHasBeenSet = true; m_domainName = value; } /** *

The domain name corresponding to the distribution.

*/ inline void SetDomainName(Aws::String&& value) { m_domainNameHasBeenSet = true; m_domainName = std::move(value); } /** *

The domain name corresponding to the distribution.

*/ inline void SetDomainName(const char* value) { m_domainNameHasBeenSet = true; m_domainName.assign(value); } /** *

The domain name corresponding to the distribution.

*/ inline AwsCloudFrontDistributionDetails& WithDomainName(const Aws::String& value) { SetDomainName(value); return *this;} /** *

The domain name corresponding to the distribution.

*/ inline AwsCloudFrontDistributionDetails& WithDomainName(Aws::String&& value) { SetDomainName(std::move(value)); return *this;} /** *

The domain name corresponding to the distribution.

*/ inline AwsCloudFrontDistributionDetails& WithDomainName(const char* value) { SetDomainName(value); return *this;} /** *

The entity tag is a hash of the object.

*/ inline const Aws::String& GetETag() const{ return m_eTag; } /** *

The entity tag is a hash of the object.

*/ inline bool ETagHasBeenSet() const { return m_eTagHasBeenSet; } /** *

The entity tag is a hash of the object.

*/ inline void SetETag(const Aws::String& value) { m_eTagHasBeenSet = true; m_eTag = value; } /** *

The entity tag is a hash of the object.

*/ inline void SetETag(Aws::String&& value) { m_eTagHasBeenSet = true; m_eTag = std::move(value); } /** *

The entity tag is a hash of the object.

*/ inline void SetETag(const char* value) { m_eTagHasBeenSet = true; m_eTag.assign(value); } /** *

The entity tag is a hash of the object.

*/ inline AwsCloudFrontDistributionDetails& WithETag(const Aws::String& value) { SetETag(value); return *this;} /** *

The entity tag is a hash of the object.

*/ inline AwsCloudFrontDistributionDetails& WithETag(Aws::String&& value) { SetETag(std::move(value)); return *this;} /** *

The entity tag is a hash of the object.

*/ inline AwsCloudFrontDistributionDetails& WithETag(const char* value) { SetETag(value); return *this;} /** *

Indicates when that the distribution was last modified.

Uses the * date-time format specified in RFC 3339 section 5.6, * Internet Date/Time Format. The value cannot contain spaces. For example, * 2020-03-22T13:22:13.933Z.

*/ inline const Aws::String& GetLastModifiedTime() const{ return m_lastModifiedTime; } /** *

Indicates when that the distribution was last modified.

Uses the * date-time format specified in RFC 3339 section 5.6, * Internet Date/Time Format. The value cannot contain spaces. For example, * 2020-03-22T13:22:13.933Z.

*/ inline bool LastModifiedTimeHasBeenSet() const { return m_lastModifiedTimeHasBeenSet; } /** *

Indicates when that the distribution was last modified.

Uses the * date-time format specified in RFC 3339 section 5.6, * Internet Date/Time Format. The value cannot contain spaces. For example, * 2020-03-22T13:22:13.933Z.

*/ inline void SetLastModifiedTime(const Aws::String& value) { m_lastModifiedTimeHasBeenSet = true; m_lastModifiedTime = value; } /** *

Indicates when that the distribution was last modified.

Uses the * date-time format specified in RFC 3339 section 5.6, * Internet Date/Time Format. The value cannot contain spaces. For example, * 2020-03-22T13:22:13.933Z.

*/ inline void SetLastModifiedTime(Aws::String&& value) { m_lastModifiedTimeHasBeenSet = true; m_lastModifiedTime = std::move(value); } /** *

Indicates when that the distribution was last modified.

Uses the * date-time format specified in RFC 3339 section 5.6, * Internet Date/Time Format. The value cannot contain spaces. For example, * 2020-03-22T13:22:13.933Z.

*/ inline void SetLastModifiedTime(const char* value) { m_lastModifiedTimeHasBeenSet = true; m_lastModifiedTime.assign(value); } /** *

Indicates when that the distribution was last modified.

Uses the * date-time format specified in RFC 3339 section 5.6, * Internet Date/Time Format. The value cannot contain spaces. For example, * 2020-03-22T13:22:13.933Z.

*/ inline AwsCloudFrontDistributionDetails& WithLastModifiedTime(const Aws::String& value) { SetLastModifiedTime(value); return *this;} /** *

Indicates when that the distribution was last modified.

Uses the * date-time format specified in RFC 3339 section 5.6, * Internet Date/Time Format. The value cannot contain spaces. For example, * 2020-03-22T13:22:13.933Z.

*/ inline AwsCloudFrontDistributionDetails& WithLastModifiedTime(Aws::String&& value) { SetLastModifiedTime(std::move(value)); return *this;} /** *

Indicates when that the distribution was last modified.

Uses the * date-time format specified in RFC 3339 section 5.6, * Internet Date/Time Format. The value cannot contain spaces. For example, * 2020-03-22T13:22:13.933Z.

*/ inline AwsCloudFrontDistributionDetails& WithLastModifiedTime(const char* value) { SetLastModifiedTime(value); return *this;} /** *

A complex type that controls whether access logs are written for the * distribution.

*/ inline const AwsCloudFrontDistributionLogging& GetLogging() const{ return m_logging; } /** *

A complex type that controls whether access logs are written for the * distribution.

*/ inline bool LoggingHasBeenSet() const { return m_loggingHasBeenSet; } /** *

A complex type that controls whether access logs are written for the * distribution.

*/ inline void SetLogging(const AwsCloudFrontDistributionLogging& value) { m_loggingHasBeenSet = true; m_logging = value; } /** *

A complex type that controls whether access logs are written for the * distribution.

*/ inline void SetLogging(AwsCloudFrontDistributionLogging&& value) { m_loggingHasBeenSet = true; m_logging = std::move(value); } /** *

A complex type that controls whether access logs are written for the * distribution.

*/ inline AwsCloudFrontDistributionDetails& WithLogging(const AwsCloudFrontDistributionLogging& value) { SetLogging(value); return *this;} /** *

A complex type that controls whether access logs are written for the * distribution.

*/ inline AwsCloudFrontDistributionDetails& WithLogging(AwsCloudFrontDistributionLogging&& value) { SetLogging(std::move(value)); return *this;} /** *

A complex type that contains information about origins for this * distribution.

*/ inline const AwsCloudFrontDistributionOrigins& GetOrigins() const{ return m_origins; } /** *

A complex type that contains information about origins for this * distribution.

*/ inline bool OriginsHasBeenSet() const { return m_originsHasBeenSet; } /** *

A complex type that contains information about origins for this * distribution.

*/ inline void SetOrigins(const AwsCloudFrontDistributionOrigins& value) { m_originsHasBeenSet = true; m_origins = value; } /** *

A complex type that contains information about origins for this * distribution.

*/ inline void SetOrigins(AwsCloudFrontDistributionOrigins&& value) { m_originsHasBeenSet = true; m_origins = std::move(value); } /** *

A complex type that contains information about origins for this * distribution.

*/ inline AwsCloudFrontDistributionDetails& WithOrigins(const AwsCloudFrontDistributionOrigins& value) { SetOrigins(value); return *this;} /** *

A complex type that contains information about origins for this * distribution.

*/ inline AwsCloudFrontDistributionDetails& WithOrigins(AwsCloudFrontDistributionOrigins&& value) { SetOrigins(std::move(value)); return *this;} /** *

Indicates the current status of the distribution.

*/ inline const Aws::String& GetStatus() const{ return m_status; } /** *

Indicates the current status of the distribution.

*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *

Indicates the current status of the distribution.

*/ inline void SetStatus(const Aws::String& value) { m_statusHasBeenSet = true; m_status = value; } /** *

Indicates the current status of the distribution.

*/ inline void SetStatus(Aws::String&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *

Indicates the current status of the distribution.

*/ inline void SetStatus(const char* value) { m_statusHasBeenSet = true; m_status.assign(value); } /** *

Indicates the current status of the distribution.

*/ inline AwsCloudFrontDistributionDetails& WithStatus(const Aws::String& value) { SetStatus(value); return *this;} /** *

Indicates the current status of the distribution.

*/ inline AwsCloudFrontDistributionDetails& WithStatus(Aws::String&& value) { SetStatus(std::move(value)); return *this;} /** *

Indicates the current status of the distribution.

*/ inline AwsCloudFrontDistributionDetails& WithStatus(const char* value) { SetStatus(value); return *this;} /** *

A unique identifier that specifies the AWS WAF web ACL, if any, to associate * with this distribution.

*/ inline const Aws::String& GetWebAclId() const{ return m_webAclId; } /** *

A unique identifier that specifies the AWS WAF web ACL, if any, to associate * with this distribution.

*/ inline bool WebAclIdHasBeenSet() const { return m_webAclIdHasBeenSet; } /** *

A unique identifier that specifies the AWS WAF web ACL, if any, to associate * with this distribution.

*/ inline void SetWebAclId(const Aws::String& value) { m_webAclIdHasBeenSet = true; m_webAclId = value; } /** *

A unique identifier that specifies the AWS WAF web ACL, if any, to associate * with this distribution.

*/ inline void SetWebAclId(Aws::String&& value) { m_webAclIdHasBeenSet = true; m_webAclId = std::move(value); } /** *

A unique identifier that specifies the AWS WAF web ACL, if any, to associate * with this distribution.

*/ inline void SetWebAclId(const char* value) { m_webAclIdHasBeenSet = true; m_webAclId.assign(value); } /** *

A unique identifier that specifies the AWS WAF web ACL, if any, to associate * with this distribution.

*/ inline AwsCloudFrontDistributionDetails& WithWebAclId(const Aws::String& value) { SetWebAclId(value); return *this;} /** *

A unique identifier that specifies the AWS WAF web ACL, if any, to associate * with this distribution.

*/ inline AwsCloudFrontDistributionDetails& WithWebAclId(Aws::String&& value) { SetWebAclId(std::move(value)); return *this;} /** *

A unique identifier that specifies the AWS WAF web ACL, if any, to associate * with this distribution.

*/ inline AwsCloudFrontDistributionDetails& WithWebAclId(const char* value) { SetWebAclId(value); return *this;} private: Aws::String m_domainName; bool m_domainNameHasBeenSet; Aws::String m_eTag; bool m_eTagHasBeenSet; Aws::String m_lastModifiedTime; bool m_lastModifiedTimeHasBeenSet; AwsCloudFrontDistributionLogging m_logging; bool m_loggingHasBeenSet; AwsCloudFrontDistributionOrigins m_origins; bool m_originsHasBeenSet; Aws::String m_status; bool m_statusHasBeenSet; Aws::String m_webAclId; bool m_webAclIdHasBeenSet; }; } // namespace Model } // namespace SecurityHub } // namespace Aws