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/fms/FMS_EXPORTS.h> 8 #include <aws/fms/FMSRequest.h> 9 #include <aws/fms/model/ProtocolsListData.h> 10 #include <aws/core/utils/memory/stl/AWSVector.h> 11 #include <aws/fms/model/Tag.h> 12 #include <utility> 13 14 namespace Aws 15 { 16 namespace FMS 17 { 18 namespace Model 19 { 20 21 /** 22 */ 23 class AWS_FMS_API PutProtocolsListRequest : public FMSRequest 24 { 25 public: 26 PutProtocolsListRequest(); 27 28 // Service request name is the Operation name which will send this request out, 29 // each operation should has unique request name, so that we can get operation's name from this request. 30 // Note: this is not true for response, multiple operations may have the same response name, 31 // so we can not get operation's name from response. GetServiceRequestName()32 inline virtual const char* GetServiceRequestName() const override { return "PutProtocolsList"; } 33 34 Aws::String SerializePayload() const override; 35 36 Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; 37 38 39 /** 40 * <p>The details of the Firewall Manager protocols list to be created.</p> 41 */ GetProtocolsList()42 inline const ProtocolsListData& GetProtocolsList() const{ return m_protocolsList; } 43 44 /** 45 * <p>The details of the Firewall Manager protocols list to be created.</p> 46 */ ProtocolsListHasBeenSet()47 inline bool ProtocolsListHasBeenSet() const { return m_protocolsListHasBeenSet; } 48 49 /** 50 * <p>The details of the Firewall Manager protocols list to be created.</p> 51 */ SetProtocolsList(const ProtocolsListData & value)52 inline void SetProtocolsList(const ProtocolsListData& value) { m_protocolsListHasBeenSet = true; m_protocolsList = value; } 53 54 /** 55 * <p>The details of the Firewall Manager protocols list to be created.</p> 56 */ SetProtocolsList(ProtocolsListData && value)57 inline void SetProtocolsList(ProtocolsListData&& value) { m_protocolsListHasBeenSet = true; m_protocolsList = std::move(value); } 58 59 /** 60 * <p>The details of the Firewall Manager protocols list to be created.</p> 61 */ WithProtocolsList(const ProtocolsListData & value)62 inline PutProtocolsListRequest& WithProtocolsList(const ProtocolsListData& value) { SetProtocolsList(value); return *this;} 63 64 /** 65 * <p>The details of the Firewall Manager protocols list to be created.</p> 66 */ WithProtocolsList(ProtocolsListData && value)67 inline PutProtocolsListRequest& WithProtocolsList(ProtocolsListData&& value) { SetProtocolsList(std::move(value)); return *this;} 68 69 70 /** 71 * <p>The tags associated with the resource.</p> 72 */ GetTagList()73 inline const Aws::Vector<Tag>& GetTagList() const{ return m_tagList; } 74 75 /** 76 * <p>The tags associated with the resource.</p> 77 */ TagListHasBeenSet()78 inline bool TagListHasBeenSet() const { return m_tagListHasBeenSet; } 79 80 /** 81 * <p>The tags associated with the resource.</p> 82 */ SetTagList(const Aws::Vector<Tag> & value)83 inline void SetTagList(const Aws::Vector<Tag>& value) { m_tagListHasBeenSet = true; m_tagList = value; } 84 85 /** 86 * <p>The tags associated with the resource.</p> 87 */ SetTagList(Aws::Vector<Tag> && value)88 inline void SetTagList(Aws::Vector<Tag>&& value) { m_tagListHasBeenSet = true; m_tagList = std::move(value); } 89 90 /** 91 * <p>The tags associated with the resource.</p> 92 */ WithTagList(const Aws::Vector<Tag> & value)93 inline PutProtocolsListRequest& WithTagList(const Aws::Vector<Tag>& value) { SetTagList(value); return *this;} 94 95 /** 96 * <p>The tags associated with the resource.</p> 97 */ WithTagList(Aws::Vector<Tag> && value)98 inline PutProtocolsListRequest& WithTagList(Aws::Vector<Tag>&& value) { SetTagList(std::move(value)); return *this;} 99 100 /** 101 * <p>The tags associated with the resource.</p> 102 */ AddTagList(const Tag & value)103 inline PutProtocolsListRequest& AddTagList(const Tag& value) { m_tagListHasBeenSet = true; m_tagList.push_back(value); return *this; } 104 105 /** 106 * <p>The tags associated with the resource.</p> 107 */ AddTagList(Tag && value)108 inline PutProtocolsListRequest& AddTagList(Tag&& value) { m_tagListHasBeenSet = true; m_tagList.push_back(std::move(value)); return *this; } 109 110 private: 111 112 ProtocolsListData m_protocolsList; 113 bool m_protocolsListHasBeenSet; 114 115 Aws::Vector<Tag> m_tagList; 116 bool m_tagListHasBeenSet; 117 }; 118 119 } // namespace Model 120 } // namespace FMS 121 } // namespace Aws 122