aws-sdk-codecommit 1.99.0

AWS SDK for AWS CodeCommit
Documentation
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct CreateCommitInput {
    /// <p>The name of the repository where you create the commit.</p>
    pub repository_name: ::std::option::Option<::std::string::String>,
    /// <p>The name of the branch where you create the commit.</p>
    pub branch_name: ::std::option::Option<::std::string::String>,
    /// <p>The ID of the commit that is the parent of the commit you create. Not required if this is an empty repository.</p>
    pub parent_commit_id: ::std::option::Option<::std::string::String>,
    /// <p>The name of the author who created the commit. This information is used as both the author and committer for the commit.</p>
    pub author_name: ::std::option::Option<::std::string::String>,
    /// <p>The email address of the person who created the commit.</p>
    pub email: ::std::option::Option<::std::string::String>,
    /// <p>The commit message you want to include in the commit. Commit messages are limited to 256 KB. If no message is specified, a default message is used.</p>
    pub commit_message: ::std::option::Option<::std::string::String>,
    /// <p>If the commit contains deletions, whether to keep a folder or folder structure if the changes leave the folders empty. If true, a ..gitkeep file is created for empty folders. The default is false.</p>
    pub keep_empty_folders: ::std::option::Option<bool>,
    /// <p>The files to add or update in this commit.</p>
    pub put_files: ::std::option::Option<::std::vec::Vec<crate::types::PutFileEntry>>,
    /// <p>The files to delete in this commit. These files still exist in earlier commits.</p>
    pub delete_files: ::std::option::Option<::std::vec::Vec<crate::types::DeleteFileEntry>>,
    /// <p>The file modes to update for files in this commit.</p>
    pub set_file_modes: ::std::option::Option<::std::vec::Vec<crate::types::SetFileModeEntry>>,
}
impl CreateCommitInput {
    /// <p>The name of the repository where you create the commit.</p>
    pub fn repository_name(&self) -> ::std::option::Option<&str> {
        self.repository_name.as_deref()
    }
    /// <p>The name of the branch where you create the commit.</p>
    pub fn branch_name(&self) -> ::std::option::Option<&str> {
        self.branch_name.as_deref()
    }
    /// <p>The ID of the commit that is the parent of the commit you create. Not required if this is an empty repository.</p>
    pub fn parent_commit_id(&self) -> ::std::option::Option<&str> {
        self.parent_commit_id.as_deref()
    }
    /// <p>The name of the author who created the commit. This information is used as both the author and committer for the commit.</p>
    pub fn author_name(&self) -> ::std::option::Option<&str> {
        self.author_name.as_deref()
    }
    /// <p>The email address of the person who created the commit.</p>
    pub fn email(&self) -> ::std::option::Option<&str> {
        self.email.as_deref()
    }
    /// <p>The commit message you want to include in the commit. Commit messages are limited to 256 KB. If no message is specified, a default message is used.</p>
    pub fn commit_message(&self) -> ::std::option::Option<&str> {
        self.commit_message.as_deref()
    }
    /// <p>If the commit contains deletions, whether to keep a folder or folder structure if the changes leave the folders empty. If true, a ..gitkeep file is created for empty folders. The default is false.</p>
    pub fn keep_empty_folders(&self) -> ::std::option::Option<bool> {
        self.keep_empty_folders
    }
    /// <p>The files to add or update in this commit.</p>
    ///
    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.put_files.is_none()`.
    pub fn put_files(&self) -> &[crate::types::PutFileEntry] {
        self.put_files.as_deref().unwrap_or_default()
    }
    /// <p>The files to delete in this commit. These files still exist in earlier commits.</p>
    ///
    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.delete_files.is_none()`.
    pub fn delete_files(&self) -> &[crate::types::DeleteFileEntry] {
        self.delete_files.as_deref().unwrap_or_default()
    }
    /// <p>The file modes to update for files in this commit.</p>
    ///
    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.set_file_modes.is_none()`.
    pub fn set_file_modes(&self) -> &[crate::types::SetFileModeEntry] {
        self.set_file_modes.as_deref().unwrap_or_default()
    }
}
impl CreateCommitInput {
    /// Creates a new builder-style object to manufacture [`CreateCommitInput`](crate::operation::create_commit::CreateCommitInput).
    pub fn builder() -> crate::operation::create_commit::builders::CreateCommitInputBuilder {
        crate::operation::create_commit::builders::CreateCommitInputBuilder::default()
    }
}

/// A builder for [`CreateCommitInput`](crate::operation::create_commit::CreateCommitInput).
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
#[non_exhaustive]
pub struct CreateCommitInputBuilder {
    pub(crate) repository_name: ::std::option::Option<::std::string::String>,
    pub(crate) branch_name: ::std::option::Option<::std::string::String>,
    pub(crate) parent_commit_id: ::std::option::Option<::std::string::String>,
    pub(crate) author_name: ::std::option::Option<::std::string::String>,
    pub(crate) email: ::std::option::Option<::std::string::String>,
    pub(crate) commit_message: ::std::option::Option<::std::string::String>,
    pub(crate) keep_empty_folders: ::std::option::Option<bool>,
    pub(crate) put_files: ::std::option::Option<::std::vec::Vec<crate::types::PutFileEntry>>,
    pub(crate) delete_files: ::std::option::Option<::std::vec::Vec<crate::types::DeleteFileEntry>>,
    pub(crate) set_file_modes: ::std::option::Option<::std::vec::Vec<crate::types::SetFileModeEntry>>,
}
impl CreateCommitInputBuilder {
    /// <p>The name of the repository where you create the commit.</p>
    /// This field is required.
    pub fn repository_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.repository_name = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The name of the repository where you create the commit.</p>
    pub fn set_repository_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.repository_name = input;
        self
    }
    /// <p>The name of the repository where you create the commit.</p>
    pub fn get_repository_name(&self) -> &::std::option::Option<::std::string::String> {
        &self.repository_name
    }
    /// <p>The name of the branch where you create the commit.</p>
    /// This field is required.
    pub fn branch_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.branch_name = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The name of the branch where you create the commit.</p>
    pub fn set_branch_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.branch_name = input;
        self
    }
    /// <p>The name of the branch where you create the commit.</p>
    pub fn get_branch_name(&self) -> &::std::option::Option<::std::string::String> {
        &self.branch_name
    }
    /// <p>The ID of the commit that is the parent of the commit you create. Not required if this is an empty repository.</p>
    pub fn parent_commit_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.parent_commit_id = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The ID of the commit that is the parent of the commit you create. Not required if this is an empty repository.</p>
    pub fn set_parent_commit_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.parent_commit_id = input;
        self
    }
    /// <p>The ID of the commit that is the parent of the commit you create. Not required if this is an empty repository.</p>
    pub fn get_parent_commit_id(&self) -> &::std::option::Option<::std::string::String> {
        &self.parent_commit_id
    }
    /// <p>The name of the author who created the commit. This information is used as both the author and committer for the commit.</p>
    pub fn author_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.author_name = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The name of the author who created the commit. This information is used as both the author and committer for the commit.</p>
    pub fn set_author_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.author_name = input;
        self
    }
    /// <p>The name of the author who created the commit. This information is used as both the author and committer for the commit.</p>
    pub fn get_author_name(&self) -> &::std::option::Option<::std::string::String> {
        &self.author_name
    }
    /// <p>The email address of the person who created the commit.</p>
    pub fn email(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.email = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The email address of the person who created the commit.</p>
    pub fn set_email(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.email = input;
        self
    }
    /// <p>The email address of the person who created the commit.</p>
    pub fn get_email(&self) -> &::std::option::Option<::std::string::String> {
        &self.email
    }
    /// <p>The commit message you want to include in the commit. Commit messages are limited to 256 KB. If no message is specified, a default message is used.</p>
    pub fn commit_message(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.commit_message = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The commit message you want to include in the commit. Commit messages are limited to 256 KB. If no message is specified, a default message is used.</p>
    pub fn set_commit_message(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.commit_message = input;
        self
    }
    /// <p>The commit message you want to include in the commit. Commit messages are limited to 256 KB. If no message is specified, a default message is used.</p>
    pub fn get_commit_message(&self) -> &::std::option::Option<::std::string::String> {
        &self.commit_message
    }
    /// <p>If the commit contains deletions, whether to keep a folder or folder structure if the changes leave the folders empty. If true, a ..gitkeep file is created for empty folders. The default is false.</p>
    pub fn keep_empty_folders(mut self, input: bool) -> Self {
        self.keep_empty_folders = ::std::option::Option::Some(input);
        self
    }
    /// <p>If the commit contains deletions, whether to keep a folder or folder structure if the changes leave the folders empty. If true, a ..gitkeep file is created for empty folders. The default is false.</p>
    pub fn set_keep_empty_folders(mut self, input: ::std::option::Option<bool>) -> Self {
        self.keep_empty_folders = input;
        self
    }
    /// <p>If the commit contains deletions, whether to keep a folder or folder structure if the changes leave the folders empty. If true, a ..gitkeep file is created for empty folders. The default is false.</p>
    pub fn get_keep_empty_folders(&self) -> &::std::option::Option<bool> {
        &self.keep_empty_folders
    }
    /// Appends an item to `put_files`.
    ///
    /// To override the contents of this collection use [`set_put_files`](Self::set_put_files).
    ///
    /// <p>The files to add or update in this commit.</p>
    pub fn put_files(mut self, input: crate::types::PutFileEntry) -> Self {
        let mut v = self.put_files.unwrap_or_default();
        v.push(input);
        self.put_files = ::std::option::Option::Some(v);
        self
    }
    /// <p>The files to add or update in this commit.</p>
    pub fn set_put_files(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::PutFileEntry>>) -> Self {
        self.put_files = input;
        self
    }
    /// <p>The files to add or update in this commit.</p>
    pub fn get_put_files(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::PutFileEntry>> {
        &self.put_files
    }
    /// Appends an item to `delete_files`.
    ///
    /// To override the contents of this collection use [`set_delete_files`](Self::set_delete_files).
    ///
    /// <p>The files to delete in this commit. These files still exist in earlier commits.</p>
    pub fn delete_files(mut self, input: crate::types::DeleteFileEntry) -> Self {
        let mut v = self.delete_files.unwrap_or_default();
        v.push(input);
        self.delete_files = ::std::option::Option::Some(v);
        self
    }
    /// <p>The files to delete in this commit. These files still exist in earlier commits.</p>
    pub fn set_delete_files(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::DeleteFileEntry>>) -> Self {
        self.delete_files = input;
        self
    }
    /// <p>The files to delete in this commit. These files still exist in earlier commits.</p>
    pub fn get_delete_files(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::DeleteFileEntry>> {
        &self.delete_files
    }
    /// Appends an item to `set_file_modes`.
    ///
    /// To override the contents of this collection use [`set_set_file_modes`](Self::set_set_file_modes).
    ///
    /// <p>The file modes to update for files in this commit.</p>
    pub fn set_file_modes(mut self, input: crate::types::SetFileModeEntry) -> Self {
        let mut v = self.set_file_modes.unwrap_or_default();
        v.push(input);
        self.set_file_modes = ::std::option::Option::Some(v);
        self
    }
    /// <p>The file modes to update for files in this commit.</p>
    pub fn set_set_file_modes(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::SetFileModeEntry>>) -> Self {
        self.set_file_modes = input;
        self
    }
    /// <p>The file modes to update for files in this commit.</p>
    pub fn get_set_file_modes(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::SetFileModeEntry>> {
        &self.set_file_modes
    }
    /// Consumes the builder and constructs a [`CreateCommitInput`](crate::operation::create_commit::CreateCommitInput).
    pub fn build(
        self,
    ) -> ::std::result::Result<crate::operation::create_commit::CreateCommitInput, ::aws_smithy_types::error::operation::BuildError> {
        ::std::result::Result::Ok(crate::operation::create_commit::CreateCommitInput {
            repository_name: self.repository_name,
            branch_name: self.branch_name,
            parent_commit_id: self.parent_commit_id,
            author_name: self.author_name,
            email: self.email,
            commit_message: self.commit_message,
            keep_empty_folders: self.keep_empty_folders,
            put_files: self.put_files,
            delete_files: self.delete_files,
            set_file_modes: self.set_file_modes,
        })
    }
}