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
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.

/// <p>The details of the export to signed URL response.</p>
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct ExportAssetToSignedUrlResponseDetails {
    /// <p>The unique identifier for the asset associated with this export job.</p>
    pub asset_id: ::std::string::String,
    /// <p>The unique identifier for the data set associated with this export job.</p>
    pub data_set_id: ::std::string::String,
    /// <p>The unique identifier for the revision associated with this export response.</p>
    pub revision_id: ::std::string::String,
    /// <p>The signed URL for the export request.</p>
    pub signed_url: ::std::option::Option<::std::string::String>,
    /// <p>The date and time that the signed URL expires, in ISO 8601 format.</p>
    pub signed_url_expires_at: ::std::option::Option<::aws_smithy_types::DateTime>,
}
impl ExportAssetToSignedUrlResponseDetails {
    /// <p>The unique identifier for the asset associated with this export job.</p>
    pub fn asset_id(&self) -> &str {
        use std::ops::Deref;
        self.asset_id.deref()
    }
    /// <p>The unique identifier for the data set associated with this export job.</p>
    pub fn data_set_id(&self) -> &str {
        use std::ops::Deref;
        self.data_set_id.deref()
    }
    /// <p>The unique identifier for the revision associated with this export response.</p>
    pub fn revision_id(&self) -> &str {
        use std::ops::Deref;
        self.revision_id.deref()
    }
    /// <p>The signed URL for the export request.</p>
    pub fn signed_url(&self) -> ::std::option::Option<&str> {
        self.signed_url.as_deref()
    }
    /// <p>The date and time that the signed URL expires, in ISO 8601 format.</p>
    pub fn signed_url_expires_at(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
        self.signed_url_expires_at.as_ref()
    }
}
impl ExportAssetToSignedUrlResponseDetails {
    /// Creates a new builder-style object to manufacture [`ExportAssetToSignedUrlResponseDetails`](crate::types::ExportAssetToSignedUrlResponseDetails).
    pub fn builder() -> crate::types::builders::ExportAssetToSignedUrlResponseDetailsBuilder {
        crate::types::builders::ExportAssetToSignedUrlResponseDetailsBuilder::default()
    }
}

/// A builder for [`ExportAssetToSignedUrlResponseDetails`](crate::types::ExportAssetToSignedUrlResponseDetails).
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
pub struct ExportAssetToSignedUrlResponseDetailsBuilder {
    pub(crate) asset_id: ::std::option::Option<::std::string::String>,
    pub(crate) data_set_id: ::std::option::Option<::std::string::String>,
    pub(crate) revision_id: ::std::option::Option<::std::string::String>,
    pub(crate) signed_url: ::std::option::Option<::std::string::String>,
    pub(crate) signed_url_expires_at: ::std::option::Option<::aws_smithy_types::DateTime>,
}
impl ExportAssetToSignedUrlResponseDetailsBuilder {
    /// <p>The unique identifier for the asset associated with this export job.</p>
    /// This field is required.
    pub fn asset_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.asset_id = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The unique identifier for the asset associated with this export job.</p>
    pub fn set_asset_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.asset_id = input;
        self
    }
    /// <p>The unique identifier for the asset associated with this export job.</p>
    pub fn get_asset_id(&self) -> &::std::option::Option<::std::string::String> {
        &self.asset_id
    }
    /// <p>The unique identifier for the data set associated with this export job.</p>
    /// This field is required.
    pub fn data_set_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.data_set_id = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The unique identifier for the data set associated with this export job.</p>
    pub fn set_data_set_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.data_set_id = input;
        self
    }
    /// <p>The unique identifier for the data set associated with this export job.</p>
    pub fn get_data_set_id(&self) -> &::std::option::Option<::std::string::String> {
        &self.data_set_id
    }
    /// <p>The unique identifier for the revision associated with this export response.</p>
    /// This field is required.
    pub fn revision_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.revision_id = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The unique identifier for the revision associated with this export response.</p>
    pub fn set_revision_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.revision_id = input;
        self
    }
    /// <p>The unique identifier for the revision associated with this export response.</p>
    pub fn get_revision_id(&self) -> &::std::option::Option<::std::string::String> {
        &self.revision_id
    }
    /// <p>The signed URL for the export request.</p>
    pub fn signed_url(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.signed_url = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The signed URL for the export request.</p>
    pub fn set_signed_url(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.signed_url = input;
        self
    }
    /// <p>The signed URL for the export request.</p>
    pub fn get_signed_url(&self) -> &::std::option::Option<::std::string::String> {
        &self.signed_url
    }
    /// <p>The date and time that the signed URL expires, in ISO 8601 format.</p>
    pub fn signed_url_expires_at(mut self, input: ::aws_smithy_types::DateTime) -> Self {
        self.signed_url_expires_at = ::std::option::Option::Some(input);
        self
    }
    /// <p>The date and time that the signed URL expires, in ISO 8601 format.</p>
    pub fn set_signed_url_expires_at(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
        self.signed_url_expires_at = input;
        self
    }
    /// <p>The date and time that the signed URL expires, in ISO 8601 format.</p>
    pub fn get_signed_url_expires_at(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
        &self.signed_url_expires_at
    }
    /// Consumes the builder and constructs a [`ExportAssetToSignedUrlResponseDetails`](crate::types::ExportAssetToSignedUrlResponseDetails).
    /// This method will fail if any of the following fields are not set:
    /// - [`asset_id`](crate::types::builders::ExportAssetToSignedUrlResponseDetailsBuilder::asset_id)
    /// - [`data_set_id`](crate::types::builders::ExportAssetToSignedUrlResponseDetailsBuilder::data_set_id)
    /// - [`revision_id`](crate::types::builders::ExportAssetToSignedUrlResponseDetailsBuilder::revision_id)
    pub fn build(
        self,
    ) -> ::std::result::Result<crate::types::ExportAssetToSignedUrlResponseDetails, ::aws_smithy_types::error::operation::BuildError> {
        ::std::result::Result::Ok(crate::types::ExportAssetToSignedUrlResponseDetails {
            asset_id: self.asset_id.ok_or_else(|| {
                ::aws_smithy_types::error::operation::BuildError::missing_field(
                    "asset_id",
                    "asset_id was not specified but it is required when building ExportAssetToSignedUrlResponseDetails",
                )
            })?,
            data_set_id: self.data_set_id.ok_or_else(|| {
                ::aws_smithy_types::error::operation::BuildError::missing_field(
                    "data_set_id",
                    "data_set_id was not specified but it is required when building ExportAssetToSignedUrlResponseDetails",
                )
            })?,
            revision_id: self.revision_id.ok_or_else(|| {
                ::aws_smithy_types::error::operation::BuildError::missing_field(
                    "revision_id",
                    "revision_id was not specified but it is required when building ExportAssetToSignedUrlResponseDetails",
                )
            })?,
            signed_url: self.signed_url,
            signed_url_expires_at: self.signed_url_expires_at,
        })
    }
}