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
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.

/// <p>The input for the DescribeEndpoint operation.</p>
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct DescribeEndpointInput {
    /// <p>The endpoint type. Valid endpoint types include:</p>
    /// <ul>
    /// <li>
    /// <p><code>iot:Data</code> - Returns a VeriSign signed data endpoint.</p></li>
    /// </ul>
    /// <ul>
    /// <li>
    /// <p><code>iot:Data-ATS</code> - Returns an ATS signed data endpoint.</p></li>
    /// </ul>
    /// <ul>
    /// <li>
    /// <p><code>iot:CredentialProvider</code> - Returns an IoT credentials provider API endpoint.</p></li>
    /// </ul>
    /// <ul>
    /// <li>
    /// <p><code>iot:Jobs</code> - Returns an IoT device management Jobs API endpoint.</p></li>
    /// </ul>
    /// <p>We strongly recommend that customers use the newer <code>iot:Data-ATS</code> endpoint type to avoid issues related to the widespread distrust of Symantec certificate authorities. ATS Signed Certificates are more secure and are trusted by most popular browsers.</p>
    pub endpoint_type: ::std::option::Option<::std::string::String>,
}
impl DescribeEndpointInput {
    /// <p>The endpoint type. Valid endpoint types include:</p>
    /// <ul>
    /// <li>
    /// <p><code>iot:Data</code> - Returns a VeriSign signed data endpoint.</p></li>
    /// </ul>
    /// <ul>
    /// <li>
    /// <p><code>iot:Data-ATS</code> - Returns an ATS signed data endpoint.</p></li>
    /// </ul>
    /// <ul>
    /// <li>
    /// <p><code>iot:CredentialProvider</code> - Returns an IoT credentials provider API endpoint.</p></li>
    /// </ul>
    /// <ul>
    /// <li>
    /// <p><code>iot:Jobs</code> - Returns an IoT device management Jobs API endpoint.</p></li>
    /// </ul>
    /// <p>We strongly recommend that customers use the newer <code>iot:Data-ATS</code> endpoint type to avoid issues related to the widespread distrust of Symantec certificate authorities. ATS Signed Certificates are more secure and are trusted by most popular browsers.</p>
    pub fn endpoint_type(&self) -> ::std::option::Option<&str> {
        self.endpoint_type.as_deref()
    }
}
impl DescribeEndpointInput {
    /// Creates a new builder-style object to manufacture [`DescribeEndpointInput`](crate::operation::describe_endpoint::DescribeEndpointInput).
    pub fn builder() -> crate::operation::describe_endpoint::builders::DescribeEndpointInputBuilder {
        crate::operation::describe_endpoint::builders::DescribeEndpointInputBuilder::default()
    }
}

/// A builder for [`DescribeEndpointInput`](crate::operation::describe_endpoint::DescribeEndpointInput).
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
pub struct DescribeEndpointInputBuilder {
    pub(crate) endpoint_type: ::std::option::Option<::std::string::String>,
}
impl DescribeEndpointInputBuilder {
    /// <p>The endpoint type. Valid endpoint types include:</p>
    /// <ul>
    /// <li>
    /// <p><code>iot:Data</code> - Returns a VeriSign signed data endpoint.</p></li>
    /// </ul>
    /// <ul>
    /// <li>
    /// <p><code>iot:Data-ATS</code> - Returns an ATS signed data endpoint.</p></li>
    /// </ul>
    /// <ul>
    /// <li>
    /// <p><code>iot:CredentialProvider</code> - Returns an IoT credentials provider API endpoint.</p></li>
    /// </ul>
    /// <ul>
    /// <li>
    /// <p><code>iot:Jobs</code> - Returns an IoT device management Jobs API endpoint.</p></li>
    /// </ul>
    /// <p>We strongly recommend that customers use the newer <code>iot:Data-ATS</code> endpoint type to avoid issues related to the widespread distrust of Symantec certificate authorities. ATS Signed Certificates are more secure and are trusted by most popular browsers.</p>
    pub fn endpoint_type(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.endpoint_type = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The endpoint type. Valid endpoint types include:</p>
    /// <ul>
    /// <li>
    /// <p><code>iot:Data</code> - Returns a VeriSign signed data endpoint.</p></li>
    /// </ul>
    /// <ul>
    /// <li>
    /// <p><code>iot:Data-ATS</code> - Returns an ATS signed data endpoint.</p></li>
    /// </ul>
    /// <ul>
    /// <li>
    /// <p><code>iot:CredentialProvider</code> - Returns an IoT credentials provider API endpoint.</p></li>
    /// </ul>
    /// <ul>
    /// <li>
    /// <p><code>iot:Jobs</code> - Returns an IoT device management Jobs API endpoint.</p></li>
    /// </ul>
    /// <p>We strongly recommend that customers use the newer <code>iot:Data-ATS</code> endpoint type to avoid issues related to the widespread distrust of Symantec certificate authorities. ATS Signed Certificates are more secure and are trusted by most popular browsers.</p>
    pub fn set_endpoint_type(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.endpoint_type = input;
        self
    }
    /// <p>The endpoint type. Valid endpoint types include:</p>
    /// <ul>
    /// <li>
    /// <p><code>iot:Data</code> - Returns a VeriSign signed data endpoint.</p></li>
    /// </ul>
    /// <ul>
    /// <li>
    /// <p><code>iot:Data-ATS</code> - Returns an ATS signed data endpoint.</p></li>
    /// </ul>
    /// <ul>
    /// <li>
    /// <p><code>iot:CredentialProvider</code> - Returns an IoT credentials provider API endpoint.</p></li>
    /// </ul>
    /// <ul>
    /// <li>
    /// <p><code>iot:Jobs</code> - Returns an IoT device management Jobs API endpoint.</p></li>
    /// </ul>
    /// <p>We strongly recommend that customers use the newer <code>iot:Data-ATS</code> endpoint type to avoid issues related to the widespread distrust of Symantec certificate authorities. ATS Signed Certificates are more secure and are trusted by most popular browsers.</p>
    pub fn get_endpoint_type(&self) -> &::std::option::Option<::std::string::String> {
        &self.endpoint_type
    }
    /// Consumes the builder and constructs a [`DescribeEndpointInput`](crate::operation::describe_endpoint::DescribeEndpointInput).
    pub fn build(
        self,
    ) -> ::std::result::Result<crate::operation::describe_endpoint::DescribeEndpointInput, ::aws_smithy_types::error::operation::BuildError> {
        ::std::result::Result::Ok(crate::operation::describe_endpoint::DescribeEndpointInput {
            endpoint_type: self.endpoint_type,
        })
    }
}