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
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
/// Returned only when the named policy exists. A missing event bus or a missing named policy fails with ResourceNotFoundException rather than returning an empty or null policy document. Every member is therefore always present on a successful response.
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct GetResourcePolicyOutput {
/// The Amazon Resource Name (ARN) that uniquely identifies an event bus.
pub resource_arn: ::std::string::String,
/// A resource policy document, as a JSON string. The "default" policy can be up to 20 KB (20,480 bytes of UTF-8) by default. This quota is adjustable in Service Quotas. A "default" policy that exceeds the quota is rejected with PolicyLengthExceededException. No policy document can exceed 389,120 bytes of UTF-8, regardless of the quota.
pub policy_document: ::std::string::String,
/// Name of a policy attached to a resource. Valid values: "default" (the customer-managed policy) and "AWS_RAM" (managed exclusively by AWS Resource Access Manager). Any other value is rejected.
pub policy_name: ::std::string::String,
/// Revision ID of a resource policy. A new revision ID is generated on every successful write.
pub revision_id: ::std::string::String,
_request_id: Option<String>,
}
impl GetResourcePolicyOutput {
/// The Amazon Resource Name (ARN) that uniquely identifies an event bus.
pub fn resource_arn(&self) -> &str {
use std::ops::Deref;
self.resource_arn.deref()
}
/// A resource policy document, as a JSON string. The "default" policy can be up to 20 KB (20,480 bytes of UTF-8) by default. This quota is adjustable in Service Quotas. A "default" policy that exceeds the quota is rejected with PolicyLengthExceededException. No policy document can exceed 389,120 bytes of UTF-8, regardless of the quota.
pub fn policy_document(&self) -> &str {
use std::ops::Deref;
self.policy_document.deref()
}
/// Name of a policy attached to a resource. Valid values: "default" (the customer-managed policy) and "AWS_RAM" (managed exclusively by AWS Resource Access Manager). Any other value is rejected.
pub fn policy_name(&self) -> &str {
use std::ops::Deref;
self.policy_name.deref()
}
/// Revision ID of a resource policy. A new revision ID is generated on every successful write.
pub fn revision_id(&self) -> &str {
use std::ops::Deref;
self.revision_id.deref()
}
}
impl ::aws_types::request_id::RequestId for GetResourcePolicyOutput {
fn request_id(&self) -> Option<&str> {
self._request_id.as_deref()
}
}
impl GetResourcePolicyOutput {
/// Creates a new builder-style object to manufacture [`GetResourcePolicyOutput`](crate::operation::get_resource_policy::GetResourcePolicyOutput).
pub fn builder() -> crate::operation::get_resource_policy::builders::GetResourcePolicyOutputBuilder {
crate::operation::get_resource_policy::builders::GetResourcePolicyOutputBuilder::default()
}
}
/// A builder for [`GetResourcePolicyOutput`](crate::operation::get_resource_policy::GetResourcePolicyOutput).
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
#[non_exhaustive]
pub struct GetResourcePolicyOutputBuilder {
pub(crate) resource_arn: ::std::option::Option<::std::string::String>,
pub(crate) policy_document: ::std::option::Option<::std::string::String>,
pub(crate) policy_name: ::std::option::Option<::std::string::String>,
pub(crate) revision_id: ::std::option::Option<::std::string::String>,
_request_id: Option<String>,
}
impl GetResourcePolicyOutputBuilder {
/// The Amazon Resource Name (ARN) that uniquely identifies an event bus.
/// This field is required.
pub fn resource_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.resource_arn = ::std::option::Option::Some(input.into());
self
}
/// The Amazon Resource Name (ARN) that uniquely identifies an event bus.
pub fn set_resource_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.resource_arn = input;
self
}
/// The Amazon Resource Name (ARN) that uniquely identifies an event bus.
pub fn get_resource_arn(&self) -> &::std::option::Option<::std::string::String> {
&self.resource_arn
}
/// A resource policy document, as a JSON string. The "default" policy can be up to 20 KB (20,480 bytes of UTF-8) by default. This quota is adjustable in Service Quotas. A "default" policy that exceeds the quota is rejected with PolicyLengthExceededException. No policy document can exceed 389,120 bytes of UTF-8, regardless of the quota.
/// 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
}
/// A resource policy document, as a JSON string. The "default" policy can be up to 20 KB (20,480 bytes of UTF-8) by default. This quota is adjustable in Service Quotas. A "default" policy that exceeds the quota is rejected with PolicyLengthExceededException. No policy document can exceed 389,120 bytes of UTF-8, regardless of the quota.
pub fn set_policy_document(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.policy_document = input;
self
}
/// A resource policy document, as a JSON string. The "default" policy can be up to 20 KB (20,480 bytes of UTF-8) by default. This quota is adjustable in Service Quotas. A "default" policy that exceeds the quota is rejected with PolicyLengthExceededException. No policy document can exceed 389,120 bytes of UTF-8, regardless of the quota.
pub fn get_policy_document(&self) -> &::std::option::Option<::std::string::String> {
&self.policy_document
}
/// Name of a policy attached to a resource. Valid values: "default" (the customer-managed policy) and "AWS_RAM" (managed exclusively by AWS Resource Access Manager). Any other value is rejected.
/// 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
}
/// Name of a policy attached to a resource. Valid values: "default" (the customer-managed policy) and "AWS_RAM" (managed exclusively by AWS Resource Access Manager). Any other value is rejected.
pub fn set_policy_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.policy_name = input;
self
}
/// Name of a policy attached to a resource. Valid values: "default" (the customer-managed policy) and "AWS_RAM" (managed exclusively by AWS Resource Access Manager). Any other value is rejected.
pub fn get_policy_name(&self) -> &::std::option::Option<::std::string::String> {
&self.policy_name
}
/// Revision ID of a resource policy. A new revision ID is generated on every successful write.
/// This field is required.
pub fn revision_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.revision_id = ::std::option::Option::Some(input.into());
self
}
/// Revision ID of a resource policy. A new revision ID is generated on every successful write.
pub fn set_revision_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.revision_id = input;
self
}
/// Revision ID of a resource policy. A new revision ID is generated on every successful write.
pub fn get_revision_id(&self) -> &::std::option::Option<::std::string::String> {
&self.revision_id
}
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 [`GetResourcePolicyOutput`](crate::operation::get_resource_policy::GetResourcePolicyOutput).
/// This method will fail if any of the following fields are not set:
/// - [`resource_arn`](crate::operation::get_resource_policy::builders::GetResourcePolicyOutputBuilder::resource_arn)
/// - [`policy_document`](crate::operation::get_resource_policy::builders::GetResourcePolicyOutputBuilder::policy_document)
/// - [`policy_name`](crate::operation::get_resource_policy::builders::GetResourcePolicyOutputBuilder::policy_name)
/// - [`revision_id`](crate::operation::get_resource_policy::builders::GetResourcePolicyOutputBuilder::revision_id)
pub fn build(
self,
) -> ::std::result::Result<crate::operation::get_resource_policy::GetResourcePolicyOutput, ::aws_smithy_types::error::operation::BuildError> {
::std::result::Result::Ok(crate::operation::get_resource_policy::GetResourcePolicyOutput {
resource_arn: self.resource_arn.ok_or_else(|| {
::aws_smithy_types::error::operation::BuildError::missing_field(
"resource_arn",
"resource_arn was not specified but it is required when building GetResourcePolicyOutput",
)
})?,
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 GetResourcePolicyOutput",
)
})?,
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 GetResourcePolicyOutput",
)
})?,
revision_id: self.revision_id.ok_or_else(|| {
::aws_smithy_types::error::operation::BuildError::missing_field(
"revision_id",
"revision_id was not specified but it is required when building GetResourcePolicyOutput",
)
})?,
_request_id: self._request_id,
})
}
}