Class ServiceTrait
- java.lang.Object
-
- software.amazon.smithy.model.traits.AbstractTrait
-
- software.amazon.smithy.aws.traits.ServiceTrait
-
- All Implemented Interfaces:
FromSourceLocation
,ToNode
,ToShapeId
,Trait
,ToSmithyBuilder<ServiceTrait>
public final class ServiceTrait extends AbstractTrait implements ToSmithyBuilder<ServiceTrait>
Registers a service as an AWS service. This trait is required for all AWS services modeled in Smithy.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ServiceTrait.Builder
Builder forServiceTrait
.static class
ServiceTrait.Provider
-
Method Summary
Modifier and Type Method Description static ServiceTrait.Builder
builder()
protected Node
createNode()
The result of toNode is used for hashCodes and equality.java.util.Optional<java.lang.String>
getAbbreviation()
Gets the abbreviated name of the service (if available).java.lang.String
getArnNamespace()
Get the AWS ARN service namespace of the service.java.lang.String
getCloudFormationName()
Get the AWS CloudFormation service name.java.lang.String
getCloudTrailEventSource()
Returns the CloudTrail event source name of the service.java.lang.String
getSdkId()
Get the SDK service ID.ServiceTrait.Builder
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, toNode, toShapeId, toString
-
-
-
-
Field Detail
-
ID
public static final ShapeId ID
-
-
Method Detail
-
builder
public static ServiceTrait.Builder builder()
- Returns:
- Creates a builder used to build a
ServiceTrait
.
-
getArnNamespace
public java.lang.String getArnNamespace()
Get the AWS ARN service namespace of the service.If not set, this value defaults to the name of the service shape converted to lowercase. This value is combined with resources contained within the service to form ARNs for resources. Only resources that explicitly define the 'aws.api#arnTemplate' trait are assigned ARNs, and their relative ARNs are combined with the service's arnNamespace to form an ARN.
- Returns:
- Returns the ARN service name (e.g., "route53").
-
getCloudFormationName
public java.lang.String getCloudFormationName()
Get the AWS CloudFormation service name.When not set, this value defaults to the name of the service shape.
- Returns:
- Returns the optionally present AWS CloudFormation type prefix.
-
getSdkId
public java.lang.String getSdkId()
Get the SDK service ID.This value is used to generate SDK class names.
- Returns:
- Returns the AWS SDK service ID value.
-
getCloudTrailEventSource
public java.lang.String getCloudTrailEventSource()
Returns the CloudTrail event source name of the service.- Returns:
- Returns the event source name.
-
getAbbreviation
public java.util.Optional<java.lang.String> getAbbreviation()
Gets the abbreviated name of the service (if available).- Returns:
- Returns the service abbreviation.
-
toBuilder
public ServiceTrait.Builder 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<ServiceTrait>
- Returns:
- a builder for type T
-
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.
-
-