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/managedblockchain/ManagedBlockchain_EXPORTS.h> 8 #include <aws/managedblockchain/ManagedBlockchainRequest.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <aws/managedblockchain/model/Framework.h> 11 #include <aws/managedblockchain/model/NetworkFrameworkConfiguration.h> 12 #include <aws/managedblockchain/model/VotingPolicy.h> 13 #include <aws/managedblockchain/model/MemberConfiguration.h> 14 #include <aws/core/utils/memory/stl/AWSMap.h> 15 #include <utility> 16 #include <aws/core/utils/UUID.h> 17 18 namespace Aws 19 { 20 namespace ManagedBlockchain 21 { 22 namespace Model 23 { 24 25 /** 26 */ 27 class AWS_MANAGEDBLOCKCHAIN_API CreateNetworkRequest : public ManagedBlockchainRequest 28 { 29 public: 30 CreateNetworkRequest(); 31 32 // Service request name is the Operation name which will send this request out, 33 // each operation should has unique request name, so that we can get operation's name from this request. 34 // Note: this is not true for response, multiple operations may have the same response name, 35 // so we can not get operation's name from response. GetServiceRequestName()36 inline virtual const char* GetServiceRequestName() const override { return "CreateNetwork"; } 37 38 Aws::String SerializePayload() const override; 39 40 41 /** 42 * <p>A unique, case-sensitive identifier that you provide to ensure the 43 * idempotency of the operation. An idempotent operation completes no more than one 44 * time. This identifier is required only if you make a service request directly 45 * using an HTTP client. It is generated automatically if you use an AWS SDK or the 46 * AWS CLI.</p> 47 */ GetClientRequestToken()48 inline const Aws::String& GetClientRequestToken() const{ return m_clientRequestToken; } 49 50 /** 51 * <p>A unique, case-sensitive identifier that you provide to ensure the 52 * idempotency of the operation. An idempotent operation completes no more than one 53 * time. This identifier is required only if you make a service request directly 54 * using an HTTP client. It is generated automatically if you use an AWS SDK or the 55 * AWS CLI.</p> 56 */ ClientRequestTokenHasBeenSet()57 inline bool ClientRequestTokenHasBeenSet() const { return m_clientRequestTokenHasBeenSet; } 58 59 /** 60 * <p>A unique, case-sensitive identifier that you provide to ensure the 61 * idempotency of the operation. An idempotent operation completes no more than one 62 * time. This identifier is required only if you make a service request directly 63 * using an HTTP client. It is generated automatically if you use an AWS SDK or the 64 * AWS CLI.</p> 65 */ SetClientRequestToken(const Aws::String & value)66 inline void SetClientRequestToken(const Aws::String& value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken = value; } 67 68 /** 69 * <p>A unique, case-sensitive identifier that you provide to ensure the 70 * idempotency of the operation. An idempotent operation completes no more than one 71 * time. This identifier is required only if you make a service request directly 72 * using an HTTP client. It is generated automatically if you use an AWS SDK or the 73 * AWS CLI.</p> 74 */ SetClientRequestToken(Aws::String && value)75 inline void SetClientRequestToken(Aws::String&& value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken = std::move(value); } 76 77 /** 78 * <p>A unique, case-sensitive identifier that you provide to ensure the 79 * idempotency of the operation. An idempotent operation completes no more than one 80 * time. This identifier is required only if you make a service request directly 81 * using an HTTP client. It is generated automatically if you use an AWS SDK or the 82 * AWS CLI.</p> 83 */ SetClientRequestToken(const char * value)84 inline void SetClientRequestToken(const char* value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken.assign(value); } 85 86 /** 87 * <p>A unique, case-sensitive identifier that you provide to ensure the 88 * idempotency of the operation. An idempotent operation completes no more than one 89 * time. This identifier is required only if you make a service request directly 90 * using an HTTP client. It is generated automatically if you use an AWS SDK or the 91 * AWS CLI.</p> 92 */ WithClientRequestToken(const Aws::String & value)93 inline CreateNetworkRequest& WithClientRequestToken(const Aws::String& value) { SetClientRequestToken(value); return *this;} 94 95 /** 96 * <p>A unique, case-sensitive identifier that you provide to ensure the 97 * idempotency of the operation. An idempotent operation completes no more than one 98 * time. This identifier is required only if you make a service request directly 99 * using an HTTP client. It is generated automatically if you use an AWS SDK or the 100 * AWS CLI.</p> 101 */ WithClientRequestToken(Aws::String && value)102 inline CreateNetworkRequest& WithClientRequestToken(Aws::String&& value) { SetClientRequestToken(std::move(value)); return *this;} 103 104 /** 105 * <p>A unique, case-sensitive identifier that you provide to ensure the 106 * idempotency of the operation. An idempotent operation completes no more than one 107 * time. This identifier is required only if you make a service request directly 108 * using an HTTP client. It is generated automatically if you use an AWS SDK or the 109 * AWS CLI.</p> 110 */ WithClientRequestToken(const char * value)111 inline CreateNetworkRequest& WithClientRequestToken(const char* value) { SetClientRequestToken(value); return *this;} 112 113 114 /** 115 * <p>The name of the network.</p> 116 */ GetName()117 inline const Aws::String& GetName() const{ return m_name; } 118 119 /** 120 * <p>The name of the network.</p> 121 */ NameHasBeenSet()122 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } 123 124 /** 125 * <p>The name of the network.</p> 126 */ SetName(const Aws::String & value)127 inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } 128 129 /** 130 * <p>The name of the network.</p> 131 */ SetName(Aws::String && value)132 inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } 133 134 /** 135 * <p>The name of the network.</p> 136 */ SetName(const char * value)137 inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } 138 139 /** 140 * <p>The name of the network.</p> 141 */ WithName(const Aws::String & value)142 inline CreateNetworkRequest& WithName(const Aws::String& value) { SetName(value); return *this;} 143 144 /** 145 * <p>The name of the network.</p> 146 */ WithName(Aws::String && value)147 inline CreateNetworkRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} 148 149 /** 150 * <p>The name of the network.</p> 151 */ WithName(const char * value)152 inline CreateNetworkRequest& WithName(const char* value) { SetName(value); return *this;} 153 154 155 /** 156 * <p>An optional description for the network.</p> 157 */ GetDescription()158 inline const Aws::String& GetDescription() const{ return m_description; } 159 160 /** 161 * <p>An optional description for the network.</p> 162 */ DescriptionHasBeenSet()163 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } 164 165 /** 166 * <p>An optional description for the network.</p> 167 */ SetDescription(const Aws::String & value)168 inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } 169 170 /** 171 * <p>An optional description for the network.</p> 172 */ SetDescription(Aws::String && value)173 inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } 174 175 /** 176 * <p>An optional description for the network.</p> 177 */ SetDescription(const char * value)178 inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } 179 180 /** 181 * <p>An optional description for the network.</p> 182 */ WithDescription(const Aws::String & value)183 inline CreateNetworkRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} 184 185 /** 186 * <p>An optional description for the network.</p> 187 */ WithDescription(Aws::String && value)188 inline CreateNetworkRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} 189 190 /** 191 * <p>An optional description for the network.</p> 192 */ WithDescription(const char * value)193 inline CreateNetworkRequest& WithDescription(const char* value) { SetDescription(value); return *this;} 194 195 196 /** 197 * <p>The blockchain framework that the network uses.</p> 198 */ GetFramework()199 inline const Framework& GetFramework() const{ return m_framework; } 200 201 /** 202 * <p>The blockchain framework that the network uses.</p> 203 */ FrameworkHasBeenSet()204 inline bool FrameworkHasBeenSet() const { return m_frameworkHasBeenSet; } 205 206 /** 207 * <p>The blockchain framework that the network uses.</p> 208 */ SetFramework(const Framework & value)209 inline void SetFramework(const Framework& value) { m_frameworkHasBeenSet = true; m_framework = value; } 210 211 /** 212 * <p>The blockchain framework that the network uses.</p> 213 */ SetFramework(Framework && value)214 inline void SetFramework(Framework&& value) { m_frameworkHasBeenSet = true; m_framework = std::move(value); } 215 216 /** 217 * <p>The blockchain framework that the network uses.</p> 218 */ WithFramework(const Framework & value)219 inline CreateNetworkRequest& WithFramework(const Framework& value) { SetFramework(value); return *this;} 220 221 /** 222 * <p>The blockchain framework that the network uses.</p> 223 */ WithFramework(Framework && value)224 inline CreateNetworkRequest& WithFramework(Framework&& value) { SetFramework(std::move(value)); return *this;} 225 226 227 /** 228 * <p>The version of the blockchain framework that the network uses.</p> 229 */ GetFrameworkVersion()230 inline const Aws::String& GetFrameworkVersion() const{ return m_frameworkVersion; } 231 232 /** 233 * <p>The version of the blockchain framework that the network uses.</p> 234 */ FrameworkVersionHasBeenSet()235 inline bool FrameworkVersionHasBeenSet() const { return m_frameworkVersionHasBeenSet; } 236 237 /** 238 * <p>The version of the blockchain framework that the network uses.</p> 239 */ SetFrameworkVersion(const Aws::String & value)240 inline void SetFrameworkVersion(const Aws::String& value) { m_frameworkVersionHasBeenSet = true; m_frameworkVersion = value; } 241 242 /** 243 * <p>The version of the blockchain framework that the network uses.</p> 244 */ SetFrameworkVersion(Aws::String && value)245 inline void SetFrameworkVersion(Aws::String&& value) { m_frameworkVersionHasBeenSet = true; m_frameworkVersion = std::move(value); } 246 247 /** 248 * <p>The version of the blockchain framework that the network uses.</p> 249 */ SetFrameworkVersion(const char * value)250 inline void SetFrameworkVersion(const char* value) { m_frameworkVersionHasBeenSet = true; m_frameworkVersion.assign(value); } 251 252 /** 253 * <p>The version of the blockchain framework that the network uses.</p> 254 */ WithFrameworkVersion(const Aws::String & value)255 inline CreateNetworkRequest& WithFrameworkVersion(const Aws::String& value) { SetFrameworkVersion(value); return *this;} 256 257 /** 258 * <p>The version of the blockchain framework that the network uses.</p> 259 */ WithFrameworkVersion(Aws::String && value)260 inline CreateNetworkRequest& WithFrameworkVersion(Aws::String&& value) { SetFrameworkVersion(std::move(value)); return *this;} 261 262 /** 263 * <p>The version of the blockchain framework that the network uses.</p> 264 */ WithFrameworkVersion(const char * value)265 inline CreateNetworkRequest& WithFrameworkVersion(const char* value) { SetFrameworkVersion(value); return *this;} 266 267 268 /** 269 * <p> Configuration properties of the blockchain framework relevant to the network 270 * configuration. </p> 271 */ GetFrameworkConfiguration()272 inline const NetworkFrameworkConfiguration& GetFrameworkConfiguration() const{ return m_frameworkConfiguration; } 273 274 /** 275 * <p> Configuration properties of the blockchain framework relevant to the network 276 * configuration. </p> 277 */ FrameworkConfigurationHasBeenSet()278 inline bool FrameworkConfigurationHasBeenSet() const { return m_frameworkConfigurationHasBeenSet; } 279 280 /** 281 * <p> Configuration properties of the blockchain framework relevant to the network 282 * configuration. </p> 283 */ SetFrameworkConfiguration(const NetworkFrameworkConfiguration & value)284 inline void SetFrameworkConfiguration(const NetworkFrameworkConfiguration& value) { m_frameworkConfigurationHasBeenSet = true; m_frameworkConfiguration = value; } 285 286 /** 287 * <p> Configuration properties of the blockchain framework relevant to the network 288 * configuration. </p> 289 */ SetFrameworkConfiguration(NetworkFrameworkConfiguration && value)290 inline void SetFrameworkConfiguration(NetworkFrameworkConfiguration&& value) { m_frameworkConfigurationHasBeenSet = true; m_frameworkConfiguration = std::move(value); } 291 292 /** 293 * <p> Configuration properties of the blockchain framework relevant to the network 294 * configuration. </p> 295 */ WithFrameworkConfiguration(const NetworkFrameworkConfiguration & value)296 inline CreateNetworkRequest& WithFrameworkConfiguration(const NetworkFrameworkConfiguration& value) { SetFrameworkConfiguration(value); return *this;} 297 298 /** 299 * <p> Configuration properties of the blockchain framework relevant to the network 300 * configuration. </p> 301 */ WithFrameworkConfiguration(NetworkFrameworkConfiguration && value)302 inline CreateNetworkRequest& WithFrameworkConfiguration(NetworkFrameworkConfiguration&& value) { SetFrameworkConfiguration(std::move(value)); return *this;} 303 304 305 /** 306 * <p> The voting rules used by the network to determine if a proposal is approved. 307 * </p> 308 */ GetVotingPolicy()309 inline const VotingPolicy& GetVotingPolicy() const{ return m_votingPolicy; } 310 311 /** 312 * <p> The voting rules used by the network to determine if a proposal is approved. 313 * </p> 314 */ VotingPolicyHasBeenSet()315 inline bool VotingPolicyHasBeenSet() const { return m_votingPolicyHasBeenSet; } 316 317 /** 318 * <p> The voting rules used by the network to determine if a proposal is approved. 319 * </p> 320 */ SetVotingPolicy(const VotingPolicy & value)321 inline void SetVotingPolicy(const VotingPolicy& value) { m_votingPolicyHasBeenSet = true; m_votingPolicy = value; } 322 323 /** 324 * <p> The voting rules used by the network to determine if a proposal is approved. 325 * </p> 326 */ SetVotingPolicy(VotingPolicy && value)327 inline void SetVotingPolicy(VotingPolicy&& value) { m_votingPolicyHasBeenSet = true; m_votingPolicy = std::move(value); } 328 329 /** 330 * <p> The voting rules used by the network to determine if a proposal is approved. 331 * </p> 332 */ WithVotingPolicy(const VotingPolicy & value)333 inline CreateNetworkRequest& WithVotingPolicy(const VotingPolicy& value) { SetVotingPolicy(value); return *this;} 334 335 /** 336 * <p> The voting rules used by the network to determine if a proposal is approved. 337 * </p> 338 */ WithVotingPolicy(VotingPolicy && value)339 inline CreateNetworkRequest& WithVotingPolicy(VotingPolicy&& value) { SetVotingPolicy(std::move(value)); return *this;} 340 341 342 /** 343 * <p>Configuration properties for the first member within the network.</p> 344 */ GetMemberConfiguration()345 inline const MemberConfiguration& GetMemberConfiguration() const{ return m_memberConfiguration; } 346 347 /** 348 * <p>Configuration properties for the first member within the network.</p> 349 */ MemberConfigurationHasBeenSet()350 inline bool MemberConfigurationHasBeenSet() const { return m_memberConfigurationHasBeenSet; } 351 352 /** 353 * <p>Configuration properties for the first member within the network.</p> 354 */ SetMemberConfiguration(const MemberConfiguration & value)355 inline void SetMemberConfiguration(const MemberConfiguration& value) { m_memberConfigurationHasBeenSet = true; m_memberConfiguration = value; } 356 357 /** 358 * <p>Configuration properties for the first member within the network.</p> 359 */ SetMemberConfiguration(MemberConfiguration && value)360 inline void SetMemberConfiguration(MemberConfiguration&& value) { m_memberConfigurationHasBeenSet = true; m_memberConfiguration = std::move(value); } 361 362 /** 363 * <p>Configuration properties for the first member within the network.</p> 364 */ WithMemberConfiguration(const MemberConfiguration & value)365 inline CreateNetworkRequest& WithMemberConfiguration(const MemberConfiguration& value) { SetMemberConfiguration(value); return *this;} 366 367 /** 368 * <p>Configuration properties for the first member within the network.</p> 369 */ WithMemberConfiguration(MemberConfiguration && value)370 inline CreateNetworkRequest& WithMemberConfiguration(MemberConfiguration&& value) { SetMemberConfiguration(std::move(value)); return *this;} 371 372 373 /** 374 * <p>Tags to assign to the network. Each tag consists of a key and optional 375 * value.</p> <p>When specifying tags during creation, you can specify multiple 376 * key-value pairs in a single request, with an overall maximum of 50 tags added to 377 * each resource.</p> <p>For more information about tags, see <a 378 * href="https://docs.aws.amazon.com/managed-blockchain/latest/ethereum-dev/tagging-resources.html">Tagging 379 * Resources</a> in the <i>Amazon Managed Blockchain Ethereum Developer Guide</i>, 380 * or <a 381 * href="https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html">Tagging 382 * Resources</a> in the <i>Amazon Managed Blockchain Hyperledger Fabric Developer 383 * Guide</i>.</p> 384 */ GetTags()385 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const{ return m_tags; } 386 387 /** 388 * <p>Tags to assign to the network. Each tag consists of a key and optional 389 * value.</p> <p>When specifying tags during creation, you can specify multiple 390 * key-value pairs in a single request, with an overall maximum of 50 tags added to 391 * each resource.</p> <p>For more information about tags, see <a 392 * href="https://docs.aws.amazon.com/managed-blockchain/latest/ethereum-dev/tagging-resources.html">Tagging 393 * Resources</a> in the <i>Amazon Managed Blockchain Ethereum Developer Guide</i>, 394 * or <a 395 * href="https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html">Tagging 396 * Resources</a> in the <i>Amazon Managed Blockchain Hyperledger Fabric Developer 397 * Guide</i>.</p> 398 */ TagsHasBeenSet()399 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } 400 401 /** 402 * <p>Tags to assign to the network. Each tag consists of a key and optional 403 * value.</p> <p>When specifying tags during creation, you can specify multiple 404 * key-value pairs in a single request, with an overall maximum of 50 tags added to 405 * each resource.</p> <p>For more information about tags, see <a 406 * href="https://docs.aws.amazon.com/managed-blockchain/latest/ethereum-dev/tagging-resources.html">Tagging 407 * Resources</a> in the <i>Amazon Managed Blockchain Ethereum Developer Guide</i>, 408 * or <a 409 * href="https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html">Tagging 410 * Resources</a> in the <i>Amazon Managed Blockchain Hyperledger Fabric Developer 411 * Guide</i>.</p> 412 */ SetTags(const Aws::Map<Aws::String,Aws::String> & value)413 inline void SetTags(const Aws::Map<Aws::String, Aws::String>& value) { m_tagsHasBeenSet = true; m_tags = value; } 414 415 /** 416 * <p>Tags to assign to the network. Each tag consists of a key and optional 417 * value.</p> <p>When specifying tags during creation, you can specify multiple 418 * key-value pairs in a single request, with an overall maximum of 50 tags added to 419 * each resource.</p> <p>For more information about tags, see <a 420 * href="https://docs.aws.amazon.com/managed-blockchain/latest/ethereum-dev/tagging-resources.html">Tagging 421 * Resources</a> in the <i>Amazon Managed Blockchain Ethereum Developer Guide</i>, 422 * or <a 423 * href="https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html">Tagging 424 * Resources</a> in the <i>Amazon Managed Blockchain Hyperledger Fabric Developer 425 * Guide</i>.</p> 426 */ SetTags(Aws::Map<Aws::String,Aws::String> && value)427 inline void SetTags(Aws::Map<Aws::String, Aws::String>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } 428 429 /** 430 * <p>Tags to assign to the network. Each tag consists of a key and optional 431 * value.</p> <p>When specifying tags during creation, you can specify multiple 432 * key-value pairs in a single request, with an overall maximum of 50 tags added to 433 * each resource.</p> <p>For more information about tags, see <a 434 * href="https://docs.aws.amazon.com/managed-blockchain/latest/ethereum-dev/tagging-resources.html">Tagging 435 * Resources</a> in the <i>Amazon Managed Blockchain Ethereum Developer Guide</i>, 436 * or <a 437 * href="https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html">Tagging 438 * Resources</a> in the <i>Amazon Managed Blockchain Hyperledger Fabric Developer 439 * Guide</i>.</p> 440 */ WithTags(const Aws::Map<Aws::String,Aws::String> & value)441 inline CreateNetworkRequest& WithTags(const Aws::Map<Aws::String, Aws::String>& value) { SetTags(value); return *this;} 442 443 /** 444 * <p>Tags to assign to the network. Each tag consists of a key and optional 445 * value.</p> <p>When specifying tags during creation, you can specify multiple 446 * key-value pairs in a single request, with an overall maximum of 50 tags added to 447 * each resource.</p> <p>For more information about tags, see <a 448 * href="https://docs.aws.amazon.com/managed-blockchain/latest/ethereum-dev/tagging-resources.html">Tagging 449 * Resources</a> in the <i>Amazon Managed Blockchain Ethereum Developer Guide</i>, 450 * or <a 451 * href="https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html">Tagging 452 * Resources</a> in the <i>Amazon Managed Blockchain Hyperledger Fabric Developer 453 * Guide</i>.</p> 454 */ WithTags(Aws::Map<Aws::String,Aws::String> && value)455 inline CreateNetworkRequest& WithTags(Aws::Map<Aws::String, Aws::String>&& value) { SetTags(std::move(value)); return *this;} 456 457 /** 458 * <p>Tags to assign to the network. Each tag consists of a key and optional 459 * value.</p> <p>When specifying tags during creation, you can specify multiple 460 * key-value pairs in a single request, with an overall maximum of 50 tags added to 461 * each resource.</p> <p>For more information about tags, see <a 462 * href="https://docs.aws.amazon.com/managed-blockchain/latest/ethereum-dev/tagging-resources.html">Tagging 463 * Resources</a> in the <i>Amazon Managed Blockchain Ethereum Developer Guide</i>, 464 * or <a 465 * href="https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html">Tagging 466 * Resources</a> in the <i>Amazon Managed Blockchain Hyperledger Fabric Developer 467 * Guide</i>.</p> 468 */ AddTags(const Aws::String & key,const Aws::String & value)469 inline CreateNetworkRequest& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } 470 471 /** 472 * <p>Tags to assign to the network. Each tag consists of a key and optional 473 * value.</p> <p>When specifying tags during creation, you can specify multiple 474 * key-value pairs in a single request, with an overall maximum of 50 tags added to 475 * each resource.</p> <p>For more information about tags, see <a 476 * href="https://docs.aws.amazon.com/managed-blockchain/latest/ethereum-dev/tagging-resources.html">Tagging 477 * Resources</a> in the <i>Amazon Managed Blockchain Ethereum Developer Guide</i>, 478 * or <a 479 * href="https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html">Tagging 480 * Resources</a> in the <i>Amazon Managed Blockchain Hyperledger Fabric Developer 481 * Guide</i>.</p> 482 */ AddTags(Aws::String && key,const Aws::String & value)483 inline CreateNetworkRequest& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } 484 485 /** 486 * <p>Tags to assign to the network. Each tag consists of a key and optional 487 * value.</p> <p>When specifying tags during creation, you can specify multiple 488 * key-value pairs in a single request, with an overall maximum of 50 tags added to 489 * each resource.</p> <p>For more information about tags, see <a 490 * href="https://docs.aws.amazon.com/managed-blockchain/latest/ethereum-dev/tagging-resources.html">Tagging 491 * Resources</a> in the <i>Amazon Managed Blockchain Ethereum Developer Guide</i>, 492 * or <a 493 * href="https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html">Tagging 494 * Resources</a> in the <i>Amazon Managed Blockchain Hyperledger Fabric Developer 495 * Guide</i>.</p> 496 */ AddTags(const Aws::String & key,Aws::String && value)497 inline CreateNetworkRequest& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } 498 499 /** 500 * <p>Tags to assign to the network. Each tag consists of a key and optional 501 * value.</p> <p>When specifying tags during creation, you can specify multiple 502 * key-value pairs in a single request, with an overall maximum of 50 tags added to 503 * each resource.</p> <p>For more information about tags, see <a 504 * href="https://docs.aws.amazon.com/managed-blockchain/latest/ethereum-dev/tagging-resources.html">Tagging 505 * Resources</a> in the <i>Amazon Managed Blockchain Ethereum Developer Guide</i>, 506 * or <a 507 * href="https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html">Tagging 508 * Resources</a> in the <i>Amazon Managed Blockchain Hyperledger Fabric Developer 509 * Guide</i>.</p> 510 */ AddTags(Aws::String && key,Aws::String && value)511 inline CreateNetworkRequest& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } 512 513 /** 514 * <p>Tags to assign to the network. Each tag consists of a key and optional 515 * value.</p> <p>When specifying tags during creation, you can specify multiple 516 * key-value pairs in a single request, with an overall maximum of 50 tags added to 517 * each resource.</p> <p>For more information about tags, see <a 518 * href="https://docs.aws.amazon.com/managed-blockchain/latest/ethereum-dev/tagging-resources.html">Tagging 519 * Resources</a> in the <i>Amazon Managed Blockchain Ethereum Developer Guide</i>, 520 * or <a 521 * href="https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html">Tagging 522 * Resources</a> in the <i>Amazon Managed Blockchain Hyperledger Fabric Developer 523 * Guide</i>.</p> 524 */ AddTags(const char * key,Aws::String && value)525 inline CreateNetworkRequest& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } 526 527 /** 528 * <p>Tags to assign to the network. Each tag consists of a key and optional 529 * value.</p> <p>When specifying tags during creation, you can specify multiple 530 * key-value pairs in a single request, with an overall maximum of 50 tags added to 531 * each resource.</p> <p>For more information about tags, see <a 532 * href="https://docs.aws.amazon.com/managed-blockchain/latest/ethereum-dev/tagging-resources.html">Tagging 533 * Resources</a> in the <i>Amazon Managed Blockchain Ethereum Developer Guide</i>, 534 * or <a 535 * href="https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html">Tagging 536 * Resources</a> in the <i>Amazon Managed Blockchain Hyperledger Fabric Developer 537 * Guide</i>.</p> 538 */ AddTags(Aws::String && key,const char * value)539 inline CreateNetworkRequest& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } 540 541 /** 542 * <p>Tags to assign to the network. Each tag consists of a key and optional 543 * value.</p> <p>When specifying tags during creation, you can specify multiple 544 * key-value pairs in a single request, with an overall maximum of 50 tags added to 545 * each resource.</p> <p>For more information about tags, see <a 546 * href="https://docs.aws.amazon.com/managed-blockchain/latest/ethereum-dev/tagging-resources.html">Tagging 547 * Resources</a> in the <i>Amazon Managed Blockchain Ethereum Developer Guide</i>, 548 * or <a 549 * href="https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html">Tagging 550 * Resources</a> in the <i>Amazon Managed Blockchain Hyperledger Fabric Developer 551 * Guide</i>.</p> 552 */ AddTags(const char * key,const char * value)553 inline CreateNetworkRequest& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } 554 555 private: 556 557 Aws::String m_clientRequestToken; 558 bool m_clientRequestTokenHasBeenSet; 559 560 Aws::String m_name; 561 bool m_nameHasBeenSet; 562 563 Aws::String m_description; 564 bool m_descriptionHasBeenSet; 565 566 Framework m_framework; 567 bool m_frameworkHasBeenSet; 568 569 Aws::String m_frameworkVersion; 570 bool m_frameworkVersionHasBeenSet; 571 572 NetworkFrameworkConfiguration m_frameworkConfiguration; 573 bool m_frameworkConfigurationHasBeenSet; 574 575 VotingPolicy m_votingPolicy; 576 bool m_votingPolicyHasBeenSet; 577 578 MemberConfiguration m_memberConfiguration; 579 bool m_memberConfigurationHasBeenSet; 580 581 Aws::Map<Aws::String, Aws::String> m_tags; 582 bool m_tagsHasBeenSet; 583 }; 584 585 } // namespace Model 586 } // namespace ManagedBlockchain 587 } // namespace Aws 588