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.

/// <p>Returns information about the approval rules applied to a pull request and whether conditions have been met.</p>
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct Evaluation {
    /// <p>Whether the state of the pull request is approved.</p>
    pub approved: bool,
    /// <p>Whether the approval rule requirements for the pull request have been overridden and no longer need to be met.</p>
    pub overridden: bool,
    /// <p>The names of the approval rules that have had their conditions met.</p>
    pub approval_rules_satisfied: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
    /// <p>The names of the approval rules that have not had their conditions met.</p>
    pub approval_rules_not_satisfied: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
}
impl Evaluation {
    /// <p>Whether the state of the pull request is approved.</p>
    pub fn approved(&self) -> bool {
        self.approved
    }
    /// <p>Whether the approval rule requirements for the pull request have been overridden and no longer need to be met.</p>
    pub fn overridden(&self) -> bool {
        self.overridden
    }
    /// <p>The names of the approval rules that have had their conditions met.</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 `.approval_rules_satisfied.is_none()`.
    pub fn approval_rules_satisfied(&self) -> &[::std::string::String] {
        self.approval_rules_satisfied.as_deref().unwrap_or_default()
    }
    /// <p>The names of the approval rules that have not had their conditions met.</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 `.approval_rules_not_satisfied.is_none()`.
    pub fn approval_rules_not_satisfied(&self) -> &[::std::string::String] {
        self.approval_rules_not_satisfied.as_deref().unwrap_or_default()
    }
}
impl Evaluation {
    /// Creates a new builder-style object to manufacture [`Evaluation`](crate::types::Evaluation).
    pub fn builder() -> crate::types::builders::EvaluationBuilder {
        crate::types::builders::EvaluationBuilder::default()
    }
}

/// A builder for [`Evaluation`](crate::types::Evaluation).
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
#[non_exhaustive]
pub struct EvaluationBuilder {
    pub(crate) approved: ::std::option::Option<bool>,
    pub(crate) overridden: ::std::option::Option<bool>,
    pub(crate) approval_rules_satisfied: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
    pub(crate) approval_rules_not_satisfied: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
}
impl EvaluationBuilder {
    /// <p>Whether the state of the pull request is approved.</p>
    pub fn approved(mut self, input: bool) -> Self {
        self.approved = ::std::option::Option::Some(input);
        self
    }
    /// <p>Whether the state of the pull request is approved.</p>
    pub fn set_approved(mut self, input: ::std::option::Option<bool>) -> Self {
        self.approved = input;
        self
    }
    /// <p>Whether the state of the pull request is approved.</p>
    pub fn get_approved(&self) -> &::std::option::Option<bool> {
        &self.approved
    }
    /// <p>Whether the approval rule requirements for the pull request have been overridden and no longer need to be met.</p>
    pub fn overridden(mut self, input: bool) -> Self {
        self.overridden = ::std::option::Option::Some(input);
        self
    }
    /// <p>Whether the approval rule requirements for the pull request have been overridden and no longer need to be met.</p>
    pub fn set_overridden(mut self, input: ::std::option::Option<bool>) -> Self {
        self.overridden = input;
        self
    }
    /// <p>Whether the approval rule requirements for the pull request have been overridden and no longer need to be met.</p>
    pub fn get_overridden(&self) -> &::std::option::Option<bool> {
        &self.overridden
    }
    /// Appends an item to `approval_rules_satisfied`.
    ///
    /// To override the contents of this collection use [`set_approval_rules_satisfied`](Self::set_approval_rules_satisfied).
    ///
    /// <p>The names of the approval rules that have had their conditions met.</p>
    pub fn approval_rules_satisfied(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        let mut v = self.approval_rules_satisfied.unwrap_or_default();
        v.push(input.into());
        self.approval_rules_satisfied = ::std::option::Option::Some(v);
        self
    }
    /// <p>The names of the approval rules that have had their conditions met.</p>
    pub fn set_approval_rules_satisfied(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
        self.approval_rules_satisfied = input;
        self
    }
    /// <p>The names of the approval rules that have had their conditions met.</p>
    pub fn get_approval_rules_satisfied(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
        &self.approval_rules_satisfied
    }
    /// Appends an item to `approval_rules_not_satisfied`.
    ///
    /// To override the contents of this collection use [`set_approval_rules_not_satisfied`](Self::set_approval_rules_not_satisfied).
    ///
    /// <p>The names of the approval rules that have not had their conditions met.</p>
    pub fn approval_rules_not_satisfied(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        let mut v = self.approval_rules_not_satisfied.unwrap_or_default();
        v.push(input.into());
        self.approval_rules_not_satisfied = ::std::option::Option::Some(v);
        self
    }
    /// <p>The names of the approval rules that have not had their conditions met.</p>
    pub fn set_approval_rules_not_satisfied(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
        self.approval_rules_not_satisfied = input;
        self
    }
    /// <p>The names of the approval rules that have not had their conditions met.</p>
    pub fn get_approval_rules_not_satisfied(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
        &self.approval_rules_not_satisfied
    }
    /// Consumes the builder and constructs a [`Evaluation`](crate::types::Evaluation).
    pub fn build(self) -> crate::types::Evaluation {
        crate::types::Evaluation {
            approved: self.approved.unwrap_or_default(),
            overridden: self.overridden.unwrap_or_default(),
            approval_rules_satisfied: self.approval_rules_satisfied,
            approval_rules_not_satisfied: self.approval_rules_not_satisfied,
        }
    }
}