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

Contains information about the Amazon Web Services service for which the * account is a delegated administrator.

See Also:

AWS * API Reference

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

The name of an Amazon Web Services service that can request an operation for * the specified service. This is typically in the form of a URL, such as: * servicename.amazonaws.com.

*/ inline const Aws::String& GetServicePrincipal() const{ return m_servicePrincipal; } /** *

The name of an Amazon Web Services service that can request an operation for * the specified service. This is typically in the form of a URL, such as: * servicename.amazonaws.com.

*/ inline bool ServicePrincipalHasBeenSet() const { return m_servicePrincipalHasBeenSet; } /** *

The name of an Amazon Web Services service that can request an operation for * the specified service. This is typically in the form of a URL, such as: * servicename.amazonaws.com.

*/ inline void SetServicePrincipal(const Aws::String& value) { m_servicePrincipalHasBeenSet = true; m_servicePrincipal = value; } /** *

The name of an Amazon Web Services service that can request an operation for * the specified service. This is typically in the form of a URL, such as: * servicename.amazonaws.com.

*/ inline void SetServicePrincipal(Aws::String&& value) { m_servicePrincipalHasBeenSet = true; m_servicePrincipal = std::move(value); } /** *

The name of an Amazon Web Services service that can request an operation for * the specified service. This is typically in the form of a URL, such as: * servicename.amazonaws.com.

*/ inline void SetServicePrincipal(const char* value) { m_servicePrincipalHasBeenSet = true; m_servicePrincipal.assign(value); } /** *

The name of an Amazon Web Services service that can request an operation for * the specified service. This is typically in the form of a URL, such as: * servicename.amazonaws.com.

*/ inline DelegatedService& WithServicePrincipal(const Aws::String& value) { SetServicePrincipal(value); return *this;} /** *

The name of an Amazon Web Services service that can request an operation for * the specified service. This is typically in the form of a URL, such as: * servicename.amazonaws.com.

*/ inline DelegatedService& WithServicePrincipal(Aws::String&& value) { SetServicePrincipal(std::move(value)); return *this;} /** *

The name of an Amazon Web Services service that can request an operation for * the specified service. This is typically in the form of a URL, such as: * servicename.amazonaws.com.

*/ inline DelegatedService& WithServicePrincipal(const char* value) { SetServicePrincipal(value); return *this;} /** *

The date that the account became a delegated administrator for this service. *

*/ inline const Aws::Utils::DateTime& GetDelegationEnabledDate() const{ return m_delegationEnabledDate; } /** *

The date that the account became a delegated administrator for this service. *

*/ inline bool DelegationEnabledDateHasBeenSet() const { return m_delegationEnabledDateHasBeenSet; } /** *

The date that the account became a delegated administrator for this service. *

*/ inline void SetDelegationEnabledDate(const Aws::Utils::DateTime& value) { m_delegationEnabledDateHasBeenSet = true; m_delegationEnabledDate = value; } /** *

The date that the account became a delegated administrator for this service. *

*/ inline void SetDelegationEnabledDate(Aws::Utils::DateTime&& value) { m_delegationEnabledDateHasBeenSet = true; m_delegationEnabledDate = std::move(value); } /** *

The date that the account became a delegated administrator for this service. *

*/ inline DelegatedService& WithDelegationEnabledDate(const Aws::Utils::DateTime& value) { SetDelegationEnabledDate(value); return *this;} /** *

The date that the account became a delegated administrator for this service. *

*/ inline DelegatedService& WithDelegationEnabledDate(Aws::Utils::DateTime&& value) { SetDelegationEnabledDate(std::move(value)); return *this;} private: Aws::String m_servicePrincipal; bool m_servicePrincipalHasBeenSet = false; Aws::Utils::DateTime m_delegationEnabledDate; bool m_delegationEnabledDateHasBeenSet = false; }; } // namespace Model } // namespace Organizations } // namespace Aws