aws_sdk_osis/operation/update_pipeline/
_update_pipeline_input.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 UpdatePipelineInput {
6    /// <p>The name of the pipeline to update.</p>
7    pub pipeline_name: ::std::option::Option<::std::string::String>,
8    /// <p>The minimum pipeline capacity, in Ingestion Compute Units (ICUs).</p>
9    pub min_units: ::std::option::Option<i32>,
10    /// <p>The maximum pipeline capacity, in Ingestion Compute Units (ICUs)</p>
11    pub max_units: ::std::option::Option<i32>,
12    /// <p>The pipeline configuration in YAML format. The command accepts the pipeline configuration as a string or within a .yaml file. If you provide the configuration as a string, each new line must be escaped with <code>\n</code>.</p>
13    pub pipeline_configuration_body: ::std::option::Option<::std::string::String>,
14    /// <p>Key-value pairs to configure log publishing.</p>
15    pub log_publishing_options: ::std::option::Option<crate::types::LogPublishingOptions>,
16    /// <p>Key-value pairs to configure persistent buffering for the pipeline.</p>
17    pub buffer_options: ::std::option::Option<crate::types::BufferOptions>,
18    /// <p>Key-value pairs to configure encryption for data that is written to a persistent buffer.</p>
19    pub encryption_at_rest_options: ::std::option::Option<crate::types::EncryptionAtRestOptions>,
20    /// <p>The Amazon Resource Name (ARN) of the IAM role that grants the pipeline permission to access Amazon Web Services resources.</p>
21    pub pipeline_role_arn: ::std::option::Option<::std::string::String>,
22}
23impl UpdatePipelineInput {
24    /// <p>The name of the pipeline to update.</p>
25    pub fn pipeline_name(&self) -> ::std::option::Option<&str> {
26        self.pipeline_name.as_deref()
27    }
28    /// <p>The minimum pipeline capacity, in Ingestion Compute Units (ICUs).</p>
29    pub fn min_units(&self) -> ::std::option::Option<i32> {
30        self.min_units
31    }
32    /// <p>The maximum pipeline capacity, in Ingestion Compute Units (ICUs)</p>
33    pub fn max_units(&self) -> ::std::option::Option<i32> {
34        self.max_units
35    }
36    /// <p>The pipeline configuration in YAML format. The command accepts the pipeline configuration as a string or within a .yaml file. If you provide the configuration as a string, each new line must be escaped with <code>\n</code>.</p>
37    pub fn pipeline_configuration_body(&self) -> ::std::option::Option<&str> {
38        self.pipeline_configuration_body.as_deref()
39    }
40    /// <p>Key-value pairs to configure log publishing.</p>
41    pub fn log_publishing_options(&self) -> ::std::option::Option<&crate::types::LogPublishingOptions> {
42        self.log_publishing_options.as_ref()
43    }
44    /// <p>Key-value pairs to configure persistent buffering for the pipeline.</p>
45    pub fn buffer_options(&self) -> ::std::option::Option<&crate::types::BufferOptions> {
46        self.buffer_options.as_ref()
47    }
48    /// <p>Key-value pairs to configure encryption for data that is written to a persistent buffer.</p>
49    pub fn encryption_at_rest_options(&self) -> ::std::option::Option<&crate::types::EncryptionAtRestOptions> {
50        self.encryption_at_rest_options.as_ref()
51    }
52    /// <p>The Amazon Resource Name (ARN) of the IAM role that grants the pipeline permission to access Amazon Web Services resources.</p>
53    pub fn pipeline_role_arn(&self) -> ::std::option::Option<&str> {
54        self.pipeline_role_arn.as_deref()
55    }
56}
57impl UpdatePipelineInput {
58    /// Creates a new builder-style object to manufacture [`UpdatePipelineInput`](crate::operation::update_pipeline::UpdatePipelineInput).
59    pub fn builder() -> crate::operation::update_pipeline::builders::UpdatePipelineInputBuilder {
60        crate::operation::update_pipeline::builders::UpdatePipelineInputBuilder::default()
61    }
62}
63
64/// A builder for [`UpdatePipelineInput`](crate::operation::update_pipeline::UpdatePipelineInput).
65#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
66#[non_exhaustive]
67pub struct UpdatePipelineInputBuilder {
68    pub(crate) pipeline_name: ::std::option::Option<::std::string::String>,
69    pub(crate) min_units: ::std::option::Option<i32>,
70    pub(crate) max_units: ::std::option::Option<i32>,
71    pub(crate) pipeline_configuration_body: ::std::option::Option<::std::string::String>,
72    pub(crate) log_publishing_options: ::std::option::Option<crate::types::LogPublishingOptions>,
73    pub(crate) buffer_options: ::std::option::Option<crate::types::BufferOptions>,
74    pub(crate) encryption_at_rest_options: ::std::option::Option<crate::types::EncryptionAtRestOptions>,
75    pub(crate) pipeline_role_arn: ::std::option::Option<::std::string::String>,
76}
77impl UpdatePipelineInputBuilder {
78    /// <p>The name of the pipeline to update.</p>
79    /// This field is required.
80    pub fn pipeline_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
81        self.pipeline_name = ::std::option::Option::Some(input.into());
82        self
83    }
84    /// <p>The name of the pipeline to update.</p>
85    pub fn set_pipeline_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
86        self.pipeline_name = input;
87        self
88    }
89    /// <p>The name of the pipeline to update.</p>
90    pub fn get_pipeline_name(&self) -> &::std::option::Option<::std::string::String> {
91        &self.pipeline_name
92    }
93    /// <p>The minimum pipeline capacity, in Ingestion Compute Units (ICUs).</p>
94    pub fn min_units(mut self, input: i32) -> Self {
95        self.min_units = ::std::option::Option::Some(input);
96        self
97    }
98    /// <p>The minimum pipeline capacity, in Ingestion Compute Units (ICUs).</p>
99    pub fn set_min_units(mut self, input: ::std::option::Option<i32>) -> Self {
100        self.min_units = input;
101        self
102    }
103    /// <p>The minimum pipeline capacity, in Ingestion Compute Units (ICUs).</p>
104    pub fn get_min_units(&self) -> &::std::option::Option<i32> {
105        &self.min_units
106    }
107    /// <p>The maximum pipeline capacity, in Ingestion Compute Units (ICUs)</p>
108    pub fn max_units(mut self, input: i32) -> Self {
109        self.max_units = ::std::option::Option::Some(input);
110        self
111    }
112    /// <p>The maximum pipeline capacity, in Ingestion Compute Units (ICUs)</p>
113    pub fn set_max_units(mut self, input: ::std::option::Option<i32>) -> Self {
114        self.max_units = input;
115        self
116    }
117    /// <p>The maximum pipeline capacity, in Ingestion Compute Units (ICUs)</p>
118    pub fn get_max_units(&self) -> &::std::option::Option<i32> {
119        &self.max_units
120    }
121    /// <p>The pipeline configuration in YAML format. The command accepts the pipeline configuration as a string or within a .yaml file. If you provide the configuration as a string, each new line must be escaped with <code>\n</code>.</p>
122    pub fn pipeline_configuration_body(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
123        self.pipeline_configuration_body = ::std::option::Option::Some(input.into());
124        self
125    }
126    /// <p>The pipeline configuration in YAML format. The command accepts the pipeline configuration as a string or within a .yaml file. If you provide the configuration as a string, each new line must be escaped with <code>\n</code>.</p>
127    pub fn set_pipeline_configuration_body(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
128        self.pipeline_configuration_body = input;
129        self
130    }
131    /// <p>The pipeline configuration in YAML format. The command accepts the pipeline configuration as a string or within a .yaml file. If you provide the configuration as a string, each new line must be escaped with <code>\n</code>.</p>
132    pub fn get_pipeline_configuration_body(&self) -> &::std::option::Option<::std::string::String> {
133        &self.pipeline_configuration_body
134    }
135    /// <p>Key-value pairs to configure log publishing.</p>
136    pub fn log_publishing_options(mut self, input: crate::types::LogPublishingOptions) -> Self {
137        self.log_publishing_options = ::std::option::Option::Some(input);
138        self
139    }
140    /// <p>Key-value pairs to configure log publishing.</p>
141    pub fn set_log_publishing_options(mut self, input: ::std::option::Option<crate::types::LogPublishingOptions>) -> Self {
142        self.log_publishing_options = input;
143        self
144    }
145    /// <p>Key-value pairs to configure log publishing.</p>
146    pub fn get_log_publishing_options(&self) -> &::std::option::Option<crate::types::LogPublishingOptions> {
147        &self.log_publishing_options
148    }
149    /// <p>Key-value pairs to configure persistent buffering for the pipeline.</p>
150    pub fn buffer_options(mut self, input: crate::types::BufferOptions) -> Self {
151        self.buffer_options = ::std::option::Option::Some(input);
152        self
153    }
154    /// <p>Key-value pairs to configure persistent buffering for the pipeline.</p>
155    pub fn set_buffer_options(mut self, input: ::std::option::Option<crate::types::BufferOptions>) -> Self {
156        self.buffer_options = input;
157        self
158    }
159    /// <p>Key-value pairs to configure persistent buffering for the pipeline.</p>
160    pub fn get_buffer_options(&self) -> &::std::option::Option<crate::types::BufferOptions> {
161        &self.buffer_options
162    }
163    /// <p>Key-value pairs to configure encryption for data that is written to a persistent buffer.</p>
164    pub fn encryption_at_rest_options(mut self, input: crate::types::EncryptionAtRestOptions) -> Self {
165        self.encryption_at_rest_options = ::std::option::Option::Some(input);
166        self
167    }
168    /// <p>Key-value pairs to configure encryption for data that is written to a persistent buffer.</p>
169    pub fn set_encryption_at_rest_options(mut self, input: ::std::option::Option<crate::types::EncryptionAtRestOptions>) -> Self {
170        self.encryption_at_rest_options = input;
171        self
172    }
173    /// <p>Key-value pairs to configure encryption for data that is written to a persistent buffer.</p>
174    pub fn get_encryption_at_rest_options(&self) -> &::std::option::Option<crate::types::EncryptionAtRestOptions> {
175        &self.encryption_at_rest_options
176    }
177    /// <p>The Amazon Resource Name (ARN) of the IAM role that grants the pipeline permission to access Amazon Web Services resources.</p>
178    pub fn pipeline_role_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
179        self.pipeline_role_arn = ::std::option::Option::Some(input.into());
180        self
181    }
182    /// <p>The Amazon Resource Name (ARN) of the IAM role that grants the pipeline permission to access Amazon Web Services resources.</p>
183    pub fn set_pipeline_role_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
184        self.pipeline_role_arn = input;
185        self
186    }
187    /// <p>The Amazon Resource Name (ARN) of the IAM role that grants the pipeline permission to access Amazon Web Services resources.</p>
188    pub fn get_pipeline_role_arn(&self) -> &::std::option::Option<::std::string::String> {
189        &self.pipeline_role_arn
190    }
191    /// Consumes the builder and constructs a [`UpdatePipelineInput`](crate::operation::update_pipeline::UpdatePipelineInput).
192    pub fn build(
193        self,
194    ) -> ::std::result::Result<crate::operation::update_pipeline::UpdatePipelineInput, ::aws_smithy_types::error::operation::BuildError> {
195        ::std::result::Result::Ok(crate::operation::update_pipeline::UpdatePipelineInput {
196            pipeline_name: self.pipeline_name,
197            min_units: self.min_units,
198            max_units: self.max_units,
199            pipeline_configuration_body: self.pipeline_configuration_body,
200            log_publishing_options: self.log_publishing_options,
201            buffer_options: self.buffer_options,
202            encryption_at_rest_options: self.encryption_at_rest_options,
203            pipeline_role_arn: self.pipeline_role_arn,
204        })
205    }
206}