aws-sdk-appflow 1.98.0

AWS SDK for Amazon Appflow
Documentation
// 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, ::std::fmt::Debug)]
pub struct UpdateFlowInput {
    /// <p>The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only.</p>
    pub flow_name: ::std::option::Option<::std::string::String>,
    /// <p>A description of the flow.</p>
    pub description: ::std::option::Option<::std::string::String>,
    /// <p>The trigger settings that determine how and when the flow runs.</p>
    pub trigger_config: ::std::option::Option<crate::types::TriggerConfig>,
    /// <p>Contains information about the configuration of the source connector used in the flow.</p>
    pub source_flow_config: ::std::option::Option<crate::types::SourceFlowConfig>,
    /// <p>The configuration that controls how Amazon AppFlow transfers data to the destination connector.</p>
    pub destination_flow_config_list: ::std::option::Option<::std::vec::Vec<crate::types::DestinationFlowConfig>>,
    /// <p>A list of tasks that Amazon AppFlow performs while transferring the data in the flow run.</p>
    pub tasks: ::std::option::Option<::std::vec::Vec<crate::types::Task>>,
    /// <p>Specifies the configuration that Amazon AppFlow uses when it catalogs the data that's transferred by the associated flow. When Amazon AppFlow catalogs the data from a flow, it stores metadata in a data catalog.</p>
    pub metadata_catalog_config: ::std::option::Option<crate::types::MetadataCatalogConfig>,
    /// <p>The <code>clientToken</code> parameter is an idempotency token. It ensures that your <code>UpdateFlow</code> request completes only once. You choose the value to pass. For example, if you don't receive a response from your request, you can safely retry the request with the same <code>clientToken</code> parameter value.</p>
    /// <p>If you omit a <code>clientToken</code> value, the Amazon Web Services SDK that you are using inserts a value for you. This way, the SDK can safely retry requests multiple times after a network error. You must provide your own value for other use cases.</p>
    /// <p>If you specify input parameters that differ from your first request, an error occurs. If you use a different value for <code>clientToken</code>, Amazon AppFlow considers it a new call to <code>UpdateFlow</code>. The token is active for 8 hours.</p>
    pub client_token: ::std::option::Option<::std::string::String>,
}
impl UpdateFlowInput {
    /// <p>The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only.</p>
    pub fn flow_name(&self) -> ::std::option::Option<&str> {
        self.flow_name.as_deref()
    }
    /// <p>A description of the flow.</p>
    pub fn description(&self) -> ::std::option::Option<&str> {
        self.description.as_deref()
    }
    /// <p>The trigger settings that determine how and when the flow runs.</p>
    pub fn trigger_config(&self) -> ::std::option::Option<&crate::types::TriggerConfig> {
        self.trigger_config.as_ref()
    }
    /// <p>Contains information about the configuration of the source connector used in the flow.</p>
    pub fn source_flow_config(&self) -> ::std::option::Option<&crate::types::SourceFlowConfig> {
        self.source_flow_config.as_ref()
    }
    /// <p>The configuration that controls how Amazon AppFlow transfers data to the destination connector.</p>
    ///
    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.destination_flow_config_list.is_none()`.
    pub fn destination_flow_config_list(&self) -> &[crate::types::DestinationFlowConfig] {
        self.destination_flow_config_list.as_deref().unwrap_or_default()
    }
    /// <p>A list of tasks that Amazon AppFlow performs while transferring the data in the flow run.</p>
    ///
    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.tasks.is_none()`.
    pub fn tasks(&self) -> &[crate::types::Task] {
        self.tasks.as_deref().unwrap_or_default()
    }
    /// <p>Specifies the configuration that Amazon AppFlow uses when it catalogs the data that's transferred by the associated flow. When Amazon AppFlow catalogs the data from a flow, it stores metadata in a data catalog.</p>
    pub fn metadata_catalog_config(&self) -> ::std::option::Option<&crate::types::MetadataCatalogConfig> {
        self.metadata_catalog_config.as_ref()
    }
    /// <p>The <code>clientToken</code> parameter is an idempotency token. It ensures that your <code>UpdateFlow</code> request completes only once. You choose the value to pass. For example, if you don't receive a response from your request, you can safely retry the request with the same <code>clientToken</code> parameter value.</p>
    /// <p>If you omit a <code>clientToken</code> value, the Amazon Web Services SDK that you are using inserts a value for you. This way, the SDK can safely retry requests multiple times after a network error. You must provide your own value for other use cases.</p>
    /// <p>If you specify input parameters that differ from your first request, an error occurs. If you use a different value for <code>clientToken</code>, Amazon AppFlow considers it a new call to <code>UpdateFlow</code>. The token is active for 8 hours.</p>
    pub fn client_token(&self) -> ::std::option::Option<&str> {
        self.client_token.as_deref()
    }
}
impl UpdateFlowInput {
    /// Creates a new builder-style object to manufacture [`UpdateFlowInput`](crate::operation::update_flow::UpdateFlowInput).
    pub fn builder() -> crate::operation::update_flow::builders::UpdateFlowInputBuilder {
        crate::operation::update_flow::builders::UpdateFlowInputBuilder::default()
    }
}

/// A builder for [`UpdateFlowInput`](crate::operation::update_flow::UpdateFlowInput).
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
#[non_exhaustive]
pub struct UpdateFlowInputBuilder {
    pub(crate) flow_name: ::std::option::Option<::std::string::String>,
    pub(crate) description: ::std::option::Option<::std::string::String>,
    pub(crate) trigger_config: ::std::option::Option<crate::types::TriggerConfig>,
    pub(crate) source_flow_config: ::std::option::Option<crate::types::SourceFlowConfig>,
    pub(crate) destination_flow_config_list: ::std::option::Option<::std::vec::Vec<crate::types::DestinationFlowConfig>>,
    pub(crate) tasks: ::std::option::Option<::std::vec::Vec<crate::types::Task>>,
    pub(crate) metadata_catalog_config: ::std::option::Option<crate::types::MetadataCatalogConfig>,
    pub(crate) client_token: ::std::option::Option<::std::string::String>,
}
impl UpdateFlowInputBuilder {
    /// <p>The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only.</p>
    /// This field is required.
    pub fn flow_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.flow_name = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only.</p>
    pub fn set_flow_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.flow_name = input;
        self
    }
    /// <p>The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only.</p>
    pub fn get_flow_name(&self) -> &::std::option::Option<::std::string::String> {
        &self.flow_name
    }
    /// <p>A description of the flow.</p>
    pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.description = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>A description of the flow.</p>
    pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.description = input;
        self
    }
    /// <p>A description of the flow.</p>
    pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
        &self.description
    }
    /// <p>The trigger settings that determine how and when the flow runs.</p>
    /// This field is required.
    pub fn trigger_config(mut self, input: crate::types::TriggerConfig) -> Self {
        self.trigger_config = ::std::option::Option::Some(input);
        self
    }
    /// <p>The trigger settings that determine how and when the flow runs.</p>
    pub fn set_trigger_config(mut self, input: ::std::option::Option<crate::types::TriggerConfig>) -> Self {
        self.trigger_config = input;
        self
    }
    /// <p>The trigger settings that determine how and when the flow runs.</p>
    pub fn get_trigger_config(&self) -> &::std::option::Option<crate::types::TriggerConfig> {
        &self.trigger_config
    }
    /// <p>Contains information about the configuration of the source connector used in the flow.</p>
    /// This field is required.
    pub fn source_flow_config(mut self, input: crate::types::SourceFlowConfig) -> Self {
        self.source_flow_config = ::std::option::Option::Some(input);
        self
    }
    /// <p>Contains information about the configuration of the source connector used in the flow.</p>
    pub fn set_source_flow_config(mut self, input: ::std::option::Option<crate::types::SourceFlowConfig>) -> Self {
        self.source_flow_config = input;
        self
    }
    /// <p>Contains information about the configuration of the source connector used in the flow.</p>
    pub fn get_source_flow_config(&self) -> &::std::option::Option<crate::types::SourceFlowConfig> {
        &self.source_flow_config
    }
    /// Appends an item to `destination_flow_config_list`.
    ///
    /// To override the contents of this collection use [`set_destination_flow_config_list`](Self::set_destination_flow_config_list).
    ///
    /// <p>The configuration that controls how Amazon AppFlow transfers data to the destination connector.</p>
    pub fn destination_flow_config_list(mut self, input: crate::types::DestinationFlowConfig) -> Self {
        let mut v = self.destination_flow_config_list.unwrap_or_default();
        v.push(input);
        self.destination_flow_config_list = ::std::option::Option::Some(v);
        self
    }
    /// <p>The configuration that controls how Amazon AppFlow transfers data to the destination connector.</p>
    pub fn set_destination_flow_config_list(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::DestinationFlowConfig>>) -> Self {
        self.destination_flow_config_list = input;
        self
    }
    /// <p>The configuration that controls how Amazon AppFlow transfers data to the destination connector.</p>
    pub fn get_destination_flow_config_list(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::DestinationFlowConfig>> {
        &self.destination_flow_config_list
    }
    /// Appends an item to `tasks`.
    ///
    /// To override the contents of this collection use [`set_tasks`](Self::set_tasks).
    ///
    /// <p>A list of tasks that Amazon AppFlow performs while transferring the data in the flow run.</p>
    pub fn tasks(mut self, input: crate::types::Task) -> Self {
        let mut v = self.tasks.unwrap_or_default();
        v.push(input);
        self.tasks = ::std::option::Option::Some(v);
        self
    }
    /// <p>A list of tasks that Amazon AppFlow performs while transferring the data in the flow run.</p>
    pub fn set_tasks(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Task>>) -> Self {
        self.tasks = input;
        self
    }
    /// <p>A list of tasks that Amazon AppFlow performs while transferring the data in the flow run.</p>
    pub fn get_tasks(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Task>> {
        &self.tasks
    }
    /// <p>Specifies the configuration that Amazon AppFlow uses when it catalogs the data that's transferred by the associated flow. When Amazon AppFlow catalogs the data from a flow, it stores metadata in a data catalog.</p>
    pub fn metadata_catalog_config(mut self, input: crate::types::MetadataCatalogConfig) -> Self {
        self.metadata_catalog_config = ::std::option::Option::Some(input);
        self
    }
    /// <p>Specifies the configuration that Amazon AppFlow uses when it catalogs the data that's transferred by the associated flow. When Amazon AppFlow catalogs the data from a flow, it stores metadata in a data catalog.</p>
    pub fn set_metadata_catalog_config(mut self, input: ::std::option::Option<crate::types::MetadataCatalogConfig>) -> Self {
        self.metadata_catalog_config = input;
        self
    }
    /// <p>Specifies the configuration that Amazon AppFlow uses when it catalogs the data that's transferred by the associated flow. When Amazon AppFlow catalogs the data from a flow, it stores metadata in a data catalog.</p>
    pub fn get_metadata_catalog_config(&self) -> &::std::option::Option<crate::types::MetadataCatalogConfig> {
        &self.metadata_catalog_config
    }
    /// <p>The <code>clientToken</code> parameter is an idempotency token. It ensures that your <code>UpdateFlow</code> request completes only once. You choose the value to pass. For example, if you don't receive a response from your request, you can safely retry the request with the same <code>clientToken</code> parameter value.</p>
    /// <p>If you omit a <code>clientToken</code> value, the Amazon Web Services SDK that you are using inserts a value for you. This way, the SDK can safely retry requests multiple times after a network error. You must provide your own value for other use cases.</p>
    /// <p>If you specify input parameters that differ from your first request, an error occurs. If you use a different value for <code>clientToken</code>, Amazon AppFlow considers it a new call to <code>UpdateFlow</code>. The token is active for 8 hours.</p>
    pub fn client_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.client_token = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The <code>clientToken</code> parameter is an idempotency token. It ensures that your <code>UpdateFlow</code> request completes only once. You choose the value to pass. For example, if you don't receive a response from your request, you can safely retry the request with the same <code>clientToken</code> parameter value.</p>
    /// <p>If you omit a <code>clientToken</code> value, the Amazon Web Services SDK that you are using inserts a value for you. This way, the SDK can safely retry requests multiple times after a network error. You must provide your own value for other use cases.</p>
    /// <p>If you specify input parameters that differ from your first request, an error occurs. If you use a different value for <code>clientToken</code>, Amazon AppFlow considers it a new call to <code>UpdateFlow</code>. The token is active for 8 hours.</p>
    pub fn set_client_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.client_token = input;
        self
    }
    /// <p>The <code>clientToken</code> parameter is an idempotency token. It ensures that your <code>UpdateFlow</code> request completes only once. You choose the value to pass. For example, if you don't receive a response from your request, you can safely retry the request with the same <code>clientToken</code> parameter value.</p>
    /// <p>If you omit a <code>clientToken</code> value, the Amazon Web Services SDK that you are using inserts a value for you. This way, the SDK can safely retry requests multiple times after a network error. You must provide your own value for other use cases.</p>
    /// <p>If you specify input parameters that differ from your first request, an error occurs. If you use a different value for <code>clientToken</code>, Amazon AppFlow considers it a new call to <code>UpdateFlow</code>. The token is active for 8 hours.</p>
    pub fn get_client_token(&self) -> &::std::option::Option<::std::string::String> {
        &self.client_token
    }
    /// Consumes the builder and constructs a [`UpdateFlowInput`](crate::operation::update_flow::UpdateFlowInput).
    pub fn build(self) -> ::std::result::Result<crate::operation::update_flow::UpdateFlowInput, ::aws_smithy_types::error::operation::BuildError> {
        ::std::result::Result::Ok(crate::operation::update_flow::UpdateFlowInput {
            flow_name: self.flow_name,
            description: self.description,
            trigger_config: self.trigger_config,
            source_flow_config: self.source_flow_config,
            destination_flow_config_list: self.destination_flow_config_list,
            tasks: self.tasks,
            metadata_catalog_config: self.metadata_catalog_config,
            client_token: self.client_token,
        })
    }
}