1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/servicecatalog/ServiceCatalog_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSVector.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <aws/servicecatalog/model/Principal.h> 11 #include <utility> 12 13 namespace Aws 14 { 15 template<typename RESULT_TYPE> 16 class AmazonWebServiceResult; 17 18 namespace Utils 19 { 20 namespace Json 21 { 22 class JsonValue; 23 } // namespace Json 24 } // namespace Utils 25 namespace ServiceCatalog 26 { 27 namespace Model 28 { 29 class AWS_SERVICECATALOG_API ListPrincipalsForPortfolioResult 30 { 31 public: 32 ListPrincipalsForPortfolioResult(); 33 ListPrincipalsForPortfolioResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result); 34 ListPrincipalsForPortfolioResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result); 35 36 37 /** 38 * <p>The IAM principals (users or roles) associated with the portfolio.</p> 39 */ GetPrincipals()40 inline const Aws::Vector<Principal>& GetPrincipals() const{ return m_principals; } 41 42 /** 43 * <p>The IAM principals (users or roles) associated with the portfolio.</p> 44 */ SetPrincipals(const Aws::Vector<Principal> & value)45 inline void SetPrincipals(const Aws::Vector<Principal>& value) { m_principals = value; } 46 47 /** 48 * <p>The IAM principals (users or roles) associated with the portfolio.</p> 49 */ SetPrincipals(Aws::Vector<Principal> && value)50 inline void SetPrincipals(Aws::Vector<Principal>&& value) { m_principals = std::move(value); } 51 52 /** 53 * <p>The IAM principals (users or roles) associated with the portfolio.</p> 54 */ WithPrincipals(const Aws::Vector<Principal> & value)55 inline ListPrincipalsForPortfolioResult& WithPrincipals(const Aws::Vector<Principal>& value) { SetPrincipals(value); return *this;} 56 57 /** 58 * <p>The IAM principals (users or roles) associated with the portfolio.</p> 59 */ WithPrincipals(Aws::Vector<Principal> && value)60 inline ListPrincipalsForPortfolioResult& WithPrincipals(Aws::Vector<Principal>&& value) { SetPrincipals(std::move(value)); return *this;} 61 62 /** 63 * <p>The IAM principals (users or roles) associated with the portfolio.</p> 64 */ AddPrincipals(const Principal & value)65 inline ListPrincipalsForPortfolioResult& AddPrincipals(const Principal& value) { m_principals.push_back(value); return *this; } 66 67 /** 68 * <p>The IAM principals (users or roles) associated with the portfolio.</p> 69 */ AddPrincipals(Principal && value)70 inline ListPrincipalsForPortfolioResult& AddPrincipals(Principal&& value) { m_principals.push_back(std::move(value)); return *this; } 71 72 73 /** 74 * <p>The page token to use to retrieve the next set of results. If there are no 75 * additional results, this value is null.</p> 76 */ GetNextPageToken()77 inline const Aws::String& GetNextPageToken() const{ return m_nextPageToken; } 78 79 /** 80 * <p>The page token to use to retrieve the next set of results. If there are no 81 * additional results, this value is null.</p> 82 */ SetNextPageToken(const Aws::String & value)83 inline void SetNextPageToken(const Aws::String& value) { m_nextPageToken = value; } 84 85 /** 86 * <p>The page token to use to retrieve the next set of results. If there are no 87 * additional results, this value is null.</p> 88 */ SetNextPageToken(Aws::String && value)89 inline void SetNextPageToken(Aws::String&& value) { m_nextPageToken = std::move(value); } 90 91 /** 92 * <p>The page token to use to retrieve the next set of results. If there are no 93 * additional results, this value is null.</p> 94 */ SetNextPageToken(const char * value)95 inline void SetNextPageToken(const char* value) { m_nextPageToken.assign(value); } 96 97 /** 98 * <p>The page token to use to retrieve the next set of results. If there are no 99 * additional results, this value is null.</p> 100 */ WithNextPageToken(const Aws::String & value)101 inline ListPrincipalsForPortfolioResult& WithNextPageToken(const Aws::String& value) { SetNextPageToken(value); return *this;} 102 103 /** 104 * <p>The page token to use to retrieve the next set of results. If there are no 105 * additional results, this value is null.</p> 106 */ WithNextPageToken(Aws::String && value)107 inline ListPrincipalsForPortfolioResult& WithNextPageToken(Aws::String&& value) { SetNextPageToken(std::move(value)); return *this;} 108 109 /** 110 * <p>The page token to use to retrieve the next set of results. If there are no 111 * additional results, this value is null.</p> 112 */ WithNextPageToken(const char * value)113 inline ListPrincipalsForPortfolioResult& WithNextPageToken(const char* value) { SetNextPageToken(value); return *this;} 114 115 private: 116 117 Aws::Vector<Principal> m_principals; 118 119 Aws::String m_nextPageToken; 120 }; 121 122 } // namespace Model 123 } // namespace ServiceCatalog 124 } // namespace Aws 125