func AttributeMutabilityImmutable() AttributeMutability {
	return AttributeMutability{m: attributeMutabilityImmutable}
}
AttributeMutabilityImmutable indicates that the attribute MAY be defined at resource creation (e.g., POST) or at
record replacement via a request (e.g., a PUT). The attribute SHALL NOT be updated.
package schema
import (
	"encoding/json"
	"fmt"
	"regexp"
)
func checkAttributeName(name string) {
	match, err := regexp.MatchString(`^[A-Za-z][\w$-]*$`, name)
	if err != nil {
		panic(err)
	}
	if !match {
		panic(fmt.Sprintf("invalid attribute name %q", name))
	}
}
type AttributeDataType struct {
	t attributeType
}
func AttributeTypeDecimal() AttributeDataType {
	return AttributeDataType{t: attributeDataTypeDecimal}
}
func AttributeTypeInteger() AttributeDataType {
	return AttributeDataType{t: attributeDataTypeInteger}
}
type AttributeMutability struct {
	m attributeMutability
}