/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include namespace Aws { namespace IoT { namespace Model { /** */ class UpdateDomainConfigurationRequest : public IoTRequest { public: AWS_IOT_API UpdateDomainConfigurationRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "UpdateDomainConfiguration"; } AWS_IOT_API Aws::String SerializePayload() const override; /** *

The name of the domain configuration to be updated.

*/ inline const Aws::String& GetDomainConfigurationName() const{ return m_domainConfigurationName; } /** *

The name of the domain configuration to be updated.

*/ inline bool DomainConfigurationNameHasBeenSet() const { return m_domainConfigurationNameHasBeenSet; } /** *

The name of the domain configuration to be updated.

*/ inline void SetDomainConfigurationName(const Aws::String& value) { m_domainConfigurationNameHasBeenSet = true; m_domainConfigurationName = value; } /** *

The name of the domain configuration to be updated.

*/ inline void SetDomainConfigurationName(Aws::String&& value) { m_domainConfigurationNameHasBeenSet = true; m_domainConfigurationName = std::move(value); } /** *

The name of the domain configuration to be updated.

*/ inline void SetDomainConfigurationName(const char* value) { m_domainConfigurationNameHasBeenSet = true; m_domainConfigurationName.assign(value); } /** *

The name of the domain configuration to be updated.

*/ inline UpdateDomainConfigurationRequest& WithDomainConfigurationName(const Aws::String& value) { SetDomainConfigurationName(value); return *this;} /** *

The name of the domain configuration to be updated.

*/ inline UpdateDomainConfigurationRequest& WithDomainConfigurationName(Aws::String&& value) { SetDomainConfigurationName(std::move(value)); return *this;} /** *

The name of the domain configuration to be updated.

*/ inline UpdateDomainConfigurationRequest& WithDomainConfigurationName(const char* value) { SetDomainConfigurationName(value); return *this;} /** *

An object that specifies the authorization service for a domain.

*/ inline const AuthorizerConfig& GetAuthorizerConfig() const{ return m_authorizerConfig; } /** *

An object that specifies the authorization service for a domain.

*/ inline bool AuthorizerConfigHasBeenSet() const { return m_authorizerConfigHasBeenSet; } /** *

An object that specifies the authorization service for a domain.

*/ inline void SetAuthorizerConfig(const AuthorizerConfig& value) { m_authorizerConfigHasBeenSet = true; m_authorizerConfig = value; } /** *

An object that specifies the authorization service for a domain.

*/ inline void SetAuthorizerConfig(AuthorizerConfig&& value) { m_authorizerConfigHasBeenSet = true; m_authorizerConfig = std::move(value); } /** *

An object that specifies the authorization service for a domain.

*/ inline UpdateDomainConfigurationRequest& WithAuthorizerConfig(const AuthorizerConfig& value) { SetAuthorizerConfig(value); return *this;} /** *

An object that specifies the authorization service for a domain.

*/ inline UpdateDomainConfigurationRequest& WithAuthorizerConfig(AuthorizerConfig&& value) { SetAuthorizerConfig(std::move(value)); return *this;} /** *

The status to which the domain configuration should be updated.

*/ inline const DomainConfigurationStatus& GetDomainConfigurationStatus() const{ return m_domainConfigurationStatus; } /** *

The status to which the domain configuration should be updated.

*/ inline bool DomainConfigurationStatusHasBeenSet() const { return m_domainConfigurationStatusHasBeenSet; } /** *

The status to which the domain configuration should be updated.

*/ inline void SetDomainConfigurationStatus(const DomainConfigurationStatus& value) { m_domainConfigurationStatusHasBeenSet = true; m_domainConfigurationStatus = value; } /** *

The status to which the domain configuration should be updated.

*/ inline void SetDomainConfigurationStatus(DomainConfigurationStatus&& value) { m_domainConfigurationStatusHasBeenSet = true; m_domainConfigurationStatus = std::move(value); } /** *

The status to which the domain configuration should be updated.

*/ inline UpdateDomainConfigurationRequest& WithDomainConfigurationStatus(const DomainConfigurationStatus& value) { SetDomainConfigurationStatus(value); return *this;} /** *

The status to which the domain configuration should be updated.

*/ inline UpdateDomainConfigurationRequest& WithDomainConfigurationStatus(DomainConfigurationStatus&& value) { SetDomainConfigurationStatus(std::move(value)); return *this;} /** *

Removes the authorization configuration from a domain.

*/ inline bool GetRemoveAuthorizerConfig() const{ return m_removeAuthorizerConfig; } /** *

Removes the authorization configuration from a domain.

*/ inline bool RemoveAuthorizerConfigHasBeenSet() const { return m_removeAuthorizerConfigHasBeenSet; } /** *

Removes the authorization configuration from a domain.

*/ inline void SetRemoveAuthorizerConfig(bool value) { m_removeAuthorizerConfigHasBeenSet = true; m_removeAuthorizerConfig = value; } /** *

Removes the authorization configuration from a domain.

*/ inline UpdateDomainConfigurationRequest& WithRemoveAuthorizerConfig(bool value) { SetRemoveAuthorizerConfig(value); return *this;} /** *

An object that specifies the TLS configuration for a domain.

*/ inline const TlsConfig& GetTlsConfig() const{ return m_tlsConfig; } /** *

An object that specifies the TLS configuration for a domain.

*/ inline bool TlsConfigHasBeenSet() const { return m_tlsConfigHasBeenSet; } /** *

An object that specifies the TLS configuration for a domain.

*/ inline void SetTlsConfig(const TlsConfig& value) { m_tlsConfigHasBeenSet = true; m_tlsConfig = value; } /** *

An object that specifies the TLS configuration for a domain.

*/ inline void SetTlsConfig(TlsConfig&& value) { m_tlsConfigHasBeenSet = true; m_tlsConfig = std::move(value); } /** *

An object that specifies the TLS configuration for a domain.

*/ inline UpdateDomainConfigurationRequest& WithTlsConfig(const TlsConfig& value) { SetTlsConfig(value); return *this;} /** *

An object that specifies the TLS configuration for a domain.

*/ inline UpdateDomainConfigurationRequest& WithTlsConfig(TlsConfig&& value) { SetTlsConfig(std::move(value)); return *this;} private: Aws::String m_domainConfigurationName; bool m_domainConfigurationNameHasBeenSet = false; AuthorizerConfig m_authorizerConfig; bool m_authorizerConfigHasBeenSet = false; DomainConfigurationStatus m_domainConfigurationStatus; bool m_domainConfigurationStatusHasBeenSet = false; bool m_removeAuthorizerConfig; bool m_removeAuthorizerConfigHasBeenSet = false; TlsConfig m_tlsConfig; bool m_tlsConfigHasBeenSet = false; }; } // namespace Model } // namespace IoT } // namespace Aws