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>
public final class IamActionTrait extends AbstractTrait implements ToSmithyBuilder<IamActionTrait>
Indicates properties of a Smithy operation as an IAM action.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
IamActionTrait.Builder
static class
IamActionTrait.Provider
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static IamActionTrait.Builder
builder()
protected Node
createNode()
The result of toNode is used for hashCodes and equality.java.util.List<java.lang.String>
getCreatesResources()
Gets the resources that performing this IAM action will create.java.util.Optional<java.lang.String>
getDocumentation()
Gets the description of what granting the user permission to invoke an operation would entail.java.util.Optional<java.lang.String>
getName()
Get the AWS IAM resource name.java.util.Optional<java.lang.String>
getRelativeDocumentation()
Gets the relative URL path for the action within a set of IAM-related documentation.java.util.List<java.lang.String>
getRequiredActions()
Gets other actions that the invoker must be authorized to perform when executing the targeted operation.java.util.Optional<ActionResources>
getResources()
Gets the resources an IAM action can be authorized against.static java.lang.String
resolveActionDocumentation(OperationShape operation)
Resolves the IAM action documentation for the given operation.static java.lang.String
resolveActionName(OperationShape operation)
Resolves the IAM action name for the given operation.static java.util.List<java.lang.String>
resolveRequiredActions(OperationShape operation)
Resolves the IAM action required actions for the given operation.SmithyBuilder<IamActionTrait>
toBuilder()
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 Detail
-
ID
public static final ShapeId ID
-
-
Method Detail
-
getName
public java.util.Optional<java.lang.String> getName()
Get the AWS IAM resource name.- Returns:
- Returns the name.
-
resolveActionName
public static java.lang.String resolveActionName(OperationShape operation)
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
public java.util.Optional<java.lang.String> getDocumentation()
Gets the description of what granting the user permission to invoke an operation would entail.- Returns:
- Returns the documentation.
-
resolveActionDocumentation
public static java.lang.String resolveActionDocumentation(OperationShape operation)
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
public java.util.Optional<java.lang.String> 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
public java.util.List<java.lang.String> 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
public static java.util.List<java.lang.String> resolveRequiredActions(OperationShape operation)
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
public java.util.Optional<ActionResources> getResources()
Gets the resources an IAM action can be authorized against.- Returns:
- Returns the action's resources.
-
getCreatesResources
public java.util.List<java.lang.String> getCreatesResources()
Gets the resources that performing this IAM action will create.- Returns:
- Returns the resources created by the action.
-
builder
public static IamActionTrait.Builder builder()
-
createNode
protected Node 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
public SmithyBuilder<IamActionTrait> 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
-
-