schema
packageThis package is not in the latest version of its module.
Details
Validgo.mod file
The Go module system was introduced in Go 1.11 and is the official dependency management solution for Go.
Redistributable license
Redistributable licenses place minimal restrictions on how software can be used, modified, and redistributed.
Tagged version
Modules with tagged versions give importers more predictable builds.
Stable version
When a project reaches major version v1 it is considered stable.
- Learn more about best practices
Repository
Links
Documentation¶
Overview¶
Package schema contains all available schema functionality for listresources. List resource schemas define the structure of a list block.Schemas are implemented via the list.ListResource type Schema method.
Index¶
- type Attribute
- type Block
- type BoolAttribute
- func (a BoolAttribute) ApplyTerraform5AttributePathStep(step tftypes.AttributePathStep) (interface{}, error)
- func (a BoolAttribute) BoolValidators() []validator.Bool
- func (a BoolAttribute) Equal(o fwschema.Attribute) bool
- func (a BoolAttribute) GetDeprecationMessage() string
- func (a BoolAttribute) GetDescription() string
- func (a BoolAttribute) GetMarkdownDescription() string
- func (a BoolAttribute) GetType() attr.Type
- func (a BoolAttribute) IsComputed() bool
- func (a BoolAttribute) IsOptional() bool
- func (a BoolAttribute) IsOptionalForImport() bool
- func (a BoolAttribute) IsRequired() bool
- func (a BoolAttribute) IsRequiredForImport() bool
- func (a BoolAttribute) IsSensitive() bool
- func (a BoolAttribute) IsWriteOnly() bool
- type DynamicAttribute
- func (a DynamicAttribute) ApplyTerraform5AttributePathStep(step tftypes.AttributePathStep) (interface{}, error)
- func (a DynamicAttribute) DynamicValidators() []validator.Dynamic
- func (a DynamicAttribute) Equal(o fwschema.Attribute) bool
- func (a DynamicAttribute) GetDeprecationMessage() string
- func (a DynamicAttribute) GetDescription() string
- func (a DynamicAttribute) GetMarkdownDescription() string
- func (a DynamicAttribute) GetType() attr.Type
- func (a DynamicAttribute) IsComputed() bool
- func (a DynamicAttribute) IsOptional() bool
- func (a DynamicAttribute) IsOptionalForImport() bool
- func (a DynamicAttribute) IsRequired() bool
- func (a DynamicAttribute) IsRequiredForImport() bool
- func (a DynamicAttribute) IsSensitive() bool
- func (a DynamicAttribute) IsWriteOnly() bool
- type Float32Attribute
- func (a Float32Attribute) ApplyTerraform5AttributePathStep(step tftypes.AttributePathStep) (interface{}, error)
- func (a Float32Attribute) Equal(o fwschema.Attribute) bool
- func (a Float32Attribute) Float32Validators() []validator.Float32
- func (a Float32Attribute) GetDeprecationMessage() string
- func (a Float32Attribute) GetDescription() string
- func (a Float32Attribute) GetMarkdownDescription() string
- func (a Float32Attribute) GetType() attr.Type
- func (a Float32Attribute) IsComputed() bool
- func (a Float32Attribute) IsOptional() bool
- func (a Float32Attribute) IsOptionalForImport() bool
- func (a Float32Attribute) IsRequired() bool
- func (a Float32Attribute) IsRequiredForImport() bool
- func (a Float32Attribute) IsSensitive() bool
- func (a Float32Attribute) IsWriteOnly() bool
- type Float64Attribute
- func (a Float64Attribute) ApplyTerraform5AttributePathStep(step tftypes.AttributePathStep) (interface{}, error)
- func (a Float64Attribute) Equal(o fwschema.Attribute) bool
- func (a Float64Attribute) Float64Validators() []validator.Float64
- func (a Float64Attribute) GetDeprecationMessage() string
- func (a Float64Attribute) GetDescription() string
- func (a Float64Attribute) GetMarkdownDescription() string
- func (a Float64Attribute) GetType() attr.Type
- func (a Float64Attribute) IsComputed() bool
- func (a Float64Attribute) IsOptional() bool
- func (a Float64Attribute) IsOptionalForImport() bool
- func (a Float64Attribute) IsRequired() bool
- func (a Float64Attribute) IsRequiredForImport() bool
- func (a Float64Attribute) IsSensitive() bool
- func (a Float64Attribute) IsWriteOnly() bool
- type Int32Attribute
- func (a Int32Attribute) ApplyTerraform5AttributePathStep(step tftypes.AttributePathStep) (interface{}, error)
- func (a Int32Attribute) Equal(o fwschema.Attribute) bool
- func (a Int32Attribute) GetDeprecationMessage() string
- func (a Int32Attribute) GetDescription() string
- func (a Int32Attribute) GetMarkdownDescription() string
- func (a Int32Attribute) GetType() attr.Type
- func (a Int32Attribute) Int32Validators() []validator.Int32
- func (a Int32Attribute) IsComputed() bool
- func (a Int32Attribute) IsOptional() bool
- func (a Int32Attribute) IsOptionalForImport() bool
- func (a Int32Attribute) IsRequired() bool
- func (a Int32Attribute) IsRequiredForImport() bool
- func (a Int32Attribute) IsSensitive() bool
- func (a Int32Attribute) IsWriteOnly() bool
- type Int64Attribute
- func (a Int64Attribute) ApplyTerraform5AttributePathStep(step tftypes.AttributePathStep) (interface{}, error)
- func (a Int64Attribute) Equal(o fwschema.Attribute) bool
- func (a Int64Attribute) GetDeprecationMessage() string
- func (a Int64Attribute) GetDescription() string
- func (a Int64Attribute) GetMarkdownDescription() string
- func (a Int64Attribute) GetType() attr.Type
- func (a Int64Attribute) Int64Validators() []validator.Int64
- func (a Int64Attribute) IsComputed() bool
- func (a Int64Attribute) IsOptional() bool
- func (a Int64Attribute) IsOptionalForImport() bool
- func (a Int64Attribute) IsRequired() bool
- func (a Int64Attribute) IsRequiredForImport() bool
- func (a Int64Attribute) IsSensitive() bool
- func (a Int64Attribute) IsWriteOnly() bool
- type ListAttribute
- func (a ListAttribute) ApplyTerraform5AttributePathStep(step tftypes.AttributePathStep) (interface{}, error)
- func (a ListAttribute) Equal(o fwschema.Attribute) bool
- func (a ListAttribute) GetDeprecationMessage() string
- func (a ListAttribute) GetDescription() string
- func (a ListAttribute) GetMarkdownDescription() string
- func (a ListAttribute) GetType() attr.Type
- func (a ListAttribute) IsComputed() bool
- func (a ListAttribute) IsOptional() bool
- func (a ListAttribute) IsOptionalForImport() bool
- func (a ListAttribute) IsRequired() bool
- func (a ListAttribute) IsRequiredForImport() bool
- func (a ListAttribute) IsSensitive() bool
- func (a ListAttribute) IsWriteOnly() bool
- func (a ListAttribute) ListValidators() []validator.List
- func (a ListAttribute) ValidateImplementation(ctx context.Context, req fwschema.ValidateImplementationRequest, ...)
- type ListNestedAttribute
- func (a ListNestedAttribute) ApplyTerraform5AttributePathStep(step tftypes.AttributePathStep) (interface{}, error)
- func (a ListNestedAttribute) Equal(o fwschema.Attribute) bool
- func (a ListNestedAttribute) GetDeprecationMessage() string
- func (a ListNestedAttribute) GetDescription() string
- func (a ListNestedAttribute) GetMarkdownDescription() string
- func (a ListNestedAttribute) GetNestedObject() fwschema.NestedAttributeObject
- func (a ListNestedAttribute) GetNestingMode() fwschema.NestingMode
- func (a ListNestedAttribute) GetType() attr.Type
- func (a ListNestedAttribute) IsComputed() bool
- func (a ListNestedAttribute) IsOptional() bool
- func (a ListNestedAttribute) IsOptionalForImport() bool
- func (a ListNestedAttribute) IsRequired() bool
- func (a ListNestedAttribute) IsRequiredForImport() bool
- func (a ListNestedAttribute) IsSensitive() bool
- func (a ListNestedAttribute) IsWriteOnly() bool
- func (a ListNestedAttribute) ListValidators() []validator.List
- func (a ListNestedAttribute) ValidateImplementation(ctx context.Context, req fwschema.ValidateImplementationRequest, ...)
- type ListNestedBlock
- func (b ListNestedBlock) ApplyTerraform5AttributePathStep(step tftypes.AttributePathStep) (interface{}, error)
- func (b ListNestedBlock) Equal(o fwschema.Block) bool
- func (b ListNestedBlock) GetDeprecationMessage() string
- func (b ListNestedBlock) GetDescription() string
- func (b ListNestedBlock) GetMarkdownDescription() string
- func (b ListNestedBlock) GetNestedObject() fwschema.NestedBlockObject
- func (b ListNestedBlock) GetNestingMode() fwschema.BlockNestingMode
- func (b ListNestedBlock) ListValidators() []validator.List
- func (b ListNestedBlock) Type() attr.Type
- func (b ListNestedBlock) ValidateImplementation(ctx context.Context, req fwschema.ValidateImplementationRequest, ...)
- type MapAttribute
- func (a MapAttribute) ApplyTerraform5AttributePathStep(step tftypes.AttributePathStep) (interface{}, error)
- func (a MapAttribute) Equal(o fwschema.Attribute) bool
- func (a MapAttribute) GetDeprecationMessage() string
- func (a MapAttribute) GetDescription() string
- func (a MapAttribute) GetMarkdownDescription() string
- func (a MapAttribute) GetType() attr.Type
- func (a MapAttribute) IsComputed() bool
- func (a MapAttribute) IsOptional() bool
- func (a MapAttribute) IsOptionalForImport() bool
- func (a MapAttribute) IsRequired() bool
- func (a MapAttribute) IsRequiredForImport() bool
- func (a MapAttribute) IsSensitive() bool
- func (a MapAttribute) IsWriteOnly() bool
- func (a MapAttribute) MapValidators() []validator.Map
- func (a MapAttribute) ValidateImplementation(ctx context.Context, req fwschema.ValidateImplementationRequest, ...)
- type MapNestedAttribute
- func (a MapNestedAttribute) ApplyTerraform5AttributePathStep(step tftypes.AttributePathStep) (interface{}, error)
- func (a MapNestedAttribute) Equal(o fwschema.Attribute) bool
- func (a MapNestedAttribute) GetDeprecationMessage() string
- func (a MapNestedAttribute) GetDescription() string
- func (a MapNestedAttribute) GetMarkdownDescription() string
- func (a MapNestedAttribute) GetNestedObject() fwschema.NestedAttributeObject
- func (a MapNestedAttribute) GetNestingMode() fwschema.NestingMode
- func (a MapNestedAttribute) GetType() attr.Type
- func (a MapNestedAttribute) IsComputed() bool
- func (a MapNestedAttribute) IsOptional() bool
- func (a MapNestedAttribute) IsOptionalForImport() bool
- func (a MapNestedAttribute) IsRequired() bool
- func (a MapNestedAttribute) IsRequiredForImport() bool
- func (a MapNestedAttribute) IsSensitive() bool
- func (a MapNestedAttribute) IsWriteOnly() bool
- func (a MapNestedAttribute) MapValidators() []validator.Map
- func (a MapNestedAttribute) ValidateImplementation(ctx context.Context, req fwschema.ValidateImplementationRequest, ...)
- type NestedAttribute
- type NestedAttributeObject
- func (o NestedAttributeObject) ApplyTerraform5AttributePathStep(step tftypes.AttributePathStep) (any, error)
- func (o NestedAttributeObject) Equal(other fwschema.NestedAttributeObject) bool
- func (o NestedAttributeObject) GetAttributes() fwschema.UnderlyingAttributes
- func (o NestedAttributeObject) ObjectValidators() []validator.Object
- func (o NestedAttributeObject) Type() basetypes.ObjectTypable
- type NestedBlockObject
- func (o NestedBlockObject) ApplyTerraform5AttributePathStep(step tftypes.AttributePathStep) (any, error)
- func (o NestedBlockObject) Equal(other fwschema.NestedBlockObject) bool
- func (o NestedBlockObject) GetAttributes() fwschema.UnderlyingAttributes
- func (o NestedBlockObject) GetBlocks() map[string]fwschema.Block
- func (o NestedBlockObject) ObjectValidators() []validator.Object
- func (o NestedBlockObject) Type() basetypes.ObjectTypable
- type NumberAttribute
- func (a NumberAttribute) ApplyTerraform5AttributePathStep(step tftypes.AttributePathStep) (interface{}, error)
- func (a NumberAttribute) Equal(o fwschema.Attribute) bool
- func (a NumberAttribute) GetDeprecationMessage() string
- func (a NumberAttribute) GetDescription() string
- func (a NumberAttribute) GetMarkdownDescription() string
- func (a NumberAttribute) GetType() attr.Type
- func (a NumberAttribute) IsComputed() bool
- func (a NumberAttribute) IsOptional() bool
- func (a NumberAttribute) IsOptionalForImport() bool
- func (a NumberAttribute) IsRequired() bool
- func (a NumberAttribute) IsRequiredForImport() bool
- func (a NumberAttribute) IsSensitive() bool
- func (a NumberAttribute) IsWriteOnly() bool
- func (a NumberAttribute) NumberValidators() []validator.Number
- type ObjectAttribute
- func (a ObjectAttribute) ApplyTerraform5AttributePathStep(step tftypes.AttributePathStep) (interface{}, error)
- func (a ObjectAttribute) Equal(o fwschema.Attribute) bool
- func (a ObjectAttribute) GetDeprecationMessage() string
- func (a ObjectAttribute) GetDescription() string
- func (a ObjectAttribute) GetMarkdownDescription() string
- func (a ObjectAttribute) GetType() attr.Type
- func (a ObjectAttribute) IsComputed() bool
- func (a ObjectAttribute) IsOptional() bool
- func (a ObjectAttribute) IsOptionalForImport() bool
- func (a ObjectAttribute) IsRequired() bool
- func (a ObjectAttribute) IsRequiredForImport() bool
- func (a ObjectAttribute) IsSensitive() bool
- func (a ObjectAttribute) IsWriteOnly() bool
- func (a ObjectAttribute) ObjectValidators() []validator.Object
- func (a ObjectAttribute) ValidateImplementation(ctx context.Context, req fwschema.ValidateImplementationRequest, ...)
- type Schema
- func (s Schema) ApplyTerraform5AttributePathStep(step tftypes.AttributePathStep) (any, error)
- func (s Schema) AttributeAtPath(ctx context.Context, p path.Path) (fwschema.Attribute, diag.Diagnostics)
- func (s Schema) AttributeAtTerraformPath(ctx context.Context, p *tftypes.AttributePath) (fwschema.Attribute, error)
- func (s Schema) GetAttributes() map[string]fwschema.Attribute
- func (s Schema) GetBlocks() map[string]fwschema.Block
- func (s Schema) GetDeprecationMessage() string
- func (s Schema) GetDescription() string
- func (s Schema) GetMarkdownDescription() string
- func (s Schema) GetVersion() int64
- func (s Schema) Type() attr.Type
- func (s Schema) TypeAtPath(ctx context.Context, p path.Path) (attr.Type, diag.Diagnostics)
- func (s Schema) TypeAtTerraformPath(ctx context.Context, p *tftypes.AttributePath) (attr.Type, error)
- func (s Schema) ValidateImplementation(ctx context.Context) diag.Diagnostics
- type SingleNestedAttribute
- func (a SingleNestedAttribute) ApplyTerraform5AttributePathStep(step tftypes.AttributePathStep) (interface{}, error)
- func (a SingleNestedAttribute) Equal(o fwschema.Attribute) bool
- func (a SingleNestedAttribute) GetAttributes() fwschema.UnderlyingAttributes
- func (a SingleNestedAttribute) GetDeprecationMessage() string
- func (a SingleNestedAttribute) GetDescription() string
- func (a SingleNestedAttribute) GetMarkdownDescription() string
- func (a SingleNestedAttribute) GetNestedObject() fwschema.NestedAttributeObject
- func (a SingleNestedAttribute) GetNestingMode() fwschema.NestingMode
- func (a SingleNestedAttribute) GetType() attr.Type
- func (a SingleNestedAttribute) IsComputed() bool
- func (a SingleNestedAttribute) IsOptional() bool
- func (a SingleNestedAttribute) IsOptionalForImport() bool
- func (a SingleNestedAttribute) IsRequired() bool
- func (a SingleNestedAttribute) IsRequiredForImport() bool
- func (a SingleNestedAttribute) IsSensitive() bool
- func (a SingleNestedAttribute) IsWriteOnly() bool
- func (a SingleNestedAttribute) ObjectValidators() []validator.Object
- type SingleNestedBlock
- func (b SingleNestedBlock) ApplyTerraform5AttributePathStep(step tftypes.AttributePathStep) (interface{}, error)
- func (b SingleNestedBlock) Equal(o fwschema.Block) bool
- func (b SingleNestedBlock) GetDeprecationMessage() string
- func (b SingleNestedBlock) GetDescription() string
- func (b SingleNestedBlock) GetMarkdownDescription() string
- func (b SingleNestedBlock) GetNestedObject() fwschema.NestedBlockObject
- func (b SingleNestedBlock) GetNestingMode() fwschema.BlockNestingMode
- func (b SingleNestedBlock) ObjectValidators() []validator.Object
- func (b SingleNestedBlock) Type() attr.Type
- type StringAttribute
- func (a StringAttribute) ApplyTerraform5AttributePathStep(step tftypes.AttributePathStep) (interface{}, error)
- func (a StringAttribute) Equal(o fwschema.Attribute) bool
- func (a StringAttribute) GetDeprecationMessage() string
- func (a StringAttribute) GetDescription() string
- func (a StringAttribute) GetMarkdownDescription() string
- func (a StringAttribute) GetType() attr.Type
- func (a StringAttribute) IsComputed() bool
- func (a StringAttribute) IsOptional() bool
- func (a StringAttribute) IsOptionalForImport() bool
- func (a StringAttribute) IsRequired() bool
- func (a StringAttribute) IsRequiredForImport() bool
- func (a StringAttribute) IsSensitive() bool
- func (a StringAttribute) IsWriteOnly() bool
- func (a StringAttribute) StringValidators() []validator.String
Constants¶
This section is empty.
Variables¶
This section is empty.
Functions¶
This section is empty.
Types¶
typeAttribute¶
Attribute define a value field inside the Schema. Implementations in thispackage include:
- BoolAttribute
- Float32Attribute
- Float64Attribute
- Int32Attribute
- Int64Attribute
- ListAttribute
- MapAttribute
- NumberAttribute
- ObjectAttribute
- StringAttribute
Additionally, the NestedAttribute interface extends Attribute with nestedattributes. Only supported in protocol version 6. Implementations in thispackage include:
- ListNestedAttribute
- MapNestedAttribute
- SingleNestedAttribute
In practitioner configurations, an equals sign (=) is required to setthe value.Configuration Reference
typeBlock¶
Block defines a structural field inside a Schema. Implementations in thispackage include:
In practitioner configurations, an equals sign (=) cannot be used to set thevalue. Blocks are instead repeated as necessary, or require the use ofDynamic Block Expressions.
Prefer NestedAttribute over Block. Blocks should typically be used forconfiguration compatibility with previously existing schemas from an olderTerraform Plugin SDK. Efforts should be made to convert from Block toNestedAttribute as a breaking change for practitioners.
typeBoolAttribute¶
type BoolAttribute struct {// CustomType enables the use of a custom attribute type in place of the// default basetypes.BoolType. When retrieving data, the basetypes.BoolValuable// associated with this custom type must be used in place of types.Bool.CustomTypebasetypes.BoolTypable// Required indicates whether the practitioner must enter a value for// this attribute or not. Required and Optional cannot both be true.Requiredbool// Optional indicates whether the practitioner can choose to enter a value// for this attribute or not. Optional and Required cannot both be true.Optionalbool// Description is used in various tooling, like the language server, to// give practitioners more information about what this attribute is,// what it's for, and how it should be used. It should be written as// plain text, with no special formatting.Descriptionstring// MarkdownDescription is used in various tooling, like the// documentation generator, to give practitioners more information// about what this attribute is, what it's for, and how it should be// used. It should be formatted using Markdown.MarkdownDescriptionstring// DeprecationMessage defines warning diagnostic details to display when// practitioner configurations use this Attribute. The warning diagnostic// summary is automatically set to "Attribute Deprecated" along with// configuration source file and line information.//// Set this field to a practitioner actionable message such as://// - "Configure other_attribute instead. This attribute will be removed// in the next major version of the provider."// - "Remove this attribute's configuration as it no longer is used and// the attribute will be removed in the next major version of the// provider."//// In Terraform 1.2.7 and later, this warning diagnostic is displayed any// time a practitioner attempts to configure a value for this attribute and// certain scenarios where this attribute is referenced.//// In Terraform 1.2.6 and earlier, this warning diagnostic is only// displayed when the Attribute is Required or Optional, and if the// practitioner configuration sets the value to a known or unknown value// (which may eventually be null). It has no effect when the Attribute is// Computed-only (read-only; not Required or Optional).//// Across any Terraform version, there are no warnings raised for// practitioner configuration values set directly to null, as there is no// way for the framework to differentiate between an unset and null// configuration due to how Terraform sends configuration information// across the protocol.//// Additional information about deprecation enhancements for read-only// attributes can be found in://// -https://github.com/hashicorp/terraform/issues/7569//DeprecationMessagestring// Validators define value validation functionality for the attribute. All// elements of the slice of AttributeValidator are run, regardless of any// previous error diagnostics.//// Many common use case validators can be found in the// github.com/hashicorp/terraform-plugin-framework-validators Go module.//// If the Type field points to a custom type that implements the// xattr.TypeWithValidate interface, the validators defined in this field// are run in addition to the validation defined by the type.Validators []validator.Bool}BoolAttribute represents a schema attribute that is a boolean. Whenretrieving the value for this attribute, use types.Bool as the value typeunless the CustomType field is set.
Terraform configurations configure this attribute using expressions thatreturn a boolean or directly via the true/false keywords.
example_attribute = true
Terraform configurations reference this attribute using the attribute name.
.example_attribute
func (BoolAttribute)ApplyTerraform5AttributePathStep¶
func (aBoolAttribute) ApplyTerraform5AttributePathStep(steptftypes.AttributePathStep) (interface{},error)
ApplyTerraform5AttributePathStep always returns an error as it is notpossible to step further into a BoolAttribute.
func (BoolAttribute)BoolValidators¶
func (aBoolAttribute) BoolValidators() []validator.Bool
BoolValidators returns the Validators field value.
func (BoolAttribute)Equal¶
func (aBoolAttribute) Equal(ofwschema.Attribute)bool
Equal returns true if the given Attribute is a BoolAttributeand all fields are equal.
func (BoolAttribute)GetDeprecationMessage¶
func (aBoolAttribute) GetDeprecationMessage()string
GetDeprecationMessage returns the DeprecationMessage field value.
func (BoolAttribute)GetDescription¶
func (aBoolAttribute) GetDescription()string
GetDescription returns the Description field value.
func (BoolAttribute)GetMarkdownDescription¶
func (aBoolAttribute) GetMarkdownDescription()string
GetMarkdownDescription returns the MarkdownDescription field value.
func (BoolAttribute)GetType¶
func (aBoolAttribute) GetType()attr.Type
GetType returns types.StringType or the CustomType field value if defined.
func (BoolAttribute)IsComputed¶
func (aBoolAttribute) IsComputed()bool
IsComputed returns false because it does not apply to ListResource schemas.
func (BoolAttribute)IsOptional¶
func (aBoolAttribute) IsOptional()bool
IsOptional returns the Optional field value.
func (BoolAttribute)IsOptionalForImport¶
func (aBoolAttribute) IsOptionalForImport()bool
IsOptionalForImport returns false as this behavior is only relevantfor managed resource identity schema attributes.
func (BoolAttribute)IsRequired¶
func (aBoolAttribute) IsRequired()bool
IsRequired returns the Required field value.
func (BoolAttribute)IsRequiredForImport¶
func (aBoolAttribute) IsRequiredForImport()bool
IsRequiredForImport returns false as this behavior is only relevantfor managed resource identity schema attributes.
func (BoolAttribute)IsSensitive¶
func (aBoolAttribute) IsSensitive()bool
IsSensitive returns false because it does not apply to ListResource schemas.
func (BoolAttribute)IsWriteOnly¶
func (aBoolAttribute) IsWriteOnly()bool
IsWriteOnly returns false because it does not apply to ListResource schemas.
typeDynamicAttribute¶
type DynamicAttribute struct {// CustomType enables the use of a custom attribute type in place of the// default basetypes.DynamicType. When retrieving data, the basetypes.DynamicValuable// associated with this custom type must be used in place of types.Dynamic.CustomTypebasetypes.DynamicTypable// Required indicates whether the practitioner must enter a value for// this attribute or not. Required and Optional cannot both be true.Requiredbool// Optional indicates whether the practitioner can choose to enter a value// for this attribute or not. Optional and Required cannot both be true.Optionalbool// Description is used in various tooling, like the language server, to// give practitioners more information about what this attribute is,// what it's for, and how it should be used. It should be written as// plain text, with no special formatting.Descriptionstring// MarkdownDescription is used in various tooling, like the// documentation generator, to give practitioners more information// about what this attribute is, what it's for, and how it should be// used. It should be formatted using Markdown.MarkdownDescriptionstring// DeprecationMessage defines warning diagnostic details to display when// practitioner configurations use this Attribute. The warning diagnostic// summary is automatically set to "Attribute Deprecated" along with// configuration source file and line information.//// Set this field to a practitioner actionable message such as://// - "Configure other_attribute instead. This attribute will be removed// in the next major version of the provider."// - "Remove this attribute's configuration as it no longer is used and// the attribute will be removed in the next major version of the// provider."//// In Terraform 1.2.7 and later, this warning diagnostic is displayed any// time a practitioner attempts to configure a value for this attribute and// certain scenarios where this attribute is referenced.//// In Terraform 1.2.6 and earlier, this warning diagnostic is only// displayed when the Attribute is Required or Optional, and if the// practitioner configuration sets the value to a known or unknown value// (which may eventually be null). It has no effect when the Attribute is// Computed-only (read-only; not Required or Optional).//// Across any Terraform version, there are no warnings raised for// practitioner configuration values set directly to null, as there is no// way for the framework to differentiate between an unset and null// configuration due to how Terraform sends configuration information// across the protocol.//// Additional information about deprecation enhancements for read-only// attributes can be found in://// -https://github.com/hashicorp/terraform/issues/7569//DeprecationMessagestring// Validators define value validation functionality for the attribute. All// elements of the slice of AttributeValidator are run, regardless of any// previous error diagnostics.//// Many common use case validators can be found in the// github.com/hashicorp/terraform-plugin-framework-validators Go module.//// If the Type field points to a custom type that implements the// xattr.TypeWithValidate interface, the validators defined in this field// are run in addition to the validation defined by the type.Validators []validator.Dynamic}DynamicAttribute represents a schema attribute that is a dynamic, ratherthan a single static type. Static types are always preferable over dynamictypes in Terraform as practitioners will receive less helpful configurationassistance from validation error diagnostics and editor integrations. Whenretrieving the value for this attribute, use types.Dynamic as the value typeunless the CustomType field is set.
The concrete value type for a dynamic is determined at runtime by Terraform, if defined in the configuration.
func (DynamicAttribute)ApplyTerraform5AttributePathStep¶
func (aDynamicAttribute) ApplyTerraform5AttributePathStep(steptftypes.AttributePathStep) (interface{},error)
ApplyTerraform5AttributePathStep always returns an error as it is notpossible to step further into a DynamicAttribute.
func (DynamicAttribute)DynamicValidators¶
func (aDynamicAttribute) DynamicValidators() []validator.Dynamic
DynamicValidators returns the Validators field value.
func (DynamicAttribute)Equal¶
func (aDynamicAttribute) Equal(ofwschema.Attribute)bool
Equal returns true if the given Attribute is a DynamicAttributeand all fields are equal.
func (DynamicAttribute)GetDeprecationMessage¶
func (aDynamicAttribute) GetDeprecationMessage()string
GetDeprecationMessage returns the DeprecationMessage field value.
func (DynamicAttribute)GetDescription¶
func (aDynamicAttribute) GetDescription()string
GetDescription returns the Description field value.
func (DynamicAttribute)GetMarkdownDescription¶
func (aDynamicAttribute) GetMarkdownDescription()string
GetMarkdownDescription returns the MarkdownDescription field value.
func (DynamicAttribute)GetType¶
func (aDynamicAttribute) GetType()attr.Type
GetType returns types.DynamicType or the CustomType field value if defined.
func (DynamicAttribute)IsComputed¶
func (aDynamicAttribute) IsComputed()bool
IsComputed returns false because it does not apply to ListResource schemas.
func (DynamicAttribute)IsOptional¶
func (aDynamicAttribute) IsOptional()bool
IsOptional returns the Optional field value.
func (DynamicAttribute)IsOptionalForImport¶
func (aDynamicAttribute) IsOptionalForImport()bool
IsOptionalForImport returns false as this behavior is only relevantfor managed resource identity schema attributes.
func (DynamicAttribute)IsRequired¶
func (aDynamicAttribute) IsRequired()bool
IsRequired returns the Required field value.
func (DynamicAttribute)IsRequiredForImport¶
func (aDynamicAttribute) IsRequiredForImport()bool
IsRequiredForImport returns false as this behavior is only relevantfor managed resource identity schema attributes.
func (DynamicAttribute)IsSensitive¶
func (aDynamicAttribute) IsSensitive()bool
IsSensitive returns false because it does not apply to ListResource schemas.
func (DynamicAttribute)IsWriteOnly¶
func (aDynamicAttribute) IsWriteOnly()bool
IsWriteOnly returns false because it does not apply to ListResource schemas.
typeFloat32Attribute¶
type Float32Attribute struct {// CustomType enables the use of a custom attribute type in place of the// default basetypes.Float32Type. When retrieving data, the basetypes.Float32Valuable// associated with this custom type must be used in place of types.Float32.CustomTypebasetypes.Float32Typable// Required indicates whether the practitioner must enter a value for// this attribute or not. Required and Optional cannot both be true.Requiredbool// Optional indicates whether the practitioner can choose to enter a value// for this attribute or not. Optional and Required cannot both be true.Optionalbool// Description is used in various tooling, like the language server, to// give practitioners more information about what this attribute is,// what it's for, and how it should be used. It should be written as// plain text, with no special formatting.Descriptionstring// MarkdownDescription is used in various tooling, like the// documentation generator, to give practitioners more information// about what this attribute is, what it's for, and how it should be// used. It should be formatted using Markdown.MarkdownDescriptionstring// DeprecationMessage defines warning diagnostic details to display when// practitioner configurations use this Attribute. The warning diagnostic// summary is automatically set to "Attribute Deprecated" along with// configuration source file and line information.//// Set this field to a practitioner actionable message such as://// - "Configure other_attribute instead. This attribute will be removed// in the next major version of the provider."// - "Remove this attribute's configuration as it no longer is used and// the attribute will be removed in the next major version of the// provider."//// In Terraform 1.2.7 and later, this warning diagnostic is displayed any// time a practitioner attempts to configure a value for this attribute and// certain scenarios where this attribute is referenced.//// In Terraform 1.2.6 and earlier, this warning diagnostic is only// displayed when the Attribute is Required or Optional, and if the// practitioner configuration sets the value to a known or unknown value// (which may eventually be null). It has no effect when the Attribute is// Computed-only (read-only; not Required or Optional).//// Across any Terraform version, there are no warnings raised for// practitioner configuration values set directly to null, as there is no// way for the framework to differentiate between an unset and null// configuration due to how Terraform sends configuration information// across the protocol.//// Additional information about deprecation enhancements for read-only// attributes can be found in://// -https://github.com/hashicorp/terraform/issues/7569//DeprecationMessagestring// Validators define value validation functionality for the attribute. All// elements of the slice of AttributeValidator are run, regardless of any// previous error diagnostics.//// Many common use case validators can be found in the// github.com/hashicorp/terraform-plugin-framework-validators Go module.//// If the Type field points to a custom type that implements the// xattr.TypeWithValidate interface, the validators defined in this field// are run in addition to the validation defined by the type.Validators []validator.Float32}Float32Attribute represents a schema attribute that is a 32-bit floatingpoint number. When retrieving the value for this attribute, usetypes.Float32 as the value type unless the CustomType field is set.
Use Int32Attribute for 32-bit integer attributes or NumberAttribute for512-bit generic number attributes.
Terraform configurations configure this attribute using expressions thatreturn a number or directly via a floating point value.
example_attribute = 123.45
Terraform configurations reference this attribute using the attribute name.
.example_attribute
func (Float32Attribute)ApplyTerraform5AttributePathStep¶
func (aFloat32Attribute) ApplyTerraform5AttributePathStep(steptftypes.AttributePathStep) (interface{},error)
ApplyTerraform5AttributePathStep always returns an error as it is notpossible to step further into a Float32Attribute.
func (Float32Attribute)Equal¶
func (aFloat32Attribute) Equal(ofwschema.Attribute)bool
Equal returns true if the given Attribute is a Float32Attributeand all fields are equal.
func (Float32Attribute)Float32Validators¶
func (aFloat32Attribute) Float32Validators() []validator.Float32
Float32Validators returns the Validators field value.
func (Float32Attribute)GetDeprecationMessage¶
func (aFloat32Attribute) GetDeprecationMessage()string
GetDeprecationMessage returns the DeprecationMessage field value.
func (Float32Attribute)GetDescription¶
func (aFloat32Attribute) GetDescription()string
GetDescription returns the Description field value.
func (Float32Attribute)GetMarkdownDescription¶
func (aFloat32Attribute) GetMarkdownDescription()string
GetMarkdownDescription returns the MarkdownDescription field value.
func (Float32Attribute)GetType¶
func (aFloat32Attribute) GetType()attr.Type
GetType returns types.Float32Type or the CustomType field value if defined.
func (Float32Attribute)IsComputed¶
func (aFloat32Attribute) IsComputed()bool
IsComputed returns false because it does not apply to ListResource schemas.
func (Float32Attribute)IsOptional¶
func (aFloat32Attribute) IsOptional()bool
IsOptional returns the Optional field value.
func (Float32Attribute)IsOptionalForImport¶
func (aFloat32Attribute) IsOptionalForImport()bool
IsOptionalForImport returns false as this behavior is only relevantfor managed resource identity schema attributes.
func (Float32Attribute)IsRequired¶
func (aFloat32Attribute) IsRequired()bool
IsRequired returns the Required field value.
func (Float32Attribute)IsRequiredForImport¶
func (aFloat32Attribute) IsRequiredForImport()bool
IsRequiredForImport returns false as this behavior is only relevantfor managed resource identity schema attributes.
func (Float32Attribute)IsSensitive¶
func (aFloat32Attribute) IsSensitive()bool
IsSensitive returns false because it does not apply to ListResource schemas.
func (Float32Attribute)IsWriteOnly¶
func (aFloat32Attribute) IsWriteOnly()bool
IsWriteOnly returns false because it does not apply to ListResource schemas.
typeFloat64Attribute¶
type Float64Attribute struct {// CustomType enables the use of a custom attribute type in place of the// default basetypes.Float64Type. When retrieving data, the basetypes.Float64Valuable// associated with this custom type must be used in place of types.Float64.CustomTypebasetypes.Float64Typable// Required indicates whether the practitioner must enter a value for// this attribute or not. Required and Optional cannot both be true.Requiredbool// Optional indicates whether the practitioner can choose to enter a value// for this attribute or not. Optional and Required cannot both be true.Optionalbool// Description is used in various tooling, like the language server, to// give practitioners more information about what this attribute is,// what it's for, and how it should be used. It should be written as// plain text, with no special formatting.Descriptionstring// MarkdownDescription is used in various tooling, like the// documentation generator, to give practitioners more information// about what this attribute is, what it's for, and how it should be// used. It should be formatted using Markdown.MarkdownDescriptionstring// DeprecationMessage defines warning diagnostic details to display when// practitioner configurations use this Attribute. The warning diagnostic// summary is automatically set to "Attribute Deprecated" along with// configuration source file and line information.//// Set this field to a practitioner actionable message such as://// - "Configure other_attribute instead. This attribute will be removed// in the next major version of the provider."// - "Remove this attribute's configuration as it no longer is used and// the attribute will be removed in the next major version of the// provider."//// In Terraform 1.2.7 and later, this warning diagnostic is displayed any// time a practitioner attempts to configure a value for this attribute and// certain scenarios where this attribute is referenced.//// In Terraform 1.2.6 and earlier, this warning diagnostic is only// displayed when the Attribute is Required or Optional, and if the// practitioner configuration sets the value to a known or unknown value// (which may eventually be null). It has no effect when the Attribute is// Computed-only (read-only; not Required or Optional).//// Across any Terraform version, there are no warnings raised for// practitioner configuration values set directly to null, as there is no// way for the framework to differentiate between an unset and null// configuration due to how Terraform sends configuration information// across the protocol.//// Additional information about deprecation enhancements for read-only// attributes can be found in://// -https://github.com/hashicorp/terraform/issues/7569//DeprecationMessagestring// Validators define value validation functionality for the attribute. All// elements of the slice of AttributeValidator are run, regardless of any// previous error diagnostics.//// Many common use case validators can be found in the// github.com/hashicorp/terraform-plugin-framework-validators Go module.//// If the Type field points to a custom type that implements the// xattr.TypeWithValidate interface, the validators defined in this field// are run in addition to the validation defined by the type.Validators []validator.Float64}Float64Attribute represents a schema attribute that is a 64-bit floatingpoint number. When retrieving the value for this attribute, usetypes.Float64 as the value type unless the CustomType field is set.
Use Int64Attribute for 64-bit integer attributes or NumberAttribute for512-bit generic number attributes.
Terraform configurations configure this attribute using expressions thatreturn a number or directly via a floating point value.
example_attribute = 123.45
Terraform configurations reference this attribute using the attribute name.
.example_attribute
func (Float64Attribute)ApplyTerraform5AttributePathStep¶
func (aFloat64Attribute) ApplyTerraform5AttributePathStep(steptftypes.AttributePathStep) (interface{},error)
ApplyTerraform5AttributePathStep always returns an error as it is notpossible to step further into a Float64Attribute.
func (Float64Attribute)Equal¶
func (aFloat64Attribute) Equal(ofwschema.Attribute)bool
Equal returns true if the given Attribute is a Float64Attributeand all fields are equal.
func (Float64Attribute)Float64Validators¶
func (aFloat64Attribute) Float64Validators() []validator.Float64
Float64Validators returns the Validators field value.
func (Float64Attribute)GetDeprecationMessage¶
func (aFloat64Attribute) GetDeprecationMessage()string
GetDeprecationMessage returns the DeprecationMessage field value.
func (Float64Attribute)GetDescription¶
func (aFloat64Attribute) GetDescription()string
GetDescription returns the Description field value.
func (Float64Attribute)GetMarkdownDescription¶
func (aFloat64Attribute) GetMarkdownDescription()string
GetMarkdownDescription returns the MarkdownDescription field value.
func (Float64Attribute)GetType¶
func (aFloat64Attribute) GetType()attr.Type
GetType returns types.Float64Type or the CustomType field value if defined.
func (Float64Attribute)IsComputed¶
func (aFloat64Attribute) IsComputed()bool
IsComputed returns false because it does not apply to ListResource schemas.
func (Float64Attribute)IsOptional¶
func (aFloat64Attribute) IsOptional()bool
IsOptional returns the Optional field value.
func (Float64Attribute)IsOptionalForImport¶
func (aFloat64Attribute) IsOptionalForImport()bool
IsOptionalForImport returns false as this behavior is only relevantfor managed resource identity schema attributes.
func (Float64Attribute)IsRequired¶
func (aFloat64Attribute) IsRequired()bool
IsRequired returns the Required field value.
func (Float64Attribute)IsRequiredForImport¶
func (aFloat64Attribute) IsRequiredForImport()bool
IsRequiredForImport returns false as this behavior is only relevantfor managed resource identity schema attributes.
func (Float64Attribute)IsSensitive¶
func (aFloat64Attribute) IsSensitive()bool
IsSensitive returns false because it does not apply to ListResource schemas.
func (Float64Attribute)IsWriteOnly¶
func (aFloat64Attribute) IsWriteOnly()bool
IsWriteOnly returns false because it does not apply to ListResource schemas.
typeInt32Attribute¶
type Int32Attribute struct {// CustomType enables the use of a custom attribute type in place of the// default basetypes.Int32Type. When retrieving data, the basetypes.Int32Valuable// associated with this custom type must be used in place of types.Int32.CustomTypebasetypes.Int32Typable// Required indicates whether the practitioner must enter a value for// this attribute or not. Required and Optional cannot both be true.Requiredbool// Optional indicates whether the practitioner can choose to enter a value// for this attribute or not. Optional and Required cannot both be true.Optionalbool// Description is used in various tooling, like the language server, to// give practitioners more information about what this attribute is,// what it's for, and how it should be used. It should be written as// plain text, with no special formatting.Descriptionstring// MarkdownDescription is used in various tooling, like the// documentation generator, to give practitioners more information// about what this attribute is, what it's for, and how it should be// used. It should be formatted using Markdown.MarkdownDescriptionstring// DeprecationMessage defines warning diagnostic details to display when// practitioner configurations use this Attribute. The warning diagnostic// summary is automatically set to "Attribute Deprecated" along with// configuration source file and line information.//// Set this field to a practitioner actionable message such as://// - "Configure other_attribute instead. This attribute will be removed// in the next major version of the provider."// - "Remove this attribute's configuration as it no longer is used and// the attribute will be removed in the next major version of the// provider."//// In Terraform 1.2.7 and later, this warning diagnostic is displayed any// time a practitioner attempts to configure a value for this attribute and// certain scenarios where this attribute is referenced.//// In Terraform 1.2.6 and earlier, this warning diagnostic is only// displayed when the Attribute is Required or Optional, and if the// practitioner configuration sets the value to a known or unknown value// (which may eventually be null). It has no effect when the Attribute is// Computed-only (read-only; not Required or Optional).//// Across any Terraform version, there are no warnings raised for// practitioner configuration values set directly to null, as there is no// way for the framework to differentiate between an unset and null// configuration due to how Terraform sends configuration information// across the protocol.//// Additional information about deprecation enhancements for read-only// attributes can be found in://// -https://github.com/hashicorp/terraform/issues/7569//DeprecationMessagestring// Validators define value validation functionality for the attribute. All// elements of the slice of AttributeValidator are run, regardless of any// previous error diagnostics.//// Many common use case validators can be found in the// github.com/hashicorp/terraform-plugin-framework-validators Go module.//// If the Type field points to a custom type that implements the// xattr.TypeWithValidate interface, the validators defined in this field// are run in addition to the validation defined by the type.Validators []validator.Int32}Int32Attribute represents a schema attribute that is a 32-bit integer.When retrieving the value for this attribute, use types.Int32 as the valuetype unless the CustomType field is set.
Use Float32Attribute for 32-bit floating point number attributes orNumberAttribute for 512-bit generic number attributes.
Terraform configurations configure this attribute using expressions thatreturn a number or directly via an integer value.
example_attribute = 123
Terraform configurations reference this attribute using the attribute name.
.example_attribute
func (Int32Attribute)ApplyTerraform5AttributePathStep¶
func (aInt32Attribute) ApplyTerraform5AttributePathStep(steptftypes.AttributePathStep) (interface{},error)
ApplyTerraform5AttributePathStep always returns an error as it is notpossible to step further into a Int32Attribute.
func (Int32Attribute)Equal¶
func (aInt32Attribute) Equal(ofwschema.Attribute)bool
Equal returns true if the given Attribute is a Int32Attributeand all fields are equal.
func (Int32Attribute)GetDeprecationMessage¶
func (aInt32Attribute) GetDeprecationMessage()string
GetDeprecationMessage returns the DeprecationMessage field value.
func (Int32Attribute)GetDescription¶
func (aInt32Attribute) GetDescription()string
GetDescription returns the Description field value.
func (Int32Attribute)GetMarkdownDescription¶
func (aInt32Attribute) GetMarkdownDescription()string
GetMarkdownDescription returns the MarkdownDescription field value.
func (Int32Attribute)GetType¶
func (aInt32Attribute) GetType()attr.Type
GetType returns types.Int32Type or the CustomType field value if defined.
func (Int32Attribute)Int32Validators¶
func (aInt32Attribute) Int32Validators() []validator.Int32
Int32Validators returns the Validators field value.
func (Int32Attribute)IsComputed¶
func (aInt32Attribute) IsComputed()bool
IsComputed returns false because it does not apply to ListResource schemas.
func (Int32Attribute)IsOptional¶
func (aInt32Attribute) IsOptional()bool
IsOptional returns the Optional field value.
func (Int32Attribute)IsOptionalForImport¶
func (aInt32Attribute) IsOptionalForImport()bool
IsOptionalForImport returns false as this behavior is only relevantfor managed resource identity schema attributes.
func (Int32Attribute)IsRequired¶
func (aInt32Attribute) IsRequired()bool
IsRequired returns the Required field value.
func (Int32Attribute)IsRequiredForImport¶
func (aInt32Attribute) IsRequiredForImport()bool
IsRequiredForImport returns false as this behavior is only relevantfor managed resource identity schema attributes.
func (Int32Attribute)IsSensitive¶
func (aInt32Attribute) IsSensitive()bool
IsSensitive returns false because it does not apply to ListResource schemas.
func (Int32Attribute)IsWriteOnly¶
func (aInt32Attribute) IsWriteOnly()bool
IsWriteOnly returns false because it does not apply to ListResource schemas.
typeInt64Attribute¶
type Int64Attribute struct {// CustomType enables the use of a custom attribute type in place of the// default basetypes.Int64Type. When retrieving data, the basetypes.Int64Valuable// associated with this custom type must be used in place of types.Int64.CustomTypebasetypes.Int64Typable// Required indicates whether the practitioner must enter a value for// this attribute or not. Required and Optional cannot both be true.Requiredbool// Optional indicates whether the practitioner can choose to enter a value// for this attribute or not. Optional and Required cannot both be true.Optionalbool// Description is used in various tooling, like the language server, to// give practitioners more information about what this attribute is,// what it's for, and how it should be used. It should be written as// plain text, with no special formatting.Descriptionstring// MarkdownDescription is used in various tooling, like the// documentation generator, to give practitioners more information// about what this attribute is, what it's for, and how it should be// used. It should be formatted using Markdown.MarkdownDescriptionstring// DeprecationMessage defines warning diagnostic details to display when// practitioner configurations use this Attribute. The warning diagnostic// summary is automatically set to "Attribute Deprecated" along with// configuration source file and line information.//// Set this field to a practitioner actionable message such as://// - "Configure other_attribute instead. This attribute will be removed// in the next major version of the provider."// - "Remove this attribute's configuration as it no longer is used and// the attribute will be removed in the next major version of the// provider."//// In Terraform 1.2.7 and later, this warning diagnostic is displayed any// time a practitioner attempts to configure a value for this attribute and// certain scenarios where this attribute is referenced.//// In Terraform 1.2.6 and earlier, this warning diagnostic is only// displayed when the Attribute is Required or Optional, and if the// practitioner configuration sets the value to a known or unknown value// (which may eventually be null). It has no effect when the Attribute is// Computed-only (read-only; not Required or Optional).//// Across any Terraform version, there are no warnings raised for// practitioner configuration values set directly to null, as there is no// way for the framework to differentiate between an unset and null// configuration due to how Terraform sends configuration information// across the protocol.//// Additional information about deprecation enhancements for read-only// attributes can be found in://// -https://github.com/hashicorp/terraform/issues/7569//DeprecationMessagestring// Validators define value validation functionality for the attribute. All// elements of the slice of AttributeValidator are run, regardless of any// previous error diagnostics.//// Many common use case validators can be found in the// github.com/hashicorp/terraform-plugin-framework-validators Go module.//// If the Type field points to a custom type that implements the// xattr.TypeWithValidate interface, the validators defined in this field// are run in addition to the validation defined by the type.Validators []validator.Int64}Int64Attribute represents a schema attribute that is a 64-bit integer.When retrieving the value for this attribute, use types.Int64 as the valuetype unless the CustomType field is set.
Use Float64Attribute for 64-bit floating point number attributes orNumberAttribute for 512-bit generic number attributes.
Terraform configurations configure this attribute using expressions thatreturn a number or directly via an integer value.
example_attribute = 123
Terraform configurations reference this attribute using the attribute name.
.example_attribute
func (Int64Attribute)ApplyTerraform5AttributePathStep¶
func (aInt64Attribute) ApplyTerraform5AttributePathStep(steptftypes.AttributePathStep) (interface{},error)
ApplyTerraform5AttributePathStep always returns an error as it is notpossible to step further into a Int64Attribute.
func (Int64Attribute)Equal¶
func (aInt64Attribute) Equal(ofwschema.Attribute)bool
Equal returns true if the given Attribute is a Int64Attributeand all fields are equal.
func (Int64Attribute)GetDeprecationMessage¶
func (aInt64Attribute) GetDeprecationMessage()string
GetDeprecationMessage returns the DeprecationMessage field value.
func (Int64Attribute)GetDescription¶
func (aInt64Attribute) GetDescription()string
GetDescription returns the Description field value.
func (Int64Attribute)GetMarkdownDescription¶
func (aInt64Attribute) GetMarkdownDescription()string
GetMarkdownDescription returns the MarkdownDescription field value.
func (Int64Attribute)GetType¶
func (aInt64Attribute) GetType()attr.Type
GetType returns types.Int64Type or the CustomType field value if defined.
func (Int64Attribute)Int64Validators¶
func (aInt64Attribute) Int64Validators() []validator.Int64
Int64Validators returns the Validators field value.
func (Int64Attribute)IsComputed¶
func (aInt64Attribute) IsComputed()bool
IsComputed returns false because it does not apply to ListResource schemas.
func (Int64Attribute)IsOptional¶
func (aInt64Attribute) IsOptional()bool
IsOptional returns the Optional field value.
func (Int64Attribute)IsOptionalForImport¶
func (aInt64Attribute) IsOptionalForImport()bool
IsOptionalForImport returns false as this behavior is only relevantfor managed resource identity schema attributes.
func (Int64Attribute)IsRequired¶
func (aInt64Attribute) IsRequired()bool
IsRequired returns the Required field value.
func (Int64Attribute)IsRequiredForImport¶
func (aInt64Attribute) IsRequiredForImport()bool
IsRequiredForImport returns false as this behavior is only relevantfor managed resource identity schema attributes.
func (Int64Attribute)IsSensitive¶
func (aInt64Attribute) IsSensitive()bool
IsSensitive returns false because it does not apply to ListResource schemas.
func (Int64Attribute)IsWriteOnly¶
func (aInt64Attribute) IsWriteOnly()bool
IsWriteOnly returns false because it does not apply to ListResource schemas.
typeListAttribute¶
type ListAttribute struct {// ElementType is the type for all elements of the list. This field must be// set.//// Element types that contain a dynamic type (i.e. types.Dynamic) are not supported.// If underlying dynamic values are required, replace this attribute definition with// DynamicAttribute instead.ElementTypeattr.Type// CustomType enables the use of a custom attribute type in place of the// default basetypes.ListType. When retrieving data, the basetypes.ListValuable// associated with this custom type must be used in place of types.List.CustomTypebasetypes.ListTypable// Required indicates whether the practitioner must enter a value for// this attribute or not. Required and Optional cannot both be true.Requiredbool// Optional indicates whether the practitioner can choose to enter a value// for this attribute or not. Optional and Required cannot both be true.Optionalbool// Description is used in various tooling, like the language server, to// give practitioners more information about what this attribute is,// what it's for, and how it should be used. It should be written as// plain text, with no special formatting.Descriptionstring// MarkdownDescription is used in various tooling, like the// documentation generator, to give practitioners more information// about what this attribute is, what it's for, and how it should be// used. It should be formatted using Markdown.MarkdownDescriptionstring// DeprecationMessage defines warning diagnostic details to display when// practitioner configurations use this Attribute. The warning diagnostic// summary is automatically set to "Attribute Deprecated" along with// configuration source file and line information.//// Set this field to a practitioner actionable message such as://// - "Configure other_attribute instead. This attribute will be removed// in the next major version of the provider."// - "Remove this attribute's configuration as it no longer is used and// the attribute will be removed in the next major version of the// provider."//// In Terraform 1.2.7 and later, this warning diagnostic is displayed any// time a practitioner attempts to configure a value for this attribute and// certain scenarios where this attribute is referenced.//// In Terraform 1.2.6 and earlier, this warning diagnostic is only// displayed when the Attribute is Required or Optional, and if the// practitioner configuration sets the value to a known or unknown value// (which may eventually be null). It has no effect when the Attribute is// Computed-only (read-only; not Required or Optional).//// Across any Terraform version, there are no warnings raised for// practitioner configuration values set directly to null, as there is no// way for the framework to differentiate between an unset and null// configuration due to how Terraform sends configuration information// across the protocol.//// Additional information about deprecation enhancements for read-only// attributes can be found in://// -https://github.com/hashicorp/terraform/issues/7569//DeprecationMessagestring// Validators define value validation functionality for the attribute. All// elements of the slice of AttributeValidator are run, regardless of any// previous error diagnostics.//// Many common use case validators can be found in the// github.com/hashicorp/terraform-plugin-framework-validators Go module.//// If the Type field points to a custom type that implements the// xattr.TypeWithValidate interface, the validators defined in this field// are run in addition to the validation defined by the type.Validators []validator.List}ListAttribute represents a schema attribute that is a list with a singleelement type. When retrieving the value for this attribute, use types.Listas the value type unless the CustomType field is set. The ElementType fieldmust be set.
Terraform configurations configure this attribute using expressions thatreturn a list or directly via square brace syntax.
# list of stringsexample_attribute = ["first", "second"]
Terraform configurations reference this attribute using expressions thataccept a list or an element directly via square brace 0-based index syntax:
# first known element.example_attribute[0]
func (ListAttribute)ApplyTerraform5AttributePathStep¶
func (aListAttribute) ApplyTerraform5AttributePathStep(steptftypes.AttributePathStep) (interface{},error)
ApplyTerraform5AttributePathStep returns the result of stepping into a listindex or an error.
func (ListAttribute)Equal¶
func (aListAttribute) Equal(ofwschema.Attribute)bool
Equal returns true if the given Attribute is a ListAttributeand all fields are equal.
func (ListAttribute)GetDeprecationMessage¶
func (aListAttribute) GetDeprecationMessage()string
GetDeprecationMessage returns the DeprecationMessage field value.
func (ListAttribute)GetDescription¶
func (aListAttribute) GetDescription()string
GetDescription returns the Description field value.
func (ListAttribute)GetMarkdownDescription¶
func (aListAttribute) GetMarkdownDescription()string
GetMarkdownDescription returns the MarkdownDescription field value.
func (ListAttribute)GetType¶
func (aListAttribute) GetType()attr.Type
GetType returns types.ListType or the CustomType field value if defined.
func (ListAttribute)IsComputed¶
func (aListAttribute) IsComputed()bool
IsComputed returns false because it does not apply to ListResource schemas.
func (ListAttribute)IsOptional¶
func (aListAttribute) IsOptional()bool
IsOptional returns the Optional field value.
func (ListAttribute)IsOptionalForImport¶
func (aListAttribute) IsOptionalForImport()bool
IsOptionalForImport returns false as this behavior is only relevantfor managed resource identity schema attributes.
func (ListAttribute)IsRequired¶
func (aListAttribute) IsRequired()bool
IsRequired returns the Required field value.
func (ListAttribute)IsRequiredForImport¶
func (aListAttribute) IsRequiredForImport()bool
IsRequiredForImport returns false as this behavior is only relevantfor managed resource identity schema attributes.
func (ListAttribute)IsSensitive¶
func (aListAttribute) IsSensitive()bool
IsSensitive returns false because it does not apply to ListResource schemas.
func (ListAttribute)IsWriteOnly¶
func (aListAttribute) IsWriteOnly()bool
IsWriteOnly returns false because it does not apply to ListResource schemas.
func (ListAttribute)ListValidators¶
func (aListAttribute) ListValidators() []validator.List
ListValidators returns the Validators field value.
func (ListAttribute)ValidateImplementation¶
func (aListAttribute) ValidateImplementation(ctxcontext.Context, reqfwschema.ValidateImplementationRequest, resp *fwschema.ValidateImplementationResponse)
ValidateImplementation contains logic for validating theprovider-defined implementation of the attribute to prevent unexpectederrors or panics. This logic runs during the GetProviderSchema RPCand should never include false positives.
typeListNestedAttribute¶
type ListNestedAttribute struct {// NestedObject is the underlying object that contains nested attributes.// This field must be set.//// Nested attributes that contain a dynamic type (i.e. DynamicAttribute) are not supported.// If underlying dynamic values are required, replace this attribute definition with// DynamicAttribute instead.NestedObjectNestedAttributeObject// CustomType enables the use of a custom attribute type in place of the// default types.ListType of types.ObjectType. When retrieving data, the// basetypes.ListValuable associated with this custom type must be used in// place of types.List.CustomTypebasetypes.ListTypable// Required indicates whether the practitioner must enter a value for// this attribute or not. Required and Optional cannot both be true.Requiredbool// Optional indicates whether the practitioner can choose to enter a value// for this attribute or not. Optional and Required cannot both be true.Optionalbool// Description is used in various tooling, like the language server, to// give practitioners more information about what this attribute is,// what it's for, and how it should be used. It should be written as// plain text, with no special formatting.Descriptionstring// MarkdownDescription is used in various tooling, like the// documentation generator, to give practitioners more information// about what this attribute is, what it's for, and how it should be// used. It should be formatted using Markdown.MarkdownDescriptionstring// DeprecationMessage defines warning diagnostic details to display when// practitioner configurations use this Attribute. The warning diagnostic// summary is automatically set to "Attribute Deprecated" along with// configuration source file and line information.//// Set this field to a practitioner actionable message such as://// - "Configure other_attribute instead. This attribute will be removed// in the next major version of the provider."// - "Remove this attribute's configuration as it no longer is used and// the attribute will be removed in the next major version of the// provider."//// In Terraform 1.2.7 and later, this warning diagnostic is displayed any// time a practitioner attempts to configure a value for this attribute and// certain scenarios where this attribute is referenced.//// In Terraform 1.2.6 and earlier, this warning diagnostic is only// displayed when the Attribute is Required or Optional, and if the// practitioner configuration sets the value to a known or unknown value// (which may eventually be null). It has no effect when the Attribute is// Computed-only (read-only; not Required or Optional).//// Across any Terraform version, there are no warnings raised for// practitioner configuration values set directly to null, as there is no// way for the framework to differentiate between an unset and null// configuration due to how Terraform sends configuration information// across the protocol.//// Additional information about deprecation enhancements for read-only// attributes can be found in://// -https://github.com/hashicorp/terraform/issues/7569//DeprecationMessagestring// Validators define value validation functionality for the attribute. All// elements of the slice of AttributeValidator are run, regardless of any// previous error diagnostics.//// Many common use case validators can be found in the// github.com/hashicorp/terraform-plugin-framework-validators Go module.//// If the Type field points to a custom type that implements the// xattr.TypeWithValidate interface, the validators defined in this field// are run in addition to the validation defined by the type.Validators []validator.List}ListNestedAttribute represents an attribute that is a list of objects wherethe object attributes can be fully defined, including further nestedattributes. When retrieving the value for this attribute, use types.Listas the value type unless the CustomType field is set. The NestedObject fieldmust be set. Nested attributes are only compatible with protocol version 6.
Use ListAttribute if the underlying elements are of a single type and donot require definition beyond type information.
Terraform configurations configure this attribute using expressions thatreturn a list of objects or directly via square and curly brace syntax.
# list of objectsexample_attribute = [{nested_attribute = #...},]Terraform configurations reference this attribute using expressions thataccept a list of objects or an element directly via square brace 0-basedindex syntax:
# first known object.example_attribute[0]# first known object nested_attribute value.example_attribute[0].nested_attribute
func (ListNestedAttribute)ApplyTerraform5AttributePathStep¶
func (aListNestedAttribute) ApplyTerraform5AttributePathStep(steptftypes.AttributePathStep) (interface{},error)
ApplyTerraform5AttributePathStep returns the Attributes field value if stepis ElementKeyInt, otherwise returns an error.
func (ListNestedAttribute)Equal¶
func (aListNestedAttribute) Equal(ofwschema.Attribute)bool
Equal returns true if the given Attribute is a ListNestedAttributeand all fields are equal.
func (ListNestedAttribute)GetDeprecationMessage¶
func (aListNestedAttribute) GetDeprecationMessage()string
GetDeprecationMessage returns the DeprecationMessage field value.
func (ListNestedAttribute)GetDescription¶
func (aListNestedAttribute) GetDescription()string
GetDescription returns the Description field value.
func (ListNestedAttribute)GetMarkdownDescription¶
func (aListNestedAttribute) GetMarkdownDescription()string
GetMarkdownDescription returns the MarkdownDescription field value.
func (ListNestedAttribute)GetNestedObject¶
func (aListNestedAttribute) GetNestedObject()fwschema.NestedAttributeObject
GetNestedObject returns the NestedObject field value.
func (ListNestedAttribute)GetNestingMode¶
func (aListNestedAttribute) GetNestingMode()fwschema.NestingMode
GetNestingMode always returns NestingModeList.
func (ListNestedAttribute)GetType¶
func (aListNestedAttribute) GetType()attr.Type
GetType returns ListType of ObjectType or CustomType.
func (ListNestedAttribute)IsComputed¶
func (aListNestedAttribute) IsComputed()bool
IsComputed returns false because it does not apply to ListResource schemas.
func (ListNestedAttribute)IsOptional¶
func (aListNestedAttribute) IsOptional()bool
IsOptional returns the Optional field value.
func (ListNestedAttribute)IsOptionalForImport¶
func (aListNestedAttribute) IsOptionalForImport()bool
IsOptionalForImport returns false as this behavior is only relevantfor managed resource identity schema attributes.
func (ListNestedAttribute)IsRequired¶
func (aListNestedAttribute) IsRequired()bool
IsRequired returns the Required field value.
func (ListNestedAttribute)IsRequiredForImport¶
func (aListNestedAttribute) IsRequiredForImport()bool
IsRequiredForImport returns false as this behavior is only relevantfor managed resource identity schema attributes.
func (ListNestedAttribute)IsSensitive¶
func (aListNestedAttribute) IsSensitive()bool
IsSensitive returns false because it does not apply to ListResource schemas.
func (ListNestedAttribute)IsWriteOnly¶
func (aListNestedAttribute) IsWriteOnly()bool
IsWriteOnly returns false because it does not apply to ListResource schemas.
func (ListNestedAttribute)ListValidators¶
func (aListNestedAttribute) ListValidators() []validator.List
ListValidators returns the Validators field value.
func (ListNestedAttribute)ValidateImplementation¶
func (aListNestedAttribute) ValidateImplementation(ctxcontext.Context, reqfwschema.ValidateImplementationRequest, resp *fwschema.ValidateImplementationResponse)
ValidateImplementation contains logic for validating theprovider-defined implementation of the attribute to prevent unexpectederrors or panics. This logic runs during the GetProviderSchema RPC andshould never include false positives.
typeListNestedBlock¶
type ListNestedBlock struct {// NestedObject is the underlying object that contains nested attributes or// blocks. This field must be set.//// Nested attributes that contain a dynamic type (i.e. DynamicAttribute) are not supported.// If underlying dynamic values are required, replace this block definition with// a DynamicAttribute.NestedObjectNestedBlockObject// CustomType enables the use of a custom attribute type in place of the// default types.ListType of types.ObjectType. When retrieving data, the// basetypes.ListValuable associated with this custom type must be used in// place of types.List.CustomTypebasetypes.ListTypable// Description is used in various tooling, like the language server, to// give practitioners more information about what this attribute is,// what it's for, and how it should be used. It should be written as// plain text, with no special formatting.Descriptionstring// MarkdownDescription is used in various tooling, like the// documentation generator, to give practitioners more information// about what this attribute is, what it's for, and how it should be// used. It should be formatted using Markdown.MarkdownDescriptionstring// DeprecationMessage defines warning diagnostic details to display when// practitioner configurations use this Attribute. The warning diagnostic// summary is automatically set to "Attribute Deprecated" along with// configuration source file and line information.//// Set this field to a practitioner actionable message such as://// - "Configure other_attribute instead. This attribute will be removed// in the next major version of the provider."// - "Remove this attribute's configuration as it no longer is used and// the attribute will be removed in the next major version of the// provider."//// In Terraform 1.2.7 and later, this warning diagnostic is displayed any// time a practitioner attempts to configure a value for this attribute and// certain scenarios where this attribute is referenced.//// In Terraform 1.2.6 and earlier, this warning diagnostic is only// displayed when the Attribute is Required or Optional, and if the// practitioner configuration sets the value to a known or unknown value// (which may eventually be null). It has no effect when the Attribute is// Computed-only (read-only; not Required or Optional).//// Across any Terraform version, there are no warnings raised for// practitioner configuration values set directly to null, as there is no// way for the framework to differentiate between an unset and null// configuration due to how Terraform sends configuration information// across the protocol.//// Additional information about deprecation enhancements for read-only// attributes can be found in://// -https://github.com/hashicorp/terraform/issues/7569//DeprecationMessagestring// Validators define value validation functionality for the attribute. All// elements of the slice of AttributeValidator are run, regardless of any// previous error diagnostics.//// Many common use case validators can be found in the// github.com/hashicorp/terraform-plugin-framework-validators Go module.//// If the Type field points to a custom type that implements the// xattr.TypeWithValidate interface, the validators defined in this field// are run in addition to the validation defined by the type.Validators []validator.List}ListNestedBlock represents a block that is a list of objects wherethe object attributes can be fully defined, including further attributesor blocks. When retrieving the value for this block, use types.Listas the value type unless the CustomType field is set. The NestedObject fieldmust be set.
Prefer ListNestedAttribute over ListNestedBlock if the provider isusing protocol version 6. Nested attributes allow practitioners to configurevalues directly with expressions.
Terraform configurations configure this block repeatedly using curly bracesyntax without an equals (=) sign orDynamic Block Expressions.
# list of blocks with two elementsexample_block {nested_attribute = #...}example_block {nested_attribute = #...}Terraform configurations reference this block using expressions thataccept a list of objects or an element directly via square brace 0-basedindex syntax:
# first known object.example_block[0]# first known object nested_attribute value.example_block[0].nested_attribute
func (ListNestedBlock)ApplyTerraform5AttributePathStep¶
func (bListNestedBlock) ApplyTerraform5AttributePathStep(steptftypes.AttributePathStep) (interface{},error)
ApplyTerraform5AttributePathStep returns the NestedObject field value if stepis ElementKeyInt, otherwise returns an error.
func (ListNestedBlock)Equal¶
func (bListNestedBlock) Equal(ofwschema.Block)bool
Equal returns true if the given Block is ListNestedBlockand all fields are equal.
func (ListNestedBlock)GetDeprecationMessage¶
func (bListNestedBlock) GetDeprecationMessage()string
GetDeprecationMessage returns the DeprecationMessage field value.
func (ListNestedBlock)GetDescription¶
func (bListNestedBlock) GetDescription()string
GetDescription returns the Description field value.
func (ListNestedBlock)GetMarkdownDescription¶
func (bListNestedBlock) GetMarkdownDescription()string
GetMarkdownDescription returns the MarkdownDescription field value.
func (ListNestedBlock)GetNestedObject¶
func (bListNestedBlock) GetNestedObject()fwschema.NestedBlockObject
GetNestedObject returns the NestedObject field value.
func (ListNestedBlock)GetNestingMode¶
func (bListNestedBlock) GetNestingMode()fwschema.BlockNestingMode
GetNestingMode always returns BlockNestingModeList.
func (ListNestedBlock)ListValidators¶
func (bListNestedBlock) ListValidators() []validator.List
ListValidators returns the Validators field value.
func (ListNestedBlock)Type¶
func (bListNestedBlock) Type()attr.Type
Type returns ListType of ObjectType or CustomType.
func (ListNestedBlock)ValidateImplementation¶
func (bListNestedBlock) ValidateImplementation(ctxcontext.Context, reqfwschema.ValidateImplementationRequest, resp *fwschema.ValidateImplementationResponse)
ValidateImplementation contains logic for validating theprovider-defined implementation of the block to prevent unexpectederrors or panics. This logic runs during the GetProviderSchema RPC andshould never include false positives.
typeMapAttribute¶
type MapAttribute struct {// ElementType is the type for all elements of the map. This field must be// set.//// Element types that contain a dynamic type (i.e. types.Dynamic) are not supported.// If underlying dynamic values are required, replace this attribute definition with// DynamicAttribute instead.ElementTypeattr.Type// CustomType enables the use of a custom attribute type in place of the// default basetypes.MapType. When retrieving data, the basetypes.MapValuable// associated with this custom type must be used in place of types.Map.CustomTypebasetypes.MapTypable// Required indicates whether the practitioner must enter a value for// this attribute or not. Required and Optional cannot both be true.Requiredbool// Optional indicates whether the practitioner can choose to enter a value// for this attribute or not. Optional and Required cannot both be true.Optionalbool// Description is used in various tooling, like the language server, to// give practitioners more information about what this attribute is,// what it's for, and how it should be used. It should be written as// plain text, with no special formatting.Descriptionstring// MarkdownDescription is used in various tooling, like the// documentation generator, to give practitioners more information// about what this attribute is, what it's for, and how it should be// used. It should be formatted using Markdown.MarkdownDescriptionstring// DeprecationMessage defines warning diagnostic details to display when// practitioner configurations use this Attribute. The warning diagnostic// summary is automatically set to "Attribute Deprecated" along with// configuration source file and line information.//// Set this field to a practitioner actionable message such as://// - "Configure other_attribute instead. This attribute will be removed// in the next major version of the provider."// - "Remove this attribute's configuration as it no longer is used and// the attribute will be removed in the next major version of the// provider."//// In Terraform 1.2.7 and later, this warning diagnostic is displayed any// time a practitioner attempts to configure a value for this attribute and// certain scenarios where this attribute is referenced.//// In Terraform 1.2.6 and earlier, this warning diagnostic is only// displayed when the Attribute is Required or Optional, and if the// practitioner configuration sets the value to a known or unknown value// (which may eventually be null). It has no effect when the Attribute is// Computed-only (read-only; not Required or Optional).//// Across any Terraform version, there are no warnings raised for// practitioner configuration values set directly to null, as there is no// way for the framework to differentiate between an unset and null// configuration due to how Terraform sends configuration information// across the protocol.//// Additional information about deprecation enhancements for read-only// attributes can be found in://// -https://github.com/hashicorp/terraform/issues/7569//DeprecationMessagestring// Validators define value validation functionality for the attribute. All// elements of the slice of AttributeValidator are run, regardless of any// previous error diagnostics.//// Many common use case validators can be found in the// github.com/hashicorp/terraform-plugin-framework-validators Go module.//// If the Type field points to a custom type that implements the// xattr.TypeWithValidate interface, the validators defined in this field// are run in addition to the validation defined by the type.Validators []validator.Map}MapAttribute represents a schema attribute that is a map with a singleelement type. When retrieving the value for this attribute, use types.Mapas the value type unless the CustomType field is set. The ElementType fieldmust be set.
Terraform configurations configure this attribute using expressions thatreturn a map or directly via curly brace syntax.
# map of stringsexample_attribute = {key1 = "first",key2 = "second",}Terraform configurations reference this attribute using expressions thataccept a map or an element directly via square brace string syntax:
# key1 known element.example_attribute["key1"]
func (MapAttribute)ApplyTerraform5AttributePathStep¶
func (aMapAttribute) ApplyTerraform5AttributePathStep(steptftypes.AttributePathStep) (interface{},error)
ApplyTerraform5AttributePathStep returns the result of stepping into a mapindex or an error.
func (MapAttribute)Equal¶
func (aMapAttribute) Equal(ofwschema.Attribute)bool
Equal returns true if the given Attribute is a MapAttributeand all fields are equal.
func (MapAttribute)GetDeprecationMessage¶
func (aMapAttribute) GetDeprecationMessage()string
GetDeprecationMessage returns the DeprecationMessage field value.
func (MapAttribute)GetDescription¶
func (aMapAttribute) GetDescription()string
GetDescription returns the Description field value.
func (MapAttribute)GetMarkdownDescription¶
func (aMapAttribute) GetMarkdownDescription()string
GetMarkdownDescription returns the MarkdownDescription field value.
func (MapAttribute)GetType¶
func (aMapAttribute) GetType()attr.Type
GetType returns types.MapType or the CustomType field value if defined.
func (MapAttribute)IsComputed¶
func (aMapAttribute) IsComputed()bool
IsComputed returns false because it does not apply to ListResource schemas.
func (MapAttribute)IsOptional¶
func (aMapAttribute) IsOptional()bool
IsOptional returns the Optional field value.
func (MapAttribute)IsOptionalForImport¶
func (aMapAttribute) IsOptionalForImport()bool
IsOptionalForImport returns false as this behavior is only relevantfor managed resource identity schema attributes.
func (MapAttribute)IsRequired¶
func (aMapAttribute) IsRequired()bool
IsRequired returns the Required field value.
func (MapAttribute)IsRequiredForImport¶
func (aMapAttribute) IsRequiredForImport()bool
IsRequiredForImport returns false as this behavior is only relevantfor managed resource identity schema attributes.
func (MapAttribute)IsSensitive¶
func (aMapAttribute) IsSensitive()bool
IsSensitive returns false because it does not apply to ListResource schemas.
func (MapAttribute)IsWriteOnly¶
func (aMapAttribute) IsWriteOnly()bool
IsWriteOnly returns false because it does not apply to ListResource schemas.
func (MapAttribute)MapValidators¶
func (aMapAttribute) MapValidators() []validator.Map
MapValidators returns the Validators field value.
func (MapAttribute)ValidateImplementation¶
func (aMapAttribute) ValidateImplementation(ctxcontext.Context, reqfwschema.ValidateImplementationRequest, resp *fwschema.ValidateImplementationResponse)
ValidateImplementation contains logic for validating theprovider-defined implementation of the attribute to prevent unexpectederrors or panics. This logic runs during the GetProviderSchema RPCand should never include false positives.
typeMapNestedAttribute¶
type MapNestedAttribute struct {// NestedObject is the underlying object that contains nested attributes.// This field must be set.//// Nested attributes that contain a dynamic type (i.e. DynamicAttribute) are not supported.// If underlying dynamic values are required, replace this attribute definition with// DynamicAttribute instead.NestedObjectNestedAttributeObject// CustomType enables the use of a custom attribute type in place of the// default types.MapType of types.ObjectType. When retrieving data, the// basetypes.MapValuable associated with this custom type must be used in// place of types.Map.CustomTypebasetypes.MapTypable// Required indicates whether the practitioner must enter a value for// this attribute or not. Required and Optional cannot both be true.Requiredbool// Optional indicates whether the practitioner can choose to enter a value// for this attribute or not. Optional and Required cannot both be true.Optionalbool// Description is used in various tooling, like the language server, to// give practitioners more information about what this attribute is,// what it's for, and how it should be used. It should be written as// plain text, with no special formatting.Descriptionstring// MarkdownDescription is used in various tooling, like the// documentation generator, to give practitioners more information// about what this attribute is, what it's for, and how it should be// used. It should be formatted using Markdown.MarkdownDescriptionstring// DeprecationMessage defines warning diagnostic details to display when// practitioner configurations use this Attribute. The warning diagnostic// summary is automatically set to "Attribute Deprecated" along with// configuration source file and line information.//// Set this field to a practitioner actionable message such as://// - "Configure other_attribute instead. This attribute will be removed// in the next major version of the provider."// - "Remove this attribute's configuration as it no longer is used and// the attribute will be removed in the next major version of the// provider."//// In Terraform 1.2.7 and later, this warning diagnostic is displayed any// time a practitioner attempts to configure a value for this attribute and// certain scenarios where this attribute is referenced.//// In Terraform 1.2.6 and earlier, this warning diagnostic is only// displayed when the Attribute is Required or Optional, and if the// practitioner configuration sets the value to a known or unknown value// (which may eventually be null). It has no effect when the Attribute is// Computed-only (read-only; not Required or Optional).//// Across any Terraform version, there are no warnings raised for// practitioner configuration values set directly to null, as there is no// way for the framework to differentiate between an unset and null// configuration due to how Terraform sends configuration information// across the protocol.//// Additional information about deprecation enhancements for read-only// attributes can be found in://// -https://github.com/hashicorp/terraform/issues/7569//DeprecationMessagestring// Validators define value validation functionality for the attribute. All// elements of the slice of AttributeValidator are run, regardless of any// previous error diagnostics.//// Many common use case validators can be found in the// github.com/hashicorp/terraform-plugin-framework-validators Go module.//// If the Type field points to a custom type that implements the// xattr.TypeWithValidate interface, the validators defined in this field// are run in addition to the validation defined by the type.Validators []validator.Map}MapNestedAttribute represents an attribute that is a map of objects wherethe object attributes can be fully defined, including further nestedattributes. When retrieving the value for this attribute, use types.Mapas the value type unless the CustomType field is set. The NestedObject fieldmust be set. Nested attributes are only compatible with protocol version 6.
Use MapAttribute if the underlying elements are of a single type and donot require definition beyond type information.
Terraform configurations configure this attribute using expressions thatreturn a map of objects or directly via curly brace syntax.
# map of objectsexample_attribute = {key = {nested_attribute = #...},]Terraform configurations reference this attribute using expressions thataccept a map of objects or an element directly via square brace stringsyntax:
# known object at key.example_attribute["key"]# known object nested_attribute value at key.example_attribute["key"].nested_attribute
func (MapNestedAttribute)ApplyTerraform5AttributePathStep¶
func (aMapNestedAttribute) ApplyTerraform5AttributePathStep(steptftypes.AttributePathStep) (interface{},error)
ApplyTerraform5AttributePathStep returns the Attributes field value if stepis ElementKeyString, otherwise returns an error.
func (MapNestedAttribute)Equal¶
func (aMapNestedAttribute) Equal(ofwschema.Attribute)bool
Equal returns true if the given Attribute is a MapNestedAttributeand all fields are equal.
func (MapNestedAttribute)GetDeprecationMessage¶
func (aMapNestedAttribute) GetDeprecationMessage()string
GetDeprecationMessage returns the DeprecationMessage field value.
func (MapNestedAttribute)GetDescription¶
func (aMapNestedAttribute) GetDescription()string
GetDescription returns the Description field value.
func (MapNestedAttribute)GetMarkdownDescription¶
func (aMapNestedAttribute) GetMarkdownDescription()string
GetMarkdownDescription returns the MarkdownDescription field value.
func (MapNestedAttribute)GetNestedObject¶
func (aMapNestedAttribute) GetNestedObject()fwschema.NestedAttributeObject
GetNestedObject returns the NestedObject field value.
func (MapNestedAttribute)GetNestingMode¶
func (aMapNestedAttribute) GetNestingMode()fwschema.NestingMode
GetNestingMode always returns NestingModeMap.
func (MapNestedAttribute)GetType¶
func (aMapNestedAttribute) GetType()attr.Type
GetType returns MapType of ObjectType or CustomType.
func (MapNestedAttribute)IsComputed¶
func (aMapNestedAttribute) IsComputed()bool
IsComputed returns false because it does not apply to ListResource schemas.
func (MapNestedAttribute)IsOptional¶
func (aMapNestedAttribute) IsOptional()bool
IsOptional returns the Optional field value.
func (MapNestedAttribute)IsOptionalForImport¶
func (aMapNestedAttribute) IsOptionalForImport()bool
IsOptionalForImport returns false as this behavior is only relevantfor managed resource identity schema attributes.
func (MapNestedAttribute)IsRequired¶
func (aMapNestedAttribute) IsRequired()bool
IsRequired returns the Required field value.
func (MapNestedAttribute)IsRequiredForImport¶
func (aMapNestedAttribute) IsRequiredForImport()bool
IsRequiredForImport returns false as this behavior is only relevantfor managed resource identity schema attributes.
func (MapNestedAttribute)IsSensitive¶
func (aMapNestedAttribute) IsSensitive()bool
IsSensitive returns false because it does not apply to ListResource schemas.
func (MapNestedAttribute)IsWriteOnly¶
func (aMapNestedAttribute) IsWriteOnly()bool
IsWriteOnly returns false because it does not apply to ListResource schemas.
func (MapNestedAttribute)MapValidators¶
func (aMapNestedAttribute) MapValidators() []validator.Map
MapValidators returns the Validators field value.
func (MapNestedAttribute)ValidateImplementation¶
func (aMapNestedAttribute) ValidateImplementation(ctxcontext.Context, reqfwschema.ValidateImplementationRequest, resp *fwschema.ValidateImplementationResponse)
ValidateImplementation contains logic for validating theprovider-defined implementation of the attribute to prevent unexpectederrors or panics. This logic runs during the GetProviderSchema RPC andshould never include false positives.
typeNestedAttribute¶
type NestedAttribute interface {Attributefwschema.NestedAttribute}Nested attributes are only compatible with protocol version 6.
typeNestedAttributeObject¶
type NestedAttributeObject struct {// Attributes is the mapping of underlying attribute names to attribute// definitions. This field must be set.Attributes map[string]Attribute// CustomType enables the use of a custom attribute type in place of the// default basetypes.ObjectType. When retrieving data, the basetypes.ObjectValuable// associated with this custom type must be used in place of types.Object.CustomTypebasetypes.ObjectTypable// Validators define value validation functionality for the attribute. All// elements of the slice of AttributeValidator are run, regardless of any// previous error diagnostics.//// Many common use case validators can be found in the// github.com/hashicorp/terraform-plugin-framework-validators Go module.//// If the Type field points to a custom type that implements the// xattr.TypeWithValidate interface, the validators defined in this field// are run in addition to the validation defined by the type.Validators []validator.Object}NestedAttributeObject is the object containing the underlying attributesfor a ListNestedAttribute, MapNestedAttribute, orSingleNestedAttribute (automatically generated). When retrieving the valuefor this attribute, use types.Object as the value type unless the CustomTypefield is set. The Attributes field must be set. Nested attributes are onlycompatible with protocol version 6.
This object enables customizing and simplifying details within its parentNestedAttribute, therefore it cannot have Terraform schema fields such asRequired, Description, etc.
func (NestedAttributeObject)ApplyTerraform5AttributePathStep¶
func (oNestedAttributeObject) ApplyTerraform5AttributePathStep(steptftypes.AttributePathStep) (any,error)
ApplyTerraform5AttributePathStep performs an AttributeName step on theunderlying attributes or returns an error.
func (NestedAttributeObject)Equal¶
func (oNestedAttributeObject) Equal(otherfwschema.NestedAttributeObject)bool
Equal returns true if the given NestedAttributeObject is equivalent.
func (NestedAttributeObject)GetAttributes¶
func (oNestedAttributeObject) GetAttributes()fwschema.UnderlyingAttributes
GetAttributes returns the Attributes field value.
func (NestedAttributeObject)ObjectValidators¶
func (oNestedAttributeObject) ObjectValidators() []validator.Object
ObjectValidators returns the Validators field value.
func (NestedAttributeObject)Type¶
func (oNestedAttributeObject) Type()basetypes.ObjectTypable
Type returns the framework type of the NestedAttributeObject.
typeNestedBlockObject¶
type NestedBlockObject struct {// Attributes is the mapping of underlying attribute names to attribute// definitions.//// Names must only contain lowercase letters, numbers, and underscores.// Names must not collide with any Blocks names.Attributes map[string]Attribute// Blocks is the mapping of underlying block names to block definitions.//// Names must only contain lowercase letters, numbers, and underscores.// Names must not collide with any Attributes names.Blocks map[string]Block// CustomType enables the use of a custom attribute type in place of the// default basetypes.ObjectType. When retrieving data, the basetypes.ObjectValuable// associated with this custom type must be used in place of types.Object.CustomTypebasetypes.ObjectTypable// Validators define value validation functionality for the attribute. All// elements of the slice of AttributeValidator are run, regardless of any// previous error diagnostics.//// Many common use case validators can be found in the// github.com/hashicorp/terraform-plugin-framework-validators Go module.//// If the Type field points to a custom type that implements the// xattr.TypeWithValidate interface, the validators defined in this field// are run in addition to the validation defined by the type.Validators []validator.Object}NestedBlockObject is the object containing the underlying attributes andblocks for a ListNestedBlock. When retrieving the valuefor this attribute, use types.Object as the value type unless the CustomTypefield is set.
This object enables customizing and simplifying details within its parentBlock, therefore it cannot have Terraform schema fields such as Description,etc.
func (NestedBlockObject)ApplyTerraform5AttributePathStep¶
func (oNestedBlockObject) ApplyTerraform5AttributePathStep(steptftypes.AttributePathStep) (any,error)
ApplyTerraform5AttributePathStep performs an AttributeName step on theunderlying attributes or returns an error.
func (NestedBlockObject)Equal¶
func (oNestedBlockObject) Equal(otherfwschema.NestedBlockObject)bool
Equal returns true if the given NestedBlockObject is equivalent.
func (NestedBlockObject)GetAttributes¶
func (oNestedBlockObject) GetAttributes()fwschema.UnderlyingAttributes
GetAttributes returns the Attributes field value.
func (NestedBlockObject)GetBlocks¶
func (oNestedBlockObject) GetBlocks() map[string]fwschema.Block
GetAttributes returns the Blocks field value.
func (NestedBlockObject)ObjectValidators¶
func (oNestedBlockObject) ObjectValidators() []validator.Object
ObjectValidators returns the Validators field value.
func (NestedBlockObject)Type¶
func (oNestedBlockObject) Type()basetypes.ObjectTypable
Type returns the framework type of the NestedBlockObject.
typeNumberAttribute¶
type NumberAttribute struct {// CustomType enables the use of a custom attribute type in place of the// default basetypes.NumberType. When retrieving data, the basetypes.NumberValuable// associated with this custom type must be used in place of types.Number.CustomTypebasetypes.NumberTypable// Required indicates whether the practitioner must enter a value for// this attribute or not. Required and Optional cannot both be true.Requiredbool// Optional indicates whether the practitioner can choose to enter a value// for this attribute or not. Optional and Required cannot both be true.Optionalbool// Description is used in various tooling, like the language server, to// give practitioners more information about what this attribute is,// what it's for, and how it should be used. It should be written as// plain text, with no special formatting.Descriptionstring// MarkdownDescription is used in various tooling, like the// documentation generator, to give practitioners more information// about what this attribute is, what it's for, and how it should be// used. It should be formatted using Markdown.MarkdownDescriptionstring// DeprecationMessage defines warning diagnostic details to display when// practitioner configurations use this Attribute. The warning diagnostic// summary is automatically set to "Attribute Deprecated" along with// configuration source file and line information.//// Set this field to a practitioner actionable message such as://// - "Configure other_attribute instead. This attribute will be removed// in the next major version of the provider."// - "Remove this attribute's configuration as it no longer is used and// the attribute will be removed in the next major version of the// provider."//// In Terraform 1.2.7 and later, this warning diagnostic is displayed any// time a practitioner attempts to configure a value for this attribute and// certain scenarios where this attribute is referenced.//// In Terraform 1.2.6 and earlier, this warning diagnostic is only// displayed when the Attribute is Required or Optional, and if the// practitioner configuration sets the value to a known or unknown value// (which may eventually be null). It has no effect when the Attribute is// Computed-only (read-only; not Required or Optional).//// Across any Terraform version, there are no warnings raised for// practitioner configuration values set directly to null, as there is no// way for the framework to differentiate between an unset and null// configuration due to how Terraform sends configuration information// across the protocol.//// Additional information about deprecation enhancements for read-only// attributes can be found in://// -https://github.com/hashicorp/terraform/issues/7569//DeprecationMessagestring// Validators define value validation functionality for the attribute. All// elements of the slice of AttributeValidator are run, regardless of any// previous error diagnostics.//// Many common use case validators can be found in the// github.com/hashicorp/terraform-plugin-framework-validators Go module.//// If the Type field points to a custom type that implements the// xattr.TypeWithValidate interface, the validators defined in this field// are run in addition to the validation defined by the type.Validators []validator.Number}NumberAttribute represents a schema attribute that is a generic number withup to 512 bits of floating point or integer precision. When retrieving thevalue for this attribute, use types.Number as the value type unless theCustomType field is set.
Use Float64Attribute for 64-bit floating point number attributes orInt64Attribute for 64-bit integer number attributes.
Terraform configurations configure this attribute using expressions thatreturn a number or directly via a floating point or integer value.
example_attribute = 123
Terraform configurations reference this attribute using the attribute name.
.example_attribute
func (NumberAttribute)ApplyTerraform5AttributePathStep¶
func (aNumberAttribute) ApplyTerraform5AttributePathStep(steptftypes.AttributePathStep) (interface{},error)
ApplyTerraform5AttributePathStep always returns an error as it is notpossible to step further into a NumberAttribute.
func (NumberAttribute)Equal¶
func (aNumberAttribute) Equal(ofwschema.Attribute)bool
Equal returns true if the given Attribute is a NumberAttributeand all fields are equal.
func (NumberAttribute)GetDeprecationMessage¶
func (aNumberAttribute) GetDeprecationMessage()string
GetDeprecationMessage returns the DeprecationMessage field value.
func (NumberAttribute)GetDescription¶
func (aNumberAttribute) GetDescription()string
GetDescription returns the Description field value.
func (NumberAttribute)GetMarkdownDescription¶
func (aNumberAttribute) GetMarkdownDescription()string
GetMarkdownDescription returns the MarkdownDescription field value.
func (NumberAttribute)GetType¶
func (aNumberAttribute) GetType()attr.Type
GetType returns types.NumberType or the CustomType field value if defined.
func (NumberAttribute)IsComputed¶
func (aNumberAttribute) IsComputed()bool
IsComputed returns false because it does not apply to ListResource schemas.
func (NumberAttribute)IsOptional¶
func (aNumberAttribute) IsOptional()bool
IsOptional returns the Optional field value.
func (NumberAttribute)IsOptionalForImport¶
func (aNumberAttribute) IsOptionalForImport()bool
IsOptionalForImport returns false as this behavior is only relevantfor managed resource identity schema attributes.
func (NumberAttribute)IsRequired¶
func (aNumberAttribute) IsRequired()bool
IsRequired returns the Required field value.
func (NumberAttribute)IsRequiredForImport¶
func (aNumberAttribute) IsRequiredForImport()bool
IsRequiredForImport returns false as this behavior is only relevantfor managed resource identity schema attributes.
func (NumberAttribute)IsSensitive¶
func (aNumberAttribute) IsSensitive()bool
IsSensitive returns false because it does not apply to ListResource schemas.
func (NumberAttribute)IsWriteOnly¶
func (aNumberAttribute) IsWriteOnly()bool
IsWriteOnly returns false because it does not apply to ListResource schemas.
func (NumberAttribute)NumberValidators¶
func (aNumberAttribute) NumberValidators() []validator.Number
NumberValidators returns the Validators field value.
typeObjectAttribute¶
type ObjectAttribute struct {// AttributeTypes is the mapping of underlying attribute names to attribute// types. This field must be set.//// Attribute types that contain a collection with a nested dynamic type (i.e. types.List[types.Dynamic]) are not supported.// If underlying dynamic collection values are required, replace this attribute definition with// DynamicAttribute instead.AttributeTypes map[string]attr.Type// CustomType enables the use of a custom attribute type in place of the// default basetypes.ObjectType. When retrieving data, the basetypes.ObjectValuable// associated with this custom type must be used in place of types.Object.CustomTypebasetypes.ObjectTypable// Required indicates whether the practitioner must enter a value for// this attribute or not. Required and Optional cannot both be true.Requiredbool// Optional indicates whether the practitioner can choose to enter a value// for this attribute or not. Optional and Required cannot both be true.Optionalbool// Description is used in various tooling, like the language server, to// give practitioners more information about what this attribute is,// what it's for, and how it should be used. It should be written as// plain text, with no special formatting.Descriptionstring// MarkdownDescription is used in various tooling, like the// documentation generator, to give practitioners more information// about what this attribute is, what it's for, and how it should be// used. It should be formatted using Markdown.MarkdownDescriptionstring// DeprecationMessage defines warning diagnostic details to display when// practitioner configurations use this Attribute. The warning diagnostic// summary is automatically set to "Attribute Deprecated" along with// configuration source file and line information.//// Set this field to a practitioner actionable message such as://// - "Configure other_attribute instead. This attribute will be removed// in the next major version of the provider."// - "Remove this attribute's configuration as it no longer is used and// the attribute will be removed in the next major version of the// provider."//// In Terraform 1.2.7 and later, this warning diagnostic is displayed any// time a practitioner attempts to configure a value for this attribute and// certain scenarios where this attribute is referenced.//// In Terraform 1.2.6 and earlier, this warning diagnostic is only// displayed when the Attribute is Required or Optional, and if the// practitioner configuration sets the value to a known or unknown value// (which may eventually be null). It has no effect when the Attribute is// Computed-only (read-only; not Required or Optional).//// Across any Terraform version, there are no warnings raised for// practitioner configuration values set directly to null, as there is no// way for the framework to differentiate between an unset and null// configuration due to how Terraform sends configuration information// across the protocol.//// Additional information about deprecation enhancements for read-only// attributes can be found in://// -https://github.com/hashicorp/terraform/issues/7569//DeprecationMessagestring// Validators define value validation functionality for the attribute. All// elements of the slice of AttributeValidator are run, regardless of any// previous error diagnostics.//// Many common use case validators can be found in the// github.com/hashicorp/terraform-plugin-framework-validators Go module.//// If the Type field points to a custom type that implements the// xattr.TypeWithValidate interface, the validators defined in this field// are run in addition to the validation defined by the type.Validators []validator.Object}ObjectAttribute represents a schema attribute that is an object with onlytype information for underlying attributes. When retrieving the value forthis attribute, use types.Object as the value type unless the CustomTypefield is set. The AttributeTypes field must be set.
Prefer SingleNestedAttribute over ObjectAttribute if the provider isusing protocol version 6 and full attribute functionality is needed.
Terraform configurations configure this attribute using expressions thatreturn an object or directly via curly brace syntax.
# object with one attributeexample_attribute = {underlying_attribute = #...}Terraform configurations reference this attribute using expressions thataccept an object or an attribute directly via period syntax:
# underlying attribute.example_attribute.underlying_attribute
func (ObjectAttribute)ApplyTerraform5AttributePathStep¶
func (aObjectAttribute) ApplyTerraform5AttributePathStep(steptftypes.AttributePathStep) (interface{},error)
ApplyTerraform5AttributePathStep returns the result of stepping into anattribute name or an error.
func (ObjectAttribute)Equal¶
func (aObjectAttribute) Equal(ofwschema.Attribute)bool
Equal returns true if the given Attribute is a ObjectAttributeand all fields are equal.
func (ObjectAttribute)GetDeprecationMessage¶
func (aObjectAttribute) GetDeprecationMessage()string
GetDeprecationMessage returns the DeprecationMessage field value.
func (ObjectAttribute)GetDescription¶
func (aObjectAttribute) GetDescription()string
GetDescription returns the Description field value.
func (ObjectAttribute)GetMarkdownDescription¶
func (aObjectAttribute) GetMarkdownDescription()string
GetMarkdownDescription returns the MarkdownDescription field value.
func (ObjectAttribute)GetType¶
func (aObjectAttribute) GetType()attr.Type
GetType returns types.ObjectType or the CustomType field value if defined.
func (ObjectAttribute)IsComputed¶
func (aObjectAttribute) IsComputed()bool
IsComputed returns false because it does not apply to ListResource schemas.
func (ObjectAttribute)IsOptional¶
func (aObjectAttribute) IsOptional()bool
IsOptional returns the Optional field value.
func (ObjectAttribute)IsOptionalForImport¶
func (aObjectAttribute) IsOptionalForImport()bool
IsOptionalForImport returns false as this behavior is only relevantfor managed resource identity schema attributes.
func (ObjectAttribute)IsRequired¶
func (aObjectAttribute) IsRequired()bool
IsRequired returns the Required field value.
func (ObjectAttribute)IsRequiredForImport¶
func (aObjectAttribute) IsRequiredForImport()bool
IsRequiredForImport returns false as this behavior is only relevantfor managed resource identity schema attributes.
func (ObjectAttribute)IsSensitive¶
func (aObjectAttribute) IsSensitive()bool
IsSensitive returns false because it does not apply to ListResource schemas.
func (ObjectAttribute)IsWriteOnly¶
func (aObjectAttribute) IsWriteOnly()bool
IsWriteOnly returns false because it does not apply to ListResource schemas.
func (ObjectAttribute)ObjectValidators¶
func (aObjectAttribute) ObjectValidators() []validator.Object
ObjectValidators returns the Validators field value.
func (ObjectAttribute)ValidateImplementation¶
func (aObjectAttribute) ValidateImplementation(ctxcontext.Context, reqfwschema.ValidateImplementationRequest, resp *fwschema.ValidateImplementationResponse)
ValidateImplementation contains logic for validating theprovider-defined implementation of the attribute to prevent unexpectederrors or panics. This logic runs during the GetProviderSchema RPCand should never include false positives.
typeSchema¶
type Schema struct {// Attributes is the mapping of underlying attribute names to attribute// definitions.//// Names must only contain lowercase letters, numbers, and underscores.// Names must not collide with any Blocks names.Attributes map[string]Attribute// Blocks is the mapping of underlying block names to block definitions.//// Names must only contain lowercase letters, numbers, and underscores.// Names must not collide with any Attributes names.Blocks map[string]Block// Description is used in various tooling, like the language server, to// give practitioners more information about what this resource is,// what it's for, and how it should be used. It should be written as// plain text, with no special formatting.Descriptionstring// MarkdownDescription is used in various tooling, like the// documentation generator, to give practitioners more information// about what this resource is, what it's for, and how it should be// used. It should be formatted using Markdown.MarkdownDescriptionstring// DeprecationMessage defines warning diagnostic details to display when// practitioner configurations use this resource. The warning diagnostic// summary is automatically set to "Resource Deprecated" along with// configuration source file and line information.//// Set this field to a practitioner actionable message such as://// - "Use examplecloud_other resource instead. This resource// will be removed in the next major version of the provider."// - "Remove this resource as it no longer is valid and// will be removed in the next major version of the provider."//DeprecationMessagestring}Schema defines the structure and value types of a list block. This isreturned as a ListResourceSchemas map value by the GetProviderSchemas RPC.
func (Schema)ApplyTerraform5AttributePathStep¶
func (sSchema) ApplyTerraform5AttributePathStep(steptftypes.AttributePathStep) (any,error)
ApplyTerraform5AttributePathStep applies the given AttributePathStep to theschema.
func (Schema)AttributeAtPath¶
func (sSchema) AttributeAtPath(ctxcontext.Context, ppath.Path) (fwschema.Attribute,diag.Diagnostics)
AttributeAtPath returns the Attribute at the passed path. If the path pointsto an element or attribute of a complex type, rather than to an Attribute,it will return an ErrPathInsideAtomicAttribute error.
func (Schema)AttributeAtTerraformPath¶
func (sSchema) AttributeAtTerraformPath(ctxcontext.Context, p *tftypes.AttributePath) (fwschema.Attribute,error)
AttributeAtPath returns the Attribute at the passed path. If the path pointsto an element or attribute of a complex type, rather than to an Attribute,it will return an ErrPathInsideAtomicAttribute error.
func (Schema)GetAttributes¶
GetAttributes returns the Attributes field value.
func (Schema)GetDeprecationMessage¶
GetDeprecationMessage returns the DeprecationMessage field value.
func (Schema)GetDescription¶
GetDescription returns the Description field value.
func (Schema)GetMarkdownDescription¶
GetMarkdownDescription returns the MarkdownDescription field value.
func (Schema)GetVersion¶
GetVersion always returns 0 because list resource schemas cannot be versioned.
func (Schema)TypeAtPath¶
TypeAtPath returns the framework type at the given schema path.
func (Schema)TypeAtTerraformPath¶
TypeAtTerraformPath returns the framework type at the given tftypes path.
func (Schema)ValidateImplementation¶
func (sSchema) ValidateImplementation(ctxcontext.Context)diag.Diagnostics
ValidateImplementation contains logic for validating the provider-definedimplementation of the schema and underlying attributes and blocks to preventunexpected errors or panics. This logic runs during theValidateResourceConfig RPC, or via provider-defined unit testing, and shouldnever include false positives.
typeSingleNestedAttribute¶
type SingleNestedAttribute struct {// Attributes is the mapping of underlying attribute names to attribute// definitions. This field must be set.Attributes map[string]Attribute// CustomType enables the use of a custom attribute type in place of the// default basetypes.ObjectType. When retrieving data, the basetypes.ObjectValuable// associated with this custom type must be used in place of types.Object.CustomTypebasetypes.ObjectTypable// Required indicates whether the practitioner must enter a value for// this attribute or not. Required and Optional cannot both be true.Requiredbool// Optional indicates whether the practitioner can choose to enter a value// for this attribute or not. Optional and Required cannot both be true.Optionalbool// Description is used in various tooling, like the language server, to// give practitioners more information about what this attribute is,// what it's for, and how it should be used. It should be written as// plain text, with no special formatting.Descriptionstring// MarkdownDescription is used in various tooling, like the// documentation generator, to give practitioners more information// about what this attribute is, what it's for, and how it should be// used. It should be formatted using Markdown.MarkdownDescriptionstring// DeprecationMessage defines warning diagnostic details to display when// practitioner configurations use this Attribute. The warning diagnostic// summary is automatically set to "Attribute Deprecated" along with// configuration source file and line information.//// Set this field to a practitioner actionable message such as://// - "Configure other_attribute instead. This attribute will be removed// in the next major version of the provider."// - "Remove this attribute's configuration as it no longer is used and// the attribute will be removed in the next major version of the// provider."//// In Terraform 1.2.7 and later, this warning diagnostic is displayed any// time a practitioner attempts to configure a value for this attribute and// certain scenarios where this attribute is referenced.//// In Terraform 1.2.6 and earlier, this warning diagnostic is only// displayed when the Attribute is Required or Optional, and if the// practitioner configuration sets the value to a known or unknown value// (which may eventually be null). It has no effect when the Attribute is// Computed-only (read-only; not Required or Optional).//// Across any Terraform version, there are no warnings raised for// practitioner configuration values set directly to null, as there is no// way for the framework to differentiate between an unset and null// configuration due to how Terraform sends configuration information// across the protocol.//// Additional information about deprecation enhancements for read-only// attributes can be found in://// -https://github.com/hashicorp/terraform/issues/7569//DeprecationMessagestring// Validators define value validation functionality for the attribute. All// elements of the slice of AttributeValidator are run, regardless of any// previous error diagnostics.//// Many common use case validators can be found in the// github.com/hashicorp/terraform-plugin-framework-validators Go module.//// If the Type field points to a custom type that implements the// xattr.TypeWithValidate interface, the validators defined in this field// are run in addition to the validation defined by the type.Validators []validator.Object}SingleNestedAttribute represents an attribute that is a single object wherethe object attributes can be fully defined, including further nestedattributes. When retrieving the value for this attribute, use types.Objectas the value type unless the CustomType field is set. The Attributes fieldmust be set. Nested attributes are only compatible with protocol version 6.
Use ObjectAttribute if the underlying attributes do not require definitionbeyond type information.
Terraform configurations configure this attribute using expressions thatreturn an object or directly via curly brace syntax.
# single objectexample_attribute = {nested_attribute = #...}Terraform configurations reference this attribute using expressions thataccept an object or an attribute name directly via period syntax:
# object nested_attribute value.example_attribute.nested_attribute
func (SingleNestedAttribute)ApplyTerraform5AttributePathStep¶
func (aSingleNestedAttribute) ApplyTerraform5AttributePathStep(steptftypes.AttributePathStep) (interface{},error)
ApplyTerraform5AttributePathStep returns the Attributes field value if stepis AttributeName, otherwise returns an error.
func (SingleNestedAttribute)Equal¶
func (aSingleNestedAttribute) Equal(ofwschema.Attribute)bool
Equal returns true if the given Attribute is a SingleNestedAttributeand all fields are equal.
func (SingleNestedAttribute)GetAttributes¶
func (aSingleNestedAttribute) GetAttributes()fwschema.UnderlyingAttributes
GetAttributes returns the Attributes field value.
func (SingleNestedAttribute)GetDeprecationMessage¶
func (aSingleNestedAttribute) GetDeprecationMessage()string
GetDeprecationMessage returns the DeprecationMessage field value.
func (SingleNestedAttribute)GetDescription¶
func (aSingleNestedAttribute) GetDescription()string
GetDescription returns the Description field value.
func (SingleNestedAttribute)GetMarkdownDescription¶
func (aSingleNestedAttribute) GetMarkdownDescription()string
GetMarkdownDescription returns the MarkdownDescription field value.
func (SingleNestedAttribute)GetNestedObject¶
func (aSingleNestedAttribute) GetNestedObject()fwschema.NestedAttributeObject
GetNestedObject returns a generated NestedAttributeObject from theAttributes, CustomType, and Validators field values.
func (SingleNestedAttribute)GetNestingMode¶
func (aSingleNestedAttribute) GetNestingMode()fwschema.NestingMode
GetNestingMode always returns NestingModeSingle.
func (SingleNestedAttribute)GetType¶
func (aSingleNestedAttribute) GetType()attr.Type
GetType returns ListType of ObjectType or CustomType.
func (SingleNestedAttribute)IsComputed¶
func (aSingleNestedAttribute) IsComputed()bool
IsComputed returns false because it does not apply to ListResource schemas.
func (SingleNestedAttribute)IsOptional¶
func (aSingleNestedAttribute) IsOptional()bool
IsOptional returns the Optional field value.
func (SingleNestedAttribute)IsOptionalForImport¶
func (aSingleNestedAttribute) IsOptionalForImport()bool
IsOptionalForImport returns false as this behavior is only relevantfor managed resource identity schema attributes.
func (SingleNestedAttribute)IsRequired¶
func (aSingleNestedAttribute) IsRequired()bool
IsRequired returns the Required field value.
func (SingleNestedAttribute)IsRequiredForImport¶
func (aSingleNestedAttribute) IsRequiredForImport()bool
IsRequiredForImport returns false as this behavior is only relevantfor managed resource identity schema attributes.
func (SingleNestedAttribute)IsSensitive¶
func (aSingleNestedAttribute) IsSensitive()bool
IsSensitive returns false because it does not apply to ListResource schemas.
func (SingleNestedAttribute)IsWriteOnly¶
func (aSingleNestedAttribute) IsWriteOnly()bool
IsWriteOnly returns false because it does not apply to ListResource schemas.
func (SingleNestedAttribute)ObjectValidators¶
func (aSingleNestedAttribute) ObjectValidators() []validator.Object
ObjectValidators returns the Validators field value.
typeSingleNestedBlock¶
type SingleNestedBlock struct {// Attributes is the mapping of underlying attribute names to attribute// definitions.//// Names must only contain lowercase letters, numbers, and underscores.// Names must not collide with any Blocks names.Attributes map[string]Attribute// Blocks is the mapping of underlying block names to block definitions.//// Names must only contain lowercase letters, numbers, and underscores.// Names must not collide with any Attributes names.Blocks map[string]Block// CustomType enables the use of a custom attribute type in place of the// default basetypes.ObjectType. When retrieving data, the basetypes.ObjectValuable// associated with this custom type must be used in place of types.Object.CustomTypebasetypes.ObjectTypable// Description is used in various tooling, like the language server, to// give practitioners more information about what this attribute is,// what it's for, and how it should be used. It should be written as// plain text, with no special formatting.Descriptionstring// MarkdownDescription is used in various tooling, like the// documentation generator, to give practitioners more information// about what this attribute is, what it's for, and how it should be// used. It should be formatted using Markdown.MarkdownDescriptionstring// DeprecationMessage defines warning diagnostic details to display when// practitioner configurations use this Attribute. The warning diagnostic// summary is automatically set to "Attribute Deprecated" along with// configuration source file and line information.//// Set this field to a practitioner actionable message such as://// - "Configure other_attribute instead. This attribute will be removed// in the next major version of the provider."// - "Remove this attribute's configuration as it no longer is used and// the attribute will be removed in the next major version of the// provider."//// In Terraform 1.2.7 and later, this warning diagnostic is displayed any// time a practitioner attempts to configure a value for this attribute and// certain scenarios where this attribute is referenced.//// In Terraform 1.2.6 and earlier, this warning diagnostic is only// displayed when the Attribute is Required or Optional, and if the// practitioner configuration sets the value to a known or unknown value// (which may eventually be null). It has no effect when the Attribute is// Computed-only (read-only; not Required or Optional).//// Across any Terraform version, there are no warnings raised for// practitioner configuration values set directly to null, as there is no// way for the framework to differentiate between an unset and null// configuration due to how Terraform sends configuration information// across the protocol.//// Additional information about deprecation enhancements for read-only// attributes can be found in://// -https://github.com/hashicorp/terraform/issues/7569//DeprecationMessagestring// Validators define value validation functionality for the attribute. All// elements of the slice of AttributeValidator are run, regardless of any// previous error diagnostics.//// Many common use case validators can be found in the// github.com/hashicorp/terraform-plugin-framework-validators Go module.//// If the Type field points to a custom type that implements the// xattr.TypeWithValidate interface, the validators defined in this field// are run in addition to the validation defined by the type.Validators []validator.Object}SingleNestedBlock represents a block that is a single object wherethe object attributes can be fully defined, including further attributesor blocks. When retrieving the value for this block, use types.Objectas the value type unless the CustomType field is set.
Prefer SingleNestedAttribute over SingleNestedBlock if the provider isusing protocol version 6. Nested attributes allow practitioners to configurevalues directly with expressions.
Terraform configurations configure this block only once using curly bracesyntax without an equals (=) sign orDynamic Block Expressions.
# single blockexample_block {nested_attribute = #...}Terraform configurations reference this block using expressions thataccept an object or an attribute name directly via period syntax:
# object nested_attribute value.example_block.nested_attribute
func (SingleNestedBlock)ApplyTerraform5AttributePathStep¶
func (bSingleNestedBlock) ApplyTerraform5AttributePathStep(steptftypes.AttributePathStep) (interface{},error)
ApplyTerraform5AttributePathStep returns the Attributes field value if stepis AttributeName, otherwise returns an error.
func (SingleNestedBlock)Equal¶
func (bSingleNestedBlock) Equal(ofwschema.Block)bool
Equal returns true if the given Attribute is b SingleNestedBlockand all fields are equal.
func (SingleNestedBlock)GetDeprecationMessage¶
func (bSingleNestedBlock) GetDeprecationMessage()string
GetDeprecationMessage returns the DeprecationMessage field value.
func (SingleNestedBlock)GetDescription¶
func (bSingleNestedBlock) GetDescription()string
GetDescription returns the Description field value.
func (SingleNestedBlock)GetMarkdownDescription¶
func (bSingleNestedBlock) GetMarkdownDescription()string
GetMarkdownDescription returns the MarkdownDescription field value.
func (SingleNestedBlock)GetNestedObject¶
func (bSingleNestedBlock) GetNestedObject()fwschema.NestedBlockObject
GetNestedObject returns a generated NestedBlockObject from theAttributes, CustomType, and Validators field values.
func (SingleNestedBlock)GetNestingMode¶
func (bSingleNestedBlock) GetNestingMode()fwschema.BlockNestingMode
GetNestingMode always returns BlockNestingModeSingle.
func (SingleNestedBlock)ObjectValidators¶
func (bSingleNestedBlock) ObjectValidators() []validator.Object
ObjectValidators returns the Validators field value.
func (SingleNestedBlock)Type¶
func (bSingleNestedBlock) Type()attr.Type
Type returns ObjectType or CustomType.
typeStringAttribute¶
type StringAttribute struct {// CustomType enables the use of a custom attribute type in place of the// default basetypes.StringType. When retrieving data, the basetypes.StringValuable// associated with this custom type must be used in place of types.String.CustomTypebasetypes.StringTypable// Required indicates whether the practitioner must enter a value for// this attribute or not. Required and Optional cannot both be true.Requiredbool// Optional indicates whether the practitioner can choose to enter a value// for this attribute or not. Optional and Required cannot both be true.Optionalbool// Description is used in various tooling, like the language server, to// give practitioners more information about what this attribute is,// what it's for, and how it should be used. It should be written as// plain text, with no special formatting.Descriptionstring// MarkdownDescription is used in various tooling, like the// documentation generator, to give practitioners more information// about what this attribute is, what it's for, and how it should be// used. It should be formatted using Markdown.MarkdownDescriptionstring// DeprecationMessage defines warning diagnostic details to display when// practitioner configurations use this Attribute. The warning diagnostic// summary is automatically set to "Attribute Deprecated" along with// configuration source file and line information.//// Set this field to a practitioner actionable message such as://// - "Configure other_attribute instead. This attribute will be removed// in the next major version of the provider."// - "Remove this attribute's configuration as it no longer is used and// the attribute will be removed in the next major version of the// provider."//// In Terraform 1.2.7 and later, this warning diagnostic is displayed any// time a practitioner attempts to configure a value for this attribute and// certain scenarios where this attribute is referenced.//// In Terraform 1.2.6 and earlier, this warning diagnostic is only// displayed when the Attribute is Required or Optional, and if the// practitioner configuration sets the value to a known or unknown value// (which may eventually be null). It has no effect when the Attribute is// Computed-only (read-only; not Required or Optional).//// Across any Terraform version, there are no warnings raised for// practitioner configuration values set directly to null, as there is no// way for the framework to differentiate between an unset and null// configuration due to how Terraform sends configuration information// across the protocol.//// Additional information about deprecation enhancements for read-only// attributes can be found in://// -https://github.com/hashicorp/terraform/issues/7569//DeprecationMessagestring// Validators define value validation functionality for the attribute. All// elements of the slice of AttributeValidator are run, regardless of any// previous error diagnostics.//// Many common use case validators can be found in the// github.com/hashicorp/terraform-plugin-framework-validators Go module.//// If the Type field points to a custom type that implements the// xattr.TypeWithValidate interface, the validators defined in this field// are run in addition to the validation defined by the type.Validators []validator.String}StringAttribute represents a schema attribute that is a string. Whenretrieving the value for this attribute, use types.String as the value typeunless the CustomType field is set.
Terraform configurations configure this attribute using expressions thatreturn a string or directly via double quote syntax.
example_attribute = "value"
Terraform configurations reference this attribute using the attribute name.
.example_attribute
func (StringAttribute)ApplyTerraform5AttributePathStep¶
func (aStringAttribute) ApplyTerraform5AttributePathStep(steptftypes.AttributePathStep) (interface{},error)
ApplyTerraform5AttributePathStep always returns an error as it is notpossible to step further into a StringAttribute.
func (StringAttribute)Equal¶
func (aStringAttribute) Equal(ofwschema.Attribute)bool
Equal returns true if the given Attribute is a StringAttributeand all fields are equal.
func (StringAttribute)GetDeprecationMessage¶
func (aStringAttribute) GetDeprecationMessage()string
GetDeprecationMessage returns the DeprecationMessage field value.
func (StringAttribute)GetDescription¶
func (aStringAttribute) GetDescription()string
GetDescription returns the Description field value.
func (StringAttribute)GetMarkdownDescription¶
func (aStringAttribute) GetMarkdownDescription()string
GetMarkdownDescription returns the MarkdownDescription field value.
func (StringAttribute)GetType¶
func (aStringAttribute) GetType()attr.Type
GetType returns types.StringType or the CustomType field value if defined.
func (StringAttribute)IsComputed¶
func (aStringAttribute) IsComputed()bool
IsComputed returns false because it does not apply to ListResource schemas.
func (StringAttribute)IsOptional¶
func (aStringAttribute) IsOptional()bool
IsOptional returns the Optional field value.
func (StringAttribute)IsOptionalForImport¶
func (aStringAttribute) IsOptionalForImport()bool
IsOptionalForImport returns false as this behavior is only relevantfor managed resource identity schema attributes.
func (StringAttribute)IsRequired¶
func (aStringAttribute) IsRequired()bool
IsRequired returns the Required field value.
func (StringAttribute)IsRequiredForImport¶
func (aStringAttribute) IsRequiredForImport()bool
IsRequiredForImport returns false as this behavior is only relevantfor managed resource identity schema attributes.
func (StringAttribute)IsSensitive¶
func (aStringAttribute) IsSensitive()bool
IsSensitive returns false because it does not apply to ListResource schemas.
func (StringAttribute)IsWriteOnly¶
func (aStringAttribute) IsWriteOnly()bool
IsWriteOnly returns false because it does not apply to ListResource schemas.
func (StringAttribute)StringValidators¶
func (aStringAttribute) StringValidators() []validator.String
StringValidators returns the Validators field value.
Source Files¶
- attribute.go
- block.go
- bool_attribute.go
- doc.go
- dynamic_attribute.go
- float32_attribute.go
- float64_attribute.go
- int32_attribute.go
- int64_attribute.go
- list_attribute.go
- list_nested_attribute.go
- list_nested_block.go
- map_attribute.go
- map_nested_attribute.go
- nested_attribute.go
- nested_attribute_object.go
- nested_block_object.go
- number_attribute.go
- object_attribute.go
- schema.go
- single_nested_attribute.go
- single_nested_block.go
- string_attribute.go