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
// 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 PutClusterPolicyInput {
/// <p>The ID of the cluster.</p>
pub identifier: ::std::option::Option<::std::string::String>,
/// <p>The resource-based policy document to attach to the cluster. This should be a valid JSON policy document that defines permissions and conditions.</p>
pub policy: ::std::option::Option<::std::string::String>,
/// <p>A flag that allows you to bypass the policy lockout safety check. When set to true, this parameter allows you to apply a policy that might lock you out of the cluster. Use with caution.</p>
pub bypass_policy_lockout_safety_check: ::std::option::Option<bool>,
/// <p>The expected version of the current policy. This parameter ensures that you're updating the correct version of the policy and helps prevent concurrent modification conflicts.</p>
pub expected_policy_version: ::std::option::Option<::std::string::String>,
/// <p>Idempotency token so a request is only processed once.</p>
pub client_token: ::std::option::Option<::std::string::String>,
}
impl PutClusterPolicyInput {
/// <p>The ID of the cluster.</p>
pub fn identifier(&self) -> ::std::option::Option<&str> {
self.identifier.as_deref()
}
/// <p>The resource-based policy document to attach to the cluster. This should be a valid JSON policy document that defines permissions and conditions.</p>
pub fn policy(&self) -> ::std::option::Option<&str> {
self.policy.as_deref()
}
/// <p>A flag that allows you to bypass the policy lockout safety check. When set to true, this parameter allows you to apply a policy that might lock you out of the cluster. Use with caution.</p>
pub fn bypass_policy_lockout_safety_check(&self) -> ::std::option::Option<bool> {
self.bypass_policy_lockout_safety_check
}
/// <p>The expected version of the current policy. This parameter ensures that you're updating the correct version of the policy and helps prevent concurrent modification conflicts.</p>
pub fn expected_policy_version(&self) -> ::std::option::Option<&str> {
self.expected_policy_version.as_deref()
}
/// <p>Idempotency token so a request is only processed once.</p>
pub fn client_token(&self) -> ::std::option::Option<&str> {
self.client_token.as_deref()
}
}
impl PutClusterPolicyInput {
/// Creates a new builder-style object to manufacture [`PutClusterPolicyInput`](crate::operation::put_cluster_policy::PutClusterPolicyInput).
pub fn builder() -> crate::operation::put_cluster_policy::builders::PutClusterPolicyInputBuilder {
crate::operation::put_cluster_policy::builders::PutClusterPolicyInputBuilder::default()
}
}
/// A builder for [`PutClusterPolicyInput`](crate::operation::put_cluster_policy::PutClusterPolicyInput).
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
#[non_exhaustive]
pub struct PutClusterPolicyInputBuilder {
pub(crate) identifier: ::std::option::Option<::std::string::String>,
pub(crate) policy: ::std::option::Option<::std::string::String>,
pub(crate) bypass_policy_lockout_safety_check: ::std::option::Option<bool>,
pub(crate) expected_policy_version: ::std::option::Option<::std::string::String>,
pub(crate) client_token: ::std::option::Option<::std::string::String>,
}
impl PutClusterPolicyInputBuilder {
/// <p>The ID of the cluster.</p>
/// This field is required.
pub fn identifier(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.identifier = ::std::option::Option::Some(input.into());
self
}
/// <p>The ID of the cluster.</p>
pub fn set_identifier(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.identifier = input;
self
}
/// <p>The ID of the cluster.</p>
pub fn get_identifier(&self) -> &::std::option::Option<::std::string::String> {
&self.identifier
}
/// <p>The resource-based policy document to attach to the cluster. This should be a valid JSON policy document that defines permissions and conditions.</p>
/// This field is required.
pub fn policy(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.policy = ::std::option::Option::Some(input.into());
self
}
/// <p>The resource-based policy document to attach to the cluster. This should be a valid JSON policy document that defines permissions and conditions.</p>
pub fn set_policy(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.policy = input;
self
}
/// <p>The resource-based policy document to attach to the cluster. This should be a valid JSON policy document that defines permissions and conditions.</p>
pub fn get_policy(&self) -> &::std::option::Option<::std::string::String> {
&self.policy
}
/// <p>A flag that allows you to bypass the policy lockout safety check. When set to true, this parameter allows you to apply a policy that might lock you out of the cluster. Use with caution.</p>
pub fn bypass_policy_lockout_safety_check(mut self, input: bool) -> Self {
self.bypass_policy_lockout_safety_check = ::std::option::Option::Some(input);
self
}
/// <p>A flag that allows you to bypass the policy lockout safety check. When set to true, this parameter allows you to apply a policy that might lock you out of the cluster. Use with caution.</p>
pub fn set_bypass_policy_lockout_safety_check(mut self, input: ::std::option::Option<bool>) -> Self {
self.bypass_policy_lockout_safety_check = input;
self
}
/// <p>A flag that allows you to bypass the policy lockout safety check. When set to true, this parameter allows you to apply a policy that might lock you out of the cluster. Use with caution.</p>
pub fn get_bypass_policy_lockout_safety_check(&self) -> &::std::option::Option<bool> {
&self.bypass_policy_lockout_safety_check
}
/// <p>The expected version of the current policy. This parameter ensures that you're updating the correct version of the policy and helps prevent concurrent modification conflicts.</p>
pub fn expected_policy_version(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.expected_policy_version = ::std::option::Option::Some(input.into());
self
}
/// <p>The expected version of the current policy. This parameter ensures that you're updating the correct version of the policy and helps prevent concurrent modification conflicts.</p>
pub fn set_expected_policy_version(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.expected_policy_version = input;
self
}
/// <p>The expected version of the current policy. This parameter ensures that you're updating the correct version of the policy and helps prevent concurrent modification conflicts.</p>
pub fn get_expected_policy_version(&self) -> &::std::option::Option<::std::string::String> {
&self.expected_policy_version
}
/// <p>Idempotency token so a request is only processed once.</p>
pub fn client_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.client_token = ::std::option::Option::Some(input.into());
self
}
/// <p>Idempotency token so a request is only processed once.</p>
pub fn set_client_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.client_token = input;
self
}
/// <p>Idempotency token so a request is only processed once.</p>
pub fn get_client_token(&self) -> &::std::option::Option<::std::string::String> {
&self.client_token
}
/// Consumes the builder and constructs a [`PutClusterPolicyInput`](crate::operation::put_cluster_policy::PutClusterPolicyInput).
pub fn build(
self,
) -> ::std::result::Result<crate::operation::put_cluster_policy::PutClusterPolicyInput, ::aws_smithy_types::error::operation::BuildError> {
::std::result::Result::Ok(crate::operation::put_cluster_policy::PutClusterPolicyInput {
identifier: self.identifier,
policy: self.policy,
bypass_policy_lockout_safety_check: self.bypass_policy_lockout_safety_check,
expected_policy_version: self.expected_policy_version,
client_token: self.client_token,
})
}
}