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/ssm/SSM_EXPORTS.h> 8 #include <aws/ssm/SSMRequest.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <aws/ssm/model/InventorySchemaDeleteOption.h> 11 #include <utility> 12 #include <aws/core/utils/UUID.h> 13 14 namespace Aws 15 { 16 namespace SSM 17 { 18 namespace Model 19 { 20 21 /** 22 */ 23 class AWS_SSM_API DeleteInventoryRequest : public SSMRequest 24 { 25 public: 26 DeleteInventoryRequest(); 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 "DeleteInventory"; } 33 34 Aws::String SerializePayload() const override; 35 36 Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; 37 38 39 /** 40 * <p>The name of the custom inventory type for which you want to delete either all 41 * previously collected data or the inventory type itself. </p> 42 */ GetTypeName()43 inline const Aws::String& GetTypeName() const{ return m_typeName; } 44 45 /** 46 * <p>The name of the custom inventory type for which you want to delete either all 47 * previously collected data or the inventory type itself. </p> 48 */ TypeNameHasBeenSet()49 inline bool TypeNameHasBeenSet() const { return m_typeNameHasBeenSet; } 50 51 /** 52 * <p>The name of the custom inventory type for which you want to delete either all 53 * previously collected data or the inventory type itself. </p> 54 */ SetTypeName(const Aws::String & value)55 inline void SetTypeName(const Aws::String& value) { m_typeNameHasBeenSet = true; m_typeName = value; } 56 57 /** 58 * <p>The name of the custom inventory type for which you want to delete either all 59 * previously collected data or the inventory type itself. </p> 60 */ SetTypeName(Aws::String && value)61 inline void SetTypeName(Aws::String&& value) { m_typeNameHasBeenSet = true; m_typeName = std::move(value); } 62 63 /** 64 * <p>The name of the custom inventory type for which you want to delete either all 65 * previously collected data or the inventory type itself. </p> 66 */ SetTypeName(const char * value)67 inline void SetTypeName(const char* value) { m_typeNameHasBeenSet = true; m_typeName.assign(value); } 68 69 /** 70 * <p>The name of the custom inventory type for which you want to delete either all 71 * previously collected data or the inventory type itself. </p> 72 */ WithTypeName(const Aws::String & value)73 inline DeleteInventoryRequest& WithTypeName(const Aws::String& value) { SetTypeName(value); return *this;} 74 75 /** 76 * <p>The name of the custom inventory type for which you want to delete either all 77 * previously collected data or the inventory type itself. </p> 78 */ WithTypeName(Aws::String && value)79 inline DeleteInventoryRequest& WithTypeName(Aws::String&& value) { SetTypeName(std::move(value)); return *this;} 80 81 /** 82 * <p>The name of the custom inventory type for which you want to delete either all 83 * previously collected data or the inventory type itself. </p> 84 */ WithTypeName(const char * value)85 inline DeleteInventoryRequest& WithTypeName(const char* value) { SetTypeName(value); return *this;} 86 87 88 /** 89 * <p>Use the <code>SchemaDeleteOption</code> to delete a custom inventory type 90 * (schema). If you don't choose this option, the system only deletes existing 91 * inventory data associated with the custom inventory type. Choose one of the 92 * following options:</p> <p>DisableSchema: If you choose this option, the system 93 * ignores all inventory data for the specified version, and any earlier versions. 94 * To enable this schema again, you must call the <code>PutInventory</code> 95 * operation for a version greater than the disabled version.</p> <p>DeleteSchema: 96 * This option deletes the specified custom type from the Inventory service. You 97 * can recreate the schema later, if you want.</p> 98 */ GetSchemaDeleteOption()99 inline const InventorySchemaDeleteOption& GetSchemaDeleteOption() const{ return m_schemaDeleteOption; } 100 101 /** 102 * <p>Use the <code>SchemaDeleteOption</code> to delete a custom inventory type 103 * (schema). If you don't choose this option, the system only deletes existing 104 * inventory data associated with the custom inventory type. Choose one of the 105 * following options:</p> <p>DisableSchema: If you choose this option, the system 106 * ignores all inventory data for the specified version, and any earlier versions. 107 * To enable this schema again, you must call the <code>PutInventory</code> 108 * operation for a version greater than the disabled version.</p> <p>DeleteSchema: 109 * This option deletes the specified custom type from the Inventory service. You 110 * can recreate the schema later, if you want.</p> 111 */ SchemaDeleteOptionHasBeenSet()112 inline bool SchemaDeleteOptionHasBeenSet() const { return m_schemaDeleteOptionHasBeenSet; } 113 114 /** 115 * <p>Use the <code>SchemaDeleteOption</code> to delete a custom inventory type 116 * (schema). If you don't choose this option, the system only deletes existing 117 * inventory data associated with the custom inventory type. Choose one of the 118 * following options:</p> <p>DisableSchema: If you choose this option, the system 119 * ignores all inventory data for the specified version, and any earlier versions. 120 * To enable this schema again, you must call the <code>PutInventory</code> 121 * operation for a version greater than the disabled version.</p> <p>DeleteSchema: 122 * This option deletes the specified custom type from the Inventory service. You 123 * can recreate the schema later, if you want.</p> 124 */ SetSchemaDeleteOption(const InventorySchemaDeleteOption & value)125 inline void SetSchemaDeleteOption(const InventorySchemaDeleteOption& value) { m_schemaDeleteOptionHasBeenSet = true; m_schemaDeleteOption = value; } 126 127 /** 128 * <p>Use the <code>SchemaDeleteOption</code> to delete a custom inventory type 129 * (schema). If you don't choose this option, the system only deletes existing 130 * inventory data associated with the custom inventory type. Choose one of the 131 * following options:</p> <p>DisableSchema: If you choose this option, the system 132 * ignores all inventory data for the specified version, and any earlier versions. 133 * To enable this schema again, you must call the <code>PutInventory</code> 134 * operation for a version greater than the disabled version.</p> <p>DeleteSchema: 135 * This option deletes the specified custom type from the Inventory service. You 136 * can recreate the schema later, if you want.</p> 137 */ SetSchemaDeleteOption(InventorySchemaDeleteOption && value)138 inline void SetSchemaDeleteOption(InventorySchemaDeleteOption&& value) { m_schemaDeleteOptionHasBeenSet = true; m_schemaDeleteOption = std::move(value); } 139 140 /** 141 * <p>Use the <code>SchemaDeleteOption</code> to delete a custom inventory type 142 * (schema). If you don't choose this option, the system only deletes existing 143 * inventory data associated with the custom inventory type. Choose one of the 144 * following options:</p> <p>DisableSchema: If you choose this option, the system 145 * ignores all inventory data for the specified version, and any earlier versions. 146 * To enable this schema again, you must call the <code>PutInventory</code> 147 * operation for a version greater than the disabled version.</p> <p>DeleteSchema: 148 * This option deletes the specified custom type from the Inventory service. You 149 * can recreate the schema later, if you want.</p> 150 */ WithSchemaDeleteOption(const InventorySchemaDeleteOption & value)151 inline DeleteInventoryRequest& WithSchemaDeleteOption(const InventorySchemaDeleteOption& value) { SetSchemaDeleteOption(value); return *this;} 152 153 /** 154 * <p>Use the <code>SchemaDeleteOption</code> to delete a custom inventory type 155 * (schema). If you don't choose this option, the system only deletes existing 156 * inventory data associated with the custom inventory type. Choose one of the 157 * following options:</p> <p>DisableSchema: If you choose this option, the system 158 * ignores all inventory data for the specified version, and any earlier versions. 159 * To enable this schema again, you must call the <code>PutInventory</code> 160 * operation for a version greater than the disabled version.</p> <p>DeleteSchema: 161 * This option deletes the specified custom type from the Inventory service. You 162 * can recreate the schema later, if you want.</p> 163 */ WithSchemaDeleteOption(InventorySchemaDeleteOption && value)164 inline DeleteInventoryRequest& WithSchemaDeleteOption(InventorySchemaDeleteOption&& value) { SetSchemaDeleteOption(std::move(value)); return *this;} 165 166 167 /** 168 * <p>Use this option to view a summary of the deletion request without deleting 169 * any data or the data type. This option is useful when you only want to 170 * understand what will be deleted. Once you validate that the data to be deleted 171 * is what you intend to delete, you can run the same command without specifying 172 * the <code>DryRun</code> option.</p> 173 */ GetDryRun()174 inline bool GetDryRun() const{ return m_dryRun; } 175 176 /** 177 * <p>Use this option to view a summary of the deletion request without deleting 178 * any data or the data type. This option is useful when you only want to 179 * understand what will be deleted. Once you validate that the data to be deleted 180 * is what you intend to delete, you can run the same command without specifying 181 * the <code>DryRun</code> option.</p> 182 */ DryRunHasBeenSet()183 inline bool DryRunHasBeenSet() const { return m_dryRunHasBeenSet; } 184 185 /** 186 * <p>Use this option to view a summary of the deletion request without deleting 187 * any data or the data type. This option is useful when you only want to 188 * understand what will be deleted. Once you validate that the data to be deleted 189 * is what you intend to delete, you can run the same command without specifying 190 * the <code>DryRun</code> option.</p> 191 */ SetDryRun(bool value)192 inline void SetDryRun(bool value) { m_dryRunHasBeenSet = true; m_dryRun = value; } 193 194 /** 195 * <p>Use this option to view a summary of the deletion request without deleting 196 * any data or the data type. This option is useful when you only want to 197 * understand what will be deleted. Once you validate that the data to be deleted 198 * is what you intend to delete, you can run the same command without specifying 199 * the <code>DryRun</code> option.</p> 200 */ WithDryRun(bool value)201 inline DeleteInventoryRequest& WithDryRun(bool value) { SetDryRun(value); return *this;} 202 203 204 /** 205 * <p>User-provided idempotency token.</p> 206 */ GetClientToken()207 inline const Aws::String& GetClientToken() const{ return m_clientToken; } 208 209 /** 210 * <p>User-provided idempotency token.</p> 211 */ ClientTokenHasBeenSet()212 inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } 213 214 /** 215 * <p>User-provided idempotency token.</p> 216 */ SetClientToken(const Aws::String & value)217 inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } 218 219 /** 220 * <p>User-provided idempotency token.</p> 221 */ SetClientToken(Aws::String && value)222 inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } 223 224 /** 225 * <p>User-provided idempotency token.</p> 226 */ SetClientToken(const char * value)227 inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } 228 229 /** 230 * <p>User-provided idempotency token.</p> 231 */ WithClientToken(const Aws::String & value)232 inline DeleteInventoryRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} 233 234 /** 235 * <p>User-provided idempotency token.</p> 236 */ WithClientToken(Aws::String && value)237 inline DeleteInventoryRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} 238 239 /** 240 * <p>User-provided idempotency token.</p> 241 */ WithClientToken(const char * value)242 inline DeleteInventoryRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} 243 244 private: 245 246 Aws::String m_typeName; 247 bool m_typeNameHasBeenSet; 248 249 InventorySchemaDeleteOption m_schemaDeleteOption; 250 bool m_schemaDeleteOptionHasBeenSet; 251 252 bool m_dryRun; 253 bool m_dryRunHasBeenSet; 254 255 Aws::String m_clientToken; 256 bool m_clientTokenHasBeenSet; 257 }; 258 259 } // namespace Model 260 } // namespace SSM 261 } // namespace Aws 262