Class ContextDefinition
- All Implemented Interfaces:
Serializable
,SdkPojo
,ToCopyableBuilder<ContextDefinition.Builder,
ContextDefinition>
Contains additional details about the context of the request. Verified Permissions evaluates this information in an
authorization request as part of the when
and unless
clauses in a policy.
This data type is used as a request parameter for the IsAuthorized, BatchIsAuthorized , and IsAuthorizedWithToken operations.
If you're passing context as part of the request, exactly one instance of context
must be passed. If you
don't want to pass context, omit the context
parameter from your request rather than sending
context {}
.
Example: "context":{"contextMap":{"<KeyName1>":{"boolean":true},"<KeyName2>":{"long":1234}}}
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interface
static enum
-
Method Summary
Modifier and TypeMethodDescriptionstatic ContextDefinition.Builder
builder()
final String
A Cedar JSON string representation of the context needed to successfully evaluate an authorization request.final Map
<String, AttributeValue> An list of attributes that are needed to successfully evaluate an authorization request.final boolean
final boolean
equalsBySdkFields
(Object obj) Indicates whether some other object is "equal to" this one by SDK fields.static ContextDefinition
fromCedarJson
(String cedarJson) Create an instance of this class withcedarJson()
initialized to the given value.static ContextDefinition
fromContextMap
(Map<String, AttributeValue> contextMap) Create an instance of this class withcontextMap()
initialized to the given value.final <T> Optional
<T> getValueForField
(String fieldName, Class<T> clazz) final boolean
For responses, this returns true if the service returned a value for the ContextMap property.final int
hashCode()
static Class
<? extends ContextDefinition.Builder> Take this object and create a builder that contains all of the current property values of this object.final String
toString()
Returns a string representation of this object.type()
Retrieve an enum value representing which member of this object is populated.Methods inherited from interface software.amazon.awssdk.utils.builder.ToCopyableBuilder
copy
-
Method Details
-
hasContextMap
public final boolean hasContextMap()For responses, this returns true if the service returned a value for the ContextMap 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. -
contextMap
An list of attributes that are needed to successfully evaluate an authorization request. Each attribute in this array must include a map of a data type and its value.
Example:
"contextMap":{"<KeyName1>":{"boolean":true},"<KeyName2>":{"long":1234}}
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
hasContextMap()
method.- Returns:
- An list of attributes that are needed to successfully evaluate an authorization request. Each attribute
in this array must include a map of a data type and its value.
Example:
"contextMap":{"<KeyName1>":{"boolean":true},"<KeyName2>":{"long":1234}}
-
cedarJson
A Cedar JSON string representation of the context needed to successfully evaluate an authorization request.
Example:
{"cedarJson":"{\"<KeyName1>\": true, \"<KeyName2>\": 1234}" }
- Returns:
- A Cedar JSON string representation of the context needed to successfully evaluate an authorization
request.
Example:
{"cedarJson":"{\"<KeyName1>\": true, \"<KeyName2>\": 1234}" }
-
toBuilder
Description copied from interface:ToCopyableBuilder
Take this object and create a builder that contains all of the current property values of this object.- Specified by:
toBuilder
in interfaceToCopyableBuilder<ContextDefinition.Builder,
ContextDefinition> - Returns:
- a builder for type T
-
builder
-
serializableBuilderClass
-
hashCode
-
equals
-
equalsBySdkFields
Description copied from interface:SdkPojo
Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in anSdkPojo
class, and is generated based on a service model.If an
SdkPojo
class does not have any inherited fields,equalsBySdkFields
andequals
are essentially the same.- Specified by:
equalsBySdkFields
in 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
-
fromContextMap
Create an instance of this class withcontextMap()
initialized to the given value.An list of attributes that are needed to successfully evaluate an authorization request. Each attribute in this array must include a map of a data type and its value.
Example:
"contextMap":{"<KeyName1>":{"boolean":true},"<KeyName2>":{"long":1234}}
- Parameters:
contextMap
- An list of attributes that are needed to successfully evaluate an authorization request. Each attribute in this array must include a map of a data type and its value.Example:
"contextMap":{"<KeyName1>":{"boolean":true},"<KeyName2>":{"long":1234}}
-
fromCedarJson
Create an instance of this class withcedarJson()
initialized to the given value.A Cedar JSON string representation of the context needed to successfully evaluate an authorization request.
Example:
{"cedarJson":"{\"<KeyName1>\": true, \"<KeyName2>\": 1234}" }
- Parameters:
cedarJson
- A Cedar JSON string representation of the context needed to successfully evaluate an authorization request.Example:
{"cedarJson":"{\"<KeyName1>\": true, \"<KeyName2>\": 1234}" }
-
type
Retrieve an enum value representing which member of this object is populated. When this class is returned in a service response, this will beContextDefinition.Type.UNKNOWN_TO_SDK_VERSION
if the service returned a member that is only known to a newer SDK version. When this class is created directly in your code, this will beContextDefinition.Type.UNKNOWN_TO_SDK_VERSION
if zero members are set, andnull
if more than one member is set. -
sdkFields
-
sdkFieldNameToField
- Specified by:
sdkFieldNameToField
in interfaceSdkPojo
- Returns:
- The mapping between the field name and its corresponding field.
-