1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
// 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)]
pub struct GetRevisionInput {
    /// <p>The name of the ledger.</p>
    pub name: ::std::option::Option<::std::string::String>,
    /// <p>The block location of the document revision to be verified. An address is an Amazon Ion structure that has two fields: <code>strandId</code> and <code>sequenceNo</code>.</p>
    /// <p>For example: <code>{strandId:"BlFTjlSXze9BIh1KOszcE3",sequenceNo:14}</code>.</p>
    pub block_address: ::std::option::Option<crate::types::ValueHolder>,
    /// <p>The UUID (represented in Base62-encoded text) of the document to be verified.</p>
    pub document_id: ::std::option::Option<::std::string::String>,
    /// <p>The latest block location covered by the digest for which to request a proof. An address is an Amazon Ion structure that has two fields: <code>strandId</code> and <code>sequenceNo</code>.</p>
    /// <p>For example: <code>{strandId:"BlFTjlSXze9BIh1KOszcE3",sequenceNo:49}</code>.</p>
    pub digest_tip_address: ::std::option::Option<crate::types::ValueHolder>,
}
impl GetRevisionInput {
    /// <p>The name of the ledger.</p>
    pub fn name(&self) -> ::std::option::Option<&str> {
        self.name.as_deref()
    }
    /// <p>The block location of the document revision to be verified. An address is an Amazon Ion structure that has two fields: <code>strandId</code> and <code>sequenceNo</code>.</p>
    /// <p>For example: <code>{strandId:"BlFTjlSXze9BIh1KOszcE3",sequenceNo:14}</code>.</p>
    pub fn block_address(&self) -> ::std::option::Option<&crate::types::ValueHolder> {
        self.block_address.as_ref()
    }
    /// <p>The UUID (represented in Base62-encoded text) of the document to be verified.</p>
    pub fn document_id(&self) -> ::std::option::Option<&str> {
        self.document_id.as_deref()
    }
    /// <p>The latest block location covered by the digest for which to request a proof. An address is an Amazon Ion structure that has two fields: <code>strandId</code> and <code>sequenceNo</code>.</p>
    /// <p>For example: <code>{strandId:"BlFTjlSXze9BIh1KOszcE3",sequenceNo:49}</code>.</p>
    pub fn digest_tip_address(&self) -> ::std::option::Option<&crate::types::ValueHolder> {
        self.digest_tip_address.as_ref()
    }
}
impl ::std::fmt::Debug for GetRevisionInput {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        let mut formatter = f.debug_struct("GetRevisionInput");
        formatter.field("name", &self.name);
        formatter.field("block_address", &"*** Sensitive Data Redacted ***");
        formatter.field("document_id", &self.document_id);
        formatter.field("digest_tip_address", &"*** Sensitive Data Redacted ***");
        formatter.finish()
    }
}
impl GetRevisionInput {
    /// Creates a new builder-style object to manufacture [`GetRevisionInput`](crate::operation::get_revision::GetRevisionInput).
    pub fn builder() -> crate::operation::get_revision::builders::GetRevisionInputBuilder {
        crate::operation::get_revision::builders::GetRevisionInputBuilder::default()
    }
}

/// A builder for [`GetRevisionInput`](crate::operation::get_revision::GetRevisionInput).
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default)]
#[non_exhaustive]
pub struct GetRevisionInputBuilder {
    pub(crate) name: ::std::option::Option<::std::string::String>,
    pub(crate) block_address: ::std::option::Option<crate::types::ValueHolder>,
    pub(crate) document_id: ::std::option::Option<::std::string::String>,
    pub(crate) digest_tip_address: ::std::option::Option<crate::types::ValueHolder>,
}
impl GetRevisionInputBuilder {
    /// <p>The name of the ledger.</p>
    /// This field is required.
    pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.name = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The name of the ledger.</p>
    pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.name = input;
        self
    }
    /// <p>The name of the ledger.</p>
    pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
        &self.name
    }
    /// <p>The block location of the document revision to be verified. An address is an Amazon Ion structure that has two fields: <code>strandId</code> and <code>sequenceNo</code>.</p>
    /// <p>For example: <code>{strandId:"BlFTjlSXze9BIh1KOszcE3",sequenceNo:14}</code>.</p>
    /// This field is required.
    pub fn block_address(mut self, input: crate::types::ValueHolder) -> Self {
        self.block_address = ::std::option::Option::Some(input);
        self
    }
    /// <p>The block location of the document revision to be verified. An address is an Amazon Ion structure that has two fields: <code>strandId</code> and <code>sequenceNo</code>.</p>
    /// <p>For example: <code>{strandId:"BlFTjlSXze9BIh1KOszcE3",sequenceNo:14}</code>.</p>
    pub fn set_block_address(mut self, input: ::std::option::Option<crate::types::ValueHolder>) -> Self {
        self.block_address = input;
        self
    }
    /// <p>The block location of the document revision to be verified. An address is an Amazon Ion structure that has two fields: <code>strandId</code> and <code>sequenceNo</code>.</p>
    /// <p>For example: <code>{strandId:"BlFTjlSXze9BIh1KOszcE3",sequenceNo:14}</code>.</p>
    pub fn get_block_address(&self) -> &::std::option::Option<crate::types::ValueHolder> {
        &self.block_address
    }
    /// <p>The UUID (represented in Base62-encoded text) of the document to be verified.</p>
    /// This field is required.
    pub fn document_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.document_id = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The UUID (represented in Base62-encoded text) of the document to be verified.</p>
    pub fn set_document_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.document_id = input;
        self
    }
    /// <p>The UUID (represented in Base62-encoded text) of the document to be verified.</p>
    pub fn get_document_id(&self) -> &::std::option::Option<::std::string::String> {
        &self.document_id
    }
    /// <p>The latest block location covered by the digest for which to request a proof. An address is an Amazon Ion structure that has two fields: <code>strandId</code> and <code>sequenceNo</code>.</p>
    /// <p>For example: <code>{strandId:"BlFTjlSXze9BIh1KOszcE3",sequenceNo:49}</code>.</p>
    pub fn digest_tip_address(mut self, input: crate::types::ValueHolder) -> Self {
        self.digest_tip_address = ::std::option::Option::Some(input);
        self
    }
    /// <p>The latest block location covered by the digest for which to request a proof. An address is an Amazon Ion structure that has two fields: <code>strandId</code> and <code>sequenceNo</code>.</p>
    /// <p>For example: <code>{strandId:"BlFTjlSXze9BIh1KOszcE3",sequenceNo:49}</code>.</p>
    pub fn set_digest_tip_address(mut self, input: ::std::option::Option<crate::types::ValueHolder>) -> Self {
        self.digest_tip_address = input;
        self
    }
    /// <p>The latest block location covered by the digest for which to request a proof. An address is an Amazon Ion structure that has two fields: <code>strandId</code> and <code>sequenceNo</code>.</p>
    /// <p>For example: <code>{strandId:"BlFTjlSXze9BIh1KOszcE3",sequenceNo:49}</code>.</p>
    pub fn get_digest_tip_address(&self) -> &::std::option::Option<crate::types::ValueHolder> {
        &self.digest_tip_address
    }
    /// Consumes the builder and constructs a [`GetRevisionInput`](crate::operation::get_revision::GetRevisionInput).
    pub fn build(self) -> ::std::result::Result<crate::operation::get_revision::GetRevisionInput, ::aws_smithy_types::error::operation::BuildError> {
        ::std::result::Result::Ok(crate::operation::get_revision::GetRevisionInput {
            name: self.name,
            block_address: self.block_address,
            document_id: self.document_id,
            digest_tip_address: self.digest_tip_address,
        })
    }
}
impl ::std::fmt::Debug for GetRevisionInputBuilder {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        let mut formatter = f.debug_struct("GetRevisionInputBuilder");
        formatter.field("name", &self.name);
        formatter.field("block_address", &"*** Sensitive Data Redacted ***");
        formatter.field("document_id", &self.document_id);
        formatter.field("digest_tip_address", &"*** Sensitive Data Redacted ***");
        formatter.finish()
    }
}