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
// 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 CreateProjectInput {
/// <p>The ID of the portal in which to create the project.</p>
pub portal_id: ::std::option::Option<::std::string::String>,
/// <p>A friendly name for the project.</p>
pub project_name: ::std::option::Option<::std::string::String>,
/// <p>A description for the project.</p>
pub project_description: ::std::option::Option<::std::string::String>,
/// <p>A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.</p>
pub client_token: ::std::option::Option<::std::string::String>,
/// <p>A list of key-value pairs that contain metadata for the project. For more information, see <a href="https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html">Tagging your IoT SiteWise resources</a> in the <i>IoT SiteWise User Guide</i>.</p>
pub tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
}
impl CreateProjectInput {
/// <p>The ID of the portal in which to create the project.</p>
pub fn portal_id(&self) -> ::std::option::Option<&str> {
self.portal_id.as_deref()
}
/// <p>A friendly name for the project.</p>
pub fn project_name(&self) -> ::std::option::Option<&str> {
self.project_name.as_deref()
}
/// <p>A description for the project.</p>
pub fn project_description(&self) -> ::std::option::Option<&str> {
self.project_description.as_deref()
}
/// <p>A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.</p>
pub fn client_token(&self) -> ::std::option::Option<&str> {
self.client_token.as_deref()
}
/// <p>A list of key-value pairs that contain metadata for the project. For more information, see <a href="https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html">Tagging your IoT SiteWise resources</a> in the <i>IoT SiteWise User Guide</i>.</p>
pub fn tags(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, ::std::string::String>> {
self.tags.as_ref()
}
}
impl CreateProjectInput {
/// Creates a new builder-style object to manufacture [`CreateProjectInput`](crate::operation::create_project::CreateProjectInput).
pub fn builder() -> crate::operation::create_project::builders::CreateProjectInputBuilder {
crate::operation::create_project::builders::CreateProjectInputBuilder::default()
}
}
/// A builder for [`CreateProjectInput`](crate::operation::create_project::CreateProjectInput).
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
pub struct CreateProjectInputBuilder {
pub(crate) portal_id: ::std::option::Option<::std::string::String>,
pub(crate) project_name: ::std::option::Option<::std::string::String>,
pub(crate) project_description: ::std::option::Option<::std::string::String>,
pub(crate) client_token: ::std::option::Option<::std::string::String>,
pub(crate) tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
}
impl CreateProjectInputBuilder {
/// <p>The ID of the portal in which to create the project.</p>
/// This field is required.
pub fn portal_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.portal_id = ::std::option::Option::Some(input.into());
self
}
/// <p>The ID of the portal in which to create the project.</p>
pub fn set_portal_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.portal_id = input;
self
}
/// <p>The ID of the portal in which to create the project.</p>
pub fn get_portal_id(&self) -> &::std::option::Option<::std::string::String> {
&self.portal_id
}
/// <p>A friendly name for the project.</p>
/// This field is required.
pub fn project_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.project_name = ::std::option::Option::Some(input.into());
self
}
/// <p>A friendly name for the project.</p>
pub fn set_project_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.project_name = input;
self
}
/// <p>A friendly name for the project.</p>
pub fn get_project_name(&self) -> &::std::option::Option<::std::string::String> {
&self.project_name
}
/// <p>A description for the project.</p>
pub fn project_description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.project_description = ::std::option::Option::Some(input.into());
self
}
/// <p>A description for the project.</p>
pub fn set_project_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.project_description = input;
self
}
/// <p>A description for the project.</p>
pub fn get_project_description(&self) -> &::std::option::Option<::std::string::String> {
&self.project_description
}
/// <p>A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.</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>A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.</p>
pub fn set_client_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.client_token = input;
self
}
/// <p>A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.</p>
pub fn get_client_token(&self) -> &::std::option::Option<::std::string::String> {
&self.client_token
}
/// Adds a key-value pair to `tags`.
///
/// To override the contents of this collection use [`set_tags`](Self::set_tags).
///
/// <p>A list of key-value pairs that contain metadata for the project. For more information, see <a href="https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html">Tagging your IoT SiteWise resources</a> in the <i>IoT SiteWise User Guide</i>.</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>A list of key-value pairs that contain metadata for the project. For more information, see <a href="https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html">Tagging your IoT SiteWise resources</a> in the <i>IoT SiteWise User Guide</i>.</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>A list of key-value pairs that contain metadata for the project. For more information, see <a href="https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html">Tagging your IoT SiteWise resources</a> in the <i>IoT SiteWise User Guide</i>.</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 [`CreateProjectInput`](crate::operation::create_project::CreateProjectInput).
pub fn build(
self,
) -> ::std::result::Result<crate::operation::create_project::CreateProjectInput, ::aws_smithy_types::error::operation::BuildError> {
::std::result::Result::Ok(crate::operation::create_project::CreateProjectInput {
portal_id: self.portal_id,
project_name: self.project_name,
project_description: self.project_description,
client_token: self.client_token,
tags: self.tags,
})
}
}