func (o OutpostBucketARN) GetOutpostID() string {
	return o.OutpostID
}
GetOutpostID returns the outpost id of outpost bucket arn
package arn
import (
	"strings"
	"github.com/aws/aws-sdk-go/aws/arn"
)
type OutpostARN interface {
	Resource
	GetOutpostID() string
}
func ParseOutpostARNResource(a arn.ARN, resParts []string) (OutpostARN, error) {
	if len(a.Region) == 0 {
		return nil, InvalidARNError{ARN: a, Reason: "region not set"}
	}
	if len(a.AccountID) == 0 {
		return nil, InvalidARNError{ARN: a, Reason: "account-id not set"}
	}
	if len(resParts) == 0 || len(strings.TrimSpace(resParts[0])) == 0 {
		return nil, InvalidARNError{ARN: a, Reason: "outpost resource-id not set"}
	}
	if len(resParts) < 3 {
		return nil, InvalidARNError{
			ARN: a, Reason: "incomplete outpost resource type. Expected bucket or access-point resource to be present",
		}
	}
	outpostID := strings.TrimSpace(resParts[0])
	switch resParts[1] {
	case "accesspoint":
		accesspointARN, err := ParseAccessPointResource(a, resParts[2:])
		if err != nil {
			return OutpostAccessPointARN{}, err
		}
		return OutpostAccessPointARN{
			AccessPointARN: accesspointARN,
			OutpostID:      outpostID,
		}, nil
	case "bucket":
		bucketName, err := parseBucketResource(a, resParts[2:])
		if err != nil {
			return nil, err
		}
		return OutpostBucketARN{
			ARN:        a,
			BucketName: bucketName,
			OutpostID:  outpostID,
		}, nil
	default:
		return nil, InvalidARNError{ARN: a, Reason: "unknown resource set for outpost ARN"}
	}
}
type OutpostAccessPointARN struct {
	AccessPointARN
	OutpostID string
}
func (o OutpostAccessPointARN) GetOutpostID() string {
	return o.OutpostID
}
type OutpostBucketARN struct {
	arn.ARN
	BucketName string
	OutpostID  string
}