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
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
// 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)]
pub struct ImportCertificateInput {
/// <p>A customer-assigned name for the certificate. Identifiers must begin with a letter and must contain only ASCII letters, digits, and hyphens. They can't end with a hyphen or contain two consecutive hyphens.</p>
pub certificate_identifier: ::std::option::Option<::std::string::String>,
/// <p>The contents of a <code>.pem</code> file, which contains an X.509 certificate.</p>
pub certificate_pem: ::std::option::Option<::std::string::String>,
/// <p>The location of an imported Oracle Wallet certificate for use with SSL. Provide the name of a <code>.sso</code> file using the <code>fileb://</code> prefix. You can't provide the certificate inline.</p>
/// <p>Example: <code>filebase64("${path.root}/rds-ca-2019-root.sso")</code></p>
pub certificate_wallet: ::std::option::Option<::aws_smithy_types::Blob>,
/// <p>The tags associated with the certificate.</p>
pub tags: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>,
/// <p>An KMS key identifier that is used to encrypt the certificate.</p>
/// <p>If you don't specify a value for the <code>KmsKeyId</code> parameter, then DMS uses your default encryption key.</p>
/// <p>KMS creates the default encryption key for your Amazon Web Services account. Your Amazon Web Services account has a different default encryption key for each Amazon Web Services Region.</p>
pub kms_key_id: ::std::option::Option<::std::string::String>,
}
impl ImportCertificateInput {
/// <p>A customer-assigned name for the certificate. Identifiers must begin with a letter and must contain only ASCII letters, digits, and hyphens. They can't end with a hyphen or contain two consecutive hyphens.</p>
pub fn certificate_identifier(&self) -> ::std::option::Option<&str> {
self.certificate_identifier.as_deref()
}
/// <p>The contents of a <code>.pem</code> file, which contains an X.509 certificate.</p>
pub fn certificate_pem(&self) -> ::std::option::Option<&str> {
self.certificate_pem.as_deref()
}
/// <p>The location of an imported Oracle Wallet certificate for use with SSL. Provide the name of a <code>.sso</code> file using the <code>fileb://</code> prefix. You can't provide the certificate inline.</p>
/// <p>Example: <code>filebase64("${path.root}/rds-ca-2019-root.sso")</code></p>
pub fn certificate_wallet(&self) -> ::std::option::Option<&::aws_smithy_types::Blob> {
self.certificate_wallet.as_ref()
}
/// <p>The tags associated with the certificate.</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()
}
/// <p>An KMS key identifier that is used to encrypt the certificate.</p>
/// <p>If you don't specify a value for the <code>KmsKeyId</code> parameter, then DMS uses your default encryption key.</p>
/// <p>KMS creates the default encryption key for your Amazon Web Services account. Your Amazon Web Services account has a different default encryption key for each Amazon Web Services Region.</p>
pub fn kms_key_id(&self) -> ::std::option::Option<&str> {
self.kms_key_id.as_deref()
}
}
impl ::std::fmt::Debug for ImportCertificateInput {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
let mut formatter = f.debug_struct("ImportCertificateInput");
formatter.field("certificate_identifier", &self.certificate_identifier);
formatter.field("certificate_pem", &"*** Sensitive Data Redacted ***");
formatter.field("certificate_wallet", &self.certificate_wallet);
formatter.field("tags", &self.tags);
formatter.field("kms_key_id", &self.kms_key_id);
formatter.finish()
}
}
impl ImportCertificateInput {
/// Creates a new builder-style object to manufacture [`ImportCertificateInput`](crate::operation::import_certificate::ImportCertificateInput).
pub fn builder() -> crate::operation::import_certificate::builders::ImportCertificateInputBuilder {
crate::operation::import_certificate::builders::ImportCertificateInputBuilder::default()
}
}
/// A builder for [`ImportCertificateInput`](crate::operation::import_certificate::ImportCertificateInput).
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default)]
#[non_exhaustive]
pub struct ImportCertificateInputBuilder {
pub(crate) certificate_identifier: ::std::option::Option<::std::string::String>,
pub(crate) certificate_pem: ::std::option::Option<::std::string::String>,
pub(crate) certificate_wallet: ::std::option::Option<::aws_smithy_types::Blob>,
pub(crate) tags: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>,
pub(crate) kms_key_id: ::std::option::Option<::std::string::String>,
}
impl ImportCertificateInputBuilder {
/// <p>A customer-assigned name for the certificate. Identifiers must begin with a letter and must contain only ASCII letters, digits, and hyphens. They can't end with a hyphen or contain two consecutive hyphens.</p>
/// This field is required.
pub fn certificate_identifier(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.certificate_identifier = ::std::option::Option::Some(input.into());
self
}
/// <p>A customer-assigned name for the certificate. Identifiers must begin with a letter and must contain only ASCII letters, digits, and hyphens. They can't end with a hyphen or contain two consecutive hyphens.</p>
pub fn set_certificate_identifier(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.certificate_identifier = input;
self
}
/// <p>A customer-assigned name for the certificate. Identifiers must begin with a letter and must contain only ASCII letters, digits, and hyphens. They can't end with a hyphen or contain two consecutive hyphens.</p>
pub fn get_certificate_identifier(&self) -> &::std::option::Option<::std::string::String> {
&self.certificate_identifier
}
/// <p>The contents of a <code>.pem</code> file, which contains an X.509 certificate.</p>
pub fn certificate_pem(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.certificate_pem = ::std::option::Option::Some(input.into());
self
}
/// <p>The contents of a <code>.pem</code> file, which contains an X.509 certificate.</p>
pub fn set_certificate_pem(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.certificate_pem = input;
self
}
/// <p>The contents of a <code>.pem</code> file, which contains an X.509 certificate.</p>
pub fn get_certificate_pem(&self) -> &::std::option::Option<::std::string::String> {
&self.certificate_pem
}
/// <p>The location of an imported Oracle Wallet certificate for use with SSL. Provide the name of a <code>.sso</code> file using the <code>fileb://</code> prefix. You can't provide the certificate inline.</p>
/// <p>Example: <code>filebase64("${path.root}/rds-ca-2019-root.sso")</code></p>
pub fn certificate_wallet(mut self, input: ::aws_smithy_types::Blob) -> Self {
self.certificate_wallet = ::std::option::Option::Some(input);
self
}
/// <p>The location of an imported Oracle Wallet certificate for use with SSL. Provide the name of a <code>.sso</code> file using the <code>fileb://</code> prefix. You can't provide the certificate inline.</p>
/// <p>Example: <code>filebase64("${path.root}/rds-ca-2019-root.sso")</code></p>
pub fn set_certificate_wallet(mut self, input: ::std::option::Option<::aws_smithy_types::Blob>) -> Self {
self.certificate_wallet = input;
self
}
/// <p>The location of an imported Oracle Wallet certificate for use with SSL. Provide the name of a <code>.sso</code> file using the <code>fileb://</code> prefix. You can't provide the certificate inline.</p>
/// <p>Example: <code>filebase64("${path.root}/rds-ca-2019-root.sso")</code></p>
pub fn get_certificate_wallet(&self) -> &::std::option::Option<::aws_smithy_types::Blob> {
&self.certificate_wallet
}
/// Appends an item to `tags`.
///
/// To override the contents of this collection use [`set_tags`](Self::set_tags).
///
/// <p>The tags associated with the certificate.</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 tags associated with the certificate.</p>
pub fn set_tags(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>) -> Self {
self.tags = input;
self
}
/// <p>The tags associated with the certificate.</p>
pub fn get_tags(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Tag>> {
&self.tags
}
/// <p>An KMS key identifier that is used to encrypt the certificate.</p>
/// <p>If you don't specify a value for the <code>KmsKeyId</code> parameter, then DMS uses your default encryption key.</p>
/// <p>KMS creates the default encryption key for your Amazon Web Services account. Your Amazon Web Services account has a different default encryption key for each Amazon Web Services Region.</p>
pub fn kms_key_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.kms_key_id = ::std::option::Option::Some(input.into());
self
}
/// <p>An KMS key identifier that is used to encrypt the certificate.</p>
/// <p>If you don't specify a value for the <code>KmsKeyId</code> parameter, then DMS uses your default encryption key.</p>
/// <p>KMS creates the default encryption key for your Amazon Web Services account. Your Amazon Web Services account has a different default encryption key for each Amazon Web Services Region.</p>
pub fn set_kms_key_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.kms_key_id = input;
self
}
/// <p>An KMS key identifier that is used to encrypt the certificate.</p>
/// <p>If you don't specify a value for the <code>KmsKeyId</code> parameter, then DMS uses your default encryption key.</p>
/// <p>KMS creates the default encryption key for your Amazon Web Services account. Your Amazon Web Services account has a different default encryption key for each Amazon Web Services Region.</p>
pub fn get_kms_key_id(&self) -> &::std::option::Option<::std::string::String> {
&self.kms_key_id
}
/// Consumes the builder and constructs a [`ImportCertificateInput`](crate::operation::import_certificate::ImportCertificateInput).
pub fn build(
self,
) -> ::std::result::Result<crate::operation::import_certificate::ImportCertificateInput, ::aws_smithy_types::error::operation::BuildError> {
::std::result::Result::Ok(crate::operation::import_certificate::ImportCertificateInput {
certificate_identifier: self.certificate_identifier,
certificate_pem: self.certificate_pem,
certificate_wallet: self.certificate_wallet,
tags: self.tags,
kms_key_id: self.kms_key_id,
})
}
}
impl ::std::fmt::Debug for ImportCertificateInputBuilder {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
let mut formatter = f.debug_struct("ImportCertificateInputBuilder");
formatter.field("certificate_identifier", &self.certificate_identifier);
formatter.field("certificate_pem", &"*** Sensitive Data Redacted ***");
formatter.field("certificate_wallet", &self.certificate_wallet);
formatter.field("tags", &self.tags);
formatter.field("kms_key_id", &self.kms_key_id);
formatter.finish()
}
}