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
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
/// <p>Contains the response to a successful <a href="https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetUserPolicy.html">GetUserPolicy</a> request.</p>
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct GetUserPolicyOutput {
/// <p>The user the policy is associated with.</p>
pub user_name: ::std::string::String,
/// <p>The name of the policy.</p>
pub policy_name: ::std::string::String,
/// <p>The policy document.</p>
/// <p>IAM stores policies in JSON format. However, resources that were created using CloudFormation templates can be formatted in YAML. CloudFormation always converts a YAML policy to JSON format before submitting it to IAM.</p>
pub policy_document: ::std::string::String,
_request_id: Option<String>,
}
impl GetUserPolicyOutput {
/// <p>The user the policy is associated with.</p>
pub fn user_name(&self) -> &str {
use std::ops::Deref;
self.user_name.deref()
}
/// <p>The name of the policy.</p>
pub fn policy_name(&self) -> &str {
use std::ops::Deref;
self.policy_name.deref()
}
/// <p>The policy document.</p>
/// <p>IAM stores policies in JSON format. However, resources that were created using CloudFormation templates can be formatted in YAML. CloudFormation always converts a YAML policy to JSON format before submitting it to IAM.</p>
pub fn policy_document(&self) -> &str {
use std::ops::Deref;
self.policy_document.deref()
}
}
impl ::aws_types::request_id::RequestId for GetUserPolicyOutput {
fn request_id(&self) -> Option<&str> {
self._request_id.as_deref()
}
}
impl GetUserPolicyOutput {
/// Creates a new builder-style object to manufacture [`GetUserPolicyOutput`](crate::operation::get_user_policy::GetUserPolicyOutput).
pub fn builder() -> crate::operation::get_user_policy::builders::GetUserPolicyOutputBuilder {
crate::operation::get_user_policy::builders::GetUserPolicyOutputBuilder::default()
}
}
/// A builder for [`GetUserPolicyOutput`](crate::operation::get_user_policy::GetUserPolicyOutput).
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
#[non_exhaustive]
pub struct GetUserPolicyOutputBuilder {
pub(crate) user_name: ::std::option::Option<::std::string::String>,
pub(crate) policy_name: ::std::option::Option<::std::string::String>,
pub(crate) policy_document: ::std::option::Option<::std::string::String>,
_request_id: Option<String>,
}
impl GetUserPolicyOutputBuilder {
/// <p>The user the policy is associated with.</p>
/// This field is required.
pub fn user_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.user_name = ::std::option::Option::Some(input.into());
self
}
/// <p>The user the policy is associated with.</p>
pub fn set_user_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.user_name = input;
self
}
/// <p>The user the policy is associated with.</p>
pub fn get_user_name(&self) -> &::std::option::Option<::std::string::String> {
&self.user_name
}
/// <p>The name of the policy.</p>
/// This field is required.
pub fn policy_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.policy_name = ::std::option::Option::Some(input.into());
self
}
/// <p>The name of the policy.</p>
pub fn set_policy_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.policy_name = input;
self
}
/// <p>The name of the policy.</p>
pub fn get_policy_name(&self) -> &::std::option::Option<::std::string::String> {
&self.policy_name
}
/// <p>The policy document.</p>
/// <p>IAM stores policies in JSON format. However, resources that were created using CloudFormation templates can be formatted in YAML. CloudFormation always converts a YAML policy to JSON format before submitting it to IAM.</p>
/// This field is required.
pub fn policy_document(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.policy_document = ::std::option::Option::Some(input.into());
self
}
/// <p>The policy document.</p>
/// <p>IAM stores policies in JSON format. However, resources that were created using CloudFormation templates can be formatted in YAML. CloudFormation always converts a YAML policy to JSON format before submitting it to IAM.</p>
pub fn set_policy_document(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.policy_document = input;
self
}
/// <p>The policy document.</p>
/// <p>IAM stores policies in JSON format. However, resources that were created using CloudFormation templates can be formatted in YAML. CloudFormation always converts a YAML policy to JSON format before submitting it to IAM.</p>
pub fn get_policy_document(&self) -> &::std::option::Option<::std::string::String> {
&self.policy_document
}
pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
self._request_id = Some(request_id.into());
self
}
pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
self._request_id = request_id;
self
}
/// Consumes the builder and constructs a [`GetUserPolicyOutput`](crate::operation::get_user_policy::GetUserPolicyOutput).
/// This method will fail if any of the following fields are not set:
/// - [`user_name`](crate::operation::get_user_policy::builders::GetUserPolicyOutputBuilder::user_name)
/// - [`policy_name`](crate::operation::get_user_policy::builders::GetUserPolicyOutputBuilder::policy_name)
/// - [`policy_document`](crate::operation::get_user_policy::builders::GetUserPolicyOutputBuilder::policy_document)
pub fn build(
self,
) -> ::std::result::Result<crate::operation::get_user_policy::GetUserPolicyOutput, ::aws_smithy_types::error::operation::BuildError> {
::std::result::Result::Ok(crate::operation::get_user_policy::GetUserPolicyOutput {
user_name: self.user_name.ok_or_else(|| {
::aws_smithy_types::error::operation::BuildError::missing_field(
"user_name",
"user_name was not specified but it is required when building GetUserPolicyOutput",
)
})?,
policy_name: self.policy_name.ok_or_else(|| {
::aws_smithy_types::error::operation::BuildError::missing_field(
"policy_name",
"policy_name was not specified but it is required when building GetUserPolicyOutput",
)
})?,
policy_document: self.policy_document.ok_or_else(|| {
::aws_smithy_types::error::operation::BuildError::missing_field(
"policy_document",
"policy_document was not specified but it is required when building GetUserPolicyOutput",
)
})?,
_request_id: self._request_id,
})
}
}