aws_sdk_verifiedpermissions/client/is_authorized.rs
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`IsAuthorized`](crate::operation::is_authorized::builders::IsAuthorizedFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`policy_store_id(impl Into<String>)`](crate::operation::is_authorized::builders::IsAuthorizedFluentBuilder::policy_store_id) / [`set_policy_store_id(Option<String>)`](crate::operation::is_authorized::builders::IsAuthorizedFluentBuilder::set_policy_store_id):<br>required: **true**<br><p>Specifies the ID of the policy store. Policies in this policy store will be used to make an authorization decision for the input.</p><br>
/// - [`principal(EntityIdentifier)`](crate::operation::is_authorized::builders::IsAuthorizedFluentBuilder::principal) / [`set_principal(Option<EntityIdentifier>)`](crate::operation::is_authorized::builders::IsAuthorizedFluentBuilder::set_principal):<br>required: **false**<br><p>Specifies the principal for which the authorization decision is to be made.</p><br>
/// - [`action(ActionIdentifier)`](crate::operation::is_authorized::builders::IsAuthorizedFluentBuilder::action) / [`set_action(Option<ActionIdentifier>)`](crate::operation::is_authorized::builders::IsAuthorizedFluentBuilder::set_action):<br>required: **false**<br><p>Specifies the requested action to be authorized. For example, is the principal authorized to perform this action on the resource?</p><br>
/// - [`resource(EntityIdentifier)`](crate::operation::is_authorized::builders::IsAuthorizedFluentBuilder::resource) / [`set_resource(Option<EntityIdentifier>)`](crate::operation::is_authorized::builders::IsAuthorizedFluentBuilder::set_resource):<br>required: **false**<br><p>Specifies the resource for which the authorization decision is to be made.</p><br>
/// - [`context(ContextDefinition)`](crate::operation::is_authorized::builders::IsAuthorizedFluentBuilder::context) / [`set_context(Option<ContextDefinition>)`](crate::operation::is_authorized::builders::IsAuthorizedFluentBuilder::set_context):<br>required: **false**<br><p>Specifies additional context that can be used to make more granular authorization decisions.</p><br>
/// - [`entities(EntitiesDefinition)`](crate::operation::is_authorized::builders::IsAuthorizedFluentBuilder::entities) / [`set_entities(Option<EntitiesDefinition>)`](crate::operation::is_authorized::builders::IsAuthorizedFluentBuilder::set_entities):<br>required: **false**<br><p>Specifies the list of resources and principals and their associated attributes that Verified Permissions can examine when evaluating the policies.</p><note> <p>You can include only principal and resource entities in this parameter; you can't include actions. You must specify actions in the schema.</p> </note><br>
/// - On success, responds with [`IsAuthorizedOutput`](crate::operation::is_authorized::IsAuthorizedOutput) with field(s):
/// - [`decision(Decision)`](crate::operation::is_authorized::IsAuthorizedOutput::decision): <p>An authorization decision that indicates if the authorization request should be allowed or denied.</p>
/// - [`determining_policies(Vec::<DeterminingPolicyItem>)`](crate::operation::is_authorized::IsAuthorizedOutput::determining_policies): <p>The list of determining policies used to make the authorization decision. For example, if there are two matching policies, where one is a forbid and the other is a permit, then the forbid policy will be the determining policy. In the case of multiple matching permit policies then there would be multiple determining policies. In the case that no policies match, and hence the response is DENY, there would be no determining policies.</p>
/// - [`errors(Vec::<EvaluationErrorItem>)`](crate::operation::is_authorized::IsAuthorizedOutput::errors): <p>Errors that occurred while making an authorization decision, for example, a policy references an Entity or entity Attribute that does not exist in the slice.</p>
/// - On failure, responds with [`SdkError<IsAuthorizedError>`](crate::operation::is_authorized::IsAuthorizedError)
pub fn is_authorized(&self) -> crate::operation::is_authorized::builders::IsAuthorizedFluentBuilder {
crate::operation::is_authorized::builders::IsAuthorizedFluentBuilder::new(self.handle.clone())
}
}