/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Contains an access policy that defines an identity's access to an IoT
* SiteWise Monitor resource.See Also:
AWS
* API Reference
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.
The permissions for the access policy. Note that a project
* ADMINISTRATOR
is also known as a project owner.
The permissions for the access policy. Note that a project
* ADMINISTRATOR
is also known as a project owner.
The permissions for the access policy. Note that a project
* ADMINISTRATOR
is also known as a project owner.
The permissions for the access policy. Note that a project
* ADMINISTRATOR
is also known as a project owner.
The permissions for the access policy. Note that a project
* ADMINISTRATOR
is also known as a project owner.
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