7#include <aws/core/utils/UUID.h> 
    8#include <aws/core/utils/memory/stl/AWSString.h> 
    9#include <aws/core/utils/memory/stl/AWSVector.h> 
   10#include <aws/kendra/KendraRequest.h> 
   11#include <aws/kendra/Kendra_EXPORTS.h> 
   12#include <aws/kendra/model/HierarchicalPrincipal.h> 
   13#include <aws/kendra/model/Principal.h> 
   31  inline virtual const char* 
GetServiceRequestName()
 const override { 
return "CreateAccessControlConfiguration"; }
 
   44  template <
typename IndexIdT = Aws::String>
 
   46    m_indexIdHasBeenSet = 
true;
 
   47    m_indexId = std::forward<IndexIdT>(value);
 
   49  template <
typename IndexIdT = Aws::String>
 
   62  template <
typename NameT = Aws::String>
 
   64    m_nameHasBeenSet = 
true;
 
   65    m_name = std::forward<NameT>(value);
 
   67  template <
typename NameT = Aws::String>
 
   69    SetName(std::forward<NameT>(value));
 
   80  template <
typename DescriptionT = Aws::String>
 
   82    m_descriptionHasBeenSet = 
true;
 
   83    m_description = std::forward<DescriptionT>(value);
 
   85  template <
typename DescriptionT = Aws::String>
 
  100  template <
typename AccessControlListT = Aws::Vector<Principal>>
 
  102    m_accessControlListHasBeenSet = 
true;
 
  103    m_accessControlList = std::forward<AccessControlListT>(value);
 
  105  template <
typename AccessControlListT = Aws::Vector<Principal>>
 
  110  template <
typename AccessControlListT = Principal>
 
  112    m_accessControlListHasBeenSet = 
true;
 
  113    m_accessControlList.emplace_back(std::forward<AccessControlListT>(value));
 
  127  template <
typename HierarchicalAccessControlListT = Aws::Vector<HierarchicalPrincipal>>
 
  129    m_hierarchicalAccessControlListHasBeenSet = 
true;
 
  130    m_hierarchicalAccessControlList = std::forward<HierarchicalAccessControlListT>(value);
 
  132  template <
typename HierarchicalAccessControlListT = Aws::Vector<HierarchicalPrincipal>>
 
  137  template <
typename HierarchicalAccessControlListT = HierarchicalPrincipal>
 
  139    m_hierarchicalAccessControlListHasBeenSet = 
true;
 
  140    m_hierarchicalAccessControlList.emplace_back(std::forward<HierarchicalAccessControlListT>(value));
 
  154  template <
typename ClientTokenT = Aws::String>
 
  156    m_clientTokenHasBeenSet = 
true;
 
  157    m_clientToken = std::forward<ClientTokenT>(value);
 
  159  template <
typename ClientTokenT = Aws::String>
 
  167  bool m_indexIdHasBeenSet = 
false;
 
  170  bool m_nameHasBeenSet = 
false;
 
  173  bool m_descriptionHasBeenSet = 
false;
 
  176  bool m_accessControlListHasBeenSet = 
false;
 
  179  bool m_hierarchicalAccessControlListHasBeenSet = 
false;
 
  182  bool m_clientTokenHasBeenSet = 
true;
 
static Aws::Utils::UUID PseudoRandomUUID()
 
AWS_KENDRA_API CreateAccessControlConfigurationRequest()=default
 
void SetAccessControlList(AccessControlListT &&value)
 
const Aws::String & GetName() const
 
CreateAccessControlConfigurationRequest & WithAccessControlList(AccessControlListT &&value)
 
void SetIndexId(IndexIdT &&value)
 
bool ClientTokenHasBeenSet() const
 
const Aws::Vector< Principal > & GetAccessControlList() const
 
const Aws::String & GetDescription() const
 
const Aws::Vector< HierarchicalPrincipal > & GetHierarchicalAccessControlList() const
 
void SetName(NameT &&value)
 
CreateAccessControlConfigurationRequest & WithHierarchicalAccessControlList(HierarchicalAccessControlListT &&value)
 
CreateAccessControlConfigurationRequest & WithClientToken(ClientTokenT &&value)
 
virtual const char * GetServiceRequestName() const override
 
void SetHierarchicalAccessControlList(HierarchicalAccessControlListT &&value)
 
bool AccessControlListHasBeenSet() const
 
bool HierarchicalAccessControlListHasBeenSet() const
 
bool NameHasBeenSet() const
 
bool IndexIdHasBeenSet() const
 
AWS_KENDRA_API Aws::String SerializePayload() const override
 
bool DescriptionHasBeenSet() const
 
CreateAccessControlConfigurationRequest & WithDescription(DescriptionT &&value)
 
const Aws::String & GetClientToken() const
 
CreateAccessControlConfigurationRequest & WithIndexId(IndexIdT &&value)
 
void SetClientToken(ClientTokenT &&value)
 
CreateAccessControlConfigurationRequest & AddHierarchicalAccessControlList(HierarchicalAccessControlListT &&value)
 
AWS_KENDRA_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
 
CreateAccessControlConfigurationRequest & WithName(NameT &&value)
 
CreateAccessControlConfigurationRequest & AddAccessControlList(AccessControlListT &&value)
 
void SetDescription(DescriptionT &&value)
 
const Aws::String & GetIndexId() const
 
Aws::Map< Aws::String, Aws::String > HeaderValueCollection
 
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
 
std::vector< T, Aws::Allocator< T > > Vector