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/codepipeline/CodePipeline_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSVector.h> 9 #include <aws/core/utils/memory/stl/AWSString.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 CodePipeline 23 { 24 namespace Model 25 { 26 27 /** 28 * <p>Details identifying the users with permissions to use the action 29 * type.</p><p><h3>See Also:</h3> <a 30 * href="http://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/ActionTypePermissions">AWS 31 * API Reference</a></p> 32 */ 33 class AWS_CODEPIPELINE_API ActionTypePermissions 34 { 35 public: 36 ActionTypePermissions(); 37 ActionTypePermissions(Aws::Utils::Json::JsonView jsonValue); 38 ActionTypePermissions& operator=(Aws::Utils::Json::JsonView jsonValue); 39 Aws::Utils::Json::JsonValue Jsonize() const; 40 41 42 /** 43 * <p>A list of AWS account IDs with access to use the action type in their 44 * pipelines.</p> 45 */ GetAllowedAccounts()46 inline const Aws::Vector<Aws::String>& GetAllowedAccounts() const{ return m_allowedAccounts; } 47 48 /** 49 * <p>A list of AWS account IDs with access to use the action type in their 50 * pipelines.</p> 51 */ AllowedAccountsHasBeenSet()52 inline bool AllowedAccountsHasBeenSet() const { return m_allowedAccountsHasBeenSet; } 53 54 /** 55 * <p>A list of AWS account IDs with access to use the action type in their 56 * pipelines.</p> 57 */ SetAllowedAccounts(const Aws::Vector<Aws::String> & value)58 inline void SetAllowedAccounts(const Aws::Vector<Aws::String>& value) { m_allowedAccountsHasBeenSet = true; m_allowedAccounts = value; } 59 60 /** 61 * <p>A list of AWS account IDs with access to use the action type in their 62 * pipelines.</p> 63 */ SetAllowedAccounts(Aws::Vector<Aws::String> && value)64 inline void SetAllowedAccounts(Aws::Vector<Aws::String>&& value) { m_allowedAccountsHasBeenSet = true; m_allowedAccounts = std::move(value); } 65 66 /** 67 * <p>A list of AWS account IDs with access to use the action type in their 68 * pipelines.</p> 69 */ WithAllowedAccounts(const Aws::Vector<Aws::String> & value)70 inline ActionTypePermissions& WithAllowedAccounts(const Aws::Vector<Aws::String>& value) { SetAllowedAccounts(value); return *this;} 71 72 /** 73 * <p>A list of AWS account IDs with access to use the action type in their 74 * pipelines.</p> 75 */ WithAllowedAccounts(Aws::Vector<Aws::String> && value)76 inline ActionTypePermissions& WithAllowedAccounts(Aws::Vector<Aws::String>&& value) { SetAllowedAccounts(std::move(value)); return *this;} 77 78 /** 79 * <p>A list of AWS account IDs with access to use the action type in their 80 * pipelines.</p> 81 */ AddAllowedAccounts(const Aws::String & value)82 inline ActionTypePermissions& AddAllowedAccounts(const Aws::String& value) { m_allowedAccountsHasBeenSet = true; m_allowedAccounts.push_back(value); return *this; } 83 84 /** 85 * <p>A list of AWS account IDs with access to use the action type in their 86 * pipelines.</p> 87 */ AddAllowedAccounts(Aws::String && value)88 inline ActionTypePermissions& AddAllowedAccounts(Aws::String&& value) { m_allowedAccountsHasBeenSet = true; m_allowedAccounts.push_back(std::move(value)); return *this; } 89 90 /** 91 * <p>A list of AWS account IDs with access to use the action type in their 92 * pipelines.</p> 93 */ AddAllowedAccounts(const char * value)94 inline ActionTypePermissions& AddAllowedAccounts(const char* value) { m_allowedAccountsHasBeenSet = true; m_allowedAccounts.push_back(value); return *this; } 95 96 private: 97 98 Aws::Vector<Aws::String> m_allowedAccounts; 99 bool m_allowedAccountsHasBeenSet; 100 }; 101 102 } // namespace Model 103 } // namespace CodePipeline 104 } // namespace Aws 105