Movatterモバイル変換


[0]ホーム

URL:


schema

package
v1.17.0Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 2, 2025 License:MPL-2.0Imports:14Imported by:843

Details

Repository

github.com/hashicorp/terraform-plugin-framework

Links

Documentation

Overview

Package schema contains all available schema functionality for resources.Resource schemas define the structure and value types for configuration,plan, and state data. Schemas are implemented via the resource.Resource typeSchema method.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

typeAttribute

type Attribute interface {fwschema.Attribute}

Attribute define a value field inside the Schema. Implementations in thispackage include:

  • BoolAttribute
  • DynamicAttribute
  • Float32Attribute
  • Float64Attribute
  • Int32Attribute
  • Int64Attribute
  • ListAttribute
  • MapAttribute
  • NumberAttribute
  • ObjectAttribute
  • SetAttribute
  • StringAttribute

Additionally, the NestedAttribute interface extends Attribute with nestedattributes. Only supported in protocol version 6. Implementations in thispackage include:

  • ListNestedAttribute
  • MapNestedAttribute
  • SetNestedAttribute
  • SingleNestedAttribute

In practitioner configurations, an equals sign (=) is required to setthe value.Configuration Reference

typeBlock

type Block interface {fwschema.Block}

Block defines a structural field inside a Schema. Implementations in thispackage include:

  • ListNestedBlock
  • SetNestedBlock
  • SingleNestedBlock

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,// and Required and Computed 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// Computed indicates whether the provider may return its own value for// this Attribute or not. Required and Computed cannot both be true. If// Required and Optional are both false, Computed must be true, and the// attribute will be considered "read only" for the practitioner, with// only the provider able to set its value.Computedbool// Sensitive indicates whether the value of this attribute should be// considered sensitive data. Setting it to true will obscure the value// in CLI output. Sensitive does not impact how values are stored, and// practitioners are encouraged to store their state as if the entire// file is sensitive.Sensitivebool// 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// PlanModifiers defines a sequence of modifiers for this attribute at// plan time. Schema-based plan modifications occur before any// resource-level plan modifications.//// Schema-based plan modifications can adjust Terraform's plan by:////  - Requiring resource recreation. Typically used for configuration//    updates which cannot be done in-place.//  - Setting the planned value. Typically used for enhancing the plan//    to replace unknown values. Computed must be true or Terraform will//    return an error. If the plan value is known due to a known//    configuration value, the plan value cannot be changed or Terraform//    will return an error.//// Any errors will prevent further execution of this sequence or modifiers.PlanModifiers []planmodifier.Bool// Default defines a proposed new state (plan) value for the attribute// if the configuration value is null. Default prevents the framework// from automatically marking the value as unknown during planning when// other proposed new state changes are detected. If the attribute is// computed and the value could be altered by other changes then a default// should be avoided and a plan modifier should be used instead.Defaultdefaults.Bool// WriteOnly indicates that Terraform will not store this attribute value// in the plan or state artifacts.// If WriteOnly is true, either Optional or Required must also be true.// WriteOnly cannot be set with Computed.//// This functionality is only supported in Terraform 1.11 and later.// Practitioners that choose a value for this attribute with older// versions of Terraform will receive an error.WriteOnlybool}

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)BoolDefaultValueadded inv1.2.0

func (aBoolAttribute) BoolDefaultValue()defaults.Bool

BoolDefaultValue returns the Default field value.

func (BoolAttribute)BoolPlanModifiers

func (aBoolAttribute) BoolPlanModifiers() []planmodifier.Bool

BoolPlanModifiers returns the PlanModifiers field value.

func (BoolAttribute)BoolValidators

func (aBoolAttribute) BoolValidators() []validator.Bool

BoolValidators returns the Validators field value.

func (BoolAttribute)Equal

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 the Computed field value.

func (BoolAttribute)IsOptional

func (aBoolAttribute) IsOptional()bool

IsOptional returns the Optional field value.

func (BoolAttribute)IsOptionalForImportadded inv1.15.0

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)IsRequiredForImportadded inv1.15.0

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 the Sensitive field value.

func (BoolAttribute)IsWriteOnlyadded inv1.14.0

func (aBoolAttribute) IsWriteOnly()bool

IsWriteOnly returns the WriteOnly field value.

func (BoolAttribute)ValidateImplementationadded inv1.3.0

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.

typeDynamicAttributeadded inv1.7.0

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,// and Required and Computed 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// Computed indicates whether the provider may return its own value for// this Attribute or not. Required and Computed cannot both be true. If// Required and Optional are both false, Computed must be true, and the// attribute will be considered "read only" for the practitioner, with// only the provider able to set its value.Computedbool// Sensitive indicates whether the value of this attribute should be// considered sensitive data. Setting it to true will obscure the value// in CLI output. Sensitive does not impact how values are stored, and// practitioners are encouraged to store their state as if the entire// file is sensitive.Sensitivebool// 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// PlanModifiers defines a sequence of modifiers for this attribute at// plan time. Schema-based plan modifications occur before any// resource-level plan modifications.//// Schema-based plan modifications can adjust Terraform's plan by:////  - Requiring resource recreation. Typically used for configuration//    updates which cannot be done in-place.//  - Setting the planned value. Typically used for enhancing the plan//    to replace unknown values. Computed must be true or Terraform will//    return an error. If the plan value is known due to a known//    configuration value, the plan value cannot be changed or Terraform//    will return an error.//// Any errors will prevent further execution of this sequence or modifiers.PlanModifiers []planmodifier.Dynamic// Default defines a proposed new state (plan) value for the attribute// if the configuration value is null. Default prevents the framework// from automatically marking the value as unknown during planning when// other proposed new state changes are detected. If the attribute is// computed and the value could be altered by other changes then a default// should be avoided and a plan modifier should be used instead.Defaultdefaults.Dynamic// WriteOnly indicates that Terraform will not store this attribute value// in the plan or state artifacts.// If WriteOnly is true, either Optional or Required must also be true.// WriteOnly cannot be set with Computed.//// This functionality is only supported in Terraform 1.11 and later.// Practitioners that choose a value for this attribute with older// versions of Terraform will receive an error.WriteOnlybool}

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 in this order:

  1. By Terraform, if defined in the configuration (if Required or Optional).
  2. By the provider (if Computed).

Once the concrete value type has been determined, it must remain consistent betweenplan and apply or Terraform will return an error.

func (DynamicAttribute)ApplyTerraform5AttributePathStepadded inv1.7.0

func (aDynamicAttribute) ApplyTerraform5AttributePathStep(steptftypes.AttributePathStep) (interface{},error)

ApplyTerraform5AttributePathStep always returns an error as it is notpossible to step further into a DynamicAttribute.

func (DynamicAttribute)DynamicDefaultValueadded inv1.7.0

func (aDynamicAttribute) DynamicDefaultValue()defaults.Dynamic

DynamicDefaultValue returns the Default field value.

func (DynamicAttribute)DynamicPlanModifiersadded inv1.7.0

func (aDynamicAttribute) DynamicPlanModifiers() []planmodifier.Dynamic

DynamicPlanModifiers returns the PlanModifiers field value.

func (DynamicAttribute)DynamicValidatorsadded inv1.7.0

func (aDynamicAttribute) DynamicValidators() []validator.Dynamic

DynamicValidators returns the Validators field value.

func (DynamicAttribute)Equaladded inv1.7.0

Equal returns true if the given Attribute is a DynamicAttributeand all fields are equal.

func (DynamicAttribute)GetDeprecationMessageadded inv1.7.0

func (aDynamicAttribute) GetDeprecationMessage()string

GetDeprecationMessage returns the DeprecationMessage field value.

func (DynamicAttribute)GetDescriptionadded inv1.7.0

func (aDynamicAttribute) GetDescription()string

GetDescription returns the Description field value.

func (DynamicAttribute)GetMarkdownDescriptionadded inv1.7.0

func (aDynamicAttribute) GetMarkdownDescription()string

GetMarkdownDescription returns the MarkdownDescription field value.

func (DynamicAttribute)GetTypeadded inv1.7.0

func (aDynamicAttribute) GetType()attr.Type

GetType returns types.DynamicType or the CustomType field value if defined.

func (DynamicAttribute)IsComputedadded inv1.7.0

func (aDynamicAttribute) IsComputed()bool

IsComputed returns the Computed field value.

func (DynamicAttribute)IsOptionaladded inv1.7.0

func (aDynamicAttribute) IsOptional()bool

IsOptional returns the Optional field value.

func (DynamicAttribute)IsOptionalForImportadded inv1.15.0

func (aDynamicAttribute) IsOptionalForImport()bool

IsOptionalForImport returns false as this behavior is only relevantfor managed resource identity schema attributes.

func (DynamicAttribute)IsRequiredadded inv1.7.0

func (aDynamicAttribute) IsRequired()bool

IsRequired returns the Required field value.

func (DynamicAttribute)IsRequiredForImportadded inv1.15.0

func (aDynamicAttribute) IsRequiredForImport()bool

IsRequiredForImport returns false as this behavior is only relevantfor managed resource identity schema attributes.

func (DynamicAttribute)IsSensitiveadded inv1.7.0

func (aDynamicAttribute) IsSensitive()bool

IsSensitive returns the Sensitive field value.

func (DynamicAttribute)IsWriteOnlyadded inv1.14.0

func (aDynamicAttribute) IsWriteOnly()bool

IsWriteOnly returns the WriteOnly field value.

func (DynamicAttribute)ValidateImplementationadded inv1.7.0

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.

typeFloat32Attributeadded inv1.10.0

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,// and Required and Computed 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// Computed indicates whether the provider may return its own value for// this Attribute or not. Required and Computed cannot both be true. If// Required and Optional are both false, Computed must be true, and the// attribute will be considered "read only" for the practitioner, with// only the provider able to set its value.Computedbool// Sensitive indicates whether the value of this attribute should be// considered sensitive data. Setting it to true will obscure the value// in CLI output. Sensitive does not impact how values are stored, and// practitioners are encouraged to store their state as if the entire// file is sensitive.Sensitivebool// 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// PlanModifiers defines a sequence of modifiers for this attribute at// plan time. Schema-based plan modifications occur before any// resource-level plan modifications.//// Schema-based plan modifications can adjust Terraform's plan by:////  - Requiring resource recreation. Typically used for configuration//    updates which cannot be done in-place.//  - Setting the planned value. Typically used for enhancing the plan//    to replace unknown values. Computed must be true or Terraform will//    return an error. If the plan value is known due to a known//    configuration value, the plan value cannot be changed or Terraform//    will return an error.//// Any errors will prevent further execution of this sequence or modifiers.PlanModifiers []planmodifier.Float32// Default defines a proposed new state (plan) value for the attribute// if the configuration value is null. Default prevents the framework// from automatically marking the value as unknown during planning when// other proposed new state changes are detected. If the attribute is// computed and the value could be altered by other changes then a default// should be avoided and a plan modifier should be used instead.Defaultdefaults.Float32// WriteOnly indicates that Terraform will not store this attribute value// in the plan or state artifacts.// If WriteOnly is true, either Optional or Required must also be true.// WriteOnly cannot be set with Computed.//// This functionality is only supported in Terraform 1.11 and later.// Practitioners that choose a value for this attribute with older// versions of Terraform will receive an error.WriteOnlybool}

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)ApplyTerraform5AttributePathStepadded inv1.10.0

func (aFloat32Attribute) ApplyTerraform5AttributePathStep(steptftypes.AttributePathStep) (interface{},error)

ApplyTerraform5AttributePathStep always returns an error as it is notpossible to step further into a Float32Attribute.

func (Float32Attribute)Equaladded inv1.10.0

Equal returns true if the given Attribute is a Float32Attributeand all fields are equal.

func (Float32Attribute)Float32DefaultValueadded inv1.10.0

func (aFloat32Attribute) Float32DefaultValue()defaults.Float32

Float32DefaultValue returns the Default field value.

func (Float32Attribute)Float32PlanModifiersadded inv1.10.0

func (aFloat32Attribute) Float32PlanModifiers() []planmodifier.Float32

Float32PlanModifiers returns the PlanModifiers field value.

func (Float32Attribute)Float32Validatorsadded inv1.10.0

func (aFloat32Attribute) Float32Validators() []validator.Float32

Float32Validators returns the Validators field value.

func (Float32Attribute)GetDeprecationMessageadded inv1.10.0

func (aFloat32Attribute) GetDeprecationMessage()string

GetDeprecationMessage returns the DeprecationMessage field value.

func (Float32Attribute)GetDescriptionadded inv1.10.0

func (aFloat32Attribute) GetDescription()string

GetDescription returns the Description field value.

func (Float32Attribute)GetMarkdownDescriptionadded inv1.10.0

func (aFloat32Attribute) GetMarkdownDescription()string

GetMarkdownDescription returns the MarkdownDescription field value.

func (Float32Attribute)GetTypeadded inv1.10.0

func (aFloat32Attribute) GetType()attr.Type

GetType returns types.Float32Type or the CustomType field value if defined.

func (Float32Attribute)IsComputedadded inv1.10.0

func (aFloat32Attribute) IsComputed()bool

IsComputed returns the Computed field value.

func (Float32Attribute)IsOptionaladded inv1.10.0

func (aFloat32Attribute) IsOptional()bool

IsOptional returns the Optional field value.

func (Float32Attribute)IsOptionalForImportadded inv1.15.0

func (aFloat32Attribute) IsOptionalForImport()bool

IsOptionalForImport returns false as this behavior is only relevantfor managed resource identity schema attributes.

func (Float32Attribute)IsRequiredadded inv1.10.0

func (aFloat32Attribute) IsRequired()bool

IsRequired returns the Required field value.

func (Float32Attribute)IsRequiredForImportadded inv1.15.0

func (aFloat32Attribute) IsRequiredForImport()bool

IsRequiredForImport returns false as this behavior is only relevantfor managed resource identity schema attributes.

func (Float32Attribute)IsSensitiveadded inv1.10.0

func (aFloat32Attribute) IsSensitive()bool

IsSensitive returns the Sensitive field value.

func (Float32Attribute)IsWriteOnlyadded inv1.14.0

func (aFloat32Attribute) IsWriteOnly()bool

IsWriteOnly returns the WriteOnly field value.

func (Float32Attribute)ValidateImplementationadded inv1.10.0

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.

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,// and Required and Computed 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// Computed indicates whether the provider may return its own value for// this Attribute or not. Required and Computed cannot both be true. If// Required and Optional are both false, Computed must be true, and the// attribute will be considered "read only" for the practitioner, with// only the provider able to set its value.Computedbool// Sensitive indicates whether the value of this attribute should be// considered sensitive data. Setting it to true will obscure the value// in CLI output. Sensitive does not impact how values are stored, and// practitioners are encouraged to store their state as if the entire// file is sensitive.Sensitivebool// 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// PlanModifiers defines a sequence of modifiers for this attribute at// plan time. Schema-based plan modifications occur before any// resource-level plan modifications.//// Schema-based plan modifications can adjust Terraform's plan by:////  - Requiring resource recreation. Typically used for configuration//    updates which cannot be done in-place.//  - Setting the planned value. Typically used for enhancing the plan//    to replace unknown values. Computed must be true or Terraform will//    return an error. If the plan value is known due to a known//    configuration value, the plan value cannot be changed or Terraform//    will return an error.//// Any errors will prevent further execution of this sequence or modifiers.PlanModifiers []planmodifier.Float64// Default defines a proposed new state (plan) value for the attribute// if the configuration value is null. Default prevents the framework// from automatically marking the value as unknown during planning when// other proposed new state changes are detected. If the attribute is// computed and the value could be altered by other changes then a default// should be avoided and a plan modifier should be used instead.Defaultdefaults.Float64// WriteOnly indicates that Terraform will not store this attribute value// in the plan or state artifacts.// If WriteOnly is true, either Optional or Required must also be true.// WriteOnly cannot be set with Computed.//// This functionality is only supported in Terraform 1.11 and later.// Practitioners that choose a value for this attribute with older// versions of Terraform will receive an error.WriteOnlybool}

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

Equal returns true if the given Attribute is a Float64Attributeand all fields are equal.

func (Float64Attribute)Float64DefaultValueadded inv1.2.0

func (aFloat64Attribute) Float64DefaultValue()defaults.Float64

Float64DefaultValue returns the Default field value.

func (Float64Attribute)Float64PlanModifiers

func (aFloat64Attribute) Float64PlanModifiers() []planmodifier.Float64

Float64PlanModifiers returns the PlanModifiers field value.

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 the Computed field value.

func (Float64Attribute)IsOptional

func (aFloat64Attribute) IsOptional()bool

IsOptional returns the Optional field value.

func (Float64Attribute)IsOptionalForImportadded inv1.15.0

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)IsRequiredForImportadded inv1.15.0

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 the Sensitive field value.

func (Float64Attribute)IsWriteOnlyadded inv1.14.0

func (aFloat64Attribute) IsWriteOnly()bool

IsWriteOnly returns the WriteOnly field value.

func (Float64Attribute)ValidateImplementationadded inv1.3.0

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.

typeInt32Attributeadded inv1.10.0

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,// and Required and Computed 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// Computed indicates whether the provider may return its own value for// this Attribute or not. Required and Computed cannot both be true. If// Required and Optional are both false, Computed must be true, and the// attribute will be considered "read only" for the practitioner, with// only the provider able to set its value.Computedbool// Sensitive indicates whether the value of this attribute should be// considered sensitive data. Setting it to true will obscure the value// in CLI output. Sensitive does not impact how values are stored, and// practitioners are encouraged to store their state as if the entire// file is sensitive.Sensitivebool// 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// PlanModifiers defines a sequence of modifiers for this attribute at// plan time. Schema-based plan modifications occur before any// resource-level plan modifications.//// Schema-based plan modifications can adjust Terraform's plan by:////  - Requiring resource recreation. Typically used for configuration//    updates which cannot be done in-place.//  - Setting the planned value. Typically used for enhancing the plan//    to replace unknown values. Computed must be true or Terraform will//    return an error. If the plan value is known due to a known//    configuration value, the plan value cannot be changed or Terraform//    will return an error.//// Any errors will prevent further execution of this sequence or modifiers.PlanModifiers []planmodifier.Int32// Default defines a proposed new state (plan) value for the attribute// if the configuration value is null. Default prevents the framework// from automatically marking the value as unknown during planning when// other proposed new state changes are detected. If the attribute is// computed and the value could be altered by other changes then a default// should be avoided and a plan modifier should be used instead.Defaultdefaults.Int32// WriteOnly indicates that Terraform will not store this attribute value// in the plan or state artifacts.// If WriteOnly is true, either Optional or Required must also be true.// WriteOnly cannot be set with Computed.//// This functionality is only supported in Terraform 1.11 and later.// Practitioners that choose a value for this attribute with older// versions of Terraform will receive an error.WriteOnlybool}

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)ApplyTerraform5AttributePathStepadded inv1.10.0

func (aInt32Attribute) ApplyTerraform5AttributePathStep(steptftypes.AttributePathStep) (interface{},error)

ApplyTerraform5AttributePathStep always returns an error as it is notpossible to step further into a Int32Attribute.

func (Int32Attribute)Equaladded inv1.10.0

Equal returns true if the given Attribute is a Int32Attributeand all fields are equal.

func (Int32Attribute)GetDeprecationMessageadded inv1.10.0

func (aInt32Attribute) GetDeprecationMessage()string

GetDeprecationMessage returns the DeprecationMessage field value.

func (Int32Attribute)GetDescriptionadded inv1.10.0

func (aInt32Attribute) GetDescription()string

GetDescription returns the Description field value.

func (Int32Attribute)GetMarkdownDescriptionadded inv1.10.0

func (aInt32Attribute) GetMarkdownDescription()string

GetMarkdownDescription returns the MarkdownDescription field value.

func (Int32Attribute)GetTypeadded inv1.10.0

func (aInt32Attribute) GetType()attr.Type

GetType returns types.Int32Type or the CustomType field value if defined.

func (Int32Attribute)Int32DefaultValueadded inv1.10.0

func (aInt32Attribute) Int32DefaultValue()defaults.Int32

Int32DefaultValue returns the Default field value.

func (Int32Attribute)Int32PlanModifiersadded inv1.10.0

func (aInt32Attribute) Int32PlanModifiers() []planmodifier.Int32

Int32PlanModifiers returns the PlanModifiers field value.

func (Int32Attribute)Int32Validatorsadded inv1.10.0

func (aInt32Attribute) Int32Validators() []validator.Int32

Int32Validators returns the Validators field value.

func (Int32Attribute)IsComputedadded inv1.10.0

func (aInt32Attribute) IsComputed()bool

IsComputed returns the Computed field value.

func (Int32Attribute)IsOptionaladded inv1.10.0

func (aInt32Attribute) IsOptional()bool

IsOptional returns the Optional field value.

func (Int32Attribute)IsOptionalForImportadded inv1.15.0

func (aInt32Attribute) IsOptionalForImport()bool

IsOptionalForImport returns false as this behavior is only relevantfor managed resource identity schema attributes.

func (Int32Attribute)IsRequiredadded inv1.10.0

func (aInt32Attribute) IsRequired()bool

IsRequired returns the Required field value.

func (Int32Attribute)IsRequiredForImportadded inv1.15.0

func (aInt32Attribute) IsRequiredForImport()bool

IsRequiredForImport returns false as this behavior is only relevantfor managed resource identity schema attributes.

func (Int32Attribute)IsSensitiveadded inv1.10.0

func (aInt32Attribute) IsSensitive()bool

IsSensitive returns the Sensitive field value.

func (Int32Attribute)IsWriteOnlyadded inv1.14.0

func (aInt32Attribute) IsWriteOnly()bool

IsWriteOnly returns the WriteOnly field value.

func (Int32Attribute)ValidateImplementationadded inv1.10.0

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.

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,// and Required and Computed 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// Computed indicates whether the provider may return its own value for// this Attribute or not. Required and Computed cannot both be true. If// Required and Optional are both false, Computed must be true, and the// attribute will be considered "read only" for the practitioner, with// only the provider able to set its value.Computedbool// Sensitive indicates whether the value of this attribute should be// considered sensitive data. Setting it to true will obscure the value// in CLI output. Sensitive does not impact how values are stored, and// practitioners are encouraged to store their state as if the entire// file is sensitive.Sensitivebool// 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// PlanModifiers defines a sequence of modifiers for this attribute at// plan time. Schema-based plan modifications occur before any// resource-level plan modifications.//// Schema-based plan modifications can adjust Terraform's plan by:////  - Requiring resource recreation. Typically used for configuration//    updates which cannot be done in-place.//  - Setting the planned value. Typically used for enhancing the plan//    to replace unknown values. Computed must be true or Terraform will//    return an error. If the plan value is known due to a known//    configuration value, the plan value cannot be changed or Terraform//    will return an error.//// Any errors will prevent further execution of this sequence or modifiers.PlanModifiers []planmodifier.Int64// Default defines a proposed new state (plan) value for the attribute// if the configuration value is null. Default prevents the framework// from automatically marking the value as unknown during planning when// other proposed new state changes are detected. If the attribute is// computed and the value could be altered by other changes then a default// should be avoided and a plan modifier should be used instead.Defaultdefaults.Int64// WriteOnly indicates that Terraform will not store this attribute value// in the plan or state artifacts.// If WriteOnly is true, either Optional or Required must also be true.// WriteOnly cannot be set with Computed.//// This functionality is only supported in Terraform 1.11 and later.// Practitioners that choose a value for this attribute with older// versions of Terraform will receive an error.WriteOnlybool}

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

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)Int64DefaultValueadded inv1.2.0

func (aInt64Attribute) Int64DefaultValue()defaults.Int64

Int64DefaultValue returns the Default field value.

func (Int64Attribute)Int64PlanModifiers

func (aInt64Attribute) Int64PlanModifiers() []planmodifier.Int64

Int64PlanModifiers returns the PlanModifiers field value.

func (Int64Attribute)Int64Validators

func (aInt64Attribute) Int64Validators() []validator.Int64

Int64Validators returns the Validators field value.

func (Int64Attribute)IsComputed

func (aInt64Attribute) IsComputed()bool

IsComputed returns the Computed field value.

func (Int64Attribute)IsOptional

func (aInt64Attribute) IsOptional()bool

IsOptional returns the Optional field value.

func (Int64Attribute)IsOptionalForImportadded inv1.15.0

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)IsRequiredForImportadded inv1.15.0

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 the Sensitive field value.

func (Int64Attribute)IsWriteOnlyadded inv1.14.0

func (aInt64Attribute) IsWriteOnly()bool

IsWriteOnly returns the WriteOnly field value.

func (Int64Attribute)ValidateImplementationadded inv1.3.0

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.

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,// and Required and Computed 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// Computed indicates whether the provider may return its own value for// this Attribute or not. Required and Computed cannot both be true. If// Required and Optional are both false, Computed must be true, and the// attribute will be considered "read only" for the practitioner, with// only the provider able to set its value.Computedbool// Sensitive indicates whether the value of this attribute should be// considered sensitive data. Setting it to true will obscure the value// in CLI output. Sensitive does not impact how values are stored, and// practitioners are encouraged to store their state as if the entire// file is sensitive.Sensitivebool// 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// PlanModifiers defines a sequence of modifiers for this attribute at// plan time. Schema-based plan modifications occur before any// resource-level plan modifications.//// Schema-based plan modifications can adjust Terraform's plan by:////  - Requiring resource recreation. Typically used for configuration//    updates which cannot be done in-place.//  - Setting the planned value. Typically used for enhancing the plan//    to replace unknown values. Computed must be true or Terraform will//    return an error. If the plan value is known due to a known//    configuration value, the plan value cannot be changed or Terraform//    will return an error.//// Any errors will prevent further execution of this sequence or modifiers.PlanModifiers []planmodifier.List// Default defines a proposed new state (plan) value for the attribute// if the configuration value is null. Default prevents the framework// from automatically marking the value as unknown during planning when// other proposed new state changes are detected. If the attribute is// computed and the value could be altered by other changes then a default// should be avoided and a plan modifier should be used instead.Defaultdefaults.List// WriteOnly indicates that Terraform will not store this attribute value// in the plan or state artifacts.// If WriteOnly is true, either Optional or Required must also be true.// WriteOnly cannot be set with Computed.//// This functionality is only supported in Terraform 1.11 and later.// Practitioners that choose a value for this attribute with older// versions of Terraform will receive an error.WriteOnlybool}

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.

Use ListNestedAttribute if the underlying elements should be objects andrequire definition beyond type information.

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

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 the Computed field value.

func (ListAttribute)IsOptional

func (aListAttribute) IsOptional()bool

IsOptional returns the Optional field value.

func (ListAttribute)IsOptionalForImportadded inv1.15.0

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)IsRequiredForImportadded inv1.15.0

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 the Sensitive field value.

func (ListAttribute)IsWriteOnlyadded inv1.14.0

func (aListAttribute) IsWriteOnly()bool

IsWriteOnly returns the WriteOnly field value.

func (ListAttribute)ListDefaultValueadded inv1.2.0

func (aListAttribute) ListDefaultValue()defaults.List

ListDefaultValue returns the Default field value.

func (ListAttribute)ListPlanModifiers

func (aListAttribute) ListPlanModifiers() []planmodifier.List

ListPlanModifiers returns the PlanModifiers field value.

func (ListAttribute)ListValidators

func (aListAttribute) ListValidators() []validator.List

ListValidators returns the Validators field value.

func (ListAttribute)ValidateImplementationadded inv1.3.0

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.

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,// and Required and Computed 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// Computed indicates whether the provider may return its own value for// this Attribute or not. Required and Computed cannot both be true. If// Required and Optional are both false, Computed must be true, and the// attribute will be considered "read only" for the practitioner, with// only the provider able to set its value.Computedbool// Sensitive indicates whether the value of this attribute should be// considered sensitive data. Setting it to true will obscure the value// in CLI output. Sensitive does not impact how values are stored, and// practitioners are encouraged to store their state as if the entire// file is sensitive.Sensitivebool// 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// PlanModifiers defines a sequence of modifiers for this attribute at// plan time. Schema-based plan modifications occur before any// resource-level plan modifications.//// Schema-based plan modifications can adjust Terraform's plan by:////  - Requiring resource recreation. Typically used for configuration//    updates which cannot be done in-place.//  - Setting the planned value. Typically used for enhancing the plan//    to replace unknown values. Computed must be true or Terraform will//    return an error. If the plan value is known due to a known//    configuration value, the plan value cannot be changed or Terraform//    will return an error.//// Any errors will prevent further execution of this sequence or modifiers.PlanModifiers []planmodifier.List// Default defines a proposed new state (plan) value for the attribute// if the configuration value is null. Default prevents the framework// from automatically marking the value as unknown during planning when// other proposed new state changes are detected. If the attribute is// computed and the value could be altered by other changes then a default// should be avoided and a plan modifier should be used instead.Defaultdefaults.List// WriteOnly indicates that Terraform will not store this attribute value// in the plan or state artifacts.// If WriteOnly is true, either Optional or Required must also be true.// WriteOnly cannot be set with Computed.//// If WriteOnly is true for a nested attribute, all of its child attributes// must also set WriteOnly to true and no child attribute can be Computed.//// This functionality is only supported in Terraform 1.11 and later.// Practitioners that choose a value for this attribute with older// versions of Terraform will receive an error.WriteOnlybool}

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

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

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 the Computed field value.

func (ListNestedAttribute)IsOptional

func (aListNestedAttribute) IsOptional()bool

IsOptional returns the Optional field value.

func (ListNestedAttribute)IsOptionalForImportadded inv1.15.0

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)IsRequiredForImportadded inv1.15.0

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 the Sensitive field value.

func (ListNestedAttribute)IsWriteOnlyadded inv1.14.0

func (aListNestedAttribute) IsWriteOnly()bool

IsWriteOnly returns the WriteOnly field value.

func (ListNestedAttribute)ListDefaultValueadded inv1.2.0

func (aListNestedAttribute) ListDefaultValue()defaults.List

ListDefaultValue returns the Default field value.

func (ListNestedAttribute)ListPlanModifiers

func (aListNestedAttribute) ListPlanModifiers() []planmodifier.List

ListPlanModifiers returns the PlanModifiers field value.

func (ListNestedAttribute)ListValidators

func (aListNestedAttribute) ListValidators() []validator.List

ListValidators returns the Validators field value.

func (ListNestedAttribute)ValidateImplementationadded inv1.3.0

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// PlanModifiers defines a sequence of modifiers for this attribute at// plan time. Schema-based plan modifications occur before any// resource-level plan modifications.//// Schema-based plan modifications can adjust Terraform's plan by:////  - Requiring resource recreation. Typically used for configuration//    updates which cannot be done in-place.//  - Setting the planned value. Typically used for enhancing the plan//    to replace unknown values. Computed must be true or Terraform will//    return an error. If the plan value is known due to a known//    configuration value, the plan value cannot be changed or Terraform//    will return an error.//// Any errors will prevent further execution of this sequence or modifiers.PlanModifiers []planmodifier.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

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)ListPlanModifiers

func (bListNestedBlock) ListPlanModifiers() []planmodifier.List

ListPlanModifiers returns the PlanModifiers field value.

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)ValidateImplementationadded inv1.7.0

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,// and Required and Computed 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// Computed indicates whether the provider may return its own value for// this Attribute or not. Required and Computed cannot both be true. If// Required and Optional are both false, Computed must be true, and the// attribute will be considered "read only" for the practitioner, with// only the provider able to set its value.Computedbool// Sensitive indicates whether the value of this attribute should be// considered sensitive data. Setting it to true will obscure the value// in CLI output. Sensitive does not impact how values are stored, and// practitioners are encouraged to store their state as if the entire// file is sensitive.Sensitivebool// 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// PlanModifiers defines a sequence of modifiers for this attribute at// plan time. Schema-based plan modifications occur before any// resource-level plan modifications.//// Schema-based plan modifications can adjust Terraform's plan by:////  - Requiring resource recreation. Typically used for configuration//    updates which cannot be done in-place.//  - Setting the planned value. Typically used for enhancing the plan//    to replace unknown values. Computed must be true or Terraform will//    return an error. If the plan value is known due to a known//    configuration value, the plan value cannot be changed or Terraform//    will return an error.//// Any errors will prevent further execution of this sequence or modifiers.PlanModifiers []planmodifier.Map// Default defines a proposed new state (plan) value for the attribute// if the configuration value is null. Default prevents the framework// from automatically marking the value as unknown during planning when// other proposed new state changes are detected. If the attribute is// computed and the value could be altered by other changes then a default// should be avoided and a plan modifier should be used instead.Defaultdefaults.Map// WriteOnly indicates that Terraform will not store this attribute value// in the plan or state artifacts.// If WriteOnly is true, either Optional or Required must also be true.// WriteOnly cannot be set with Computed.//// This functionality is only supported in Terraform 1.11 and later.// Practitioners that choose a value for this attribute with older// versions of Terraform will receive an error.WriteOnlybool}

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.

Use MapNestedAttribute if the underlying elements should be objects andrequire definition beyond type information.

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

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 the Computed field value.

func (MapAttribute)IsOptional

func (aMapAttribute) IsOptional()bool

IsOptional returns the Optional field value.

func (MapAttribute)IsOptionalForImportadded inv1.15.0

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)IsRequiredForImportadded inv1.15.0

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 the Sensitive field value.

func (MapAttribute)IsWriteOnlyadded inv1.14.0

func (aMapAttribute) IsWriteOnly()bool

IsWriteOnly returns the WriteOnly field value.

func (MapAttribute)MapDefaultValueadded inv1.2.0

func (aMapAttribute) MapDefaultValue()defaults.Map

MapDefaultValue returns the Default field value.

func (MapAttribute)MapPlanModifiers

func (aMapAttribute) MapPlanModifiers() []planmodifier.Map

MapPlanModifiers returns the PlanModifiers field value.

func (MapAttribute)MapValidators

func (aMapAttribute) MapValidators() []validator.Map

MapValidators returns the Validators field value.

func (MapAttribute)ValidateImplementationadded inv1.3.0

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.

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,// and Required and Computed 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// Computed indicates whether the provider may return its own value for// this Attribute or not. Required and Computed cannot both be true. If// Required and Optional are both false, Computed must be true, and the// attribute will be considered "read only" for the practitioner, with// only the provider able to set its value.Computedbool// Sensitive indicates whether the value of this attribute should be// considered sensitive data. Setting it to true will obscure the value// in CLI output. Sensitive does not impact how values are stored, and// practitioners are encouraged to store their state as if the entire// file is sensitive.Sensitivebool// 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// PlanModifiers defines a sequence of modifiers for this attribute at// plan time. Schema-based plan modifications occur before any// resource-level plan modifications.//// Schema-based plan modifications can adjust Terraform's plan by:////  - Requiring resource recreation. Typically used for configuration//    updates which cannot be done in-place.//  - Setting the planned value. Typically used for enhancing the plan//    to replace unknown values. Computed must be true or Terraform will//    return an error. If the plan value is known due to a known//    configuration value, the plan value cannot be changed or Terraform//    will return an error.//// Any errors will prevent further execution of this sequence or modifiers.PlanModifiers []planmodifier.Map// Default defines a proposed new state (plan) value for the attribute// if the configuration value is null. Default prevents the framework// from automatically marking the value as unknown during planning when// other proposed new state changes are detected. If the attribute is// computed and the value could be altered by other changes then a default// should be avoided and a plan modifier should be used instead.Defaultdefaults.Map// WriteOnly indicates that Terraform will not store this attribute value// in the plan or state artifacts.// If WriteOnly is true, either Optional or Required must also be true.// WriteOnly cannot be set with Computed.//// If WriteOnly is true for a nested attribute, all of its child attributes// must also set WriteOnly to true and no child attribute can be Computed.//// This functionality is only supported in Terraform 1.11 and later.// Practitioners that choose a value for this attribute with older// versions of Terraform will receive an error.WriteOnlybool}

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

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

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 the Computed field value.

func (MapNestedAttribute)IsOptional

func (aMapNestedAttribute) IsOptional()bool

IsOptional returns the Optional field value.

func (MapNestedAttribute)IsOptionalForImportadded inv1.15.0

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)IsRequiredForImportadded inv1.15.0

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 the Sensitive field value.

func (MapNestedAttribute)IsWriteOnlyadded inv1.14.0

func (aMapNestedAttribute) IsWriteOnly()bool

IsWriteOnly returns the WriteOnly field value.

func (MapNestedAttribute)MapDefaultValueadded inv1.2.0

func (aMapNestedAttribute) MapDefaultValue()defaults.Map

MapDefaultValue returns the Default field value.

func (MapNestedAttribute)MapPlanModifiers

func (aMapNestedAttribute) MapPlanModifiers() []planmodifier.Map

MapPlanModifiers returns the PlanModifiers field value.

func (MapNestedAttribute)MapValidators

func (aMapNestedAttribute) MapValidators() []validator.Map

MapValidators returns the Validators field value.

func (MapNestedAttribute)ValidateImplementationadded inv1.3.0

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// PlanModifiers defines a sequence of modifiers for this attribute at// plan time. Schema-based plan modifications occur before any// resource-level plan modifications.//// Schema-based plan modifications can adjust Terraform's plan by:////  - Requiring resource recreation. Typically used for configuration//    updates which cannot be done in-place.//  - Setting the planned value. Typically used for enhancing the plan//    to replace unknown values. Computed must be true or Terraform will//    return an error. If the plan value is known due to a known//    configuration value, the plan value cannot be changed or Terraform//    will return an error.//// Any errors will prevent further execution of this sequence or modifiers.PlanModifiers []planmodifier.Object}

NestedAttributeObject is the object containing the underlying attributesfor a ListNestedAttribute, MapNestedAttribute, SetNestedAttribute, 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

Equal returns true if the given NestedAttributeObject is equivalent.

func (NestedAttributeObject)GetAttributes

GetAttributes returns the Attributes field value.

func (NestedAttributeObject)ObjectPlanModifiers

func (oNestedAttributeObject) ObjectPlanModifiers() []planmodifier.Object

ObjectPlanModifiers returns the PlanModifiers field value.

func (NestedAttributeObject)ObjectValidators

func (oNestedAttributeObject) ObjectValidators() []validator.Object

ObjectValidators returns the Validators field value.

func (NestedAttributeObject)Type

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// PlanModifiers defines a sequence of modifiers for this attribute at// plan time. Schema-based plan modifications occur before any// resource-level plan modifications.//// Schema-based plan modifications can adjust Terraform's plan by:////  - Requiring resource recreation. Typically used for configuration//    updates which cannot be done in-place.//  - Setting the planned value. Typically used for enhancing the plan//    to replace unknown values. Computed must be true or Terraform will//    return an error. If the plan value is known due to a known//    configuration value, the plan value cannot be changed or Terraform//    will return an error.//// Any errors will prevent further execution of this sequence or modifiers.PlanModifiers []planmodifier.Object}

NestedBlockObject is the object containing the underlying attributes andblocks for a ListNestedBlock or SetNestedBlock. 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

Equal returns true if the given NestedBlockObject is equivalent.

func (NestedBlockObject)GetAttributes

GetAttributes returns the Attributes field value.

func (NestedBlockObject)GetBlocks

func (oNestedBlockObject) GetBlocks() map[string]fwschema.Block

GetAttributes returns the Blocks field value.

func (NestedBlockObject)ObjectPlanModifiers

func (oNestedBlockObject) ObjectPlanModifiers() []planmodifier.Object

ObjectPlanModifiers returns the PlanModifiers field value.

func (NestedBlockObject)ObjectValidators

func (oNestedBlockObject) ObjectValidators() []validator.Object

ObjectValidators returns the Validators field value.

func (NestedBlockObject)Type

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,// and Required and Computed 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// Computed indicates whether the provider may return its own value for// this Attribute or not. Required and Computed cannot both be true. If// Required and Optional are both false, Computed must be true, and the// attribute will be considered "read only" for the practitioner, with// only the provider able to set its value.Computedbool// Sensitive indicates whether the value of this attribute should be// considered sensitive data. Setting it to true will obscure the value// in CLI output. Sensitive does not impact how values are stored, and// practitioners are encouraged to store their state as if the entire// file is sensitive.Sensitivebool// 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// PlanModifiers defines a sequence of modifiers for this attribute at// plan time. Schema-based plan modifications occur before any// resource-level plan modifications.//// Schema-based plan modifications can adjust Terraform's plan by:////  - Requiring resource recreation. Typically used for configuration//    updates which cannot be done in-place.//  - Setting the planned value. Typically used for enhancing the plan//    to replace unknown values. Computed must be true or Terraform will//    return an error. If the plan value is known due to a known//    configuration value, the plan value cannot be changed or Terraform//    will return an error.//// Any errors will prevent further execution of this sequence or modifiers.PlanModifiers []planmodifier.Number// Default defines a proposed new state (plan) value for the attribute// if the configuration value is null. Default prevents the framework// from automatically marking the value as unknown during planning when// other proposed new state changes are detected. If the attribute is// computed and the value could be altered by other changes then a default// should be avoided and a plan modifier should be used instead.Defaultdefaults.Number// WriteOnly indicates that Terraform will not store this attribute value// in the plan or state artifacts.// If WriteOnly is true, either Optional or Required must also be true.// WriteOnly cannot be set with Computed.//// This functionality is only supported in Terraform 1.11 and later.// Practitioners that choose a value for this attribute with older// versions of Terraform will receive an error.WriteOnlybool}

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

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 the Computed field value.

func (NumberAttribute)IsOptional

func (aNumberAttribute) IsOptional()bool

IsOptional returns the Optional field value.

func (NumberAttribute)IsOptionalForImportadded inv1.15.0

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)IsRequiredForImportadded inv1.15.0

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 the Sensitive field value.

func (NumberAttribute)IsWriteOnlyadded inv1.14.0

func (aNumberAttribute) IsWriteOnly()bool

IsWriteOnly returns the WriteOnly field value.

func (NumberAttribute)NumberDefaultValueadded inv1.2.0

func (aNumberAttribute) NumberDefaultValue()defaults.Number

NumberDefaultValue returns the Default field value.

func (NumberAttribute)NumberPlanModifiers

func (aNumberAttribute) NumberPlanModifiers() []planmodifier.Number

NumberPlanModifiers returns the PlanModifiers field value.

func (NumberAttribute)NumberValidators

func (aNumberAttribute) NumberValidators() []validator.Number

NumberValidators returns the Validators field value.

func (NumberAttribute)ValidateImplementationadded inv1.3.0

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.

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,// and Required and Computed 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// Computed indicates whether the provider may return its own value for// this Attribute or not. Required and Computed cannot both be true. If// Required and Optional are both false, Computed must be true, and the// attribute will be considered "read only" for the practitioner, with// only the provider able to set its value.Computedbool// Sensitive indicates whether the value of this attribute should be// considered sensitive data. Setting it to true will obscure the value// in CLI output. Sensitive does not impact how values are stored, and// practitioners are encouraged to store their state as if the entire// file is sensitive.Sensitivebool// 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// PlanModifiers defines a sequence of modifiers for this attribute at// plan time. Schema-based plan modifications occur before any// resource-level plan modifications.//// Schema-based plan modifications can adjust Terraform's plan by:////  - Requiring resource recreation. Typically used for configuration//    updates which cannot be done in-place.//  - Setting the planned value. Typically used for enhancing the plan//    to replace unknown values. Computed must be true or Terraform will//    return an error. If the plan value is known due to a known//    configuration value, the plan value cannot be changed or Terraform//    will return an error.//// Any errors will prevent further execution of this sequence or modifiers.PlanModifiers []planmodifier.Object// Default defines a proposed new state (plan) value for the attribute// if the configuration value is null. Default prevents the framework// from automatically marking the value as unknown during planning when// other proposed new state changes are detected. If the attribute is// computed and the value could be altered by other changes then a default// should be avoided and a plan modifier should be used instead.Defaultdefaults.Object// WriteOnly indicates that Terraform will not store this attribute value// in the plan or state artifacts.// If WriteOnly is true, either Optional or Required must also be true.// WriteOnly cannot be set with Computed.//// This functionality is only supported in Terraform 1.11 and later.// Practitioners that choose a value for this attribute with older// versions of Terraform will receive an error.WriteOnlybool}

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

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 the Computed field value.

func (ObjectAttribute)IsOptional

func (aObjectAttribute) IsOptional()bool

IsOptional returns the Optional field value.

func (ObjectAttribute)IsOptionalForImportadded inv1.15.0

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)IsRequiredForImportadded inv1.15.0

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 the Sensitive field value.

func (ObjectAttribute)IsWriteOnlyadded inv1.14.0

func (aObjectAttribute) IsWriteOnly()bool

IsWriteOnly returns the WriteOnly field value.

func (ObjectAttribute)ObjectDefaultValueadded inv1.2.0

func (aObjectAttribute) ObjectDefaultValue()defaults.Object

ObjectDefaultValue returns the Default field value.

func (ObjectAttribute)ObjectPlanModifiers

func (aObjectAttribute) ObjectPlanModifiers() []planmodifier.Object

ObjectPlanModifiers returns the PlanModifiers field value.

func (ObjectAttribute)ObjectValidators

func (aObjectAttribute) ObjectValidators() []validator.Object

ObjectValidators returns the Validators field value.

func (ObjectAttribute)ValidateImplementationadded inv1.3.0

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.

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// Version indicates the current version of the resource schema. Resource// schema versioning enables state upgrades in conjunction with the// [resource.ResourceWithStateUpgrades] interface. Versioning is only// required if there is a breaking change involving existing state data,// such as changing an attribute or block type in a manner that is// incompatible with the Terraform type.//// Versions are conventionally only incremented by one each release.Versionint64}

Schema defines the structure and value types of resource data. This typeis used as the resource.SchemaResponse type Schema field, which isimplemented by the resource.DataSource type Schema method.

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

func (sSchema) GetAttributes() map[string]fwschema.Attribute

GetAttributes returns the Attributes field value.

func (Schema)GetBlocks

func (sSchema) GetBlocks() map[string]fwschema.Block

GetBlocks returns the Blocks field value.

func (Schema)GetDeprecationMessage

func (sSchema) GetDeprecationMessage()string

GetDeprecationMessage returns the DeprecationMessage field value.

func (Schema)GetDescription

func (sSchema) GetDescription()string

GetDescription returns the Description field value.

func (Schema)GetMarkdownDescription

func (sSchema) GetMarkdownDescription()string

GetMarkdownDescription returns the MarkdownDescription field value.

func (Schema)GetVersion

func (sSchema) GetVersion()int64

GetVersion returns the Version field value.

func (Schema)Type

func (sSchema) Type()attr.Type

Type returns the framework type of the schema.

func (Schema)TypeAtPath

func (sSchema) TypeAtPath(ctxcontext.Context, ppath.Path) (attr.Type,diag.Diagnostics)

TypeAtPath returns the framework type at the given schema path.

func (Schema)TypeAtTerraformPath

func (sSchema) TypeAtTerraformPath(ctxcontext.Context, p *tftypes.AttributePath) (attr.Type,error)

TypeAtTerraformPath returns the framework type at the given tftypes path.

func (Schema)Validatedeprecatedadded inv1.0.0

func (sSchema) Validate()diag.Diagnostics

Validate verifies that the schema is not using a reserved field name for a top-level attribute.

Deprecated: Use the ValidateImplementation method instead.

func (Schema)ValidateImplementationadded inv1.3.0

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.

typeSetAttribute

type SetAttribute struct {// ElementType is the type for all elements of the set. 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.SetType. When retrieving data, the basetypes.SetValuable// associated with this custom type must be used in place of types.Set.CustomTypebasetypes.SetTypable// Required indicates whether the practitioner must enter a value for// this attribute or not. Required and Optional cannot both be true,// and Required and Computed 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// Computed indicates whether the provider may return its own value for// this Attribute or not. Required and Computed cannot both be true. If// Required and Optional are both false, Computed must be true, and the// attribute will be considered "read only" for the practitioner, with// only the provider able to set its value.Computedbool// Sensitive indicates whether the value of this attribute should be// considered sensitive data. Setting it to true will obscure the value// in CLI output. Sensitive does not impact how values are stored, and// practitioners are encouraged to store their state as if the entire// file is sensitive.Sensitivebool// 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.Set// PlanModifiers defines a sequence of modifiers for this attribute at// plan time. Schema-based plan modifications occur before any// resource-level plan modifications.//// Schema-based plan modifications can adjust Terraform's plan by:////  - Requiring resource recreation. Typically used for configuration//    updates which cannot be done in-place.//  - Setting the planned value. Typically used for enhancing the plan//    to replace unknown values. Computed must be true or Terraform will//    return an error. If the plan value is known due to a known//    configuration value, the plan value cannot be changed or Terraform//    will return an error.//// Any errors will prevent further execution of this sequence or modifiers.PlanModifiers []planmodifier.Set// Default defines a proposed new state (plan) value for the attribute// if the configuration value is null. Default prevents the framework// from automatically marking the value as unknown during planning when// other proposed new state changes are detected. If the attribute is// computed and the value could be altered by other changes then a default// should be avoided and a plan modifier should be used instead.Defaultdefaults.Set}

SetAttribute represents a schema attribute that is a set with a singleelement type. When retrieving the value for this attribute, use types.Setas the value type unless the CustomType field is set. The ElementType fieldmust be set.

Use SetNestedAttribute if the underlying elements should be objects andrequire definition beyond type information.

Terraform configurations configure this attribute using expressions thatreturn a set or directly via square brace syntax.

# set of stringsexample_attribute = ["first", "second"]

Terraform configurations reference this attribute using expressions thataccept a set. Sets cannot be indexed in Terraform, therefore an expressionis required to access an explicit element.

func (SetAttribute)ApplyTerraform5AttributePathStep

func (aSetAttribute) ApplyTerraform5AttributePathStep(steptftypes.AttributePathStep) (interface{},error)

ApplyTerraform5AttributePathStep returns the result of stepping into a setindex or an error.

func (SetAttribute)Equal

Equal returns true if the given Attribute is a SetAttributeand all fields are equal.

func (SetAttribute)GetDeprecationMessage

func (aSetAttribute) GetDeprecationMessage()string

GetDeprecationMessage returns the DeprecationMessage field value.

func (SetAttribute)GetDescription

func (aSetAttribute) GetDescription()string

GetDescription returns the Description field value.

func (SetAttribute)GetMarkdownDescription

func (aSetAttribute) GetMarkdownDescription()string

GetMarkdownDescription returns the MarkdownDescription field value.

func (SetAttribute)GetType

func (aSetAttribute) GetType()attr.Type

GetType returns types.SetType or the CustomType field value if defined.

func (SetAttribute)IsComputed

func (aSetAttribute) IsComputed()bool

IsComputed returns the Computed field value.

func (SetAttribute)IsOptional

func (aSetAttribute) IsOptional()bool

IsOptional returns the Optional field value.

func (SetAttribute)IsOptionalForImportadded inv1.15.0

func (aSetAttribute) IsOptionalForImport()bool

IsOptionalForImport returns false as this behavior is only relevantfor managed resource identity schema attributes.

func (SetAttribute)IsRequired

func (aSetAttribute) IsRequired()bool

IsRequired returns the Required field value.

func (SetAttribute)IsRequiredForImportadded inv1.15.0

func (aSetAttribute) IsRequiredForImport()bool

IsRequiredForImport returns false as this behavior is only relevantfor managed resource identity schema attributes.

func (SetAttribute)IsSensitive

func (aSetAttribute) IsSensitive()bool

IsSensitive returns the Sensitive field value.

func (SetAttribute)IsWriteOnlyadded inv1.14.0

func (aSetAttribute) IsWriteOnly()bool

IsWriteOnly returns false as write-only attributes are not supported for sets and set-based data.

func (SetAttribute)SetDefaultValueadded inv1.2.0

func (aSetAttribute) SetDefaultValue()defaults.Set

SetDefaultValue returns the Default field value.

func (SetAttribute)SetPlanModifiers

func (aSetAttribute) SetPlanModifiers() []planmodifier.Set

SetPlanModifiers returns the PlanModifiers field value.

func (SetAttribute)SetValidators

func (aSetAttribute) SetValidators() []validator.Set

SetValidators returns the Validators field value.

func (SetAttribute)ValidateImplementationadded inv1.3.0

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.

typeSetNestedAttribute

type SetNestedAttribute 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.SetType of types.ObjectType. When retrieving data, the// basetypes.SetValuable associated with this custom type must be used in// place of types.Set.CustomTypebasetypes.SetTypable// Required indicates whether the practitioner must enter a value for// this attribute or not. Required and Optional cannot both be true,// and Required and Computed 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// Computed indicates whether the provider may return its own value for// this Attribute or not. Required and Computed cannot both be true. If// Required and Optional are both false, Computed must be true, and the// attribute will be considered "read only" for the practitioner, with// only the provider able to set its value.Computedbool// Sensitive indicates whether the value of this attribute should be// considered sensitive data. Setting it to true will obscure the value// in CLI output. Sensitive does not impact how values are stored, and// practitioners are encouraged to store their state as if the entire// file is sensitive.Sensitivebool// 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.Set// PlanModifiers defines a sequence of modifiers for this attribute at// plan time. Schema-based plan modifications occur before any// resource-level plan modifications.//// Schema-based plan modifications can adjust Terraform's plan by:////  - Requiring resource recreation. Typically used for configuration//    updates which cannot be done in-place.//  - Setting the planned value. Typically used for enhancing the plan//    to replace unknown values. Computed must be true or Terraform will//    return an error. If the plan value is known due to a known//    configuration value, the plan value cannot be changed or Terraform//    will return an error.//// Any errors will prevent further execution of this sequence or modifiers.PlanModifiers []planmodifier.Set// Default defines a proposed new state (plan) value for the attribute// if the configuration value is null. Default prevents the framework// from automatically marking the value as unknown during planning when// other proposed new state changes are detected. If the attribute is// computed and the value could be altered by other changes then a default// should be avoided and a plan modifier should be used instead.Defaultdefaults.Set}

SetNestedAttribute represents an attribute that is a set of objects wherethe object attributes can be fully defined, including further nestedattributes. When retrieving the value for this attribute, use types.Setas the value type unless the CustomType field is set. The NestedObject fieldmust be set. Nested attributes are only compatible with protocol version 6.

Use SetAttribute 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 set of objects or directly via square and curly brace syntax.

# set of objectsexample_attribute = [{nested_attribute = #...},]

Terraform configurations reference this attribute using expressions thataccept a set of objects. Sets cannot be indexed in Terraform, thereforean expression is required to access an explicit element.

func (SetNestedAttribute)ApplyTerraform5AttributePathStep

func (aSetNestedAttribute) ApplyTerraform5AttributePathStep(steptftypes.AttributePathStep) (interface{},error)

ApplyTerraform5AttributePathStep returns the Attributes field value if stepis ElementKeyValue, otherwise returns an error.

func (SetNestedAttribute)Equal

Equal returns true if the given Attribute is a SetNestedAttributeand all fields are equal.

func (SetNestedAttribute)GetDeprecationMessage

func (aSetNestedAttribute) GetDeprecationMessage()string

GetDeprecationMessage returns the DeprecationMessage field value.

func (SetNestedAttribute)GetDescription

func (aSetNestedAttribute) GetDescription()string

GetDescription returns the Description field value.

func (SetNestedAttribute)GetMarkdownDescription

func (aSetNestedAttribute) GetMarkdownDescription()string

GetMarkdownDescription returns the MarkdownDescription field value.

func (SetNestedAttribute)GetNestedObject

GetNestedObject returns the NestedObject field value.

func (SetNestedAttribute)GetNestingMode

func (aSetNestedAttribute) GetNestingMode()fwschema.NestingMode

GetNestingMode always returns NestingModeSet.

func (SetNestedAttribute)GetType

func (aSetNestedAttribute) GetType()attr.Type

GetType returns SetType of ObjectType or CustomType.

func (SetNestedAttribute)IsComputed

func (aSetNestedAttribute) IsComputed()bool

IsComputed returns the Computed field value.

func (SetNestedAttribute)IsOptional

func (aSetNestedAttribute) IsOptional()bool

IsOptional returns the Optional field value.

func (SetNestedAttribute)IsOptionalForImportadded inv1.15.0

func (aSetNestedAttribute) IsOptionalForImport()bool

IsOptionalForImport returns false as this behavior is only relevantfor managed resource identity schema attributes.

func (SetNestedAttribute)IsRequired

func (aSetNestedAttribute) IsRequired()bool

IsRequired returns the Required field value.

func (SetNestedAttribute)IsRequiredForImportadded inv1.15.0

func (aSetNestedAttribute) IsRequiredForImport()bool

IsRequiredForImport returns false as this behavior is only relevantfor managed resource identity schema attributes.

func (SetNestedAttribute)IsSensitive

func (aSetNestedAttribute) IsSensitive()bool

IsSensitive returns the Sensitive field value.

func (SetNestedAttribute)IsWriteOnlyadded inv1.14.0

func (aSetNestedAttribute) IsWriteOnly()bool

IsWriteOnly returns false as write-only attributes are not supported for sets and set-based data.

func (SetNestedAttribute)SetDefaultValueadded inv1.2.0

func (aSetNestedAttribute) SetDefaultValue()defaults.Set

SetDefaultValue returns the Default field value.

func (SetNestedAttribute)SetPlanModifiers

func (aSetNestedAttribute) SetPlanModifiers() []planmodifier.Set

SetPlanModifiers returns the PlanModifiers field value.

func (SetNestedAttribute)SetValidators

func (aSetNestedAttribute) SetValidators() []validator.Set

SetValidators returns the Validators field value.

func (SetNestedAttribute)ValidateImplementationadded inv1.3.0

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.

typeSetNestedBlock

type SetNestedBlock 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.SetType of types.ObjectType. When retrieving data, the// basetypes.SetValuable associated with this custom type must be used in// place of types.Set.CustomTypebasetypes.SetTypable// 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.Set// PlanModifiers defines a sequence of modifiers for this attribute at// plan time. Schema-based plan modifications occur before any// resource-level plan modifications.//// Schema-based plan modifications can adjust Terraform's plan by:////  - Requiring resource recreation. Typically used for configuration//    updates which cannot be done in-place.//  - Setting the planned value. Typically used for enhancing the plan//    to replace unknown values. Computed must be true or Terraform will//    return an error. If the plan value is known due to a known//    configuration value, the plan value cannot be changed or Terraform//    will return an error.//// Any errors will prevent further execution of this sequence or modifiers.PlanModifiers []planmodifier.Set}

SetNestedBlock represents a block that is a set of objects wherethe object attributes can be fully defined, including further attributesor blocks. When retrieving the value for this block, use types.Setas the value type unless the CustomType field is set. The NestedObject fieldmust be set.

Prefer SetNestedAttribute over SetNestedBlock 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.

# set of blocks with two elementsexample_block {nested_attribute = #...}example_block {nested_attribute = #...}

Terraform configurations reference this block using expressions thataccept a set 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 (SetNestedBlock)ApplyTerraform5AttributePathStep

func (bSetNestedBlock) ApplyTerraform5AttributePathStep(steptftypes.AttributePathStep) (interface{},error)

ApplyTerraform5AttributePathStep returns the NestedObject field value if stepis ElementKeyValue, otherwise returns an error.

func (SetNestedBlock)Equal

Equal returns true if the given Block is SetNestedBlockand all fields are equal.

func (SetNestedBlock)GetDeprecationMessage

func (bSetNestedBlock) GetDeprecationMessage()string

GetDeprecationMessage returns the DeprecationMessage field value.

func (SetNestedBlock)GetDescription

func (bSetNestedBlock) GetDescription()string

GetDescription returns the Description field value.

func (SetNestedBlock)GetMarkdownDescription

func (bSetNestedBlock) GetMarkdownDescription()string

GetMarkdownDescription returns the MarkdownDescription field value.

func (SetNestedBlock)GetNestedObject

func (bSetNestedBlock) GetNestedObject()fwschema.NestedBlockObject

GetNestedObject returns the NestedObject field value.

func (SetNestedBlock)GetNestingMode

func (bSetNestedBlock) GetNestingMode()fwschema.BlockNestingMode

GetNestingMode always returns BlockNestingModeSet.

func (SetNestedBlock)SetPlanModifiers

func (bSetNestedBlock) SetPlanModifiers() []planmodifier.Set

SetPlanModifiers returns the PlanModifiers field value.

func (SetNestedBlock)SetValidators

func (bSetNestedBlock) SetValidators() []validator.Set

SetValidators returns the Validators field value.

func (SetNestedBlock)Type

func (bSetNestedBlock) Type()attr.Type

Type returns SetType of ObjectType or CustomType.

func (SetNestedBlock)ValidateImplementationadded inv1.7.0

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.

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,// and Required and Computed 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// Computed indicates whether the provider may return its own value for// this Attribute or not. Required and Computed cannot both be true. If// Required and Optional are both false, Computed must be true, and the// attribute will be considered "read only" for the practitioner, with// only the provider able to set its value.Computedbool// Sensitive indicates whether the value of this attribute should be// considered sensitive data. Setting it to true will obscure the value// in CLI output. Sensitive does not impact how values are stored, and// practitioners are encouraged to store their state as if the entire// file is sensitive.Sensitivebool// 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// PlanModifiers defines a sequence of modifiers for this attribute at// plan time. Schema-based plan modifications occur before any// resource-level plan modifications.//// Schema-based plan modifications can adjust Terraform's plan by:////  - Requiring resource recreation. Typically used for configuration//    updates which cannot be done in-place.//  - Setting the planned value. Typically used for enhancing the plan//    to replace unknown values. Computed must be true or Terraform will//    return an error. If the plan value is known due to a known//    configuration value, the plan value cannot be changed or Terraform//    will return an error.//// Any errors will prevent further execution of this sequence or modifiers.PlanModifiers []planmodifier.Object// Default defines a proposed new state (plan) value for the attribute// if the configuration value is null. Default prevents the framework// from automatically marking the value as unknown during planning when// other proposed new state changes are detected. If the attribute is// computed and the value could be altered by other changes then a default// should be avoided and a plan modifier should be used instead.Defaultdefaults.Object// WriteOnly indicates that Terraform will not store this attribute value// in the plan or state artifacts.// If WriteOnly is true, either Optional or Required must also be true.// WriteOnly cannot be set with Computed.//// This functionality is only supported in Terraform 1.11 and later.// Practitioners that choose a value for this attribute with older// versions of Terraform will receive an error.WriteOnlybool}

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

Equal returns true if the given Attribute is a SingleNestedAttributeand all fields are equal.

func (SingleNestedAttribute)GetAttributes

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

GetNestedObject returns a generated NestedAttributeObject from theAttributes, CustomType, and Validators field values.

func (SingleNestedAttribute)GetNestingMode

GetNestingMode always returns NestingModeSingle.

func (SingleNestedAttribute)GetType

GetType returns ListType of ObjectType or CustomType.

func (SingleNestedAttribute)IsComputed

func (aSingleNestedAttribute) IsComputed()bool

IsComputed returns the Computed field value.

func (SingleNestedAttribute)IsOptional

func (aSingleNestedAttribute) IsOptional()bool

IsOptional returns the Optional field value.

func (SingleNestedAttribute)IsOptionalForImportadded inv1.15.0

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)IsRequiredForImportadded inv1.15.0

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 the Sensitive field value.

func (SingleNestedAttribute)IsWriteOnlyadded inv1.14.0

func (aSingleNestedAttribute) IsWriteOnly()bool

IsWriteOnly returns the WriteOnly field value.

func (SingleNestedAttribute)ObjectDefaultValueadded inv1.2.0

func (aSingleNestedAttribute) ObjectDefaultValue()defaults.Object

ObjectDefaultValue returns the Default field value.

func (SingleNestedAttribute)ObjectPlanModifiers

func (aSingleNestedAttribute) ObjectPlanModifiers() []planmodifier.Object

ObjectPlanModifiers returns the PlanModifiers field value.

func (SingleNestedAttribute)ObjectValidators

func (aSingleNestedAttribute) ObjectValidators() []validator.Object

ObjectValidators returns the Validators field value.

func (SingleNestedAttribute)ValidateImplementationadded inv1.3.0

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.

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// PlanModifiers defines a sequence of modifiers for this attribute at// plan time. Schema-based plan modifications occur before any// resource-level plan modifications.//// Schema-based plan modifications can adjust Terraform's plan by:////  - Requiring resource recreation. Typically used for configuration//    updates which cannot be done in-place.//  - Setting the planned value. Typically used for enhancing the plan//    to replace unknown values. Computed must be true or Terraform will//    return an error. If the plan value is known due to a known//    configuration value, the plan value cannot be changed or Terraform//    will return an error.//// Any errors will prevent further execution of this sequence or modifiers.PlanModifiers []planmodifier.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

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

GetNestedObject returns a generated NestedBlockObject from theAttributes, CustomType, and Validators field values.

func (SingleNestedBlock)GetNestingMode

GetNestingMode always returns BlockNestingModeSingle.

func (SingleNestedBlock)ObjectPlanModifiers

func (bSingleNestedBlock) ObjectPlanModifiers() []planmodifier.Object

ObjectPlanModifiers returns the PlanModifiers field value.

func (SingleNestedBlock)ObjectValidators

func (bSingleNestedBlock) ObjectValidators() []validator.Object

ObjectValidators returns the Validators field value.

func (SingleNestedBlock)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,// and Required and Computed 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// Computed indicates whether the provider may return its own value for// this Attribute or not. Required and Computed cannot both be true. If// Required and Optional are both false, Computed must be true, and the// attribute will be considered "read only" for the practitioner, with// only the provider able to set its value.Computedbool// Sensitive indicates whether the value of this attribute should be// considered sensitive data. Setting it to true will obscure the value// in CLI output. Sensitive does not impact how values are stored, and// practitioners are encouraged to store their state as if the entire// file is sensitive.Sensitivebool// 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// PlanModifiers defines a sequence of modifiers for this attribute at// plan time. Schema-based plan modifications occur before any// resource-level plan modifications.//// Schema-based plan modifications can adjust Terraform's plan by:////  - Requiring resource recreation. Typically used for configuration//    updates which cannot be done in-place.//  - Setting the planned value. Typically used for enhancing the plan//    to replace unknown values. Computed must be true or Terraform will//    return an error. If the plan value is known due to a known//    configuration value, the plan value cannot be changed or Terraform//    will return an error.//// Any errors will prevent further execution of this sequence or modifiers.PlanModifiers []planmodifier.String// Default defines a proposed new state (plan) value for the attribute// if the configuration value is null. Default prevents the framework// from automatically marking the value as unknown during planning when// other proposed new state changes are detected. If the attribute is// computed and the value could be altered by other changes then a default// should be avoided and a plan modifier should be used instead.Defaultdefaults.String// WriteOnly indicates that Terraform will not store this attribute value// in the plan or state artifacts.// If WriteOnly is true, either Optional or Required must also be true.// WriteOnly cannot be set with Computed.//// This functionality is only supported in Terraform 1.11 and later.// Practitioners that choose a value for this attribute with older// versions of Terraform will receive an error.WriteOnlybool}

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

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 the Computed field value.

func (StringAttribute)IsOptional

func (aStringAttribute) IsOptional()bool

IsOptional returns the Optional field value.

func (StringAttribute)IsOptionalForImportadded inv1.15.0

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)IsRequiredForImportadded inv1.15.0

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 the Sensitive field value.

func (StringAttribute)IsWriteOnlyadded inv1.14.0

func (aStringAttribute) IsWriteOnly()bool

IsWriteOnly returns the WriteOnly field value.

func (StringAttribute)StringDefaultValueadded inv1.2.0

func (aStringAttribute) StringDefaultValue()defaults.String

StringDefaultValue returns the Default field value.

func (StringAttribute)StringPlanModifiers

func (aStringAttribute) StringPlanModifiers() []planmodifier.String

StringPlanModifiers returns the PlanModifiers field value.

func (StringAttribute)StringValidators

func (aStringAttribute) StringValidators() []validator.String

StringValidators returns the Validators field value.

func (StringAttribute)ValidateImplementationadded inv1.3.0

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.

Source Files

View all Source files

Directories

PathSynopsis
Package booldefault provides default values for types.Bool attributes.
Package booldefault provides default values for types.Bool attributes.
Package boolplanmodifier provides plan modifiers for types.Bool attributes.
Package boolplanmodifier provides plan modifiers for types.Bool attributes.
Package defaults contains schema default value interfaces and request/response implementations.
Package defaults contains schema default value interfaces and request/response implementations.
Package dynamicdefault provides default values for types.Dynamic attributes.
Package dynamicdefault provides default values for types.Dynamic attributes.
Package dynamicplanmodifier provides plan modifiers for types.Dynamic attributes.
Package dynamicplanmodifier provides plan modifiers for types.Dynamic attributes.
Package float32default provides default values for types.Float32 attributes.
Package float32default provides default values for types.Float32 attributes.
Package float32planmodifier provides plan modifiers for types.Float32 attributes.
Package float32planmodifier provides plan modifiers for types.Float32 attributes.
Package float64default provides default values for types.Float64 attributes.
Package float64default provides default values for types.Float64 attributes.
Package float64planmodifier provides plan modifiers for types.Float64 attributes.
Package float64planmodifier provides plan modifiers for types.Float64 attributes.
Package int32default provides default values for types.Int32 attributes.
Package int32default provides default values for types.Int32 attributes.
Package int32planmodifier provides plan modifiers for types.Int32 attributes.
Package int32planmodifier provides plan modifiers for types.Int32 attributes.
Package int64default provides default values for types.Int64 attributes.
Package int64default provides default values for types.Int64 attributes.
Package int64planmodifier provides plan modifiers for types.Int64 attributes.
Package int64planmodifier provides plan modifiers for types.Int64 attributes.
Package listdefault provides default values for types.List attributes.
Package listdefault provides default values for types.List attributes.
Package listplanmodifier provides plan modifiers for types.List attributes.
Package listplanmodifier provides plan modifiers for types.List attributes.
Package mapdefault provides default values for types.Map attributes.
Package mapdefault provides default values for types.Map attributes.
Package mapplanmodifier provides plan modifiers for types.Map attributes.
Package mapplanmodifier provides plan modifiers for types.Map attributes.
Package numberdefault provides default values for types.Number attributes.
Package numberdefault provides default values for types.Number attributes.
Package numberplanmodifier provides plan modifiers for types.Number attributes.
Package numberplanmodifier provides plan modifiers for types.Number attributes.
Package objectdefault provides default values for types.Object attributes.
Package objectdefault provides default values for types.Object attributes.
Package objectplanmodifier provides plan modifiers for types.Object attributes.
Package objectplanmodifier provides plan modifiers for types.Object attributes.
Package planmodifier contains schema plan modifier interfaces and request/response implementations.
Package planmodifier contains schema plan modifier interfaces and request/response implementations.
Package setdefault provides default values for types.Set attributes.
Package setdefault provides default values for types.Set attributes.
Package setplanmodifier provides plan modifiers for types.Set attributes.
Package setplanmodifier provides plan modifiers for types.Set attributes.
Package stringdefault provides default values for types.String attributes.
Package stringdefault provides default values for types.String attributes.
Package stringplanmodifier provides plan modifiers for types.String attributes.
Package stringplanmodifier provides plan modifiers for types.String attributes.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f orF : Jump to
y orY : Canonical URL
go.dev uses cookies from Google to deliver and enhance the quality of its services and to analyze traffic.Learn more.

[8]ページ先頭

©2009-2025 Movatter.jp