Class EvaluationResult
- All Implemented Interfaces:
Serializable,SdkPojo,ToCopyableBuilder<EvaluationResult.Builder,EvaluationResult>
Contains the results of a simulation.
This data type is used by the return parameter of SimulateCustomPolicy and
SimulatePrincipalPolicy .
- See Also:
-
Nested Class Summary
Nested Classes -
Method Summary
Modifier and TypeMethodDescriptionstatic EvaluationResult.Builderbuilder()final booleanfinal booleanequalsBySdkFields(Object obj) Indicates whether some other object is "equal to" this one by SDK fields.final StringThe name of the API operation tested on the indicated resource.The result of the simulation.final StringThe result of the simulation.Additional details about the results of the cross-account evaluation decision.Additional details about the results of the cross-account evaluation decision.final StringThe ARN of the resource that the indicated API operation was tested on.final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz) final booleanFor responses, this returns true if the service returned a value for the EvalDecisionDetails property.final inthashCode()final booleanFor responses, this returns true if the service returned a value for the MatchedStatements property.final booleanFor responses, this returns true if the service returned a value for the MissingContextValues property.final booleanFor responses, this returns true if the service returned a value for the ResourceSpecificResults property.A list of the statements in the input policies that determine the result for this scenario.A list of context keys that are required by the included input policies but that were not provided by one of the input parameters.A structure that details how Organizations and its service control policies affect the results of the simulation.Contains information about the effect that a permissions boundary has on a policy simulation when the boundary is applied to an IAM entity.final List<ResourceSpecificResult> The individual results of the simulation of the API operation specified in EvalActionName on each resource.static Class<? extends EvaluationResult.Builder> Take this object and create a builder that contains all of the current property values of this object.final StringtoString()Returns a string representation of this object.Methods inherited from interface software.amazon.awssdk.utils.builder.ToCopyableBuilder
copy
-
Method Details
-
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
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
The result of the simulation.
If the service returns an enum value that is not available in the current SDK version,
evalDecisionwill returnPolicyEvaluationDecisionType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available fromevalDecisionAsString().- Returns:
- The result of the simulation.
- See Also:
-
evalDecisionAsString
The result of the simulation.
If the service returns an enum value that is not available in the current SDK version,
evalDecisionwill returnPolicyEvaluationDecisionType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available fromevalDecisionAsString().- Returns:
- The result of the simulation.
- See Also:
-
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
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
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
ResourceArnsparameter blank. If you include a list of resources, then any missing context values are instead included under theResourceSpecificResultssection. 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
ResourceArnsparameter blank. If you include a list of resources, then any missing context values are instead included under theResourceSpecificResultssection. To discover the context keys used by a set of policies, you can call GetContextKeysForCustomPolicy or GetContextKeysForPrincipalPolicy.
-
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
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
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
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
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
Description copied from interface:ToCopyableBuilderTake this object and create a builder that contains all of the current property values of this object.- Specified by:
toBuilderin interfaceToCopyableBuilder<EvaluationResult.Builder,EvaluationResult> - Returns:
- a builder for type T
-
builder
-
serializableBuilderClass
-
hashCode
-
equals
-
equalsBySdkFields
Description copied from interface:SdkPojoIndicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in anSdkPojoclass, and is generated based on a service model.If an
SdkPojoclass does not have any inherited fields,equalsBySdkFieldsandequalsare essentially the same.- Specified by:
equalsBySdkFieldsin interfaceSdkPojo- Parameters:
obj- the object to be compared with- Returns:
- true if the other object equals to this object by sdk fields, false otherwise.
-
toString
-
getValueForField
-
sdkFields
-