aws_sdk_ram/operation/create_permission/_create_permission_output.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 CreatePermissionOutput {
6 /// <p>A structure with information about this customer managed permission.</p>
7 pub permission: ::std::option::Option<crate::types::ResourceSharePermissionSummary>,
8 /// <p>The idempotency identifier associated with this request. If you want to repeat the same operation in an idempotent manner then you must include this value in the <code>clientToken</code> request parameter of that later call. All other parameters must also have the same values that you used in the first call.</p>
9 pub client_token: ::std::option::Option<::std::string::String>,
10 _request_id: Option<String>,
11}
12impl CreatePermissionOutput {
13 /// <p>A structure with information about this customer managed permission.</p>
14 pub fn permission(&self) -> ::std::option::Option<&crate::types::ResourceSharePermissionSummary> {
15 self.permission.as_ref()
16 }
17 /// <p>The idempotency identifier associated with this request. If you want to repeat the same operation in an idempotent manner then you must include this value in the <code>clientToken</code> request parameter of that later call. All other parameters must also have the same values that you used in the first call.</p>
18 pub fn client_token(&self) -> ::std::option::Option<&str> {
19 self.client_token.as_deref()
20 }
21}
22impl ::aws_types::request_id::RequestId for CreatePermissionOutput {
23 fn request_id(&self) -> Option<&str> {
24 self._request_id.as_deref()
25 }
26}
27impl CreatePermissionOutput {
28 /// Creates a new builder-style object to manufacture [`CreatePermissionOutput`](crate::operation::create_permission::CreatePermissionOutput).
29 pub fn builder() -> crate::operation::create_permission::builders::CreatePermissionOutputBuilder {
30 crate::operation::create_permission::builders::CreatePermissionOutputBuilder::default()
31 }
32}
33
34/// A builder for [`CreatePermissionOutput`](crate::operation::create_permission::CreatePermissionOutput).
35#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
36#[non_exhaustive]
37pub struct CreatePermissionOutputBuilder {
38 pub(crate) permission: ::std::option::Option<crate::types::ResourceSharePermissionSummary>,
39 pub(crate) client_token: ::std::option::Option<::std::string::String>,
40 _request_id: Option<String>,
41}
42impl CreatePermissionOutputBuilder {
43 /// <p>A structure with information about this customer managed permission.</p>
44 pub fn permission(mut self, input: crate::types::ResourceSharePermissionSummary) -> Self {
45 self.permission = ::std::option::Option::Some(input);
46 self
47 }
48 /// <p>A structure with information about this customer managed permission.</p>
49 pub fn set_permission(mut self, input: ::std::option::Option<crate::types::ResourceSharePermissionSummary>) -> Self {
50 self.permission = input;
51 self
52 }
53 /// <p>A structure with information about this customer managed permission.</p>
54 pub fn get_permission(&self) -> &::std::option::Option<crate::types::ResourceSharePermissionSummary> {
55 &self.permission
56 }
57 /// <p>The idempotency identifier associated with this request. If you want to repeat the same operation in an idempotent manner then you must include this value in the <code>clientToken</code> request parameter of that later call. All other parameters must also have the same values that you used in the first call.</p>
58 pub fn client_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
59 self.client_token = ::std::option::Option::Some(input.into());
60 self
61 }
62 /// <p>The idempotency identifier associated with this request. If you want to repeat the same operation in an idempotent manner then you must include this value in the <code>clientToken</code> request parameter of that later call. All other parameters must also have the same values that you used in the first call.</p>
63 pub fn set_client_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
64 self.client_token = input;
65 self
66 }
67 /// <p>The idempotency identifier associated with this request. If you want to repeat the same operation in an idempotent manner then you must include this value in the <code>clientToken</code> request parameter of that later call. All other parameters must also have the same values that you used in the first call.</p>
68 pub fn get_client_token(&self) -> &::std::option::Option<::std::string::String> {
69 &self.client_token
70 }
71 pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
72 self._request_id = Some(request_id.into());
73 self
74 }
75
76 pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
77 self._request_id = request_id;
78 self
79 }
80 /// Consumes the builder and constructs a [`CreatePermissionOutput`](crate::operation::create_permission::CreatePermissionOutput).
81 pub fn build(self) -> crate::operation::create_permission::CreatePermissionOutput {
82 crate::operation::create_permission::CreatePermissionOutput {
83 permission: self.permission,
84 client_token: self.client_token,
85 _request_id: self._request_id,
86 }
87 }
88}