Class EntitiesDefinition
- All Implemented Interfaces:
Serializable
,SdkPojo
,ToCopyableBuilder<EntitiesDefinition.Builder,
EntitiesDefinition>
Contains the list of entities to be considered during an authorization request. This includes all principals, resources, and actions required to successfully evaluate the request.
This data type is used as a field in the response parameter for the IsAuthorized and IsAuthorizedWithToken operations.
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interface
static enum
-
Method Summary
Modifier and TypeMethodDescriptionstatic EntitiesDefinition.Builder
builder()
final String
A Cedar JSON string representation of the entities needed to successfully evaluate an authorization request.final List
<EntityItem> An array of entities 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 EntitiesDefinition
fromCedarJson
(String cedarJson) Create an instance of this class withcedarJson()
initialized to the given value.static EntitiesDefinition
fromEntityList
(List<EntityItem> entityList) Create an instance of this class withentityList()
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 EntityList property.final int
hashCode()
static Class
<? extends EntitiesDefinition.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
-
hasEntityList
public final boolean hasEntityList()For responses, this returns true if the service returned a value for the EntityList 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. -
entityList
An array of entities that are needed to successfully evaluate an authorization request. Each entity in this array must include an identifier for the entity, the attributes of the entity, and a list of any parent entities.
If you include multiple entities with the same
identifier
, only the last one is processed in the request.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
hasEntityList()
method.- Returns:
- An array of entities that are needed to successfully evaluate an authorization request. Each entity in
this array must include an identifier for the entity, the attributes of the entity, and a list of any
parent entities.
If you include multiple entities with the same
identifier
, only the last one is processed in the request.
-
cedarJson
A Cedar JSON string representation of the entities needed to successfully evaluate an authorization request.
Example:
{"cedarJson": "[{\"uid\":{\"type\":\"Photo\",\"id\":\"VacationPhoto94.jpg\"},\"attrs\":{\"accessLevel\":\"public\"},\"parents\":[]}]"}
- Returns:
- A Cedar JSON string representation of the entities needed to successfully evaluate an authorization
request.
Example:
{"cedarJson": "[{\"uid\":{\"type\":\"Photo\",\"id\":\"VacationPhoto94.jpg\"},\"attrs\":{\"accessLevel\":\"public\"},\"parents\":[]}]"}
-
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<EntitiesDefinition.Builder,
EntitiesDefinition> - 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
-
fromEntityList
Create an instance of this class withentityList()
initialized to the given value.An array of entities that are needed to successfully evaluate an authorization request. Each entity in this array must include an identifier for the entity, the attributes of the entity, and a list of any parent entities.
If you include multiple entities with the same
identifier
, only the last one is processed in the request.- Parameters:
entityList
- An array of entities that are needed to successfully evaluate an authorization request. Each entity in this array must include an identifier for the entity, the attributes of the entity, and a list of any parent entities.If you include multiple entities with the same
identifier
, only the last one is processed in the request.
-
fromCedarJson
Create an instance of this class withcedarJson()
initialized to the given value.A Cedar JSON string representation of the entities needed to successfully evaluate an authorization request.
Example:
{"cedarJson": "[{\"uid\":{\"type\":\"Photo\",\"id\":\"VacationPhoto94.jpg\"},\"attrs\":{\"accessLevel\":\"public\"},\"parents\":[]}]"}
- Parameters:
cedarJson
- A Cedar JSON string representation of the entities needed to successfully evaluate an authorization request.Example:
{"cedarJson": "[{\"uid\":{\"type\":\"Photo\",\"id\":\"VacationPhoto94.jpg\"},\"attrs\":{\"accessLevel\":\"public\"},\"parents\":[]}]"}
-
type
Retrieve an enum value representing which member of this object is populated. When this class is returned in a service response, this will beEntitiesDefinition.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 beEntitiesDefinition.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.
-