Skip to main content

aws_sdk_ssoadmin/operation/create_instance_access_control_attribute_configuration/
_create_instance_access_control_attribute_configuration_input.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 CreateInstanceAccessControlAttributeConfigurationInput {
6    /// <p>The ARN of the IAM Identity Center instance under which the operation will be executed.</p>
7    pub instance_arn: ::std::option::Option<::std::string::String>,
8    /// <p>Specifies the IAM Identity Center identity store attributes to add to your ABAC configuration. When using an external identity provider as an identity source, you can pass attributes through the SAML assertion. Doing so provides an alternative to configuring attributes from the IAM Identity Center identity store. If a SAML assertion passes any of these attributes, IAM Identity Center will replace the attribute value with the value from the IAM Identity Center identity store.</p>
9    pub instance_access_control_attribute_configuration: ::std::option::Option<crate::types::InstanceAccessControlAttributeConfiguration>,
10}
11impl CreateInstanceAccessControlAttributeConfigurationInput {
12    /// <p>The ARN of the IAM Identity Center instance under which the operation will be executed.</p>
13    pub fn instance_arn(&self) -> ::std::option::Option<&str> {
14        self.instance_arn.as_deref()
15    }
16    /// <p>Specifies the IAM Identity Center identity store attributes to add to your ABAC configuration. When using an external identity provider as an identity source, you can pass attributes through the SAML assertion. Doing so provides an alternative to configuring attributes from the IAM Identity Center identity store. If a SAML assertion passes any of these attributes, IAM Identity Center will replace the attribute value with the value from the IAM Identity Center identity store.</p>
17    pub fn instance_access_control_attribute_configuration(
18        &self,
19    ) -> ::std::option::Option<&crate::types::InstanceAccessControlAttributeConfiguration> {
20        self.instance_access_control_attribute_configuration.as_ref()
21    }
22}
23impl CreateInstanceAccessControlAttributeConfigurationInput {
24    /// Creates a new builder-style object to manufacture [`CreateInstanceAccessControlAttributeConfigurationInput`](crate::operation::create_instance_access_control_attribute_configuration::CreateInstanceAccessControlAttributeConfigurationInput).
25    pub fn builder() -> crate::operation::create_instance_access_control_attribute_configuration::builders::CreateInstanceAccessControlAttributeConfigurationInputBuilder{
26        crate::operation::create_instance_access_control_attribute_configuration::builders::CreateInstanceAccessControlAttributeConfigurationInputBuilder::default()
27    }
28}
29
30/// A builder for [`CreateInstanceAccessControlAttributeConfigurationInput`](crate::operation::create_instance_access_control_attribute_configuration::CreateInstanceAccessControlAttributeConfigurationInput).
31#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
32#[non_exhaustive]
33pub struct CreateInstanceAccessControlAttributeConfigurationInputBuilder {
34    pub(crate) instance_arn: ::std::option::Option<::std::string::String>,
35    pub(crate) instance_access_control_attribute_configuration: ::std::option::Option<crate::types::InstanceAccessControlAttributeConfiguration>,
36}
37impl CreateInstanceAccessControlAttributeConfigurationInputBuilder {
38    /// <p>The ARN of the IAM Identity Center instance under which the operation will be executed.</p>
39    /// This field is required.
40    pub fn instance_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
41        self.instance_arn = ::std::option::Option::Some(input.into());
42        self
43    }
44    /// <p>The ARN of the IAM Identity Center instance under which the operation will be executed.</p>
45    pub fn set_instance_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
46        self.instance_arn = input;
47        self
48    }
49    /// <p>The ARN of the IAM Identity Center instance under which the operation will be executed.</p>
50    pub fn get_instance_arn(&self) -> &::std::option::Option<::std::string::String> {
51        &self.instance_arn
52    }
53    /// <p>Specifies the IAM Identity Center identity store attributes to add to your ABAC configuration. When using an external identity provider as an identity source, you can pass attributes through the SAML assertion. Doing so provides an alternative to configuring attributes from the IAM Identity Center identity store. If a SAML assertion passes any of these attributes, IAM Identity Center will replace the attribute value with the value from the IAM Identity Center identity store.</p>
54    /// This field is required.
55    pub fn instance_access_control_attribute_configuration(mut self, input: crate::types::InstanceAccessControlAttributeConfiguration) -> Self {
56        self.instance_access_control_attribute_configuration = ::std::option::Option::Some(input);
57        self
58    }
59    /// <p>Specifies the IAM Identity Center identity store attributes to add to your ABAC configuration. When using an external identity provider as an identity source, you can pass attributes through the SAML assertion. Doing so provides an alternative to configuring attributes from the IAM Identity Center identity store. If a SAML assertion passes any of these attributes, IAM Identity Center will replace the attribute value with the value from the IAM Identity Center identity store.</p>
60    pub fn set_instance_access_control_attribute_configuration(
61        mut self,
62        input: ::std::option::Option<crate::types::InstanceAccessControlAttributeConfiguration>,
63    ) -> Self {
64        self.instance_access_control_attribute_configuration = input;
65        self
66    }
67    /// <p>Specifies the IAM Identity Center identity store attributes to add to your ABAC configuration. When using an external identity provider as an identity source, you can pass attributes through the SAML assertion. Doing so provides an alternative to configuring attributes from the IAM Identity Center identity store. If a SAML assertion passes any of these attributes, IAM Identity Center will replace the attribute value with the value from the IAM Identity Center identity store.</p>
68    pub fn get_instance_access_control_attribute_configuration(
69        &self,
70    ) -> &::std::option::Option<crate::types::InstanceAccessControlAttributeConfiguration> {
71        &self.instance_access_control_attribute_configuration
72    }
73    /// Consumes the builder and constructs a [`CreateInstanceAccessControlAttributeConfigurationInput`](crate::operation::create_instance_access_control_attribute_configuration::CreateInstanceAccessControlAttributeConfigurationInput).
74    pub fn build(
75        self,
76    ) -> ::std::result::Result<
77        crate::operation::create_instance_access_control_attribute_configuration::CreateInstanceAccessControlAttributeConfigurationInput,
78        ::aws_smithy_types::error::operation::BuildError,
79    > {
80        ::std::result::Result::Ok(
81            crate::operation::create_instance_access_control_attribute_configuration::CreateInstanceAccessControlAttributeConfigurationInput {
82                instance_arn: self.instance_arn,
83                instance_access_control_attribute_configuration: self.instance_access_control_attribute_configuration,
84            },
85        )
86    }
87}