Class Arn

java.lang.Object
software.amazon.jsii.JsiiObject
software.amazon.awscdk.Arn
All Implemented Interfaces:
software.amazon.jsii.JsiiSerializable

@Generated(value="jsii-pacmak/1.104.0 (build e79254c)", date="2024-12-06T14:43:12.788Z") @Stability(Stable) public class Arn extends software.amazon.jsii.JsiiObject
  • Nested Class Summary

    Nested classes/interfaces inherited from class software.amazon.jsii.JsiiObject

    software.amazon.jsii.JsiiObject.InitializationMode
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    Arn(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
     
    protected
    Arn(software.amazon.jsii.JsiiObjectRef objRef)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static String
    extractResourceName(String arn, String resourceType)
    Extract the full resource name from an ARN.
    static String
    format(ArnComponents components)
    Creates an ARN from components.
    static String
    format(ArnComponents components, Stack stack)
    Creates an ARN from components.
    split(String arn, ArnFormat arnFormat)
    Splits the provided ARN into its components.

    Methods inherited from class software.amazon.jsii.JsiiObject

    jsiiAsyncCall, jsiiAsyncCall, jsiiCall, jsiiCall, jsiiGet, jsiiGet, jsiiSet, jsiiStaticCall, jsiiStaticCall, jsiiStaticGet, jsiiStaticGet, jsiiStaticSet, jsiiStaticSet

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface software.amazon.jsii.JsiiSerializable

    $jsii$toJson
  • Constructor Details

    • Arn

      protected Arn(software.amazon.jsii.JsiiObjectRef objRef)
    • Arn

      protected Arn(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
  • Method Details

    • extractResourceName

      @Stability(Stable) @NotNull public static String extractResourceName(@NotNull String arn, @NotNull String resourceType)
      Extract the full resource name from an ARN.

      Necessary for resource names (paths) that may contain the separator, like arn:aws:iam::111111111111:role/path/to/role/name.

      Only works if we statically know the expected resourceType beforehand, since we're going to use that to split the string on ':/' (and take the right-hand side).

      We can't extract the 'resourceType' from the ARN at hand, because CloudFormation Expressions only allow literals in the 'separator' argument to { Fn::Split }, and so it can't be { Fn::Select: [5, { Fn::Split: [':', ARN] }}.

      Only necessary for ARN formats for which the type-name separator is /.

      Parameters:
      arn - This parameter is required.
      resourceType - This parameter is required.
    • format

      @Stability(Stable) @NotNull public static String format(@NotNull ArnComponents components, @Nullable Stack stack)
      Creates an ARN from components.

      If partition, region or account are not specified, the stack's partition, region and account will be used.

      If any component is the empty string, an empty string will be inserted into the generated ARN at the location that component corresponds to.

      The ARN will be formatted as follows:

      arn:{partition}:{service}:{region}:{account}:{resource}{sep}{resource-name}

      The required ARN pieces that are omitted will be taken from the stack that the 'scope' is attached to. If all ARN pieces are supplied, the supplied scope can be 'undefined'.

      Parameters:
      components - This parameter is required.
      stack -
    • format

      @Stability(Stable) @NotNull public static String format(@NotNull ArnComponents components)
      Creates an ARN from components.

      If partition, region or account are not specified, the stack's partition, region and account will be used.

      If any component is the empty string, an empty string will be inserted into the generated ARN at the location that component corresponds to.

      The ARN will be formatted as follows:

      arn:{partition}:{service}:{region}:{account}:{resource}{sep}{resource-name}

      The required ARN pieces that are omitted will be taken from the stack that the 'scope' is attached to. If all ARN pieces are supplied, the supplied scope can be 'undefined'.

      Parameters:
      components - This parameter is required.
    • split

      @Stability(Stable) @NotNull public static ArnComponents split(@NotNull String arn, @NotNull ArnFormat arnFormat)
      Splits the provided ARN into its components.

      Works both if 'arn' is a string like 'arn:aws:s3:::bucket', and a Token representing a dynamic CloudFormation expression (in which case the returned components will also be dynamic CloudFormation expressions, encoded as Tokens).

      Parameters:
      arn - the ARN to split into its components. This parameter is required.
      arnFormat - the expected format of 'arn' - depends on what format the service 'arn' represents uses. This parameter is required.