Class IamActionTrait
java.lang.Object
software.amazon.smithy.model.traits.AbstractTrait
software.amazon.smithy.aws.iam.traits.IamActionTrait
- All Implemented Interfaces:
FromSourceLocation
,ToNode
,ToShapeId
,Trait
,ToSmithyBuilder<IamActionTrait>
Indicates properties of a Smithy operation as an IAM action.
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic final class
static final class
-
Field Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic IamActionTrait.Builder
builder()
protected Node
The result of toNode is used for hashCodes and equality.Gets the resources that performing this IAM action will create.Gets the description of what granting the user permission to invoke an operation would entail.getName()
Get the AWS IAM resource name.Gets the relative URL path for the action within a set of IAM-related documentation.Gets other actions that the invoker must be authorized to perform when executing the targeted operation.Gets the resources an IAM action can be authorized against.static String
resolveActionDocumentation
(OperationShape operation) Resolves the IAM action documentation for the given operation.static String
resolveActionName
(OperationShape operation) Resolves the IAM action name for the given operation.resolveRequiredActions
(OperationShape operation) Resolves the IAM action required actions for the given operation.Take this object and create a builder that contains all of the current property values of this object.Methods inherited from class software.amazon.smithy.model.traits.AbstractTrait
equals, getSourceLocation, hashCode, setNodeCache, toNode, toShapeId, toString
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface software.amazon.smithy.model.traits.Trait
isSynthetic
-
Field Details
-
ID
-
-
Method Details
-
getName
Get the AWS IAM resource name.- Returns:
- Returns the name.
-
resolveActionName
Resolves the IAM action name for the given operation. Uses the following resolution order:- Value of the
@iamAction
trait'sname
property - Value of the
@actionName
trait - The operation's name
- Parameters:
operation
- the operation to resolve a name for.- Returns:
- The resolved action name.
- Value of the
-
getDocumentation
Gets the description of what granting the user permission to invoke an operation would entail.- Returns:
- Returns the documentation.
-
resolveActionDocumentation
Resolves the IAM action documentation for the given operation. Uses the following resolution order:- Value of the
@iamAction
trait'sdocumentation
property - Value of the
@actionPermissionDescription
trait - Value of the
@documentation
trait
- Parameters:
operation
- the operation to resolve documentation for.- Returns:
- The resolved action documentation.
- Value of the
-
getRelativeDocumentation
Gets the relative URL path for the action within a set of IAM-related documentation.- Returns:
- Returns the relative URL path to documentation.
-
getRequiredActions
Gets other actions that the invoker must be authorized to perform when executing the targeted operation.- Returns:
- Returns the list of required actions.
-
resolveRequiredActions
Resolves the IAM action required actions for the given operation. Uses the following resolution order:- Value of the
@iamAction
trait'srequiredActions
property - Value of the
@requiredActions
trait - An empty list.
- Parameters:
operation
- the operation to resolve required actions for.- Returns:
- The resolved required actions.
- Value of the
-
getResources
Gets the resources an IAM action can be authorized against.- Returns:
- Returns the action's resources.
-
getCreatesResources
Gets the resources that performing this IAM action will create.- Returns:
- Returns the resources created by the action.
-
builder
-
createNode
Description copied from class:AbstractTrait
The result of toNode is used for hashCodes and equality. Subclasses must implement createNode to turn the trait into a Node. This is then cached for subsequent retrievals.- Specified by:
createNode
in classAbstractTrait
- Returns:
- Returns the trait as a node.
-
toBuilder
Description copied from interface:ToSmithyBuilder
Take this object and create a builder that contains all of the current property values of this object.- Specified by:
toBuilder
in interfaceToSmithyBuilder<IamActionTrait>
- Returns:
- a builder for type T
-