aws-sdk-codecommit 1.109.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 GetBlobDifferencesOutput {
    /// <p>An ordered list of diff hunks. Each hunk represents a contiguous run of changed and adjacent context lines. The list is empty when the blobs are identical or when the content is binary. The list is also empty when a paginated request has already returned all hunks in earlier pages, in which case <code>NextToken</code> is also <code>null</code>.</p>
    pub hunks: ::std::vec::Vec<crate::types::DiffHunk>,
    /// <p>Specifies whether the operation treated the diff content as binary. When <code>true</code>, the operation does not compute a line-level diff and <code>hunks</code> is empty.</p>
    pub is_binary: bool,
    /// <p>The size, in bytes, of the blob identified by <code>beforeBlobId</code>. Returns <code>0</code> when you do not specify <code>beforeBlobId</code>.</p>
    pub before_blob_size: i64,
    /// <p>The size, in bytes, of the blob identified by <code>afterBlobId</code>.</p>
    pub after_blob_size: i64,
    /// <p>An enumeration token that can be used in a request to return the next batch of <code>DiffHunk</code> entries. <code>null</code> when the response contains the final page of the diff.</p>
    pub next_token: ::std::option::Option<::std::string::String>,
    _request_id: Option<String>,
}
impl GetBlobDifferencesOutput {
    /// <p>An ordered list of diff hunks. Each hunk represents a contiguous run of changed and adjacent context lines. The list is empty when the blobs are identical or when the content is binary. The list is also empty when a paginated request has already returned all hunks in earlier pages, in which case <code>NextToken</code> is also <code>null</code>.</p>
    pub fn hunks(&self) -> &[crate::types::DiffHunk] {
        use std::ops::Deref;
        self.hunks.deref()
    }
    /// <p>Specifies whether the operation treated the diff content as binary. When <code>true</code>, the operation does not compute a line-level diff and <code>hunks</code> is empty.</p>
    pub fn is_binary(&self) -> bool {
        self.is_binary
    }
    /// <p>The size, in bytes, of the blob identified by <code>beforeBlobId</code>. Returns <code>0</code> when you do not specify <code>beforeBlobId</code>.</p>
    pub fn before_blob_size(&self) -> i64 {
        self.before_blob_size
    }
    /// <p>The size, in bytes, of the blob identified by <code>afterBlobId</code>.</p>
    pub fn after_blob_size(&self) -> i64 {
        self.after_blob_size
    }
    /// <p>An enumeration token that can be used in a request to return the next batch of <code>DiffHunk</code> entries. <code>null</code> when the response contains the final page of the diff.</p>
    pub fn next_token(&self) -> ::std::option::Option<&str> {
        self.next_token.as_deref()
    }
}
impl ::aws_types::request_id::RequestId for GetBlobDifferencesOutput {
    fn request_id(&self) -> Option<&str> {
        self._request_id.as_deref()
    }
}
impl GetBlobDifferencesOutput {
    /// Creates a new builder-style object to manufacture [`GetBlobDifferencesOutput`](crate::operation::get_blob_differences::GetBlobDifferencesOutput).
    pub fn builder() -> crate::operation::get_blob_differences::builders::GetBlobDifferencesOutputBuilder {
        crate::operation::get_blob_differences::builders::GetBlobDifferencesOutputBuilder::default()
    }
}

/// A builder for [`GetBlobDifferencesOutput`](crate::operation::get_blob_differences::GetBlobDifferencesOutput).
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
#[non_exhaustive]
pub struct GetBlobDifferencesOutputBuilder {
    pub(crate) hunks: ::std::option::Option<::std::vec::Vec<crate::types::DiffHunk>>,
    pub(crate) is_binary: ::std::option::Option<bool>,
    pub(crate) before_blob_size: ::std::option::Option<i64>,
    pub(crate) after_blob_size: ::std::option::Option<i64>,
    pub(crate) next_token: ::std::option::Option<::std::string::String>,
    _request_id: Option<String>,
}
impl GetBlobDifferencesOutputBuilder {
    /// Appends an item to `hunks`.
    ///
    /// To override the contents of this collection use [`set_hunks`](Self::set_hunks).
    ///
    /// <p>An ordered list of diff hunks. Each hunk represents a contiguous run of changed and adjacent context lines. The list is empty when the blobs are identical or when the content is binary. The list is also empty when a paginated request has already returned all hunks in earlier pages, in which case <code>NextToken</code> is also <code>null</code>.</p>
    pub fn hunks(mut self, input: crate::types::DiffHunk) -> Self {
        let mut v = self.hunks.unwrap_or_default();
        v.push(input);
        self.hunks = ::std::option::Option::Some(v);
        self
    }
    /// <p>An ordered list of diff hunks. Each hunk represents a contiguous run of changed and adjacent context lines. The list is empty when the blobs are identical or when the content is binary. The list is also empty when a paginated request has already returned all hunks in earlier pages, in which case <code>NextToken</code> is also <code>null</code>.</p>
    pub fn set_hunks(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::DiffHunk>>) -> Self {
        self.hunks = input;
        self
    }
    /// <p>An ordered list of diff hunks. Each hunk represents a contiguous run of changed and adjacent context lines. The list is empty when the blobs are identical or when the content is binary. The list is also empty when a paginated request has already returned all hunks in earlier pages, in which case <code>NextToken</code> is also <code>null</code>.</p>
    pub fn get_hunks(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::DiffHunk>> {
        &self.hunks
    }
    /// <p>Specifies whether the operation treated the diff content as binary. When <code>true</code>, the operation does not compute a line-level diff and <code>hunks</code> is empty.</p>
    /// This field is required.
    pub fn is_binary(mut self, input: bool) -> Self {
        self.is_binary = ::std::option::Option::Some(input);
        self
    }
    /// <p>Specifies whether the operation treated the diff content as binary. When <code>true</code>, the operation does not compute a line-level diff and <code>hunks</code> is empty.</p>
    pub fn set_is_binary(mut self, input: ::std::option::Option<bool>) -> Self {
        self.is_binary = input;
        self
    }
    /// <p>Specifies whether the operation treated the diff content as binary. When <code>true</code>, the operation does not compute a line-level diff and <code>hunks</code> is empty.</p>
    pub fn get_is_binary(&self) -> &::std::option::Option<bool> {
        &self.is_binary
    }
    /// <p>The size, in bytes, of the blob identified by <code>beforeBlobId</code>. Returns <code>0</code> when you do not specify <code>beforeBlobId</code>.</p>
    pub fn before_blob_size(mut self, input: i64) -> Self {
        self.before_blob_size = ::std::option::Option::Some(input);
        self
    }
    /// <p>The size, in bytes, of the blob identified by <code>beforeBlobId</code>. Returns <code>0</code> when you do not specify <code>beforeBlobId</code>.</p>
    pub fn set_before_blob_size(mut self, input: ::std::option::Option<i64>) -> Self {
        self.before_blob_size = input;
        self
    }
    /// <p>The size, in bytes, of the blob identified by <code>beforeBlobId</code>. Returns <code>0</code> when you do not specify <code>beforeBlobId</code>.</p>
    pub fn get_before_blob_size(&self) -> &::std::option::Option<i64> {
        &self.before_blob_size
    }
    /// <p>The size, in bytes, of the blob identified by <code>afterBlobId</code>.</p>
    /// This field is required.
    pub fn after_blob_size(mut self, input: i64) -> Self {
        self.after_blob_size = ::std::option::Option::Some(input);
        self
    }
    /// <p>The size, in bytes, of the blob identified by <code>afterBlobId</code>.</p>
    pub fn set_after_blob_size(mut self, input: ::std::option::Option<i64>) -> Self {
        self.after_blob_size = input;
        self
    }
    /// <p>The size, in bytes, of the blob identified by <code>afterBlobId</code>.</p>
    pub fn get_after_blob_size(&self) -> &::std::option::Option<i64> {
        &self.after_blob_size
    }
    /// <p>An enumeration token that can be used in a request to return the next batch of <code>DiffHunk</code> entries. <code>null</code> when the response contains the final page of the diff.</p>
    pub fn next_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.next_token = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>An enumeration token that can be used in a request to return the next batch of <code>DiffHunk</code> entries. <code>null</code> when the response contains the final page of the diff.</p>
    pub fn set_next_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.next_token = input;
        self
    }
    /// <p>An enumeration token that can be used in a request to return the next batch of <code>DiffHunk</code> entries. <code>null</code> when the response contains the final page of the diff.</p>
    pub fn get_next_token(&self) -> &::std::option::Option<::std::string::String> {
        &self.next_token
    }
    pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
        self._request_id = Some(request_id.into());
        self
    }

    pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
        self._request_id = request_id;
        self
    }
    /// Consumes the builder and constructs a [`GetBlobDifferencesOutput`](crate::operation::get_blob_differences::GetBlobDifferencesOutput).
    /// This method will fail if any of the following fields are not set:
    /// - [`hunks`](crate::operation::get_blob_differences::builders::GetBlobDifferencesOutputBuilder::hunks)
    /// - [`is_binary`](crate::operation::get_blob_differences::builders::GetBlobDifferencesOutputBuilder::is_binary)
    pub fn build(
        self,
    ) -> ::std::result::Result<crate::operation::get_blob_differences::GetBlobDifferencesOutput, ::aws_smithy_types::error::operation::BuildError>
    {
        ::std::result::Result::Ok(crate::operation::get_blob_differences::GetBlobDifferencesOutput {
            hunks: self.hunks.ok_or_else(|| {
                ::aws_smithy_types::error::operation::BuildError::missing_field(
                    "hunks",
                    "hunks was not specified but it is required when building GetBlobDifferencesOutput",
                )
            })?,
            is_binary: self.is_binary.ok_or_else(|| {
                ::aws_smithy_types::error::operation::BuildError::missing_field(
                    "is_binary",
                    "is_binary was not specified but it is required when building GetBlobDifferencesOutput",
                )
            })?,
            before_blob_size: self.before_blob_size.unwrap_or_default(),
            after_blob_size: self.after_blob_size.unwrap_or_default(),
            next_token: self.next_token,
            _request_id: self._request_id,
        })
    }
}