/** * 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 { /** *

A structure that contains details of a service principal that represents an * Amazon Web Services service that is enabled to integrate with * Organizations.

See Also:

AWS * API Reference

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

The name of the service principal. 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 the service principal. This is typically in the form of a URL, * such as: servicename.amazonaws.com.

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

The name of the service principal. 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 the service principal. 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 the service principal. 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 the service principal. This is typically in the form of a URL, * such as: servicename.amazonaws.com.

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

The name of the service principal. This is typically in the form of a URL, * such as: servicename.amazonaws.com.

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

The name of the service principal. This is typically in the form of a URL, * such as: servicename.amazonaws.com.

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

The date that the service principal was enabled for integration with * Organizations.

*/ inline const Aws::Utils::DateTime& GetDateEnabled() const{ return m_dateEnabled; } /** *

The date that the service principal was enabled for integration with * Organizations.

*/ inline bool DateEnabledHasBeenSet() const { return m_dateEnabledHasBeenSet; } /** *

The date that the service principal was enabled for integration with * Organizations.

*/ inline void SetDateEnabled(const Aws::Utils::DateTime& value) { m_dateEnabledHasBeenSet = true; m_dateEnabled = value; } /** *

The date that the service principal was enabled for integration with * Organizations.

*/ inline void SetDateEnabled(Aws::Utils::DateTime&& value) { m_dateEnabledHasBeenSet = true; m_dateEnabled = std::move(value); } /** *

The date that the service principal was enabled for integration with * Organizations.

*/ inline EnabledServicePrincipal& WithDateEnabled(const Aws::Utils::DateTime& value) { SetDateEnabled(value); return *this;} /** *

The date that the service principal was enabled for integration with * Organizations.

*/ inline EnabledServicePrincipal& WithDateEnabled(Aws::Utils::DateTime&& value) { SetDateEnabled(std::move(value)); return *this;} private: Aws::String m_servicePrincipal; bool m_servicePrincipalHasBeenSet = false; Aws::Utils::DateTime m_dateEnabled; bool m_dateEnabledHasBeenSet = false; }; } // namespace Model } // namespace Organizations } // namespace Aws