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
// 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 CreateCertificateInput {
/// <p>The name for the certificate.</p>
pub certificate_name: ::std::option::Option<::std::string::String>,
/// <p>The domain name (<code>example.com</code>) for the certificate.</p>
pub domain_name: ::std::option::Option<::std::string::String>,
/// <p>An array of strings that specify the alternate domains (<code>example2.com</code>) and subdomains (<code>blog.example.com</code>) for the certificate.</p>
/// <p>You can specify a maximum of nine alternate domains (in addition to the primary domain name).</p>
/// <p>Wildcard domain entries (<code>*.example.com</code>) are not supported.</p>
pub subject_alternative_names: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
/// <p>The tag keys and optional values to add to the certificate during create.</p>
/// <p>Use the <code>TagResource</code> action to tag a resource after it's created.</p>
pub tags: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>,
}
impl CreateCertificateInput {
/// <p>The name for the certificate.</p>
pub fn certificate_name(&self) -> ::std::option::Option<&str> {
self.certificate_name.as_deref()
}
/// <p>The domain name (<code>example.com</code>) for the certificate.</p>
pub fn domain_name(&self) -> ::std::option::Option<&str> {
self.domain_name.as_deref()
}
/// <p>An array of strings that specify the alternate domains (<code>example2.com</code>) and subdomains (<code>blog.example.com</code>) for the certificate.</p>
/// <p>You can specify a maximum of nine alternate domains (in addition to the primary domain name).</p>
/// <p>Wildcard domain entries (<code>*.example.com</code>) are not supported.</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 `.subject_alternative_names.is_none()`.
pub fn subject_alternative_names(&self) -> &[::std::string::String] {
self.subject_alternative_names.as_deref().unwrap_or_default()
}
/// <p>The tag keys and optional values to add to the certificate during create.</p>
/// <p>Use the <code>TagResource</code> action to tag a resource after it's created.</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 `.tags.is_none()`.
pub fn tags(&self) -> &[crate::types::Tag] {
self.tags.as_deref().unwrap_or_default()
}
}
impl CreateCertificateInput {
/// Creates a new builder-style object to manufacture [`CreateCertificateInput`](crate::operation::create_certificate::CreateCertificateInput).
pub fn builder() -> crate::operation::create_certificate::builders::CreateCertificateInputBuilder {
crate::operation::create_certificate::builders::CreateCertificateInputBuilder::default()
}
}
/// A builder for [`CreateCertificateInput`](crate::operation::create_certificate::CreateCertificateInput).
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
#[non_exhaustive]
pub struct CreateCertificateInputBuilder {
pub(crate) certificate_name: ::std::option::Option<::std::string::String>,
pub(crate) domain_name: ::std::option::Option<::std::string::String>,
pub(crate) subject_alternative_names: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
pub(crate) tags: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>,
}
impl CreateCertificateInputBuilder {
/// <p>The name for the certificate.</p>
/// This field is required.
pub fn certificate_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.certificate_name = ::std::option::Option::Some(input.into());
self
}
/// <p>The name for the certificate.</p>
pub fn set_certificate_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.certificate_name = input;
self
}
/// <p>The name for the certificate.</p>
pub fn get_certificate_name(&self) -> &::std::option::Option<::std::string::String> {
&self.certificate_name
}
/// <p>The domain name (<code>example.com</code>) for the certificate.</p>
/// This field is required.
pub fn domain_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.domain_name = ::std::option::Option::Some(input.into());
self
}
/// <p>The domain name (<code>example.com</code>) for the certificate.</p>
pub fn set_domain_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.domain_name = input;
self
}
/// <p>The domain name (<code>example.com</code>) for the certificate.</p>
pub fn get_domain_name(&self) -> &::std::option::Option<::std::string::String> {
&self.domain_name
}
/// Appends an item to `subject_alternative_names`.
///
/// To override the contents of this collection use [`set_subject_alternative_names`](Self::set_subject_alternative_names).
///
/// <p>An array of strings that specify the alternate domains (<code>example2.com</code>) and subdomains (<code>blog.example.com</code>) for the certificate.</p>
/// <p>You can specify a maximum of nine alternate domains (in addition to the primary domain name).</p>
/// <p>Wildcard domain entries (<code>*.example.com</code>) are not supported.</p>
pub fn subject_alternative_names(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
let mut v = self.subject_alternative_names.unwrap_or_default();
v.push(input.into());
self.subject_alternative_names = ::std::option::Option::Some(v);
self
}
/// <p>An array of strings that specify the alternate domains (<code>example2.com</code>) and subdomains (<code>blog.example.com</code>) for the certificate.</p>
/// <p>You can specify a maximum of nine alternate domains (in addition to the primary domain name).</p>
/// <p>Wildcard domain entries (<code>*.example.com</code>) are not supported.</p>
pub fn set_subject_alternative_names(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
self.subject_alternative_names = input;
self
}
/// <p>An array of strings that specify the alternate domains (<code>example2.com</code>) and subdomains (<code>blog.example.com</code>) for the certificate.</p>
/// <p>You can specify a maximum of nine alternate domains (in addition to the primary domain name).</p>
/// <p>Wildcard domain entries (<code>*.example.com</code>) are not supported.</p>
pub fn get_subject_alternative_names(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
&self.subject_alternative_names
}
/// Appends an item to `tags`.
///
/// To override the contents of this collection use [`set_tags`](Self::set_tags).
///
/// <p>The tag keys and optional values to add to the certificate during create.</p>
/// <p>Use the <code>TagResource</code> action to tag a resource after it's created.</p>
pub fn tags(mut self, input: crate::types::Tag) -> Self {
let mut v = self.tags.unwrap_or_default();
v.push(input);
self.tags = ::std::option::Option::Some(v);
self
}
/// <p>The tag keys and optional values to add to the certificate during create.</p>
/// <p>Use the <code>TagResource</code> action to tag a resource after it's created.</p>
pub fn set_tags(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>) -> Self {
self.tags = input;
self
}
/// <p>The tag keys and optional values to add to the certificate during create.</p>
/// <p>Use the <code>TagResource</code> action to tag a resource after it's created.</p>
pub fn get_tags(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Tag>> {
&self.tags
}
/// Consumes the builder and constructs a [`CreateCertificateInput`](crate::operation::create_certificate::CreateCertificateInput).
pub fn build(
self,
) -> ::std::result::Result<crate::operation::create_certificate::CreateCertificateInput, ::aws_smithy_types::error::operation::BuildError> {
::std::result::Result::Ok(crate::operation::create_certificate::CreateCertificateInput {
certificate_name: self.certificate_name,
domain_name: self.domain_name,
subject_alternative_names: self.subject_alternative_names,
tags: self.tags,
})
}
}