code: func (perm *SESPermission) NewMessageBodyStorageResource(bucketLogicalName string) (*MessageBodyStorage, error) {
  	if len(bucketLogicalName) <= 0 {
  		return nil, errors.New("NewMessageBodyStorageResource requires a unique, non-empty `bucketLogicalName` parameter ")
  	}
  	store := &MessageBodyStorage{
  		logicalBucketName: bucketLogicalName,
  	}
  	store.cloudFormationS3BucketResourceName = CloudFormationResourceName("SESMessageStoreBucket", bucketLogicalName)
  	store.bucketNameExpr = gocf.Ref(store.cloudFormationS3BucketResourceName).String()
  	return store, nil
  }
docs: // NewMessageBodyStorageResource provisions a new S3 bucket to store message body
  // content.