aws_sdk_transfer/operation/create_agreement/
_create_agreement_output.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2#[allow(missing_docs)] // documentation missing in model
3#[non_exhaustive]
4#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
5pub struct CreateAgreementOutput {
6    /// <p>The unique identifier for the agreement. Use this ID for deleting, or updating an agreement, as well as in any other API calls that require that you specify the agreement ID.</p>
7    pub agreement_id: ::std::string::String,
8    _request_id: Option<String>,
9}
10impl CreateAgreementOutput {
11    /// <p>The unique identifier for the agreement. Use this ID for deleting, or updating an agreement, as well as in any other API calls that require that you specify the agreement ID.</p>
12    pub fn agreement_id(&self) -> &str {
13        use std::ops::Deref;
14        self.agreement_id.deref()
15    }
16}
17impl ::aws_types::request_id::RequestId for CreateAgreementOutput {
18    fn request_id(&self) -> Option<&str> {
19        self._request_id.as_deref()
20    }
21}
22impl CreateAgreementOutput {
23    /// Creates a new builder-style object to manufacture [`CreateAgreementOutput`](crate::operation::create_agreement::CreateAgreementOutput).
24    pub fn builder() -> crate::operation::create_agreement::builders::CreateAgreementOutputBuilder {
25        crate::operation::create_agreement::builders::CreateAgreementOutputBuilder::default()
26    }
27}
28
29/// A builder for [`CreateAgreementOutput`](crate::operation::create_agreement::CreateAgreementOutput).
30#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
31#[non_exhaustive]
32pub struct CreateAgreementOutputBuilder {
33    pub(crate) agreement_id: ::std::option::Option<::std::string::String>,
34    _request_id: Option<String>,
35}
36impl CreateAgreementOutputBuilder {
37    /// <p>The unique identifier for the agreement. Use this ID for deleting, or updating an agreement, as well as in any other API calls that require that you specify the agreement ID.</p>
38    /// This field is required.
39    pub fn agreement_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
40        self.agreement_id = ::std::option::Option::Some(input.into());
41        self
42    }
43    /// <p>The unique identifier for the agreement. Use this ID for deleting, or updating an agreement, as well as in any other API calls that require that you specify the agreement ID.</p>
44    pub fn set_agreement_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
45        self.agreement_id = input;
46        self
47    }
48    /// <p>The unique identifier for the agreement. Use this ID for deleting, or updating an agreement, as well as in any other API calls that require that you specify the agreement ID.</p>
49    pub fn get_agreement_id(&self) -> &::std::option::Option<::std::string::String> {
50        &self.agreement_id
51    }
52    pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
53        self._request_id = Some(request_id.into());
54        self
55    }
56
57    pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
58        self._request_id = request_id;
59        self
60    }
61    /// Consumes the builder and constructs a [`CreateAgreementOutput`](crate::operation::create_agreement::CreateAgreementOutput).
62    /// This method will fail if any of the following fields are not set:
63    /// - [`agreement_id`](crate::operation::create_agreement::builders::CreateAgreementOutputBuilder::agreement_id)
64    pub fn build(
65        self,
66    ) -> ::std::result::Result<crate::operation::create_agreement::CreateAgreementOutput, ::aws_smithy_types::error::operation::BuildError> {
67        ::std::result::Result::Ok(crate::operation::create_agreement::CreateAgreementOutput {
68            agreement_id: self.agreement_id.ok_or_else(|| {
69                ::aws_smithy_types::error::operation::BuildError::missing_field(
70                    "agreement_id",
71                    "agreement_id was not specified but it is required when building CreateAgreementOutput",
72                )
73            })?,
74            _request_id: self._request_id,
75        })
76    }
77}