Module: Aws::ARNParser
- Defined in:
- lib/aws-sdk-core/arn_parser.rb
Class Method Summary collapse
-
.arn?(str) ⇒ Boolean
Checks whether a String could be a ARN or not.
-
.parse(arn_str) ⇒ Aws::ARN
Parse a string with an ARN format into an ARN object.
Class Method Details
.arn?(str) ⇒ Boolean
Checks whether a String could be a ARN or not. An ARN starts with ‘arn:’ and has at least 6 segments separated by a colon (:).
36 37 38 |
# File 'lib/aws-sdk-core/arn_parser.rb', line 36 def self.arn?(str) !str.nil? && str.start_with?('arn:') && str.scan(/:/).length >= 5 end |
.parse(arn_str) ⇒ Aws::ARN
Parse a string with an ARN format into an Aws::ARN object. ‘InvalidARNError` would be raised when encountering a parsing error or the ARN object contains invalid components (nil/empty).
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/aws-sdk-core/arn_parser.rb', line 13 def self.parse(arn_str) parts = arn_str.nil? ? [] : arn_str.split(':', 6) raise Aws::Errors::InvalidARNError if parts.size < 6 # part[0] is "arn" arn = ARN.new( partition: parts[1], service: parts[2], region: parts[3], account_id: parts[4], resource: parts[5] ) raise Aws::Errors::InvalidARNError unless arn.valid? arn end |