package arn
import (
)
type AccessPointARN struct {
arn.ARN
AccessPointName string
}
func ( AccessPointARN) () arn.ARN {
return .ARN
}
func ( arn.ARN, []string) (AccessPointARN, error) {
if isFIPS(.Region) {
return AccessPointARN{}, InvalidARNError{ARN: , Reason: "FIPS region not allowed in ARN"}
}
if len(.AccountID) == 0 {
return AccessPointARN{}, InvalidARNError{ARN: , Reason: "account-id not set"}
}
if len() == 0 {
return AccessPointARN{}, InvalidARNError{ARN: , Reason: "resource-id not set"}
}
if len() > 1 {
return AccessPointARN{}, InvalidARNError{ARN: , Reason: "sub resource not supported"}
}
:= [0]
if len(strings.TrimSpace()) == 0 {
return AccessPointARN{}, InvalidARNError{ARN: , Reason: "resource-id not set"}
}
return AccessPointARN{
ARN: ,
AccessPointName: ,
}, nil
}
func ( string) bool {
return strings.HasPrefix(, "fips-") || strings.HasSuffix(, "-fips")
}