func AttributeMutabilityWriteOnly() AttributeMutability {
	return AttributeMutability{m: attributeMutabilityWriteOnly}
}
AttributeMutabilityWriteOnly indicates that the attribute MAY be updated at any time. Attribute values SHALL NOT
be returned (e.g., because the value is a stored hash).
Note: An attribute with a mutability of "writeOnly" usually also has a returned setting of "never".
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
}
func AttributeMutabilityImmutable() AttributeMutability {
	return AttributeMutability{m: attributeMutabilityImmutable}
}
func AttributeMutabilityReadOnly() AttributeMutability {
	return AttributeMutability{m: attributeMutabilityReadOnly}
}
func AttributeMutabilityReadWrite() AttributeMutability {
	return AttributeMutability{m: attributeMutabilityReadWrite}
}