Class EvaluationResult
- java.lang.Object
-
- software.amazon.awssdk.services.iam.model.EvaluationResult
-
- All Implemented Interfaces:
Serializable
,SdkPojo
,ToCopyableBuilder<EvaluationResult.Builder,EvaluationResult>
@Generated("software.amazon.awssdk:codegen") public final class EvaluationResult extends Object implements SdkPojo, Serializable, ToCopyableBuilder<EvaluationResult.Builder,EvaluationResult>
Contains the results of a simulation.
This data type is used by the return parameter of
SimulateCustomPolicy
andSimulatePrincipalPolicy
.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
EvaluationResult.Builder
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static EvaluationResult.Builder
builder()
boolean
equals(Object obj)
boolean
equalsBySdkFields(Object obj)
String
evalActionName()
The name of the API operation tested on the indicated resource.PolicyEvaluationDecisionType
evalDecision()
The result of the simulation.String
evalDecisionAsString()
The result of the simulation.Map<String,PolicyEvaluationDecisionType>
evalDecisionDetails()
Additional details about the results of the cross-account evaluation decision.Map<String,String>
evalDecisionDetailsAsStrings()
Additional details about the results of the cross-account evaluation decision.String
evalResourceName()
The ARN of the resource that the indicated API operation was tested on.<T> Optional<T>
getValueForField(String fieldName, Class<T> clazz)
boolean
hasEvalDecisionDetails()
For responses, this returns true if the service returned a value for the EvalDecisionDetails property.int
hashCode()
boolean
hasMatchedStatements()
For responses, this returns true if the service returned a value for the MatchedStatements property.boolean
hasMissingContextValues()
For responses, this returns true if the service returned a value for the MissingContextValues property.boolean
hasResourceSpecificResults()
For responses, this returns true if the service returned a value for the ResourceSpecificResults property.List<Statement>
matchedStatements()
A list of the statements in the input policies that determine the result for this scenario.List<String>
missingContextValues()
A list of context keys that are required by the included input policies but that were not provided by one of the input parameters.OrganizationsDecisionDetail
organizationsDecisionDetail()
A structure that details how Organizations and its service control policies affect the results of the simulation.PermissionsBoundaryDecisionDetail
permissionsBoundaryDecisionDetail()
Contains information about the effect that a permissions boundary has on a policy simulation when the boundary is applied to an IAM entity.List<ResourceSpecificResult>
resourceSpecificResults()
The individual results of the simulation of the API operation specified in EvalActionName on each resource.List<SdkField<?>>
sdkFields()
static Class<? extends EvaluationResult.Builder>
serializableBuilderClass()
EvaluationResult.Builder
toBuilder()
String
toString()
Returns a string representation of this object.-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface software.amazon.awssdk.utils.builder.ToCopyableBuilder
copy
-
-
-
-
Method Detail
-
evalActionName
public final String evalActionName()
The name of the API operation tested on the indicated resource.
- Returns:
- The name of the API operation tested on the indicated resource.
-
evalResourceName
public final String evalResourceName()
The ARN of the resource that the indicated API operation was tested on.
- Returns:
- The ARN of the resource that the indicated API operation was tested on.
-
evalDecision
public final PolicyEvaluationDecisionType evalDecision()
The result of the simulation.
If the service returns an enum value that is not available in the current SDK version,
evalDecision
will returnPolicyEvaluationDecisionType.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromevalDecisionAsString()
.- Returns:
- The result of the simulation.
- See Also:
PolicyEvaluationDecisionType
-
evalDecisionAsString
public final String evalDecisionAsString()
The result of the simulation.
If the service returns an enum value that is not available in the current SDK version,
evalDecision
will returnPolicyEvaluationDecisionType.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromevalDecisionAsString()
.- Returns:
- The result of the simulation.
- See Also:
PolicyEvaluationDecisionType
-
hasMatchedStatements
public final boolean hasMatchedStatements()
For responses, this returns true if the service returned a value for the MatchedStatements property. This DOES NOT check that the value is non-empty (for which, you should check theisEmpty()
method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
-
matchedStatements
public final List<Statement> matchedStatements()
A list of the statements in the input policies that determine the result for this scenario. Remember that even if multiple statements allow the operation on the resource, if only one statement denies that operation, then the explicit deny overrides any allow. In addition, the deny statement is the only entry included in the result.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the
hasMatchedStatements()
method.- Returns:
- A list of the statements in the input policies that determine the result for this scenario. Remember that even if multiple statements allow the operation on the resource, if only one statement denies that operation, then the explicit deny overrides any allow. In addition, the deny statement is the only entry included in the result.
-
hasMissingContextValues
public final boolean hasMissingContextValues()
For responses, this returns true if the service returned a value for the MissingContextValues property. This DOES NOT check that the value is non-empty (for which, you should check theisEmpty()
method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
-
missingContextValues
public final List<String> missingContextValues()
A list of context keys that are required by the included input policies but that were not provided by one of the input parameters. This list is used when the resource in a simulation is "*", either explicitly, or when the
ResourceArns
parameter blank. If you include a list of resources, then any missing context values are instead included under theResourceSpecificResults
section. To discover the context keys used by a set of policies, you can call GetContextKeysForCustomPolicy or GetContextKeysForPrincipalPolicy.Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the
hasMissingContextValues()
method.- Returns:
- A list of context keys that are required by the included input policies but that were not provided by one
of the input parameters. This list is used when the resource in a simulation is "*", either explicitly,
or when the
ResourceArns
parameter blank. If you include a list of resources, then any missing context values are instead included under theResourceSpecificResults
section. To discover the context keys used by a set of policies, you can call GetContextKeysForCustomPolicy or GetContextKeysForPrincipalPolicy.
-
organizationsDecisionDetail
public final OrganizationsDecisionDetail organizationsDecisionDetail()
A structure that details how Organizations and its service control policies affect the results of the simulation. Only applies if the simulated user's account is part of an organization.
- Returns:
- A structure that details how Organizations and its service control policies affect the results of the simulation. Only applies if the simulated user's account is part of an organization.
-
permissionsBoundaryDecisionDetail
public final PermissionsBoundaryDecisionDetail permissionsBoundaryDecisionDetail()
Contains information about the effect that a permissions boundary has on a policy simulation when the boundary is applied to an IAM entity.
- Returns:
- Contains information about the effect that a permissions boundary has on a policy simulation when the boundary is applied to an IAM entity.
-
evalDecisionDetails
public final Map<String,PolicyEvaluationDecisionType> evalDecisionDetails()
Additional details about the results of the cross-account evaluation decision. This parameter is populated for only cross-account simulations. It contains a brief summary of how each policy type contributes to the final evaluation decision.
If the simulation evaluates policies within the same account and includes a resource ARN, then the parameter is present but the response is empty. If the simulation evaluates policies within the same account and specifies all resources (
*
), then the parameter is not returned.When you make a cross-account request, Amazon Web Services evaluates the request in the trusting account and the trusted account. The request is allowed only if both evaluations return
true
. For more information about how policies are evaluated, see Evaluating policies within a single account.If an Organizations SCP included in the evaluation denies access, the simulation ends. In this case, policy evaluation does not proceed any further and this parameter is not returned.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the
hasEvalDecisionDetails()
method.- Returns:
- Additional details about the results of the cross-account evaluation decision. This parameter is
populated for only cross-account simulations. It contains a brief summary of how each policy type
contributes to the final evaluation decision.
If the simulation evaluates policies within the same account and includes a resource ARN, then the parameter is present but the response is empty. If the simulation evaluates policies within the same account and specifies all resources (
*
), then the parameter is not returned.When you make a cross-account request, Amazon Web Services evaluates the request in the trusting account and the trusted account. The request is allowed only if both evaluations return
true
. For more information about how policies are evaluated, see Evaluating policies within a single account.If an Organizations SCP included in the evaluation denies access, the simulation ends. In this case, policy evaluation does not proceed any further and this parameter is not returned.
-
hasEvalDecisionDetails
public final boolean hasEvalDecisionDetails()
For responses, this returns true if the service returned a value for the EvalDecisionDetails property. This DOES NOT check that the value is non-empty (for which, you should check theisEmpty()
method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
-
evalDecisionDetailsAsStrings
public final Map<String,String> evalDecisionDetailsAsStrings()
Additional details about the results of the cross-account evaluation decision. This parameter is populated for only cross-account simulations. It contains a brief summary of how each policy type contributes to the final evaluation decision.
If the simulation evaluates policies within the same account and includes a resource ARN, then the parameter is present but the response is empty. If the simulation evaluates policies within the same account and specifies all resources (
*
), then the parameter is not returned.When you make a cross-account request, Amazon Web Services evaluates the request in the trusting account and the trusted account. The request is allowed only if both evaluations return
true
. For more information about how policies are evaluated, see Evaluating policies within a single account.If an Organizations SCP included in the evaluation denies access, the simulation ends. In this case, policy evaluation does not proceed any further and this parameter is not returned.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the
hasEvalDecisionDetails()
method.- Returns:
- Additional details about the results of the cross-account evaluation decision. This parameter is
populated for only cross-account simulations. It contains a brief summary of how each policy type
contributes to the final evaluation decision.
If the simulation evaluates policies within the same account and includes a resource ARN, then the parameter is present but the response is empty. If the simulation evaluates policies within the same account and specifies all resources (
*
), then the parameter is not returned.When you make a cross-account request, Amazon Web Services evaluates the request in the trusting account and the trusted account. The request is allowed only if both evaluations return
true
. For more information about how policies are evaluated, see Evaluating policies within a single account.If an Organizations SCP included in the evaluation denies access, the simulation ends. In this case, policy evaluation does not proceed any further and this parameter is not returned.
-
hasResourceSpecificResults
public final boolean hasResourceSpecificResults()
For responses, this returns true if the service returned a value for the ResourceSpecificResults property. This DOES NOT check that the value is non-empty (for which, you should check theisEmpty()
method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
-
resourceSpecificResults
public final List<ResourceSpecificResult> resourceSpecificResults()
The individual results of the simulation of the API operation specified in EvalActionName on each resource.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the
hasResourceSpecificResults()
method.- Returns:
- The individual results of the simulation of the API operation specified in EvalActionName on each resource.
-
toBuilder
public EvaluationResult.Builder toBuilder()
- Specified by:
toBuilder
in interfaceToCopyableBuilder<EvaluationResult.Builder,EvaluationResult>
-
builder
public static EvaluationResult.Builder builder()
-
serializableBuilderClass
public static Class<? extends EvaluationResult.Builder> serializableBuilderClass()
-
equalsBySdkFields
public final boolean equalsBySdkFields(Object obj)
- Specified by:
equalsBySdkFields
in interfaceSdkPojo
-
toString
public final String toString()
Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
-
-