aws_sdk_databrew/operation/create_dataset/_create_dataset_input.rs
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
// 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 CreateDatasetInput {
/// <p>The name of the dataset to be created. Valid characters are alphanumeric (A-Z, a-z, 0-9), hyphen (-), period (.), and space.</p>
pub name: ::std::option::Option<::std::string::String>,
/// <p>The file format of a dataset that is created from an Amazon S3 file or folder.</p>
pub format: ::std::option::Option<crate::types::InputFormat>,
/// <p>Represents a set of options that define the structure of either comma-separated value (CSV), Excel, or JSON input.</p>
pub format_options: ::std::option::Option<crate::types::FormatOptions>,
/// <p>Represents information on how DataBrew can find data, in either the Glue Data Catalog or Amazon S3.</p>
pub input: ::std::option::Option<crate::types::Input>,
/// <p>A set of options that defines how DataBrew interprets an Amazon S3 path of the dataset.</p>
pub path_options: ::std::option::Option<crate::types::PathOptions>,
/// <p>Metadata tags to apply to this dataset.</p>
pub tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
}
impl CreateDatasetInput {
/// <p>The name of the dataset to be created. Valid characters are alphanumeric (A-Z, a-z, 0-9), hyphen (-), period (.), and space.</p>
pub fn name(&self) -> ::std::option::Option<&str> {
self.name.as_deref()
}
/// <p>The file format of a dataset that is created from an Amazon S3 file or folder.</p>
pub fn format(&self) -> ::std::option::Option<&crate::types::InputFormat> {
self.format.as_ref()
}
/// <p>Represents a set of options that define the structure of either comma-separated value (CSV), Excel, or JSON input.</p>
pub fn format_options(&self) -> ::std::option::Option<&crate::types::FormatOptions> {
self.format_options.as_ref()
}
/// <p>Represents information on how DataBrew can find data, in either the Glue Data Catalog or Amazon S3.</p>
pub fn input(&self) -> ::std::option::Option<&crate::types::Input> {
self.input.as_ref()
}
/// <p>A set of options that defines how DataBrew interprets an Amazon S3 path of the dataset.</p>
pub fn path_options(&self) -> ::std::option::Option<&crate::types::PathOptions> {
self.path_options.as_ref()
}
/// <p>Metadata tags to apply to this dataset.</p>
pub fn tags(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, ::std::string::String>> {
self.tags.as_ref()
}
}
impl CreateDatasetInput {
/// Creates a new builder-style object to manufacture [`CreateDatasetInput`](crate::operation::create_dataset::CreateDatasetInput).
pub fn builder() -> crate::operation::create_dataset::builders::CreateDatasetInputBuilder {
crate::operation::create_dataset::builders::CreateDatasetInputBuilder::default()
}
}
/// A builder for [`CreateDatasetInput`](crate::operation::create_dataset::CreateDatasetInput).
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
#[non_exhaustive]
pub struct CreateDatasetInputBuilder {
pub(crate) name: ::std::option::Option<::std::string::String>,
pub(crate) format: ::std::option::Option<crate::types::InputFormat>,
pub(crate) format_options: ::std::option::Option<crate::types::FormatOptions>,
pub(crate) input: ::std::option::Option<crate::types::Input>,
pub(crate) path_options: ::std::option::Option<crate::types::PathOptions>,
pub(crate) tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
}
impl CreateDatasetInputBuilder {
/// <p>The name of the dataset to be created. Valid characters are alphanumeric (A-Z, a-z, 0-9), hyphen (-), period (.), and space.</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 dataset to be created. Valid characters are alphanumeric (A-Z, a-z, 0-9), hyphen (-), period (.), and space.</p>
pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.name = input;
self
}
/// <p>The name of the dataset to be created. Valid characters are alphanumeric (A-Z, a-z, 0-9), hyphen (-), period (.), and space.</p>
pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
&self.name
}
/// <p>The file format of a dataset that is created from an Amazon S3 file or folder.</p>
pub fn format(mut self, input: crate::types::InputFormat) -> Self {
self.format = ::std::option::Option::Some(input);
self
}
/// <p>The file format of a dataset that is created from an Amazon S3 file or folder.</p>
pub fn set_format(mut self, input: ::std::option::Option<crate::types::InputFormat>) -> Self {
self.format = input;
self
}
/// <p>The file format of a dataset that is created from an Amazon S3 file or folder.</p>
pub fn get_format(&self) -> &::std::option::Option<crate::types::InputFormat> {
&self.format
}
/// <p>Represents a set of options that define the structure of either comma-separated value (CSV), Excel, or JSON input.</p>
pub fn format_options(mut self, input: crate::types::FormatOptions) -> Self {
self.format_options = ::std::option::Option::Some(input);
self
}
/// <p>Represents a set of options that define the structure of either comma-separated value (CSV), Excel, or JSON input.</p>
pub fn set_format_options(mut self, input: ::std::option::Option<crate::types::FormatOptions>) -> Self {
self.format_options = input;
self
}
/// <p>Represents a set of options that define the structure of either comma-separated value (CSV), Excel, or JSON input.</p>
pub fn get_format_options(&self) -> &::std::option::Option<crate::types::FormatOptions> {
&self.format_options
}
/// <p>Represents information on how DataBrew can find data, in either the Glue Data Catalog or Amazon S3.</p>
/// This field is required.
pub fn input(mut self, input: crate::types::Input) -> Self {
self.input = ::std::option::Option::Some(input);
self
}
/// <p>Represents information on how DataBrew can find data, in either the Glue Data Catalog or Amazon S3.</p>
pub fn set_input(mut self, input: ::std::option::Option<crate::types::Input>) -> Self {
self.input = input;
self
}
/// <p>Represents information on how DataBrew can find data, in either the Glue Data Catalog or Amazon S3.</p>
pub fn get_input(&self) -> &::std::option::Option<crate::types::Input> {
&self.input
}
/// <p>A set of options that defines how DataBrew interprets an Amazon S3 path of the dataset.</p>
pub fn path_options(mut self, input: crate::types::PathOptions) -> Self {
self.path_options = ::std::option::Option::Some(input);
self
}
/// <p>A set of options that defines how DataBrew interprets an Amazon S3 path of the dataset.</p>
pub fn set_path_options(mut self, input: ::std::option::Option<crate::types::PathOptions>) -> Self {
self.path_options = input;
self
}
/// <p>A set of options that defines how DataBrew interprets an Amazon S3 path of the dataset.</p>
pub fn get_path_options(&self) -> &::std::option::Option<crate::types::PathOptions> {
&self.path_options
}
/// Adds a key-value pair to `tags`.
///
/// To override the contents of this collection use [`set_tags`](Self::set_tags).
///
/// <p>Metadata tags to apply to this dataset.</p>
pub fn tags(mut self, k: impl ::std::convert::Into<::std::string::String>, v: impl ::std::convert::Into<::std::string::String>) -> Self {
let mut hash_map = self.tags.unwrap_or_default();
hash_map.insert(k.into(), v.into());
self.tags = ::std::option::Option::Some(hash_map);
self
}
/// <p>Metadata tags to apply to this dataset.</p>
pub fn set_tags(mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>) -> Self {
self.tags = input;
self
}
/// <p>Metadata tags to apply to this dataset.</p>
pub fn get_tags(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
&self.tags
}
/// Consumes the builder and constructs a [`CreateDatasetInput`](crate::operation::create_dataset::CreateDatasetInput).
pub fn build(
self,
) -> ::std::result::Result<crate::operation::create_dataset::CreateDatasetInput, ::aws_smithy_types::error::operation::BuildError> {
::std::result::Result::Ok(crate::operation::create_dataset::CreateDatasetInput {
name: self.name,
format: self.format,
format_options: self.format_options,
input: self.input,
path_options: self.path_options,
tags: self.tags,
})
}
}