/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace Route53 { namespace Model { /** */ class ChangeCidrCollectionRequest : public Route53Request { public: AWS_ROUTE53_API ChangeCidrCollectionRequest(); // 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 "ChangeCidrCollection"; } AWS_ROUTE53_API Aws::String SerializePayload() const override; /** *

The UUID of the CIDR collection to update.

*/ inline const Aws::String& GetId() const{ return m_id; } /** *

The UUID of the CIDR collection to update.

*/ inline bool IdHasBeenSet() const { return m_idHasBeenSet; } /** *

The UUID of the CIDR collection to update.

*/ inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } /** *

The UUID of the CIDR collection to update.

*/ inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } /** *

The UUID of the CIDR collection to update.

*/ inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } /** *

The UUID of the CIDR collection to update.

*/ inline ChangeCidrCollectionRequest& WithId(const Aws::String& value) { SetId(value); return *this;} /** *

The UUID of the CIDR collection to update.

*/ inline ChangeCidrCollectionRequest& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} /** *

The UUID of the CIDR collection to update.

*/ inline ChangeCidrCollectionRequest& WithId(const char* value) { SetId(value); return *this;} /** *

A sequential counter that Amazon Route 53 sets to 1 when you create a * collection and increments it by 1 each time you update the collection.

We * recommend that you use ListCidrCollection to get the current value * of CollectionVersion for the collection that you want to update, * and then include that value with the change request. This prevents Route 53 from * overwriting an intervening update:

  • If the value in the request * matches the value of CollectionVersion in the collection, Route 53 * updates the collection.

  • If the value of * CollectionVersion in the collection is greater than the value in * the request, the collection was changed after you got the version number. * Route 53 does not update the collection, and it returns a * CidrCollectionVersionMismatch error.

*/ inline long long GetCollectionVersion() const{ return m_collectionVersion; } /** *

A sequential counter that Amazon Route 53 sets to 1 when you create a * collection and increments it by 1 each time you update the collection.

We * recommend that you use ListCidrCollection to get the current value * of CollectionVersion for the collection that you want to update, * and then include that value with the change request. This prevents Route 53 from * overwriting an intervening update:

  • If the value in the request * matches the value of CollectionVersion in the collection, Route 53 * updates the collection.

  • If the value of * CollectionVersion in the collection is greater than the value in * the request, the collection was changed after you got the version number. * Route 53 does not update the collection, and it returns a * CidrCollectionVersionMismatch error.

*/ inline bool CollectionVersionHasBeenSet() const { return m_collectionVersionHasBeenSet; } /** *

A sequential counter that Amazon Route 53 sets to 1 when you create a * collection and increments it by 1 each time you update the collection.

We * recommend that you use ListCidrCollection to get the current value * of CollectionVersion for the collection that you want to update, * and then include that value with the change request. This prevents Route 53 from * overwriting an intervening update:

  • If the value in the request * matches the value of CollectionVersion in the collection, Route 53 * updates the collection.

  • If the value of * CollectionVersion in the collection is greater than the value in * the request, the collection was changed after you got the version number. * Route 53 does not update the collection, and it returns a * CidrCollectionVersionMismatch error.

*/ inline void SetCollectionVersion(long long value) { m_collectionVersionHasBeenSet = true; m_collectionVersion = value; } /** *

A sequential counter that Amazon Route 53 sets to 1 when you create a * collection and increments it by 1 each time you update the collection.

We * recommend that you use ListCidrCollection to get the current value * of CollectionVersion for the collection that you want to update, * and then include that value with the change request. This prevents Route 53 from * overwriting an intervening update:

  • If the value in the request * matches the value of CollectionVersion in the collection, Route 53 * updates the collection.

  • If the value of * CollectionVersion in the collection is greater than the value in * the request, the collection was changed after you got the version number. * Route 53 does not update the collection, and it returns a * CidrCollectionVersionMismatch error.

*/ inline ChangeCidrCollectionRequest& WithCollectionVersion(long long value) { SetCollectionVersion(value); return *this;} /** *

Information about changes to a CIDR collection.

*/ inline const Aws::Vector& GetChanges() const{ return m_changes; } /** *

Information about changes to a CIDR collection.

*/ inline bool ChangesHasBeenSet() const { return m_changesHasBeenSet; } /** *

Information about changes to a CIDR collection.

*/ inline void SetChanges(const Aws::Vector& value) { m_changesHasBeenSet = true; m_changes = value; } /** *

Information about changes to a CIDR collection.

*/ inline void SetChanges(Aws::Vector&& value) { m_changesHasBeenSet = true; m_changes = std::move(value); } /** *

Information about changes to a CIDR collection.

*/ inline ChangeCidrCollectionRequest& WithChanges(const Aws::Vector& value) { SetChanges(value); return *this;} /** *

Information about changes to a CIDR collection.

*/ inline ChangeCidrCollectionRequest& WithChanges(Aws::Vector&& value) { SetChanges(std::move(value)); return *this;} /** *

Information about changes to a CIDR collection.

*/ inline ChangeCidrCollectionRequest& AddChanges(const CidrCollectionChange& value) { m_changesHasBeenSet = true; m_changes.push_back(value); return *this; } /** *

Information about changes to a CIDR collection.

*/ inline ChangeCidrCollectionRequest& AddChanges(CidrCollectionChange&& value) { m_changesHasBeenSet = true; m_changes.push_back(std::move(value)); return *this; } private: Aws::String m_id; bool m_idHasBeenSet = false; long long m_collectionVersion; bool m_collectionVersionHasBeenSet = false; Aws::Vector m_changes; bool m_changesHasBeenSet = false; }; } // namespace Model } // namespace Route53 } // namespace Aws