/** * 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 namespace Aws { namespace finspace { namespace Model { /** */ class CreateKxChangesetRequest : public FinspaceRequest { public: AWS_FINSPACE_API CreateKxChangesetRequest(); // 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 "CreateKxChangeset"; } AWS_FINSPACE_API Aws::String SerializePayload() const override; /** *

A unique identifier of the kdb environment.

*/ inline const Aws::String& GetEnvironmentId() const{ return m_environmentId; } /** *

A unique identifier of the kdb environment.

*/ inline bool EnvironmentIdHasBeenSet() const { return m_environmentIdHasBeenSet; } /** *

A unique identifier of the kdb environment.

*/ inline void SetEnvironmentId(const Aws::String& value) { m_environmentIdHasBeenSet = true; m_environmentId = value; } /** *

A unique identifier of the kdb environment.

*/ inline void SetEnvironmentId(Aws::String&& value) { m_environmentIdHasBeenSet = true; m_environmentId = std::move(value); } /** *

A unique identifier of the kdb environment.

*/ inline void SetEnvironmentId(const char* value) { m_environmentIdHasBeenSet = true; m_environmentId.assign(value); } /** *

A unique identifier of the kdb environment.

*/ inline CreateKxChangesetRequest& WithEnvironmentId(const Aws::String& value) { SetEnvironmentId(value); return *this;} /** *

A unique identifier of the kdb environment.

*/ inline CreateKxChangesetRequest& WithEnvironmentId(Aws::String&& value) { SetEnvironmentId(std::move(value)); return *this;} /** *

A unique identifier of the kdb environment.

*/ inline CreateKxChangesetRequest& WithEnvironmentId(const char* value) { SetEnvironmentId(value); return *this;} /** *

The name of the kdb database.

*/ inline const Aws::String& GetDatabaseName() const{ return m_databaseName; } /** *

The name of the kdb database.

*/ inline bool DatabaseNameHasBeenSet() const { return m_databaseNameHasBeenSet; } /** *

The name of the kdb database.

*/ inline void SetDatabaseName(const Aws::String& value) { m_databaseNameHasBeenSet = true; m_databaseName = value; } /** *

The name of the kdb database.

*/ inline void SetDatabaseName(Aws::String&& value) { m_databaseNameHasBeenSet = true; m_databaseName = std::move(value); } /** *

The name of the kdb database.

*/ inline void SetDatabaseName(const char* value) { m_databaseNameHasBeenSet = true; m_databaseName.assign(value); } /** *

The name of the kdb database.

*/ inline CreateKxChangesetRequest& WithDatabaseName(const Aws::String& value) { SetDatabaseName(value); return *this;} /** *

The name of the kdb database.

*/ inline CreateKxChangesetRequest& WithDatabaseName(Aws::String&& value) { SetDatabaseName(std::move(value)); return *this;} /** *

The name of the kdb database.

*/ inline CreateKxChangesetRequest& WithDatabaseName(const char* value) { SetDatabaseName(value); return *this;} /** *

A list of change request objects that are run in order. A change request * object consists of changeType , s3Path, and a dbPath. A changeType can has the * following values:

  • PUT – Adds or updates files in a * database.

  • DELETE – Deletes files in a database.

  • *

All the change requests require a mandatory dbPath attribute * that defines the path within the database directory. The s3Path attribute * defines the s3 source file path and is required for a PUT change type.

*

Here is an example of how you can use the change request object:

* [ { "changeType": "PUT", "s3Path":"s3://bucket/db/2020.01.02/", * "dbPath":"/2020.01.02/"}, { "changeType": "PUT", "s3Path":"s3://bucket/db/sym", * "dbPath":"/"}, { "changeType": "DELETE", "dbPath": "/2020.01.01/"} ]

*

In this example, the first request with PUT change type allows you to * add files in the given s3Path under the 2020.01.02 partition of the * database. The second request with PUT change type allows you to add a * single sym file at database root location. The last request with DELETE * change type allows you to delete the files under the 2020.01.01 partition * of the database.

*/ inline const Aws::Vector& GetChangeRequests() const{ return m_changeRequests; } /** *

A list of change request objects that are run in order. A change request * object consists of changeType , s3Path, and a dbPath. A changeType can has the * following values:

  • PUT – Adds or updates files in a * database.

  • DELETE – Deletes files in a database.

  • *

All the change requests require a mandatory dbPath attribute * that defines the path within the database directory. The s3Path attribute * defines the s3 source file path and is required for a PUT change type.

*

Here is an example of how you can use the change request object:

* [ { "changeType": "PUT", "s3Path":"s3://bucket/db/2020.01.02/", * "dbPath":"/2020.01.02/"}, { "changeType": "PUT", "s3Path":"s3://bucket/db/sym", * "dbPath":"/"}, { "changeType": "DELETE", "dbPath": "/2020.01.01/"} ]

*

In this example, the first request with PUT change type allows you to * add files in the given s3Path under the 2020.01.02 partition of the * database. The second request with PUT change type allows you to add a * single sym file at database root location. The last request with DELETE * change type allows you to delete the files under the 2020.01.01 partition * of the database.

*/ inline bool ChangeRequestsHasBeenSet() const { return m_changeRequestsHasBeenSet; } /** *

A list of change request objects that are run in order. A change request * object consists of changeType , s3Path, and a dbPath. A changeType can has the * following values:

  • PUT – Adds or updates files in a * database.

  • DELETE – Deletes files in a database.

  • *

All the change requests require a mandatory dbPath attribute * that defines the path within the database directory. The s3Path attribute * defines the s3 source file path and is required for a PUT change type.

*

Here is an example of how you can use the change request object:

* [ { "changeType": "PUT", "s3Path":"s3://bucket/db/2020.01.02/", * "dbPath":"/2020.01.02/"}, { "changeType": "PUT", "s3Path":"s3://bucket/db/sym", * "dbPath":"/"}, { "changeType": "DELETE", "dbPath": "/2020.01.01/"} ]

*

In this example, the first request with PUT change type allows you to * add files in the given s3Path under the 2020.01.02 partition of the * database. The second request with PUT change type allows you to add a * single sym file at database root location. The last request with DELETE * change type allows you to delete the files under the 2020.01.01 partition * of the database.

*/ inline void SetChangeRequests(const Aws::Vector& value) { m_changeRequestsHasBeenSet = true; m_changeRequests = value; } /** *

A list of change request objects that are run in order. A change request * object consists of changeType , s3Path, and a dbPath. A changeType can has the * following values:

  • PUT – Adds or updates files in a * database.

  • DELETE – Deletes files in a database.

  • *

All the change requests require a mandatory dbPath attribute * that defines the path within the database directory. The s3Path attribute * defines the s3 source file path and is required for a PUT change type.

*

Here is an example of how you can use the change request object:

* [ { "changeType": "PUT", "s3Path":"s3://bucket/db/2020.01.02/", * "dbPath":"/2020.01.02/"}, { "changeType": "PUT", "s3Path":"s3://bucket/db/sym", * "dbPath":"/"}, { "changeType": "DELETE", "dbPath": "/2020.01.01/"} ]

*

In this example, the first request with PUT change type allows you to * add files in the given s3Path under the 2020.01.02 partition of the * database. The second request with PUT change type allows you to add a * single sym file at database root location. The last request with DELETE * change type allows you to delete the files under the 2020.01.01 partition * of the database.

*/ inline void SetChangeRequests(Aws::Vector&& value) { m_changeRequestsHasBeenSet = true; m_changeRequests = std::move(value); } /** *

A list of change request objects that are run in order. A change request * object consists of changeType , s3Path, and a dbPath. A changeType can has the * following values:

  • PUT – Adds or updates files in a * database.

  • DELETE – Deletes files in a database.

  • *

All the change requests require a mandatory dbPath attribute * that defines the path within the database directory. The s3Path attribute * defines the s3 source file path and is required for a PUT change type.

*

Here is an example of how you can use the change request object:

* [ { "changeType": "PUT", "s3Path":"s3://bucket/db/2020.01.02/", * "dbPath":"/2020.01.02/"}, { "changeType": "PUT", "s3Path":"s3://bucket/db/sym", * "dbPath":"/"}, { "changeType": "DELETE", "dbPath": "/2020.01.01/"} ]

*

In this example, the first request with PUT change type allows you to * add files in the given s3Path under the 2020.01.02 partition of the * database. The second request with PUT change type allows you to add a * single sym file at database root location. The last request with DELETE * change type allows you to delete the files under the 2020.01.01 partition * of the database.

*/ inline CreateKxChangesetRequest& WithChangeRequests(const Aws::Vector& value) { SetChangeRequests(value); return *this;} /** *

A list of change request objects that are run in order. A change request * object consists of changeType , s3Path, and a dbPath. A changeType can has the * following values:

  • PUT – Adds or updates files in a * database.

  • DELETE – Deletes files in a database.

  • *

All the change requests require a mandatory dbPath attribute * that defines the path within the database directory. The s3Path attribute * defines the s3 source file path and is required for a PUT change type.

*

Here is an example of how you can use the change request object:

* [ { "changeType": "PUT", "s3Path":"s3://bucket/db/2020.01.02/", * "dbPath":"/2020.01.02/"}, { "changeType": "PUT", "s3Path":"s3://bucket/db/sym", * "dbPath":"/"}, { "changeType": "DELETE", "dbPath": "/2020.01.01/"} ]

*

In this example, the first request with PUT change type allows you to * add files in the given s3Path under the 2020.01.02 partition of the * database. The second request with PUT change type allows you to add a * single sym file at database root location. The last request with DELETE * change type allows you to delete the files under the 2020.01.01 partition * of the database.

*/ inline CreateKxChangesetRequest& WithChangeRequests(Aws::Vector&& value) { SetChangeRequests(std::move(value)); return *this;} /** *

A list of change request objects that are run in order. A change request * object consists of changeType , s3Path, and a dbPath. A changeType can has the * following values:

  • PUT – Adds or updates files in a * database.

  • DELETE – Deletes files in a database.

  • *

All the change requests require a mandatory dbPath attribute * that defines the path within the database directory. The s3Path attribute * defines the s3 source file path and is required for a PUT change type.

*

Here is an example of how you can use the change request object:

* [ { "changeType": "PUT", "s3Path":"s3://bucket/db/2020.01.02/", * "dbPath":"/2020.01.02/"}, { "changeType": "PUT", "s3Path":"s3://bucket/db/sym", * "dbPath":"/"}, { "changeType": "DELETE", "dbPath": "/2020.01.01/"} ]

*

In this example, the first request with PUT change type allows you to * add files in the given s3Path under the 2020.01.02 partition of the * database. The second request with PUT change type allows you to add a * single sym file at database root location. The last request with DELETE * change type allows you to delete the files under the 2020.01.01 partition * of the database.

*/ inline CreateKxChangesetRequest& AddChangeRequests(const ChangeRequest& value) { m_changeRequestsHasBeenSet = true; m_changeRequests.push_back(value); return *this; } /** *

A list of change request objects that are run in order. A change request * object consists of changeType , s3Path, and a dbPath. A changeType can has the * following values:

  • PUT – Adds or updates files in a * database.

  • DELETE – Deletes files in a database.

  • *

All the change requests require a mandatory dbPath attribute * that defines the path within the database directory. The s3Path attribute * defines the s3 source file path and is required for a PUT change type.

*

Here is an example of how you can use the change request object:

* [ { "changeType": "PUT", "s3Path":"s3://bucket/db/2020.01.02/", * "dbPath":"/2020.01.02/"}, { "changeType": "PUT", "s3Path":"s3://bucket/db/sym", * "dbPath":"/"}, { "changeType": "DELETE", "dbPath": "/2020.01.01/"} ]

*

In this example, the first request with PUT change type allows you to * add files in the given s3Path under the 2020.01.02 partition of the * database. The second request with PUT change type allows you to add a * single sym file at database root location. The last request with DELETE * change type allows you to delete the files under the 2020.01.01 partition * of the database.

*/ inline CreateKxChangesetRequest& AddChangeRequests(ChangeRequest&& value) { m_changeRequestsHasBeenSet = true; m_changeRequests.push_back(std::move(value)); return *this; } /** *

A token that ensures idempotency. This token expires in 10 minutes.

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

A token that ensures idempotency. This token expires in 10 minutes.

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

A token that ensures idempotency. This token expires in 10 minutes.

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

A token that ensures idempotency. This token expires in 10 minutes.

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

A token that ensures idempotency. This token expires in 10 minutes.

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

A token that ensures idempotency. This token expires in 10 minutes.

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

A token that ensures idempotency. This token expires in 10 minutes.

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

A token that ensures idempotency. This token expires in 10 minutes.

*/ inline CreateKxChangesetRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} private: Aws::String m_environmentId; bool m_environmentIdHasBeenSet = false; Aws::String m_databaseName; bool m_databaseNameHasBeenSet = false; Aws::Vector m_changeRequests; bool m_changeRequestsHasBeenSet = false; Aws::String m_clientToken; bool m_clientTokenHasBeenSet = false; }; } // namespace Model } // namespace finspace } // namespace Aws