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/AWSString.h> 9 #include <aws/servicecatalog/model/DescribePortfolioShareType.h> 10 #include <utility> 11 12 namespace Aws 13 { 14 namespace Utils 15 { 16 namespace Json 17 { 18 class JsonValue; 19 class JsonView; 20 } // namespace Json 21 } // namespace Utils 22 namespace ServiceCatalog 23 { 24 namespace Model 25 { 26 27 /** 28 * <p>Information about the portfolio share.</p><p><h3>See Also:</h3> <a 29 * href="http://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/PortfolioShareDetail">AWS 30 * API Reference</a></p> 31 */ 32 class AWS_SERVICECATALOG_API PortfolioShareDetail 33 { 34 public: 35 PortfolioShareDetail(); 36 PortfolioShareDetail(Aws::Utils::Json::JsonView jsonValue); 37 PortfolioShareDetail& operator=(Aws::Utils::Json::JsonView jsonValue); 38 Aws::Utils::Json::JsonValue Jsonize() const; 39 40 41 /** 42 * <p>The identifier of the recipient entity that received the portfolio share. The 43 * recipient entities can be one of the following: </p> <p>1. An external 44 * account.</p> <p>2. An organziation member account.</p> <p>3. An organzational 45 * unit (OU).</p> <p>4. The organization itself. (This shares with every account in 46 * the organization).</p> 47 */ GetPrincipalId()48 inline const Aws::String& GetPrincipalId() const{ return m_principalId; } 49 50 /** 51 * <p>The identifier of the recipient entity that received the portfolio share. The 52 * recipient entities can be one of the following: </p> <p>1. An external 53 * account.</p> <p>2. An organziation member account.</p> <p>3. An organzational 54 * unit (OU).</p> <p>4. The organization itself. (This shares with every account in 55 * the organization).</p> 56 */ PrincipalIdHasBeenSet()57 inline bool PrincipalIdHasBeenSet() const { return m_principalIdHasBeenSet; } 58 59 /** 60 * <p>The identifier of the recipient entity that received the portfolio share. The 61 * recipient entities can be one of the following: </p> <p>1. An external 62 * account.</p> <p>2. An organziation member account.</p> <p>3. An organzational 63 * unit (OU).</p> <p>4. The organization itself. (This shares with every account in 64 * the organization).</p> 65 */ SetPrincipalId(const Aws::String & value)66 inline void SetPrincipalId(const Aws::String& value) { m_principalIdHasBeenSet = true; m_principalId = value; } 67 68 /** 69 * <p>The identifier of the recipient entity that received the portfolio share. The 70 * recipient entities can be one of the following: </p> <p>1. An external 71 * account.</p> <p>2. An organziation member account.</p> <p>3. An organzational 72 * unit (OU).</p> <p>4. The organization itself. (This shares with every account in 73 * the organization).</p> 74 */ SetPrincipalId(Aws::String && value)75 inline void SetPrincipalId(Aws::String&& value) { m_principalIdHasBeenSet = true; m_principalId = std::move(value); } 76 77 /** 78 * <p>The identifier of the recipient entity that received the portfolio share. The 79 * recipient entities can be one of the following: </p> <p>1. An external 80 * account.</p> <p>2. An organziation member account.</p> <p>3. An organzational 81 * unit (OU).</p> <p>4. The organization itself. (This shares with every account in 82 * the organization).</p> 83 */ SetPrincipalId(const char * value)84 inline void SetPrincipalId(const char* value) { m_principalIdHasBeenSet = true; m_principalId.assign(value); } 85 86 /** 87 * <p>The identifier of the recipient entity that received the portfolio share. The 88 * recipient entities can be one of the following: </p> <p>1. An external 89 * account.</p> <p>2. An organziation member account.</p> <p>3. An organzational 90 * unit (OU).</p> <p>4. The organization itself. (This shares with every account in 91 * the organization).</p> 92 */ WithPrincipalId(const Aws::String & value)93 inline PortfolioShareDetail& WithPrincipalId(const Aws::String& value) { SetPrincipalId(value); return *this;} 94 95 /** 96 * <p>The identifier of the recipient entity that received the portfolio share. The 97 * recipient entities can be one of the following: </p> <p>1. An external 98 * account.</p> <p>2. An organziation member account.</p> <p>3. An organzational 99 * unit (OU).</p> <p>4. The organization itself. (This shares with every account in 100 * the organization).</p> 101 */ WithPrincipalId(Aws::String && value)102 inline PortfolioShareDetail& WithPrincipalId(Aws::String&& value) { SetPrincipalId(std::move(value)); return *this;} 103 104 /** 105 * <p>The identifier of the recipient entity that received the portfolio share. The 106 * recipient entities can be one of the following: </p> <p>1. An external 107 * account.</p> <p>2. An organziation member account.</p> <p>3. An organzational 108 * unit (OU).</p> <p>4. The organization itself. (This shares with every account in 109 * the organization).</p> 110 */ WithPrincipalId(const char * value)111 inline PortfolioShareDetail& WithPrincipalId(const char* value) { SetPrincipalId(value); return *this;} 112 113 114 /** 115 * <p>The type of the portfolio share.</p> 116 */ GetType()117 inline const DescribePortfolioShareType& GetType() const{ return m_type; } 118 119 /** 120 * <p>The type of the portfolio share.</p> 121 */ TypeHasBeenSet()122 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } 123 124 /** 125 * <p>The type of the portfolio share.</p> 126 */ SetType(const DescribePortfolioShareType & value)127 inline void SetType(const DescribePortfolioShareType& value) { m_typeHasBeenSet = true; m_type = value; } 128 129 /** 130 * <p>The type of the portfolio share.</p> 131 */ SetType(DescribePortfolioShareType && value)132 inline void SetType(DescribePortfolioShareType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } 133 134 /** 135 * <p>The type of the portfolio share.</p> 136 */ WithType(const DescribePortfolioShareType & value)137 inline PortfolioShareDetail& WithType(const DescribePortfolioShareType& value) { SetType(value); return *this;} 138 139 /** 140 * <p>The type of the portfolio share.</p> 141 */ WithType(DescribePortfolioShareType && value)142 inline PortfolioShareDetail& WithType(DescribePortfolioShareType&& value) { SetType(std::move(value)); return *this;} 143 144 145 /** 146 * <p>Indicates whether the shared portfolio is imported by the recipient account. 147 * If the recipient is in an organization node, the share is automatically 148 * imported, and the field is always set to true.</p> 149 */ GetAccepted()150 inline bool GetAccepted() const{ return m_accepted; } 151 152 /** 153 * <p>Indicates whether the shared portfolio is imported by the recipient account. 154 * If the recipient is in an organization node, the share is automatically 155 * imported, and the field is always set to true.</p> 156 */ AcceptedHasBeenSet()157 inline bool AcceptedHasBeenSet() const { return m_acceptedHasBeenSet; } 158 159 /** 160 * <p>Indicates whether the shared portfolio is imported by the recipient account. 161 * If the recipient is in an organization node, the share is automatically 162 * imported, and the field is always set to true.</p> 163 */ SetAccepted(bool value)164 inline void SetAccepted(bool value) { m_acceptedHasBeenSet = true; m_accepted = value; } 165 166 /** 167 * <p>Indicates whether the shared portfolio is imported by the recipient account. 168 * If the recipient is in an organization node, the share is automatically 169 * imported, and the field is always set to true.</p> 170 */ WithAccepted(bool value)171 inline PortfolioShareDetail& WithAccepted(bool value) { SetAccepted(value); return *this;} 172 173 174 /** 175 * <p>Indicates whether TagOptions sharing is enabled or disabled for the portfolio 176 * share.</p> 177 */ GetShareTagOptions()178 inline bool GetShareTagOptions() const{ return m_shareTagOptions; } 179 180 /** 181 * <p>Indicates whether TagOptions sharing is enabled or disabled for the portfolio 182 * share.</p> 183 */ ShareTagOptionsHasBeenSet()184 inline bool ShareTagOptionsHasBeenSet() const { return m_shareTagOptionsHasBeenSet; } 185 186 /** 187 * <p>Indicates whether TagOptions sharing is enabled or disabled for the portfolio 188 * share.</p> 189 */ SetShareTagOptions(bool value)190 inline void SetShareTagOptions(bool value) { m_shareTagOptionsHasBeenSet = true; m_shareTagOptions = value; } 191 192 /** 193 * <p>Indicates whether TagOptions sharing is enabled or disabled for the portfolio 194 * share.</p> 195 */ WithShareTagOptions(bool value)196 inline PortfolioShareDetail& WithShareTagOptions(bool value) { SetShareTagOptions(value); return *this;} 197 198 private: 199 200 Aws::String m_principalId; 201 bool m_principalIdHasBeenSet; 202 203 DescribePortfolioShareType m_type; 204 bool m_typeHasBeenSet; 205 206 bool m_accepted; 207 bool m_acceptedHasBeenSet; 208 209 bool m_shareTagOptions; 210 bool m_shareTagOptionsHasBeenSet; 211 }; 212 213 } // namespace Model 214 } // namespace ServiceCatalog 215 } // namespace Aws 216