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
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.

/// <p>A media capture pipeline object consisting of an ID, source type, source ARN, a sink type, a sink ARN, and a configuration object.</p>
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq)]
pub struct MediaCapturePipeline {
    /// <p>The ID of a media capture pipeline.</p>
    pub media_pipeline_id: ::std::option::Option<::std::string::String>,
    /// <p>Source type from which media artifacts are saved. You must use <code>ChimeMeeting</code>.</p>
    pub source_type: ::std::option::Option<crate::types::MediaPipelineSourceType>,
    /// <p>ARN of the source from which the media artifacts will be saved.</p>
    pub source_arn: ::std::option::Option<::std::string::String>,
    /// <p>The status of the media capture pipeline.</p>
    pub status: ::std::option::Option<crate::types::MediaPipelineStatus>,
    /// <p>Destination type to which the media artifacts are saved. You must use an S3 Bucket.</p>
    pub sink_type: ::std::option::Option<crate::types::MediaPipelineSinkType>,
    /// <p>ARN of the destination to which the media artifacts are saved.</p>
    pub sink_arn: ::std::option::Option<::std::string::String>,
    /// <p>The time at which the capture pipeline was created, in ISO 8601 format.</p>
    pub created_timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
    /// <p>The time at which the capture pipeline was updated, in ISO 8601 format.</p>
    pub updated_timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
    /// <p>The configuration for a specified media capture pipeline. <code>SourceType</code> must be <code>ChimeSdkMeeting</code>.</p>
    pub chime_sdk_meeting_configuration: ::std::option::Option<crate::types::ChimeSdkMeetingConfiguration>,
}
impl MediaCapturePipeline {
    /// <p>The ID of a media capture pipeline.</p>
    pub fn media_pipeline_id(&self) -> ::std::option::Option<&str> {
        self.media_pipeline_id.as_deref()
    }
    /// <p>Source type from which media artifacts are saved. You must use <code>ChimeMeeting</code>.</p>
    pub fn source_type(&self) -> ::std::option::Option<&crate::types::MediaPipelineSourceType> {
        self.source_type.as_ref()
    }
    /// <p>ARN of the source from which the media artifacts will be saved.</p>
    pub fn source_arn(&self) -> ::std::option::Option<&str> {
        self.source_arn.as_deref()
    }
    /// <p>The status of the media capture pipeline.</p>
    pub fn status(&self) -> ::std::option::Option<&crate::types::MediaPipelineStatus> {
        self.status.as_ref()
    }
    /// <p>Destination type to which the media artifacts are saved. You must use an S3 Bucket.</p>
    pub fn sink_type(&self) -> ::std::option::Option<&crate::types::MediaPipelineSinkType> {
        self.sink_type.as_ref()
    }
    /// <p>ARN of the destination to which the media artifacts are saved.</p>
    pub fn sink_arn(&self) -> ::std::option::Option<&str> {
        self.sink_arn.as_deref()
    }
    /// <p>The time at which the capture pipeline was created, in ISO 8601 format.</p>
    pub fn created_timestamp(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
        self.created_timestamp.as_ref()
    }
    /// <p>The time at which the capture pipeline was updated, in ISO 8601 format.</p>
    pub fn updated_timestamp(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
        self.updated_timestamp.as_ref()
    }
    /// <p>The configuration for a specified media capture pipeline. <code>SourceType</code> must be <code>ChimeSdkMeeting</code>.</p>
    pub fn chime_sdk_meeting_configuration(&self) -> ::std::option::Option<&crate::types::ChimeSdkMeetingConfiguration> {
        self.chime_sdk_meeting_configuration.as_ref()
    }
}
impl ::std::fmt::Debug for MediaCapturePipeline {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        let mut formatter = f.debug_struct("MediaCapturePipeline");
        formatter.field("media_pipeline_id", &self.media_pipeline_id);
        formatter.field("source_type", &self.source_type);
        formatter.field("source_arn", &"*** Sensitive Data Redacted ***");
        formatter.field("status", &self.status);
        formatter.field("sink_type", &self.sink_type);
        formatter.field("sink_arn", &"*** Sensitive Data Redacted ***");
        formatter.field("created_timestamp", &self.created_timestamp);
        formatter.field("updated_timestamp", &self.updated_timestamp);
        formatter.field("chime_sdk_meeting_configuration", &self.chime_sdk_meeting_configuration);
        formatter.finish()
    }
}
impl MediaCapturePipeline {
    /// Creates a new builder-style object to manufacture [`MediaCapturePipeline`](crate::types::MediaCapturePipeline).
    pub fn builder() -> crate::types::builders::MediaCapturePipelineBuilder {
        crate::types::builders::MediaCapturePipelineBuilder::default()
    }
}

/// A builder for [`MediaCapturePipeline`](crate::types::MediaCapturePipeline).
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default)]
pub struct MediaCapturePipelineBuilder {
    pub(crate) media_pipeline_id: ::std::option::Option<::std::string::String>,
    pub(crate) source_type: ::std::option::Option<crate::types::MediaPipelineSourceType>,
    pub(crate) source_arn: ::std::option::Option<::std::string::String>,
    pub(crate) status: ::std::option::Option<crate::types::MediaPipelineStatus>,
    pub(crate) sink_type: ::std::option::Option<crate::types::MediaPipelineSinkType>,
    pub(crate) sink_arn: ::std::option::Option<::std::string::String>,
    pub(crate) created_timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
    pub(crate) updated_timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
    pub(crate) chime_sdk_meeting_configuration: ::std::option::Option<crate::types::ChimeSdkMeetingConfiguration>,
}
impl MediaCapturePipelineBuilder {
    /// <p>The ID of a media capture pipeline.</p>
    pub fn media_pipeline_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.media_pipeline_id = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The ID of a media capture pipeline.</p>
    pub fn set_media_pipeline_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.media_pipeline_id = input;
        self
    }
    /// <p>The ID of a media capture pipeline.</p>
    pub fn get_media_pipeline_id(&self) -> &::std::option::Option<::std::string::String> {
        &self.media_pipeline_id
    }
    /// <p>Source type from which media artifacts are saved. You must use <code>ChimeMeeting</code>.</p>
    pub fn source_type(mut self, input: crate::types::MediaPipelineSourceType) -> Self {
        self.source_type = ::std::option::Option::Some(input);
        self
    }
    /// <p>Source type from which media artifacts are saved. You must use <code>ChimeMeeting</code>.</p>
    pub fn set_source_type(mut self, input: ::std::option::Option<crate::types::MediaPipelineSourceType>) -> Self {
        self.source_type = input;
        self
    }
    /// <p>Source type from which media artifacts are saved. You must use <code>ChimeMeeting</code>.</p>
    pub fn get_source_type(&self) -> &::std::option::Option<crate::types::MediaPipelineSourceType> {
        &self.source_type
    }
    /// <p>ARN of the source from which the media artifacts will be saved.</p>
    pub fn source_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.source_arn = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>ARN of the source from which the media artifacts will be saved.</p>
    pub fn set_source_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.source_arn = input;
        self
    }
    /// <p>ARN of the source from which the media artifacts will be saved.</p>
    pub fn get_source_arn(&self) -> &::std::option::Option<::std::string::String> {
        &self.source_arn
    }
    /// <p>The status of the media capture pipeline.</p>
    pub fn status(mut self, input: crate::types::MediaPipelineStatus) -> Self {
        self.status = ::std::option::Option::Some(input);
        self
    }
    /// <p>The status of the media capture pipeline.</p>
    pub fn set_status(mut self, input: ::std::option::Option<crate::types::MediaPipelineStatus>) -> Self {
        self.status = input;
        self
    }
    /// <p>The status of the media capture pipeline.</p>
    pub fn get_status(&self) -> &::std::option::Option<crate::types::MediaPipelineStatus> {
        &self.status
    }
    /// <p>Destination type to which the media artifacts are saved. You must use an S3 Bucket.</p>
    pub fn sink_type(mut self, input: crate::types::MediaPipelineSinkType) -> Self {
        self.sink_type = ::std::option::Option::Some(input);
        self
    }
    /// <p>Destination type to which the media artifacts are saved. You must use an S3 Bucket.</p>
    pub fn set_sink_type(mut self, input: ::std::option::Option<crate::types::MediaPipelineSinkType>) -> Self {
        self.sink_type = input;
        self
    }
    /// <p>Destination type to which the media artifacts are saved. You must use an S3 Bucket.</p>
    pub fn get_sink_type(&self) -> &::std::option::Option<crate::types::MediaPipelineSinkType> {
        &self.sink_type
    }
    /// <p>ARN of the destination to which the media artifacts are saved.</p>
    pub fn sink_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.sink_arn = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>ARN of the destination to which the media artifacts are saved.</p>
    pub fn set_sink_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.sink_arn = input;
        self
    }
    /// <p>ARN of the destination to which the media artifacts are saved.</p>
    pub fn get_sink_arn(&self) -> &::std::option::Option<::std::string::String> {
        &self.sink_arn
    }
    /// <p>The time at which the capture pipeline was created, in ISO 8601 format.</p>
    pub fn created_timestamp(mut self, input: ::aws_smithy_types::DateTime) -> Self {
        self.created_timestamp = ::std::option::Option::Some(input);
        self
    }
    /// <p>The time at which the capture pipeline was created, in ISO 8601 format.</p>
    pub fn set_created_timestamp(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
        self.created_timestamp = input;
        self
    }
    /// <p>The time at which the capture pipeline was created, in ISO 8601 format.</p>
    pub fn get_created_timestamp(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
        &self.created_timestamp
    }
    /// <p>The time at which the capture pipeline was updated, in ISO 8601 format.</p>
    pub fn updated_timestamp(mut self, input: ::aws_smithy_types::DateTime) -> Self {
        self.updated_timestamp = ::std::option::Option::Some(input);
        self
    }
    /// <p>The time at which the capture pipeline was updated, in ISO 8601 format.</p>
    pub fn set_updated_timestamp(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
        self.updated_timestamp = input;
        self
    }
    /// <p>The time at which the capture pipeline was updated, in ISO 8601 format.</p>
    pub fn get_updated_timestamp(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
        &self.updated_timestamp
    }
    /// <p>The configuration for a specified media capture pipeline. <code>SourceType</code> must be <code>ChimeSdkMeeting</code>.</p>
    pub fn chime_sdk_meeting_configuration(mut self, input: crate::types::ChimeSdkMeetingConfiguration) -> Self {
        self.chime_sdk_meeting_configuration = ::std::option::Option::Some(input);
        self
    }
    /// <p>The configuration for a specified media capture pipeline. <code>SourceType</code> must be <code>ChimeSdkMeeting</code>.</p>
    pub fn set_chime_sdk_meeting_configuration(mut self, input: ::std::option::Option<crate::types::ChimeSdkMeetingConfiguration>) -> Self {
        self.chime_sdk_meeting_configuration = input;
        self
    }
    /// <p>The configuration for a specified media capture pipeline. <code>SourceType</code> must be <code>ChimeSdkMeeting</code>.</p>
    pub fn get_chime_sdk_meeting_configuration(&self) -> &::std::option::Option<crate::types::ChimeSdkMeetingConfiguration> {
        &self.chime_sdk_meeting_configuration
    }
    /// Consumes the builder and constructs a [`MediaCapturePipeline`](crate::types::MediaCapturePipeline).
    pub fn build(self) -> crate::types::MediaCapturePipeline {
        crate::types::MediaCapturePipeline {
            media_pipeline_id: self.media_pipeline_id,
            source_type: self.source_type,
            source_arn: self.source_arn,
            status: self.status,
            sink_type: self.sink_type,
            sink_arn: self.sink_arn,
            created_timestamp: self.created_timestamp,
            updated_timestamp: self.updated_timestamp,
            chime_sdk_meeting_configuration: self.chime_sdk_meeting_configuration,
        }
    }
}
impl ::std::fmt::Debug for MediaCapturePipelineBuilder {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        let mut formatter = f.debug_struct("MediaCapturePipelineBuilder");
        formatter.field("media_pipeline_id", &self.media_pipeline_id);
        formatter.field("source_type", &self.source_type);
        formatter.field("source_arn", &"*** Sensitive Data Redacted ***");
        formatter.field("status", &self.status);
        formatter.field("sink_type", &self.sink_type);
        formatter.field("sink_arn", &"*** Sensitive Data Redacted ***");
        formatter.field("created_timestamp", &self.created_timestamp);
        formatter.field("updated_timestamp", &self.updated_timestamp);
        formatter.field("chime_sdk_meeting_configuration", &self.chime_sdk_meeting_configuration);
        formatter.finish()
    }
}