aws_sdk_cognitoidentity/operation/get_id/
_get_id_input.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2
3/// <p>Input to the GetId action.</p>
4#[non_exhaustive]
5#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
6pub struct GetIdInput {
7    /// <p>A standard Amazon Web Services account ID (9+ digits).</p>
8    pub account_id: ::std::option::Option<::std::string::String>,
9    /// <p>An identity pool ID in the format REGION:GUID.</p>
10    pub identity_pool_id: ::std::option::Option<::std::string::String>,
11    /// <p>A set of optional name-value pairs that map provider names to provider tokens. The available provider names for <code>Logins</code> are as follows:</p>
12    /// <ul>
13    /// <li>
14    /// <p>Facebook: <code>graph.facebook.com</code></p></li>
15    /// <li>
16    /// <p>Amazon Cognito user pool: <code>cognito-idp.<region>
17    /// .amazonaws.com/
18    /// <your_user_pool_id></your_user_pool_id>
19    /// </region></code>, for example, <code>cognito-idp.us-east-1.amazonaws.com/us-east-1_123456789</code>.</p></li>
20    /// <li>
21    /// <p>Google: <code>accounts.google.com</code></p></li>
22    /// <li>
23    /// <p>Amazon: <code>www.amazon.com</code></p></li>
24    /// <li>
25    /// <p>Twitter: <code>api.twitter.com</code></p></li>
26    /// <li>
27    /// <p>Digits: <code>www.digits.com</code></p></li>
28    /// </ul>
29    pub logins: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
30}
31impl GetIdInput {
32    /// <p>A standard Amazon Web Services account ID (9+ digits).</p>
33    pub fn account_id(&self) -> ::std::option::Option<&str> {
34        self.account_id.as_deref()
35    }
36    /// <p>An identity pool ID in the format REGION:GUID.</p>
37    pub fn identity_pool_id(&self) -> ::std::option::Option<&str> {
38        self.identity_pool_id.as_deref()
39    }
40    /// <p>A set of optional name-value pairs that map provider names to provider tokens. The available provider names for <code>Logins</code> are as follows:</p>
41    /// <ul>
42    /// <li>
43    /// <p>Facebook: <code>graph.facebook.com</code></p></li>
44    /// <li>
45    /// <p>Amazon Cognito user pool: <code>cognito-idp.<region>
46    /// .amazonaws.com/
47    /// <your_user_pool_id></your_user_pool_id>
48    /// </region></code>, for example, <code>cognito-idp.us-east-1.amazonaws.com/us-east-1_123456789</code>.</p></li>
49    /// <li>
50    /// <p>Google: <code>accounts.google.com</code></p></li>
51    /// <li>
52    /// <p>Amazon: <code>www.amazon.com</code></p></li>
53    /// <li>
54    /// <p>Twitter: <code>api.twitter.com</code></p></li>
55    /// <li>
56    /// <p>Digits: <code>www.digits.com</code></p></li>
57    /// </ul>
58    pub fn logins(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, ::std::string::String>> {
59        self.logins.as_ref()
60    }
61}
62impl GetIdInput {
63    /// Creates a new builder-style object to manufacture [`GetIdInput`](crate::operation::get_id::GetIdInput).
64    pub fn builder() -> crate::operation::get_id::builders::GetIdInputBuilder {
65        crate::operation::get_id::builders::GetIdInputBuilder::default()
66    }
67}
68
69/// A builder for [`GetIdInput`](crate::operation::get_id::GetIdInput).
70#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
71#[non_exhaustive]
72pub struct GetIdInputBuilder {
73    pub(crate) account_id: ::std::option::Option<::std::string::String>,
74    pub(crate) identity_pool_id: ::std::option::Option<::std::string::String>,
75    pub(crate) logins: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
76}
77impl GetIdInputBuilder {
78    /// <p>A standard Amazon Web Services account ID (9+ digits).</p>
79    pub fn account_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
80        self.account_id = ::std::option::Option::Some(input.into());
81        self
82    }
83    /// <p>A standard Amazon Web Services account ID (9+ digits).</p>
84    pub fn set_account_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
85        self.account_id = input;
86        self
87    }
88    /// <p>A standard Amazon Web Services account ID (9+ digits).</p>
89    pub fn get_account_id(&self) -> &::std::option::Option<::std::string::String> {
90        &self.account_id
91    }
92    /// <p>An identity pool ID in the format REGION:GUID.</p>
93    /// This field is required.
94    pub fn identity_pool_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
95        self.identity_pool_id = ::std::option::Option::Some(input.into());
96        self
97    }
98    /// <p>An identity pool ID in the format REGION:GUID.</p>
99    pub fn set_identity_pool_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
100        self.identity_pool_id = input;
101        self
102    }
103    /// <p>An identity pool ID in the format REGION:GUID.</p>
104    pub fn get_identity_pool_id(&self) -> &::std::option::Option<::std::string::String> {
105        &self.identity_pool_id
106    }
107    /// Adds a key-value pair to `logins`.
108    ///
109    /// To override the contents of this collection use [`set_logins`](Self::set_logins).
110    ///
111    /// <p>A set of optional name-value pairs that map provider names to provider tokens. The available provider names for <code>Logins</code> are as follows:</p>
112    /// <ul>
113    /// <li>
114    /// <p>Facebook: <code>graph.facebook.com</code></p></li>
115    /// <li>
116    /// <p>Amazon Cognito user pool: <code>cognito-idp.<region>
117    /// .amazonaws.com/
118    /// <your_user_pool_id></your_user_pool_id>
119    /// </region></code>, for example, <code>cognito-idp.us-east-1.amazonaws.com/us-east-1_123456789</code>.</p></li>
120    /// <li>
121    /// <p>Google: <code>accounts.google.com</code></p></li>
122    /// <li>
123    /// <p>Amazon: <code>www.amazon.com</code></p></li>
124    /// <li>
125    /// <p>Twitter: <code>api.twitter.com</code></p></li>
126    /// <li>
127    /// <p>Digits: <code>www.digits.com</code></p></li>
128    /// </ul>
129    pub fn logins(mut self, k: impl ::std::convert::Into<::std::string::String>, v: impl ::std::convert::Into<::std::string::String>) -> Self {
130        let mut hash_map = self.logins.unwrap_or_default();
131        hash_map.insert(k.into(), v.into());
132        self.logins = ::std::option::Option::Some(hash_map);
133        self
134    }
135    /// <p>A set of optional name-value pairs that map provider names to provider tokens. The available provider names for <code>Logins</code> are as follows:</p>
136    /// <ul>
137    /// <li>
138    /// <p>Facebook: <code>graph.facebook.com</code></p></li>
139    /// <li>
140    /// <p>Amazon Cognito user pool: <code>cognito-idp.<region>
141    /// .amazonaws.com/
142    /// <your_user_pool_id></your_user_pool_id>
143    /// </region></code>, for example, <code>cognito-idp.us-east-1.amazonaws.com/us-east-1_123456789</code>.</p></li>
144    /// <li>
145    /// <p>Google: <code>accounts.google.com</code></p></li>
146    /// <li>
147    /// <p>Amazon: <code>www.amazon.com</code></p></li>
148    /// <li>
149    /// <p>Twitter: <code>api.twitter.com</code></p></li>
150    /// <li>
151    /// <p>Digits: <code>www.digits.com</code></p></li>
152    /// </ul>
153    pub fn set_logins(mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>) -> Self {
154        self.logins = input;
155        self
156    }
157    /// <p>A set of optional name-value pairs that map provider names to provider tokens. The available provider names for <code>Logins</code> are as follows:</p>
158    /// <ul>
159    /// <li>
160    /// <p>Facebook: <code>graph.facebook.com</code></p></li>
161    /// <li>
162    /// <p>Amazon Cognito user pool: <code>cognito-idp.<region>
163    /// .amazonaws.com/
164    /// <your_user_pool_id></your_user_pool_id>
165    /// </region></code>, for example, <code>cognito-idp.us-east-1.amazonaws.com/us-east-1_123456789</code>.</p></li>
166    /// <li>
167    /// <p>Google: <code>accounts.google.com</code></p></li>
168    /// <li>
169    /// <p>Amazon: <code>www.amazon.com</code></p></li>
170    /// <li>
171    /// <p>Twitter: <code>api.twitter.com</code></p></li>
172    /// <li>
173    /// <p>Digits: <code>www.digits.com</code></p></li>
174    /// </ul>
175    pub fn get_logins(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
176        &self.logins
177    }
178    /// Consumes the builder and constructs a [`GetIdInput`](crate::operation::get_id::GetIdInput).
179    pub fn build(self) -> ::std::result::Result<crate::operation::get_id::GetIdInput, ::aws_smithy_types::error::operation::BuildError> {
180        ::std::result::Result::Ok(crate::operation::get_id::GetIdInput {
181            account_id: self.account_id,
182            identity_pool_id: self.identity_pool_id,
183            logins: self.logins,
184        })
185    }
186}