// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`CreateKxChangeset`](crate::operation::create_kx_changeset::builders::CreateKxChangesetFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`environment_id(impl Into<String>)`](crate::operation::create_kx_changeset::builders::CreateKxChangesetFluentBuilder::environment_id) / [`set_environment_id(Option<String>)`](crate::operation::create_kx_changeset::builders::CreateKxChangesetFluentBuilder::set_environment_id):<br>required: **true**<br><p>A unique identifier of the kdb environment.</p><br>
/// - [`database_name(impl Into<String>)`](crate::operation::create_kx_changeset::builders::CreateKxChangesetFluentBuilder::database_name) / [`set_database_name(Option<String>)`](crate::operation::create_kx_changeset::builders::CreateKxChangesetFluentBuilder::set_database_name):<br>required: **true**<br><p>The name of the kdb database.</p><br>
/// - [`change_requests(ChangeRequest)`](crate::operation::create_kx_changeset::builders::CreateKxChangesetFluentBuilder::change_requests) / [`set_change_requests(Option<Vec::<ChangeRequest>>)`](crate::operation::create_kx_changeset::builders::CreateKxChangesetFluentBuilder::set_change_requests):<br>required: **true**<br><p>A list of change request objects that are run in order. A change request object consists of <code>changeType</code> , <code>s3Path</code>, and <code>dbPath</code>. A changeType can has the following values: </p> <ul> <li> <p>PUT – Adds or updates files in a database.</p> </li> <li> <p>DELETE – Deletes files in a database.</p> </li> </ul> <p>All the change requests require a mandatory <code>dbPath</code> attribute that defines the path within the database directory. All database paths must start with a leading / and end with a trailing /. The <code>s3Path</code> attribute defines the s3 source file path and is required for a PUT change type. The <code>s3path</code> must end with a trailing / if it is a directory and must end without a trailing / if it is a file. </p> <p>Here are few examples of how you can use the change request object:</p> <ol> <li> <p>This request adds a single sym file at database root location. </p> <p> <code>{ "changeType": "PUT", "s3Path":"s3://bucket/db/sym", "dbPath":"/"}</code> </p> </li> <li> <p>This request adds files in the given <code>s3Path</code> under the 2020.01.02 partition of the database.</p> <p> <code>{ "changeType": "PUT", "s3Path":"s3://bucket/db/2020.01.02/", "dbPath":"/2020.01.02/"}</code> </p> </li> <li> <p>This request adds files in the given <code>s3Path</code> under the <i>taq</i> table partition of the database.</p> <p> <code>[ { "changeType": "PUT", "s3Path":"s3://bucket/db/2020.01.02/taq/", "dbPath":"/2020.01.02/taq/"}]</code> </p> </li> <li> <p>This request deletes the 2020.01.02 partition of the database.</p> <p> <code>[{ "changeType": "DELETE", "dbPath": "/2020.01.02/"} ]</code> </p> </li> <li> <p>The <i>DELETE</i> request allows you to delete the existing files under the 2020.01.02 partition of the database, and the <i>PUT</i> request adds a new taq table under it.</p> <p> <code>[ {"changeType": "DELETE", "dbPath":"/2020.01.02/"}, {"changeType": "PUT", "s3Path":"s3://bucket/db/2020.01.02/taq/", "dbPath":"/2020.01.02/taq/"}]</code> </p> </li> </ol><br>
/// - [`client_token(impl Into<String>)`](crate::operation::create_kx_changeset::builders::CreateKxChangesetFluentBuilder::client_token) / [`set_client_token(Option<String>)`](crate::operation::create_kx_changeset::builders::CreateKxChangesetFluentBuilder::set_client_token):<br>required: **true**<br><p>A token that ensures idempotency. This token expires in 10 minutes.</p><br>
/// - On success, responds with [`CreateKxChangesetOutput`](crate::operation::create_kx_changeset::CreateKxChangesetOutput) with field(s):
/// - [`changeset_id(Option<String>)`](crate::operation::create_kx_changeset::CreateKxChangesetOutput::changeset_id): <p>A unique identifier for the changeset.</p>
/// - [`database_name(Option<String>)`](crate::operation::create_kx_changeset::CreateKxChangesetOutput::database_name): <p>The name of the kdb database.</p>
/// - [`environment_id(Option<String>)`](crate::operation::create_kx_changeset::CreateKxChangesetOutput::environment_id): <p>A unique identifier for the kdb environment.</p>
/// - [`change_requests(Option<Vec::<ChangeRequest>>)`](crate::operation::create_kx_changeset::CreateKxChangesetOutput::change_requests): <p>A list of change requests.</p>
/// - [`created_timestamp(Option<DateTime>)`](crate::operation::create_kx_changeset::CreateKxChangesetOutput::created_timestamp): <p>The timestamp at which the changeset was created in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.</p>
/// - [`last_modified_timestamp(Option<DateTime>)`](crate::operation::create_kx_changeset::CreateKxChangesetOutput::last_modified_timestamp): <p>The timestamp at which the changeset was updated in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.</p>
/// - [`status(Option<ChangesetStatus>)`](crate::operation::create_kx_changeset::CreateKxChangesetOutput::status): <p>Status of the changeset creation process.</p> <ul> <li> <p>Pending – Changeset creation is pending.</p> </li> <li> <p>Processing – Changeset creation is running.</p> </li> <li> <p>Failed – Changeset creation has failed.</p> </li> <li> <p>Complete – Changeset creation has succeeded.</p> </li> </ul>
/// - [`error_info(Option<ErrorInfo>)`](crate::operation::create_kx_changeset::CreateKxChangesetOutput::error_info): <p>The details of the error that you receive when creating a changeset. It consists of the type of error and the error message.</p>
/// - On failure, responds with [`SdkError<CreateKxChangesetError>`](crate::operation::create_kx_changeset::CreateKxChangesetError)
pub fn create_kx_changeset(&self) -> crate::operation::create_kx_changeset::builders::CreateKxChangesetFluentBuilder {
crate::operation::create_kx_changeset::builders::CreateKxChangesetFluentBuilder::new(self.handle.clone())
}
}