Class IamResourceTrait
- java.lang.Object
-
- software.amazon.smithy.model.traits.AbstractTrait
-
- software.amazon.smithy.aws.iam.traits.IamResourceTrait
-
- All Implemented Interfaces:
FromSourceLocation
,ToNode
,ToShapeId
,Trait
,ToSmithyBuilder<IamResourceTrait>
public final class IamResourceTrait extends AbstractTrait implements ToSmithyBuilder<IamResourceTrait>
Indicates properties of a Smithy resource in AWS IAM.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
IamResourceTrait.Builder
static class
IamResourceTrait.Provider
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static IamResourceTrait.Builder
builder()
protected Node
createNode()
The result of toNode is used for hashCodes and equality.java.util.Optional<java.lang.String>
getName()
Get the AWS IAM resource name.java.util.Optional<java.lang.String>
getRelativeDocumentation()
Get the relative URL path that defines more information about the resource within a set of IAM-related documentation.boolean
isDisableConditionKeyInheritance()
Gets if this IAM resource's condition keys are decoupled from those of its parent resource(s).static java.lang.String
resolveResourceName(ResourceShape resource)
Resolves the IAM resource name for the given resource.SmithyBuilder<IamResourceTrait>
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.
-
resolveResourceName
public static java.lang.String resolveResourceName(ResourceShape resource)
Resolves the IAM resource name for the given resource. Uses the following resolution order:- Value of the
@iamResource
trait'sname
property - The resource's name
- Parameters:
resource
- the resource to resolve a name for.- Returns:
- The resolved resource name.
- Value of the
-
getRelativeDocumentation
public java.util.Optional<java.lang.String> getRelativeDocumentation()
Get the relative URL path that defines more information about the resource within a set of IAM-related documentation.- Returns:
- A relative URL to the documentation page.
-
isDisableConditionKeyInheritance
public boolean isDisableConditionKeyInheritance()
Gets if this IAM resource's condition keys are decoupled from those of its parent resource(s).- Returns:
- Returns true if condition key inheritance is disabled.
-
builder
public static IamResourceTrait.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<IamResourceTrait> 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<IamResourceTrait>
- Returns:
- a builder for type T
-
-