/** * 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 Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace IoTSiteWise { namespace Model { /** *

Contains an access policy that defines an identity's access to an IoT * SiteWise Monitor resource.

See Also:

AWS * API Reference

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

The ID of the access policy.

*/ inline const Aws::String& GetId() const{ return m_id; } /** *

The ID of the access policy.

*/ inline bool IdHasBeenSet() const { return m_idHasBeenSet; } /** *

The ID of the access policy.

*/ inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } /** *

The ID of the access policy.

*/ inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } /** *

The ID of the access policy.

*/ inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } /** *

The ID of the access policy.

*/ inline AccessPolicySummary& WithId(const Aws::String& value) { SetId(value); return *this;} /** *

The ID of the access policy.

*/ inline AccessPolicySummary& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} /** *

The ID of the access policy.

*/ inline AccessPolicySummary& WithId(const char* value) { SetId(value); return *this;} /** *

The identity (an IAM Identity Center user, an IAM Identity Center group, or * an IAM user).

*/ inline const Identity& GetIdentity() const{ return m_identity; } /** *

The identity (an IAM Identity Center user, an IAM Identity Center group, or * an IAM user).

*/ inline bool IdentityHasBeenSet() const { return m_identityHasBeenSet; } /** *

The identity (an IAM Identity Center user, an IAM Identity Center group, or * an IAM user).

*/ inline void SetIdentity(const Identity& value) { m_identityHasBeenSet = true; m_identity = value; } /** *

The identity (an IAM Identity Center user, an IAM Identity Center group, or * an IAM user).

*/ inline void SetIdentity(Identity&& value) { m_identityHasBeenSet = true; m_identity = std::move(value); } /** *

The identity (an IAM Identity Center user, an IAM Identity Center group, or * an IAM user).

*/ inline AccessPolicySummary& WithIdentity(const Identity& value) { SetIdentity(value); return *this;} /** *

The identity (an IAM Identity Center user, an IAM Identity Center group, or * an IAM user).

*/ inline AccessPolicySummary& WithIdentity(Identity&& value) { SetIdentity(std::move(value)); return *this;} /** *

The IoT SiteWise Monitor resource (a portal or project).

*/ inline const Resource& GetResource() const{ return m_resource; } /** *

The IoT SiteWise Monitor resource (a portal or project).

*/ inline bool ResourceHasBeenSet() const { return m_resourceHasBeenSet; } /** *

The IoT SiteWise Monitor resource (a portal or project).

*/ inline void SetResource(const Resource& value) { m_resourceHasBeenSet = true; m_resource = value; } /** *

The IoT SiteWise Monitor resource (a portal or project).

*/ inline void SetResource(Resource&& value) { m_resourceHasBeenSet = true; m_resource = std::move(value); } /** *

The IoT SiteWise Monitor resource (a portal or project).

*/ inline AccessPolicySummary& WithResource(const Resource& value) { SetResource(value); return *this;} /** *

The IoT SiteWise Monitor resource (a portal or project).

*/ inline AccessPolicySummary& WithResource(Resource&& value) { SetResource(std::move(value)); return *this;} /** *

The permissions for the access policy. Note that a project * ADMINISTRATOR is also known as a project owner.

*/ inline const Permission& GetPermission() const{ return m_permission; } /** *

The permissions for the access policy. Note that a project * ADMINISTRATOR is also known as a project owner.

*/ inline bool PermissionHasBeenSet() const { return m_permissionHasBeenSet; } /** *

The permissions for the access policy. Note that a project * ADMINISTRATOR is also known as a project owner.

*/ inline void SetPermission(const Permission& value) { m_permissionHasBeenSet = true; m_permission = value; } /** *

The permissions for the access policy. Note that a project * ADMINISTRATOR is also known as a project owner.

*/ inline void SetPermission(Permission&& value) { m_permissionHasBeenSet = true; m_permission = std::move(value); } /** *

The permissions for the access policy. Note that a project * ADMINISTRATOR is also known as a project owner.

*/ inline AccessPolicySummary& WithPermission(const Permission& value) { SetPermission(value); return *this;} /** *

The permissions for the access policy. Note that a project * ADMINISTRATOR is also known as a project owner.

*/ inline AccessPolicySummary& WithPermission(Permission&& value) { SetPermission(std::move(value)); return *this;} /** *

The date the access policy was created, in Unix epoch time.

*/ inline const Aws::Utils::DateTime& GetCreationDate() const{ return m_creationDate; } /** *

The date the access policy was created, in Unix epoch time.

*/ inline bool CreationDateHasBeenSet() const { return m_creationDateHasBeenSet; } /** *

The date the access policy was created, in Unix epoch time.

*/ inline void SetCreationDate(const Aws::Utils::DateTime& value) { m_creationDateHasBeenSet = true; m_creationDate = value; } /** *

The date the access policy was created, in Unix epoch time.

*/ inline void SetCreationDate(Aws::Utils::DateTime&& value) { m_creationDateHasBeenSet = true; m_creationDate = std::move(value); } /** *

The date the access policy was created, in Unix epoch time.

*/ inline AccessPolicySummary& WithCreationDate(const Aws::Utils::DateTime& value) { SetCreationDate(value); return *this;} /** *

The date the access policy was created, in Unix epoch time.

*/ inline AccessPolicySummary& WithCreationDate(Aws::Utils::DateTime&& value) { SetCreationDate(std::move(value)); return *this;} /** *

The date the access policy was last updated, in Unix epoch time.

*/ inline const Aws::Utils::DateTime& GetLastUpdateDate() const{ return m_lastUpdateDate; } /** *

The date the access policy was last updated, in Unix epoch time.

*/ inline bool LastUpdateDateHasBeenSet() const { return m_lastUpdateDateHasBeenSet; } /** *

The date the access policy was last updated, in Unix epoch time.

*/ inline void SetLastUpdateDate(const Aws::Utils::DateTime& value) { m_lastUpdateDateHasBeenSet = true; m_lastUpdateDate = value; } /** *

The date the access policy was last updated, in Unix epoch time.

*/ inline void SetLastUpdateDate(Aws::Utils::DateTime&& value) { m_lastUpdateDateHasBeenSet = true; m_lastUpdateDate = std::move(value); } /** *

The date the access policy was last updated, in Unix epoch time.

*/ inline AccessPolicySummary& WithLastUpdateDate(const Aws::Utils::DateTime& value) { SetLastUpdateDate(value); return *this;} /** *

The date the access policy was last updated, in Unix epoch time.

*/ inline AccessPolicySummary& WithLastUpdateDate(Aws::Utils::DateTime&& value) { SetLastUpdateDate(std::move(value)); return *this;} private: Aws::String m_id; bool m_idHasBeenSet = false; Identity m_identity; bool m_identityHasBeenSet = false; Resource m_resource; bool m_resourceHasBeenSet = false; Permission m_permission; bool m_permissionHasBeenSet = false; Aws::Utils::DateTime m_creationDate; bool m_creationDateHasBeenSet = false; Aws::Utils::DateTime m_lastUpdateDate; bool m_lastUpdateDateHasBeenSet = false; }; } // namespace Model } // namespace IoTSiteWise } // namespace Aws