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/fsx/FSx_EXPORTS.h> 8 #include <aws/fsx/FSxRequest.h> 9 #include <aws/core/utils/memory/stl/AWSVector.h> 10 #include <aws/core/utils/memory/stl/AWSString.h> 11 #include <aws/fsx/model/VolumeFilter.h> 12 #include <utility> 13 14 namespace Aws 15 { 16 namespace FSx 17 { 18 namespace Model 19 { 20 21 /** 22 */ 23 class AWS_FSX_API DescribeVolumesRequest : public FSxRequest 24 { 25 public: 26 DescribeVolumesRequest(); 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 "DescribeVolumes"; } 33 34 Aws::String SerializePayload() const override; 35 36 Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; 37 38 39 /** 40 * <p>IDs of the volumes whose descriptions you want to retrieve.</p> 41 */ GetVolumeIds()42 inline const Aws::Vector<Aws::String>& GetVolumeIds() const{ return m_volumeIds; } 43 44 /** 45 * <p>IDs of the volumes whose descriptions you want to retrieve.</p> 46 */ VolumeIdsHasBeenSet()47 inline bool VolumeIdsHasBeenSet() const { return m_volumeIdsHasBeenSet; } 48 49 /** 50 * <p>IDs of the volumes whose descriptions you want to retrieve.</p> 51 */ SetVolumeIds(const Aws::Vector<Aws::String> & value)52 inline void SetVolumeIds(const Aws::Vector<Aws::String>& value) { m_volumeIdsHasBeenSet = true; m_volumeIds = value; } 53 54 /** 55 * <p>IDs of the volumes whose descriptions you want to retrieve.</p> 56 */ SetVolumeIds(Aws::Vector<Aws::String> && value)57 inline void SetVolumeIds(Aws::Vector<Aws::String>&& value) { m_volumeIdsHasBeenSet = true; m_volumeIds = std::move(value); } 58 59 /** 60 * <p>IDs of the volumes whose descriptions you want to retrieve.</p> 61 */ WithVolumeIds(const Aws::Vector<Aws::String> & value)62 inline DescribeVolumesRequest& WithVolumeIds(const Aws::Vector<Aws::String>& value) { SetVolumeIds(value); return *this;} 63 64 /** 65 * <p>IDs of the volumes whose descriptions you want to retrieve.</p> 66 */ WithVolumeIds(Aws::Vector<Aws::String> && value)67 inline DescribeVolumesRequest& WithVolumeIds(Aws::Vector<Aws::String>&& value) { SetVolumeIds(std::move(value)); return *this;} 68 69 /** 70 * <p>IDs of the volumes whose descriptions you want to retrieve.</p> 71 */ AddVolumeIds(const Aws::String & value)72 inline DescribeVolumesRequest& AddVolumeIds(const Aws::String& value) { m_volumeIdsHasBeenSet = true; m_volumeIds.push_back(value); return *this; } 73 74 /** 75 * <p>IDs of the volumes whose descriptions you want to retrieve.</p> 76 */ AddVolumeIds(Aws::String && value)77 inline DescribeVolumesRequest& AddVolumeIds(Aws::String&& value) { m_volumeIdsHasBeenSet = true; m_volumeIds.push_back(std::move(value)); return *this; } 78 79 /** 80 * <p>IDs of the volumes whose descriptions you want to retrieve.</p> 81 */ AddVolumeIds(const char * value)82 inline DescribeVolumesRequest& AddVolumeIds(const char* value) { m_volumeIdsHasBeenSet = true; m_volumeIds.push_back(value); return *this; } 83 84 85 /** 86 * <p>Enter a filter name:value pair to view a select set of volumes.</p> 87 */ GetFilters()88 inline const Aws::Vector<VolumeFilter>& GetFilters() const{ return m_filters; } 89 90 /** 91 * <p>Enter a filter name:value pair to view a select set of volumes.</p> 92 */ FiltersHasBeenSet()93 inline bool FiltersHasBeenSet() const { return m_filtersHasBeenSet; } 94 95 /** 96 * <p>Enter a filter name:value pair to view a select set of volumes.</p> 97 */ SetFilters(const Aws::Vector<VolumeFilter> & value)98 inline void SetFilters(const Aws::Vector<VolumeFilter>& value) { m_filtersHasBeenSet = true; m_filters = value; } 99 100 /** 101 * <p>Enter a filter name:value pair to view a select set of volumes.</p> 102 */ SetFilters(Aws::Vector<VolumeFilter> && value)103 inline void SetFilters(Aws::Vector<VolumeFilter>&& value) { m_filtersHasBeenSet = true; m_filters = std::move(value); } 104 105 /** 106 * <p>Enter a filter name:value pair to view a select set of volumes.</p> 107 */ WithFilters(const Aws::Vector<VolumeFilter> & value)108 inline DescribeVolumesRequest& WithFilters(const Aws::Vector<VolumeFilter>& value) { SetFilters(value); return *this;} 109 110 /** 111 * <p>Enter a filter name:value pair to view a select set of volumes.</p> 112 */ WithFilters(Aws::Vector<VolumeFilter> && value)113 inline DescribeVolumesRequest& WithFilters(Aws::Vector<VolumeFilter>&& value) { SetFilters(std::move(value)); return *this;} 114 115 /** 116 * <p>Enter a filter name:value pair to view a select set of volumes.</p> 117 */ AddFilters(const VolumeFilter & value)118 inline DescribeVolumesRequest& AddFilters(const VolumeFilter& value) { m_filtersHasBeenSet = true; m_filters.push_back(value); return *this; } 119 120 /** 121 * <p>Enter a filter name:value pair to view a select set of volumes.</p> 122 */ AddFilters(VolumeFilter && value)123 inline DescribeVolumesRequest& AddFilters(VolumeFilter&& value) { m_filtersHasBeenSet = true; m_filters.push_back(std::move(value)); return *this; } 124 125 126 GetMaxResults()127 inline int GetMaxResults() const{ return m_maxResults; } 128 129 MaxResultsHasBeenSet()130 inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } 131 132 SetMaxResults(int value)133 inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } 134 135 WithMaxResults(int value)136 inline DescribeVolumesRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} 137 138 139 GetNextToken()140 inline const Aws::String& GetNextToken() const{ return m_nextToken; } 141 142 NextTokenHasBeenSet()143 inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } 144 145 SetNextToken(const Aws::String & value)146 inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } 147 148 SetNextToken(Aws::String && value)149 inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } 150 151 SetNextToken(const char * value)152 inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } 153 154 WithNextToken(const Aws::String & value)155 inline DescribeVolumesRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} 156 157 WithNextToken(Aws::String && value)158 inline DescribeVolumesRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} 159 160 WithNextToken(const char * value)161 inline DescribeVolumesRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} 162 163 private: 164 165 Aws::Vector<Aws::String> m_volumeIds; 166 bool m_volumeIdsHasBeenSet; 167 168 Aws::Vector<VolumeFilter> m_filters; 169 bool m_filtersHasBeenSet; 170 171 int m_maxResults; 172 bool m_maxResultsHasBeenSet; 173 174 Aws::String m_nextToken; 175 bool m_nextTokenHasBeenSet; 176 }; 177 178 } // namespace Model 179 } // namespace FSx 180 } // namespace Aws 181