/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include namespace Aws { namespace EC2 { namespace Model { /** */ class CreateManagedPrefixListRequest : public EC2Request { public: AWS_EC2_API CreateManagedPrefixListRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "CreateManagedPrefixList"; } AWS_EC2_API Aws::String SerializePayload() const override; protected: AWS_EC2_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; public: /** *

Checks whether you have the required permissions for the action, without * actually making the request, and provides an error response. If you have the * required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

*/ inline bool GetDryRun() const{ return m_dryRun; } /** *

Checks whether you have the required permissions for the action, without * actually making the request, and provides an error response. If you have the * required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

*/ inline bool DryRunHasBeenSet() const { return m_dryRunHasBeenSet; } /** *

Checks whether you have the required permissions for the action, without * actually making the request, and provides an error response. If you have the * required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

*/ inline void SetDryRun(bool value) { m_dryRunHasBeenSet = true; m_dryRun = value; } /** *

Checks whether you have the required permissions for the action, without * actually making the request, and provides an error response. If you have the * required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

*/ inline CreateManagedPrefixListRequest& WithDryRun(bool value) { SetDryRun(value); return *this;} /** *

A name for the prefix list.

Constraints: Up to 255 characters in * length. The name cannot start with com.amazonaws.

*/ inline const Aws::String& GetPrefixListName() const{ return m_prefixListName; } /** *

A name for the prefix list.

Constraints: Up to 255 characters in * length. The name cannot start with com.amazonaws.

*/ inline bool PrefixListNameHasBeenSet() const { return m_prefixListNameHasBeenSet; } /** *

A name for the prefix list.

Constraints: Up to 255 characters in * length. The name cannot start with com.amazonaws.

*/ inline void SetPrefixListName(const Aws::String& value) { m_prefixListNameHasBeenSet = true; m_prefixListName = value; } /** *

A name for the prefix list.

Constraints: Up to 255 characters in * length. The name cannot start with com.amazonaws.

*/ inline void SetPrefixListName(Aws::String&& value) { m_prefixListNameHasBeenSet = true; m_prefixListName = std::move(value); } /** *

A name for the prefix list.

Constraints: Up to 255 characters in * length. The name cannot start with com.amazonaws.

*/ inline void SetPrefixListName(const char* value) { m_prefixListNameHasBeenSet = true; m_prefixListName.assign(value); } /** *

A name for the prefix list.

Constraints: Up to 255 characters in * length. The name cannot start with com.amazonaws.

*/ inline CreateManagedPrefixListRequest& WithPrefixListName(const Aws::String& value) { SetPrefixListName(value); return *this;} /** *

A name for the prefix list.

Constraints: Up to 255 characters in * length. The name cannot start with com.amazonaws.

*/ inline CreateManagedPrefixListRequest& WithPrefixListName(Aws::String&& value) { SetPrefixListName(std::move(value)); return *this;} /** *

A name for the prefix list.

Constraints: Up to 255 characters in * length. The name cannot start with com.amazonaws.

*/ inline CreateManagedPrefixListRequest& WithPrefixListName(const char* value) { SetPrefixListName(value); return *this;} /** *

One or more entries for the prefix list.

*/ inline const Aws::Vector& GetEntries() const{ return m_entries; } /** *

One or more entries for the prefix list.

*/ inline bool EntriesHasBeenSet() const { return m_entriesHasBeenSet; } /** *

One or more entries for the prefix list.

*/ inline void SetEntries(const Aws::Vector& value) { m_entriesHasBeenSet = true; m_entries = value; } /** *

One or more entries for the prefix list.

*/ inline void SetEntries(Aws::Vector&& value) { m_entriesHasBeenSet = true; m_entries = std::move(value); } /** *

One or more entries for the prefix list.

*/ inline CreateManagedPrefixListRequest& WithEntries(const Aws::Vector& value) { SetEntries(value); return *this;} /** *

One or more entries for the prefix list.

*/ inline CreateManagedPrefixListRequest& WithEntries(Aws::Vector&& value) { SetEntries(std::move(value)); return *this;} /** *

One or more entries for the prefix list.

*/ inline CreateManagedPrefixListRequest& AddEntries(const AddPrefixListEntry& value) { m_entriesHasBeenSet = true; m_entries.push_back(value); return *this; } /** *

One or more entries for the prefix list.

*/ inline CreateManagedPrefixListRequest& AddEntries(AddPrefixListEntry&& value) { m_entriesHasBeenSet = true; m_entries.push_back(std::move(value)); return *this; } /** *

The maximum number of entries for the prefix list.

*/ inline int GetMaxEntries() const{ return m_maxEntries; } /** *

The maximum number of entries for the prefix list.

*/ inline bool MaxEntriesHasBeenSet() const { return m_maxEntriesHasBeenSet; } /** *

The maximum number of entries for the prefix list.

*/ inline void SetMaxEntries(int value) { m_maxEntriesHasBeenSet = true; m_maxEntries = value; } /** *

The maximum number of entries for the prefix list.

*/ inline CreateManagedPrefixListRequest& WithMaxEntries(int value) { SetMaxEntries(value); return *this;} /** *

The tags to apply to the prefix list during creation.

*/ inline const Aws::Vector& GetTagSpecifications() const{ return m_tagSpecifications; } /** *

The tags to apply to the prefix list during creation.

*/ inline bool TagSpecificationsHasBeenSet() const { return m_tagSpecificationsHasBeenSet; } /** *

The tags to apply to the prefix list during creation.

*/ inline void SetTagSpecifications(const Aws::Vector& value) { m_tagSpecificationsHasBeenSet = true; m_tagSpecifications = value; } /** *

The tags to apply to the prefix list during creation.

*/ inline void SetTagSpecifications(Aws::Vector&& value) { m_tagSpecificationsHasBeenSet = true; m_tagSpecifications = std::move(value); } /** *

The tags to apply to the prefix list during creation.

*/ inline CreateManagedPrefixListRequest& WithTagSpecifications(const Aws::Vector& value) { SetTagSpecifications(value); return *this;} /** *

The tags to apply to the prefix list during creation.

*/ inline CreateManagedPrefixListRequest& WithTagSpecifications(Aws::Vector&& value) { SetTagSpecifications(std::move(value)); return *this;} /** *

The tags to apply to the prefix list during creation.

*/ inline CreateManagedPrefixListRequest& AddTagSpecifications(const TagSpecification& value) { m_tagSpecificationsHasBeenSet = true; m_tagSpecifications.push_back(value); return *this; } /** *

The tags to apply to the prefix list during creation.

*/ inline CreateManagedPrefixListRequest& AddTagSpecifications(TagSpecification&& value) { m_tagSpecificationsHasBeenSet = true; m_tagSpecifications.push_back(std::move(value)); return *this; } /** *

The IP address type.

Valid Values: IPv4 | * IPv6

*/ inline const Aws::String& GetAddressFamily() const{ return m_addressFamily; } /** *

The IP address type.

Valid Values: IPv4 | * IPv6

*/ inline bool AddressFamilyHasBeenSet() const { return m_addressFamilyHasBeenSet; } /** *

The IP address type.

Valid Values: IPv4 | * IPv6

*/ inline void SetAddressFamily(const Aws::String& value) { m_addressFamilyHasBeenSet = true; m_addressFamily = value; } /** *

The IP address type.

Valid Values: IPv4 | * IPv6

*/ inline void SetAddressFamily(Aws::String&& value) { m_addressFamilyHasBeenSet = true; m_addressFamily = std::move(value); } /** *

The IP address type.

Valid Values: IPv4 | * IPv6

*/ inline void SetAddressFamily(const char* value) { m_addressFamilyHasBeenSet = true; m_addressFamily.assign(value); } /** *

The IP address type.

Valid Values: IPv4 | * IPv6

*/ inline CreateManagedPrefixListRequest& WithAddressFamily(const Aws::String& value) { SetAddressFamily(value); return *this;} /** *

The IP address type.

Valid Values: IPv4 | * IPv6

*/ inline CreateManagedPrefixListRequest& WithAddressFamily(Aws::String&& value) { SetAddressFamily(std::move(value)); return *this;} /** *

The IP address type.

Valid Values: IPv4 | * IPv6

*/ inline CreateManagedPrefixListRequest& WithAddressFamily(const char* value) { SetAddressFamily(value); return *this;} /** *

Unique, case-sensitive identifier you provide to ensure the idempotency of * the request. For more information, see Ensuring * Idempotency.

Constraints: Up to 255 UTF-8 characters in length.

*/ inline const Aws::String& GetClientToken() const{ return m_clientToken; } /** *

Unique, case-sensitive identifier you provide to ensure the idempotency of * the request. For more information, see Ensuring * Idempotency.

Constraints: Up to 255 UTF-8 characters in length.

*/ inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } /** *

Unique, case-sensitive identifier you provide to ensure the idempotency of * the request. For more information, see Ensuring * Idempotency.

Constraints: Up to 255 UTF-8 characters in length.

*/ inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } /** *

Unique, case-sensitive identifier you provide to ensure the idempotency of * the request. For more information, see Ensuring * Idempotency.

Constraints: Up to 255 UTF-8 characters in length.

*/ inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } /** *

Unique, case-sensitive identifier you provide to ensure the idempotency of * the request. For more information, see Ensuring * Idempotency.

Constraints: Up to 255 UTF-8 characters in length.

*/ inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } /** *

Unique, case-sensitive identifier you provide to ensure the idempotency of * the request. For more information, see Ensuring * Idempotency.

Constraints: Up to 255 UTF-8 characters in length.

*/ inline CreateManagedPrefixListRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} /** *

Unique, case-sensitive identifier you provide to ensure the idempotency of * the request. For more information, see Ensuring * Idempotency.

Constraints: Up to 255 UTF-8 characters in length.

*/ inline CreateManagedPrefixListRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} /** *

Unique, case-sensitive identifier you provide to ensure the idempotency of * the request. For more information, see Ensuring * Idempotency.

Constraints: Up to 255 UTF-8 characters in length.

*/ inline CreateManagedPrefixListRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} private: bool m_dryRun; bool m_dryRunHasBeenSet = false; Aws::String m_prefixListName; bool m_prefixListNameHasBeenSet = false; Aws::Vector m_entries; bool m_entriesHasBeenSet = false; int m_maxEntries; bool m_maxEntriesHasBeenSet = false; Aws::Vector m_tagSpecifications; bool m_tagSpecificationsHasBeenSet = false; Aws::String m_addressFamily; bool m_addressFamilyHasBeenSet = false; Aws::String m_clientToken; bool m_clientTokenHasBeenSet = false; }; } // namespace Model } // namespace EC2 } // namespace Aws