Interface ArnComponents

All Superinterfaces:
software.amazon.jsii.JsiiSerializable
All Known Implementing Classes:
ArnComponents.Jsii$Proxy

@Generated(value="jsii-pacmak/1.84.0 (build 5404dcf)", date="2023-06-19T16:29:54.786Z") @Stability(Stable) public interface ArnComponents extends software.amazon.jsii.JsiiSerializable
Example:

 PublicHostedZone subZone = PublicHostedZone.Builder.create(this, "SubZone")
         .zoneName("sub.someexample.com")
         .build();
 // import the delegation role by constructing the roleArn
 String delegationRoleArn = Stack.of(this).formatArn(ArnComponents.builder()
         .region("") // IAM is global in each partition
         .service("iam")
         .account("parent-account-id")
         .resource("role")
         .resourceName("MyDelegationRole")
         .build());
 IRole delegationRole = Role.fromRoleArn(this, "DelegationRole", delegationRoleArn);
 // create the record
 // create the record
 CrossAccountZoneDelegationRecord.Builder.create(this, "delegate")
         .delegatedZone(subZone)
         .parentHostedZoneName("someexample.com") // or you can use parentHostedZoneId
         .delegationRole(delegationRole)
         .build();
 
  • Method Details

    • getResource

      @Stability(Stable) @NotNull String getResource()
      Resource type (e.g. "table", "autoScalingGroup", "certificate"). For some resource types, e.g. S3 buckets, this field defines the bucket name.
    • getService

      @Stability(Stable) @NotNull String getService()
      The service namespace that identifies the AWS product (for example, 's3', 'iam', 'codepipline').
    • getAccount

      @Stability(Stable) @Nullable default String getAccount()
      The ID of the AWS account that owns the resource, without the hyphens.

      For example, 123456789012. Note that the ARNs for some resources don't require an account number, so this component might be omitted.

      Default: The account the stack is deployed to.

    • getArnFormat

      @Stability(Stable) @Nullable default ArnFormat getArnFormat()
      The specific ARN format to use for this ARN value.

      Default: - uses value of `sep` as the separator for formatting, `ArnFormat.SLASH_RESOURCE_NAME` if that property was also not provided

    • getPartition

      @Stability(Stable) @Nullable default String getPartition()
      The partition that the resource is in.

      For standard AWS regions, the partition is aws. If you have resources in other partitions, the partition is aws-partitionname. For example, the partition for resources in the China (Beijing) region is aws-cn.

      Default: The AWS partition the stack is deployed to.

    • getRegion

      @Stability(Stable) @Nullable default String getRegion()
      The region the resource resides in.

      Note that the ARNs for some resources do not require a region, so this component might be omitted.

      Default: The region the stack is deployed to.

    • getResourceName

      @Stability(Stable) @Nullable default String getResourceName()
      Resource name or path within the resource (i.e. S3 bucket object key) or a wildcard such as "*". This is service-dependent.
    • getSep

      @Stability(Deprecated) @Deprecated @Nullable default String getSep()
      Deprecated.
      use arnFormat instead
      (deprecated) Separator between resource type and the resource.

      Can be either '/', ':' or an empty string. Will only be used if resourceName is defined.

      Default: '/'

    • builder

      @Stability(Stable) static ArnComponents.Builder builder()
      Returns:
      a ArnComponents.Builder of ArnComponents