aws_sdk_kms/operation/create_alias/_create_alias_input.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2#[allow(missing_docs)] // documentation missing in model
3#[non_exhaustive]
4#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
5pub struct CreateAliasInput {
6 /// <p>Specifies the alias name. This value must begin with <code>alias/</code> followed by a name, such as <code>alias/ExampleAlias</code>.</p><important>
7 /// <p>Do not include confidential or sensitive information in this field. This field may be displayed in plaintext in CloudTrail logs and other output.</p>
8 /// </important>
9 /// <p>The <code>AliasName</code> value must be string of 1-256 characters. It can contain only alphanumeric characters, forward slashes (/), underscores (_), and dashes (-). The alias name cannot begin with <code>alias/aws/</code>. The <code>alias/aws/</code> prefix is reserved for <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk">Amazon Web Services managed keys</a>.</p>
10 pub alias_name: ::std::option::Option<::std::string::String>,
11 /// <p>Associates the alias with the specified <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk">customer managed key</a>. The KMS key must be in the same Amazon Web Services Region.</p>
12 /// <p>A valid key ID is required. If you supply a null or empty string value, this operation returns an error.</p>
13 /// <p>For help finding the key ID and ARN, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/viewing-keys.html#find-cmk-id-arn">Finding the Key ID and ARN</a> in the <i> <i>Key Management Service Developer Guide</i> </i>.</p>
14 /// <p>Specify the key ID or key ARN of the KMS key.</p>
15 /// <p>For example:</p>
16 /// <ul>
17 /// <li>
18 /// <p>Key ID: <code>1234abcd-12ab-34cd-56ef-1234567890ab</code></p></li>
19 /// <li>
20 /// <p>Key ARN: <code>arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab</code></p></li>
21 /// </ul>
22 /// <p>To get the key ID and key ARN for a KMS key, use <code>ListKeys</code> or <code>DescribeKey</code>.</p>
23 pub target_key_id: ::std::option::Option<::std::string::String>,
24}
25impl CreateAliasInput {
26 /// <p>Specifies the alias name. This value must begin with <code>alias/</code> followed by a name, such as <code>alias/ExampleAlias</code>.</p><important>
27 /// <p>Do not include confidential or sensitive information in this field. This field may be displayed in plaintext in CloudTrail logs and other output.</p>
28 /// </important>
29 /// <p>The <code>AliasName</code> value must be string of 1-256 characters. It can contain only alphanumeric characters, forward slashes (/), underscores (_), and dashes (-). The alias name cannot begin with <code>alias/aws/</code>. The <code>alias/aws/</code> prefix is reserved for <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk">Amazon Web Services managed keys</a>.</p>
30 pub fn alias_name(&self) -> ::std::option::Option<&str> {
31 self.alias_name.as_deref()
32 }
33 /// <p>Associates the alias with the specified <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk">customer managed key</a>. The KMS key must be in the same Amazon Web Services Region.</p>
34 /// <p>A valid key ID is required. If you supply a null or empty string value, this operation returns an error.</p>
35 /// <p>For help finding the key ID and ARN, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/viewing-keys.html#find-cmk-id-arn">Finding the Key ID and ARN</a> in the <i> <i>Key Management Service Developer Guide</i> </i>.</p>
36 /// <p>Specify the key ID or key ARN of the KMS key.</p>
37 /// <p>For example:</p>
38 /// <ul>
39 /// <li>
40 /// <p>Key ID: <code>1234abcd-12ab-34cd-56ef-1234567890ab</code></p></li>
41 /// <li>
42 /// <p>Key ARN: <code>arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab</code></p></li>
43 /// </ul>
44 /// <p>To get the key ID and key ARN for a KMS key, use <code>ListKeys</code> or <code>DescribeKey</code>.</p>
45 pub fn target_key_id(&self) -> ::std::option::Option<&str> {
46 self.target_key_id.as_deref()
47 }
48}
49impl CreateAliasInput {
50 /// Creates a new builder-style object to manufacture [`CreateAliasInput`](crate::operation::create_alias::CreateAliasInput).
51 pub fn builder() -> crate::operation::create_alias::builders::CreateAliasInputBuilder {
52 crate::operation::create_alias::builders::CreateAliasInputBuilder::default()
53 }
54}
55
56/// A builder for [`CreateAliasInput`](crate::operation::create_alias::CreateAliasInput).
57#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
58#[non_exhaustive]
59pub struct CreateAliasInputBuilder {
60 pub(crate) alias_name: ::std::option::Option<::std::string::String>,
61 pub(crate) target_key_id: ::std::option::Option<::std::string::String>,
62}
63impl CreateAliasInputBuilder {
64 /// <p>Specifies the alias name. This value must begin with <code>alias/</code> followed by a name, such as <code>alias/ExampleAlias</code>.</p><important>
65 /// <p>Do not include confidential or sensitive information in this field. This field may be displayed in plaintext in CloudTrail logs and other output.</p>
66 /// </important>
67 /// <p>The <code>AliasName</code> value must be string of 1-256 characters. It can contain only alphanumeric characters, forward slashes (/), underscores (_), and dashes (-). The alias name cannot begin with <code>alias/aws/</code>. The <code>alias/aws/</code> prefix is reserved for <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk">Amazon Web Services managed keys</a>.</p>
68 /// This field is required.
69 pub fn alias_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
70 self.alias_name = ::std::option::Option::Some(input.into());
71 self
72 }
73 /// <p>Specifies the alias name. This value must begin with <code>alias/</code> followed by a name, such as <code>alias/ExampleAlias</code>.</p><important>
74 /// <p>Do not include confidential or sensitive information in this field. This field may be displayed in plaintext in CloudTrail logs and other output.</p>
75 /// </important>
76 /// <p>The <code>AliasName</code> value must be string of 1-256 characters. It can contain only alphanumeric characters, forward slashes (/), underscores (_), and dashes (-). The alias name cannot begin with <code>alias/aws/</code>. The <code>alias/aws/</code> prefix is reserved for <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk">Amazon Web Services managed keys</a>.</p>
77 pub fn set_alias_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
78 self.alias_name = input;
79 self
80 }
81 /// <p>Specifies the alias name. This value must begin with <code>alias/</code> followed by a name, such as <code>alias/ExampleAlias</code>.</p><important>
82 /// <p>Do not include confidential or sensitive information in this field. This field may be displayed in plaintext in CloudTrail logs and other output.</p>
83 /// </important>
84 /// <p>The <code>AliasName</code> value must be string of 1-256 characters. It can contain only alphanumeric characters, forward slashes (/), underscores (_), and dashes (-). The alias name cannot begin with <code>alias/aws/</code>. The <code>alias/aws/</code> prefix is reserved for <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk">Amazon Web Services managed keys</a>.</p>
85 pub fn get_alias_name(&self) -> &::std::option::Option<::std::string::String> {
86 &self.alias_name
87 }
88 /// <p>Associates the alias with the specified <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk">customer managed key</a>. The KMS key must be in the same Amazon Web Services Region.</p>
89 /// <p>A valid key ID is required. If you supply a null or empty string value, this operation returns an error.</p>
90 /// <p>For help finding the key ID and ARN, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/viewing-keys.html#find-cmk-id-arn">Finding the Key ID and ARN</a> in the <i> <i>Key Management Service Developer Guide</i> </i>.</p>
91 /// <p>Specify the key ID or key ARN of the KMS key.</p>
92 /// <p>For example:</p>
93 /// <ul>
94 /// <li>
95 /// <p>Key ID: <code>1234abcd-12ab-34cd-56ef-1234567890ab</code></p></li>
96 /// <li>
97 /// <p>Key ARN: <code>arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab</code></p></li>
98 /// </ul>
99 /// <p>To get the key ID and key ARN for a KMS key, use <code>ListKeys</code> or <code>DescribeKey</code>.</p>
100 /// This field is required.
101 pub fn target_key_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
102 self.target_key_id = ::std::option::Option::Some(input.into());
103 self
104 }
105 /// <p>Associates the alias with the specified <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk">customer managed key</a>. The KMS key must be in the same Amazon Web Services Region.</p>
106 /// <p>A valid key ID is required. If you supply a null or empty string value, this operation returns an error.</p>
107 /// <p>For help finding the key ID and ARN, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/viewing-keys.html#find-cmk-id-arn">Finding the Key ID and ARN</a> in the <i> <i>Key Management Service Developer Guide</i> </i>.</p>
108 /// <p>Specify the key ID or key ARN of the KMS key.</p>
109 /// <p>For example:</p>
110 /// <ul>
111 /// <li>
112 /// <p>Key ID: <code>1234abcd-12ab-34cd-56ef-1234567890ab</code></p></li>
113 /// <li>
114 /// <p>Key ARN: <code>arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab</code></p></li>
115 /// </ul>
116 /// <p>To get the key ID and key ARN for a KMS key, use <code>ListKeys</code> or <code>DescribeKey</code>.</p>
117 pub fn set_target_key_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
118 self.target_key_id = input;
119 self
120 }
121 /// <p>Associates the alias with the specified <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk">customer managed key</a>. The KMS key must be in the same Amazon Web Services Region.</p>
122 /// <p>A valid key ID is required. If you supply a null or empty string value, this operation returns an error.</p>
123 /// <p>For help finding the key ID and ARN, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/viewing-keys.html#find-cmk-id-arn">Finding the Key ID and ARN</a> in the <i> <i>Key Management Service Developer Guide</i> </i>.</p>
124 /// <p>Specify the key ID or key ARN of the KMS key.</p>
125 /// <p>For example:</p>
126 /// <ul>
127 /// <li>
128 /// <p>Key ID: <code>1234abcd-12ab-34cd-56ef-1234567890ab</code></p></li>
129 /// <li>
130 /// <p>Key ARN: <code>arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab</code></p></li>
131 /// </ul>
132 /// <p>To get the key ID and key ARN for a KMS key, use <code>ListKeys</code> or <code>DescribeKey</code>.</p>
133 pub fn get_target_key_id(&self) -> &::std::option::Option<::std::string::String> {
134 &self.target_key_id
135 }
136 /// Consumes the builder and constructs a [`CreateAliasInput`](crate::operation::create_alias::CreateAliasInput).
137 pub fn build(self) -> ::std::result::Result<crate::operation::create_alias::CreateAliasInput, ::aws_smithy_types::error::operation::BuildError> {
138 ::std::result::Result::Ok(crate::operation::create_alias::CreateAliasInput {
139 alias_name: self.alias_name,
140 target_key_id: self.target_key_id,
141 })
142 }
143}