aws_sdk_codeguruprofiler/operation/remove_permission/
_remove_permission_input.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2
3/// <p>The structure representing the <code>removePermissionRequest</code>.</p>
4#[non_exhaustive]
5#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
6pub struct RemovePermissionInput {
7    /// <p>The name of the profiling group.</p>
8    pub profiling_group_name: ::std::option::Option<::std::string::String>,
9    /// <p>Specifies an action group that contains the permissions to remove from a profiling group's resource-based policy. One action group is supported, <code>agentPermissions</code>, which grants <code>ConfigureAgent</code> and <code>PostAgentProfile</code> permissions.</p>
10    pub action_group: ::std::option::Option<crate::types::ActionGroup>,
11    /// <p>A universally unique identifier (UUID) for the revision of the resource-based policy from which you want to remove permissions.</p>
12    pub revision_id: ::std::option::Option<::std::string::String>,
13}
14impl RemovePermissionInput {
15    /// <p>The name of the profiling group.</p>
16    pub fn profiling_group_name(&self) -> ::std::option::Option<&str> {
17        self.profiling_group_name.as_deref()
18    }
19    /// <p>Specifies an action group that contains the permissions to remove from a profiling group's resource-based policy. One action group is supported, <code>agentPermissions</code>, which grants <code>ConfigureAgent</code> and <code>PostAgentProfile</code> permissions.</p>
20    pub fn action_group(&self) -> ::std::option::Option<&crate::types::ActionGroup> {
21        self.action_group.as_ref()
22    }
23    /// <p>A universally unique identifier (UUID) for the revision of the resource-based policy from which you want to remove permissions.</p>
24    pub fn revision_id(&self) -> ::std::option::Option<&str> {
25        self.revision_id.as_deref()
26    }
27}
28impl RemovePermissionInput {
29    /// Creates a new builder-style object to manufacture [`RemovePermissionInput`](crate::operation::remove_permission::RemovePermissionInput).
30    pub fn builder() -> crate::operation::remove_permission::builders::RemovePermissionInputBuilder {
31        crate::operation::remove_permission::builders::RemovePermissionInputBuilder::default()
32    }
33}
34
35/// A builder for [`RemovePermissionInput`](crate::operation::remove_permission::RemovePermissionInput).
36#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
37#[non_exhaustive]
38pub struct RemovePermissionInputBuilder {
39    pub(crate) profiling_group_name: ::std::option::Option<::std::string::String>,
40    pub(crate) action_group: ::std::option::Option<crate::types::ActionGroup>,
41    pub(crate) revision_id: ::std::option::Option<::std::string::String>,
42}
43impl RemovePermissionInputBuilder {
44    /// <p>The name of the profiling group.</p>
45    /// This field is required.
46    pub fn profiling_group_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
47        self.profiling_group_name = ::std::option::Option::Some(input.into());
48        self
49    }
50    /// <p>The name of the profiling group.</p>
51    pub fn set_profiling_group_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
52        self.profiling_group_name = input;
53        self
54    }
55    /// <p>The name of the profiling group.</p>
56    pub fn get_profiling_group_name(&self) -> &::std::option::Option<::std::string::String> {
57        &self.profiling_group_name
58    }
59    /// <p>Specifies an action group that contains the permissions to remove from a profiling group's resource-based policy. One action group is supported, <code>agentPermissions</code>, which grants <code>ConfigureAgent</code> and <code>PostAgentProfile</code> permissions.</p>
60    /// This field is required.
61    pub fn action_group(mut self, input: crate::types::ActionGroup) -> Self {
62        self.action_group = ::std::option::Option::Some(input);
63        self
64    }
65    /// <p>Specifies an action group that contains the permissions to remove from a profiling group's resource-based policy. One action group is supported, <code>agentPermissions</code>, which grants <code>ConfigureAgent</code> and <code>PostAgentProfile</code> permissions.</p>
66    pub fn set_action_group(mut self, input: ::std::option::Option<crate::types::ActionGroup>) -> Self {
67        self.action_group = input;
68        self
69    }
70    /// <p>Specifies an action group that contains the permissions to remove from a profiling group's resource-based policy. One action group is supported, <code>agentPermissions</code>, which grants <code>ConfigureAgent</code> and <code>PostAgentProfile</code> permissions.</p>
71    pub fn get_action_group(&self) -> &::std::option::Option<crate::types::ActionGroup> {
72        &self.action_group
73    }
74    /// <p>A universally unique identifier (UUID) for the revision of the resource-based policy from which you want to remove permissions.</p>
75    /// This field is required.
76    pub fn revision_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
77        self.revision_id = ::std::option::Option::Some(input.into());
78        self
79    }
80    /// <p>A universally unique identifier (UUID) for the revision of the resource-based policy from which you want to remove permissions.</p>
81    pub fn set_revision_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
82        self.revision_id = input;
83        self
84    }
85    /// <p>A universally unique identifier (UUID) for the revision of the resource-based policy from which you want to remove permissions.</p>
86    pub fn get_revision_id(&self) -> &::std::option::Option<::std::string::String> {
87        &self.revision_id
88    }
89    /// Consumes the builder and constructs a [`RemovePermissionInput`](crate::operation::remove_permission::RemovePermissionInput).
90    pub fn build(
91        self,
92    ) -> ::std::result::Result<crate::operation::remove_permission::RemovePermissionInput, ::aws_smithy_types::error::operation::BuildError> {
93        ::std::result::Result::Ok(crate::operation::remove_permission::RemovePermissionInput {
94            profiling_group_name: self.profiling_group_name,
95            action_group: self.action_group,
96            revision_id: self.revision_id,
97        })
98    }
99}