aws_sdk_verifiedpermissions/operation/get_policy/
_get_policy_output.rs1#[allow(missing_docs)] #[non_exhaustive]
4#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
5pub struct GetPolicyOutput {
6 pub policy_store_id: ::std::string::String,
8 pub policy_id: ::std::string::String,
10 pub policy_type: crate::types::PolicyType,
12 pub principal: ::std::option::Option<crate::types::EntityIdentifier>,
14 pub resource: ::std::option::Option<crate::types::EntityIdentifier>,
16 pub actions: ::std::option::Option<::std::vec::Vec<crate::types::ActionIdentifier>>,
18 pub definition: ::std::option::Option<crate::types::PolicyDefinitionDetail>,
20 pub created_date: ::aws_smithy_types::DateTime,
22 pub last_updated_date: ::aws_smithy_types::DateTime,
24 pub effect: ::std::option::Option<crate::types::PolicyEffect>,
26 _request_id: Option<String>,
27}
28impl GetPolicyOutput {
29 pub fn policy_store_id(&self) -> &str {
31 use std::ops::Deref;
32 self.policy_store_id.deref()
33 }
34 pub fn policy_id(&self) -> &str {
36 use std::ops::Deref;
37 self.policy_id.deref()
38 }
39 pub fn policy_type(&self) -> &crate::types::PolicyType {
41 &self.policy_type
42 }
43 pub fn principal(&self) -> ::std::option::Option<&crate::types::EntityIdentifier> {
45 self.principal.as_ref()
46 }
47 pub fn resource(&self) -> ::std::option::Option<&crate::types::EntityIdentifier> {
49 self.resource.as_ref()
50 }
51 pub fn actions(&self) -> &[crate::types::ActionIdentifier] {
55 self.actions.as_deref().unwrap_or_default()
56 }
57 pub fn definition(&self) -> ::std::option::Option<&crate::types::PolicyDefinitionDetail> {
59 self.definition.as_ref()
60 }
61 pub fn created_date(&self) -> &::aws_smithy_types::DateTime {
63 &self.created_date
64 }
65 pub fn last_updated_date(&self) -> &::aws_smithy_types::DateTime {
67 &self.last_updated_date
68 }
69 pub fn effect(&self) -> ::std::option::Option<&crate::types::PolicyEffect> {
71 self.effect.as_ref()
72 }
73}
74impl ::aws_types::request_id::RequestId for GetPolicyOutput {
75 fn request_id(&self) -> Option<&str> {
76 self._request_id.as_deref()
77 }
78}
79impl GetPolicyOutput {
80 pub fn builder() -> crate::operation::get_policy::builders::GetPolicyOutputBuilder {
82 crate::operation::get_policy::builders::GetPolicyOutputBuilder::default()
83 }
84}
85
86#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
88#[non_exhaustive]
89pub struct GetPolicyOutputBuilder {
90 pub(crate) policy_store_id: ::std::option::Option<::std::string::String>,
91 pub(crate) policy_id: ::std::option::Option<::std::string::String>,
92 pub(crate) policy_type: ::std::option::Option<crate::types::PolicyType>,
93 pub(crate) principal: ::std::option::Option<crate::types::EntityIdentifier>,
94 pub(crate) resource: ::std::option::Option<crate::types::EntityIdentifier>,
95 pub(crate) actions: ::std::option::Option<::std::vec::Vec<crate::types::ActionIdentifier>>,
96 pub(crate) definition: ::std::option::Option<crate::types::PolicyDefinitionDetail>,
97 pub(crate) created_date: ::std::option::Option<::aws_smithy_types::DateTime>,
98 pub(crate) last_updated_date: ::std::option::Option<::aws_smithy_types::DateTime>,
99 pub(crate) effect: ::std::option::Option<crate::types::PolicyEffect>,
100 _request_id: Option<String>,
101}
102impl GetPolicyOutputBuilder {
103 pub fn policy_store_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
106 self.policy_store_id = ::std::option::Option::Some(input.into());
107 self
108 }
109 pub fn set_policy_store_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
111 self.policy_store_id = input;
112 self
113 }
114 pub fn get_policy_store_id(&self) -> &::std::option::Option<::std::string::String> {
116 &self.policy_store_id
117 }
118 pub fn policy_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
121 self.policy_id = ::std::option::Option::Some(input.into());
122 self
123 }
124 pub fn set_policy_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
126 self.policy_id = input;
127 self
128 }
129 pub fn get_policy_id(&self) -> &::std::option::Option<::std::string::String> {
131 &self.policy_id
132 }
133 pub fn policy_type(mut self, input: crate::types::PolicyType) -> Self {
136 self.policy_type = ::std::option::Option::Some(input);
137 self
138 }
139 pub fn set_policy_type(mut self, input: ::std::option::Option<crate::types::PolicyType>) -> Self {
141 self.policy_type = input;
142 self
143 }
144 pub fn get_policy_type(&self) -> &::std::option::Option<crate::types::PolicyType> {
146 &self.policy_type
147 }
148 pub fn principal(mut self, input: crate::types::EntityIdentifier) -> Self {
150 self.principal = ::std::option::Option::Some(input);
151 self
152 }
153 pub fn set_principal(mut self, input: ::std::option::Option<crate::types::EntityIdentifier>) -> Self {
155 self.principal = input;
156 self
157 }
158 pub fn get_principal(&self) -> &::std::option::Option<crate::types::EntityIdentifier> {
160 &self.principal
161 }
162 pub fn resource(mut self, input: crate::types::EntityIdentifier) -> Self {
164 self.resource = ::std::option::Option::Some(input);
165 self
166 }
167 pub fn set_resource(mut self, input: ::std::option::Option<crate::types::EntityIdentifier>) -> Self {
169 self.resource = input;
170 self
171 }
172 pub fn get_resource(&self) -> &::std::option::Option<crate::types::EntityIdentifier> {
174 &self.resource
175 }
176 pub fn actions(mut self, input: crate::types::ActionIdentifier) -> Self {
182 let mut v = self.actions.unwrap_or_default();
183 v.push(input);
184 self.actions = ::std::option::Option::Some(v);
185 self
186 }
187 pub fn set_actions(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::ActionIdentifier>>) -> Self {
189 self.actions = input;
190 self
191 }
192 pub fn get_actions(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::ActionIdentifier>> {
194 &self.actions
195 }
196 pub fn definition(mut self, input: crate::types::PolicyDefinitionDetail) -> Self {
199 self.definition = ::std::option::Option::Some(input);
200 self
201 }
202 pub fn set_definition(mut self, input: ::std::option::Option<crate::types::PolicyDefinitionDetail>) -> Self {
204 self.definition = input;
205 self
206 }
207 pub fn get_definition(&self) -> &::std::option::Option<crate::types::PolicyDefinitionDetail> {
209 &self.definition
210 }
211 pub fn created_date(mut self, input: ::aws_smithy_types::DateTime) -> Self {
214 self.created_date = ::std::option::Option::Some(input);
215 self
216 }
217 pub fn set_created_date(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
219 self.created_date = input;
220 self
221 }
222 pub fn get_created_date(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
224 &self.created_date
225 }
226 pub fn last_updated_date(mut self, input: ::aws_smithy_types::DateTime) -> Self {
229 self.last_updated_date = ::std::option::Option::Some(input);
230 self
231 }
232 pub fn set_last_updated_date(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
234 self.last_updated_date = input;
235 self
236 }
237 pub fn get_last_updated_date(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
239 &self.last_updated_date
240 }
241 pub fn effect(mut self, input: crate::types::PolicyEffect) -> Self {
243 self.effect = ::std::option::Option::Some(input);
244 self
245 }
246 pub fn set_effect(mut self, input: ::std::option::Option<crate::types::PolicyEffect>) -> Self {
248 self.effect = input;
249 self
250 }
251 pub fn get_effect(&self) -> &::std::option::Option<crate::types::PolicyEffect> {
253 &self.effect
254 }
255 pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
256 self._request_id = Some(request_id.into());
257 self
258 }
259
260 pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
261 self._request_id = request_id;
262 self
263 }
264 pub fn build(self) -> ::std::result::Result<crate::operation::get_policy::GetPolicyOutput, ::aws_smithy_types::error::operation::BuildError> {
272 ::std::result::Result::Ok(crate::operation::get_policy::GetPolicyOutput {
273 policy_store_id: self.policy_store_id.ok_or_else(|| {
274 ::aws_smithy_types::error::operation::BuildError::missing_field(
275 "policy_store_id",
276 "policy_store_id was not specified but it is required when building GetPolicyOutput",
277 )
278 })?,
279 policy_id: self.policy_id.ok_or_else(|| {
280 ::aws_smithy_types::error::operation::BuildError::missing_field(
281 "policy_id",
282 "policy_id was not specified but it is required when building GetPolicyOutput",
283 )
284 })?,
285 policy_type: self.policy_type.ok_or_else(|| {
286 ::aws_smithy_types::error::operation::BuildError::missing_field(
287 "policy_type",
288 "policy_type was not specified but it is required when building GetPolicyOutput",
289 )
290 })?,
291 principal: self.principal,
292 resource: self.resource,
293 actions: self.actions,
294 definition: self.definition,
295 created_date: self.created_date.ok_or_else(|| {
296 ::aws_smithy_types::error::operation::BuildError::missing_field(
297 "created_date",
298 "created_date was not specified but it is required when building GetPolicyOutput",
299 )
300 })?,
301 last_updated_date: self.last_updated_date.ok_or_else(|| {
302 ::aws_smithy_types::error::operation::BuildError::missing_field(
303 "last_updated_date",
304 "last_updated_date was not specified but it is required when building GetPolicyOutput",
305 )
306 })?,
307 effect: self.effect,
308 _request_id: self._request_id,
309 })
310 }
311}