diff --git a/Makefile b/Makefile index 3fe1ef3..146deac 100644 --- a/Makefile +++ b/Makefile @@ -6,7 +6,7 @@ PROJECT_REPO := github.com/linode/$(PROJECT_NAME) export TERRAFORM_VERSION := 1.5.5 export TERRAFORM_PROVIDER_SOURCE := linode/linode -export TERRAFORM_PROVIDER_VERSION := 2.23.0 +export TERRAFORM_PROVIDER_VERSION := 2.25.0 export TERRAFORM_PROVIDER_DOWNLOAD_NAME := terraform-provider-linode export TERRAFORM_NATIVE_PROVIDER_BINARY := terraform-provider-linode_v$(TERRAFORM_PROVIDER_VERSION) export TERRAFORM_PROVIDER_REPO := https://github.com/linode/terraform-provider-linode diff --git a/apis/database/v1alpha1/zz_accesscontrols_types.go b/apis/database/v1alpha1/zz_accesscontrols_types.go index 1162d9b..badb815 100755 --- a/apis/database/v1alpha1/zz_accesscontrols_types.go +++ b/apis/database/v1alpha1/zz_accesscontrols_types.go @@ -24,7 +24,7 @@ type AccessControlsInitParameters struct { // The ID of the database to manage the allow list for. DatabaseID *float64 `json:"databaseId,omitempty" tf:"database_id,omitempty"` - // The unique type of the target database. (mysql, mongodb, postgresql) + // The unique type of the target database. (mysql, postgresql) // The type of the database to manage the allow list for. DatabaseType *string `json:"databaseType,omitempty" tf:"database_type,omitempty"` } @@ -40,7 +40,7 @@ type AccessControlsObservation struct { // The ID of the database to manage the allow list for. DatabaseID *float64 `json:"databaseId,omitempty" tf:"database_id,omitempty"` - // The unique type of the target database. (mysql, mongodb, postgresql) + // The unique type of the target database. (mysql, postgresql) // The type of the database to manage the allow list for. DatabaseType *string `json:"databaseType,omitempty" tf:"database_type,omitempty"` @@ -60,7 +60,7 @@ type AccessControlsParameters struct { // +kubebuilder:validation:Optional DatabaseID *float64 `json:"databaseId,omitempty" tf:"database_id,omitempty"` - // The unique type of the target database. (mysql, mongodb, postgresql) + // The unique type of the target database. (mysql, postgresql) // The type of the database to manage the allow list for. // +kubebuilder:validation:Optional DatabaseType *string `json:"databaseType,omitempty" tf:"database_type,omitempty"` diff --git a/apis/instance/v1alpha1/zz_generated.deepcopy.go b/apis/instance/v1alpha1/zz_generated.deepcopy.go index 12360b7..e2496f8 100644 --- a/apis/instance/v1alpha1/zz_generated.deepcopy.go +++ b/apis/instance/v1alpha1/zz_generated.deepcopy.go @@ -4844,6 +4844,11 @@ func (in *PlacementGroupInitParameters) DeepCopyInto(out *PlacementGroupInitPara *out = new(float64) **out = **in } + if in.PlacementGroupPolicy != nil { + in, out := &in.PlacementGroupPolicy, &out.PlacementGroupPolicy + *out = new(string) + **out = **in + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PlacementGroupInitParameters. @@ -4859,11 +4864,6 @@ func (in *PlacementGroupInitParameters) DeepCopy() *PlacementGroupInitParameters // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *PlacementGroupObservation) DeepCopyInto(out *PlacementGroupObservation) { *out = *in - if in.AffinityType != nil { - in, out := &in.AffinityType, &out.AffinityType - *out = new(string) - **out = **in - } if in.CompliantOnly != nil { in, out := &in.CompliantOnly, &out.CompliantOnly *out = new(bool) @@ -4874,16 +4874,21 @@ func (in *PlacementGroupObservation) DeepCopyInto(out *PlacementGroupObservation *out = new(float64) **out = **in } - if in.IsStrict != nil { - in, out := &in.IsStrict, &out.IsStrict - *out = new(bool) - **out = **in - } if in.Label != nil { in, out := &in.Label, &out.Label *out = new(string) **out = **in } + if in.PlacementGroupPolicy != nil { + in, out := &in.PlacementGroupPolicy, &out.PlacementGroupPolicy + *out = new(string) + **out = **in + } + if in.PlacementGroupType != nil { + in, out := &in.PlacementGroupType, &out.PlacementGroupType + *out = new(string) + **out = **in + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PlacementGroupObservation. @@ -4909,6 +4914,11 @@ func (in *PlacementGroupParameters) DeepCopyInto(out *PlacementGroupParameters) *out = new(float64) **out = **in } + if in.PlacementGroupPolicy != nil { + in, out := &in.PlacementGroupPolicy, &out.PlacementGroupPolicy + *out = new(string) + **out = **in + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PlacementGroupParameters. diff --git a/apis/instance/v1alpha1/zz_instance_types.go b/apis/instance/v1alpha1/zz_instance_types.go index 17e45c7..f3f62f3 100755 --- a/apis/instance/v1alpha1/zz_instance_types.go +++ b/apis/instance/v1alpha1/zz_instance_types.go @@ -1276,27 +1276,30 @@ type PlacementGroupInitParameters struct { // The ID of the Placement Group to assign this Linode to. // The ID of the Placement Group to assign this Linode to. ID *float64 `json:"id,omitempty" tf:"id,omitempty"` + + // Whether the Placement Group enforces strict compliance. + // Whether compliance is strictly enforced by this Placement Group. + PlacementGroupPolicy *string `json:"placementGroupPolicy,omitempty" tf:"placement_group_policy,omitempty"` } type PlacementGroupObservation struct { - - // The affinity policy enforced by the Placement Group. - // The affinity policy for this Placement Group. - AffinityType *string `json:"affinityType,omitempty" tf:"affinity_type,omitempty"` - CompliantOnly *bool `json:"compliantOnly,omitempty" tf:"compliant_only,omitempty"` // The ID of the Placement Group to assign this Linode to. // The ID of the Placement Group to assign this Linode to. ID *float64 `json:"id,omitempty" tf:"id,omitempty"` - // Whether the Placement Group enforces strict compliance. - // Whether compliance is strictly enforced by this Placement Group. - IsStrict *bool `json:"isStrict,omitempty" tf:"is_strict,omitempty"` - // The Linode's label is for display purposes only. If no label is provided for a Linode, a default will be assigned. // The label of this Placement Group. Label *string `json:"label,omitempty" tf:"label,omitempty"` + + // Whether the Placement Group enforces strict compliance. + // Whether compliance is strictly enforced by this Placement Group. + PlacementGroupPolicy *string `json:"placementGroupPolicy,omitempty" tf:"placement_group_policy,omitempty"` + + // The placement group type enforced by the Placement Group. + // The placement group type for this Placement Group. + PlacementGroupType *string `json:"placementGroupType,omitempty" tf:"placement_group_type,omitempty"` } type PlacementGroupParameters struct { @@ -1308,6 +1311,11 @@ type PlacementGroupParameters struct { // The ID of the Placement Group to assign this Linode to. // +kubebuilder:validation:Optional ID *float64 `json:"id" tf:"id,omitempty"` + + // Whether the Placement Group enforces strict compliance. + // Whether compliance is strictly enforced by this Placement Group. + // +kubebuilder:validation:Optional + PlacementGroupPolicy *string `json:"placementGroupPolicy,omitempty" tf:"placement_group_policy,omitempty"` } type ScheduleInitParameters struct { diff --git a/apis/objectstorage/v1alpha1/zz_bucket_types.go b/apis/objectstorage/v1alpha1/zz_bucket_types.go index 442f3dd..a0f9cc2 100755 --- a/apis/objectstorage/v1alpha1/zz_bucket_types.go +++ b/apis/objectstorage/v1alpha1/zz_bucket_types.go @@ -37,7 +37,8 @@ type BucketInitParameters struct { // The cert used by this Object Storage Bucket. Cert []CertInitParameters `json:"cert,omitempty" tf:"cert,omitempty"` - // The cluster of the Linode Object Storage Bucket. + // (Deprecated) The cluster of the Linode Object Storage Bucket. This is deprecated in favor of region attribute. + // For example, us-mia-1 cluster can be translated into us-mia region. Exactly one of region and cluster is required for creating a bucket. // The cluster of the Linode Object Storage Bucket. Cluster *string `json:"cluster,omitempty" tf:"cluster,omitempty"` @@ -52,6 +53,10 @@ type BucketInitParameters struct { // Lifecycle rules to be applied to the bucket. LifecycleRule []LifecycleRuleInitParameters `json:"lifecycleRule,omitempty" tf:"lifecycle_rule,omitempty"` + // The region of the Linode Object Storage Bucket. Exactly one of region and cluster is required for creating a bucket. + // The region of the Linode Object Storage Bucket. + Region *string `json:"region,omitempty" tf:"region,omitempty"` + // The secret key to authenticate with. If not specified with the resource, its value can be // The S3 secret key to use for this resource. (Required for lifecycle_rule and versioning). If not specified with the resource, the value will be read from provider-level obj_secret_key, or, generated implicitly at apply-time if obj_use_temp_keys in provider configuration is set. SecretKeySecretRef *v1.SecretKeySelector `json:"secretKeySecretRef,omitempty" tf:"-"` @@ -74,7 +79,8 @@ type BucketObservation struct { // The cert used by this Object Storage Bucket. Cert []CertObservation `json:"cert,omitempty" tf:"cert,omitempty"` - // The cluster of the Linode Object Storage Bucket. + // (Deprecated) The cluster of the Linode Object Storage Bucket. This is deprecated in favor of region attribute. + // For example, us-mia-1 cluster can be translated into us-mia region. Exactly one of region and cluster is required for creating a bucket. // The cluster of the Linode Object Storage Bucket. Cluster *string `json:"cluster,omitempty" tf:"cluster,omitempty"` @@ -98,6 +104,10 @@ type BucketObservation struct { // Lifecycle rules to be applied to the bucket. LifecycleRule []LifecycleRuleObservation `json:"lifecycleRule,omitempty" tf:"lifecycle_rule,omitempty"` + // The region of the Linode Object Storage Bucket. Exactly one of region and cluster is required for creating a bucket. + // The region of the Linode Object Storage Bucket. + Region *string `json:"region,omitempty" tf:"region,omitempty"` + // Whether to enable versioning. Once you version-enable a bucket, it can never return to an unversioned state. You can, however, suspend versioning on that bucket. (Requires access_key and secret_key) // Whether to enable versioning. Versioning *bool `json:"versioning,omitempty" tf:"versioning,omitempty"` @@ -130,7 +140,8 @@ type BucketParameters struct { // +kubebuilder:validation:Optional Cert []CertParameters `json:"cert,omitempty" tf:"cert,omitempty"` - // The cluster of the Linode Object Storage Bucket. + // (Deprecated) The cluster of the Linode Object Storage Bucket. This is deprecated in favor of region attribute. + // For example, us-mia-1 cluster can be translated into us-mia region. Exactly one of region and cluster is required for creating a bucket. // The cluster of the Linode Object Storage Bucket. // +kubebuilder:validation:Optional Cluster *string `json:"cluster,omitempty" tf:"cluster,omitempty"` @@ -149,6 +160,11 @@ type BucketParameters struct { // +kubebuilder:validation:Optional LifecycleRule []LifecycleRuleParameters `json:"lifecycleRule,omitempty" tf:"lifecycle_rule,omitempty"` + // The region of the Linode Object Storage Bucket. Exactly one of region and cluster is required for creating a bucket. + // The region of the Linode Object Storage Bucket. + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` + // The secret key to authenticate with. If not specified with the resource, its value can be // The S3 secret key to use for this resource. (Required for lifecycle_rule and versioning). If not specified with the resource, the value will be read from provider-level obj_secret_key, or, generated implicitly at apply-time if obj_use_temp_keys in provider configuration is set. // +kubebuilder:validation:Optional @@ -382,7 +398,6 @@ type BucketStatus struct { type Bucket struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` - // +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.cluster) || (has(self.initProvider) && has(self.initProvider.cluster))",message="spec.forProvider.cluster is a required parameter" // +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.label) || (has(self.initProvider) && has(self.initProvider.label))",message="spec.forProvider.label is a required parameter" Spec BucketSpec `json:"spec"` Status BucketStatus `json:"status,omitempty"` diff --git a/apis/objectstorage/v1alpha1/zz_generated.deepcopy.go b/apis/objectstorage/v1alpha1/zz_generated.deepcopy.go index 08c5897..784ac49 100644 --- a/apis/objectstorage/v1alpha1/zz_generated.deepcopy.go +++ b/apis/objectstorage/v1alpha1/zz_generated.deepcopy.go @@ -58,6 +58,11 @@ func (in *BucketAccessInitParameters) DeepCopyInto(out *BucketAccessInitParamete *out = new(string) **out = **in } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BucketAccessInitParameters. @@ -88,6 +93,11 @@ func (in *BucketAccessObservation) DeepCopyInto(out *BucketAccessObservation) { *out = new(string) **out = **in } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BucketAccessObservation. @@ -118,6 +128,11 @@ func (in *BucketAccessParameters) DeepCopyInto(out *BucketAccessParameters) { *out = new(string) **out = **in } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BucketAccessParameters. @@ -182,6 +197,11 @@ func (in *BucketInitParameters) DeepCopyInto(out *BucketInitParameters) { (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } if in.SecretKeySecretRef != nil { in, out := &in.SecretKeySecretRef, &out.SecretKeySecretRef *out = new(v1.SecretKeySelector) @@ -293,6 +313,11 @@ func (in *BucketObservation) DeepCopyInto(out *BucketObservation) { (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } if in.Versioning != nil { in, out := &in.Versioning, &out.Versioning *out = new(bool) @@ -362,6 +387,11 @@ func (in *BucketParameters) DeepCopyInto(out *BucketParameters) { (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } if in.SecretKeySecretRef != nil { in, out := &in.SecretKeySecretRef, &out.SecretKeySecretRef *out = new(v1.SecretKeySelector) @@ -626,6 +656,17 @@ func (in *KeyInitParameters) DeepCopyInto(out *KeyInitParameters) { *out = new(string) **out = **in } + if in.Regions != nil { + in, out := &in.Regions, &out.Regions + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeyInitParameters. @@ -695,6 +736,24 @@ func (in *KeyObservation) DeepCopyInto(out *KeyObservation) { *out = new(bool) **out = **in } + if in.Regions != nil { + in, out := &in.Regions, &out.Regions + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.RegionsDetails != nil { + in, out := &in.RegionsDetails, &out.RegionsDetails + *out = make([]RegionsDetailsObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeyObservation. @@ -722,6 +781,17 @@ func (in *KeyParameters) DeepCopyInto(out *KeyParameters) { *out = new(string) **out = **in } + if in.Regions != nil { + in, out := &in.Regions, &out.Regions + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeyParameters. @@ -1107,6 +1177,11 @@ func (in *ObjectInitParameters) DeepCopyInto(out *ObjectInitParameters) { (*out)[key] = outVal } } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } if in.SecretKeySecretRef != nil { in, out := &in.SecretKeySecretRef, &out.SecretKeySecretRef *out = new(v1.SecretKeySelector) @@ -1265,6 +1340,11 @@ func (in *ObjectObservation) DeepCopyInto(out *ObjectObservation) { (*out)[key] = outVal } } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } if in.Source != nil { in, out := &in.Source, &out.Source *out = new(string) @@ -1396,6 +1476,11 @@ func (in *ObjectParameters) DeepCopyInto(out *ObjectParameters) { (*out)[key] = outVal } } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } if in.SecretKeySecretRef != nil { in, out := &in.SecretKeySecretRef, &out.SecretKeySecretRef *out = new(v1.SecretKeySelector) @@ -1457,3 +1542,58 @@ func (in *ObjectStatus) DeepCopy() *ObjectStatus { in.DeepCopyInto(out) return out } + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionsDetailsInitParameters) DeepCopyInto(out *RegionsDetailsInitParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionsDetailsInitParameters. +func (in *RegionsDetailsInitParameters) DeepCopy() *RegionsDetailsInitParameters { + if in == nil { + return nil + } + out := new(RegionsDetailsInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionsDetailsObservation) DeepCopyInto(out *RegionsDetailsObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.S3Endpoint != nil { + in, out := &in.S3Endpoint, &out.S3Endpoint + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionsDetailsObservation. +func (in *RegionsDetailsObservation) DeepCopy() *RegionsDetailsObservation { + if in == nil { + return nil + } + out := new(RegionsDetailsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegionsDetailsParameters) DeepCopyInto(out *RegionsDetailsParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegionsDetailsParameters. +func (in *RegionsDetailsParameters) DeepCopy() *RegionsDetailsParameters { + if in == nil { + return nil + } + out := new(RegionsDetailsParameters) + in.DeepCopyInto(out) + return out +} diff --git a/apis/objectstorage/v1alpha1/zz_key_types.go b/apis/objectstorage/v1alpha1/zz_key_types.go index 9b7af49..4ddec82 100755 --- a/apis/objectstorage/v1alpha1/zz_key_types.go +++ b/apis/objectstorage/v1alpha1/zz_key_types.go @@ -19,13 +19,17 @@ type BucketAccessInitParameters struct { // The unique label of the bucket to which the key will grant limited access. BucketName *string `json:"bucketName,omitempty" tf:"bucket_name,omitempty"` - // The Object Storage cluster where a bucket to which the key is granting access is hosted. - // The Object Storage cluster where a bucket to which the key is granting access is hosted. + // (Deprecated) The Object Storage cluster where the bucket resides. Deprecated in favor of region. + // The Object Storage cluster where the bucket resides. Deprecated in favor of `region` Cluster *string `json:"cluster,omitempty" tf:"cluster,omitempty"` // This Limited Access Key’s permissions for the selected bucket. Changing (read_write, read_only) // This Limited Access Key's permissions for the selected bucket. Permissions *string `json:"permissions,omitempty" tf:"permissions,omitempty"` + + // The region where the bucket resides. + // The region where the bucket resides. + Region *string `json:"region,omitempty" tf:"region,omitempty"` } type BucketAccessObservation struct { @@ -34,13 +38,17 @@ type BucketAccessObservation struct { // The unique label of the bucket to which the key will grant limited access. BucketName *string `json:"bucketName,omitempty" tf:"bucket_name,omitempty"` - // The Object Storage cluster where a bucket to which the key is granting access is hosted. - // The Object Storage cluster where a bucket to which the key is granting access is hosted. + // (Deprecated) The Object Storage cluster where the bucket resides. Deprecated in favor of region. + // The Object Storage cluster where the bucket resides. Deprecated in favor of `region` Cluster *string `json:"cluster,omitempty" tf:"cluster,omitempty"` // This Limited Access Key’s permissions for the selected bucket. Changing (read_write, read_only) // This Limited Access Key's permissions for the selected bucket. Permissions *string `json:"permissions,omitempty" tf:"permissions,omitempty"` + + // The region where the bucket resides. + // The region where the bucket resides. + Region *string `json:"region,omitempty" tf:"region,omitempty"` } type BucketAccessParameters struct { @@ -50,15 +58,20 @@ type BucketAccessParameters struct { // +kubebuilder:validation:Optional BucketName *string `json:"bucketName" tf:"bucket_name,omitempty"` - // The Object Storage cluster where a bucket to which the key is granting access is hosted. - // The Object Storage cluster where a bucket to which the key is granting access is hosted. + // (Deprecated) The Object Storage cluster where the bucket resides. Deprecated in favor of region. + // The Object Storage cluster where the bucket resides. Deprecated in favor of `region` // +kubebuilder:validation:Optional - Cluster *string `json:"cluster" tf:"cluster,omitempty"` + Cluster *string `json:"cluster,omitempty" tf:"cluster,omitempty"` // This Limited Access Key’s permissions for the selected bucket. Changing (read_write, read_only) // This Limited Access Key's permissions for the selected bucket. // +kubebuilder:validation:Optional Permissions *string `json:"permissions" tf:"permissions,omitempty"` + + // The region where the bucket resides. + // The region where the bucket resides. + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` } type KeyInitParameters struct { @@ -70,6 +83,11 @@ type KeyInitParameters struct { // The label given to this key. For display purposes only. // The label given to this key. For display purposes only. Label *string `json:"label,omitempty" tf:"label,omitempty"` + + // A set of regions where the key will grant access to create buckets. + // A set of regions where the key will grant access to create buckets. + // +listType=set + Regions []*string `json:"regions,omitempty" tf:"regions,omitempty"` } type KeyObservation struct { @@ -78,6 +96,7 @@ type KeyObservation struct { // A list of permissions to grant this limited access key. BucketAccess []BucketAccessObservation `json:"bucketAccess,omitempty" tf:"bucket_access,omitempty"` + // The ID of the region. ID *string `json:"id,omitempty" tf:"id,omitempty"` // The label given to this key. For display purposes only. @@ -87,6 +106,15 @@ type KeyObservation struct { // Whether or not this key is a limited access key. // Whether or not this key is a limited access key. Limited *bool `json:"limited,omitempty" tf:"limited,omitempty"` + + // A set of regions where the key will grant access to create buckets. + // A set of regions where the key will grant access to create buckets. + // +listType=set + Regions []*string `json:"regions,omitempty" tf:"regions,omitempty"` + + // A set of objects containing the detailed info of the regions where this key can access. + // A set of objects containing the detailed info of the regions where the key will grant access. + RegionsDetails []RegionsDetailsObservation `json:"regionsDetails,omitempty" tf:"regions_details,omitempty"` } type KeyParameters struct { @@ -100,6 +128,27 @@ type KeyParameters struct { // The label given to this key. For display purposes only. // +kubebuilder:validation:Optional Label *string `json:"label,omitempty" tf:"label,omitempty"` + + // A set of regions where the key will grant access to create buckets. + // A set of regions where the key will grant access to create buckets. + // +kubebuilder:validation:Optional + // +listType=set + Regions []*string `json:"regions,omitempty" tf:"regions,omitempty"` +} + +type RegionsDetailsInitParameters struct { +} + +type RegionsDetailsObservation struct { + + // The ID of the region. + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + // The S3-compatible hostname you can use to access the Object Storage buckets in this region. + S3Endpoint *string `json:"s3Endpoint,omitempty" tf:"s3_endpoint,omitempty"` +} + +type RegionsDetailsParameters struct { } // KeySpec defines the desired state of Key diff --git a/apis/objectstorage/v1alpha1/zz_object_types.go b/apis/objectstorage/v1alpha1/zz_object_types.go index 521551b..6369b05 100755 --- a/apis/objectstorage/v1alpha1/zz_object_types.go +++ b/apis/objectstorage/v1alpha1/zz_object_types.go @@ -42,7 +42,7 @@ type ObjectInitParameters struct { // This cache_control configuration of this object. CacheControl *string `json:"cacheControl,omitempty" tf:"cache_control,omitempty"` - // The cluster the bucket is in. + // (Deprecated) The cluster the bucket is in. Required if region is not configured. Deprecated in favor of region. // The target cluster that the bucket is in. Cluster *string `json:"cluster,omitempty" tf:"cluster,omitempty"` @@ -91,6 +91,10 @@ type ObjectInitParameters struct { // +mapType=granular Metadata map[string]*string `json:"metadata,omitempty" tf:"metadata,omitempty"` + // The cluster the bucket is in. Required if cluster is not configured. + // The target region that the bucket is in. + Region *string `json:"region,omitempty" tf:"region,omitempty"` + // The REQUIRED secret key to authenticate with. If it's not specified with the resource, you must provide its value by // The REQUIRED S3 secret key with access to the target bucket. If not specified with the resource, you must provide its value by configuring the obj_secret_key, or, opting-in generating it implicitly at apply-time using obj_use_temp_keys at provider-level. SecretKeySecretRef *v1.SecretKeySelector `json:"secretKeySecretRef,omitempty" tf:"-"` @@ -122,7 +126,7 @@ type ObjectObservation struct { // This cache_control configuration of this object. CacheControl *string `json:"cacheControl,omitempty" tf:"cache_control,omitempty"` - // The cluster the bucket is in. + // (Deprecated) The cluster the bucket is in. Required if region is not configured. Deprecated in favor of region. // The target cluster that the bucket is in. Cluster *string `json:"cluster,omitempty" tf:"cluster,omitempty"` @@ -173,6 +177,10 @@ type ObjectObservation struct { // +mapType=granular Metadata map[string]*string `json:"metadata,omitempty" tf:"metadata,omitempty"` + // The cluster the bucket is in. Required if cluster is not configured. + // The target region that the bucket is in. + Region *string `json:"region,omitempty" tf:"region,omitempty"` + // The path to a file that will be read and uploaded as raw bytes for the object content. The path must either be relative to the root module or absolute. // The source file to upload. Source *string `json:"source,omitempty" tf:"source,omitempty"` @@ -219,7 +227,7 @@ type ObjectParameters struct { // +kubebuilder:validation:Optional CacheControl *string `json:"cacheControl,omitempty" tf:"cache_control,omitempty"` - // The cluster the bucket is in. + // (Deprecated) The cluster the bucket is in. Required if region is not configured. Deprecated in favor of region. // The target cluster that the bucket is in. // +kubebuilder:validation:Optional Cluster *string `json:"cluster,omitempty" tf:"cluster,omitempty"` @@ -280,6 +288,11 @@ type ObjectParameters struct { // +mapType=granular Metadata map[string]*string `json:"metadata,omitempty" tf:"metadata,omitempty"` + // The cluster the bucket is in. Required if cluster is not configured. + // The target region that the bucket is in. + // +kubebuilder:validation:Optional + Region *string `json:"region,omitempty" tf:"region,omitempty"` + // The REQUIRED secret key to authenticate with. If it's not specified with the resource, you must provide its value by // The REQUIRED S3 secret key with access to the target bucket. If not specified with the resource, you must provide its value by configuring the obj_secret_key, or, opting-in generating it implicitly at apply-time using obj_use_temp_keys at provider-level. // +kubebuilder:validation:Optional @@ -333,7 +346,6 @@ type Object struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.bucket) || (has(self.initProvider) && has(self.initProvider.bucket))",message="spec.forProvider.bucket is a required parameter" - // +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.cluster) || (has(self.initProvider) && has(self.initProvider.cluster))",message="spec.forProvider.cluster is a required parameter" // +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.key) || (has(self.initProvider) && has(self.initProvider.key))",message="spec.forProvider.key is a required parameter" Spec ObjectSpec `json:"spec"` Status ObjectStatus `json:"status,omitempty"` diff --git a/apis/placementgroup/v1alpha1/zz_generated.deepcopy.go b/apis/placementgroup/v1alpha1/zz_generated.deepcopy.go index 428827e..e1d36c6 100644 --- a/apis/placementgroup/v1alpha1/zz_generated.deepcopy.go +++ b/apis/placementgroup/v1alpha1/zz_generated.deepcopy.go @@ -97,18 +97,18 @@ func (in *PlacementGroup) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *PlacementGroupInitParameters) DeepCopyInto(out *PlacementGroupInitParameters) { *out = *in - if in.AffinityType != nil { - in, out := &in.AffinityType, &out.AffinityType + if in.Label != nil { + in, out := &in.Label, &out.Label *out = new(string) **out = **in } - if in.IsStrict != nil { - in, out := &in.IsStrict, &out.IsStrict - *out = new(bool) + if in.PlacementGroupPolicy != nil { + in, out := &in.PlacementGroupPolicy, &out.PlacementGroupPolicy + *out = new(string) **out = **in } - if in.Label != nil { - in, out := &in.Label, &out.Label + if in.PlacementGroupType != nil { + in, out := &in.PlacementGroupType, &out.PlacementGroupType *out = new(string) **out = **in } @@ -164,11 +164,6 @@ func (in *PlacementGroupList) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *PlacementGroupObservation) DeepCopyInto(out *PlacementGroupObservation) { *out = *in - if in.AffinityType != nil { - in, out := &in.AffinityType, &out.AffinityType - *out = new(string) - **out = **in - } if in.ID != nil { in, out := &in.ID, &out.ID *out = new(string) @@ -179,11 +174,6 @@ func (in *PlacementGroupObservation) DeepCopyInto(out *PlacementGroupObservation *out = new(bool) **out = **in } - if in.IsStrict != nil { - in, out := &in.IsStrict, &out.IsStrict - *out = new(bool) - **out = **in - } if in.Label != nil { in, out := &in.Label, &out.Label *out = new(string) @@ -196,6 +186,16 @@ func (in *PlacementGroupObservation) DeepCopyInto(out *PlacementGroupObservation (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.PlacementGroupPolicy != nil { + in, out := &in.PlacementGroupPolicy, &out.PlacementGroupPolicy + *out = new(string) + **out = **in + } + if in.PlacementGroupType != nil { + in, out := &in.PlacementGroupType, &out.PlacementGroupType + *out = new(string) + **out = **in + } if in.Region != nil { in, out := &in.Region, &out.Region *out = new(string) @@ -216,18 +216,18 @@ func (in *PlacementGroupObservation) DeepCopy() *PlacementGroupObservation { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *PlacementGroupParameters) DeepCopyInto(out *PlacementGroupParameters) { *out = *in - if in.AffinityType != nil { - in, out := &in.AffinityType, &out.AffinityType + if in.Label != nil { + in, out := &in.Label, &out.Label *out = new(string) **out = **in } - if in.IsStrict != nil { - in, out := &in.IsStrict, &out.IsStrict - *out = new(bool) + if in.PlacementGroupPolicy != nil { + in, out := &in.PlacementGroupPolicy, &out.PlacementGroupPolicy + *out = new(string) **out = **in } - if in.Label != nil { - in, out := &in.Label, &out.Label + if in.PlacementGroupType != nil { + in, out := &in.PlacementGroupType, &out.PlacementGroupType *out = new(string) **out = **in } diff --git a/apis/placementgroup/v1alpha1/zz_placementgroup_types.go b/apis/placementgroup/v1alpha1/zz_placementgroup_types.go index eb81a7d..22a71a3 100755 --- a/apis/placementgroup/v1alpha1/zz_placementgroup_types.go +++ b/apis/placementgroup/v1alpha1/zz_placementgroup_types.go @@ -18,7 +18,7 @@ type MembersInitParameters struct { type MembersObservation struct { - // Whether all Linodes in this group are currently compliant with the group's affinity policy. + // Whether all Linodes in this group are currently compliant with the group's placement group type. IsCompliant *bool `json:"isCompliant,omitempty" tf:"is_compliant,omitempty"` // The ID of the Linode. @@ -30,18 +30,18 @@ type MembersParameters struct { type PlacementGroupInitParameters struct { - // The affinity policy to use when placing Linodes in this group. - // The affinity type for Linodes in this Placement Group. - AffinityType *string `json:"affinityType,omitempty" tf:"affinity_type,omitempty"` - - // Whether Linodes must be able to become compliant during assignment. (Default true) - // Whether this Placement Group has a strict compliance policy. - IsStrict *bool `json:"isStrict,omitempty" tf:"is_strict,omitempty"` - // The label of the Placement Group. This field can only contain ASCII letters, digits and dashes. // The label of the Placement Group. Label *string `json:"label,omitempty" tf:"label,omitempty"` + // Whether Linodes must be able to become compliant during assignment. (Default strict) + // Whether this Placement Group has a strict compliance policy. + PlacementGroupPolicy *string `json:"placementGroupPolicy,omitempty" tf:"placement_group_policy,omitempty"` + + // The placement group type to use when placing Linodes in this group. + // The placement group type for Linodes in this Placement Group. + PlacementGroupType *string `json:"placementGroupType,omitempty" tf:"placement_group_type,omitempty"` + // The region of the Placement Group. // The region of the Placement Group. Region *string `json:"region,omitempty" tf:"region,omitempty"` @@ -49,21 +49,13 @@ type PlacementGroupInitParameters struct { type PlacementGroupObservation struct { - // The affinity policy to use when placing Linodes in this group. - // The affinity type for Linodes in this Placement Group. - AffinityType *string `json:"affinityType,omitempty" tf:"affinity_type,omitempty"` - // The ID of the Placement Group. ID *string `json:"id,omitempty" tf:"id,omitempty"` - // Whether all Linodes in this group are currently compliant with the group's affinity policy. + // Whether all Linodes in this group are currently compliant with the group's placement group type. // Whether all Linodes in this Placement Group are currently compliant. IsCompliant *bool `json:"isCompliant,omitempty" tf:"is_compliant,omitempty"` - // Whether Linodes must be able to become compliant during assignment. (Default true) - // Whether this Placement Group has a strict compliance policy. - IsStrict *bool `json:"isStrict,omitempty" tf:"is_strict,omitempty"` - // The label of the Placement Group. This field can only contain ASCII letters, digits and dashes. // The label of the Placement Group. Label *string `json:"label,omitempty" tf:"label,omitempty"` @@ -71,6 +63,14 @@ type PlacementGroupObservation struct { // A set of Linodes currently assigned to this Placement Group. Members []MembersObservation `json:"members,omitempty" tf:"members,omitempty"` + // Whether Linodes must be able to become compliant during assignment. (Default strict) + // Whether this Placement Group has a strict compliance policy. + PlacementGroupPolicy *string `json:"placementGroupPolicy,omitempty" tf:"placement_group_policy,omitempty"` + + // The placement group type to use when placing Linodes in this group. + // The placement group type for Linodes in this Placement Group. + PlacementGroupType *string `json:"placementGroupType,omitempty" tf:"placement_group_type,omitempty"` + // The region of the Placement Group. // The region of the Placement Group. Region *string `json:"region,omitempty" tf:"region,omitempty"` @@ -78,20 +78,20 @@ type PlacementGroupObservation struct { type PlacementGroupParameters struct { - // The affinity policy to use when placing Linodes in this group. - // The affinity type for Linodes in this Placement Group. + // The label of the Placement Group. This field can only contain ASCII letters, digits and dashes. + // The label of the Placement Group. // +kubebuilder:validation:Optional - AffinityType *string `json:"affinityType,omitempty" tf:"affinity_type,omitempty"` + Label *string `json:"label,omitempty" tf:"label,omitempty"` - // Whether Linodes must be able to become compliant during assignment. (Default true) + // Whether Linodes must be able to become compliant during assignment. (Default strict) // Whether this Placement Group has a strict compliance policy. // +kubebuilder:validation:Optional - IsStrict *bool `json:"isStrict,omitempty" tf:"is_strict,omitempty"` + PlacementGroupPolicy *string `json:"placementGroupPolicy,omitempty" tf:"placement_group_policy,omitempty"` - // The label of the Placement Group. This field can only contain ASCII letters, digits and dashes. - // The label of the Placement Group. + // The placement group type to use when placing Linodes in this group. + // The placement group type for Linodes in this Placement Group. // +kubebuilder:validation:Optional - Label *string `json:"label,omitempty" tf:"label,omitempty"` + PlacementGroupType *string `json:"placementGroupType,omitempty" tf:"placement_group_type,omitempty"` // The region of the Placement Group. // The region of the Placement Group. @@ -135,8 +135,8 @@ type PlacementGroupStatus struct { type PlacementGroup struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` - // +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.affinityType) || (has(self.initProvider) && has(self.initProvider.affinityType))",message="spec.forProvider.affinityType is a required parameter" // +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.label) || (has(self.initProvider) && has(self.initProvider.label))",message="spec.forProvider.label is a required parameter" + // +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.placementGroupType) || (has(self.initProvider) && has(self.initProvider.placementGroupType))",message="spec.forProvider.placementGroupType is a required parameter" // +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.region) || (has(self.initProvider) && has(self.initProvider.region))",message="spec.forProvider.region is a required parameter" Spec PlacementGroupSpec `json:"spec"` Status PlacementGroupStatus `json:"status,omitempty"` diff --git a/apis/token/v1alpha1/zz_token_types.go b/apis/token/v1alpha1/zz_token_types.go index 124a9c0..bd17573 100755 --- a/apis/token/v1alpha1/zz_token_types.go +++ b/apis/token/v1alpha1/zz_token_types.go @@ -24,7 +24,7 @@ type TokenInitParameters struct { Label *string `json:"label,omitempty" tf:"label,omitempty"` // The scopes this token was created with. These define what parts of the Account the token can be used to access. Many command-line tools, such as the Linode CLI, require tokens with access to *. Tokens with more restrictive scopes are generally more secure. All scopes can be viewed in the Linode API documentation. - // The scopes this token was created with. These define what parts of the Account the token can be used to access. Many command-line tools, such as the Linode CLI, require tokens with access to *. Tokens with more restrictive scopes are generally more secure. Multiple scopes are separated by a space character (e.g., "databases:read_only events:read_only"). You can find the list of available scopes on Linode API docs site, https://www.linode.com/docs/api#oauth-reference + // The scopes this token was created with. These define what parts of the Account the token can be used to access. Many command-line tools, such as the Linode CLI, require tokens with access to *. Tokens with more restrictive scopes are generally more secure. Multiple scopes are separated by a space character (e.g., "databases:read_only events:read_only"). You can find the list of available scopes on Linode API docs site, https://techdocs.akamai.com/linode-api/reference/get-started#oauth-reference Scopes *string `json:"scopes,omitempty" tf:"scopes,omitempty"` } @@ -45,7 +45,7 @@ type TokenObservation struct { Label *string `json:"label,omitempty" tf:"label,omitempty"` // The scopes this token was created with. These define what parts of the Account the token can be used to access. Many command-line tools, such as the Linode CLI, require tokens with access to *. Tokens with more restrictive scopes are generally more secure. All scopes can be viewed in the Linode API documentation. - // The scopes this token was created with. These define what parts of the Account the token can be used to access. Many command-line tools, such as the Linode CLI, require tokens with access to *. Tokens with more restrictive scopes are generally more secure. Multiple scopes are separated by a space character (e.g., "databases:read_only events:read_only"). You can find the list of available scopes on Linode API docs site, https://www.linode.com/docs/api#oauth-reference + // The scopes this token was created with. These define what parts of the Account the token can be used to access. Many command-line tools, such as the Linode CLI, require tokens with access to *. Tokens with more restrictive scopes are generally more secure. Multiple scopes are separated by a space character (e.g., "databases:read_only events:read_only"). You can find the list of available scopes on Linode API docs site, https://techdocs.akamai.com/linode-api/reference/get-started#oauth-reference Scopes *string `json:"scopes,omitempty" tf:"scopes,omitempty"` } @@ -62,7 +62,7 @@ type TokenParameters struct { Label *string `json:"label,omitempty" tf:"label,omitempty"` // The scopes this token was created with. These define what parts of the Account the token can be used to access. Many command-line tools, such as the Linode CLI, require tokens with access to *. Tokens with more restrictive scopes are generally more secure. All scopes can be viewed in the Linode API documentation. - // The scopes this token was created with. These define what parts of the Account the token can be used to access. Many command-line tools, such as the Linode CLI, require tokens with access to *. Tokens with more restrictive scopes are generally more secure. Multiple scopes are separated by a space character (e.g., "databases:read_only events:read_only"). You can find the list of available scopes on Linode API docs site, https://www.linode.com/docs/api#oauth-reference + // The scopes this token was created with. These define what parts of the Account the token can be used to access. Many command-line tools, such as the Linode CLI, require tokens with access to *. Tokens with more restrictive scopes are generally more secure. Multiple scopes are separated by a space character (e.g., "databases:read_only events:read_only"). You can find the list of available scopes on Linode API docs site, https://techdocs.akamai.com/linode-api/reference/get-started#oauth-reference // +kubebuilder:validation:Optional Scopes *string `json:"scopes,omitempty" tf:"scopes,omitempty"` } diff --git a/config/provider-metadata.yaml b/config/provider-metadata.yaml index 0592bad..748a178 100644 --- a/config/provider-metadata.yaml +++ b/config/provider-metadata.yaml @@ -54,7 +54,7 @@ resources: argumentDocs: allow_list: '- (Required) A list of IP addresses that can access the Managed Database. Each item can be a single IP address or a range in CIDR format.' database_id: '- (Required) The unique ID of the target database.' - database_type: '- (Required) The unique type of the target database. (mysql, mongodb, postgresql)' + database_type: '- (Required) The unique type of the target database. (mysql, postgresql)' importStatements: [] linode_database_mysql: subCategory: "" @@ -552,7 +552,6 @@ resources: "type": "g6-standard-1" } argumentDocs: - affinity_type: '- The affinity policy enforced by the Placement Group.' alerts.0.cpu: '- (Optional) The percentage of CPU usage required to trigger an alert. If the average CPU usage over two hours exceeds this value, we''ll send you an alert. If this is set to 0, the alert is disabled.' alerts.0.io: '- (Optional) The amount of disk IO operation per second required to trigger an alert. If the average disk IO over two hours exceeds this value, we''ll send you an alert. If set to 0, this alert is disabled.' alerts.0.network_in: '- (Optional) The amount of incoming traffic, in Mbit/s, required to trigger an alert. If the average incoming traffic over two hours exceeds this value, we''ll send you an alert. If this is set to 0 (zero), the alert is disabled.' @@ -591,7 +590,6 @@ resources: ipv4.nat_1_1: '- (Optional) The public IP that will be used for the one-to-one NAT purpose. If this is any, the public IPv4 address assigned to this Linode is used on this interface and will be 1:1 NATted with the VPC IPv4 address.' ipv4.vpc: '- (Optional) The IP from the VPC subnet to use for this interface. A random address will be assigned if this is not specified in a VPC interface.' ipv6: '- This Linode''s IPv6 SLAAC addresses. This address is specific to a Linode, and may not be shared. The prefix (/64) is included in this attribute.' - is_strict: '- Whether the Placement Group enforces strict compliance.' label: '- (Optional) The Linode''s label is for display purposes only. If no label is provided for a Linode, a default will be assigned.' metadata.0.user_data: '- (Optional) The base64-encoded user-defined data exposed to this instance through the Linode Metadata service. Refer to the base64encode(...) function for information on encoding content for this field.' migration_type: '- (Optional) The type of migration to use when updating the type or region of a Linode. (cold, warm; default cold)' @@ -600,6 +598,8 @@ resources: placement_group: '- Information about the Placement Group this Linode is assigned to. NOTE: Placement Groups may not currently be available to all users.' placement_group.0.id: '- (Optional) The ID of the Placement Group to assign this Linode to.' placement_group_externally_managed: '- (Optional) If true, changes to the Linode''s assigned Placement Group will be ignored. This is necessary when using this resource in conjunction with the linode_placement_group_assignment resource.' + placement_group_policy: '- Whether the Placement Group enforces strict compliance.' + placement_group_type: '- The placement group type enforced by the Placement Group.' primary: '- (Optional) Whether the interface is the primary interface that should have the default route for this Linode. This field is only allowed for interfaces with the public or vpc purpose.' private_ip: '- (Optional) If true, the created Linode will have private networking enabled, allowing use of the 192.168.128.0/17 network within the Linode''s region. It can be enabled on an existing Linode but it can''t be disabled.' private_ip_address: '- This Linode''s Private IPv4 Address, if enabled. The regional private IP address range, 192.168.128.0/17, is shared by all Linode Instances in a region.' @@ -1456,7 +1456,9 @@ resources: access_key: '- (Optional) The access key to authenticate with. If not specified with the resource, its value can be' acl: '- (Optional) The Access Control Level of the bucket using a canned ACL string. See all ACL strings in the Linode API v4 documentation.' certificate: '- (Required) The Base64 encoded and PEM formatted SSL certificate.' - cluster: '- (Required) The cluster of the Linode Object Storage Bucket.' + cluster: |- + - (Deprecated) The cluster of the Linode Object Storage Bucket. This is deprecated in favor of region attribute. + For example, us-mia-1 cluster can be translated into us-mia region. Exactly one of region and cluster is required for creating a bucket. cors_enabled: '- (Optional) If true, the bucket will have CORS enabled for all origins.' date: '- (Optional) Specifies the date after which you want the corresponding action to take effect.' days: '- (Optional) Specifies the number of days after object creation when the specific rule action takes effect.' @@ -1466,6 +1468,7 @@ resources: label: '- (Required) The label of the Linode Object Storage Bucket.' prefix: '- (Optional) The object key prefix identifying one or more objects to which the rule applies.' private_key: '- (Required) The private key associated with the TLS/SSL certificate.' + region: '- (Required) The region of the Linode Object Storage Bucket. Exactly one of region and cluster is required for creating a bucket.' secret_key: '- (Optional) The secret key to authenticate with. If not specified with the resource, its value can be' versioning: '- (Optional) Whether to enable versioning. Once you version-enable a bucket, it can never return to an unversioned state. You can, however, suspend versioning on that bucket. (Requires access_key and secret_key)' importStatements: [] @@ -1480,14 +1483,31 @@ resources: { "label": "image-access" } + - name: foobar + manifest: |- + { + "bucket_access": [ + { + "bucket_name": "my-bucket-name", + "permissions": "read_write", + "region": "us-mia" + } + ], + "label": "my-key" + } argumentDocs: access_key: '- This keypair''s access key. This is not secret.' bucket_access: '- (Optional) Defines this key as a Limited Access Key. Limited Access Keys restrict this Object Storage key’s access to only the bucket(s) declared in this array and define their bucket-level permissions. Not providing this block will not limit this Object Storage Key.' bucket_name: '- The unique label of the bucket to which the key will grant limited access.' - cluster: '- The Object Storage cluster where a bucket to which the key is granting access is hosted.' + cluster: '- (Deprecated) The Object Storage cluster where the bucket resides. Deprecated in favor of region.' + id: '- The ID of the region.' label: '- (Required) The label given to this key. For display purposes only.' limited: '- Whether or not this key is a limited access key.' permissions: '- This Limited Access Key’s permissions for the selected bucket. Changing (read_write, read_only)' + region: '- The region where the bucket resides.' + regions: '- A set of regions where the key will grant access to create buckets.' + regions_details: '- A set of objects containing the detailed info of the regions where this key can access.' + s3_endpoint: '- The S3-compatible hostname you can use to access the Object Storage buckets in this region.' secret_key: '- This keypair''s secret key.' importStatements: [] linode_object_storage_object: @@ -1545,7 +1565,7 @@ resources: acl: '- (Optional) The canned ACL to apply. (private, public-read, authenticated-read, public-read-write, custom) (defaults to private).' bucket: '- (Required) The name of the bucket to put the object in.' cache_control: '- (Optional) Specifies caching behavior along the request/reply chain Read w3c cache_control for further details.' - cluster: '- (Required) The cluster the bucket is in.' + cluster: '- (Deprecated) The cluster the bucket is in. Required if region is not configured. Deprecated in favor of region.' content: '- (Optional, conflicts with source and content_base64) Literal string value to use as the object content, which will be uploaded as UTF-8-encoded text.' content_base64: '- (Optional, conflicts with source and content) Base64-encoded data that will be decoded and uploaded as raw bytes for the object content. This allows safely uploading non-UTF8 binary data, but is recommended only for small content such as the result of the gzipbase64 function with small text strings. For larger objects, use source to stream the content from a disk file.' content_disposition: '- (Optional) Specifies presentational information for the object. Read w3c content_disposition for further information.' @@ -1557,6 +1577,7 @@ resources: force_destroy: '- (Optional) Allow the object to be deleted regardless of any legal hold or object lock (defaults to false).' key: '- (Required) They name of the object once it is in the bucket.' metadata: '- (Optional) A map of keys/values to provision metadata.' + region: '- The cluster the bucket is in. Required if cluster is not configured.' secret_key: '- (Optional) The REQUIRED secret key to authenticate with. If it''s not specified with the resource, you must provide its value by' source: '- (Optional, conflicts with content and content_base64) The path to a file that will be read and uploaded as raw bytes for the object content. The path must either be relative to the root module or absolute.' version_id: '- A unique version ID value for the object.' @@ -1571,17 +1592,17 @@ resources: - name: test manifest: |- { - "affinity_type": "anti_affinity:local", "label": "my-placement-group", + "placement_group_type": "anti_affinity:local", "region": "us-mia" } argumentDocs: - affinity_type: '- (Required) The affinity policy to use when placing Linodes in this group.' id: '- The ID of the Placement Group.' - is_compliant: '- Whether all Linodes in this group are currently compliant with the group''s affinity policy.' - is_strict: '- (Optional) Whether Linodes must be able to become compliant during assignment. (Default true)' + is_compliant: '- Whether all Linodes in this group are currently compliant with the group''s placement group type.' label: '- (Required) The label of the Placement Group. This field can only contain ASCII letters, digits and dashes.' linode_id: '- The ID of the Linode.' + placement_group_policy: '- (Optional) Whether Linodes must be able to become compliant during assignment. (Default strict)' + placement_group_type: '- (Required) The placement group type to use when placing Linodes in this group.' region: '- (Required) The region of the Placement Group.' importStatements: [] linode_placement_group_assignment: @@ -1609,8 +1630,8 @@ resources: } linode_placement_group.my-pg: |- { - "affinity_type": "anti_affinity:local", "label": "my-pg", + "placement_group_type": "anti_affinity:local", "region": "us-east" } argumentDocs: diff --git a/config/schema.json b/config/schema.json index 7d4323b..74febe4 100644 --- a/config/schema.json +++ b/config/schema.json @@ -1 +1 @@ -{"format_version":"1.0","provider_schemas":{"registry.terraform.io/linode/linode":{"provider":{"version":0,"block":{"attributes":{"api_version":{"type":"string","description":"The version of Linode API.","description_kind":"plain","optional":true},"config_path":{"type":"string","description":"The path to the Linode config file to use. (default `~/.config/linode`)","description_kind":"plain","optional":true},"config_profile":{"type":"string","description":"The Linode config profile to use. (default `default`)","description_kind":"plain","optional":true},"disable_internal_cache":{"type":"bool","description":"Disable the internal caching system that backs certain Linode API requests.","description_kind":"plain","optional":true},"event_poll_ms":{"type":"number","description":"The rate in milliseconds to poll for events.","description_kind":"plain","optional":true},"lke_event_poll_ms":{"type":"number","description":"The rate in milliseconds to poll for LKE events.","description_kind":"plain","optional":true},"lke_node_ready_poll_ms":{"type":"number","description":"The rate in milliseconds to poll for an LKE node to be ready.","description_kind":"plain","optional":true},"max_retry_delay_ms":{"type":"number","description":"Maximum delay in milliseconds before retrying a request.","description_kind":"plain","optional":true},"min_retry_delay_ms":{"type":"number","description":"Minimum delay in milliseconds before retrying a request.","description_kind":"plain","optional":true},"obj_access_key":{"type":"string","description":"The access key to be used in linode_object_storage_bucket and linode_object_storage_object.","description_kind":"plain","optional":true},"obj_bucket_force_delete":{"type":"bool","description":"If true, when deleting a linode_object_storage_bucket any objects and versions will be force deleted.","description_kind":"plain","optional":true},"obj_secret_key":{"type":"string","description":"The secret key to be used in linode_object_storage_bucket and linode_object_storage_object.","description_kind":"plain","optional":true,"sensitive":true},"obj_use_temp_keys":{"type":"bool","description":"If true, temporary object keys will be created implicitly at apply-time for the linode_object_storage_object and linode_object_sorage_bucket resource.","description_kind":"plain","optional":true},"skip_implicit_reboots":{"type":"bool","description":"If true, Linode Instances will not be rebooted on config and interface changes.","description_kind":"plain","optional":true},"skip_instance_delete_poll":{"type":"bool","description":"Skip waiting for a linode_instance resource to finish deleting.","description_kind":"plain","optional":true},"skip_instance_ready_poll":{"type":"bool","description":"Skip waiting for a linode_instance resource to be running.","description_kind":"plain","optional":true},"token":{"type":"string","description":"The token that allows you access to your Linode account","description_kind":"plain","optional":true},"ua_prefix":{"type":"string","description":"An HTTP User-Agent Prefix to prepend in API requests.","description_kind":"plain","optional":true},"url":{"type":"string","description":"The HTTP(S) API address of the Linode API to use.","description_kind":"plain","optional":true}},"description_kind":"plain"}},"resource_schemas":{"linode_account_settings":{"version":0,"block":{"attributes":{"backups_enabled":{"type":"bool","description":"Account-wide backups default.","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description":"The email of the current account.","description_kind":"plain","computed":true},"longview_subscription":{"type":"string","description":"The Longview Pro tier you are currently subscribed to.","description_kind":"plain","optional":true,"computed":true},"managed":{"type":"bool","description":"Enables monitoring for connectivity, response, and total request time.","description_kind":"plain","computed":true},"network_helper":{"type":"bool","description":"Enables network helper across all users by default for new Linodes and Linode Configs.","description_kind":"plain","optional":true,"computed":true},"object_storage":{"type":"string","description":"A string describing the status of this account's Object Storage service enrollment.","description_kind":"plain","computed":true}},"description_kind":"plain"}},"linode_database_access_controls":{"version":0,"block":{"attributes":{"allow_list":{"type":["set","string"],"description":"A list of IP addresses that can access the Managed Database. Each item can be a single IP address or a range in CIDR format.","description_kind":"plain","required":true},"database_id":{"type":"number","description":"The ID of the database to manage the allow list for.","description_kind":"plain","required":true},"database_type":{"type":"string","description":"The type of the database to manage the allow list for.","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"linode_database_mysql":{"version":0,"block":{"attributes":{"allow_list":{"type":["set","string"],"description":"A list of IP addresses that can access the Managed Database. Each item can be a single IP address or a range in CIDR format.","description_kind":"plain","optional":true,"computed":true},"ca_cert":{"type":"string","description":"The base64-encoded SSL CA certificate for the Managed Database instance.","description_kind":"plain","computed":true,"sensitive":true},"cluster_size":{"type":"number","description":"The number of Linode Instance nodes deployed to the Managed Database. Defaults to 1.","description_kind":"plain","optional":true},"created":{"type":"string","description":"When this Managed Database was created.","description_kind":"plain","computed":true},"encrypted":{"type":"bool","description":"Whether the Managed Databases is encrypted.","description_kind":"plain","optional":true},"engine":{"type":"string","description":"The Managed Database engine.","description_kind":"plain","computed":true},"engine_id":{"type":"string","description":"The Managed Database engine in engine/version format. (e.g. mysql/8.0.30)","description_kind":"plain","required":true},"host_primary":{"type":"string","description":"The primary host for the Managed Database.","description_kind":"plain","computed":true},"host_secondary":{"type":"string","description":"The secondary host for the Managed Database.","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"label":{"type":"string","description":"A unique, user-defined string referring to the Managed Database.","description_kind":"plain","required":true},"region":{"type":"string","description":"The region to use for the Managed Database.","description_kind":"plain","required":true},"replication_type":{"type":"string","description":"The replication method used for the Managed Database.","description_kind":"plain","optional":true},"root_password":{"type":"string","description":"The randomly-generated root password for the Managed Database instance.","description_kind":"plain","computed":true,"sensitive":true},"root_username":{"type":"string","description":"The root username for the Managed Database instance.","description_kind":"plain","computed":true,"sensitive":true},"ssl_connection":{"type":"bool","description":"Whether to require SSL credentials to establish a connection to the Managed Database.","description_kind":"plain","optional":true},"status":{"type":"string","description":"The operating status of the Managed Database.","description_kind":"plain","computed":true},"type":{"type":"string","description":"The Linode Instance type used by the Managed Database for its nodes.","description_kind":"plain","required":true},"updated":{"type":"string","description":"When this Managed Database was last updated.","description_kind":"plain","computed":true},"version":{"type":"string","description":"The Managed Database engine version.","description_kind":"plain","computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}},"updates":{"nesting_mode":"list","block":{"attributes":{"day_of_week":{"type":"string","description":"The day to perform maintenance.","description_kind":"plain","required":true},"duration":{"type":"number","description":"The maximum maintenance window time in hours.","description_kind":"plain","required":true},"frequency":{"type":"string","description":"Whether maintenance occurs on a weekly or monthly basis.","description_kind":"plain","required":true},"hour_of_day":{"type":"number","description":"The hour to begin maintenance based in UTC time.","description_kind":"plain","required":true},"week_of_month":{"type":"number","description":"The week of the month to perform monthly frequency updates. Required for monthly frequency updates.","description_kind":"plain","optional":true}},"description":"Configuration settings for automated patch update maintenance for the Managed Database.","description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"linode_database_postgresql":{"version":0,"block":{"attributes":{"allow_list":{"type":["set","string"],"description":"A list of IP addresses that can access the Managed Database. Each item can be a single IP address or a range in CIDR format.","description_kind":"plain","optional":true,"computed":true},"ca_cert":{"type":"string","description":"The base64-encoded SSL CA certificate for the Managed Database instance.","description_kind":"plain","computed":true,"sensitive":true},"cluster_size":{"type":"number","description":"The number of Linode Instance nodes deployed to the Managed Database. Defaults to 1.","description_kind":"plain","optional":true},"created":{"type":"string","description":"When this Managed Database was created.","description_kind":"plain","computed":true},"encrypted":{"type":"bool","description":"Whether the Managed Databases is encrypted.","description_kind":"plain","optional":true},"engine":{"type":"string","description":"The Managed Database engine.","description_kind":"plain","computed":true},"engine_id":{"type":"string","description":"The Managed Database engine in engine/version format. (e.g. mysql/8.0.30)","description_kind":"plain","required":true},"host_primary":{"type":"string","description":"The primary host for the Managed Database.","description_kind":"plain","computed":true},"host_secondary":{"type":"string","description":"The secondary host for the Managed Database.","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"label":{"type":"string","description":"A unique, user-defined string referring to the Managed Database.","description_kind":"plain","required":true},"port":{"type":"number","description":"The access port for this Managed Database.","description_kind":"plain","computed":true},"region":{"type":"string","description":"The region to use for the Managed Database.","description_kind":"plain","required":true},"replication_commit_type":{"type":"string","description":"The synchronization level of the replicating server.Must be `local` or `off` for the `asynch` replication type. Must be `on`, `remote_write`, or `remote_apply` for the `semi_synch` replication type.","description_kind":"plain","optional":true},"replication_type":{"type":"string","description":"The replication method used for the Managed Database. Must be `none` for a single node cluster. Must be `asynch` or `semi_synch` for a high availability cluster.","description_kind":"plain","optional":true},"root_password":{"type":"string","description":"The randomly-generated root password for the Managed Database instance.","description_kind":"plain","computed":true,"sensitive":true},"root_username":{"type":"string","description":"The root username for the Managed Database instance.","description_kind":"plain","computed":true,"sensitive":true},"ssl_connection":{"type":"bool","description":"Whether to require SSL credentials to establish a connection to the Managed Database.","description_kind":"plain","optional":true},"status":{"type":"string","description":"The operating status of the Managed Database.","description_kind":"plain","computed":true},"type":{"type":"string","description":"The Linode Instance type used by the Managed Database for its nodes.","description_kind":"plain","required":true},"updated":{"type":"string","description":"When this Managed Database was last updated.","description_kind":"plain","computed":true},"version":{"type":"string","description":"The Managed Database engine version.","description_kind":"plain","computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}},"updates":{"nesting_mode":"list","block":{"attributes":{"day_of_week":{"type":"string","description":"The day to perform maintenance.","description_kind":"plain","required":true},"duration":{"type":"number","description":"The maximum maintenance window time in hours.","description_kind":"plain","required":true},"frequency":{"type":"string","description":"Whether maintenance occurs on a weekly or monthly basis.","description_kind":"plain","required":true},"hour_of_day":{"type":"number","description":"The hour to begin maintenance based in UTC time.","description_kind":"plain","required":true},"week_of_month":{"type":"number","description":"The week of the month to perform monthly frequency updates. Required for monthly frequency updates.","description_kind":"plain","optional":true}},"description":"Configuration settings for automated patch update maintenance for the Managed Database.","description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"linode_domain":{"version":0,"block":{"attributes":{"axfr_ips":{"type":["set","string"],"description":"The list of IPs that may perform a zone transfer for this Domain. This is potentially dangerous, and should be set to an empty list unless you intend to use it.","description_kind":"plain","optional":true},"description":{"type":"string","description":"A description for this Domain. This is for display purposes only.","description_kind":"plain","optional":true},"domain":{"type":"string","description":"The domain this Domain represents. These must be unique in our system; you cannot have two Domains representing the same domain.","description_kind":"plain","required":true},"expire_sec":{"type":"number","description":"The amount of time in seconds that may pass before this Domain is no longer Valid values are 0, 30, 120, 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200 - any other value will be rounded to the nearest valid value.","description_kind":"plain","optional":true},"group":{"type":"string","description":"The group this Domain belongs to. This is for display purposes only.","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"master_ips":{"type":["set","string"],"description":"The IP addresses representing the master DNS for this Domain.","description_kind":"plain","optional":true},"refresh_sec":{"type":"number","description":"The amount of time in seconds before this Domain should be refreshed. Valid values are 0, 30, 120, 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200 - any other value will be rounded to the nearest valid value.","description_kind":"plain","optional":true},"retry_sec":{"type":"number","description":"The interval, in seconds, at which a failed refresh should be retried. Valid values are 0, 30, 120, 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200 - any other value will be rounded to the nearest valid value.","description_kind":"plain","optional":true},"soa_email":{"type":"string","description":"Start of Authority email address. This is required for master Domains.","description_kind":"plain","optional":true},"status":{"type":"string","description":"Used to control whether this Domain is currently being rendered.","description_kind":"plain","optional":true,"computed":true},"tags":{"type":["set","string"],"description":"An array of tags applied to this object. Tags are for organizational purposes only.","description_kind":"plain","optional":true,"computed":true},"ttl_sec":{"type":"number","description":"'Time to Live' - the amount of time in seconds that this Domain's records may be cached by resolvers or other domain servers. Valid values are 0, 30, 120, 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200 - any other value will be rounded to the nearest valid value.","description_kind":"plain","optional":true},"type":{"type":"string","description":"If this Domain represents the authoritative source of information for the domain it describes, or if it is a read-only copy of a master (also called a slave).","description_kind":"plain","required":true}},"description_kind":"plain"}},"linode_domain_record":{"version":0,"block":{"attributes":{"domain_id":{"type":"number","description":"The ID of the Domain to access.","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"The name of this Record. This field's actual usage depends on the type of record this represents. For A and AAAA records, this is the subdomain being associated with an IP address. Generated for SRV records.","description_kind":"plain","optional":true,"computed":true},"port":{"type":"number","description":"The port this Record points to.","description_kind":"plain","optional":true},"priority":{"type":"number","description":"The priority of the target host. Lower values are preferred.","description_kind":"plain","optional":true},"protocol":{"type":"string","description":"The protocol this Record's service communicates with. Only valid for SRV records.","description_kind":"plain","optional":true},"record_type":{"type":"string","description":"The type of Record this is in the DNS system. For example, A records associate a domain name with an IPv4 address, and AAAA records associate a domain name with an IPv6 address.","description_kind":"plain","required":true},"service":{"type":"string","description":"The service this Record identified. Only valid for SRV records.","description_kind":"plain","optional":true},"tag":{"type":"string","description":"The tag portion of a CAA record. It is invalid to set this on other record types.","description_kind":"plain","optional":true},"target":{"type":"string","description":"The target for this Record. This field's actual usage depends on the type of record this represents. For A and AAAA records, this is the address the named Domain should resolve to.","description_kind":"plain","required":true},"ttl_sec":{"type":"number","description":"'Time to Live' - the amount of time in seconds that this Domain's records may be cached by resolvers or other domain servers. Valid values are 30, 120, 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200 - any other value will be rounded to the nearest valid value.","description_kind":"plain","optional":true},"weight":{"type":"number","description":"The relative weight of this Record. Higher values are preferred.","description_kind":"plain","optional":true}},"description_kind":"plain"}},"linode_firewall":{"version":0,"block":{"attributes":{"created":{"type":"string","description":"When this firewall was created","description_kind":"plain","computed":true},"devices":{"type":["list",["object",{"entity_id":"number","id":"number","label":"string","type":"string","url":"string"}]],"description":"The devices associated with this firewall.","description_kind":"plain","computed":true},"disabled":{"type":"bool","description":"If true, the Firewall is inactive.","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"inbound_policy":{"type":"string","description":"The default behavior for inbound traffic. This setting can be overridden by updating the inbound.action property for an individual Firewall Rule.","description_kind":"plain","required":true},"label":{"type":"string","description":"The label for the Firewall. For display purposes only. If no label is provided, a default will be assigned.","description_kind":"plain","required":true},"linodes":{"type":["set","number"],"description":"The IDs of Linodes to apply this firewall to.","description_kind":"plain","optional":true,"computed":true},"nodebalancers":{"type":["set","number"],"description":"The IDs of NodeBalancers to apply this firewall to.","description_kind":"plain","optional":true,"computed":true},"outbound_policy":{"type":"string","description":"The default behavior for outbound traffic. This setting can be overridden by updating the outbound.action property for an individual Firewall Rule.","description_kind":"plain","required":true},"status":{"type":"string","description":"The status of the firewall.","description_kind":"plain","computed":true},"tags":{"type":["set","string"],"description":"An array of tags applied to this object. Tags are for organizational purposes only.","description_kind":"plain","optional":true,"computed":true},"updated":{"type":"string","description":"When this firewall was last updated","description_kind":"plain","computed":true}},"block_types":{"inbound":{"nesting_mode":"list","block":{"attributes":{"action":{"type":"string","description":"Controls whether traffic is accepted or dropped by this rule. Overrides the Firewall’s inbound_policy if this is an inbound rule, or the outbound_policy if this is an outbound rule.","description_kind":"plain","required":true},"ipv4":{"type":["list","string"],"description":"A list of CIDR blocks or 0.0.0.0/0 (to allow all) this rule applies to.","description_kind":"plain","optional":true},"ipv6":{"type":["list","string"],"description":"A list of IPv6 addresses or networks this rule applies to.","description_kind":"plain","optional":true},"label":{"type":"string","description":"Used to identify this rule. For display purposes only.","description_kind":"plain","required":true},"ports":{"type":"string","description":"A string representation of ports and/or port ranges (i.e. \"443\" or \"80-90, 91\").","description_kind":"plain","optional":true},"protocol":{"type":"string","description":"The network protocol this rule controls.","description_kind":"plain","required":true}},"description":"A firewall rule that specifies what inbound network traffic is allowed.","description_kind":"plain"}},"outbound":{"nesting_mode":"list","block":{"attributes":{"action":{"type":"string","description":"Controls whether traffic is accepted or dropped by this rule. Overrides the Firewall’s inbound_policy if this is an inbound rule, or the outbound_policy if this is an outbound rule.","description_kind":"plain","required":true},"ipv4":{"type":["list","string"],"description":"A list of CIDR blocks or 0.0.0.0/0 (to allow all) this rule applies to.","description_kind":"plain","optional":true},"ipv6":{"type":["list","string"],"description":"A list of IPv6 addresses or networks this rule applies to.","description_kind":"plain","optional":true},"label":{"type":"string","description":"Used to identify this rule. For display purposes only.","description_kind":"plain","required":true},"ports":{"type":"string","description":"A string representation of ports and/or port ranges (i.e. \"443\" or \"80-90, 91\").","description_kind":"plain","optional":true},"protocol":{"type":"string","description":"The network protocol this rule controls.","description_kind":"plain","required":true}},"description":"A firewall rule that specifies what outbound network traffic is allowed.","description_kind":"plain"}}},"description_kind":"plain"}},"linode_firewall_device":{"version":0,"block":{"attributes":{"created":{"type":"string","description":"When this Firewall Device was created.","description_kind":"plain","computed":true},"entity_id":{"type":"number","description":"The ID of the entity to create a Firewall device for.","description_kind":"plain","required":true},"entity_type":{"type":"string","description":"The type of the entity to create a Firewall device for.","description_kind":"plain","optional":true,"computed":true},"firewall_id":{"type":"number","description":"The ID of the Firewall to access.","description_kind":"plain","required":true},"id":{"type":"string","description":"The unique ID that represents the firewall device in the Terraform state.","description_kind":"plain","computed":true},"updated":{"type":"string","description":"When this Firewall Device was updated.","description_kind":"plain","computed":true}},"description_kind":"plain"}},"linode_image":{"version":0,"block":{"attributes":{"capabilities":{"type":["list","string"],"description":"The capabilities of this Image.","description_kind":"plain","computed":true},"cloud_init":{"type":"bool","description":"Whether this image supports cloud-init.","description_kind":"plain","optional":true,"computed":true},"created":{"type":"string","description":"When this Image was created.","description_kind":"plain","computed":true},"created_by":{"type":"string","description":"The name of the User who created this Image.","description_kind":"plain","computed":true},"deprecated":{"type":"bool","description":"Whether or not this Image is deprecated. Will only be True for deprecated public Images.","description_kind":"plain","computed":true},"description":{"type":"string","description":"A detailed description of this Image.","description_kind":"plain","optional":true},"disk_id":{"type":"number","description":"The ID of the Linode Disk that this Image will be created from.","description_kind":"plain","optional":true},"expiry":{"type":"string","description":"Only Images created automatically (from a deleted Linode; type=automatic) will expire.","description_kind":"plain","computed":true},"file_hash":{"type":"string","description":"The MD5 hash of the image file.","description_kind":"plain","optional":true,"computed":true},"file_path":{"type":"string","description":"The name of the file to upload to this image.","description_kind":"plain","optional":true},"id":{"type":"string","description":"The ID of the Linode image.","description_kind":"plain","computed":true},"is_public":{"type":"bool","description":"True if the Image is public.","description_kind":"plain","computed":true},"label":{"type":"string","description":"A short description of the Image. Labels cannot contain special characters.","description_kind":"plain","required":true},"linode_id":{"type":"number","description":"The ID of the Linode that this Image will be created from.","description_kind":"plain","optional":true},"region":{"type":"string","description":"The region to upload to.","description_kind":"plain","optional":true},"size":{"type":"number","description":"The minimum size this Image needs to deploy. Size is in MB.","description_kind":"plain","computed":true},"status":{"type":"string","description":"The current status of this Image.","description_kind":"plain","computed":true},"type":{"type":"string","description":"How the Image was created. 'Manual' Images can be created at any time. 'Automatic' images are created automatically from a deleted Linode.","description_kind":"plain","computed":true},"vendor":{"type":"string","description":"The upstream distribution vendor. Nil for private Images.","description_kind":"plain","computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"linode_instance":{"version":0,"block":{"attributes":{"authorized_keys":{"type":["list","string"],"description":"A list of SSH public keys to deploy for the root user on the newly created Linode. Only accepted if 'image' is provided.","description_kind":"plain","optional":true},"authorized_users":{"type":["list","string"],"description":"A list of Linode usernames. If the usernames have associated SSH keys, the keys will be appended to the `root` user's `~/.ssh/authorized_keys` file automatically. Only accepted if 'image' is provided.","description_kind":"plain","optional":true},"backup_id":{"type":"number","description":"A Backup ID from another Linode's available backups. Your User must have read_write access to that Linode, the Backup must have a status of successful, and the Linode must be deployed to the same region as the Backup. See /linode/instances/{linodeId}/backups for a Linode's available backups. This field and the image field are mutually exclusive.","description_kind":"plain","optional":true},"backups":{"type":["list",["object",{"available":"bool","enabled":"bool","schedule":["list",["object",{"day":"string","window":"string"}]]}]],"description":"Information about this Linode's backups status.","description_kind":"plain","computed":true},"backups_enabled":{"type":"bool","description":"If this field is set to true, the created Linode will automatically be enrolled in the Linode Backup service. This will incur an additional charge. The cost for the Backup service is dependent on the Type of Linode deployed.","description_kind":"plain","optional":true,"computed":true},"boot_config_label":{"type":"string","description":"The Label of the Instance Config that should be used to boot the Linode instance.","description_kind":"plain","optional":true,"computed":true},"booted":{"type":"bool","description_kind":"plain","optional":true,"computed":true},"firewall_id":{"type":"number","description":"The ID of the firewall applied to the Linode instance during creation.","description_kind":"plain","optional":true},"group":{"type":"string","description":"The display group of the Linode instance.","description_kind":"plain","deprecated":true,"optional":true},"has_user_data":{"type":"bool","description":"Whether or not this Instance was created with user-data.","description_kind":"plain","computed":true},"host_uuid":{"type":"string","description":"The Linode’s host machine, as a UUID.","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"image":{"type":"string","description":"An Image ID to deploy the Disk from. Official Linode Images start with linode/, while your Images start with private/. See /images for more information on the Images available for you to use.","description_kind":"plain","optional":true},"ip_address":{"type":"string","description":"This Linode's Public IPv4 Address. If there are multiple public IPv4 addresses on this Instance, an arbitrary address will be used for this field.","description_kind":"plain","computed":true},"ipv4":{"type":["set","string"],"description":"This Linode's IPv4 Addresses. Each Linode is assigned a single public IPv4 address upon creation, and may get a single private IPv4 address if needed. You may need to open a support ticket to get additional IPv4 addresses.","description_kind":"plain","computed":true},"ipv6":{"type":"string","description":"This Linode's IPv6 SLAAC addresses. This address is specific to a Linode, and may not be shared.","description_kind":"plain","computed":true},"label":{"type":"string","description":"The Linode's label is for display purposes only. If no label is provided for a Linode, a default will be assigned","description_kind":"plain","optional":true,"computed":true},"migration_type":{"type":"string","description":"The type of migration to use for resize and migration operations.","description_kind":"plain","optional":true},"placement_group_externally_managed":{"type":"bool","description":"If true, this placement group's assignment is externally managed and will NOT be updated by this resource.","description_kind":"plain","optional":true},"private_ip":{"type":"bool","description":"If true, the created Linode will have private networking enabled, allowing use of the 192.168.128.0/17 network within the Linode's region.","description_kind":"plain","optional":true},"private_ip_address":{"type":"string","description":"This Linode's Private IPv4 Address. The regional private IP address range is 192.168.128/17 address shared by all Linode Instances in a region.","description_kind":"plain","computed":true},"region":{"type":"string","description":"This is the location where the Linode was deployed. This cannot be changed without opening a support ticket.","description_kind":"plain","required":true},"resize_disk":{"type":"bool","description":"If true, changes in Linode type will attempt to upsize or downsize implicitly created disks. This must be false if explicit disks are defined. This is an irreversible action as Linode disks cannot be automatically downsized.","description_kind":"plain","optional":true},"root_pass":{"type":"string","description":"The password that will be initially assigned to the 'root' user account.","description_kind":"plain","optional":true,"sensitive":true},"shared_ipv4":{"type":["set","string"],"description":"A set of IPv4 addresses to share with this Linode.","description_kind":"plain","optional":true,"computed":true},"specs":{"type":["list",["object",{"disk":"number","memory":"number","transfer":"number","vcpus":"number"}]],"description":"Information about the resources available to this Linode.","description_kind":"plain","computed":true},"stackscript_data":{"type":["map","string"],"description":"An object containing responses to any User Defined Fields present in the StackScript being deployed to this Linode. Only accepted if 'stackscript_id' is given. The required values depend on the StackScript being deployed.","description_kind":"plain","optional":true,"sensitive":true},"stackscript_id":{"type":"number","description":"The StackScript to deploy to the newly created Linode. If provided, 'image' must also be provided, and must be an Image that is compatible with this StackScript.","description_kind":"plain","optional":true},"status":{"type":"string","description":"The status of the instance, indicating the current readiness state.","description_kind":"plain","computed":true},"swap_size":{"type":"number","description":"When deploying from an Image, this field is optional with a Linode API default of 512mb, otherwise it is ignored. This is used to set the swap disk size for the newly-created Linode.","description_kind":"plain","optional":true,"computed":true},"tags":{"type":["set","string"],"description":"An array of tags applied to this object. Tags are for organizational purposes only.","description_kind":"plain","optional":true,"computed":true},"type":{"type":"string","description":"The type of instance to be deployed, determining the price and size.","description_kind":"plain","optional":true},"watchdog_enabled":{"type":"bool","description":"The watchdog, named Lassie, is a Shutdown Watchdog that monitors your Linode and will reboot it if it powers off unexpectedly. It works by issuing a boot job when your Linode powers off without a shutdown job being responsible. To prevent a loop, Lassie will give up if there have been more than 5 boot jobs issued within 15 minutes.","description_kind":"plain","optional":true}},"block_types":{"alerts":{"nesting_mode":"list","block":{"attributes":{"cpu":{"type":"number","description":"The percentage of CPU usage required to trigger an alert. If the average CPU usage over two hours exceeds this value, we'll send you an alert. If this is set to 0, the alert is disabled.","description_kind":"plain","optional":true,"computed":true},"io":{"type":"number","description":"The amount of disk IO operation per second required to trigger an alert. If the average disk IO over two hours exceeds this value, we'll send you an alert. If set to 0, this alert is disabled.","description_kind":"plain","optional":true,"computed":true},"network_in":{"type":"number","description":"The amount of incoming traffic, in Mbit/s, required to trigger an alert. If the average incoming traffic over two hours exceeds this value, we'll send you an alert. If this is set to 0 (zero), the alert is disabled.","description_kind":"plain","optional":true,"computed":true},"network_out":{"type":"number","description":"The amount of outbound traffic, in Mbit/s, required to trigger an alert. If the average outbound traffic over two hours exceeds this value, we'll send you an alert. If this is set to 0 (zero), the alert is disabled.","description_kind":"plain","optional":true,"computed":true},"transfer_quota":{"type":"number","description":"The percentage of network transfer that may be used before an alert is triggered. When this value is exceeded, we'll alert you. If this is set to 0 (zero), the alert is disabled.","description_kind":"plain","optional":true,"computed":true}},"description":"Configuration options for alert triggers on this Linode.","description_kind":"plain"},"max_items":1},"config":{"nesting_mode":"list","block":{"attributes":{"comments":{"type":"string","description":"Optional field for arbitrary User comments on this Config.","description_kind":"plain","optional":true},"id":{"type":"number","description":"The unique ID of this Config.","description_kind":"plain","computed":true},"kernel":{"type":"string","description":"A Kernel ID to boot a Linode with. Default is based on image choice. (examples: linode/latest-64bit, linode/grub2, linode/direct-disk)","description_kind":"plain","optional":true},"label":{"type":"string","description":"The Config's label for display purposes. Also used by `boot_config_label`.","description_kind":"plain","required":true},"memory_limit":{"type":"number","description":"Defaults to the total RAM of the Linode","description_kind":"plain","optional":true},"root_device":{"type":"string","description":"The root device to boot. The corresponding disk must be attached.","description_kind":"plain","optional":true,"computed":true},"run_level":{"type":"string","description":"Defines the state of your Linode after booting. Defaults to default.","description_kind":"plain","optional":true},"virt_mode":{"type":"string","description":"Controls the virtualization mode. Defaults to paravirt.","description_kind":"plain","optional":true}},"block_types":{"devices":{"nesting_mode":"list","block":{"block_types":{"sda":{"nesting_mode":"list","block":{"attributes":{"disk_id":{"type":"number","description":"The Disk ID to map to this disk slot","description_kind":"plain","optional":true,"computed":true},"disk_label":{"type":"string","description":"The `label` of the `disk` to map to this `device` slot.","description_kind":"plain","optional":true},"volume_id":{"type":"number","description":"The Block Storage volume ID to map to this disk slot","description_kind":"plain","optional":true}},"description":"Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.","description_kind":"plain"},"max_items":1},"sdb":{"nesting_mode":"list","block":{"attributes":{"disk_id":{"type":"number","description":"The Disk ID to map to this disk slot","description_kind":"plain","optional":true,"computed":true},"disk_label":{"type":"string","description":"The `label` of the `disk` to map to this `device` slot.","description_kind":"plain","optional":true},"volume_id":{"type":"number","description":"The Block Storage volume ID to map to this disk slot","description_kind":"plain","optional":true}},"description":"Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.","description_kind":"plain"},"max_items":1},"sdc":{"nesting_mode":"list","block":{"attributes":{"disk_id":{"type":"number","description":"The Disk ID to map to this disk slot","description_kind":"plain","optional":true,"computed":true},"disk_label":{"type":"string","description":"The `label` of the `disk` to map to this `device` slot.","description_kind":"plain","optional":true},"volume_id":{"type":"number","description":"The Block Storage volume ID to map to this disk slot","description_kind":"plain","optional":true}},"description":"Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.","description_kind":"plain"},"max_items":1},"sdd":{"nesting_mode":"list","block":{"attributes":{"disk_id":{"type":"number","description":"The Disk ID to map to this disk slot","description_kind":"plain","optional":true,"computed":true},"disk_label":{"type":"string","description":"The `label` of the `disk` to map to this `device` slot.","description_kind":"plain","optional":true},"volume_id":{"type":"number","description":"The Block Storage volume ID to map to this disk slot","description_kind":"plain","optional":true}},"description":"Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.","description_kind":"plain"},"max_items":1},"sde":{"nesting_mode":"list","block":{"attributes":{"disk_id":{"type":"number","description":"The Disk ID to map to this disk slot","description_kind":"plain","optional":true,"computed":true},"disk_label":{"type":"string","description":"The `label` of the `disk` to map to this `device` slot.","description_kind":"plain","optional":true},"volume_id":{"type":"number","description":"The Block Storage volume ID to map to this disk slot","description_kind":"plain","optional":true}},"description":"Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.","description_kind":"plain"},"max_items":1},"sdf":{"nesting_mode":"list","block":{"attributes":{"disk_id":{"type":"number","description":"The Disk ID to map to this disk slot","description_kind":"plain","optional":true,"computed":true},"disk_label":{"type":"string","description":"The `label` of the `disk` to map to this `device` slot.","description_kind":"plain","optional":true},"volume_id":{"type":"number","description":"The Block Storage volume ID to map to this disk slot","description_kind":"plain","optional":true}},"description":"Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.","description_kind":"plain"},"max_items":1},"sdg":{"nesting_mode":"list","block":{"attributes":{"disk_id":{"type":"number","description":"The Disk ID to map to this disk slot","description_kind":"plain","optional":true,"computed":true},"disk_label":{"type":"string","description":"The `label` of the `disk` to map to this `device` slot.","description_kind":"plain","optional":true},"volume_id":{"type":"number","description":"The Block Storage volume ID to map to this disk slot","description_kind":"plain","optional":true}},"description":"Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.","description_kind":"plain"},"max_items":1},"sdh":{"nesting_mode":"list","block":{"attributes":{"disk_id":{"type":"number","description":"The Disk ID to map to this disk slot","description_kind":"plain","optional":true,"computed":true},"disk_label":{"type":"string","description":"The `label` of the `disk` to map to this `device` slot.","description_kind":"plain","optional":true},"volume_id":{"type":"number","description":"The Block Storage volume ID to map to this disk slot","description_kind":"plain","optional":true}},"description":"Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.","description_kind":"plain"},"max_items":1}},"description":"Device sda-sdh can be either a Disk or Volume identified by disk_label or volume_id. Only one type per slot allowed.","description_kind":"plain"},"max_items":1},"helpers":{"nesting_mode":"list","block":{"attributes":{"devtmpfs_automount":{"type":"bool","description":"Populates the /dev directory early during boot without udev. Defaults to false.","description_kind":"plain","optional":true},"distro":{"type":"bool","description":"Controls the behavior of the Linode Config's Distribution Helper setting.","description_kind":"plain","optional":true},"modules_dep":{"type":"bool","description":"Creates a modules dependency file for the Kernel you run.","description_kind":"plain","optional":true},"network":{"type":"bool","description":"Controls the behavior of the Linode Config's Network Helper setting, used to automatically configure additional IP addresses assigned to this instance.","description_kind":"plain","optional":true},"updatedb_disabled":{"type":"bool","description":"Disables updatedb cron job to avoid disk thrashing.","description_kind":"plain","optional":true}},"description":"Helpers enabled when booting to this Linode Config.","description_kind":"plain"},"max_items":1},"interface":{"nesting_mode":"list","block":{"attributes":{"active":{"type":"bool","description":"Whether this interface is currently booted and active.","description_kind":"plain","computed":true},"id":{"type":"number","description":"The ID of the interface.","description_kind":"plain","computed":true},"ip_ranges":{"type":["list","string"],"description":"List of VPC IPs or IP ranges inside the VPC subnet.","description_kind":"plain","optional":true},"ipam_address":{"type":"string","description":"This Network Interface's private IP address in Classless Inter-Domain Routing (CIDR) notation.This attribute is only allowed for VLAN interfaces.","description_kind":"plain","optional":true},"label":{"type":"string","description":"The name of the VALN. This attribute is required for VLAN interfaces. This attribute is only allowed for VLAN interfaces.","description_kind":"plain","optional":true},"primary":{"type":"bool","description":"Whether the interface is the primary interface that should have the default route for this Linode.","description_kind":"plain","optional":true},"purpose":{"type":"string","description":"The type of interface.","description_kind":"plain","required":true},"subnet_id":{"type":"number","description":"The ID of the subnet which the VPC interface is connected to.This attribute is required for VPC interfaces.This attribute is only allowed for VPC interfaces.","description_kind":"plain","optional":true},"vpc_id":{"type":"number","description":"The ID of VPC of the subnet which the VPC interface is connected to.","description_kind":"plain","computed":true}},"block_types":{"ipv4":{"nesting_mode":"list","block":{"attributes":{"nat_1_1":{"type":"string","description":"The public IP that will be used for the one-to-one NAT purpose.","description_kind":"plain","optional":true,"computed":true},"vpc":{"type":"string","description":"The IP from the VPC subnet to use for this interface.","description_kind":"plain","optional":true,"computed":true}},"description":"The IPv4 configuration of the VPC interface.This attribute is only allowed for VPC interfaces.","description_kind":"plain"},"max_items":1}},"description":"An array of Network Interfaces for this Linode’s Configuration Profile.","description_kind":"plain"}}},"description":"Configuration profiles define the VM settings and boot behavior of the Linode Instance.","description_kind":"plain","deprecated":true}},"disk":{"nesting_mode":"list","block":{"attributes":{"authorized_keys":{"type":["list","string"],"description":"A list of SSH public keys to deploy for the root user on the newly created Linode. Only accepted if 'image' is provided.","description_kind":"plain","optional":true},"authorized_users":{"type":["list","string"],"description":"A list of Linode usernames. If the usernames have associated SSH keys, the keys will be appended to the `root` user's `~/.ssh/authorized_keys` file automatically. Only accepted if 'image' is provided.","description_kind":"plain","optional":true},"filesystem":{"type":"string","description":"The Disk filesystem can be one of: raw, swap, ext3, ext4, initrd (max 32mb)","description_kind":"plain","optional":true,"computed":true},"id":{"type":"number","description":"The ID of the Disk (for use in Linode Image resources and Linode Instance Config Devices)","description_kind":"plain","computed":true},"image":{"type":"string","description":"An Image ID to deploy the Disk from. Official Linode Images start with linode/, while your Images start with private/.","description_kind":"plain","optional":true,"computed":true},"label":{"type":"string","description":"The disks label, which acts as an identifier in Terraform.","description_kind":"plain","required":true},"read_only":{"type":"bool","description":"If true, this Disk is read-only.","description_kind":"plain","optional":true,"computed":true},"root_pass":{"type":"string","description":"The password that will be initialially assigned to the 'root' user account.","description_kind":"plain","optional":true,"sensitive":true},"size":{"type":"number","description":"The size of the Disk in MB.","description_kind":"plain","required":true},"stackscript_data":{"type":["map","string"],"description":"An object containing responses to any User Defined Fields present in the StackScript being deployed to this Linode. Only accepted if 'stackscript_id' is given. The required values depend on the StackScript being deployed.","description_kind":"plain","optional":true,"computed":true,"sensitive":true},"stackscript_id":{"type":"number","description":"The StackScript to deploy to the newly created Linode. If provided, 'image' must also be provided, and must be an Image that is compatible with this StackScript.","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain","deprecated":true}},"interface":{"nesting_mode":"list","block":{"attributes":{"active":{"type":"bool","description":"Whether this interface is currently booted and active.","description_kind":"plain","computed":true},"id":{"type":"number","description":"The ID of the interface.","description_kind":"plain","computed":true},"ip_ranges":{"type":["list","string"],"description":"List of VPC IPs or IP ranges inside the VPC subnet.","description_kind":"plain","optional":true},"ipam_address":{"type":"string","description":"This Network Interface's private IP address in Classless Inter-Domain Routing (CIDR) notation.This attribute is only allowed for VLAN interfaces.","description_kind":"plain","optional":true},"label":{"type":"string","description":"The name of the VALN. This attribute is required for VLAN interfaces. This attribute is only allowed for VLAN interfaces.","description_kind":"plain","optional":true},"primary":{"type":"bool","description":"Whether the interface is the primary interface that should have the default route for this Linode.","description_kind":"plain","optional":true},"purpose":{"type":"string","description":"The type of interface.","description_kind":"plain","required":true},"subnet_id":{"type":"number","description":"The ID of the subnet which the VPC interface is connected to.This attribute is required for VPC interfaces.This attribute is only allowed for VPC interfaces.","description_kind":"plain","optional":true},"vpc_id":{"type":"number","description":"The ID of VPC of the subnet which the VPC interface is connected to.","description_kind":"plain","computed":true}},"block_types":{"ipv4":{"nesting_mode":"list","block":{"attributes":{"nat_1_1":{"type":"string","description":"The public IP that will be used for the one-to-one NAT purpose.","description_kind":"plain","optional":true,"computed":true},"vpc":{"type":"string","description":"The IP from the VPC subnet to use for this interface.","description_kind":"plain","optional":true,"computed":true}},"description":"The IPv4 configuration of the VPC interface.This attribute is only allowed for VPC interfaces.","description_kind":"plain"},"max_items":1}},"description":"An array of Network Interfaces for this Linode to be created with. If an explicit config or disk is defined, interfaces must be declared in the config block.","description_kind":"plain"}},"metadata":{"nesting_mode":"list","block":{"attributes":{"user_data":{"type":"string","description":"The base64-encoded user-defined data exposed to this instance through the Linode Metadata service. Refer to the base64encode(...) function for information on encoding content for this field.","description_kind":"plain","optional":true}},"description":"Various fields related to the Linode Metadata service.","description_kind":"plain"}},"placement_group":{"nesting_mode":"list","block":{"attributes":{"affinity_type":{"type":"string","description":"The affinity policy for this Placement Group.","description_kind":"plain","computed":true},"compliant_only":{"type":"bool","description_kind":"plain","optional":true},"id":{"type":"number","description":"The ID of the Placement Group to assign this Linode to.","description_kind":"plain","required":true},"is_strict":{"type":"bool","description":"Whether compliance is strictly enforced by this Placement Group.","description_kind":"plain","computed":true},"label":{"type":"string","description":"The label of this Placement Group.","description_kind":"plain","computed":true}},"description":"Fields related to the Placement Group this instance is assigned to.","description_kind":"plain"},"max_items":1},"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"linode_instance_config":{"version":0,"block":{"attributes":{"booted":{"type":"bool","description":"If true, the Linode will be booted to running state. If false, the Linode will be shutdown. If undefined, no action will be taken.","description_kind":"plain","optional":true,"computed":true},"comments":{"type":"string","description":"Optional field for arbitrary User comments on this Config.","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kernel":{"type":"string","description":"A Kernel ID to boot a Linode with. Defaults to “linode/latest-64bit”.","description_kind":"plain","optional":true},"label":{"type":"string","description":"The Config's label for display purposes only.","description_kind":"plain","required":true},"linode_id":{"type":"number","description":"The ID of the Linode to create this configuration profile under.","description_kind":"plain","required":true},"memory_limit":{"type":"number","description":"The memory limit of the Linode.","description_kind":"plain","optional":true,"computed":true},"root_device":{"type":"string","description":"The root device to boot. If no value or an invalid value is provided, root device will default to /dev/sda. If the device specified at the root device location is not mounted, the Linode will not boot until a device is mounted.","description_kind":"plain","optional":true},"run_level":{"type":"string","description":"Defines the state of your Linode after booting.","description_kind":"plain","optional":true},"virt_mode":{"type":"string","description":"Controls the virtualization mode.","description_kind":"plain","optional":true}},"block_types":{"device":{"nesting_mode":"set","block":{"attributes":{"device_name":{"type":"string","description":"The Disk ID to map to this disk slot","description_kind":"plain","required":true},"disk_id":{"type":"number","description":"The Disk ID to map to this disk slot","description_kind":"plain","optional":true},"volume_id":{"type":"number","description":"The Block Storage volume ID to map to this disk slot","description_kind":"plain","optional":true}},"description":"Blocks for device disks in a Linode's configuration profile.","description_kind":"plain"}},"devices":{"nesting_mode":"list","block":{"block_types":{"sda":{"nesting_mode":"list","block":{"attributes":{"disk_id":{"type":"number","description":"The Disk ID to map to this disk slot","description_kind":"plain","optional":true},"volume_id":{"type":"number","description":"The Block Storage volume ID to map to this disk slot","description_kind":"plain","optional":true}},"description":"Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.","description_kind":"plain"},"max_items":1},"sdb":{"nesting_mode":"list","block":{"attributes":{"disk_id":{"type":"number","description":"The Disk ID to map to this disk slot","description_kind":"plain","optional":true},"volume_id":{"type":"number","description":"The Block Storage volume ID to map to this disk slot","description_kind":"plain","optional":true}},"description":"Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.","description_kind":"plain"},"max_items":1},"sdc":{"nesting_mode":"list","block":{"attributes":{"disk_id":{"type":"number","description":"The Disk ID to map to this disk slot","description_kind":"plain","optional":true},"volume_id":{"type":"number","description":"The Block Storage volume ID to map to this disk slot","description_kind":"plain","optional":true}},"description":"Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.","description_kind":"plain"},"max_items":1},"sdd":{"nesting_mode":"list","block":{"attributes":{"disk_id":{"type":"number","description":"The Disk ID to map to this disk slot","description_kind":"plain","optional":true},"volume_id":{"type":"number","description":"The Block Storage volume ID to map to this disk slot","description_kind":"plain","optional":true}},"description":"Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.","description_kind":"plain"},"max_items":1},"sde":{"nesting_mode":"list","block":{"attributes":{"disk_id":{"type":"number","description":"The Disk ID to map to this disk slot","description_kind":"plain","optional":true},"volume_id":{"type":"number","description":"The Block Storage volume ID to map to this disk slot","description_kind":"plain","optional":true}},"description":"Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.","description_kind":"plain"},"max_items":1},"sdf":{"nesting_mode":"list","block":{"attributes":{"disk_id":{"type":"number","description":"The Disk ID to map to this disk slot","description_kind":"plain","optional":true},"volume_id":{"type":"number","description":"The Block Storage volume ID to map to this disk slot","description_kind":"plain","optional":true}},"description":"Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.","description_kind":"plain"},"max_items":1},"sdg":{"nesting_mode":"list","block":{"attributes":{"disk_id":{"type":"number","description":"The Disk ID to map to this disk slot","description_kind":"plain","optional":true},"volume_id":{"type":"number","description":"The Block Storage volume ID to map to this disk slot","description_kind":"plain","optional":true}},"description":"Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.","description_kind":"plain"},"max_items":1},"sdh":{"nesting_mode":"list","block":{"attributes":{"disk_id":{"type":"number","description":"The Disk ID to map to this disk slot","description_kind":"plain","optional":true},"volume_id":{"type":"number","description":"The Block Storage volume ID to map to this disk slot","description_kind":"plain","optional":true}},"description":"Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.","description_kind":"plain"},"max_items":1}},"description":"A dictionary of device disks to use as a device map in a Linode's configuration profile.","description_kind":"plain","deprecated":true},"max_items":1},"helpers":{"nesting_mode":"list","block":{"attributes":{"devtmpfs_automount":{"type":"bool","description":"Populates the /dev directory early during boot without udev.","description_kind":"plain","optional":true},"distro":{"type":"bool","description":"Helps maintain correct inittab/upstart console device.","description_kind":"plain","optional":true},"modules_dep":{"type":"bool","description":"Creates a modules dependency file for the Kernel you run.","description_kind":"plain","optional":true},"network":{"type":"bool","description":"Automatically configures static networking.","description_kind":"plain","optional":true},"updatedb_disabled":{"type":"bool","description":"Disables updatedb cron job to avoid disk thrashing.","description_kind":"plain","optional":true}},"description":"Helpers enabled when booting to this Linode Config.","description_kind":"plain"}},"interface":{"nesting_mode":"list","block":{"attributes":{"active":{"type":"bool","description":"Whether this interface is currently booted and active.","description_kind":"plain","computed":true},"id":{"type":"number","description":"The ID of the interface.","description_kind":"plain","computed":true},"ip_ranges":{"type":["list","string"],"description":"List of VPC IPs or IP ranges inside the VPC subnet.","description_kind":"plain","optional":true},"ipam_address":{"type":"string","description":"This Network Interface's private IP address in Classless Inter-Domain Routing (CIDR) notation.This attribute is only allowed for VLAN interfaces.","description_kind":"plain","optional":true},"label":{"type":"string","description":"The name of the VALN. This attribute is required for VLAN interfaces. This attribute is only allowed for VLAN interfaces.","description_kind":"plain","optional":true},"primary":{"type":"bool","description":"Whether the interface is the primary interface that should have the default route for this Linode.","description_kind":"plain","optional":true},"purpose":{"type":"string","description":"The type of interface.","description_kind":"plain","required":true},"subnet_id":{"type":"number","description":"The ID of the subnet which the VPC interface is connected to.This attribute is required for VPC interfaces.This attribute is only allowed for VPC interfaces.","description_kind":"plain","optional":true},"vpc_id":{"type":"number","description":"The ID of VPC of the subnet which the VPC interface is connected to.","description_kind":"plain","computed":true}},"block_types":{"ipv4":{"nesting_mode":"list","block":{"attributes":{"nat_1_1":{"type":"string","description":"The public IP that will be used for the one-to-one NAT purpose.","description_kind":"plain","optional":true,"computed":true},"vpc":{"type":"string","description":"The IP from the VPC subnet to use for this interface.","description_kind":"plain","optional":true,"computed":true}},"description":"The IPv4 configuration of the VPC interface.This attribute is only allowed for VPC interfaces.","description_kind":"plain"},"max_items":1}},"description":"An array of Network Interfaces to add to this Linode's Configuration Profile.","description_kind":"plain"}}},"description_kind":"plain"}},"linode_instance_disk":{"version":0,"block":{"attributes":{"authorized_keys":{"type":["set","string"],"description":"A list of public SSH keys that will be automatically appended to the root user's ~/.ssh/authorized_keys file when deploying from an Image.","description_kind":"plain","optional":true},"authorized_users":{"type":["set","string"],"description":"A list of usernames. If the usernames have associated SSH keys, the keys will be appended to the root users ~/.ssh/authorized_keys file automatically when deploying from an Image.","description_kind":"plain","optional":true},"created":{"type":"string","description":"When this disk was created.","description_kind":"plain","computed":true},"filesystem":{"type":"string","description":"The filesystem of this disk.","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description":"The ID of the Linode disk.","description_kind":"plain","computed":true},"image":{"type":"string","description":"An Image ID to deploy the Linode Disk from.","description_kind":"plain","optional":true},"label":{"type":"string","description":"The Disk;s label is for display purposes only.","description_kind":"plain","required":true},"linode_id":{"type":"number","description":"The ID of the Linode to assign this disk to.","description_kind":"plain","required":true},"root_pass":{"type":"string","description":"This sets the root user's password on a newly-created Linode Disk when deploying from an Image.","description_kind":"plain","optional":true,"sensitive":true},"size":{"type":"number","description":"The ID of the token.","description_kind":"plain","required":true},"stackscript_data":{"type":["map","string"],"description":"An object containing responses to any User Defined Fields present in the StackScript being deployed to this Disk. Only accepted if 'stackscript_id' is given. The required values depend on the StackScript being deployed.","description_kind":"plain","optional":true,"sensitive":true},"stackscript_id":{"type":"number","description":"A StackScript ID that will cause the referenced StackScript to be run during deployment of this Linode.","description_kind":"plain","optional":true},"status":{"type":"string","description":"A brief description of this Disk's current state.","description_kind":"plain","computed":true},"updated":{"type":"string","description":"When this disk was last updated.","description_kind":"plain","computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).","description_kind":"plain","optional":true},"delete":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.","description_kind":"plain","optional":true},"update":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"linode_instance_ip":{"version":0,"block":{"attributes":{"address":{"type":"string","description":"The resulting IPv4 address.","description_kind":"plain","computed":true},"apply_immediately":{"type":"bool","description":"If true, the instance will be rebooted to update network interfaces. This functionality is not affected by the `skip_implicit_reboots` provider argument.","description_kind":"plain","optional":true,"computed":true},"gateway":{"type":"string","description":"The default gateway for this address","description_kind":"plain","computed":true},"id":{"type":"string","description":"The ID of the IPv4 address, which will be IPv4 address itself.","description_kind":"plain","computed":true},"linode_id":{"type":"number","description":"The ID of the Linode to allocate an IPv4 address for.","description_kind":"plain","required":true},"prefix":{"type":"number","description":"The number of bits set in the subnet mask.","description_kind":"plain","computed":true},"public":{"type":"bool","description":"Whether the IPv4 address is public or private.","description_kind":"plain","optional":true,"computed":true},"rdns":{"type":"string","description":"The reverse DNS assigned to this address.","description_kind":"plain","optional":true,"computed":true},"region":{"type":"string","description":"The region this IP resides in.","description_kind":"plain","computed":true},"subnet_mask":{"type":"string","description":"The mask that separates host bits from network bits for this address.","description_kind":"plain","computed":true},"type":{"type":"string","description":"The type of IP address.","description_kind":"plain","computed":true},"vpc_nat_1_1":{"type":["list",["object",{"address":"string","subnet_id":"number","vpc_id":"number"}]],"description":"Contains information about the NAT 1:1 mapping of a public IP address to a VPC subnet.","description_kind":"plain","computed":true}},"description_kind":"plain"}},"linode_instance_shared_ips":{"version":0,"block":{"attributes":{"addresses":{"type":["set","string"],"description":"A set of IP addresses to share to the Linode","description_kind":"plain","required":true},"id":{"type":"string","description":"linode_id is used as the ID of linode_instance_shared_ips","description_kind":"plain","computed":true},"linode_id":{"type":"number","description":"The ID of the Linode to share these IP addresses with.","description_kind":"plain","required":true}},"description_kind":"plain"}},"linode_ipv6_range":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"The unique ID for this Resource.","description_kind":"plain","computed":true},"is_bgp":{"type":"bool","description":"Whether this IPv6 range is shared.","description_kind":"plain","computed":true},"linode_id":{"type":"number","description":"The ID of the Linode to assign this range to.","description_kind":"plain","optional":true},"linodes":{"type":["set","number"],"description":"A list of Linodes targeted by this IPv6 range.Includes Linodes with IP sharing.","description_kind":"plain","computed":true},"prefix_length":{"type":"number","description":"The prefix length of the IPv6 range.","description_kind":"plain","required":true},"range":{"type":"string","description":"The IPv6 range of addresses in this pool.","description_kind":"plain","computed":true},"region":{"type":"string","description":"The region for this range of IPv6 addresses.","description_kind":"plain","computed":true},"route_target":{"type":"string","description":"The IPv6 SLAAC address to assign this range to.","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"linode_lke_cluster":{"version":0,"block":{"attributes":{"api_endpoints":{"type":["list","string"],"description":"The API endpoints for the cluster.","description_kind":"plain","computed":true},"dashboard_url":{"type":"string","description":"The dashboard URL of the cluster.","description_kind":"plain","computed":true},"external_pool_tags":{"type":["set","string"],"description":"An array of tags indicating that node pools having those tags are defined with a separate nodepool resource, rather than inside the current cluster resource.","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"k8s_version":{"type":"string","description":"The desired Kubernetes version for this Kubernetes cluster in the format of \u003cmajor\u003e.\u003cminor\u003e. The latest supported patch version will be deployed.","description_kind":"plain","required":true},"kubeconfig":{"type":"string","description":"The Base64-encoded Kubeconfig for the cluster.","description_kind":"plain","computed":true,"sensitive":true},"label":{"type":"string","description":"The unique label for the cluster.","description_kind":"plain","required":true},"region":{"type":"string","description":"This cluster's location.","description_kind":"plain","required":true},"status":{"type":"string","description":"The status of the cluster.","description_kind":"plain","computed":true},"tags":{"type":["set","string"],"description":"An array of tags applied to this object. Tags are for organizational purposes only.","description_kind":"plain","optional":true,"computed":true}},"block_types":{"control_plane":{"nesting_mode":"list","block":{"attributes":{"high_availability":{"type":"bool","description":"Defines whether High Availability is enabled for the Control Plane Components of the cluster.","description_kind":"plain","optional":true,"computed":true}},"block_types":{"acl":{"nesting_mode":"list","block":{"attributes":{"enabled":{"type":"bool","description":"Defines default policy. A value of true results in a default policy of DENY. A value of false results in default policy of ALLOW, and has the same effect as delete the ACL configuration.","description_kind":"plain","optional":true,"computed":true}},"block_types":{"addresses":{"nesting_mode":"list","block":{"attributes":{"ipv4":{"type":["set","string"],"description":"A set of individual ipv4 addresses or CIDRs to ALLOW.","description_kind":"plain","optional":true,"computed":true},"ipv6":{"type":["set","string"],"description":"A set of individual ipv6 addresses or CIDRs to ALLOW.","description_kind":"plain","optional":true,"computed":true}},"description":"A list of ip addresses to allow.","description_kind":"plain"}}},"description":"Defines the ACL configuration for an LKE cluster's control plane.","description_kind":"plain"},"max_items":1}},"description":"Defines settings for the Kubernetes Control Plane.","description_kind":"plain"},"max_items":1},"pool":{"nesting_mode":"list","block":{"attributes":{"count":{"type":"number","description":"The number of nodes in the Node Pool.","description_kind":"plain","optional":true,"computed":true},"id":{"type":"number","description":"The ID of the Node Pool.","description_kind":"plain","computed":true},"nodes":{"type":["list",["object",{"id":"string","instance_id":"number","status":"string"}]],"description":"The nodes in the node pool.","description_kind":"plain","computed":true},"type":{"type":"string","description":"A Linode Type for all of the nodes in the Node Pool.","description_kind":"plain","required":true}},"block_types":{"autoscaler":{"nesting_mode":"list","block":{"attributes":{"max":{"type":"number","description":"The maximum number of nodes to autoscale to.","description_kind":"plain","required":true},"min":{"type":"number","description":"The minimum number of nodes to autoscale to.","description_kind":"plain","required":true}},"description":"When specified, the number of nodes autoscales within the defined minimum and maximum values.","description_kind":"plain"},"max_items":1}},"description":"A node pool in the cluster.","description_kind":"plain"},"min_items":1},"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"linode_lke_node_pool":{"version":0,"block":{"attributes":{"cluster_id":{"type":"number","description":"The ID of the cluster to associate this node pool with.","description_kind":"plain","required":true},"id":{"type":"string","description":"ID of the Node Pool.","description_kind":"plain","computed":true},"node_count":{"type":"number","description":"The number of nodes in the Node Pool.","description_kind":"plain","optional":true,"computed":true},"nodes":{"type":["list",["object",{"id":"string","instance_id":"number","status":"string"}]],"description":"A list of nodes in the node pool.","description_kind":"plain","computed":true},"tags":{"type":["set","string"],"description":"An array of tags applied to this object. Tags are for organizational purposes only.","description_kind":"plain","optional":true,"computed":true},"type":{"type":"string","description":"The type of node pool.","description_kind":"plain","required":true}},"block_types":{"autoscaler":{"nesting_mode":"list","block":{"attributes":{"max":{"type":"number","description_kind":"plain","required":true},"min":{"type":"number","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"linode_nodebalancer":{"version":1,"block":{"attributes":{"client_conn_throttle":{"type":"number","description":"Throttle connections per second (0-20). Set to 0 (zero) to disable throttling.","description_kind":"plain","optional":true,"computed":true},"created":{"type":"string","description":"When this NodeBalancer was created.","description_kind":"plain","computed":true},"firewall_id":{"type":"number","description":"ID for the firewall you'd like to use with this NodeBalancer.","description_kind":"plain","optional":true},"firewalls":{"type":["list",["object",{"created":"string","id":"number","inbound":["list",["object",{"action":"string","ipv4":["list","string"],"ipv6":["list","string"],"label":"string","ports":"string","protocol":"string"}]],"inbound_policy":"string","label":"string","outbound":["list",["object",{"action":"string","ipv4":["list","string"],"ipv6":["list","string"],"label":"string","ports":"string","protocol":"string"}]],"outbound_policy":"string","status":"string","tags":["set","string"],"updated":"string"}]],"description":"A list of Firewalls assigned to this NodeBalancer.","description_kind":"plain","computed":true},"hostname":{"type":"string","description":"This NodeBalancer's hostname, ending with .nodebalancer.linode.com","description_kind":"plain","computed":true},"id":{"type":"string","description":"The unique ID of the Linode NodeBalancer.","description_kind":"plain","computed":true},"ipv4":{"type":"string","description":"The Public IPv4 Address of this NodeBalancer","description_kind":"plain","computed":true},"ipv6":{"type":"string","description":"The Public IPv6 Address of this NodeBalancer","description_kind":"plain","computed":true},"label":{"type":"string","description":"The label of the Linode NodeBalancer.","description_kind":"plain","optional":true},"region":{"type":"string","description":"The region where this NodeBalancer will be deployed.","description_kind":"plain","optional":true,"computed":true},"tags":{"type":["set","string"],"description":"An array of tags applied to this object. Tags are for organizational purposes only.","description_kind":"plain","optional":true,"computed":true},"transfer":{"type":["list",["object",{"in":"number","out":"number","total":"number"}]],"description":"Information about the amount of transfer this NodeBalancer has had so far this month.","description_kind":"plain","computed":true},"updated":{"type":"string","description":"When this NodeBalancer was last updated.","description_kind":"plain","computed":true}},"description_kind":"plain"}},"linode_nodebalancer_config":{"version":1,"block":{"attributes":{"algorithm":{"type":"string","description":"What algorithm this NodeBalancer should use for routing traffic to backends: roundrobin, leastconn, source","description_kind":"plain","optional":true,"computed":true},"check":{"type":"string","description":"The type of check to perform against backends to ensure they are serving requests. This is used to determine if backends are up or down. If none no check is performed. connection requires only a connection to the backend to succeed. http and http_body rely on the backend serving HTTP, and that the response returned matches what is expected.","description_kind":"plain","optional":true,"computed":true},"check_attempts":{"type":"number","description":"How many times to attempt a check before considering a backend to be down. (1-30)","description_kind":"plain","optional":true,"computed":true},"check_body":{"type":"string","description":"This value must be present in the response body of the check in order for it to pass. If this value is not present in the response body of a check request, the backend is considered to be down","description_kind":"plain","optional":true,"computed":true},"check_interval":{"type":"number","description":"How often, in seconds, to check that backends are up and serving requests.","description_kind":"plain","optional":true,"computed":true},"check_passive":{"type":"bool","description":"If true, any response from this backend with a 5xx status code will be enough for it to be considered unhealthy and taken out of rotation.","description_kind":"plain","optional":true,"computed":true},"check_path":{"type":"string","description":"The URL path to check on each backend. If the backend does not respond to this request it is considered to be down.","description_kind":"plain","optional":true,"computed":true},"check_timeout":{"type":"number","description":"How long, in seconds, to wait for a check attempt before considering it failed. (1-30)","description_kind":"plain","optional":true,"computed":true},"cipher_suite":{"type":"string","description":"What ciphers to use for SSL connections served by this NodeBalancer. `legacy` is considered insecure and should only be used if necessary.","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description":"The ID of the Linode NodeBalancer Config.","description_kind":"plain","computed":true},"node_status":{"type":["list",["object",{"down":"number","up":"number"}]],"description":"A structure containing information about the health of the backends for this port. This information is updated periodically as checks are performed against backends.","description_kind":"plain","computed":true},"nodebalancer_id":{"type":"number","description":"The ID of the NodeBalancer to access.","description_kind":"plain","required":true},"port":{"type":"number","description":"The TCP port this Config is for. These values must be unique across configs on a single NodeBalancer (you can't have two configs for port 80, for example). While some ports imply some protocols, no enforcement is done and you may configure your NodeBalancer however is useful to you. For example, while port 443 is generally used for HTTPS, you do not need SSL configured to have a NodeBalancer listening on port 443.","description_kind":"plain","optional":true,"computed":true},"protocol":{"type":"string","description":"The protocol this port is configured to serve. If this is set to https you must include an ssl_cert and an ssl_key.","description_kind":"plain","optional":true,"computed":true},"proxy_protocol":{"type":"string","description":"The version of ProxyProtocol to use for the underlying NodeBalancer. This requires protocol to be `tcp`. Valid values are `none`, `v1`, and `v2`.","description_kind":"plain","optional":true,"computed":true},"ssl_cert":{"type":"string","description":"The certificate this port is serving. This is not returned. If set, this field will come back as `\u003cREDACTED\u003e`. Please use the ssl_commonname and ssl_fingerprint to identify the certificate.","description_kind":"plain","optional":true,"sensitive":true},"ssl_commonname":{"type":"string","description":"The read-only common name automatically derived from the SSL certificate assigned to this NodeBalancerConfig. Please refer to this field to verify that the appropriate certificate is assigned to your NodeBalancerConfig.","description_kind":"plain","computed":true},"ssl_fingerprint":{"type":"string","description":"The read-only fingerprint automatically derived from the SSL certificate assigned to this NodeBalancerConfig. Please refer to this field to verify that the appropriate certificate is assigned to your NodeBalancerConfig.","description_kind":"plain","computed":true},"ssl_key":{"type":"string","description":"The private key corresponding to this port's certificate. This is not returned. If set, this field will come back as `\u003cREDACTED\u003e`. Please use the ssl_commonname and ssl_fingerprint to identify the certificate.","description_kind":"plain","optional":true,"sensitive":true},"stickiness":{"type":"string","description":"Controls how session stickiness is handled on this port: 'none', 'table', 'http_cookie'","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"linode_nodebalancer_node":{"version":0,"block":{"attributes":{"address":{"type":"string","description":"The private IP Address and port (IP:PORT) where this backend can be reached. This must be a private IP address.","description_kind":"plain","required":true},"config_id":{"type":"number","description":"The ID of the NodeBalancerConfig to access.","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"label":{"type":"string","description":"The label for this node. This is for display purposes only.","description_kind":"plain","required":true},"mode":{"type":"string","description":"The mode this NodeBalancer should use when sending traffic to this backend. If set to `accept` this backend is accepting traffic. If set to `reject` this backend will not receive traffic. If set to `drain` this backend will not receive new traffic, but connections already pinned to it will continue to be routed to it. If set to `backup` this backend will only accept traffic if all other nodes are down.","description_kind":"plain","optional":true,"computed":true},"nodebalancer_id":{"type":"number","description":"The ID of the NodeBalancer to access.","description_kind":"plain","required":true},"status":{"type":"string","description":"The current status of this node, based on the configured checks of its NodeBalancer Config. (unknown, UP, DOWN)","description_kind":"plain","computed":true},"weight":{"type":"number","description":"Used when picking a backend to serve a request and is not pinned to a single backend yet. Nodes with a higher weight will receive more traffic. (1-255)","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"linode_object_storage_bucket":{"version":0,"block":{"attributes":{"access_key":{"type":"string","description":"The S3 access key to use for this resource. (Required for lifecycle_rule and versioning). If not specified with the resource, the value will be read from provider-level obj_access_key, or, generated implicitly at apply-time if obj_use_temp_keys in provider configuration is set.","description_kind":"plain","optional":true},"acl":{"type":"string","description":"The Access Control Level of the bucket using a canned ACL string.","description_kind":"plain","optional":true},"cluster":{"type":"string","description":"The cluster of the Linode Object Storage Bucket.","description_kind":"plain","required":true},"cors_enabled":{"type":"bool","description":"If true, the bucket will be created with CORS enabled for all origins.","description_kind":"plain","optional":true},"endpoint":{"type":"string","description":"The endpoint for the bucket used for s3 connections.","description_kind":"plain","computed":true},"hostname":{"type":"string","description":"The hostname where this bucket can be accessed. This hostname can be accessed through a browser if the bucket is made public.","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"label":{"type":"string","description":"The label of the Linode Object Storage Bucket.","description_kind":"plain","required":true},"secret_key":{"type":"string","description":"The S3 secret key to use for this resource. (Required for lifecycle_rule and versioning). If not specified with the resource, the value will be read from provider-level obj_secret_key, or, generated implicitly at apply-time if obj_use_temp_keys in provider configuration is set.","description_kind":"plain","optional":true,"sensitive":true},"versioning":{"type":"bool","description":"Whether to enable versioning.","description_kind":"plain","optional":true,"computed":true}},"block_types":{"cert":{"nesting_mode":"list","block":{"attributes":{"certificate":{"type":"string","description":"The Base64 encoded and PEM formatted SSL certificate.","description_kind":"plain","required":true,"sensitive":true},"private_key":{"type":"string","description":"The private key associated with the TLS/SSL certificate.","description_kind":"plain","required":true,"sensitive":true}},"description":"The cert used by this Object Storage Bucket.","description_kind":"plain"},"max_items":1},"lifecycle_rule":{"nesting_mode":"list","block":{"attributes":{"abort_incomplete_multipart_upload_days":{"type":"number","description":"Specifies the number of days after initiating a multipart upload when the multipart upload must be completed.","description_kind":"plain","optional":true},"enabled":{"type":"bool","description":"Specifies whether the lifecycle rule is active.","description_kind":"plain","required":true},"id":{"type":"string","description":"The unique identifier for the rule.","description_kind":"plain","optional":true,"computed":true},"prefix":{"type":"string","description":"The object key prefix identifying one or more objects to which the rule applies.","description_kind":"plain","optional":true}},"block_types":{"expiration":{"nesting_mode":"list","block":{"attributes":{"date":{"type":"string","description":"Specifies the date after which you want the corresponding action to take effect.","description_kind":"plain","optional":true},"days":{"type":"number","description":"Specifies the number of days after object creation when the specific rule action takes effect.","description_kind":"plain","optional":true},"expired_object_delete_marker":{"type":"bool","description":"Directs Linode Object Storage to remove expired deleted markers.","description_kind":"plain","optional":true}},"description":"Specifies a period in the object's expire.","description_kind":"plain"},"max_items":1},"noncurrent_version_expiration":{"nesting_mode":"list","block":{"attributes":{"days":{"type":"number","description":"Specifies the number of days non-current object versions expire.","description_kind":"plain","required":true}},"description":"Specifies when non-current object versions expire.","description_kind":"plain"},"max_items":1}},"description":"Lifecycle rules to be applied to the bucket.","description_kind":"plain"}}},"description_kind":"plain"}},"linode_object_storage_key":{"version":0,"block":{"attributes":{"access_key":{"type":"string","description":"This keypair's access key. This is not secret.","description_kind":"plain","computed":true},"id":{"type":"string","description":"The unique ID of this Object Storage key.","description_kind":"plain","computed":true},"label":{"type":"string","description":"The label given to this key. For display purposes only.","description_kind":"plain","required":true},"limited":{"type":"bool","description":"Whether or not this key is a limited access key.","description_kind":"plain","computed":true},"secret_key":{"type":"string","description":"This keypair's secret key.","description_kind":"plain","computed":true,"sensitive":true}},"block_types":{"bucket_access":{"nesting_mode":"set","block":{"attributes":{"bucket_name":{"type":"string","description":"The unique label of the bucket to which the key will grant limited access.","description_kind":"plain","required":true},"cluster":{"type":"string","description":"The Object Storage cluster where a bucket to which the key is granting access is hosted.","description_kind":"plain","required":true},"permissions":{"type":"string","description":"This Limited Access Key's permissions for the selected bucket.","description_kind":"plain","required":true}},"description":"A list of permissions to grant this limited access key.","description_kind":"plain"}}},"description_kind":"plain"}},"linode_object_storage_object":{"version":0,"block":{"attributes":{"access_key":{"type":"string","description":"The REQUIRED S3 access key with access to the target bucket. If not specified with the resource, you must provide its value by configuring the obj_access_key, or, opting-in generating it implicitly at apply-time using obj_use_temp_keys at provider-level.","description_kind":"plain","optional":true},"acl":{"type":"string","description":"The ACL config given to this object.","description_kind":"plain","optional":true},"bucket":{"type":"string","description":"The target bucket to put this object in.","description_kind":"plain","required":true},"cache_control":{"type":"string","description":"This cache_control configuration of this object.","description_kind":"plain","optional":true},"cluster":{"type":"string","description":"The target cluster that the bucket is in.","description_kind":"plain","required":true},"content":{"type":"string","description":"The contents of the Object to upload.","description_kind":"plain","optional":true},"content_base64":{"type":"string","description":"The base64 contents of the Object to upload.","description_kind":"plain","optional":true},"content_disposition":{"type":"string","description":"The content disposition configuration of this object.","description_kind":"plain","optional":true},"content_encoding":{"type":"string","description":"The encoding of the content of this object.","description_kind":"plain","optional":true},"content_language":{"type":"string","description":"The language metadata of this object.","description_kind":"plain","optional":true},"content_type":{"type":"string","description":"The MIME type of the content.","description_kind":"plain","optional":true,"computed":true},"endpoint":{"type":"string","description":"The endpoint for the bucket used for s3 connections.","description_kind":"plain","optional":true,"computed":true},"etag":{"type":"string","description":"The specific version of this object.","description_kind":"plain","optional":true,"computed":true},"force_destroy":{"type":"bool","description":"Whether the object should bypass deletion restrictions.","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"key":{"type":"string","description":"The name of the uploaded object.","description_kind":"plain","required":true},"metadata":{"type":["map","string"],"description":"The metadata of this object","description_kind":"plain","optional":true},"secret_key":{"type":"string","description":"The REQUIRED S3 secret key with access to the target bucket. If not specified with the resource, you must provide its value by configuring the obj_secret_key, or, opting-in generating it implicitly at apply-time using obj_use_temp_keys at provider-level.","description_kind":"plain","optional":true,"sensitive":true},"source":{"type":"string","description":"The source file to upload.","description_kind":"plain","optional":true},"version_id":{"type":"string","description":"The version ID of this object.","description_kind":"plain","computed":true},"website_redirect":{"type":"string","description":"The website redirect location of this object.","description_kind":"plain","optional":true}},"description_kind":"plain"}},"linode_placement_group":{"version":0,"block":{"attributes":{"affinity_type":{"type":"string","description":"The affinity type for Linodes in this Placement Group.","description_kind":"plain","required":true},"id":{"type":"string","description":"The id of the Placement Group.","description_kind":"plain","computed":true},"is_compliant":{"type":"bool","description":"Whether all Linodes in this Placement Group are currently compliant.","description_kind":"plain","computed":true},"is_strict":{"type":"bool","description":"Whether this Placement Group has a strict compliance policy.","description_kind":"plain","optional":true,"computed":true},"label":{"type":"string","description":"The label of the Placement Group.","description_kind":"plain","required":true},"members":{"type":["set",["object",{"is_compliant":"bool","linode_id":"number"}]],"description":"A set of Linodes currently assigned to this Placement Group.","description_kind":"plain","computed":true},"region":{"type":"string","description":"The region of the Placement Group.","description_kind":"plain","required":true}},"description_kind":"plain"}},"linode_placement_group_assignment":{"version":0,"block":{"attributes":{"compliant_only":{"type":"bool","description_kind":"plain","optional":true},"id":{"type":"string","description":"The unique ID that represents the assignment between a Placement Group and a set of Linodes.","description_kind":"plain","computed":true},"linode_id":{"type":"number","description":"A set of Linode IDs to assign to the Placement Group.","description_kind":"plain","required":true},"placement_group_id":{"type":"number","description":"The ID of the Placement Group for this assignment.","description_kind":"plain","required":true}},"description_kind":"plain"}},"linode_rdns":{"version":0,"block":{"attributes":{"address":{"type":"string","description":"The public Linode IPv4 or IPv6 address to operate on.","description_kind":"plain","required":true},"id":{"type":"string","description":"Unique identification field for this RDNS Resource. The public Linode IPv4 or IPv6 address to operate on. ","description_kind":"plain","computed":true},"rdns":{"type":"string","description":"The reverse DNS assigned to this address. For public IPv4 addresses, this will be set to a default value provided by Linode if not explicitly set.","description_kind":"plain","required":true},"wait_for_available":{"type":"bool","description":"If true, the RDNS assignment will be retried within the operation timeout period.","description_kind":"plain","optional":true,"computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).","description_kind":"plain","optional":true},"update":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"linode_sshkey":{"version":0,"block":{"attributes":{"created":{"type":"string","description":"The date this key was added.","description_kind":"plain","computed":true},"id":{"type":"string","description":"The unique identifier for this SSH key.","description_kind":"plain","computed":true},"label":{"type":"string","description":"The label of the Linode SSH Key.","description_kind":"plain","required":true},"ssh_key":{"type":"string","description":"The public SSH Key, which is used to authenticate to the root user of the Linodes you deploy.","description_kind":"plain","required":true}},"description_kind":"plain"}},"linode_stackscript":{"version":1,"block":{"attributes":{"created":{"type":"string","description":"The date this StackScript was created.","description_kind":"plain","computed":true},"deployments_active":{"type":"number","description":"Count of currently active, deployed Linodes created from this StackScript.","description_kind":"plain","computed":true},"deployments_total":{"type":"number","description":"The total number of times this StackScript has been deployed.","description_kind":"plain","computed":true},"description":{"type":"string","description":"A description for the StackScript.","description_kind":"plain","required":true},"id":{"type":"string","description":"The StackScript's unique ID.","description_kind":"plain","computed":true},"images":{"type":["set","string"],"description":"An array of Image IDs representing the Images that this StackScript is compatible for deploying with.","description_kind":"plain","required":true},"is_public":{"type":"bool","description":"This determines whether other users can use your StackScript. Once a StackScript is made public, it cannot be made private.","description_kind":"plain","optional":true,"computed":true},"label":{"type":"string","description":"The StackScript's label is for display purposes only.","description_kind":"plain","required":true},"rev_note":{"type":"string","description":"This field allows you to add notes for the set of revisions made to this StackScript.","description_kind":"plain","optional":true,"computed":true},"script":{"type":"string","description":"The script to execute when provisioning a new Linode with this StackScript.","description_kind":"plain","required":true},"updated":{"type":"string","description":"The date this StackScript was updated.","description_kind":"plain","computed":true},"user_defined_fields":{"type":["list",["object",{"default":"string","example":"string","label":"string","many_of":"string","name":"string","one_of":"string"}]],"description":"This is a list of fields defined with a special syntax inside this StackScript that allow for supplying customized parameters during deployment.","description_kind":"plain","computed":true},"user_gravatar_id":{"type":"string","description":"The Gravatar ID for the User who created the StackScript.","description_kind":"plain","computed":true},"username":{"type":"string","description":"The User who created the StackScript.","description_kind":"plain","computed":true}},"description_kind":"plain"}},"linode_token":{"version":0,"block":{"attributes":{"created":{"type":"string","description":"The date and time this token was created.","description_kind":"plain","computed":true},"expiry":{"type":"string","description":"When this token will expire. Personal Access Tokens cannot be renewed, so after this time the token will be completely unusable and a new token will need to be generated. Tokens may be created with 'null' as their expiry and will never expire unless revoked. Format: 2006-01-02T15:04:05Z","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description":"The ID of the token.","description_kind":"plain","computed":true},"label":{"type":"string","description":"The label of the Linode Token.","description_kind":"plain","optional":true},"scopes":{"type":"string","description":"The scopes this token was created with. These define what parts of the Account the token can be used to access. Many command-line tools, such as the Linode CLI, require tokens with access to *. Tokens with more restrictive scopes are generally more secure. Multiple scopes are separated by a space character (e.g., \"databases:read_only events:read_only\"). You can find the list of available scopes on Linode API docs site, https://www.linode.com/docs/api#oauth-reference","description_kind":"plain","required":true},"token":{"type":"string","description":"The token used to access the API.","description_kind":"plain","computed":true,"sensitive":true}},"description_kind":"plain"}},"linode_user":{"version":0,"block":{"attributes":{"email":{"type":"string","description":"The email of the user.","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"restricted":{"type":"bool","description":"If true, the user must be explicitly granted access to platform actions and entities.","description_kind":"plain","optional":true},"ssh_keys":{"type":["list","string"],"description":"SSH keys to add to the user profile.","description_kind":"plain","computed":true},"tfa_enabled":{"type":"bool","description":"If the User has Two Factor Authentication (TFA) enabled.","description_kind":"plain","computed":true},"user_type":{"type":"string","description":"The type of this user.","description_kind":"plain","computed":true},"username":{"type":"string","description":"The username of the user.","description_kind":"plain","required":true}},"block_types":{"domain_grant":{"nesting_mode":"set","block":{"attributes":{"id":{"type":"number","description":"The ID of the entity this grant applies to.","description_kind":"plain","required":true},"permissions":{"type":"string","description":"The level of access this User has to this entity. If null, this User has no access.","description_kind":"plain","required":true}},"description":"A set containing all of the user's active grants.","description_kind":"plain"}},"firewall_grant":{"nesting_mode":"set","block":{"attributes":{"id":{"type":"number","description":"The ID of the entity this grant applies to.","description_kind":"plain","required":true},"permissions":{"type":"string","description":"The level of access this User has to this entity. If null, this User has no access.","description_kind":"plain","required":true}},"description":"A set containing all of the user's active grants.","description_kind":"plain"}},"global_grants":{"nesting_mode":"list","block":{"attributes":{"account_access":{"type":"string","description":"The level of access this User has to Account-level actions, like billing information. A restricted User will never be able to manage users.","description_kind":"plain","optional":true},"add_databases":{"type":"bool","description":"If true, this User may add Databases.","description_kind":"plain","optional":true},"add_domains":{"type":"bool","description":"If true, this User may add Domains.","description_kind":"plain","optional":true},"add_firewalls":{"type":"bool","description":"If true, this User may add Firewalls.","description_kind":"plain","optional":true},"add_images":{"type":"bool","description":"If true, this User may add Images.","description_kind":"plain","optional":true},"add_linodes":{"type":"bool","description":"If true, this User may create Linodes.","description_kind":"plain","optional":true},"add_longview":{"type":"bool","description":"If true, this User may create Longview clients and view the current plan.","description_kind":"plain","optional":true},"add_nodebalancers":{"type":"bool","description":"If true, this User may add NodeBalancers.","description_kind":"plain","optional":true},"add_stackscripts":{"type":"bool","description":"If true, this User may add StackScripts.","description_kind":"plain","optional":true},"add_volumes":{"type":"bool","description":"If true, this User may add Volumes.","description_kind":"plain","optional":true},"cancel_account":{"type":"bool","description":"If true, this User may cancel the entire Account.","description_kind":"plain","optional":true},"longview_subscription":{"type":"bool","description":"If true, this User may manage the Account’s Longview subscription.","description_kind":"plain","optional":true}},"description":"A structure containing the Account-level grants a User has.","description_kind":"plain"},"max_items":1},"image_grant":{"nesting_mode":"set","block":{"attributes":{"id":{"type":"number","description":"The ID of the entity this grant applies to.","description_kind":"plain","required":true},"permissions":{"type":"string","description":"The level of access this User has to this entity. If null, this User has no access.","description_kind":"plain","required":true}},"description":"A set containing all of the user's active grants.","description_kind":"plain"}},"linode_grant":{"nesting_mode":"set","block":{"attributes":{"id":{"type":"number","description":"The ID of the entity this grant applies to.","description_kind":"plain","required":true},"permissions":{"type":"string","description":"The level of access this User has to this entity. If null, this User has no access.","description_kind":"plain","required":true}},"description":"A set containing all of the user's active grants.","description_kind":"plain"}},"longview_grant":{"nesting_mode":"set","block":{"attributes":{"id":{"type":"number","description":"The ID of the entity this grant applies to.","description_kind":"plain","required":true},"permissions":{"type":"string","description":"The level of access this User has to this entity. If null, this User has no access.","description_kind":"plain","required":true}},"description":"A set containing all of the user's active grants.","description_kind":"plain"}},"nodebalancer_grant":{"nesting_mode":"set","block":{"attributes":{"id":{"type":"number","description":"The ID of the entity this grant applies to.","description_kind":"plain","required":true},"permissions":{"type":"string","description":"The level of access this User has to this entity. If null, this User has no access.","description_kind":"plain","required":true}},"description":"A set containing all of the user's active grants.","description_kind":"plain"}},"stackscript_grant":{"nesting_mode":"set","block":{"attributes":{"id":{"type":"number","description":"The ID of the entity this grant applies to.","description_kind":"plain","required":true},"permissions":{"type":"string","description":"The level of access this User has to this entity. If null, this User has no access.","description_kind":"plain","required":true}},"description":"A set containing all of the user's active grants.","description_kind":"plain"}},"volume_grant":{"nesting_mode":"set","block":{"attributes":{"id":{"type":"number","description":"The ID of the entity this grant applies to.","description_kind":"plain","required":true},"permissions":{"type":"string","description":"The level of access this User has to this entity. If null, this User has no access.","description_kind":"plain","required":true}},"description":"A set containing all of the user's active grants.","description_kind":"plain"}}},"description_kind":"plain"}},"linode_volume":{"version":0,"block":{"attributes":{"filesystem_path":{"type":"string","description":"The full filesystem path for the Volume based on the Volume's label. Path is /dev/disk/by-id/scsi-0Linode_Volume_ + Volume label.","description_kind":"plain","computed":true},"id":{"type":"string","description":"The id of the volume.","description_kind":"plain","computed":true},"label":{"type":"string","description":"The label of the Linode Volume.","description_kind":"plain","required":true},"linode_id":{"type":"number","description":"The Linode ID where the Volume should be attached.","description_kind":"plain","optional":true,"computed":true},"region":{"type":"string","description":"The region where this volume will be deployed.","description_kind":"plain","optional":true,"computed":true},"size":{"type":"number","description":"Size of the Volume in GB","description_kind":"plain","optional":true,"computed":true},"source_volume_id":{"type":"number","description":"The ID of a volume to clone.","description_kind":"plain","optional":true},"status":{"type":"string","description":"The status of the volume, indicating the current readiness state.","description_kind":"plain","computed":true},"tags":{"type":["set","string"],"description":"An array of tags applied to this object. Tags are for organizational purposes only.","description_kind":"plain","optional":true,"computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).","description_kind":"plain","optional":true},"delete":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.","description_kind":"plain","optional":true},"update":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"linode_vpc":{"version":0,"block":{"attributes":{"created":{"type":"string","description":"The date and time when the VPC was created.","description_kind":"plain","computed":true},"description":{"type":"string","description":"The user-defined description of this VPC.","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description":"The id of the VPC.","description_kind":"plain","computed":true},"label":{"type":"string","description":"The label of the VPC. Only contains ascii letters, digits and dashes","description_kind":"plain","required":true},"region":{"type":"string","description":"The region of the VPC.","description_kind":"plain","required":true},"updated":{"type":"string","description":"The date and time when the VPC was updated.","description_kind":"plain","computed":true}},"description_kind":"plain"}},"linode_vpc_subnet":{"version":0,"block":{"attributes":{"created":{"type":"string","description":"The date and time when the VPC Subnet was created.","description_kind":"plain","computed":true},"id":{"type":"string","description":"The id of the VPC Subnet.","description_kind":"plain","computed":true},"ipv4":{"type":"string","description":"The IPv4 range of this subnet in CIDR format.","description_kind":"plain","required":true},"label":{"type":"string","description":"The label of the VPC subnet.","description_kind":"plain","required":true},"linodes":{"type":["list",["object",{"id":"number","interfaces":["list",["object",{"active":"bool","id":"number"}]]}]],"description_kind":"plain","computed":true},"updated":{"type":"string","description":"The date and time when the VPC Subnet was updated.","description_kind":"plain","computed":true},"vpc_id":{"type":"number","description":"The id of the parent VPC for this VPC Subnet","description_kind":"plain","required":true}},"description_kind":"plain"}}},"data_source_schemas":{"linode_account":{"version":0,"block":{"attributes":{"active_since":{"type":"string","description":"When this account was activated.","description_kind":"plain","computed":true},"address_1":{"type":"string","description":"First line of this Account's billing address.","description_kind":"plain","computed":true},"address_2":{"type":"string","description":"Second line of this Account's billing address.","description_kind":"plain","computed":true},"balance":{"type":"number","description":"This Account's balance, in US dollars.","description_kind":"plain","computed":true},"capabilities":{"type":["set","string"],"description":"The capabilities of this account.","description_kind":"plain","computed":true},"city":{"type":"string","description":"The city for this Account's billing address.","description_kind":"plain","computed":true},"company":{"type":"string","description":"The company name associated with this Account.","description_kind":"plain","computed":true},"country":{"type":"string","description":"The two-letter country code of this Account's billing address.","description_kind":"plain","computed":true},"email":{"type":"string","description":"The email address for this Account, for account management communications, and may be used for other communications as configured.","description_kind":"plain","computed":true},"euuid":{"type":"string","description":"The unique ID of this Account.","description_kind":"plain","computed":true},"first_name":{"type":"string","description":"The first name of the person associated with this Account.","description_kind":"plain","computed":true},"id":{"type":"string","description":"The Email of the Account.","description_kind":"plain","computed":true},"last_name":{"type":"string","description":"The last name of the person associated with this Account.","description_kind":"plain","computed":true},"phone":{"type":"string","description":"The phone number associated with this Account.","description_kind":"plain","computed":true},"state":{"type":"string","description":"If billing address is in the United States, this is the State portion of the Account's billing address. If the address is outside the US, this is the Province associated with the Account's billing address.","description_kind":"plain","computed":true},"zip":{"type":"string","description":"The zip code of this Account's billing address.","description_kind":"plain","computed":true}},"description_kind":"plain"}},"linode_account_availabilities":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"The data source's unique ID.","description_kind":"plain","computed":true}},"block_types":{"availabilities":{"nesting_mode":"list","block":{"attributes":{"available":{"type":["set","string"],"description":"A set of available services for the current account in this region.","description_kind":"plain","computed":true},"region":{"type":"string","description":"The region of this availability entry.","description_kind":"plain","required":true},"unavailable":{"type":["set","string"],"description":"A set of unavailable services for the current account in this region.","description_kind":"plain","computed":true}},"description":"The returned list of account availabilities.","description_kind":"plain"}},"filter":{"nesting_mode":"set","block":{"attributes":{"match_by":{"type":"string","description":"The type of comparison to use for this filter.","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the attribute to filter on.","description_kind":"plain","required":true},"values":{"type":["set","string"],"description":"The value(s) to be used in the filter.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"linode_account_availability":{"version":0,"block":{"attributes":{"available":{"type":["set","string"],"description":"A set of available services for the current account in this region.","description_kind":"plain","computed":true},"region":{"type":"string","description":"The region of this availability entry.","description_kind":"plain","required":true},"unavailable":{"type":["set","string"],"description":"A set of unavailable services for the current account in this region.","description_kind":"plain","computed":true}},"description_kind":"plain"}},"linode_account_login":{"version":0,"block":{"attributes":{"datetime":{"type":"string","description":"The time when the login was initiated.","description_kind":"plain","computed":true},"id":{"type":"number","description":"The unique ID of this login object.","description_kind":"plain","required":true},"ip":{"type":"string","description":"The remote IP address that requested the login.","description_kind":"plain","computed":true},"restricted":{"type":"bool","description":"True if the User that was logged into was a restricted User, false otherwise.","description_kind":"plain","computed":true},"status":{"type":"string","description":"Whether the login attempt succeeded or failed.","description_kind":"plain","computed":true},"username":{"type":"string","description":"The username of the User that was logged into.","description_kind":"plain","computed":true}},"description_kind":"plain"}},"linode_account_logins":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"The data source's unique ID.","description_kind":"plain","computed":true}},"block_types":{"filter":{"nesting_mode":"set","block":{"attributes":{"match_by":{"type":"string","description":"The type of comparison to use for this filter.","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the attribute to filter on.","description_kind":"plain","required":true},"values":{"type":["set","string"],"description":"The value(s) to be used in the filter.","description_kind":"plain","required":true}},"description_kind":"plain"}},"logins":{"nesting_mode":"list","block":{"attributes":{"datetime":{"type":"string","description":"The time when the login was initiated.","description_kind":"plain","computed":true},"id":{"type":"number","description":"The unique ID of this login object.","description_kind":"plain","required":true},"ip":{"type":"string","description":"The remote IP address that requested the login.","description_kind":"plain","computed":true},"restricted":{"type":"bool","description":"True if the User that was logged into was a restricted User, false otherwise.","description_kind":"plain","computed":true},"status":{"type":"string","description":"Whether the login attempt succeeded or failed.","description_kind":"plain","computed":true},"username":{"type":"string","description":"The username of the User that was logged into.","description_kind":"plain","computed":true}},"description":"The returned list of account logins.","description_kind":"plain"}}},"description_kind":"plain"}},"linode_account_settings":{"version":0,"block":{"attributes":{"backups_enabled":{"type":"bool","description":"Account-wide backups default.","description_kind":"plain","computed":true},"id":{"type":"string","description":"The email of the current account.","description_kind":"plain","computed":true},"longview_subscription":{"type":"string","description":"The Longview Pro tier you are currently subscribed to.","description_kind":"plain","computed":true},"managed":{"type":"bool","description":"Enables monitoring for connectivity, response, and total request time.","description_kind":"plain","computed":true},"network_helper":{"type":"bool","description":"Enables network helper across all users by default for new Linodes and Linode Configs.","description_kind":"plain","computed":true},"object_storage":{"type":"string","description":"A string describing the status of this account's Object Storage service enrollment.","description_kind":"plain","computed":true}},"description_kind":"plain"}},"linode_child_account":{"version":0,"block":{"attributes":{"active_since":{"type":"string","description":"When this account was activated.","description_kind":"plain","computed":true},"address_1":{"type":"string","description":"First line of this Account's billing address.","description_kind":"plain","computed":true},"address_2":{"type":"string","description":"Second line of this Account's billing address.","description_kind":"plain","computed":true},"balance":{"type":"number","description":"This Account's balance, in US dollars.","description_kind":"plain","computed":true},"capabilities":{"type":["set","string"],"description":"The capabilities of this account.","description_kind":"plain","computed":true},"city":{"type":"string","description":"The city for this Account's billing address.","description_kind":"plain","computed":true},"company":{"type":"string","description":"The company name associated with this Account.","description_kind":"plain","computed":true},"country":{"type":"string","description":"The two-letter country code of this Account's billing address.","description_kind":"plain","computed":true},"email":{"type":"string","description":"The email address for this Account, for account management communications, and may be used for other communications as configured.","description_kind":"plain","computed":true},"euuid":{"type":"string","description":"The unique ID of this Account.","description_kind":"plain","required":true},"first_name":{"type":"string","description":"The first name of the person associated with this Account.","description_kind":"plain","computed":true},"id":{"type":"string","description":"The Email of the Account.","description_kind":"plain","computed":true},"last_name":{"type":"string","description":"The last name of the person associated with this Account.","description_kind":"plain","computed":true},"phone":{"type":"string","description":"The phone number associated with this Account.","description_kind":"plain","computed":true},"state":{"type":"string","description":"If billing address is in the United States, this is the State portion of the Account's billing address. If the address is outside the US, this is the Province associated with the Account's billing address.","description_kind":"plain","computed":true},"zip":{"type":"string","description":"The zip code of this Account's billing address.","description_kind":"plain","computed":true}},"description_kind":"plain"}},"linode_child_accounts":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"The data source's unique ID.","description_kind":"plain","computed":true}},"block_types":{"child_accounts":{"nesting_mode":"list","block":{"attributes":{"active_since":{"type":"string","description":"When this account was activated.","description_kind":"plain","computed":true},"address_1":{"type":"string","description":"First line of this Account's billing address.","description_kind":"plain","computed":true},"address_2":{"type":"string","description":"Second line of this Account's billing address.","description_kind":"plain","computed":true},"balance":{"type":"number","description":"This Account's balance, in US dollars.","description_kind":"plain","computed":true},"capabilities":{"type":["set","string"],"description":"The capabilities of this account.","description_kind":"plain","computed":true},"city":{"type":"string","description":"The city for this Account's billing address.","description_kind":"plain","computed":true},"company":{"type":"string","description":"The company name associated with this Account.","description_kind":"plain","computed":true},"country":{"type":"string","description":"The two-letter country code of this Account's billing address.","description_kind":"plain","computed":true},"email":{"type":"string","description":"The email address for this Account, for account management communications, and may be used for other communications as configured.","description_kind":"plain","computed":true},"euuid":{"type":"string","description":"The unique ID of this Account.","description_kind":"plain","computed":true},"first_name":{"type":"string","description":"The first name of the person associated with this Account.","description_kind":"plain","computed":true},"id":{"type":"string","description":"The Email of the Account.","description_kind":"plain","computed":true},"last_name":{"type":"string","description":"The last name of the person associated with this Account.","description_kind":"plain","computed":true},"phone":{"type":"string","description":"The phone number associated with this Account.","description_kind":"plain","computed":true},"state":{"type":"string","description":"If billing address is in the United States, this is the State portion of the Account's billing address. If the address is outside the US, this is the Province associated with the Account's billing address.","description_kind":"plain","computed":true},"zip":{"type":"string","description":"The zip code of this Account's billing address.","description_kind":"plain","computed":true}},"description":"The returned list of Child Accounts.","description_kind":"plain"}},"filter":{"nesting_mode":"set","block":{"attributes":{"match_by":{"type":"string","description":"The type of comparison to use for this filter.","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the attribute to filter on.","description_kind":"plain","required":true},"values":{"type":["set","string"],"description":"The value(s) to be used in the filter.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"linode_database_backups":{"version":0,"block":{"attributes":{"database_id":{"type":"number","description":"The ID of the Managed Database.","description_kind":"plain","required":true},"database_type":{"type":"string","description":"The type of the Managed Database","description_kind":"plain","required":true},"id":{"type":"number","description":"The data source's unique ID.","description_kind":"plain","computed":true},"latest":{"type":"bool","description":"If true, only the latest engine version will be returned.","description_kind":"plain","optional":true},"order":{"type":"string","description":"The order in which results should be returned.","description_kind":"plain","optional":true},"order_by":{"type":"string","description":"The attribute to order the results by.","description_kind":"plain","optional":true}},"block_types":{"backups":{"nesting_mode":"list","block":{"attributes":{"created":{"type":"string","description":"A time value given in a combined date and time format that represents when the database backup was created.","description_kind":"plain","computed":true},"id":{"type":"number","description":"The ID of the database backup object.","description_kind":"plain","computed":true},"label":{"type":"string","description":"The database backup’s label, for display purposes only.","description_kind":"plain","computed":true},"type":{"type":"string","description":"The type of database backup, determined by how the backup was created.","description_kind":"plain","computed":true}},"description":"The returned list of backups.","description_kind":"plain"}},"filter":{"nesting_mode":"set","block":{"attributes":{"match_by":{"type":"string","description":"The type of comparison to use for this filter.","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the attribute to filter on.","description_kind":"plain","required":true},"values":{"type":["set","string"],"description":"The value(s) to be used in the filter.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"linode_database_engines":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"The data source's unique ID.","description_kind":"plain","computed":true},"latest":{"type":"bool","description":"If true, only the latest engine version will be returned.","description_kind":"plain","optional":true},"order":{"type":"string","description":"The order in which results should be returned.","description_kind":"plain","optional":true},"order_by":{"type":"string","description":"The attribute to order the results by.","description_kind":"plain","optional":true}},"block_types":{"engines":{"nesting_mode":"list","block":{"attributes":{"engine":{"type":"string","description":"The Managed Database engine type.","description_kind":"plain","computed":true},"id":{"type":"string","description":"The Managed Database engine ID in engine/version format.","description_kind":"plain","computed":true},"version":{"type":"string","description":"The Managed Database engine version.","description_kind":"plain","computed":true}},"description":"The returned list of engines.","description_kind":"plain"}},"filter":{"nesting_mode":"set","block":{"attributes":{"match_by":{"type":"string","description":"The type of comparison to use for this filter.","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the attribute to filter on.","description_kind":"plain","required":true},"values":{"type":["set","string"],"description":"The value(s) to be used in the filter.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"linode_database_mysql":{"version":0,"block":{"attributes":{"allow_list":{"type":["set","string"],"description":"A list of IP addresses that can access the Managed Database. Each item can be a single IP address or a range in CIDR format.","description_kind":"plain","computed":true},"ca_cert":{"type":"string","description":"The base64-encoded SSL CA certificate for the Managed Database instance.","description_kind":"plain","computed":true,"sensitive":true},"cluster_size":{"type":"number","description":"The number of Linode Instance nodes deployed to the Managed Database. Defaults to 1.","description_kind":"plain","computed":true},"created":{"type":"string","description":"When this Managed Database was created.","description_kind":"plain","computed":true},"database_id":{"type":"number","description":"The ID of the MySQL database. DEPRECATED: Use ID instead","description_kind":"plain","deprecated":true,"optional":true},"encrypted":{"type":"bool","description":"Whether the Managed Databases is encrypted.","description_kind":"plain","computed":true},"engine":{"type":"string","description":"The Managed Database engine.","description_kind":"plain","computed":true},"engine_id":{"type":"string","description":"The Managed Database engine in engine/version format. (e.g. mysql/8.0.30)","description_kind":"plain","computed":true},"host_primary":{"type":"string","description":"The primary host for the Managed Database.","description_kind":"plain","computed":true},"host_secondary":{"type":"string","description":"The secondary host for the Managed Database.","description_kind":"plain","computed":true},"id":{"type":"number","description":"Unique identifier for this DataSource. The ID of the MySQL database.","description_kind":"plain","optional":true},"label":{"type":"string","description":"A unique, user-defined string referring to the Managed Database.","description_kind":"plain","computed":true},"region":{"type":"string","description":"The region to use for the Managed Database.","description_kind":"plain","computed":true},"replication_type":{"type":"string","description":"The replication method used for the Managed Database.","description_kind":"plain","computed":true},"root_password":{"type":"string","description":"The randomly-generated root password for the Managed Database instance.","description_kind":"plain","computed":true,"sensitive":true},"root_username":{"type":"string","description":"The root username for the Managed Database instance.","description_kind":"plain","computed":true,"sensitive":true},"ssl_connection":{"type":"bool","description":"Whether to require SSL credentials to establish a connection to the Managed Database.","description_kind":"plain","computed":true},"status":{"type":"string","description":"The operating status of the Managed Database.","description_kind":"plain","computed":true},"type":{"type":"string","description":"The Linode Instance type used by the Managed Database for its nodes.","description_kind":"plain","computed":true},"updated":{"type":"string","description":"When this Managed Database was last updated.","description_kind":"plain","computed":true},"updates":{"type":["list",["object",{"day_of_week":"string","duration":"number","frequency":"string","hour_of_day":"number","week_of_month":"number"}]],"description":"Configuration settings for automated patch update maintenance for the Managed Database.","description_kind":"plain","computed":true},"version":{"type":"string","description":"The Managed Database engine version.","description_kind":"plain","computed":true}},"description_kind":"plain"}},"linode_database_mysql_backups":{"version":0,"block":{"attributes":{"backups":{"type":["list",["object",{"created":"string","id":"number","label":"string","type":"string"}]],"description":"The returned list of backups.","description_kind":"plain","computed":true},"database_id":{"type":"number","description":"The ID of the Managed MySQL Database.","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"latest":{"type":"bool","description":"If true, only the latest backup will be returned.","description_kind":"plain","optional":true},"order":{"type":"string","description":"The order in which results should be returned.","description_kind":"plain","optional":true},"order_by":{"type":"string","description":"The attribute to order the results by.","description_kind":"plain","optional":true}},"block_types":{"filter":{"nesting_mode":"list","block":{"attributes":{"match_by":{"type":"string","description":"The type of comparison to use for this filter.","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the attribute to filter on.","description_kind":"plain","required":true},"values":{"type":["list","string"],"description":"The value(s) to be used in the filter.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"linode_database_postgresql":{"version":0,"block":{"attributes":{"allow_list":{"type":["set","string"],"description":"A list of IP addresses that can access the Managed Database. Each item can be a single IP address or a range in CIDR format.","description_kind":"plain","computed":true},"ca_cert":{"type":"string","description":"The base64-encoded SSL CA certificate for the Managed Database instance.","description_kind":"plain","computed":true,"sensitive":true},"cluster_size":{"type":"number","description":"The number of Linode Instance nodes deployed to the Managed Database. Defaults to 1.","description_kind":"plain","computed":true},"created":{"type":"string","description":"When this Managed Database was created.","description_kind":"plain","computed":true},"database_id":{"type":"number","description":"The ID of the PostgreSQL database. DEPRECATED: Use ID instead","description_kind":"plain","deprecated":true,"optional":true},"encrypted":{"type":"bool","description":"Whether the Managed Databases is encrypted.","description_kind":"plain","computed":true},"engine":{"type":"string","description":"The Managed Database engine.","description_kind":"plain","computed":true},"engine_id":{"type":"string","description":"The Managed Database engine in engine/version format. (e.g. postgresql/12.6)","description_kind":"plain","computed":true},"host_primary":{"type":"string","description":"The primary host for the Managed Database.","description_kind":"plain","computed":true},"host_secondary":{"type":"string","description":"The secondary host for the Managed Database.","description_kind":"plain","computed":true},"id":{"type":"number","description":"Unique identifier for this DataSource. The ID of the PostgreSQL database.","description_kind":"plain","optional":true},"label":{"type":"string","description":"A unique, user-defined string referring to the Managed Database.","description_kind":"plain","computed":true},"port":{"type":"number","description":"The access port for this Managed Database.","description_kind":"plain","computed":true},"region":{"type":"string","description":"The region to use for the Managed Database.","description_kind":"plain","computed":true},"replication_commit_type":{"type":"string","description":"The synchronization level of the replicating server.","description_kind":"plain","computed":true},"replication_type":{"type":"string","description":"The replication method used for the Managed Database.","description_kind":"plain","computed":true},"root_password":{"type":"string","description":"The randomly-generated root password for the Managed Database instance.","description_kind":"plain","computed":true,"sensitive":true},"root_username":{"type":"string","description":"The root username for the Managed Database instance.","description_kind":"plain","computed":true,"sensitive":true},"ssl_connection":{"type":"bool","description":"Whether to require SSL credentials to establish a connection to the Managed Database.","description_kind":"plain","computed":true},"status":{"type":"string","description":"The operating status of the Managed Database.","description_kind":"plain","computed":true},"type":{"type":"string","description":"The Linode Instance type used by the Managed Database for its nodes.","description_kind":"plain","computed":true},"updated":{"type":"string","description":"When this Managed Database was last updated.","description_kind":"plain","computed":true},"updates":{"type":["list",["object",{"day_of_week":"string","duration":"number","frequency":"string","hour_of_day":"number","week_of_month":"number"}]],"description":"Configuration settings for automated patch update maintenance for the Managed Database.","description_kind":"plain","computed":true},"version":{"type":"string","description":"The Managed Database engine version.","description_kind":"plain","computed":true}},"description_kind":"plain"}},"linode_databases":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"The data source's unique ID.","description_kind":"plain","computed":true},"order":{"type":"string","description":"The order in which results should be returned.","description_kind":"plain","optional":true},"order_by":{"type":"string","description":"The attribute to order the results by.","description_kind":"plain","optional":true}},"block_types":{"databases":{"nesting_mode":"list","block":{"attributes":{"allow_list":{"type":["set","string"],"description":"A list of IP addresses that can access the Managed Database. Each item can be a single IP address or a range in CIDR format.","description_kind":"plain","computed":true},"cluster_size":{"type":"number","description":"The number of Linode Instance nodes deployed to the Managed Database.","description_kind":"plain","computed":true},"created":{"type":"string","description":"When this Managed Database was created.","description_kind":"plain","computed":true},"encrypted":{"type":"bool","description":"Whether the Managed Databases is encrypted.","description_kind":"plain","computed":true},"engine":{"type":"string","description":"The Managed Database engine type.","description_kind":"plain","computed":true},"host_primary":{"type":"string","description":"The primary host for the Managed Database.","description_kind":"plain","computed":true},"host_secondary":{"type":"string","description":"The secondary/private host for the Managed Database.","description_kind":"plain","computed":true},"id":{"type":"number","description":"A unique ID that can be used to identify and reference the Managed Database.","description_kind":"plain","computed":true},"instance_uri":{"type":"string","description":"he API route for the database instance.","description_kind":"plain","computed":true},"label":{"type":"string","description":"A unique, user-defined string referring to the Managed Database.","description_kind":"plain","computed":true},"region":{"type":"string","description":"The Region ID for the Managed Database.","description_kind":"plain","computed":true},"replication_type":{"type":"string","description":"The replication method used for the Managed Database.","description_kind":"plain","computed":true},"ssl_connection":{"type":"bool","description":"Whether to require SSL credentials to establish a connection to the Managed Database.","description_kind":"plain","computed":true},"status":{"type":"string","description":"The operating status of the Managed Database.","description_kind":"plain","computed":true},"type":{"type":"string","description":"The Linode Instance type used by the Managed Database for its nodes.","description_kind":"plain","computed":true},"updated":{"type":"string","description":"When this Managed Database was last updated.","description_kind":"plain","computed":true},"version":{"type":"string","description":"The Managed Database engine version.","description_kind":"plain","computed":true}},"description":"The returned list of databases.","description_kind":"plain"}},"filter":{"nesting_mode":"set","block":{"attributes":{"match_by":{"type":"string","description":"The type of comparison to use for this filter.","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the attribute to filter on.","description_kind":"plain","required":true},"values":{"type":["set","string"],"description":"The value(s) to be used in the filter.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"linode_domain":{"version":0,"block":{"attributes":{"axfr_ips":{"type":["set","string"],"description":"The list of IPs that may perform a zone transfer for this Domain. This is potentially dangerous, and should be set to an empty list unless you intend to use it.","description_kind":"plain","computed":true},"description":{"type":"string","description":"A description for this Domain. This is for display purposes only.","description_kind":"plain","computed":true},"domain":{"type":"string","description":"The domain this Domain represents. These must be unique in our system; you cannot have two Domains representing the same domain.","description_kind":"plain","optional":true},"expire_sec":{"type":"number","description":"The amount of time in seconds that may pass before this Domain is no longer Valid values are 0, 30, 120, 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200 - any other value will be rounded to the nearest valid value.","description_kind":"plain","computed":true},"group":{"type":"string","description":"The group this Domain belongs to. This is for display purposes only.","description_kind":"plain","computed":true},"id":{"type":"number","description":"The Domain's unique ID.","description_kind":"plain","optional":true},"master_ips":{"type":["set","string"],"description":"The IP addresses representing the master DNS for this Domain.","description_kind":"plain","computed":true},"refresh_sec":{"type":"number","description":"The amount of time in seconds before this Domain should be refreshed. Valid values are 0, 30, 120, 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200 - any other value will be rounded to the nearest valid value.","description_kind":"plain","computed":true},"retry_sec":{"type":"number","description":"The interval, in seconds, at which a failed refresh should be retried. Valid values are 0, 30, 120, 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200 - any other value will be rounded to the nearest valid value.","description_kind":"plain","computed":true},"soa_email":{"type":"string","description":"Start of Authority email address. This is required for master Domains.","description_kind":"plain","computed":true},"status":{"type":"string","description":"Used to control whether this Domain is currently being rendered.","description_kind":"plain","computed":true},"tags":{"type":["set","string"],"description":"An array of tags applied to this object. Tags are for organizational purposes only.","description_kind":"plain","computed":true},"ttl_sec":{"type":"number","description":"'Time to Live' - the amount of time in seconds that this Domain's records may be cached by resolvers or other domain servers. Valid values are 0, 30, 120, 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200 - any other value will be rounded to the nearest valid value.","description_kind":"plain","computed":true},"type":{"type":"string","description":"If this Domain represents the authoritative source of information for the domain it describes, or if it is a read-only copy of a master (also called a slave).","description_kind":"plain","computed":true}},"description_kind":"plain"}},"linode_domain_record":{"version":0,"block":{"attributes":{"domain_id":{"type":"number","description":"The associated domain's ID.","description_kind":"plain","required":true},"id":{"type":"number","description":"The unique ID assigned to this domain record.","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the Record.","description_kind":"plain","optional":true},"port":{"type":"number","description":"The port this Record points to.","description_kind":"plain","computed":true},"priority":{"type":"number","description":"The priority of the target host. Lower values are preferred.","description_kind":"plain","computed":true},"protocol":{"type":"string","description":"The protocol this Record's service communicates with. Only valid for SRV records.","description_kind":"plain","computed":true},"service":{"type":"string","description":"The service this Record identified. Only valid for SRV records.","description_kind":"plain","computed":true},"tag":{"type":"string","description":"The tag portion of a CAA record.","description_kind":"plain","computed":true},"target":{"type":"string","description":"The target for this Record. This field's actual usage depends on the type of record this represents. For A and AAAA records, this is the address the named Domain should resolve to.","description_kind":"plain","computed":true},"ttl_sec":{"type":"number","description":"The amount of time in seconds that this Domain's records may be cached by resolvers or other domain servers.","description_kind":"plain","computed":true},"type":{"type":"string","description":"The type of Record this is in the DNS system.","description_kind":"plain","computed":true},"weight":{"type":"number","description":"The relative weight of this Record. Higher values are preferred.","description_kind":"plain","computed":true}},"description_kind":"plain"}},"linode_domain_zonefile":{"version":0,"block":{"attributes":{"domain_id":{"type":"number","description":"The domain's ID.","description_kind":"plain","required":true},"id":{"type":"string","description":"The unique ID for this DataSource","description_kind":"plain","computed":true},"zone_file":{"type":["list","string"],"description":"Lines of the zone file for the last rendered zone for this domain.","description_kind":"plain","computed":true}},"description_kind":"plain"}},"linode_domains":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"The data source's unique ID.","description_kind":"plain","computed":true},"order":{"type":"string","description":"The order in which results should be returned.","description_kind":"plain","optional":true},"order_by":{"type":"string","description":"The attribute to order the results by.","description_kind":"plain","optional":true}},"block_types":{"domains":{"nesting_mode":"list","block":{"attributes":{"axfr_ips":{"type":["set","string"],"description":"The list of IPs that may perform a zone transfer for this Domain. This is potentially dangerous, and should be set to an empty list unless you intend to use it.","description_kind":"plain","computed":true},"description":{"type":"string","description":"A description for this Domain. This is for display purposes only.","description_kind":"plain","computed":true},"domain":{"type":"string","description":"The domain this Domain represents. These must be unique in our system; you cannot have two Domains representing the same domain.","description_kind":"plain","optional":true},"expire_sec":{"type":"number","description":"The amount of time in seconds that may pass before this Domain is no longer Valid values are 0, 30, 120, 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200 - any other value will be rounded to the nearest valid value.","description_kind":"plain","computed":true},"group":{"type":"string","description":"The group this Domain belongs to. This is for display purposes only.","description_kind":"plain","computed":true},"id":{"type":"number","description":"The Domain's unique ID.","description_kind":"plain","optional":true},"master_ips":{"type":["set","string"],"description":"The IP addresses representing the master DNS for this Domain.","description_kind":"plain","computed":true},"refresh_sec":{"type":"number","description":"The amount of time in seconds before this Domain should be refreshed. Valid values are 0, 30, 120, 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200 - any other value will be rounded to the nearest valid value.","description_kind":"plain","computed":true},"retry_sec":{"type":"number","description":"The interval, in seconds, at which a failed refresh should be retried. Valid values are 0, 30, 120, 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200 - any other value will be rounded to the nearest valid value.","description_kind":"plain","computed":true},"soa_email":{"type":"string","description":"Start of Authority email address. This is required for master Domains.","description_kind":"plain","computed":true},"status":{"type":"string","description":"Used to control whether this Domain is currently being rendered.","description_kind":"plain","computed":true},"tags":{"type":["set","string"],"description":"An array of tags applied to this object. Tags are for organizational purposes only.","description_kind":"plain","computed":true},"ttl_sec":{"type":"number","description":"'Time to Live' - the amount of time in seconds that this Domain's records may be cached by resolvers or other domain servers. Valid values are 0, 30, 120, 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200 - any other value will be rounded to the nearest valid value.","description_kind":"plain","computed":true},"type":{"type":"string","description":"If this Domain represents the authoritative source of information for the domain it describes, or if it is a read-only copy of a master (also called a slave).","description_kind":"plain","computed":true}},"description":"The returned list of Domains.","description_kind":"plain"}},"filter":{"nesting_mode":"set","block":{"attributes":{"match_by":{"type":"string","description":"The type of comparison to use for this filter.","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the attribute to filter on.","description_kind":"plain","required":true},"values":{"type":["set","string"],"description":"The value(s) to be used in the filter.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"linode_firewall":{"version":0,"block":{"attributes":{"created":{"type":"string","description":"When this Firewall was created.","description_kind":"plain","computed":true},"devices":{"type":["list",["object",{"entity_id":"number","id":"number","label":"string","type":"string","url":"string"}]],"description":"The devices associated with this firewall.","description_kind":"plain","computed":true},"disabled":{"type":"bool","description":"If true, the Firewall is inactive.","description_kind":"plain","computed":true},"id":{"type":"number","description":"The unique ID assigned to this Firewall.","description_kind":"plain","required":true},"inbound":{"type":["list",["object",{"action":"string","ipv4":["list","string"],"ipv6":["list","string"],"label":"string","ports":"string","protocol":"string"}]],"description":"A firewall rule that specifies what inbound network traffic is allowed.","description_kind":"plain","computed":true},"inbound_policy":{"type":"string","description":"The default behavior for inbound traffic. This setting can be overridden by updating the inbound.action property for an individual Firewall Rule.","description_kind":"plain","computed":true},"label":{"type":"string","description":"The label for the Firewall. For display purposes only. If no label is provided, a default will be assigned.","description_kind":"plain","computed":true},"linodes":{"type":["set","number"],"description":"The IDs of Linodes assigned to this Firewall.","description_kind":"plain","computed":true},"nodebalancers":{"type":["set","number"],"description":"The IDs of NodeBalancers assigned to this Firewall.","description_kind":"plain","computed":true},"outbound":{"type":["list",["object",{"action":"string","ipv4":["list","string"],"ipv6":["list","string"],"label":"string","ports":"string","protocol":"string"}]],"description":"A firewall rule that specifies what outbound network traffic is allowed.","description_kind":"plain","computed":true},"outbound_policy":{"type":"string","description":"The default behavior for outbound traffic. This setting can be overridden by updating the outbound.action property for an individual Firewall Rule.","description_kind":"plain","computed":true},"status":{"type":"string","description":"The status of the firewall.","description_kind":"plain","computed":true},"tags":{"type":["set","string"],"description":"An array of tags applied to this object. Tags are for organizational purposes only.","description_kind":"plain","computed":true},"updated":{"type":"string","description":"When this Firewall was last updated.","description_kind":"plain","computed":true}},"description_kind":"plain"}},"linode_firewalls":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"The data source's unique ID.","description_kind":"plain","computed":true},"order":{"type":"string","description":"The order in which results should be returned.","description_kind":"plain","optional":true},"order_by":{"type":"string","description":"The attribute to order the results by.","description_kind":"plain","optional":true}},"block_types":{"filter":{"nesting_mode":"set","block":{"attributes":{"match_by":{"type":"string","description":"The type of comparison to use for this filter.","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the attribute to filter on.","description_kind":"plain","required":true},"values":{"type":["set","string"],"description":"The value(s) to be used in the filter.","description_kind":"plain","required":true}},"description_kind":"plain"}},"firewalls":{"nesting_mode":"list","block":{"attributes":{"created":{"type":"string","description":"When this Firewall was created.","description_kind":"plain","computed":true},"disabled":{"type":"bool","description":"If true, the Firewall is inactive.","description_kind":"plain","computed":true},"id":{"type":"number","description":"The unique ID assigned to this Firewall.","description_kind":"plain","computed":true},"inbound_policy":{"type":"string","description":"The default behavior for inbound traffic.","description_kind":"plain","computed":true},"label":{"type":"string","description":"The label for the Firewall. For display purposes only. If no label is provided, a default will be assigned.","description_kind":"plain","computed":true},"linodes":{"type":["set","number"],"description":"The IDs of Linodes assigned to this Firewall.","description_kind":"plain","computed":true},"nodebalancers":{"type":["set","number"],"description":"The IDs of NodeBalancers assigned to this Firewall..","description_kind":"plain","computed":true},"outbound_policy":{"type":"string","description":"The default behavior for outbound traffic.","description_kind":"plain","computed":true},"status":{"type":"string","description":"The status of the firewall.","description_kind":"plain","computed":true},"tags":{"type":["set","string"],"description":"An array of tags applied to this object. Tags are for organizational purposes only.","description_kind":"plain","computed":true},"updated":{"type":"string","description":"When this Firewall was last updated.","description_kind":"plain","computed":true}},"block_types":{"devices":{"nesting_mode":"list","block":{"attributes":{"entity_id":{"type":"number","description":"The ID of the underlying entity this device references (i.e. the Linode's ID).","description_kind":"plain","computed":true},"id":{"type":"number","description":"The unique ID of the Firewall Device.","description_kind":"plain","computed":true},"label":{"type":"string","description":"The label of the underlying entity this device references.","description_kind":"plain","computed":true},"type":{"type":"string","description":"The type of Firewall Device.","description_kind":"plain","computed":true},"url":{"type":"string","description":"The URL of the underlying entity this device references.","description_kind":"plain","computed":true}},"description":"The devices associated with this firewall.","description_kind":"plain"}},"inbound":{"nesting_mode":"list","block":{"attributes":{"action":{"type":"string","description":"Controls whether traffic is accepted or dropped by this rule (ACCEPT, DROP).","description_kind":"plain","computed":true},"ipv4":{"type":["set","string"],"description":"A list of IPv4 addresses or networks in IP/mask format.","description_kind":"plain","computed":true},"ipv6":{"type":["set","string"],"description":"A list of IPv6 addresses or networks in IP/mask format.","description_kind":"plain","computed":true},"label":{"type":"string","description":"The label of this rule for display purposes only.","description_kind":"plain","computed":true},"ports":{"type":"string","description":"A string representation of ports and/or port ranges (i.e. \"443\" or \"80-90, 91\").","description_kind":"plain","computed":true},"protocol":{"type":"string","description":"The network protocol this rule controls. (TCP, UDP, ICMP)","description_kind":"plain","computed":true}},"description":"A set of firewall rules that specify what inbound network traffic is allowed.","description_kind":"plain"}},"outbound":{"nesting_mode":"list","block":{"attributes":{"action":{"type":"string","description":"Controls whether traffic is accepted or dropped by this rule (ACCEPT, DROP).","description_kind":"plain","computed":true},"ipv4":{"type":["set","string"],"description":"A list of IPv4 addresses or networks in IP/mask format.","description_kind":"plain","computed":true},"ipv6":{"type":["set","string"],"description":"A list of IPv6 addresses or networks in IP/mask format.","description_kind":"plain","computed":true},"label":{"type":"string","description":"The label of this rule for display purposes only.","description_kind":"plain","computed":true},"ports":{"type":"string","description":"A string representation of ports and/or port ranges (i.e. \"443\" or \"80-90, 91\").","description_kind":"plain","computed":true},"protocol":{"type":"string","description":"The network protocol this rule controls. (TCP, UDP, ICMP)","description_kind":"plain","computed":true}},"description":"A set of firewall rules that specify what outbound network traffic is allowed.","description_kind":"plain"}}},"description":"The returned list of Firewalls.","description_kind":"plain"}}},"description_kind":"plain"}},"linode_image":{"version":0,"block":{"attributes":{"capabilities":{"type":["set","string"],"description":"The capabilities of this Image.","description_kind":"plain","computed":true},"created":{"type":"string","description":"When this Image was created.","description_kind":"plain","computed":true},"created_by":{"type":"string","description":"The name of the User who created this Image.","description_kind":"plain","computed":true},"deprecated":{"type":"bool","description":"Whether or not this Image is deprecated. Will only be True for deprecated public Images.","description_kind":"plain","computed":true},"description":{"type":"string","description":"A detailed description of this Image.","description_kind":"plain","computed":true},"expiry":{"type":"string","description":"Only Images created automatically (from a deleted Linode; type=automatic) will expire.","description_kind":"plain","computed":true},"id":{"type":"string","description":"The unique ID assigned to this Image.","description_kind":"plain","required":true},"is_public":{"type":"bool","description":"True if the Image is public.","description_kind":"plain","computed":true},"label":{"type":"string","description":"A short description of the Image. Labels cannot contain special characters.","description_kind":"plain","computed":true},"size":{"type":"number","description":"The minimum size this Image needs to deploy. Size is in MB.","description_kind":"plain","computed":true},"status":{"type":"string","description":"The current status of this Image.","description_kind":"plain","computed":true},"type":{"type":"string","description":"How the Image was created. 'Manual' Images can be created at any time. 'Automatic' images are created automatically from a deleted Linode.","description_kind":"plain","computed":true},"vendor":{"type":"string","description":"The upstream distribution vendor. Nil for private Images.","description_kind":"plain","computed":true}},"description_kind":"plain"}},"linode_images":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"The data source's unique ID.","description_kind":"plain","computed":true},"latest":{"type":"bool","description":"If true, only the latest image will be returned.","description_kind":"plain","optional":true},"order":{"type":"string","description":"The order in which results should be returned.","description_kind":"plain","optional":true},"order_by":{"type":"string","description":"The attribute to order the results by.","description_kind":"plain","optional":true}},"block_types":{"filter":{"nesting_mode":"set","block":{"attributes":{"match_by":{"type":"string","description":"The type of comparison to use for this filter.","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the attribute to filter on.","description_kind":"plain","required":true},"values":{"type":["set","string"],"description":"The value(s) to be used in the filter.","description_kind":"plain","required":true}},"description_kind":"plain"}},"images":{"nesting_mode":"list","block":{"attributes":{"capabilities":{"type":["set","string"],"description":"The capabilities of this Image.","description_kind":"plain","computed":true},"created":{"type":"string","description":"When this Image was created.","description_kind":"plain","computed":true},"created_by":{"type":"string","description":"The name of the User who created this Image.","description_kind":"plain","computed":true},"deprecated":{"type":"bool","description":"Whether or not this Image is deprecated. Will only be True for deprecated public Images.","description_kind":"plain","computed":true},"description":{"type":"string","description":"A detailed description of this Image.","description_kind":"plain","computed":true},"expiry":{"type":"string","description":"Only Images created automatically (from a deleted Linode; type=automatic) will expire.","description_kind":"plain","computed":true},"id":{"type":"string","description":"The unique ID assigned to this Image.","description_kind":"plain","required":true},"is_public":{"type":"bool","description":"True if the Image is public.","description_kind":"plain","computed":true},"label":{"type":"string","description":"A short description of the Image. Labels cannot contain special characters.","description_kind":"plain","computed":true},"size":{"type":"number","description":"The minimum size this Image needs to deploy. Size is in MB.","description_kind":"plain","computed":true},"status":{"type":"string","description":"The current status of this Image.","description_kind":"plain","computed":true},"type":{"type":"string","description":"How the Image was created. 'Manual' Images can be created at any time. 'Automatic' images are created automatically from a deleted Linode.","description_kind":"plain","computed":true},"vendor":{"type":"string","description":"The upstream distribution vendor. Nil for private Images.","description_kind":"plain","computed":true}},"description":"The returned list of Images.","description_kind":"plain"}}},"description_kind":"plain"}},"linode_instance_backups":{"version":0,"block":{"attributes":{"automatic":{"type":["list",["object",{"available":"bool","configs":["list","string"],"created":"string","disks":["list",["object",{"filesystem":"string","label":"string","size":"number"}]],"finished":"string","id":"number","label":"string","status":"string","type":"string","updated":"string"}]],"description":"A list of backups or snapshots for a Linode.","description_kind":"plain","computed":true},"current":{"type":["list",["object",{"available":"bool","configs":["list","string"],"created":"string","disks":["list",["object",{"filesystem":"string","label":"string","size":"number"}]],"finished":"string","id":"number","label":"string","status":"string","type":"string","updated":"string"}]],"description":"The current Backup for a Linode.","description_kind":"plain","computed":true},"id":{"type":"number","description":"The ID of the Backup","description_kind":"plain","computed":true},"in_progress":{"type":["list",["object",{"available":"bool","configs":["list","string"],"created":"string","disks":["list",["object",{"filesystem":"string","label":"string","size":"number"}]],"finished":"string","id":"number","label":"string","status":"string","type":"string","updated":"string"}]],"description":"The in-progress Backup for a Linode","description_kind":"plain","computed":true},"linode_id":{"type":"number","description":"The ID of the Linode to get backups for.","description_kind":"plain","required":true}},"description_kind":"plain"}},"linode_instance_networking":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"Unique identifier for this DataSource.","description_kind":"plain","computed":true},"ipv4":{"type":["list",["object",{"private":["list",["object",{"address":"string","gateway":"string","linode_id":"number","prefix":"number","public":"bool","rdns":"string","region":"string","subnet_mask":"string","type":"string","vpc_nat_1_1":["object",{"address":"string","subnet_id":"number","vpc_id":"number"}]}]],"public":["list",["object",{"address":"string","gateway":"string","linode_id":"number","prefix":"number","public":"bool","rdns":"string","region":"string","subnet_mask":"string","type":"string","vpc_nat_1_1":["object",{"address":"string","subnet_id":"number","vpc_id":"number"}]}]],"reserved":["list",["object",{"address":"string","gateway":"string","linode_id":"number","prefix":"number","public":"bool","rdns":"string","region":"string","subnet_mask":"string","type":"string","vpc_nat_1_1":["object",{"address":"string","subnet_id":"number","vpc_id":"number"}]}]],"shared":["list",["object",{"address":"string","gateway":"string","linode_id":"number","prefix":"number","public":"bool","rdns":"string","region":"string","subnet_mask":"string","type":"string","vpc_nat_1_1":["object",{"address":"string","subnet_id":"number","vpc_id":"number"}]}]],"vpc":["list",["object",{"active":"bool","address":"string","address_range":"string","config_id":"number","gateway":"string","interface_id":"number","linode_id":"number","nat_1_1":"string","prefix":"number","region":"string","subnet_id":"number","subnet_mask":"string","vpc_id":"number"}]]}]],"description":"Information about this Linode's IPv4 addresses.","description_kind":"plain","computed":true},"ipv6":{"type":["list",["object",{"global":["list",["object",{"prefix":"number","range":"string","region":"string","route_target":"string"}]],"link_local":["object",{"address":"string","gateway":"string","linode_id":"number","prefix":"number","public":"bool","rdns":"string","region":"string","subnet_mask":"string","type":"string","vpc_nat_1_1":["object",{"address":"string","subnet_id":"number","vpc_id":"number"}]}],"slaac":["object",{"address":"string","gateway":"string","linode_id":"number","prefix":"number","public":"bool","rdns":"string","region":"string","subnet_mask":"string","type":"string","vpc_nat_1_1":["object",{"address":"string","subnet_id":"number","vpc_id":"number"}]}]}]],"description":"Information about this Linode's IPv6 addresses.","description_kind":"plain","computed":true},"linode_id":{"type":"number","description":"The ID of the Linode for network info.","description_kind":"plain","required":true}},"description_kind":"plain"}},"linode_instance_type":{"version":0,"block":{"attributes":{"addons":{"type":["list",["object",{"backups":["list",["object",{"price":["list",["object",{"hourly":"number","monthly":"number"}]],"region_prices":["list",["object",{"hourly":"number","id":"string","monthly":"number"}]]}]]}]],"description":"Information about the optional Backup service offered for Linodes.","description_kind":"plain","computed":true},"class":{"type":"string","description":"The class of the Linode Type. There are currently three classes of Linodes: nanode, standard, highmem, dedicated","description_kind":"plain","computed":true},"disk":{"type":"number","description":"The Disk size, in MB, of the Linode Type.","description_kind":"plain","computed":true},"id":{"type":"string","description":"The unique ID assigned to this Instance type.","description_kind":"plain","required":true},"label":{"type":"string","description":"The Linode Type's label is for display purposes only.","description_kind":"plain","optional":true,"computed":true},"memory":{"type":"number","description":"Amount of RAM included in this Linode Type.","description_kind":"plain","computed":true},"network_out":{"type":"number","description":"The Mbits outbound bandwidth allocation.","description_kind":"plain","computed":true},"price":{"type":["list",["object",{"hourly":"number","monthly":"number"}]],"description":"Cost in US dollars, broken down into hourly and monthly charges.","description_kind":"plain","computed":true},"region_prices":{"type":["list",["object",{"hourly":"number","id":"string","monthly":"number"}]],"description":"A list of region-specific prices for this plan.","description_kind":"plain","computed":true},"transfer":{"type":"number","description":"The monthly outbound transfer amount, in MB.","description_kind":"plain","computed":true},"vcpus":{"type":"number","description":"The number of VCPU cores this Linode Type offers.","description_kind":"plain","computed":true}},"description_kind":"plain"}},"linode_instance_types":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"The data source's unique ID.","description_kind":"plain","computed":true},"order":{"type":"string","description":"The order in which results should be returned.","description_kind":"plain","optional":true},"order_by":{"type":"string","description":"The attribute to order the results by.","description_kind":"plain","optional":true}},"block_types":{"filter":{"nesting_mode":"set","block":{"attributes":{"match_by":{"type":"string","description":"The type of comparison to use for this filter.","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the attribute to filter on.","description_kind":"plain","required":true},"values":{"type":["set","string"],"description":"The value(s) to be used in the filter.","description_kind":"plain","required":true}},"description_kind":"plain"}},"types":{"nesting_mode":"list","block":{"attributes":{"addons":{"type":["list",["object",{"backups":["list",["object",{"price":["list",["object",{"hourly":"number","monthly":"number"}]],"region_prices":["list",["object",{"hourly":"number","id":"string","monthly":"number"}]]}]]}]],"description":"Information about the optional Backup service offered for Linodes.","description_kind":"plain","computed":true},"class":{"type":"string","description":"The class of the Linode Type. There are currently three classes of Linodes: nanode, standard, highmem, dedicated","description_kind":"plain","computed":true},"disk":{"type":"number","description":"The Disk size, in MB, of the Linode Type.","description_kind":"plain","computed":true},"id":{"type":"string","description":"The unique ID assigned to this Instance type.","description_kind":"plain","required":true},"label":{"type":"string","description":"The Linode Type's label is for display purposes only.","description_kind":"plain","optional":true,"computed":true},"memory":{"type":"number","description":"Amount of RAM included in this Linode Type.","description_kind":"plain","computed":true},"network_out":{"type":"number","description":"The Mbits outbound bandwidth allocation.","description_kind":"plain","computed":true},"price":{"type":["list",["object",{"hourly":"number","monthly":"number"}]],"description":"Cost in US dollars, broken down into hourly and monthly charges.","description_kind":"plain","computed":true},"region_prices":{"type":["list",["object",{"hourly":"number","id":"string","monthly":"number"}]],"description":"A list of region-specific prices for this plan.","description_kind":"plain","computed":true},"transfer":{"type":"number","description":"The monthly outbound transfer amount, in MB.","description_kind":"plain","computed":true},"vcpus":{"type":"number","description":"The number of VCPU cores this Linode Type offers.","description_kind":"plain","computed":true}},"description":"The returned list of instance types.","description_kind":"plain"}}},"description_kind":"plain"}},"linode_instances":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"instances":{"type":["list",["object",{"alerts":["list",["object",{"cpu":"number","io":"number","network_in":"number","network_out":"number","transfer_quota":"number"}]],"backups":["list",["object",{"available":"bool","enabled":"bool","schedule":["list",["object",{"day":"string","window":"string"}]]}]],"boot_config_label":"string","config":["list",["object",{"comments":"string","devices":["list",["object",{"sda":["list",["object",{"disk_id":"number","disk_label":"string","volume_id":"number"}]],"sdb":["list",["object",{"disk_id":"number","disk_label":"string","volume_id":"number"}]],"sdc":["list",["object",{"disk_id":"number","disk_label":"string","volume_id":"number"}]],"sdd":["list",["object",{"disk_id":"number","disk_label":"string","volume_id":"number"}]],"sde":["list",["object",{"disk_id":"number","disk_label":"string","volume_id":"number"}]],"sdf":["list",["object",{"disk_id":"number","disk_label":"string","volume_id":"number"}]],"sdg":["list",["object",{"disk_id":"number","disk_label":"string","volume_id":"number"}]],"sdh":["list",["object",{"disk_id":"number","disk_label":"string","volume_id":"number"}]]}]],"helpers":["list",["object",{"devtmpfs_automount":"bool","distro":"bool","modules_dep":"bool","network":"bool","updatedb_disabled":"bool"}]],"id":"number","interface":["list",["object",{"active":"bool","id":"number","ip_ranges":["list","string"],"ipam_address":"string","ipv4":["list",["object",{"nat_1_1":"string","vpc":"string"}]],"label":"string","primary":"bool","purpose":"string","subnet_id":"number","vpc_id":"number"}]],"kernel":"string","label":"string","memory_limit":"number","root_device":"string","run_level":"string","virt_mode":"string"}]],"disk":["list",["object",{"filesystem":"string","id":"number","label":"string","size":"number"}]],"group":"string","has_user_data":"bool","host_uuid":"string","id":"number","image":"string","ip_address":"string","ipv4":["set","string"],"ipv6":"string","label":"string","private_ip_address":"string","region":"string","specs":["list",["object",{"disk":"number","memory":"number","transfer":"number","vcpus":"number"}]],"status":"string","swap_size":"number","tags":["set","string"],"type":"string","watchdog_enabled":"bool"}]],"description":"The returned list of Instances.","description_kind":"plain","computed":true},"order":{"type":"string","description":"The order in which results should be returned.","description_kind":"plain","optional":true},"order_by":{"type":"string","description":"The attribute to order the results by.","description_kind":"plain","optional":true}},"block_types":{"filter":{"nesting_mode":"list","block":{"attributes":{"match_by":{"type":"string","description":"The type of comparison to use for this filter.","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the attribute to filter on.","description_kind":"plain","required":true},"values":{"type":["list","string"],"description":"The value(s) to be used in the filter.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"linode_ipv6_range":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"The unique ID for this DataSource","description_kind":"plain","computed":true},"is_bgp":{"type":"bool","description":"Whether this IPv6 range is shared.","description_kind":"plain","computed":true},"linodes":{"type":["set","number"],"description":"The IDs of Linodes to apply this firewall to.","description_kind":"plain","computed":true},"prefix":{"type":"number","description":"The prefix length of the address, denoting how many addresses can be assigned from this range.","description_kind":"plain","computed":true},"range":{"type":"string","description":"The IPv6 range to retrieve information about.","description_kind":"plain","required":true},"region":{"type":"string","description":"The region for this range of IPv6 addresses.","description_kind":"plain","computed":true}},"description_kind":"plain"}},"linode_ipv6_ranges":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"The data source's unique ID.","description_kind":"plain","computed":true}},"block_types":{"filter":{"nesting_mode":"set","block":{"attributes":{"match_by":{"type":"string","description":"The type of comparison to use for this filter.","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the attribute to filter on.","description_kind":"plain","required":true},"values":{"type":["set","string"],"description":"The value(s) to be used in the filter.","description_kind":"plain","required":true}},"description_kind":"plain"}},"ranges":{"nesting_mode":"list","block":{"attributes":{"prefix":{"type":"number","description":"The prefix length of the address, denoting how many addresses can be assigned from this range.","description_kind":"plain","computed":true},"range":{"type":"string","description":"The IPv6 address of this range.","description_kind":"plain","computed":true},"region":{"type":"string","description":"The region for this range of IPv6 addresses.","description_kind":"plain","computed":true},"route_target":{"type":"string","description":"The IPv6 SLAAC address.","description_kind":"plain","computed":true}},"description":"The return list of IPv6 ranges.","description_kind":"plain"}}},"description_kind":"plain"}},"linode_kernel":{"version":0,"block":{"attributes":{"architecture":{"type":"string","description":"The architecture of this Kernel.","description_kind":"plain","computed":true},"built":{"type":"string","description":"The date on which this Kernel was built.","description_kind":"plain","computed":true},"deprecated":{"type":"bool","description":"Whether or not this Kernel is deprecated.","description_kind":"plain","computed":true},"id":{"type":"string","description":"The unique ID of this Kernel.","description_kind":"plain","required":true},"kvm":{"type":"bool","description":"If this Kernel is suitable for KVM Linodes.","description_kind":"plain","computed":true},"label":{"type":"string","description":"The friendly name of this Kernel.","description_kind":"plain","computed":true},"pvops":{"type":"bool","description":"If this Kernel is suitable for paravirtualized operations.","description_kind":"plain","computed":true},"version":{"type":"string","description":"Linux Kernel version.","description_kind":"plain","computed":true},"xen":{"type":"bool","description":"If this Kernel is suitable for Xen Linodes.","description_kind":"plain","computed":true}},"description_kind":"plain"}},"linode_kernels":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"The data source's unique ID.","description_kind":"plain","computed":true},"order":{"type":"string","description":"The order in which results should be returned.","description_kind":"plain","optional":true},"order_by":{"type":"string","description":"The attribute to order the results by.","description_kind":"plain","optional":true}},"block_types":{"filter":{"nesting_mode":"set","block":{"attributes":{"match_by":{"type":"string","description":"The type of comparison to use for this filter.","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the attribute to filter on.","description_kind":"plain","required":true},"values":{"type":["set","string"],"description":"The value(s) to be used in the filter.","description_kind":"plain","required":true}},"description_kind":"plain"}},"kernels":{"nesting_mode":"list","block":{"attributes":{"architecture":{"type":"string","description":"The architecture of this Kernel.","description_kind":"plain","computed":true},"built":{"type":"string","description":"The date on which this Kernel was built.","description_kind":"plain","computed":true},"deprecated":{"type":"bool","description":"Whether or not this Kernel is deprecated.","description_kind":"plain","computed":true},"id":{"type":"string","description":"The unique ID of this Kernel.","description_kind":"plain","required":true},"kvm":{"type":"bool","description":"If this Kernel is suitable for KVM Linodes.","description_kind":"plain","computed":true},"label":{"type":"string","description":"The friendly name of this Kernel.","description_kind":"plain","computed":true},"pvops":{"type":"bool","description":"If this Kernel is suitable for paravirtualized operations.","description_kind":"plain","computed":true},"version":{"type":"string","description":"Linux Kernel version.","description_kind":"plain","computed":true},"xen":{"type":"bool","description":"If this Kernel is suitable for Xen Linodes.","description_kind":"plain","computed":true}},"description":"The returned list of Kernels.","description_kind":"plain"}}},"description_kind":"plain"}},"linode_lke_cluster":{"version":0,"block":{"attributes":{"api_endpoints":{"type":["list","string"],"description":"The API endpoints for the cluster.","description_kind":"plain","computed":true},"created":{"type":"string","description":"When this Kubernetes cluster was created.","description_kind":"plain","computed":true},"dashboard_url":{"type":"string","description":"The dashboard URL of the cluster.","description_kind":"plain","computed":true},"id":{"type":"number","description":"The unique ID of this LKE Cluster.","description_kind":"plain","required":true},"k8s_version":{"type":"string","description":"The desired Kubernetes version for this Kubernetes cluster in the format of \u003cmajor\u003e.\u003cminor\u003e. The latest supported patch version will be deployed.","description_kind":"plain","computed":true},"kubeconfig":{"type":"string","description":"The Base64-encoded Kubeconfig for the cluster.","description_kind":"plain","computed":true,"sensitive":true},"label":{"type":"string","description":"The unique label for the cluster.","description_kind":"plain","computed":true},"region":{"type":"string","description":"This cluster's location.","description_kind":"plain","computed":true},"status":{"type":"string","description":"The status of the cluster.","description_kind":"plain","computed":true},"tags":{"type":["set","string"],"description":"An array of tags applied to this object. Tags are for organizational purposes only.","description_kind":"plain","computed":true},"updated":{"type":"string","description":"When this Kubernetes cluster was updated.","description_kind":"plain","computed":true}},"block_types":{"control_plane":{"nesting_mode":"list","block":{"attributes":{"high_availability":{"type":"bool","description":"Defines whether High Availability is enabled for the Control Plane Components of the cluster.","description_kind":"plain","computed":true}},"block_types":{"acl":{"nesting_mode":"list","block":{"attributes":{"enabled":{"type":"bool","description":"The default policy. A value of true means a default policy of DENY. A value of false means default policy of ALLOW.","description_kind":"plain","computed":true}},"block_types":{"addresses":{"nesting_mode":"list","block":{"attributes":{"ipv4":{"type":["set","string"],"description":"A set of individual ipv4 addresses or CIDRs allowed.","description_kind":"plain","computed":true},"ipv6":{"type":["set","string"],"description":"A set of individual ipv6 addresses or CIDRs allowed.","description_kind":"plain","computed":true}},"description":"A list of ip addresses allowed.","description_kind":"plain"}}},"description":"The ACL configuration for an LKE cluster's control plane.","description_kind":"plain"}}},"description":"Defines settings for the Kubernetes Control Plane.","description_kind":"plain"}},"pools":{"nesting_mode":"list","block":{"attributes":{"count":{"type":"number","description":"The number of nodes in the Node Pool.","description_kind":"plain","computed":true},"id":{"type":"number","description":"The ID of the Node Pool.","description_kind":"plain","computed":true},"tags":{"type":["list","string"],"description":"An array of tags applied to this object. Tags are for organizational purposes only.","description_kind":"plain","computed":true},"type":{"type":"string","description":"A Linode Type for all of the nodes in the Node Pool.","description_kind":"plain","computed":true}},"block_types":{"autoscaler":{"nesting_mode":"list","block":{"attributes":{"enabled":{"type":"bool","description":"Whether autoscaling is enabled for this Node Pool. Defaults to false.","description_kind":"plain","computed":true},"max":{"type":"number","description":"The maximum number of nodes to autoscale to. Defaults to the Node Pool’s count.","description_kind":"plain","computed":true},"min":{"type":"number","description":"The minimum number of nodes to autoscale to. Defaults to the Node Pool’s count.","description_kind":"plain","computed":true}},"description":"When specified, the number of nodes autoscales within the defined minimum and maximum values.","description_kind":"plain"}},"disks":{"nesting_mode":"list","block":{"attributes":{"size":{"type":"number","description":"The size of this custom disk partition in MB.","description_kind":"plain","computed":true},"type":{"type":"string","description":"This custom disk partition’s filesystem type.","description_kind":"plain","computed":true}},"description":"This Node Pool’s custom disk layout.","description_kind":"plain"}},"nodes":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The ID of the node.","description_kind":"plain","computed":true},"instance_id":{"type":"number","description":"The ID of the underlying Linode instance.","description_kind":"plain","computed":true},"status":{"type":"string","description":"The status of the node.","description_kind":"plain","computed":true}},"description":"The nodes in the node pool.","description_kind":"plain"}}},"description":"All active Node Pools on the cluster.","description_kind":"plain"}}},"description_kind":"plain"}},"linode_lke_clusters":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"The data source's unique ID.","description_kind":"plain","computed":true},"order":{"type":"string","description":"The order in which results should be returned.","description_kind":"plain","optional":true},"order_by":{"type":"string","description":"The attribute to order the results by.","description_kind":"plain","optional":true}},"block_types":{"filter":{"nesting_mode":"set","block":{"attributes":{"match_by":{"type":"string","description":"The type of comparison to use for this filter.","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the attribute to filter on.","description_kind":"plain","required":true},"values":{"type":["set","string"],"description":"The value(s) to be used in the filter.","description_kind":"plain","required":true}},"description_kind":"plain"}},"lke_clusters":{"nesting_mode":"list","block":{"attributes":{"created":{"type":"string","description":"When this Kubernetes cluster was created.","description_kind":"plain","computed":true},"id":{"type":"number","description":"This Kubernetes cluster’s unique ID.","description_kind":"plain","computed":true},"k8s_version":{"type":"string","description":"The desired Kubernetes version for this Kubernetes cluster in the format of \u003cmajor\u003e.\u003cminor\u003e. The latest supported patch version will be deployed.","description_kind":"plain","computed":true},"label":{"type":"string","description":"The unique label for the cluster.","description_kind":"plain","computed":true},"region":{"type":"string","description":"This cluster's location.","description_kind":"plain","computed":true},"status":{"type":"string","description":"The status of the cluster.","description_kind":"plain","computed":true},"tags":{"type":["set","string"],"description":"An array of tags applied to this object. Tags are for organizational purposes only.","description_kind":"plain","computed":true},"updated":{"type":"string","description":"When this Kubernetes cluster was updated.","description_kind":"plain","computed":true}},"block_types":{"control_plane":{"nesting_mode":"single","block":{"attributes":{"high_availability":{"type":"bool","description":"Defines whether High Availability is enabled for the Control Plane Components of the cluster.","description_kind":"plain","computed":true}},"description":"Defines settings for the Kubernetes Control Plane.","description_kind":"plain"}}},"description":"The returned list of LKE clusters available on the account.","description_kind":"plain"}}},"description_kind":"plain"}},"linode_lke_versions":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"Unique identification field for this list of LKE Versions.","description_kind":"plain","computed":true},"versions":{"type":["list",["object",{"id":"string"}]],"description":"The Kubernetes version numbers available for deployment to a Kubernetes cluster.","description_kind":"plain","computed":true}},"description_kind":"plain"}},"linode_networking_ip":{"version":0,"block":{"attributes":{"address":{"type":"string","description":"The IP address.","description_kind":"plain","required":true},"gateway":{"type":"string","description":"The default gateway for this address.","description_kind":"plain","computed":true},"id":{"type":"string","description":"A unique identifier for this datasource.","description_kind":"plain","computed":true},"linode_id":{"type":"number","description":"The ID of the Linode this address currently belongs to.","description_kind":"plain","computed":true},"prefix":{"type":"number","description":"The number of bits set in the subnet mask.","description_kind":"plain","computed":true},"public":{"type":"bool","description":"Whether this is a public or private IP address.","description_kind":"plain","computed":true},"rdns":{"type":"string","description":"The reverse DNS assigned to this address. For public IPv4 addresses, this will be set to a default value provided by Linode if not explicitly set.","description_kind":"plain","computed":true},"region":{"type":"string","description":"The Region this IP address resides in.","description_kind":"plain","computed":true},"subnet_mask":{"type":"string","description":"The mask that separates host bits from network bits for this address.","description_kind":"plain","computed":true},"type":{"type":"string","description":"The type of address this is (ipv4, ipv6, ipv6/pool, ipv6/range).","description_kind":"plain","computed":true}},"description_kind":"plain"}},"linode_nodebalancer":{"version":1,"block":{"attributes":{"client_conn_throttle":{"type":"number","description":"Throttle connections per second (0-20). Set to 0 (zero) to disable throttling.","description_kind":"plain","computed":true},"created":{"type":"string","description":"When this NodeBalancer was created.","description_kind":"plain","computed":true},"hostname":{"type":"string","description":"This NodeBalancer's hostname, ending with .nodebalancer.linode.com","description_kind":"plain","computed":true},"id":{"type":"number","description":"The unique ID of the Linode NodeBalancer.","description_kind":"plain","required":true},"ipv4":{"type":"string","description":"The Public IPv4 Address of this NodeBalancer","description_kind":"plain","computed":true},"ipv6":{"type":"string","description":"The Public IPv6 Address of this NodeBalancer","description_kind":"plain","computed":true},"label":{"type":"string","description":"The label of the Linode NodeBalancer.","description_kind":"plain","computed":true},"region":{"type":"string","description":"The region where this NodeBalancer will be deployed.","description_kind":"plain","computed":true},"tags":{"type":["set","string"],"description":"An array of tags applied to this object. Tags are for organizational purposes only.","description_kind":"plain","computed":true},"transfer":{"type":["list",["object",{"in":"number","out":"number","total":"number"}]],"description":"Information about the amount of transfer this NodeBalancer has had so far this month.","description_kind":"plain","computed":true},"updated":{"type":"string","description":"When this NodeBalancer was last updated.","description_kind":"plain","computed":true}},"block_types":{"firewalls":{"nesting_mode":"list","block":{"attributes":{"created":{"type":"string","description":"When this Firewall was created.","description_kind":"plain","computed":true},"id":{"type":"number","description":"The unique ID assigned to this Firewall.","description_kind":"plain","computed":true},"inbound_policy":{"type":"string","description":"The default behavior for inbound traffic.","description_kind":"plain","computed":true},"label":{"type":"string","description":"The label for the Firewall. For display purposes only. If no label is provided, a default will be assigned.","description_kind":"plain","computed":true},"outbound_policy":{"type":"string","description":"The default behavior for outbound traffic.","description_kind":"plain","computed":true},"status":{"type":"string","description":"The status of the firewall.","description_kind":"plain","computed":true},"tags":{"type":["set","string"],"description":"An array of tags applied to this object. Tags are for organizational purposes only.","description_kind":"plain","computed":true},"updated":{"type":"string","description":"When this Firewall was last updated.","description_kind":"plain","computed":true}},"block_types":{"inbound":{"nesting_mode":"list","block":{"attributes":{"action":{"type":"string","description":"Controls whether traffic is accepted or dropped by this rule (ACCEPT, DROP).","description_kind":"plain","computed":true},"ipv4":{"type":["set","string"],"description":"A list of IPv4 addresses or networks in IP/mask format.","description_kind":"plain","computed":true},"ipv6":{"type":["set","string"],"description":"A list of IPv6 addresses or networks in IP/mask format.","description_kind":"plain","computed":true},"label":{"type":"string","description":"The label of this rule for display purposes only.","description_kind":"plain","computed":true},"ports":{"type":"string","description":"A string representation of ports and/or port ranges (i.e. \"443\" or \"80-90, 91\").","description_kind":"plain","computed":true},"protocol":{"type":"string","description":"The network protocol this rule controls. (TCP, UDP, ICMP)","description_kind":"plain","computed":true}},"description":"A set of firewall rules that specify what inbound network traffic is allowed.","description_kind":"plain"}},"outbound":{"nesting_mode":"list","block":{"attributes":{"action":{"type":"string","description":"Controls whether traffic is accepted or dropped by this rule (ACCEPT, DROP).","description_kind":"plain","computed":true},"ipv4":{"type":["set","string"],"description":"A list of IPv4 addresses or networks in IP/mask format.","description_kind":"plain","computed":true},"ipv6":{"type":["set","string"],"description":"A list of IPv6 addresses or networks in IP/mask format.","description_kind":"plain","computed":true},"label":{"type":"string","description":"The label of this rule for display purposes only.","description_kind":"plain","computed":true},"ports":{"type":"string","description":"A string representation of ports and/or port ranges (i.e. \"443\" or \"80-90, 91\").","description_kind":"plain","computed":true},"protocol":{"type":"string","description":"The network protocol this rule controls. (TCP, UDP, ICMP)","description_kind":"plain","computed":true}},"description":"A set of firewall rules that specify what outbound network traffic is allowed.","description_kind":"plain"}}},"description":"A list of Firewalls assigned to this NodeBalancer.","description_kind":"plain"}}},"description_kind":"plain"}},"linode_nodebalancer_config":{"version":1,"block":{"attributes":{"algorithm":{"type":"string","description":"What algorithm this NodeBalancer should use for routing traffic to backends: roundrobin, leastconn, source","description_kind":"plain","computed":true},"check":{"type":"string","description":"The type of check to perform against backends to ensure they are serving requests. This is used to determine if backends are up or down. If none no check is performed. connection requires only a connection to the backend to succeed. http and http_body rely on the backend serving HTTP, and that the response returned matches what is expected.","description_kind":"plain","computed":true},"check_attempts":{"type":"number","description":"How many times to attempt a check before considering a backend to be down. (1-30)","description_kind":"plain","computed":true},"check_body":{"type":"string","description":"This value must be present in the response body of the check in order for it to pass. If this value is not present in the response body of a check request, the backend is considered to be down","description_kind":"plain","computed":true},"check_interval":{"type":"number","description":"How often, in seconds, to check that backends are up and serving requests.","description_kind":"plain","computed":true},"check_passive":{"type":"bool","description":"If true, any response from this backend with a 5xx status code will be enough for it to be considered unhealthy and taken out of rotation.","description_kind":"plain","computed":true},"check_path":{"type":"string","description":"The URL path to check on each backend. If the backend does not respond to this request it is considered to be down.","description_kind":"plain","computed":true},"check_timeout":{"type":"number","description":"How long, in seconds, to wait for a check attempt before considering it failed. (1-30)","description_kind":"plain","computed":true},"cipher_suite":{"type":"string","description":"What ciphers to use for SSL connections served by this NodeBalancer. `legacy` is considered insecure and should only be used if necessary.","description_kind":"plain","computed":true},"id":{"type":"number","description":"The ID of the NodeBalancer config.","description_kind":"plain","required":true},"node_status":{"type":["list",["object",{"down":"number","up":"number"}]],"description":"A structure containing information about the health of the backends for this port. This information is updated periodically as checks are performed against backends.","description_kind":"plain","computed":true},"nodebalancer_id":{"type":"number","description":"The ID of the NodeBalancer to access.","description_kind":"plain","required":true},"port":{"type":"number","description":"The TCP port this Config is for. These values must be unique across configs on a single NodeBalancer (you can't have two configs for port 80, for example). While some ports imply some protocols, no enforcement is done and you may configure your NodeBalancer however is useful to you. For example, while port 443 is generally used for HTTPS, you do not need SSL configured to have a NodeBalancer listening on port 443.","description_kind":"plain","computed":true},"protocol":{"type":"string","description":"The protocol this port is configured to serve. If this is set to https you must include an ssl_cert and an ssl_key.","description_kind":"plain","computed":true},"proxy_protocol":{"type":"string","description":"The version of ProxyProtocol to use for the underlying NodeBalancer. This requires protocol to be `tcp`. Valid values are `none`, `v1`, and `v2`.","description_kind":"plain","computed":true},"ssl_commonname":{"type":"string","description":"The read-only common name automatically derived from the SSL certificate assigned to this NodeBalancerConfig. Please refer to this field to verify that the appropriate certificate is assigned to your NodeBalancerConfig.","description_kind":"plain","computed":true},"ssl_fingerprint":{"type":"string","description":"The read-only fingerprint automatically derived from the SSL certificate assigned to this NodeBalancerConfig. Please refer to this field to verify that the appropriate certificate is assigned to your NodeBalancerConfig.","description_kind":"plain","computed":true},"stickiness":{"type":"string","description":"Controls how session stickiness is handled on this port: 'none', 'table', 'http_cookie'","description_kind":"plain","computed":true}},"description_kind":"plain"}},"linode_nodebalancer_configs":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"The data source's unique ID.","description_kind":"plain","computed":true},"nodebalancer_id":{"type":"number","description":"The ID of the NodeBalancer to access.","description_kind":"plain","required":true},"order":{"type":"string","description":"The order in which results should be returned.","description_kind":"plain","optional":true},"order_by":{"type":"string","description":"The attribute to order the results by.","description_kind":"plain","optional":true}},"block_types":{"filter":{"nesting_mode":"set","block":{"attributes":{"match_by":{"type":"string","description":"The type of comparison to use for this filter.","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the attribute to filter on.","description_kind":"plain","required":true},"values":{"type":["set","string"],"description":"The value(s) to be used in the filter.","description_kind":"plain","required":true}},"description_kind":"plain"}},"nodebalancer_configs":{"nesting_mode":"list","block":{"attributes":{"algorithm":{"type":"string","description":"What algorithm this NodeBalancer should use for routing traffic to backends: roundrobin, leastconn, source","description_kind":"plain","computed":true},"check":{"type":"string","description":"The type of check to perform against backends to ensure they are serving requests. This is used to determine if backends are up or down. If none no check is performed. connection requires only a connection to the backend to succeed. http and http_body rely on the backend serving HTTP, and that the response returned matches what is expected.","description_kind":"plain","computed":true},"check_attempts":{"type":"number","description":"How many times to attempt a check before considering a backend to be down. (1-30)","description_kind":"plain","computed":true},"check_body":{"type":"string","description":"This value must be present in the response body of the check in order for it to pass. If this value is not present in the response body of a check request, the backend is considered to be down","description_kind":"plain","computed":true},"check_interval":{"type":"number","description":"How often, in seconds, to check that backends are up and serving requests.","description_kind":"plain","computed":true},"check_passive":{"type":"bool","description":"If true, any response from this backend with a 5xx status code will be enough for it to be considered unhealthy and taken out of rotation.","description_kind":"plain","computed":true},"check_path":{"type":"string","description":"The URL path to check on each backend. If the backend does not respond to this request it is considered to be down.","description_kind":"plain","computed":true},"check_timeout":{"type":"number","description":"How long, in seconds, to wait for a check attempt before considering it failed. (1-30)","description_kind":"plain","computed":true},"cipher_suite":{"type":"string","description":"What ciphers to use for SSL connections served by this NodeBalancer. `legacy` is considered insecure and should only be used if necessary.","description_kind":"plain","computed":true},"id":{"type":"number","description":"The ID of the NodeBalancer config.","description_kind":"plain","required":true},"node_status":{"type":["list",["object",{"down":"number","up":"number"}]],"description":"A structure containing information about the health of the backends for this port. This information is updated periodically as checks are performed against backends.","description_kind":"plain","computed":true},"nodebalancer_id":{"type":"number","description":"The ID of the NodeBalancer to access.","description_kind":"plain","required":true},"port":{"type":"number","description":"The TCP port this Config is for. These values must be unique across configs on a single NodeBalancer (you can't have two configs for port 80, for example). While some ports imply some protocols, no enforcement is done and you may configure your NodeBalancer however is useful to you. For example, while port 443 is generally used for HTTPS, you do not need SSL configured to have a NodeBalancer listening on port 443.","description_kind":"plain","computed":true},"protocol":{"type":"string","description":"The protocol this port is configured to serve. If this is set to https you must include an ssl_cert and an ssl_key.","description_kind":"plain","computed":true},"proxy_protocol":{"type":"string","description":"The version of ProxyProtocol to use for the underlying NodeBalancer. This requires protocol to be `tcp`. Valid values are `none`, `v1`, and `v2`.","description_kind":"plain","computed":true},"ssl_commonname":{"type":"string","description":"The read-only common name automatically derived from the SSL certificate assigned to this NodeBalancerConfig. Please refer to this field to verify that the appropriate certificate is assigned to your NodeBalancerConfig.","description_kind":"plain","computed":true},"ssl_fingerprint":{"type":"string","description":"The read-only fingerprint automatically derived from the SSL certificate assigned to this NodeBalancerConfig. Please refer to this field to verify that the appropriate certificate is assigned to your NodeBalancerConfig.","description_kind":"plain","computed":true},"stickiness":{"type":"string","description":"Controls how session stickiness is handled on this port: 'none', 'table', 'http_cookie'","description_kind":"plain","computed":true}},"description":"The returned list of NodeBalancer Configs.","description_kind":"plain"}}},"description_kind":"plain"}},"linode_nodebalancer_node":{"version":0,"block":{"attributes":{"address":{"type":"string","description":"The private IP Address and port (IP:PORT) where this backend can be reached. This must be a private IP address.","description_kind":"plain","computed":true},"config_id":{"type":"number","description":"The ID of the NodeBalancerConfig to access.","description_kind":"plain","required":true},"id":{"type":"number","description":"The ID of the NodeBalancer node.","description_kind":"plain","required":true},"label":{"type":"string","description":"The label for this node. This is for display purposes only.","description_kind":"plain","computed":true},"mode":{"type":"string","description":"The mode this NodeBalancer should use when sending traffic to this backend. If set to `accept` this backend is accepting traffic. If set to `reject` this backend will not receive traffic. If set to `drain` this backend will not receive new traffic, but connections already pinned to it will continue to be routed to it. If set to `backup` this backend will only accept traffic if all other nodes are down.","description_kind":"plain","computed":true},"nodebalancer_id":{"type":"number","description":"The ID of the NodeBalancer to access.","description_kind":"plain","required":true},"status":{"type":"string","description":"The current status of this node, based on the configured checks of its NodeBalancer Config. (unknown, UP, DOWN)","description_kind":"plain","computed":true},"weight":{"type":"number","description":"Used when picking a backend to serve a request and is not pinned to a single backend yet. Nodes with a higher weight will receive more traffic. (1-255)","description_kind":"plain","computed":true}},"description_kind":"plain"}},"linode_nodebalancers":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"The data source's unique ID.","description_kind":"plain","computed":true},"order":{"type":"string","description":"The order in which results should be returned.","description_kind":"plain","optional":true},"order_by":{"type":"string","description":"The attribute to order the results by.","description_kind":"plain","optional":true}},"block_types":{"filter":{"nesting_mode":"set","block":{"attributes":{"match_by":{"type":"string","description":"The type of comparison to use for this filter.","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the attribute to filter on.","description_kind":"plain","required":true},"values":{"type":["set","string"],"description":"The value(s) to be used in the filter.","description_kind":"plain","required":true}},"description_kind":"plain"}},"nodebalancers":{"nesting_mode":"list","block":{"attributes":{"client_conn_throttle":{"type":"number","description":"Throttle connections per second (0-20). Set to 0 (zero) to disable throttling.","description_kind":"plain","computed":true},"created":{"type":"string","description":"When this NodeBalancer was created.","description_kind":"plain","computed":true},"hostname":{"type":"string","description":"This NodeBalancer's hostname, ending with .nodebalancer.linode.com","description_kind":"plain","computed":true},"id":{"type":"number","description":"The unique ID of the Linode NodeBalancer.","description_kind":"plain","required":true},"ipv4":{"type":"string","description":"The Public IPv4 Address of this NodeBalancer","description_kind":"plain","computed":true},"ipv6":{"type":"string","description":"The Public IPv6 Address of this NodeBalancer","description_kind":"plain","computed":true},"label":{"type":"string","description":"The label of the Linode NodeBalancer.","description_kind":"plain","computed":true},"region":{"type":"string","description":"The region where this NodeBalancer will be deployed.","description_kind":"plain","computed":true},"tags":{"type":["set","string"],"description":"An array of tags applied to this object. Tags are for organizational purposes only.","description_kind":"plain","computed":true},"transfer":{"type":["list",["object",{"in":"number","out":"number","total":"number"}]],"description":"Information about the amount of transfer this NodeBalancer has had so far this month.","description_kind":"plain","computed":true},"updated":{"type":"string","description":"When this NodeBalancer was last updated.","description_kind":"plain","computed":true}},"description":"The returned list of NodeBalancers.","description_kind":"plain"}}},"description_kind":"plain"}},"linode_object_storage_bucket":{"version":0,"block":{"attributes":{"cluster":{"type":"string","description":"The ID of the Object Storage Cluster this bucket is in.","description_kind":"plain","required":true},"created":{"type":"string","description":"When this bucket was created.","description_kind":"plain","computed":true},"hostname":{"type":"string","description":"The hostname where this bucket can be accessed.This hostname can be accessed through a browser if the bucket is made public.","description_kind":"plain","computed":true},"id":{"type":"string","description":"The id of this bucket.","description_kind":"plain","computed":true},"label":{"type":"string","description":"The name of this bucket.","description_kind":"plain","required":true},"objects":{"type":"number","description":"The number of objects stored in this bucket.","description_kind":"plain","computed":true},"size":{"type":"number","description":"The size of the bucket in bytes.","description_kind":"plain","computed":true}},"description_kind":"plain"}},"linode_object_storage_cluster":{"version":0,"block":{"attributes":{"domain":{"type":"string","description":"The base URL for this cluster.","description_kind":"plain","computed":true},"id":{"type":"string","description":"The unique ID of this Cluster.","description_kind":"plain","required":true},"region":{"type":"string","description":"The region this cluster is located in.","description_kind":"plain","computed":true},"static_site_domain":{"type":"string","description":"The base URL for this cluster used when hosting static sites.","description_kind":"plain","computed":true},"status":{"type":"string","description":"This cluster's status.","description_kind":"plain","computed":true}},"description_kind":"plain"}},"linode_placement_group":{"version":0,"block":{"attributes":{"affinity_type":{"type":"string","description":"The affinity policy for Linodes in a placement group","description_kind":"plain","computed":true},"id":{"type":"number","description":"The ID of the placement group.","description_kind":"plain","required":true},"is_compliant":{"type":"bool","description":"Whether all Linodes in this group are currently compliant with the group's affinity policy.","description_kind":"plain","computed":true},"is_strict":{"type":"bool","description":"Whether Linodes must be able to become compliant during assignment.","description_kind":"plain","computed":true},"label":{"type":"string","description":"The label of the placement group.","description_kind":"plain","computed":true},"region":{"type":"string","description":"The region that the placement group is in.","description_kind":"plain","computed":true}},"block_types":{"members":{"nesting_mode":"set","block":{"attributes":{"is_compliant":{"type":"bool","description":"Whether this Linode is currently compliant with the group's affinity policy.","description_kind":"plain","computed":true},"linode_id":{"type":"number","description":"The ID of the Linode.","description_kind":"plain","computed":true}},"description":"A list of Linodes assigned to a placement group.","description_kind":"plain"}}},"description_kind":"plain"}},"linode_placement_groups":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"The data source's unique ID.","description_kind":"plain","computed":true},"order":{"type":"string","description":"The order in which results should be returned.","description_kind":"plain","optional":true},"order_by":{"type":"string","description":"The attribute to order the results by.","description_kind":"plain","optional":true}},"block_types":{"filter":{"nesting_mode":"set","block":{"attributes":{"match_by":{"type":"string","description":"The type of comparison to use for this filter.","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the attribute to filter on.","description_kind":"plain","required":true},"values":{"type":["set","string"],"description":"The value(s) to be used in the filter.","description_kind":"plain","required":true}},"description_kind":"plain"}},"placement_groups":{"nesting_mode":"list","block":{"attributes":{"affinity_type":{"type":"string","description":"The affinity policy for Linodes in a placement group","description_kind":"plain","computed":true},"id":{"type":"number","description":"The ID of the placement group.","description_kind":"plain","required":true},"is_compliant":{"type":"bool","description":"Whether all Linodes in this group are currently compliant with the group's affinity policy.","description_kind":"plain","computed":true},"is_strict":{"type":"bool","description":"Whether Linodes must be able to become compliant during assignment.","description_kind":"plain","computed":true},"label":{"type":"string","description":"The label of the placement group.","description_kind":"plain","computed":true},"region":{"type":"string","description":"The region that the placement group is in.","description_kind":"plain","computed":true}},"block_types":{"members":{"nesting_mode":"set","block":{"attributes":{"is_compliant":{"type":"bool","description":"Whether this Linode is currently compliant with the group's affinity policy.","description_kind":"plain","computed":true},"linode_id":{"type":"number","description":"The ID of the Linode.","description_kind":"plain","computed":true}},"description":"A list of Linodes assigned to a placement group.","description_kind":"plain"}}},"description":"The returned list of Placement Groups.","description_kind":"plain"}}},"description_kind":"plain"}},"linode_profile":{"version":0,"block":{"attributes":{"authorized_keys":{"type":["list","string"],"description":"The list of SSH Keys authorized to use Lish for this user. This value is ignored if lish_auth_method is 'disabled'.","description_kind":"plain","computed":true},"email":{"type":"string","description":"The profile email address. This address will be used for communication with Linode as necessary.","description_kind":"plain","computed":true},"email_notifications":{"type":"bool","description":"If true, email notifications will be sent about account activity. If false, when false business-critical communications may still be sent through email.","description_kind":"plain","computed":true},"id":{"type":"string","description":"Unique identification field for this datasource.","description_kind":"plain","computed":true},"ip_whitelist_enabled":{"type":"bool","description":"If true, logins for the user will only be allowed from whitelisted IPs. This setting is currently deprecated, and cannot be enabled.","description_kind":"plain","computed":true},"lish_auth_method":{"type":"string","description":"The methods of authentication allowed when connecting via Lish. 'keys_only' is the most secure with the intent to use Lish, and 'disabled' is recommended for users that will not use Lish at all.","description_kind":"plain","computed":true},"referrals":{"type":["list",["object",{"code":"string","completed":"number","credit":"number","pending":"number","total":"number","url":"string"}]],"description":"Credit Card information associated with this Account.","description_kind":"plain","computed":true},"restricted":{"type":"bool","description":"If true, the user has restrictions on what can be accessed on the Account.","description_kind":"plain","computed":true},"timezone":{"type":"string","description":"The profile's preferred timezone. This is not used by the API, and is for the benefit of clients only. All times the API returns are in UTC.","description_kind":"plain","computed":true},"two_factor_auth":{"type":"bool","description":"If true, logins from untrusted computers will require Two Factor Authentication.","description_kind":"plain","computed":true},"username":{"type":"string","description":"The username for logging in to Linode services.","description_kind":"plain","computed":true}},"description_kind":"plain"}},"linode_region":{"version":0,"block":{"attributes":{"capabilities":{"type":["set","string"],"description":"A list of capabilities of this region.","description_kind":"plain","computed":true},"country":{"type":"string","description":"The country where this Region resides.","description_kind":"plain","computed":true},"id":{"type":"string","description":"The unique ID of this Region.","description_kind":"plain","required":true},"label":{"type":"string","description":"Detailed location information for this Region, including city, state or region, and country.","description_kind":"plain","computed":true},"placement_group_limits":{"type":["list",["object",{"maximum_linodes_per_pg":"number","maximum_pgs_per_customer":"number"}]],"description":"Information about placement groups limits for this region.","description_kind":"plain","computed":true},"site_type":{"type":"string","description":"The type of this Region.","description_kind":"plain","computed":true},"status":{"type":"string","description":"This region’s current operational status.","description_kind":"plain","computed":true}},"block_types":{"resolvers":{"nesting_mode":"list","block":{"attributes":{"ipv4":{"type":"string","description":"The IPv4 addresses for this region’s DNS resolvers, separated by commas.","description_kind":"plain","computed":true},"ipv6":{"type":"string","description":"The IPv6 addresses for this region’s DNS resolvers, separated by commas.","description_kind":"plain","computed":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"linode_regions":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"The data source's unique ID.","description_kind":"plain","computed":true}},"block_types":{"filter":{"nesting_mode":"set","block":{"attributes":{"match_by":{"type":"string","description":"The type of comparison to use for this filter.","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the attribute to filter on.","description_kind":"plain","required":true},"values":{"type":["set","string"],"description":"The value(s) to be used in the filter.","description_kind":"plain","required":true}},"description_kind":"plain"}},"regions":{"nesting_mode":"list","block":{"attributes":{"capabilities":{"type":["set","string"],"description":"A list of capabilities of this region.","description_kind":"plain","computed":true},"country":{"type":"string","description":"The country where this Region resides.","description_kind":"plain","computed":true},"id":{"type":"string","description":"The unique ID of this Region.","description_kind":"plain","required":true},"label":{"type":"string","description":"Detailed location information for this Region, including city, state or region, and country.","description_kind":"plain","computed":true},"placement_group_limits":{"type":["list",["object",{"maximum_linodes_per_pg":"number","maximum_pgs_per_customer":"number"}]],"description":"Information about placement groups limits for this region.","description_kind":"plain","computed":true},"site_type":{"type":"string","description":"The type of this Region.","description_kind":"plain","computed":true},"status":{"type":"string","description":"This region’s current operational status.","description_kind":"plain","computed":true}},"block_types":{"resolvers":{"nesting_mode":"list","block":{"attributes":{"ipv4":{"type":"string","description":"The IPv4 addresses for this region’s DNS resolvers, separated by commas.","description_kind":"plain","computed":true},"ipv6":{"type":"string","description":"The IPv6 addresses for this region’s DNS resolvers, separated by commas.","description_kind":"plain","computed":true}},"description_kind":"plain"}}},"description_kind":"plain"}}},"description_kind":"plain"}},"linode_sshkey":{"version":0,"block":{"attributes":{"created":{"type":"string","description":"The date this key was added.","description_kind":"plain","computed":true},"id":{"type":"string","description":"A unique identifier for this datasource.","description_kind":"plain","optional":true},"label":{"type":"string","description":"The label of the Linode SSH Key.","description_kind":"plain","required":true},"ssh_key":{"type":"string","description":"The public SSH Key, which is used to authenticate to the root user of the Linodes you deploy.","description_kind":"plain","computed":true}},"description_kind":"plain"}},"linode_sshkeys":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"The data source's unique ID.","description_kind":"plain","computed":true},"order":{"type":"string","description":"The order in which results should be returned.","description_kind":"plain","optional":true},"order_by":{"type":"string","description":"The attribute to order the results by.","description_kind":"plain","optional":true}},"block_types":{"filter":{"nesting_mode":"set","block":{"attributes":{"match_by":{"type":"string","description":"The type of comparison to use for this filter.","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the attribute to filter on.","description_kind":"plain","required":true},"values":{"type":["set","string"],"description":"The value(s) to be used in the filter.","description_kind":"plain","required":true}},"description_kind":"plain"}},"sshkeys":{"nesting_mode":"list","block":{"attributes":{"created":{"type":"string","description":"The date this key was added.","description_kind":"plain","computed":true},"id":{"type":"string","description":"A unique identifier for this datasource.","description_kind":"plain","optional":true},"label":{"type":"string","description":"The label of the Linode SSH Key.","description_kind":"plain","required":true},"ssh_key":{"type":"string","description":"The public SSH Key, which is used to authenticate to the root user of the Linodes you deploy.","description_kind":"plain","computed":true}},"description":"The returned list of SSH Keys.","description_kind":"plain"}}},"description_kind":"plain"}},"linode_stackscript":{"version":1,"block":{"attributes":{"created":{"type":"string","description":"The date this StackScript was created.","description_kind":"plain","computed":true},"deployments_active":{"type":"number","description":"Count of currently active, deployed Linodes created from this StackScript.","description_kind":"plain","computed":true},"deployments_total":{"type":"number","description":"The total number of times this StackScript has been deployed.","description_kind":"plain","computed":true},"description":{"type":"string","description":"A description for the StackScript.","description_kind":"plain","computed":true},"id":{"type":"string","description":"The StackScript's unique ID.","description_kind":"plain","required":true},"images":{"type":["set","string"],"description":"An array of Image IDs representing the Images that this StackScript is compatible for deploying with.","description_kind":"plain","computed":true},"is_public":{"type":"bool","description":"This determines whether other users can use your StackScript. Once a StackScript is made public, it cannot be made private.","description_kind":"plain","computed":true},"label":{"type":"string","description":"The StackScript's label is for display purposes only.","description_kind":"plain","computed":true},"rev_note":{"type":"string","description":"This field allows you to add notes for the set of revisions made to this StackScript.","description_kind":"plain","computed":true},"script":{"type":"string","description":"The script to execute when provisioning a new Linode with this StackScript.","description_kind":"plain","computed":true},"updated":{"type":"string","description":"The date this StackScript was updated.","description_kind":"plain","computed":true},"user_defined_fields":{"type":["list",["object",{"default":"string","example":"string","label":"string","many_of":"string","name":"string","one_of":"string"}]],"description":"This is a list of fields defined with a special syntax inside this StackScript that allow for supplying customized parameters during deployment.","description_kind":"plain","computed":true},"user_gravatar_id":{"type":"string","description":"The Gravatar ID for the User who created the StackScript.","description_kind":"plain","computed":true},"username":{"type":"string","description":"The User who created the StackScript.","description_kind":"plain","computed":true}},"description_kind":"plain"}},"linode_stackscripts":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"The data source's unique ID.","description_kind":"plain","computed":true},"latest":{"type":"bool","description":"If true, only the latest StackScript will be returned.","description_kind":"plain","optional":true},"order":{"type":"string","description":"The order in which results should be returned.","description_kind":"plain","optional":true},"order_by":{"type":"string","description":"The attribute to order the results by.","description_kind":"plain","optional":true}},"block_types":{"filter":{"nesting_mode":"set","block":{"attributes":{"match_by":{"type":"string","description":"The type of comparison to use for this filter.","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the attribute to filter on.","description_kind":"plain","required":true},"values":{"type":["set","string"],"description":"The value(s) to be used in the filter.","description_kind":"plain","required":true}},"description_kind":"plain"}},"stackscripts":{"nesting_mode":"list","block":{"attributes":{"created":{"type":"string","description":"The date this StackScript was created.","description_kind":"plain","computed":true},"deployments_active":{"type":"number","description":"Count of currently active, deployed Linodes created from this StackScript.","description_kind":"plain","computed":true},"deployments_total":{"type":"number","description":"The total number of times this StackScript has been deployed.","description_kind":"plain","computed":true},"description":{"type":"string","description":"A description for the StackScript.","description_kind":"plain","computed":true},"id":{"type":"string","description":"The StackScript's unique ID.","description_kind":"plain","required":true},"images":{"type":["set","string"],"description":"An array of Image IDs representing the Images that this StackScript is compatible for deploying with.","description_kind":"plain","computed":true},"is_public":{"type":"bool","description":"This determines whether other users can use your StackScript. Once a StackScript is made public, it cannot be made private.","description_kind":"plain","computed":true},"label":{"type":"string","description":"The StackScript's label is for display purposes only.","description_kind":"plain","computed":true},"rev_note":{"type":"string","description":"This field allows you to add notes for the set of revisions made to this StackScript.","description_kind":"plain","computed":true},"script":{"type":"string","description":"The script to execute when provisioning a new Linode with this StackScript.","description_kind":"plain","computed":true},"updated":{"type":"string","description":"The date this StackScript was updated.","description_kind":"plain","computed":true},"user_defined_fields":{"type":["list",["object",{"default":"string","example":"string","label":"string","many_of":"string","name":"string","one_of":"string"}]],"description":"This is a list of fields defined with a special syntax inside this StackScript that allow for supplying customized parameters during deployment.","description_kind":"plain","computed":true},"user_gravatar_id":{"type":"string","description":"The Gravatar ID for the User who created the StackScript.","description_kind":"plain","computed":true},"username":{"type":"string","description":"The User who created the StackScript.","description_kind":"plain","computed":true}},"description":"The returned list of StackScripts.","description_kind":"plain"}}},"description_kind":"plain"}},"linode_user":{"version":0,"block":{"attributes":{"database_grant":{"type":["set",["object",{"id":"number","label":"string","permissions":"string"}]],"description":"A set containing all of the user's active grants.","description_kind":"plain","optional":true,"computed":true},"domain_grant":{"type":["set",["object",{"id":"number","label":"string","permissions":"string"}]],"description":"A set containing all of the user's active grants.","description_kind":"plain","optional":true,"computed":true},"email":{"type":"string","description":"The email address for this User, for account management communications, and may be used for other communications as configured.","description_kind":"plain","computed":true},"firewall_grant":{"type":["set",["object",{"id":"number","label":"string","permissions":"string"}]],"description":"A set containing all of the user's active grants.","description_kind":"plain","optional":true,"computed":true},"global_grants":{"type":["list",["object",{"account_access":"string","add_databases":"bool","add_domains":"bool","add_firewalls":"bool","add_images":"bool","add_linodes":"bool","add_longview":"bool","add_nodebalancers":"bool","add_stackscripts":"bool","add_volumes":"bool","cancel_account":"bool","longview_subscription":"bool"}]],"description":"A structure containing the Account-level grants a User has.","description_kind":"plain","computed":true},"id":{"type":"string","description":"Unique identifier for this DataSource.","description_kind":"plain","computed":true},"image_grant":{"type":["set",["object",{"id":"number","label":"string","permissions":"string"}]],"description":"A set containing all of the user's active grants.","description_kind":"plain","optional":true,"computed":true},"linode_grant":{"type":["set",["object",{"id":"number","label":"string","permissions":"string"}]],"description":"A set containing all of the user's active grants.","description_kind":"plain","optional":true,"computed":true},"longview_grant":{"type":["set",["object",{"id":"number","label":"string","permissions":"string"}]],"description":"A set containing all of the user's active grants.","description_kind":"plain","optional":true,"computed":true},"nodebalancer_grant":{"type":["set",["object",{"id":"number","label":"string","permissions":"string"}]],"description":"A set containing all of the user's active grants.","description_kind":"plain","optional":true,"computed":true},"password_created":{"type":"string","description":"The date and time when this User’s current password was created.User passwords are first created during the Account sign-up process, and updated using the Reset Password webpage.null if this User has not created a password yet.","description_kind":"plain","computed":true},"restricted":{"type":"bool","description":"If true, this User must be granted access to perform actions or access entities on this Account.","description_kind":"plain","computed":true},"ssh_keys":{"type":["list","string"],"description":"A list of SSH Key labels added by this User. These are the keys that will be deployed if this User is included in the authorized_users field of a create Linode, rebuild Linode, or create Disk request.","description_kind":"plain","computed":true},"stackscript_grant":{"type":["set",["object",{"id":"number","label":"string","permissions":"string"}]],"description":"A set containing all of the user's active grants.","description_kind":"plain","optional":true,"computed":true},"tfa_enabled":{"type":"bool","description":"A boolean value indicating if the User has Two Factor Authentication (TFA) enabled.","description_kind":"plain","computed":true},"user_type":{"type":"string","description":"The type of this user.","description_kind":"plain","computed":true},"username":{"type":"string","description":"This User's username. This is used for logging in, and may also be displayed alongside actions the User performs (for example, in Events or public StackScripts).","description_kind":"plain","required":true},"verified_phone_number":{"type":"string","description":"The phone number verified for this User Profile with the Phone Number Verify command.null if this User Profile has no verified phone number.","description_kind":"plain","computed":true},"volume_grant":{"type":["set",["object",{"id":"number","label":"string","permissions":"string"}]],"description":"A set containing all of the user's active grants.","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"linode_users":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"The data source's unique ID.","description_kind":"plain","computed":true},"order":{"type":"string","description":"The order in which results should be returned.","description_kind":"plain","optional":true},"order_by":{"type":"string","description":"The attribute to order the results by.","description_kind":"plain","optional":true}},"block_types":{"filter":{"nesting_mode":"set","block":{"attributes":{"match_by":{"type":"string","description":"The type of comparison to use for this filter.","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the attribute to filter on.","description_kind":"plain","required":true},"values":{"type":["set","string"],"description":"The value(s) to be used in the filter.","description_kind":"plain","required":true}},"description_kind":"plain"}},"users":{"nesting_mode":"list","block":{"attributes":{"database_grant":{"type":["set",["object",{"id":"number","label":"string","permissions":"string"}]],"description":"A set containing all of the user's active grants.","description_kind":"plain","optional":true,"computed":true},"domain_grant":{"type":["set",["object",{"id":"number","label":"string","permissions":"string"}]],"description":"A set containing all of the user's active grants.","description_kind":"plain","optional":true,"computed":true},"email":{"type":"string","description":"The email address for this User, for account management communications, and may be used for other communications as configured.","description_kind":"plain","computed":true},"firewall_grant":{"type":["set",["object",{"id":"number","label":"string","permissions":"string"}]],"description":"A set containing all of the user's active grants.","description_kind":"plain","optional":true,"computed":true},"global_grants":{"type":["list",["object",{"account_access":"string","add_databases":"bool","add_domains":"bool","add_firewalls":"bool","add_images":"bool","add_linodes":"bool","add_longview":"bool","add_nodebalancers":"bool","add_stackscripts":"bool","add_volumes":"bool","cancel_account":"bool","longview_subscription":"bool"}]],"description":"A structure containing the Account-level grants a User has.","description_kind":"plain","computed":true},"id":{"type":"string","description":"Unique identifier for this DataSource.","description_kind":"plain","computed":true},"image_grant":{"type":["set",["object",{"id":"number","label":"string","permissions":"string"}]],"description":"A set containing all of the user's active grants.","description_kind":"plain","optional":true,"computed":true},"linode_grant":{"type":["set",["object",{"id":"number","label":"string","permissions":"string"}]],"description":"A set containing all of the user's active grants.","description_kind":"plain","optional":true,"computed":true},"longview_grant":{"type":["set",["object",{"id":"number","label":"string","permissions":"string"}]],"description":"A set containing all of the user's active grants.","description_kind":"plain","optional":true,"computed":true},"nodebalancer_grant":{"type":["set",["object",{"id":"number","label":"string","permissions":"string"}]],"description":"A set containing all of the user's active grants.","description_kind":"plain","optional":true,"computed":true},"password_created":{"type":"string","description":"The date and time when this User’s current password was created.User passwords are first created during the Account sign-up process, and updated using the Reset Password webpage.null if this User has not created a password yet.","description_kind":"plain","computed":true},"restricted":{"type":"bool","description":"If true, this User must be granted access to perform actions or access entities on this Account.","description_kind":"plain","computed":true},"ssh_keys":{"type":["list","string"],"description":"A list of SSH Key labels added by this User. These are the keys that will be deployed if this User is included in the authorized_users field of a create Linode, rebuild Linode, or create Disk request.","description_kind":"plain","computed":true},"stackscript_grant":{"type":["set",["object",{"id":"number","label":"string","permissions":"string"}]],"description":"A set containing all of the user's active grants.","description_kind":"plain","optional":true,"computed":true},"tfa_enabled":{"type":"bool","description":"A boolean value indicating if the User has Two Factor Authentication (TFA) enabled.","description_kind":"plain","computed":true},"user_type":{"type":"string","description":"The type of this user.","description_kind":"plain","computed":true},"username":{"type":"string","description":"This User's username. This is used for logging in, and may also be displayed alongside actions the User performs (for example, in Events or public StackScripts).","description_kind":"plain","required":true},"verified_phone_number":{"type":"string","description":"The phone number verified for this User Profile with the Phone Number Verify command.null if this User Profile has no verified phone number.","description_kind":"plain","computed":true},"volume_grant":{"type":["set",["object",{"id":"number","label":"string","permissions":"string"}]],"description":"A set containing all of the user's active grants.","description_kind":"plain","optional":true,"computed":true}},"description":"The returned list of Users.","description_kind":"plain"}}},"description_kind":"plain"}},"linode_vlans":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"The data source's unique ID.","description_kind":"plain","computed":true},"order":{"type":"string","description":"The order in which results should be returned.","description_kind":"plain","optional":true},"order_by":{"type":"string","description":"The attribute to order the results by.","description_kind":"plain","optional":true}},"block_types":{"filter":{"nesting_mode":"set","block":{"attributes":{"match_by":{"type":"string","description":"The type of comparison to use for this filter.","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the attribute to filter on.","description_kind":"plain","required":true},"values":{"type":["set","string"],"description":"The value(s) to be used in the filter.","description_kind":"plain","required":true}},"description_kind":"plain"}},"vlans":{"nesting_mode":"list","block":{"attributes":{"created":{"type":"string","description":"When this VLAN was created.","description_kind":"plain","computed":true},"label":{"type":"string","description":"The unique label of this VLAN.","description_kind":"plain","computed":true},"linodes":{"type":["set","number"],"description":"The Linodes currently attached to this VLAN.","description_kind":"plain","computed":true},"region":{"type":"string","description":"The region this VLAN is located in.","description_kind":"plain","computed":true}},"description":"The returned list of VLANs.","description_kind":"plain"}}},"description_kind":"plain"}},"linode_volume":{"version":0,"block":{"attributes":{"created":{"type":"string","description":"Datetime string representing when the Volume was created.","description_kind":"plain","computed":true},"filesystem_path":{"type":"string","description":"The full filesystem path for the Volume based on the Volume's label. Path is /dev/disk/by-id/scsi-0LinodeVolume + Volume label.","description_kind":"plain","computed":true},"id":{"type":"number","description":"The unique id of this Volume.","description_kind":"plain","required":true},"label":{"type":"string","description":"The Volume's label. For display purposes only.","description_kind":"plain","computed":true},"linode_id":{"type":"number","description":"If a Volume is attached to a specific Linode, the ID of that Linode will be displayed here.","description_kind":"plain","computed":true},"region":{"type":"string","description":"The datacenter where this Volume is located.","description_kind":"plain","computed":true},"size":{"type":"number","description":"The size of this Volume in GiB.","description_kind":"plain","computed":true},"status":{"type":"string","description":"The status of the Volume. Can be one of active | creating | resizing | contact_support","description_kind":"plain","computed":true},"tags":{"type":["set","string"],"description":"An array of tags applied to this Volume. Tags are for organizational purposes only.","description_kind":"plain","computed":true},"updated":{"type":"string","description":"Datetime string representing when the Volume was last updated.","description_kind":"plain","computed":true}},"description_kind":"plain"}},"linode_volumes":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"The data source's unique ID.","description_kind":"plain","computed":true},"order":{"type":"string","description":"The order in which results should be returned.","description_kind":"plain","optional":true},"order_by":{"type":"string","description":"The attribute to order the results by.","description_kind":"plain","optional":true}},"block_types":{"filter":{"nesting_mode":"set","block":{"attributes":{"match_by":{"type":"string","description":"The type of comparison to use for this filter.","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the attribute to filter on.","description_kind":"plain","required":true},"values":{"type":["set","string"],"description":"The value(s) to be used in the filter.","description_kind":"plain","required":true}},"description_kind":"plain"}},"volumes":{"nesting_mode":"list","block":{"attributes":{"created":{"type":"string","description":"Datetime string representing when the Volume was created.","description_kind":"plain","computed":true},"filesystem_path":{"type":"string","description":"The full filesystem path for the Volume based on the Volume's label. Path is /dev/disk/by-id/scsi-0LinodeVolume + Volume label.","description_kind":"plain","computed":true},"id":{"type":"number","description":"The unique id of this Volume.","description_kind":"plain","required":true},"label":{"type":"string","description":"The Volume's label. For display purposes only.","description_kind":"plain","computed":true},"linode_id":{"type":"number","description":"If a Volume is attached to a specific Linode, the ID of that Linode will be displayed here.","description_kind":"plain","computed":true},"region":{"type":"string","description":"The datacenter where this Volume is located.","description_kind":"plain","computed":true},"size":{"type":"number","description":"The size of this Volume in GiB.","description_kind":"plain","computed":true},"status":{"type":"string","description":"The status of the Volume. Can be one of active | creating | resizing | contact_support","description_kind":"plain","computed":true},"tags":{"type":["set","string"],"description":"An array of tags applied to this Volume. Tags are for organizational purposes only.","description_kind":"plain","computed":true},"updated":{"type":"string","description":"Datetime string representing when the Volume was last updated.","description_kind":"plain","computed":true}},"description":"The return list of Volumes.","description_kind":"plain"}}},"description_kind":"plain"}},"linode_vpc":{"version":0,"block":{"attributes":{"created":{"type":"string","description":"The date and time when the VPC was created.","description_kind":"plain","computed":true},"description":{"type":"string","description":"The user-defined description of this VPC.","description_kind":"plain","computed":true},"id":{"type":"string","description":"The id of the VPC.","description_kind":"plain","required":true},"label":{"type":"string","description":"The label of the VPC.","description_kind":"plain","computed":true},"region":{"type":"string","description":"The region of the VPC.","description_kind":"plain","computed":true},"updated":{"type":"string","description":"The date and time when the VPC was updated.","description_kind":"plain","computed":true}},"description_kind":"plain"}},"linode_vpc_subnet":{"version":0,"block":{"attributes":{"created":{"type":"string","description":"The date and time when the VPC Subnet was created.","description_kind":"plain","computed":true},"id":{"type":"string","description":"The id of the VPC Subnet.","description_kind":"plain","required":true},"ipv4":{"type":"string","description":"The IPv4 range of this subnet in CIDR format.","description_kind":"plain","computed":true},"label":{"type":"string","description":"The label of the VPC Subnet.","description_kind":"plain","computed":true},"linodes":{"type":["list",["object",{"id":"number","interfaces":["list",["object",{"active":"bool","id":"number"}]]}]],"description_kind":"plain","computed":true},"updated":{"type":"string","description":"The date and time when the VPC Subnet was updated.","description_kind":"plain","computed":true},"vpc_id":{"type":"number","description":"The id of the parent VPC for this VPC Subnet","description_kind":"plain","required":true}},"description_kind":"plain"}},"linode_vpc_subnets":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"The data source's unique ID.","description_kind":"plain","computed":true},"vpc_id":{"type":"number","description":"The id of the parent VPC for the list of VPC subnets","description_kind":"plain","required":true}},"block_types":{"filter":{"nesting_mode":"set","block":{"attributes":{"match_by":{"type":"string","description":"The type of comparison to use for this filter.","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the attribute to filter on.","description_kind":"plain","required":true},"values":{"type":["set","string"],"description":"The value(s) to be used in the filter.","description_kind":"plain","required":true}},"description_kind":"plain"}},"vpc_subnets":{"nesting_mode":"list","block":{"attributes":{"created":{"type":"string","description":"The date and time when the VPC Subnet was created.","description_kind":"plain","computed":true},"id":{"type":"number","description":"The id of the VPC Subnet.","description_kind":"plain","computed":true},"ipv4":{"type":"string","description":"The IPv4 range of this subnet in CIDR format.","description_kind":"plain","computed":true},"label":{"type":"string","description":"The label of the VPC Subnet.","description_kind":"plain","computed":true},"linodes":{"type":["list",["object",{"id":"number","interfaces":["list",["object",{"active":"bool","id":"number"}]]}]],"description_kind":"plain","computed":true},"updated":{"type":"string","description":"The date and time when the VPC Subnet was updated.","description_kind":"plain","computed":true}},"description":"The returned list of subnets under a VPC.","description_kind":"plain"}}},"description_kind":"plain"}},"linode_vpcs":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"The data source's unique ID.","description_kind":"plain","computed":true}},"block_types":{"filter":{"nesting_mode":"set","block":{"attributes":{"match_by":{"type":"string","description":"The type of comparison to use for this filter.","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the attribute to filter on.","description_kind":"plain","required":true},"values":{"type":["set","string"],"description":"The value(s) to be used in the filter.","description_kind":"plain","required":true}},"description_kind":"plain"}},"vpcs":{"nesting_mode":"list","block":{"attributes":{"created":{"type":"string","description":"The date and time when the VPC was created.","description_kind":"plain","computed":true},"description":{"type":"string","description":"The user-defined description of this VPC.","description_kind":"plain","computed":true},"id":{"type":"string","description":"The id of the VPC.","description_kind":"plain","required":true},"label":{"type":"string","description":"The label of the VPC.","description_kind":"plain","computed":true},"region":{"type":"string","description":"The region of the VPC.","description_kind":"plain","computed":true},"updated":{"type":"string","description":"The date and time when the VPC was updated.","description_kind":"plain","computed":true}},"description":"The returned list of VPCs.","description_kind":"plain"}}},"description_kind":"plain"}}}}}} +{"format_version":"1.0","provider_schemas":{"registry.terraform.io/linode/linode":{"provider":{"version":0,"block":{"attributes":{"api_version":{"type":"string","description":"The version of Linode API.","description_kind":"plain","optional":true},"config_path":{"type":"string","description":"The path to the Linode config file to use. (default `~/.config/linode`)","description_kind":"plain","optional":true},"config_profile":{"type":"string","description":"The Linode config profile to use. (default `default`)","description_kind":"plain","optional":true},"disable_internal_cache":{"type":"bool","description":"Disable the internal caching system that backs certain Linode API requests.","description_kind":"plain","optional":true},"event_poll_ms":{"type":"number","description":"The rate in milliseconds to poll for events.","description_kind":"plain","optional":true},"lke_event_poll_ms":{"type":"number","description":"The rate in milliseconds to poll for LKE events.","description_kind":"plain","optional":true},"lke_node_ready_poll_ms":{"type":"number","description":"The rate in milliseconds to poll for an LKE node to be ready.","description_kind":"plain","optional":true},"max_retry_delay_ms":{"type":"number","description":"Maximum delay in milliseconds before retrying a request.","description_kind":"plain","optional":true},"min_retry_delay_ms":{"type":"number","description":"Minimum delay in milliseconds before retrying a request.","description_kind":"plain","optional":true},"obj_access_key":{"type":"string","description":"The access key to be used in linode_object_storage_bucket and linode_object_storage_object.","description_kind":"plain","optional":true},"obj_bucket_force_delete":{"type":"bool","description":"If true, when deleting a linode_object_storage_bucket any objects and versions will be force deleted.","description_kind":"plain","optional":true},"obj_secret_key":{"type":"string","description":"The secret key to be used in linode_object_storage_bucket and linode_object_storage_object.","description_kind":"plain","optional":true,"sensitive":true},"obj_use_temp_keys":{"type":"bool","description":"If true, temporary object keys will be created implicitly at apply-time for the linode_object_storage_object and linode_object_sorage_bucket resource.","description_kind":"plain","optional":true},"skip_implicit_reboots":{"type":"bool","description":"If true, Linode Instances will not be rebooted on config and interface changes.","description_kind":"plain","optional":true},"skip_instance_delete_poll":{"type":"bool","description":"Skip waiting for a linode_instance resource to finish deleting.","description_kind":"plain","optional":true},"skip_instance_ready_poll":{"type":"bool","description":"Skip waiting for a linode_instance resource to be running.","description_kind":"plain","optional":true},"token":{"type":"string","description":"The token that allows you access to your Linode account","description_kind":"plain","optional":true},"ua_prefix":{"type":"string","description":"An HTTP User-Agent Prefix to prepend in API requests.","description_kind":"plain","optional":true},"url":{"type":"string","description":"The HTTP(S) API address of the Linode API to use.","description_kind":"plain","optional":true}},"description_kind":"plain"}},"resource_schemas":{"linode_account_settings":{"version":0,"block":{"attributes":{"backups_enabled":{"type":"bool","description":"Account-wide backups default.","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description":"The email of the current account.","description_kind":"plain","computed":true},"longview_subscription":{"type":"string","description":"The Longview Pro tier you are currently subscribed to.","description_kind":"plain","optional":true,"computed":true},"managed":{"type":"bool","description":"Enables monitoring for connectivity, response, and total request time.","description_kind":"plain","computed":true},"network_helper":{"type":"bool","description":"Enables network helper across all users by default for new Linodes and Linode Configs.","description_kind":"plain","optional":true,"computed":true},"object_storage":{"type":"string","description":"A string describing the status of this account's Object Storage service enrollment.","description_kind":"plain","computed":true}},"description_kind":"plain"}},"linode_database_access_controls":{"version":0,"block":{"attributes":{"allow_list":{"type":["set","string"],"description":"A list of IP addresses that can access the Managed Database. Each item can be a single IP address or a range in CIDR format.","description_kind":"plain","required":true},"database_id":{"type":"number","description":"The ID of the database to manage the allow list for.","description_kind":"plain","required":true},"database_type":{"type":"string","description":"The type of the database to manage the allow list for.","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"linode_database_mysql":{"version":0,"block":{"attributes":{"allow_list":{"type":["set","string"],"description":"A list of IP addresses that can access the Managed Database. Each item can be a single IP address or a range in CIDR format.","description_kind":"plain","optional":true,"computed":true},"ca_cert":{"type":"string","description":"The base64-encoded SSL CA certificate for the Managed Database instance.","description_kind":"plain","computed":true,"sensitive":true},"cluster_size":{"type":"number","description":"The number of Linode Instance nodes deployed to the Managed Database. Defaults to 1.","description_kind":"plain","optional":true},"created":{"type":"string","description":"When this Managed Database was created.","description_kind":"plain","computed":true},"encrypted":{"type":"bool","description":"Whether the Managed Databases is encrypted.","description_kind":"plain","optional":true},"engine":{"type":"string","description":"The Managed Database engine.","description_kind":"plain","computed":true},"engine_id":{"type":"string","description":"The Managed Database engine in engine/version format. (e.g. mysql/8.0.30)","description_kind":"plain","required":true},"host_primary":{"type":"string","description":"The primary host for the Managed Database.","description_kind":"plain","computed":true},"host_secondary":{"type":"string","description":"The secondary host for the Managed Database.","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"label":{"type":"string","description":"A unique, user-defined string referring to the Managed Database.","description_kind":"plain","required":true},"region":{"type":"string","description":"The region to use for the Managed Database.","description_kind":"plain","required":true},"replication_type":{"type":"string","description":"The replication method used for the Managed Database.","description_kind":"plain","optional":true},"root_password":{"type":"string","description":"The randomly-generated root password for the Managed Database instance.","description_kind":"plain","computed":true,"sensitive":true},"root_username":{"type":"string","description":"The root username for the Managed Database instance.","description_kind":"plain","computed":true,"sensitive":true},"ssl_connection":{"type":"bool","description":"Whether to require SSL credentials to establish a connection to the Managed Database.","description_kind":"plain","optional":true},"status":{"type":"string","description":"The operating status of the Managed Database.","description_kind":"plain","computed":true},"type":{"type":"string","description":"The Linode Instance type used by the Managed Database for its nodes.","description_kind":"plain","required":true},"updated":{"type":"string","description":"When this Managed Database was last updated.","description_kind":"plain","computed":true},"version":{"type":"string","description":"The Managed Database engine version.","description_kind":"plain","computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}},"updates":{"nesting_mode":"list","block":{"attributes":{"day_of_week":{"type":"string","description":"The day to perform maintenance.","description_kind":"plain","required":true},"duration":{"type":"number","description":"The maximum maintenance window time in hours.","description_kind":"plain","required":true},"frequency":{"type":"string","description":"Whether maintenance occurs on a weekly or monthly basis.","description_kind":"plain","required":true},"hour_of_day":{"type":"number","description":"The hour to begin maintenance based in UTC time.","description_kind":"plain","required":true},"week_of_month":{"type":"number","description":"The week of the month to perform monthly frequency updates. Required for monthly frequency updates.","description_kind":"plain","optional":true}},"description":"Configuration settings for automated patch update maintenance for the Managed Database.","description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"linode_database_postgresql":{"version":0,"block":{"attributes":{"allow_list":{"type":["set","string"],"description":"A list of IP addresses that can access the Managed Database. Each item can be a single IP address or a range in CIDR format.","description_kind":"plain","optional":true,"computed":true},"ca_cert":{"type":"string","description":"The base64-encoded SSL CA certificate for the Managed Database instance.","description_kind":"plain","computed":true,"sensitive":true},"cluster_size":{"type":"number","description":"The number of Linode Instance nodes deployed to the Managed Database. Defaults to 1.","description_kind":"plain","optional":true},"created":{"type":"string","description":"When this Managed Database was created.","description_kind":"plain","computed":true},"encrypted":{"type":"bool","description":"Whether the Managed Databases is encrypted.","description_kind":"plain","optional":true},"engine":{"type":"string","description":"The Managed Database engine.","description_kind":"plain","computed":true},"engine_id":{"type":"string","description":"The Managed Database engine in engine/version format. (e.g. mysql/8.0.30)","description_kind":"plain","required":true},"host_primary":{"type":"string","description":"The primary host for the Managed Database.","description_kind":"plain","computed":true},"host_secondary":{"type":"string","description":"The secondary host for the Managed Database.","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"label":{"type":"string","description":"A unique, user-defined string referring to the Managed Database.","description_kind":"plain","required":true},"port":{"type":"number","description":"The access port for this Managed Database.","description_kind":"plain","computed":true},"region":{"type":"string","description":"The region to use for the Managed Database.","description_kind":"plain","required":true},"replication_commit_type":{"type":"string","description":"The synchronization level of the replicating server.Must be `local` or `off` for the `asynch` replication type. Must be `on`, `remote_write`, or `remote_apply` for the `semi_synch` replication type.","description_kind":"plain","optional":true},"replication_type":{"type":"string","description":"The replication method used for the Managed Database. Must be `none` for a single node cluster. Must be `asynch` or `semi_synch` for a high availability cluster.","description_kind":"plain","optional":true},"root_password":{"type":"string","description":"The randomly-generated root password for the Managed Database instance.","description_kind":"plain","computed":true,"sensitive":true},"root_username":{"type":"string","description":"The root username for the Managed Database instance.","description_kind":"plain","computed":true,"sensitive":true},"ssl_connection":{"type":"bool","description":"Whether to require SSL credentials to establish a connection to the Managed Database.","description_kind":"plain","optional":true},"status":{"type":"string","description":"The operating status of the Managed Database.","description_kind":"plain","computed":true},"type":{"type":"string","description":"The Linode Instance type used by the Managed Database for its nodes.","description_kind":"plain","required":true},"updated":{"type":"string","description":"When this Managed Database was last updated.","description_kind":"plain","computed":true},"version":{"type":"string","description":"The Managed Database engine version.","description_kind":"plain","computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}},"updates":{"nesting_mode":"list","block":{"attributes":{"day_of_week":{"type":"string","description":"The day to perform maintenance.","description_kind":"plain","required":true},"duration":{"type":"number","description":"The maximum maintenance window time in hours.","description_kind":"plain","required":true},"frequency":{"type":"string","description":"Whether maintenance occurs on a weekly or monthly basis.","description_kind":"plain","required":true},"hour_of_day":{"type":"number","description":"The hour to begin maintenance based in UTC time.","description_kind":"plain","required":true},"week_of_month":{"type":"number","description":"The week of the month to perform monthly frequency updates. Required for monthly frequency updates.","description_kind":"plain","optional":true}},"description":"Configuration settings for automated patch update maintenance for the Managed Database.","description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"linode_domain":{"version":0,"block":{"attributes":{"axfr_ips":{"type":["set","string"],"description":"The list of IPs that may perform a zone transfer for this Domain. This is potentially dangerous, and should be set to an empty list unless you intend to use it.","description_kind":"plain","optional":true},"description":{"type":"string","description":"A description for this Domain. This is for display purposes only.","description_kind":"plain","optional":true},"domain":{"type":"string","description":"The domain this Domain represents. These must be unique in our system; you cannot have two Domains representing the same domain.","description_kind":"plain","required":true},"expire_sec":{"type":"number","description":"The amount of time in seconds that may pass before this Domain is no longer Valid values are 0, 30, 120, 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200 - any other value will be rounded to the nearest valid value.","description_kind":"plain","optional":true},"group":{"type":"string","description":"The group this Domain belongs to. This is for display purposes only.","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"master_ips":{"type":["set","string"],"description":"The IP addresses representing the master DNS for this Domain.","description_kind":"plain","optional":true},"refresh_sec":{"type":"number","description":"The amount of time in seconds before this Domain should be refreshed. Valid values are 0, 30, 120, 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200 - any other value will be rounded to the nearest valid value.","description_kind":"plain","optional":true},"retry_sec":{"type":"number","description":"The interval, in seconds, at which a failed refresh should be retried. Valid values are 0, 30, 120, 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200 - any other value will be rounded to the nearest valid value.","description_kind":"plain","optional":true},"soa_email":{"type":"string","description":"Start of Authority email address. This is required for master Domains.","description_kind":"plain","optional":true},"status":{"type":"string","description":"Used to control whether this Domain is currently being rendered.","description_kind":"plain","optional":true,"computed":true},"tags":{"type":["set","string"],"description":"An array of tags applied to this object. Tags are for organizational purposes only.","description_kind":"plain","optional":true,"computed":true},"ttl_sec":{"type":"number","description":"'Time to Live' - the amount of time in seconds that this Domain's records may be cached by resolvers or other domain servers. Valid values are 0, 30, 120, 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200 - any other value will be rounded to the nearest valid value.","description_kind":"plain","optional":true},"type":{"type":"string","description":"If this Domain represents the authoritative source of information for the domain it describes, or if it is a read-only copy of a master (also called a slave).","description_kind":"plain","required":true}},"description_kind":"plain"}},"linode_domain_record":{"version":0,"block":{"attributes":{"domain_id":{"type":"number","description":"The ID of the Domain to access.","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"The name of this Record. This field's actual usage depends on the type of record this represents. For A and AAAA records, this is the subdomain being associated with an IP address. Generated for SRV records.","description_kind":"plain","optional":true,"computed":true},"port":{"type":"number","description":"The port this Record points to.","description_kind":"plain","optional":true},"priority":{"type":"number","description":"The priority of the target host. Lower values are preferred.","description_kind":"plain","optional":true},"protocol":{"type":"string","description":"The protocol this Record's service communicates with. Only valid for SRV records.","description_kind":"plain","optional":true},"record_type":{"type":"string","description":"The type of Record this is in the DNS system. For example, A records associate a domain name with an IPv4 address, and AAAA records associate a domain name with an IPv6 address.","description_kind":"plain","required":true},"service":{"type":"string","description":"The service this Record identified. Only valid for SRV records.","description_kind":"plain","optional":true},"tag":{"type":"string","description":"The tag portion of a CAA record. It is invalid to set this on other record types.","description_kind":"plain","optional":true},"target":{"type":"string","description":"The target for this Record. This field's actual usage depends on the type of record this represents. For A and AAAA records, this is the address the named Domain should resolve to.","description_kind":"plain","required":true},"ttl_sec":{"type":"number","description":"'Time to Live' - the amount of time in seconds that this Domain's records may be cached by resolvers or other domain servers. Valid values are 30, 120, 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200 - any other value will be rounded to the nearest valid value.","description_kind":"plain","optional":true},"weight":{"type":"number","description":"The relative weight of this Record. Higher values are preferred.","description_kind":"plain","optional":true}},"description_kind":"plain"}},"linode_firewall":{"version":0,"block":{"attributes":{"created":{"type":"string","description":"When this firewall was created","description_kind":"plain","computed":true},"devices":{"type":["list",["object",{"entity_id":"number","id":"number","label":"string","type":"string","url":"string"}]],"description":"The devices associated with this firewall.","description_kind":"plain","computed":true},"disabled":{"type":"bool","description":"If true, the Firewall is inactive.","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"inbound_policy":{"type":"string","description":"The default behavior for inbound traffic. This setting can be overridden by updating the inbound.action property for an individual Firewall Rule.","description_kind":"plain","required":true},"label":{"type":"string","description":"The label for the Firewall. For display purposes only. If no label is provided, a default will be assigned.","description_kind":"plain","required":true},"linodes":{"type":["set","number"],"description":"The IDs of Linodes to apply this firewall to.","description_kind":"plain","optional":true,"computed":true},"nodebalancers":{"type":["set","number"],"description":"The IDs of NodeBalancers to apply this firewall to.","description_kind":"plain","optional":true,"computed":true},"outbound_policy":{"type":"string","description":"The default behavior for outbound traffic. This setting can be overridden by updating the outbound.action property for an individual Firewall Rule.","description_kind":"plain","required":true},"status":{"type":"string","description":"The status of the firewall.","description_kind":"plain","computed":true},"tags":{"type":["set","string"],"description":"An array of tags applied to this object. Tags are for organizational purposes only.","description_kind":"plain","optional":true,"computed":true},"updated":{"type":"string","description":"When this firewall was last updated","description_kind":"plain","computed":true}},"block_types":{"inbound":{"nesting_mode":"list","block":{"attributes":{"action":{"type":"string","description":"Controls whether traffic is accepted or dropped by this rule. Overrides the Firewall’s inbound_policy if this is an inbound rule, or the outbound_policy if this is an outbound rule.","description_kind":"plain","required":true},"ipv4":{"type":["list","string"],"description":"A list of CIDR blocks or 0.0.0.0/0 (to allow all) this rule applies to.","description_kind":"plain","optional":true},"ipv6":{"type":["list","string"],"description":"A list of IPv6 addresses or networks this rule applies to.","description_kind":"plain","optional":true},"label":{"type":"string","description":"Used to identify this rule. For display purposes only.","description_kind":"plain","required":true},"ports":{"type":"string","description":"A string representation of ports and/or port ranges (i.e. \"443\" or \"80-90, 91\").","description_kind":"plain","optional":true},"protocol":{"type":"string","description":"The network protocol this rule controls.","description_kind":"plain","required":true}},"description":"A firewall rule that specifies what inbound network traffic is allowed.","description_kind":"plain"}},"outbound":{"nesting_mode":"list","block":{"attributes":{"action":{"type":"string","description":"Controls whether traffic is accepted or dropped by this rule. Overrides the Firewall’s inbound_policy if this is an inbound rule, or the outbound_policy if this is an outbound rule.","description_kind":"plain","required":true},"ipv4":{"type":["list","string"],"description":"A list of CIDR blocks or 0.0.0.0/0 (to allow all) this rule applies to.","description_kind":"plain","optional":true},"ipv6":{"type":["list","string"],"description":"A list of IPv6 addresses or networks this rule applies to.","description_kind":"plain","optional":true},"label":{"type":"string","description":"Used to identify this rule. For display purposes only.","description_kind":"plain","required":true},"ports":{"type":"string","description":"A string representation of ports and/or port ranges (i.e. \"443\" or \"80-90, 91\").","description_kind":"plain","optional":true},"protocol":{"type":"string","description":"The network protocol this rule controls.","description_kind":"plain","required":true}},"description":"A firewall rule that specifies what outbound network traffic is allowed.","description_kind":"plain"}}},"description_kind":"plain"}},"linode_firewall_device":{"version":0,"block":{"attributes":{"created":{"type":"string","description":"When this Firewall Device was created.","description_kind":"plain","computed":true},"entity_id":{"type":"number","description":"The ID of the entity to create a Firewall device for.","description_kind":"plain","required":true},"entity_type":{"type":"string","description":"The type of the entity to create a Firewall device for.","description_kind":"plain","optional":true,"computed":true},"firewall_id":{"type":"number","description":"The ID of the Firewall to access.","description_kind":"plain","required":true},"id":{"type":"string","description":"The unique ID that represents the firewall device in the Terraform state.","description_kind":"plain","computed":true},"updated":{"type":"string","description":"When this Firewall Device was updated.","description_kind":"plain","computed":true}},"description_kind":"plain"}},"linode_image":{"version":0,"block":{"attributes":{"capabilities":{"type":["list","string"],"description":"The capabilities of this Image.","description_kind":"plain","computed":true},"cloud_init":{"type":"bool","description":"Whether this image supports cloud-init.","description_kind":"plain","optional":true,"computed":true},"created":{"type":"string","description":"When this Image was created.","description_kind":"plain","computed":true},"created_by":{"type":"string","description":"The name of the User who created this Image.","description_kind":"plain","computed":true},"deprecated":{"type":"bool","description":"Whether or not this Image is deprecated. Will only be True for deprecated public Images.","description_kind":"plain","computed":true},"description":{"type":"string","description":"A detailed description of this Image.","description_kind":"plain","optional":true},"disk_id":{"type":"number","description":"The ID of the Linode Disk that this Image will be created from.","description_kind":"plain","optional":true},"expiry":{"type":"string","description":"Only Images created automatically (from a deleted Linode; type=automatic) will expire.","description_kind":"plain","computed":true},"file_hash":{"type":"string","description":"The MD5 hash of the image file.","description_kind":"plain","optional":true,"computed":true},"file_path":{"type":"string","description":"The name of the file to upload to this image.","description_kind":"plain","optional":true},"id":{"type":"string","description":"The ID of the Linode image.","description_kind":"plain","computed":true},"is_public":{"type":"bool","description":"True if the Image is public.","description_kind":"plain","computed":true},"label":{"type":"string","description":"A short description of the Image. Labels cannot contain special characters.","description_kind":"plain","required":true},"linode_id":{"type":"number","description":"The ID of the Linode that this Image will be created from.","description_kind":"plain","optional":true},"region":{"type":"string","description":"The region to upload to.","description_kind":"plain","optional":true},"size":{"type":"number","description":"The minimum size this Image needs to deploy. Size is in MB.","description_kind":"plain","computed":true},"status":{"type":"string","description":"The current status of this Image.","description_kind":"plain","computed":true},"type":{"type":"string","description":"How the Image was created. 'Manual' Images can be created at any time. 'Automatic' images are created automatically from a deleted Linode.","description_kind":"plain","computed":true},"vendor":{"type":"string","description":"The upstream distribution vendor. Nil for private Images.","description_kind":"plain","computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"linode_instance":{"version":0,"block":{"attributes":{"authorized_keys":{"type":["list","string"],"description":"A list of SSH public keys to deploy for the root user on the newly created Linode. Only accepted if 'image' is provided.","description_kind":"plain","optional":true},"authorized_users":{"type":["list","string"],"description":"A list of Linode usernames. If the usernames have associated SSH keys, the keys will be appended to the `root` user's `~/.ssh/authorized_keys` file automatically. Only accepted if 'image' is provided.","description_kind":"plain","optional":true},"backup_id":{"type":"number","description":"A Backup ID from another Linode's available backups. Your User must have read_write access to that Linode, the Backup must have a status of successful, and the Linode must be deployed to the same region as the Backup. See /linode/instances/{linodeId}/backups for a Linode's available backups. This field and the image field are mutually exclusive.","description_kind":"plain","optional":true},"backups":{"type":["list",["object",{"available":"bool","enabled":"bool","schedule":["list",["object",{"day":"string","window":"string"}]]}]],"description":"Information about this Linode's backups status.","description_kind":"plain","computed":true},"backups_enabled":{"type":"bool","description":"If this field is set to true, the created Linode will automatically be enrolled in the Linode Backup service. This will incur an additional charge. The cost for the Backup service is dependent on the Type of Linode deployed.","description_kind":"plain","optional":true,"computed":true},"boot_config_label":{"type":"string","description":"The Label of the Instance Config that should be used to boot the Linode instance.","description_kind":"plain","optional":true,"computed":true},"booted":{"type":"bool","description_kind":"plain","optional":true,"computed":true},"firewall_id":{"type":"number","description":"The ID of the firewall applied to the Linode instance during creation.","description_kind":"plain","optional":true},"group":{"type":"string","description":"The display group of the Linode instance.","description_kind":"plain","deprecated":true,"optional":true},"has_user_data":{"type":"bool","description":"Whether or not this Instance was created with user-data.","description_kind":"plain","computed":true},"host_uuid":{"type":"string","description":"The Linode’s host machine, as a UUID.","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"image":{"type":"string","description":"An Image ID to deploy the Disk from. Official Linode Images start with linode/, while your Images start with private/. See /images for more information on the Images available for you to use.","description_kind":"plain","optional":true},"ip_address":{"type":"string","description":"This Linode's Public IPv4 Address. If there are multiple public IPv4 addresses on this Instance, an arbitrary address will be used for this field.","description_kind":"plain","computed":true},"ipv4":{"type":["set","string"],"description":"This Linode's IPv4 Addresses. Each Linode is assigned a single public IPv4 address upon creation, and may get a single private IPv4 address if needed. You may need to open a support ticket to get additional IPv4 addresses.","description_kind":"plain","computed":true},"ipv6":{"type":"string","description":"This Linode's IPv6 SLAAC addresses. This address is specific to a Linode, and may not be shared.","description_kind":"plain","computed":true},"label":{"type":"string","description":"The Linode's label is for display purposes only. If no label is provided for a Linode, a default will be assigned","description_kind":"plain","optional":true,"computed":true},"migration_type":{"type":"string","description":"The type of migration to use for resize and migration operations.","description_kind":"plain","optional":true},"placement_group_externally_managed":{"type":"bool","description":"If true, this placement group's assignment is externally managed and will NOT be updated by this resource.","description_kind":"plain","optional":true},"private_ip":{"type":"bool","description":"If true, the created Linode will have private networking enabled, allowing use of the 192.168.128.0/17 network within the Linode's region.","description_kind":"plain","optional":true},"private_ip_address":{"type":"string","description":"This Linode's Private IPv4 Address. The regional private IP address range is 192.168.128/17 address shared by all Linode Instances in a region.","description_kind":"plain","computed":true},"region":{"type":"string","description":"This is the location where the Linode was deployed. This cannot be changed without opening a support ticket.","description_kind":"plain","required":true},"resize_disk":{"type":"bool","description":"If true, changes in Linode type will attempt to upsize or downsize implicitly created disks. This must be false if explicit disks are defined. This is an irreversible action as Linode disks cannot be automatically downsized.","description_kind":"plain","optional":true},"root_pass":{"type":"string","description":"The password that will be initially assigned to the 'root' user account.","description_kind":"plain","optional":true,"sensitive":true},"shared_ipv4":{"type":["set","string"],"description":"A set of IPv4 addresses to share with this Linode.","description_kind":"plain","optional":true,"computed":true},"specs":{"type":["list",["object",{"disk":"number","memory":"number","transfer":"number","vcpus":"number"}]],"description":"Information about the resources available to this Linode.","description_kind":"plain","computed":true},"stackscript_data":{"type":["map","string"],"description":"An object containing responses to any User Defined Fields present in the StackScript being deployed to this Linode. Only accepted if 'stackscript_id' is given. The required values depend on the StackScript being deployed.","description_kind":"plain","optional":true,"sensitive":true},"stackscript_id":{"type":"number","description":"The StackScript to deploy to the newly created Linode. If provided, 'image' must also be provided, and must be an Image that is compatible with this StackScript.","description_kind":"plain","optional":true},"status":{"type":"string","description":"The status of the instance, indicating the current readiness state.","description_kind":"plain","computed":true},"swap_size":{"type":"number","description":"When deploying from an Image, this field is optional with a Linode API default of 512mb, otherwise it is ignored. This is used to set the swap disk size for the newly-created Linode.","description_kind":"plain","optional":true,"computed":true},"tags":{"type":["set","string"],"description":"An array of tags applied to this object. Tags are for organizational purposes only.","description_kind":"plain","optional":true,"computed":true},"type":{"type":"string","description":"The type of instance to be deployed, determining the price and size.","description_kind":"plain","optional":true},"watchdog_enabled":{"type":"bool","description":"The watchdog, named Lassie, is a Shutdown Watchdog that monitors your Linode and will reboot it if it powers off unexpectedly. It works by issuing a boot job when your Linode powers off without a shutdown job being responsible. To prevent a loop, Lassie will give up if there have been more than 5 boot jobs issued within 15 minutes.","description_kind":"plain","optional":true}},"block_types":{"alerts":{"nesting_mode":"list","block":{"attributes":{"cpu":{"type":"number","description":"The percentage of CPU usage required to trigger an alert. If the average CPU usage over two hours exceeds this value, we'll send you an alert. If this is set to 0, the alert is disabled.","description_kind":"plain","optional":true,"computed":true},"io":{"type":"number","description":"The amount of disk IO operation per second required to trigger an alert. If the average disk IO over two hours exceeds this value, we'll send you an alert. If set to 0, this alert is disabled.","description_kind":"plain","optional":true,"computed":true},"network_in":{"type":"number","description":"The amount of incoming traffic, in Mbit/s, required to trigger an alert. If the average incoming traffic over two hours exceeds this value, we'll send you an alert. If this is set to 0 (zero), the alert is disabled.","description_kind":"plain","optional":true,"computed":true},"network_out":{"type":"number","description":"The amount of outbound traffic, in Mbit/s, required to trigger an alert. If the average outbound traffic over two hours exceeds this value, we'll send you an alert. If this is set to 0 (zero), the alert is disabled.","description_kind":"plain","optional":true,"computed":true},"transfer_quota":{"type":"number","description":"The percentage of network transfer that may be used before an alert is triggered. When this value is exceeded, we'll alert you. If this is set to 0 (zero), the alert is disabled.","description_kind":"plain","optional":true,"computed":true}},"description":"Configuration options for alert triggers on this Linode.","description_kind":"plain"},"max_items":1},"config":{"nesting_mode":"list","block":{"attributes":{"comments":{"type":"string","description":"Optional field for arbitrary User comments on this Config.","description_kind":"plain","optional":true},"id":{"type":"number","description":"The unique ID of this Config.","description_kind":"plain","computed":true},"kernel":{"type":"string","description":"A Kernel ID to boot a Linode with. Default is based on image choice. (examples: linode/latest-64bit, linode/grub2, linode/direct-disk)","description_kind":"plain","optional":true},"label":{"type":"string","description":"The Config's label for display purposes. Also used by `boot_config_label`.","description_kind":"plain","required":true},"memory_limit":{"type":"number","description":"Defaults to the total RAM of the Linode","description_kind":"plain","optional":true},"root_device":{"type":"string","description":"The root device to boot. The corresponding disk must be attached.","description_kind":"plain","optional":true,"computed":true},"run_level":{"type":"string","description":"Defines the state of your Linode after booting. Defaults to default.","description_kind":"plain","optional":true},"virt_mode":{"type":"string","description":"Controls the virtualization mode. Defaults to paravirt.","description_kind":"plain","optional":true}},"block_types":{"devices":{"nesting_mode":"list","block":{"block_types":{"sda":{"nesting_mode":"list","block":{"attributes":{"disk_id":{"type":"number","description":"The Disk ID to map to this disk slot","description_kind":"plain","optional":true,"computed":true},"disk_label":{"type":"string","description":"The `label` of the `disk` to map to this `device` slot.","description_kind":"plain","optional":true},"volume_id":{"type":"number","description":"The Block Storage volume ID to map to this disk slot","description_kind":"plain","optional":true}},"description":"Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.","description_kind":"plain"},"max_items":1},"sdb":{"nesting_mode":"list","block":{"attributes":{"disk_id":{"type":"number","description":"The Disk ID to map to this disk slot","description_kind":"plain","optional":true,"computed":true},"disk_label":{"type":"string","description":"The `label` of the `disk` to map to this `device` slot.","description_kind":"plain","optional":true},"volume_id":{"type":"number","description":"The Block Storage volume ID to map to this disk slot","description_kind":"plain","optional":true}},"description":"Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.","description_kind":"plain"},"max_items":1},"sdc":{"nesting_mode":"list","block":{"attributes":{"disk_id":{"type":"number","description":"The Disk ID to map to this disk slot","description_kind":"plain","optional":true,"computed":true},"disk_label":{"type":"string","description":"The `label` of the `disk` to map to this `device` slot.","description_kind":"plain","optional":true},"volume_id":{"type":"number","description":"The Block Storage volume ID to map to this disk slot","description_kind":"plain","optional":true}},"description":"Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.","description_kind":"plain"},"max_items":1},"sdd":{"nesting_mode":"list","block":{"attributes":{"disk_id":{"type":"number","description":"The Disk ID to map to this disk slot","description_kind":"plain","optional":true,"computed":true},"disk_label":{"type":"string","description":"The `label` of the `disk` to map to this `device` slot.","description_kind":"plain","optional":true},"volume_id":{"type":"number","description":"The Block Storage volume ID to map to this disk slot","description_kind":"plain","optional":true}},"description":"Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.","description_kind":"plain"},"max_items":1},"sde":{"nesting_mode":"list","block":{"attributes":{"disk_id":{"type":"number","description":"The Disk ID to map to this disk slot","description_kind":"plain","optional":true,"computed":true},"disk_label":{"type":"string","description":"The `label` of the `disk` to map to this `device` slot.","description_kind":"plain","optional":true},"volume_id":{"type":"number","description":"The Block Storage volume ID to map to this disk slot","description_kind":"plain","optional":true}},"description":"Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.","description_kind":"plain"},"max_items":1},"sdf":{"nesting_mode":"list","block":{"attributes":{"disk_id":{"type":"number","description":"The Disk ID to map to this disk slot","description_kind":"plain","optional":true,"computed":true},"disk_label":{"type":"string","description":"The `label` of the `disk` to map to this `device` slot.","description_kind":"plain","optional":true},"volume_id":{"type":"number","description":"The Block Storage volume ID to map to this disk slot","description_kind":"plain","optional":true}},"description":"Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.","description_kind":"plain"},"max_items":1},"sdg":{"nesting_mode":"list","block":{"attributes":{"disk_id":{"type":"number","description":"The Disk ID to map to this disk slot","description_kind":"plain","optional":true,"computed":true},"disk_label":{"type":"string","description":"The `label` of the `disk` to map to this `device` slot.","description_kind":"plain","optional":true},"volume_id":{"type":"number","description":"The Block Storage volume ID to map to this disk slot","description_kind":"plain","optional":true}},"description":"Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.","description_kind":"plain"},"max_items":1},"sdh":{"nesting_mode":"list","block":{"attributes":{"disk_id":{"type":"number","description":"The Disk ID to map to this disk slot","description_kind":"plain","optional":true,"computed":true},"disk_label":{"type":"string","description":"The `label` of the `disk` to map to this `device` slot.","description_kind":"plain","optional":true},"volume_id":{"type":"number","description":"The Block Storage volume ID to map to this disk slot","description_kind":"plain","optional":true}},"description":"Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.","description_kind":"plain"},"max_items":1}},"description":"Device sda-sdh can be either a Disk or Volume identified by disk_label or volume_id. Only one type per slot allowed.","description_kind":"plain"},"max_items":1},"helpers":{"nesting_mode":"list","block":{"attributes":{"devtmpfs_automount":{"type":"bool","description":"Populates the /dev directory early during boot without udev. Defaults to false.","description_kind":"plain","optional":true},"distro":{"type":"bool","description":"Controls the behavior of the Linode Config's Distribution Helper setting.","description_kind":"plain","optional":true},"modules_dep":{"type":"bool","description":"Creates a modules dependency file for the Kernel you run.","description_kind":"plain","optional":true},"network":{"type":"bool","description":"Controls the behavior of the Linode Config's Network Helper setting, used to automatically configure additional IP addresses assigned to this instance.","description_kind":"plain","optional":true},"updatedb_disabled":{"type":"bool","description":"Disables updatedb cron job to avoid disk thrashing.","description_kind":"plain","optional":true}},"description":"Helpers enabled when booting to this Linode Config.","description_kind":"plain"},"max_items":1},"interface":{"nesting_mode":"list","block":{"attributes":{"active":{"type":"bool","description":"Whether this interface is currently booted and active.","description_kind":"plain","computed":true},"id":{"type":"number","description":"The ID of the interface.","description_kind":"plain","computed":true},"ip_ranges":{"type":["list","string"],"description":"List of VPC IPs or IP ranges inside the VPC subnet.","description_kind":"plain","optional":true},"ipam_address":{"type":"string","description":"This Network Interface's private IP address in Classless Inter-Domain Routing (CIDR) notation.This attribute is only allowed for VLAN interfaces.","description_kind":"plain","optional":true},"label":{"type":"string","description":"The name of the VALN. This attribute is required for VLAN interfaces. This attribute is only allowed for VLAN interfaces.","description_kind":"plain","optional":true},"primary":{"type":"bool","description":"Whether the interface is the primary interface that should have the default route for this Linode.","description_kind":"plain","optional":true},"purpose":{"type":"string","description":"The type of interface.","description_kind":"plain","required":true},"subnet_id":{"type":"number","description":"The ID of the subnet which the VPC interface is connected to.This attribute is required for VPC interfaces.This attribute is only allowed for VPC interfaces.","description_kind":"plain","optional":true},"vpc_id":{"type":"number","description":"The ID of VPC of the subnet which the VPC interface is connected to.","description_kind":"plain","computed":true}},"block_types":{"ipv4":{"nesting_mode":"list","block":{"attributes":{"nat_1_1":{"type":"string","description":"The public IP that will be used for the one-to-one NAT purpose.","description_kind":"plain","optional":true,"computed":true},"vpc":{"type":"string","description":"The IP from the VPC subnet to use for this interface.","description_kind":"plain","optional":true,"computed":true}},"description":"The IPv4 configuration of the VPC interface.This attribute is only allowed for VPC interfaces.","description_kind":"plain"},"max_items":1}},"description":"An array of Network Interfaces for this Linode’s Configuration Profile.","description_kind":"plain"}}},"description":"Configuration profiles define the VM settings and boot behavior of the Linode Instance.","description_kind":"plain","deprecated":true}},"disk":{"nesting_mode":"list","block":{"attributes":{"authorized_keys":{"type":["list","string"],"description":"A list of SSH public keys to deploy for the root user on the newly created Linode. Only accepted if 'image' is provided.","description_kind":"plain","optional":true},"authorized_users":{"type":["list","string"],"description":"A list of Linode usernames. If the usernames have associated SSH keys, the keys will be appended to the `root` user's `~/.ssh/authorized_keys` file automatically. Only accepted if 'image' is provided.","description_kind":"plain","optional":true},"filesystem":{"type":"string","description":"The Disk filesystem can be one of: raw, swap, ext3, ext4, initrd (max 32mb)","description_kind":"plain","optional":true,"computed":true},"id":{"type":"number","description":"The ID of the Disk (for use in Linode Image resources and Linode Instance Config Devices)","description_kind":"plain","computed":true},"image":{"type":"string","description":"An Image ID to deploy the Disk from. Official Linode Images start with linode/, while your Images start with private/.","description_kind":"plain","optional":true,"computed":true},"label":{"type":"string","description":"The disks label, which acts as an identifier in Terraform.","description_kind":"plain","required":true},"read_only":{"type":"bool","description":"If true, this Disk is read-only.","description_kind":"plain","optional":true,"computed":true},"root_pass":{"type":"string","description":"The password that will be initialially assigned to the 'root' user account.","description_kind":"plain","optional":true,"sensitive":true},"size":{"type":"number","description":"The size of the Disk in MB.","description_kind":"plain","required":true},"stackscript_data":{"type":["map","string"],"description":"An object containing responses to any User Defined Fields present in the StackScript being deployed to this Linode. Only accepted if 'stackscript_id' is given. The required values depend on the StackScript being deployed.","description_kind":"plain","optional":true,"computed":true,"sensitive":true},"stackscript_id":{"type":"number","description":"The StackScript to deploy to the newly created Linode. If provided, 'image' must also be provided, and must be an Image that is compatible with this StackScript.","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain","deprecated":true}},"interface":{"nesting_mode":"list","block":{"attributes":{"active":{"type":"bool","description":"Whether this interface is currently booted and active.","description_kind":"plain","computed":true},"id":{"type":"number","description":"The ID of the interface.","description_kind":"plain","computed":true},"ip_ranges":{"type":["list","string"],"description":"List of VPC IPs or IP ranges inside the VPC subnet.","description_kind":"plain","optional":true},"ipam_address":{"type":"string","description":"This Network Interface's private IP address in Classless Inter-Domain Routing (CIDR) notation.This attribute is only allowed for VLAN interfaces.","description_kind":"plain","optional":true},"label":{"type":"string","description":"The name of the VALN. This attribute is required for VLAN interfaces. This attribute is only allowed for VLAN interfaces.","description_kind":"plain","optional":true},"primary":{"type":"bool","description":"Whether the interface is the primary interface that should have the default route for this Linode.","description_kind":"plain","optional":true},"purpose":{"type":"string","description":"The type of interface.","description_kind":"plain","required":true},"subnet_id":{"type":"number","description":"The ID of the subnet which the VPC interface is connected to.This attribute is required for VPC interfaces.This attribute is only allowed for VPC interfaces.","description_kind":"plain","optional":true},"vpc_id":{"type":"number","description":"The ID of VPC of the subnet which the VPC interface is connected to.","description_kind":"plain","computed":true}},"block_types":{"ipv4":{"nesting_mode":"list","block":{"attributes":{"nat_1_1":{"type":"string","description":"The public IP that will be used for the one-to-one NAT purpose.","description_kind":"plain","optional":true,"computed":true},"vpc":{"type":"string","description":"The IP from the VPC subnet to use for this interface.","description_kind":"plain","optional":true,"computed":true}},"description":"The IPv4 configuration of the VPC interface.This attribute is only allowed for VPC interfaces.","description_kind":"plain"},"max_items":1}},"description":"An array of Network Interfaces for this Linode to be created with. If an explicit config or disk is defined, interfaces must be declared in the config block.","description_kind":"plain"}},"metadata":{"nesting_mode":"list","block":{"attributes":{"user_data":{"type":"string","description":"The base64-encoded user-defined data exposed to this instance through the Linode Metadata service. Refer to the base64encode(...) function for information on encoding content for this field.","description_kind":"plain","optional":true}},"description":"Various fields related to the Linode Metadata service.","description_kind":"plain"}},"placement_group":{"nesting_mode":"list","block":{"attributes":{"compliant_only":{"type":"bool","description_kind":"plain","optional":true},"id":{"type":"number","description":"The ID of the Placement Group to assign this Linode to.","description_kind":"plain","required":true},"label":{"type":"string","description":"The label of this Placement Group.","description_kind":"plain","computed":true},"placement_group_policy":{"type":"string","description":"Whether compliance is strictly enforced by this Placement Group.","description_kind":"plain","optional":true,"computed":true},"placement_group_type":{"type":"string","description":"The placement group type for this Placement Group.","description_kind":"plain","computed":true}},"description":"Fields related to the Placement Group this instance is assigned to.","description_kind":"plain"},"max_items":1},"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"linode_instance_config":{"version":0,"block":{"attributes":{"booted":{"type":"bool","description":"If true, the Linode will be booted to running state. If false, the Linode will be shutdown. If undefined, no action will be taken.","description_kind":"plain","optional":true,"computed":true},"comments":{"type":"string","description":"Optional field for arbitrary User comments on this Config.","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kernel":{"type":"string","description":"A Kernel ID to boot a Linode with. Defaults to “linode/latest-64bit”.","description_kind":"plain","optional":true},"label":{"type":"string","description":"The Config's label for display purposes only.","description_kind":"plain","required":true},"linode_id":{"type":"number","description":"The ID of the Linode to create this configuration profile under.","description_kind":"plain","required":true},"memory_limit":{"type":"number","description":"The memory limit of the Linode.","description_kind":"plain","optional":true,"computed":true},"root_device":{"type":"string","description":"The root device to boot. If no value or an invalid value is provided, root device will default to /dev/sda. If the device specified at the root device location is not mounted, the Linode will not boot until a device is mounted.","description_kind":"plain","optional":true},"run_level":{"type":"string","description":"Defines the state of your Linode after booting.","description_kind":"plain","optional":true},"virt_mode":{"type":"string","description":"Controls the virtualization mode.","description_kind":"plain","optional":true}},"block_types":{"device":{"nesting_mode":"set","block":{"attributes":{"device_name":{"type":"string","description":"The Disk ID to map to this disk slot","description_kind":"plain","required":true},"disk_id":{"type":"number","description":"The Disk ID to map to this disk slot","description_kind":"plain","optional":true},"volume_id":{"type":"number","description":"The Block Storage volume ID to map to this disk slot","description_kind":"plain","optional":true}},"description":"Blocks for device disks in a Linode's configuration profile.","description_kind":"plain"}},"devices":{"nesting_mode":"list","block":{"block_types":{"sda":{"nesting_mode":"list","block":{"attributes":{"disk_id":{"type":"number","description":"The Disk ID to map to this disk slot","description_kind":"plain","optional":true},"volume_id":{"type":"number","description":"The Block Storage volume ID to map to this disk slot","description_kind":"plain","optional":true}},"description":"Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.","description_kind":"plain"},"max_items":1},"sdb":{"nesting_mode":"list","block":{"attributes":{"disk_id":{"type":"number","description":"The Disk ID to map to this disk slot","description_kind":"plain","optional":true},"volume_id":{"type":"number","description":"The Block Storage volume ID to map to this disk slot","description_kind":"plain","optional":true}},"description":"Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.","description_kind":"plain"},"max_items":1},"sdc":{"nesting_mode":"list","block":{"attributes":{"disk_id":{"type":"number","description":"The Disk ID to map to this disk slot","description_kind":"plain","optional":true},"volume_id":{"type":"number","description":"The Block Storage volume ID to map to this disk slot","description_kind":"plain","optional":true}},"description":"Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.","description_kind":"plain"},"max_items":1},"sdd":{"nesting_mode":"list","block":{"attributes":{"disk_id":{"type":"number","description":"The Disk ID to map to this disk slot","description_kind":"plain","optional":true},"volume_id":{"type":"number","description":"The Block Storage volume ID to map to this disk slot","description_kind":"plain","optional":true}},"description":"Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.","description_kind":"plain"},"max_items":1},"sde":{"nesting_mode":"list","block":{"attributes":{"disk_id":{"type":"number","description":"The Disk ID to map to this disk slot","description_kind":"plain","optional":true},"volume_id":{"type":"number","description":"The Block Storage volume ID to map to this disk slot","description_kind":"plain","optional":true}},"description":"Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.","description_kind":"plain"},"max_items":1},"sdf":{"nesting_mode":"list","block":{"attributes":{"disk_id":{"type":"number","description":"The Disk ID to map to this disk slot","description_kind":"plain","optional":true},"volume_id":{"type":"number","description":"The Block Storage volume ID to map to this disk slot","description_kind":"plain","optional":true}},"description":"Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.","description_kind":"plain"},"max_items":1},"sdg":{"nesting_mode":"list","block":{"attributes":{"disk_id":{"type":"number","description":"The Disk ID to map to this disk slot","description_kind":"plain","optional":true},"volume_id":{"type":"number","description":"The Block Storage volume ID to map to this disk slot","description_kind":"plain","optional":true}},"description":"Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.","description_kind":"plain"},"max_items":1},"sdh":{"nesting_mode":"list","block":{"attributes":{"disk_id":{"type":"number","description":"The Disk ID to map to this disk slot","description_kind":"plain","optional":true},"volume_id":{"type":"number","description":"The Block Storage volume ID to map to this disk slot","description_kind":"plain","optional":true}},"description":"Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.","description_kind":"plain"},"max_items":1}},"description":"A dictionary of device disks to use as a device map in a Linode's configuration profile.","description_kind":"plain","deprecated":true},"max_items":1},"helpers":{"nesting_mode":"list","block":{"attributes":{"devtmpfs_automount":{"type":"bool","description":"Populates the /dev directory early during boot without udev.","description_kind":"plain","optional":true},"distro":{"type":"bool","description":"Helps maintain correct inittab/upstart console device.","description_kind":"plain","optional":true},"modules_dep":{"type":"bool","description":"Creates a modules dependency file for the Kernel you run.","description_kind":"plain","optional":true},"network":{"type":"bool","description":"Automatically configures static networking.","description_kind":"plain","optional":true},"updatedb_disabled":{"type":"bool","description":"Disables updatedb cron job to avoid disk thrashing.","description_kind":"plain","optional":true}},"description":"Helpers enabled when booting to this Linode Config.","description_kind":"plain"}},"interface":{"nesting_mode":"list","block":{"attributes":{"active":{"type":"bool","description":"Whether this interface is currently booted and active.","description_kind":"plain","computed":true},"id":{"type":"number","description":"The ID of the interface.","description_kind":"plain","computed":true},"ip_ranges":{"type":["list","string"],"description":"List of VPC IPs or IP ranges inside the VPC subnet.","description_kind":"plain","optional":true},"ipam_address":{"type":"string","description":"This Network Interface's private IP address in Classless Inter-Domain Routing (CIDR) notation.This attribute is only allowed for VLAN interfaces.","description_kind":"plain","optional":true},"label":{"type":"string","description":"The name of the VALN. This attribute is required for VLAN interfaces. This attribute is only allowed for VLAN interfaces.","description_kind":"plain","optional":true},"primary":{"type":"bool","description":"Whether the interface is the primary interface that should have the default route for this Linode.","description_kind":"plain","optional":true},"purpose":{"type":"string","description":"The type of interface.","description_kind":"plain","required":true},"subnet_id":{"type":"number","description":"The ID of the subnet which the VPC interface is connected to.This attribute is required for VPC interfaces.This attribute is only allowed for VPC interfaces.","description_kind":"plain","optional":true},"vpc_id":{"type":"number","description":"The ID of VPC of the subnet which the VPC interface is connected to.","description_kind":"plain","computed":true}},"block_types":{"ipv4":{"nesting_mode":"list","block":{"attributes":{"nat_1_1":{"type":"string","description":"The public IP that will be used for the one-to-one NAT purpose.","description_kind":"plain","optional":true,"computed":true},"vpc":{"type":"string","description":"The IP from the VPC subnet to use for this interface.","description_kind":"plain","optional":true,"computed":true}},"description":"The IPv4 configuration of the VPC interface.This attribute is only allowed for VPC interfaces.","description_kind":"plain"},"max_items":1}},"description":"An array of Network Interfaces to add to this Linode's Configuration Profile.","description_kind":"plain"}}},"description_kind":"plain"}},"linode_instance_disk":{"version":0,"block":{"attributes":{"authorized_keys":{"type":["set","string"],"description":"A list of public SSH keys that will be automatically appended to the root user's ~/.ssh/authorized_keys file when deploying from an Image.","description_kind":"plain","optional":true},"authorized_users":{"type":["set","string"],"description":"A list of usernames. If the usernames have associated SSH keys, the keys will be appended to the root users ~/.ssh/authorized_keys file automatically when deploying from an Image.","description_kind":"plain","optional":true},"created":{"type":"string","description":"When this disk was created.","description_kind":"plain","computed":true},"filesystem":{"type":"string","description":"The filesystem of this disk.","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description":"The ID of the Linode disk.","description_kind":"plain","computed":true},"image":{"type":"string","description":"An Image ID to deploy the Linode Disk from.","description_kind":"plain","optional":true},"label":{"type":"string","description":"The Disk;s label is for display purposes only.","description_kind":"plain","required":true},"linode_id":{"type":"number","description":"The ID of the Linode to assign this disk to.","description_kind":"plain","required":true},"root_pass":{"type":"string","description":"This sets the root user's password on a newly-created Linode Disk when deploying from an Image.","description_kind":"plain","optional":true,"sensitive":true},"size":{"type":"number","description":"The ID of the token.","description_kind":"plain","required":true},"stackscript_data":{"type":["map","string"],"description":"An object containing responses to any User Defined Fields present in the StackScript being deployed to this Disk. Only accepted if 'stackscript_id' is given. The required values depend on the StackScript being deployed.","description_kind":"plain","optional":true,"sensitive":true},"stackscript_id":{"type":"number","description":"A StackScript ID that will cause the referenced StackScript to be run during deployment of this Linode.","description_kind":"plain","optional":true},"status":{"type":"string","description":"A brief description of this Disk's current state.","description_kind":"plain","computed":true},"updated":{"type":"string","description":"When this disk was last updated.","description_kind":"plain","computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).","description_kind":"plain","optional":true},"delete":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.","description_kind":"plain","optional":true},"update":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"linode_instance_ip":{"version":0,"block":{"attributes":{"address":{"type":"string","description":"The resulting IPv4 address.","description_kind":"plain","computed":true},"apply_immediately":{"type":"bool","description":"If true, the instance will be rebooted to update network interfaces. This functionality is not affected by the `skip_implicit_reboots` provider argument.","description_kind":"plain","optional":true,"computed":true},"gateway":{"type":"string","description":"The default gateway for this address","description_kind":"plain","computed":true},"id":{"type":"string","description":"The ID of the IPv4 address, which will be IPv4 address itself.","description_kind":"plain","computed":true},"linode_id":{"type":"number","description":"The ID of the Linode to allocate an IPv4 address for.","description_kind":"plain","required":true},"prefix":{"type":"number","description":"The number of bits set in the subnet mask.","description_kind":"plain","computed":true},"public":{"type":"bool","description":"Whether the IPv4 address is public or private.","description_kind":"plain","optional":true,"computed":true},"rdns":{"type":"string","description":"The reverse DNS assigned to this address.","description_kind":"plain","optional":true,"computed":true},"region":{"type":"string","description":"The region this IP resides in.","description_kind":"plain","computed":true},"subnet_mask":{"type":"string","description":"The mask that separates host bits from network bits for this address.","description_kind":"plain","computed":true},"type":{"type":"string","description":"The type of IP address.","description_kind":"plain","computed":true},"vpc_nat_1_1":{"type":["list",["object",{"address":"string","subnet_id":"number","vpc_id":"number"}]],"description":"Contains information about the NAT 1:1 mapping of a public IP address to a VPC subnet.","description_kind":"plain","computed":true}},"description_kind":"plain"}},"linode_instance_shared_ips":{"version":0,"block":{"attributes":{"addresses":{"type":["set","string"],"description":"A set of IP addresses to share to the Linode","description_kind":"plain","required":true},"id":{"type":"string","description":"linode_id is used as the ID of linode_instance_shared_ips","description_kind":"plain","computed":true},"linode_id":{"type":"number","description":"The ID of the Linode to share these IP addresses with.","description_kind":"plain","required":true}},"description_kind":"plain"}},"linode_ipv6_range":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"The unique ID for this Resource.","description_kind":"plain","computed":true},"is_bgp":{"type":"bool","description":"Whether this IPv6 range is shared.","description_kind":"plain","computed":true},"linode_id":{"type":"number","description":"The ID of the Linode to assign this range to.","description_kind":"plain","optional":true},"linodes":{"type":["set","number"],"description":"A list of Linodes targeted by this IPv6 range.Includes Linodes with IP sharing.","description_kind":"plain","computed":true},"prefix_length":{"type":"number","description":"The prefix length of the IPv6 range.","description_kind":"plain","required":true},"range":{"type":"string","description":"The IPv6 range of addresses in this pool.","description_kind":"plain","computed":true},"region":{"type":"string","description":"The region for this range of IPv6 addresses.","description_kind":"plain","computed":true},"route_target":{"type":"string","description":"The IPv6 SLAAC address to assign this range to.","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"linode_lke_cluster":{"version":0,"block":{"attributes":{"api_endpoints":{"type":["list","string"],"description":"The API endpoints for the cluster.","description_kind":"plain","computed":true},"dashboard_url":{"type":"string","description":"The dashboard URL of the cluster.","description_kind":"plain","computed":true},"external_pool_tags":{"type":["set","string"],"description":"An array of tags indicating that node pools having those tags are defined with a separate nodepool resource, rather than inside the current cluster resource.","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"k8s_version":{"type":"string","description":"The desired Kubernetes version for this Kubernetes cluster in the format of \u003cmajor\u003e.\u003cminor\u003e. The latest supported patch version will be deployed.","description_kind":"plain","required":true},"kubeconfig":{"type":"string","description":"The Base64-encoded Kubeconfig for the cluster.","description_kind":"plain","computed":true,"sensitive":true},"label":{"type":"string","description":"The unique label for the cluster.","description_kind":"plain","required":true},"region":{"type":"string","description":"This cluster's location.","description_kind":"plain","required":true},"status":{"type":"string","description":"The status of the cluster.","description_kind":"plain","computed":true},"tags":{"type":["set","string"],"description":"An array of tags applied to this object. Tags are for organizational purposes only.","description_kind":"plain","optional":true,"computed":true}},"block_types":{"control_plane":{"nesting_mode":"list","block":{"attributes":{"high_availability":{"type":"bool","description":"Defines whether High Availability is enabled for the Control Plane Components of the cluster.","description_kind":"plain","optional":true,"computed":true}},"block_types":{"acl":{"nesting_mode":"list","block":{"attributes":{"enabled":{"type":"bool","description":"Defines default policy. A value of true results in a default policy of DENY. A value of false results in default policy of ALLOW, and has the same effect as delete the ACL configuration.","description_kind":"plain","optional":true,"computed":true}},"block_types":{"addresses":{"nesting_mode":"list","block":{"attributes":{"ipv4":{"type":["set","string"],"description":"A set of individual ipv4 addresses or CIDRs to ALLOW.","description_kind":"plain","optional":true,"computed":true},"ipv6":{"type":["set","string"],"description":"A set of individual ipv6 addresses or CIDRs to ALLOW.","description_kind":"plain","optional":true,"computed":true}},"description":"A list of ip addresses to allow.","description_kind":"plain"}}},"description":"Defines the ACL configuration for an LKE cluster's control plane.","description_kind":"plain"},"max_items":1}},"description":"Defines settings for the Kubernetes Control Plane.","description_kind":"plain"},"max_items":1},"pool":{"nesting_mode":"list","block":{"attributes":{"count":{"type":"number","description":"The number of nodes in the Node Pool.","description_kind":"plain","optional":true,"computed":true},"id":{"type":"number","description":"The ID of the Node Pool.","description_kind":"plain","computed":true},"nodes":{"type":["list",["object",{"id":"string","instance_id":"number","status":"string"}]],"description":"The nodes in the node pool.","description_kind":"plain","computed":true},"type":{"type":"string","description":"A Linode Type for all of the nodes in the Node Pool.","description_kind":"plain","required":true}},"block_types":{"autoscaler":{"nesting_mode":"list","block":{"attributes":{"max":{"type":"number","description":"The maximum number of nodes to autoscale to.","description_kind":"plain","required":true},"min":{"type":"number","description":"The minimum number of nodes to autoscale to.","description_kind":"plain","required":true}},"description":"When specified, the number of nodes autoscales within the defined minimum and maximum values.","description_kind":"plain"},"max_items":1}},"description":"A node pool in the cluster.","description_kind":"plain"},"min_items":1},"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"linode_lke_node_pool":{"version":0,"block":{"attributes":{"cluster_id":{"type":"number","description":"The ID of the cluster to associate this node pool with.","description_kind":"plain","required":true},"id":{"type":"string","description":"ID of the Node Pool.","description_kind":"plain","computed":true},"node_count":{"type":"number","description":"The number of nodes in the Node Pool.","description_kind":"plain","optional":true,"computed":true},"nodes":{"type":["list",["object",{"id":"string","instance_id":"number","status":"string"}]],"description":"A list of nodes in the node pool.","description_kind":"plain","computed":true},"tags":{"type":["set","string"],"description":"An array of tags applied to this object. Tags are for organizational purposes only.","description_kind":"plain","optional":true,"computed":true},"type":{"type":"string","description":"The type of node pool.","description_kind":"plain","required":true}},"block_types":{"autoscaler":{"nesting_mode":"list","block":{"attributes":{"max":{"type":"number","description_kind":"plain","required":true},"min":{"type":"number","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"linode_nodebalancer":{"version":1,"block":{"attributes":{"client_conn_throttle":{"type":"number","description":"Throttle connections per second (0-20). Set to 0 (zero) to disable throttling.","description_kind":"plain","optional":true,"computed":true},"created":{"type":"string","description":"When this NodeBalancer was created.","description_kind":"plain","computed":true},"firewall_id":{"type":"number","description":"ID for the firewall you'd like to use with this NodeBalancer.","description_kind":"plain","optional":true},"firewalls":{"type":["list",["object",{"created":"string","id":"number","inbound":["list",["object",{"action":"string","ipv4":["list","string"],"ipv6":["list","string"],"label":"string","ports":"string","protocol":"string"}]],"inbound_policy":"string","label":"string","outbound":["list",["object",{"action":"string","ipv4":["list","string"],"ipv6":["list","string"],"label":"string","ports":"string","protocol":"string"}]],"outbound_policy":"string","status":"string","tags":["set","string"],"updated":"string"}]],"description":"A list of Firewalls assigned to this NodeBalancer.","description_kind":"plain","computed":true},"hostname":{"type":"string","description":"This NodeBalancer's hostname, ending with .nodebalancer.linode.com","description_kind":"plain","computed":true},"id":{"type":"string","description":"The unique ID of the Linode NodeBalancer.","description_kind":"plain","computed":true},"ipv4":{"type":"string","description":"The Public IPv4 Address of this NodeBalancer","description_kind":"plain","computed":true},"ipv6":{"type":"string","description":"The Public IPv6 Address of this NodeBalancer","description_kind":"plain","computed":true},"label":{"type":"string","description":"The label of the Linode NodeBalancer.","description_kind":"plain","optional":true},"region":{"type":"string","description":"The region where this NodeBalancer will be deployed.","description_kind":"plain","optional":true,"computed":true},"tags":{"type":["set","string"],"description":"An array of tags applied to this object. Tags are for organizational purposes only.","description_kind":"plain","optional":true,"computed":true},"transfer":{"type":["list",["object",{"in":"number","out":"number","total":"number"}]],"description":"Information about the amount of transfer this NodeBalancer has had so far this month.","description_kind":"plain","computed":true},"updated":{"type":"string","description":"When this NodeBalancer was last updated.","description_kind":"plain","computed":true}},"description_kind":"plain"}},"linode_nodebalancer_config":{"version":1,"block":{"attributes":{"algorithm":{"type":"string","description":"What algorithm this NodeBalancer should use for routing traffic to backends: roundrobin, leastconn, source","description_kind":"plain","optional":true,"computed":true},"check":{"type":"string","description":"The type of check to perform against backends to ensure they are serving requests. This is used to determine if backends are up or down. If none no check is performed. connection requires only a connection to the backend to succeed. http and http_body rely on the backend serving HTTP, and that the response returned matches what is expected.","description_kind":"plain","optional":true,"computed":true},"check_attempts":{"type":"number","description":"How many times to attempt a check before considering a backend to be down. (1-30)","description_kind":"plain","optional":true,"computed":true},"check_body":{"type":"string","description":"This value must be present in the response body of the check in order for it to pass. If this value is not present in the response body of a check request, the backend is considered to be down","description_kind":"plain","optional":true,"computed":true},"check_interval":{"type":"number","description":"How often, in seconds, to check that backends are up and serving requests.","description_kind":"plain","optional":true,"computed":true},"check_passive":{"type":"bool","description":"If true, any response from this backend with a 5xx status code will be enough for it to be considered unhealthy and taken out of rotation.","description_kind":"plain","optional":true,"computed":true},"check_path":{"type":"string","description":"The URL path to check on each backend. If the backend does not respond to this request it is considered to be down.","description_kind":"plain","optional":true,"computed":true},"check_timeout":{"type":"number","description":"How long, in seconds, to wait for a check attempt before considering it failed. (1-30)","description_kind":"plain","optional":true,"computed":true},"cipher_suite":{"type":"string","description":"What ciphers to use for SSL connections served by this NodeBalancer. `legacy` is considered insecure and should only be used if necessary.","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description":"The ID of the Linode NodeBalancer Config.","description_kind":"plain","computed":true},"node_status":{"type":["list",["object",{"down":"number","up":"number"}]],"description":"A structure containing information about the health of the backends for this port. This information is updated periodically as checks are performed against backends.","description_kind":"plain","computed":true},"nodebalancer_id":{"type":"number","description":"The ID of the NodeBalancer to access.","description_kind":"plain","required":true},"port":{"type":"number","description":"The TCP port this Config is for. These values must be unique across configs on a single NodeBalancer (you can't have two configs for port 80, for example). While some ports imply some protocols, no enforcement is done and you may configure your NodeBalancer however is useful to you. For example, while port 443 is generally used for HTTPS, you do not need SSL configured to have a NodeBalancer listening on port 443.","description_kind":"plain","optional":true,"computed":true},"protocol":{"type":"string","description":"The protocol this port is configured to serve. If this is set to https you must include an ssl_cert and an ssl_key.","description_kind":"plain","optional":true,"computed":true},"proxy_protocol":{"type":"string","description":"The version of ProxyProtocol to use for the underlying NodeBalancer. This requires protocol to be `tcp`. Valid values are `none`, `v1`, and `v2`.","description_kind":"plain","optional":true,"computed":true},"ssl_cert":{"type":"string","description":"The certificate this port is serving. This is not returned. If set, this field will come back as `\u003cREDACTED\u003e`. Please use the ssl_commonname and ssl_fingerprint to identify the certificate.","description_kind":"plain","optional":true,"sensitive":true},"ssl_commonname":{"type":"string","description":"The read-only common name automatically derived from the SSL certificate assigned to this NodeBalancerConfig. Please refer to this field to verify that the appropriate certificate is assigned to your NodeBalancerConfig.","description_kind":"plain","computed":true},"ssl_fingerprint":{"type":"string","description":"The read-only fingerprint automatically derived from the SSL certificate assigned to this NodeBalancerConfig. Please refer to this field to verify that the appropriate certificate is assigned to your NodeBalancerConfig.","description_kind":"plain","computed":true},"ssl_key":{"type":"string","description":"The private key corresponding to this port's certificate. This is not returned. If set, this field will come back as `\u003cREDACTED\u003e`. Please use the ssl_commonname and ssl_fingerprint to identify the certificate.","description_kind":"plain","optional":true,"sensitive":true},"stickiness":{"type":"string","description":"Controls how session stickiness is handled on this port: 'none', 'table', 'http_cookie'","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"linode_nodebalancer_node":{"version":0,"block":{"attributes":{"address":{"type":"string","description":"The private IP Address and port (IP:PORT) where this backend can be reached. This must be a private IP address.","description_kind":"plain","required":true},"config_id":{"type":"number","description":"The ID of the NodeBalancerConfig to access.","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"label":{"type":"string","description":"The label for this node. This is for display purposes only.","description_kind":"plain","required":true},"mode":{"type":"string","description":"The mode this NodeBalancer should use when sending traffic to this backend. If set to `accept` this backend is accepting traffic. If set to `reject` this backend will not receive traffic. If set to `drain` this backend will not receive new traffic, but connections already pinned to it will continue to be routed to it. If set to `backup` this backend will only accept traffic if all other nodes are down.","description_kind":"plain","optional":true,"computed":true},"nodebalancer_id":{"type":"number","description":"The ID of the NodeBalancer to access.","description_kind":"plain","required":true},"status":{"type":"string","description":"The current status of this node, based on the configured checks of its NodeBalancer Config. (unknown, UP, DOWN)","description_kind":"plain","computed":true},"weight":{"type":"number","description":"Used when picking a backend to serve a request and is not pinned to a single backend yet. Nodes with a higher weight will receive more traffic. (1-255)","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"linode_object_storage_bucket":{"version":0,"block":{"attributes":{"access_key":{"type":"string","description":"The S3 access key to use for this resource. (Required for lifecycle_rule and versioning). If not specified with the resource, the value will be read from provider-level obj_access_key, or, generated implicitly at apply-time if obj_use_temp_keys in provider configuration is set.","description_kind":"plain","optional":true},"acl":{"type":"string","description":"The Access Control Level of the bucket using a canned ACL string.","description_kind":"plain","optional":true},"cluster":{"type":"string","description":"The cluster of the Linode Object Storage Bucket.","description_kind":"plain","deprecated":true,"optional":true,"computed":true},"cors_enabled":{"type":"bool","description":"If true, the bucket will be created with CORS enabled for all origins.","description_kind":"plain","optional":true},"endpoint":{"type":"string","description":"The endpoint for the bucket used for s3 connections.","description_kind":"plain","computed":true},"hostname":{"type":"string","description":"The hostname where this bucket can be accessed. This hostname can be accessed through a browser if the bucket is made public.","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"label":{"type":"string","description":"The label of the Linode Object Storage Bucket.","description_kind":"plain","required":true},"region":{"type":"string","description":"The region of the Linode Object Storage Bucket.","description_kind":"plain","optional":true,"computed":true},"secret_key":{"type":"string","description":"The S3 secret key to use for this resource. (Required for lifecycle_rule and versioning). If not specified with the resource, the value will be read from provider-level obj_secret_key, or, generated implicitly at apply-time if obj_use_temp_keys in provider configuration is set.","description_kind":"plain","optional":true,"sensitive":true},"versioning":{"type":"bool","description":"Whether to enable versioning.","description_kind":"plain","optional":true,"computed":true}},"block_types":{"cert":{"nesting_mode":"list","block":{"attributes":{"certificate":{"type":"string","description":"The Base64 encoded and PEM formatted SSL certificate.","description_kind":"plain","required":true,"sensitive":true},"private_key":{"type":"string","description":"The private key associated with the TLS/SSL certificate.","description_kind":"plain","required":true,"sensitive":true}},"description":"The cert used by this Object Storage Bucket.","description_kind":"plain"},"max_items":1},"lifecycle_rule":{"nesting_mode":"list","block":{"attributes":{"abort_incomplete_multipart_upload_days":{"type":"number","description":"Specifies the number of days after initiating a multipart upload when the multipart upload must be completed.","description_kind":"plain","optional":true},"enabled":{"type":"bool","description":"Specifies whether the lifecycle rule is active.","description_kind":"plain","required":true},"id":{"type":"string","description":"The unique identifier for the rule.","description_kind":"plain","optional":true,"computed":true},"prefix":{"type":"string","description":"The object key prefix identifying one or more objects to which the rule applies.","description_kind":"plain","optional":true}},"block_types":{"expiration":{"nesting_mode":"list","block":{"attributes":{"date":{"type":"string","description":"Specifies the date after which you want the corresponding action to take effect.","description_kind":"plain","optional":true},"days":{"type":"number","description":"Specifies the number of days after object creation when the specific rule action takes effect.","description_kind":"plain","optional":true},"expired_object_delete_marker":{"type":"bool","description":"Directs Linode Object Storage to remove expired deleted markers.","description_kind":"plain","optional":true}},"description":"Specifies a period in the object's expire.","description_kind":"plain"},"max_items":1},"noncurrent_version_expiration":{"nesting_mode":"list","block":{"attributes":{"days":{"type":"number","description":"Specifies the number of days non-current object versions expire.","description_kind":"plain","required":true}},"description":"Specifies when non-current object versions expire.","description_kind":"plain"},"max_items":1}},"description":"Lifecycle rules to be applied to the bucket.","description_kind":"plain"}}},"description_kind":"plain"}},"linode_object_storage_key":{"version":0,"block":{"attributes":{"access_key":{"type":"string","description":"This keypair's access key. This is not secret.","description_kind":"plain","computed":true},"id":{"type":"string","description":"The unique ID of this Object Storage key.","description_kind":"plain","computed":true},"label":{"type":"string","description":"The label given to this key. For display purposes only.","description_kind":"plain","required":true},"limited":{"type":"bool","description":"Whether or not this key is a limited access key.","description_kind":"plain","computed":true},"regions":{"type":["set","string"],"description":"A set of regions where the key will grant access to create buckets.","description_kind":"plain","optional":true,"computed":true},"regions_details":{"type":["set",["object",{"id":"string","s3_endpoint":"string"}]],"description":"A set of objects containing the detailed info of the regions where the key will grant access.","description_kind":"plain","computed":true},"secret_key":{"type":"string","description":"This keypair's secret key.","description_kind":"plain","computed":true,"sensitive":true}},"block_types":{"bucket_access":{"nesting_mode":"set","block":{"attributes":{"bucket_name":{"type":"string","description":"The unique label of the bucket to which the key will grant limited access.","description_kind":"plain","required":true},"cluster":{"type":"string","description":"The Object Storage cluster where the bucket resides. Deprecated in favor of `region`","description_kind":"plain","deprecated":true,"optional":true,"computed":true},"permissions":{"type":"string","description":"This Limited Access Key's permissions for the selected bucket.","description_kind":"plain","required":true},"region":{"type":"string","description":"The region where the bucket resides.","description_kind":"plain","optional":true,"computed":true}},"description":"A list of permissions to grant this limited access key.","description_kind":"plain"}}},"description_kind":"plain"}},"linode_object_storage_object":{"version":0,"block":{"attributes":{"access_key":{"type":"string","description":"The REQUIRED S3 access key with access to the target bucket. If not specified with the resource, you must provide its value by configuring the obj_access_key, or, opting-in generating it implicitly at apply-time using obj_use_temp_keys at provider-level.","description_kind":"plain","optional":true},"acl":{"type":"string","description":"The ACL config given to this object.","description_kind":"plain","optional":true},"bucket":{"type":"string","description":"The target bucket to put this object in.","description_kind":"plain","required":true},"cache_control":{"type":"string","description":"This cache_control configuration of this object.","description_kind":"plain","optional":true},"cluster":{"type":"string","description":"The target cluster that the bucket is in.","description_kind":"plain","optional":true},"content":{"type":"string","description":"The contents of the Object to upload.","description_kind":"plain","optional":true},"content_base64":{"type":"string","description":"The base64 contents of the Object to upload.","description_kind":"plain","optional":true},"content_disposition":{"type":"string","description":"The content disposition configuration of this object.","description_kind":"plain","optional":true},"content_encoding":{"type":"string","description":"The encoding of the content of this object.","description_kind":"plain","optional":true},"content_language":{"type":"string","description":"The language metadata of this object.","description_kind":"plain","optional":true},"content_type":{"type":"string","description":"The MIME type of the content.","description_kind":"plain","optional":true,"computed":true},"endpoint":{"type":"string","description":"The endpoint for the bucket used for s3 connections.","description_kind":"plain","optional":true,"computed":true},"etag":{"type":"string","description":"The specific version of this object.","description_kind":"plain","optional":true,"computed":true},"force_destroy":{"type":"bool","description":"Whether the object should bypass deletion restrictions.","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"key":{"type":"string","description":"The name of the uploaded object.","description_kind":"plain","required":true},"metadata":{"type":["map","string"],"description":"The metadata of this object","description_kind":"plain","optional":true},"region":{"type":"string","description":"The target region that the bucket is in.","description_kind":"plain","optional":true},"secret_key":{"type":"string","description":"The REQUIRED S3 secret key with access to the target bucket. If not specified with the resource, you must provide its value by configuring the obj_secret_key, or, opting-in generating it implicitly at apply-time using obj_use_temp_keys at provider-level.","description_kind":"plain","optional":true,"sensitive":true},"source":{"type":"string","description":"The source file to upload.","description_kind":"plain","optional":true},"version_id":{"type":"string","description":"The version ID of this object.","description_kind":"plain","computed":true},"website_redirect":{"type":"string","description":"The website redirect location of this object.","description_kind":"plain","optional":true}},"description_kind":"plain"}},"linode_placement_group":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"The id of the Placement Group.","description_kind":"plain","computed":true},"is_compliant":{"type":"bool","description":"Whether all Linodes in this Placement Group are currently compliant.","description_kind":"plain","computed":true},"label":{"type":"string","description":"The label of the Placement Group.","description_kind":"plain","required":true},"members":{"type":["set",["object",{"is_compliant":"bool","linode_id":"number"}]],"description":"A set of Linodes currently assigned to this Placement Group.","description_kind":"plain","computed":true},"placement_group_policy":{"type":"string","description":"Whether this Placement Group has a strict compliance policy.","description_kind":"plain","optional":true,"computed":true},"placement_group_type":{"type":"string","description":"The placement group type for Linodes in this Placement Group.","description_kind":"plain","required":true},"region":{"type":"string","description":"The region of the Placement Group.","description_kind":"plain","required":true}},"description_kind":"plain"}},"linode_placement_group_assignment":{"version":0,"block":{"attributes":{"compliant_only":{"type":"bool","description_kind":"plain","optional":true},"id":{"type":"string","description":"The unique ID that represents the assignment between a Placement Group and a set of Linodes.","description_kind":"plain","computed":true},"linode_id":{"type":"number","description":"A set of Linode IDs to assign to the Placement Group.","description_kind":"plain","required":true},"placement_group_id":{"type":"number","description":"The ID of the Placement Group for this assignment.","description_kind":"plain","required":true}},"description_kind":"plain"}},"linode_rdns":{"version":0,"block":{"attributes":{"address":{"type":"string","description":"The public Linode IPv4 or IPv6 address to operate on.","description_kind":"plain","required":true},"id":{"type":"string","description":"Unique identification field for this RDNS Resource. The public Linode IPv4 or IPv6 address to operate on. ","description_kind":"plain","computed":true},"rdns":{"type":"string","description":"The reverse DNS assigned to this address. For public IPv4 addresses, this will be set to a default value provided by Linode if not explicitly set.","description_kind":"plain","required":true},"wait_for_available":{"type":"bool","description":"If true, the RDNS assignment will be retried within the operation timeout period.","description_kind":"plain","optional":true,"computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).","description_kind":"plain","optional":true},"update":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"linode_sshkey":{"version":0,"block":{"attributes":{"created":{"type":"string","description":"The date this key was added.","description_kind":"plain","computed":true},"id":{"type":"string","description":"The unique identifier for this SSH key.","description_kind":"plain","computed":true},"label":{"type":"string","description":"The label of the Linode SSH Key.","description_kind":"plain","required":true},"ssh_key":{"type":"string","description":"The public SSH Key, which is used to authenticate to the root user of the Linodes you deploy.","description_kind":"plain","required":true}},"description_kind":"plain"}},"linode_stackscript":{"version":1,"block":{"attributes":{"created":{"type":"string","description":"The date this StackScript was created.","description_kind":"plain","computed":true},"deployments_active":{"type":"number","description":"Count of currently active, deployed Linodes created from this StackScript.","description_kind":"plain","computed":true},"deployments_total":{"type":"number","description":"The total number of times this StackScript has been deployed.","description_kind":"plain","computed":true},"description":{"type":"string","description":"A description for the StackScript.","description_kind":"plain","required":true},"id":{"type":"string","description":"The StackScript's unique ID.","description_kind":"plain","computed":true},"images":{"type":["set","string"],"description":"An array of Image IDs representing the Images that this StackScript is compatible for deploying with.","description_kind":"plain","required":true},"is_public":{"type":"bool","description":"This determines whether other users can use your StackScript. Once a StackScript is made public, it cannot be made private.","description_kind":"plain","optional":true,"computed":true},"label":{"type":"string","description":"The StackScript's label is for display purposes only.","description_kind":"plain","required":true},"rev_note":{"type":"string","description":"This field allows you to add notes for the set of revisions made to this StackScript.","description_kind":"plain","optional":true,"computed":true},"script":{"type":"string","description":"The script to execute when provisioning a new Linode with this StackScript.","description_kind":"plain","required":true},"updated":{"type":"string","description":"The date this StackScript was updated.","description_kind":"plain","computed":true},"user_defined_fields":{"type":["list",["object",{"default":"string","example":"string","label":"string","many_of":"string","name":"string","one_of":"string"}]],"description":"This is a list of fields defined with a special syntax inside this StackScript that allow for supplying customized parameters during deployment.","description_kind":"plain","computed":true},"user_gravatar_id":{"type":"string","description":"The Gravatar ID for the User who created the StackScript.","description_kind":"plain","computed":true},"username":{"type":"string","description":"The User who created the StackScript.","description_kind":"plain","computed":true}},"description_kind":"plain"}},"linode_token":{"version":0,"block":{"attributes":{"created":{"type":"string","description":"The date and time this token was created.","description_kind":"plain","computed":true},"expiry":{"type":"string","description":"When this token will expire. Personal Access Tokens cannot be renewed, so after this time the token will be completely unusable and a new token will need to be generated. Tokens may be created with 'null' as their expiry and will never expire unless revoked. Format: 2006-01-02T15:04:05Z","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description":"The ID of the token.","description_kind":"plain","computed":true},"label":{"type":"string","description":"The label of the Linode Token.","description_kind":"plain","optional":true},"scopes":{"type":"string","description":"The scopes this token was created with. These define what parts of the Account the token can be used to access. Many command-line tools, such as the Linode CLI, require tokens with access to *. Tokens with more restrictive scopes are generally more secure. Multiple scopes are separated by a space character (e.g., \"databases:read_only events:read_only\"). You can find the list of available scopes on Linode API docs site, https://techdocs.akamai.com/linode-api/reference/get-started#oauth-reference","description_kind":"plain","required":true},"token":{"type":"string","description":"The token used to access the API.","description_kind":"plain","computed":true,"sensitive":true}},"description_kind":"plain"}},"linode_user":{"version":0,"block":{"attributes":{"email":{"type":"string","description":"The email of the user.","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"restricted":{"type":"bool","description":"If true, the user must be explicitly granted access to platform actions and entities.","description_kind":"plain","optional":true},"ssh_keys":{"type":["list","string"],"description":"SSH keys to add to the user profile.","description_kind":"plain","computed":true},"tfa_enabled":{"type":"bool","description":"If the User has Two Factor Authentication (TFA) enabled.","description_kind":"plain","computed":true},"user_type":{"type":"string","description":"The type of this user.","description_kind":"plain","computed":true},"username":{"type":"string","description":"The username of the user.","description_kind":"plain","required":true}},"block_types":{"domain_grant":{"nesting_mode":"set","block":{"attributes":{"id":{"type":"number","description":"The ID of the entity this grant applies to.","description_kind":"plain","required":true},"permissions":{"type":"string","description":"The level of access this User has to this entity. If null, this User has no access.","description_kind":"plain","required":true}},"description":"A set containing all of the user's active grants.","description_kind":"plain"}},"firewall_grant":{"nesting_mode":"set","block":{"attributes":{"id":{"type":"number","description":"The ID of the entity this grant applies to.","description_kind":"plain","required":true},"permissions":{"type":"string","description":"The level of access this User has to this entity. If null, this User has no access.","description_kind":"plain","required":true}},"description":"A set containing all of the user's active grants.","description_kind":"plain"}},"global_grants":{"nesting_mode":"list","block":{"attributes":{"account_access":{"type":"string","description":"The level of access this User has to Account-level actions, like billing information. A restricted User will never be able to manage users.","description_kind":"plain","optional":true},"add_databases":{"type":"bool","description":"If true, this User may add Databases.","description_kind":"plain","optional":true},"add_domains":{"type":"bool","description":"If true, this User may add Domains.","description_kind":"plain","optional":true},"add_firewalls":{"type":"bool","description":"If true, this User may add Firewalls.","description_kind":"plain","optional":true},"add_images":{"type":"bool","description":"If true, this User may add Images.","description_kind":"plain","optional":true},"add_linodes":{"type":"bool","description":"If true, this User may create Linodes.","description_kind":"plain","optional":true},"add_longview":{"type":"bool","description":"If true, this User may create Longview clients and view the current plan.","description_kind":"plain","optional":true},"add_nodebalancers":{"type":"bool","description":"If true, this User may add NodeBalancers.","description_kind":"plain","optional":true},"add_stackscripts":{"type":"bool","description":"If true, this User may add StackScripts.","description_kind":"plain","optional":true},"add_volumes":{"type":"bool","description":"If true, this User may add Volumes.","description_kind":"plain","optional":true},"cancel_account":{"type":"bool","description":"If true, this User may cancel the entire Account.","description_kind":"plain","optional":true},"longview_subscription":{"type":"bool","description":"If true, this User may manage the Account’s Longview subscription.","description_kind":"plain","optional":true}},"description":"A structure containing the Account-level grants a User has.","description_kind":"plain"},"max_items":1},"image_grant":{"nesting_mode":"set","block":{"attributes":{"id":{"type":"number","description":"The ID of the entity this grant applies to.","description_kind":"plain","required":true},"permissions":{"type":"string","description":"The level of access this User has to this entity. If null, this User has no access.","description_kind":"plain","required":true}},"description":"A set containing all of the user's active grants.","description_kind":"plain"}},"linode_grant":{"nesting_mode":"set","block":{"attributes":{"id":{"type":"number","description":"The ID of the entity this grant applies to.","description_kind":"plain","required":true},"permissions":{"type":"string","description":"The level of access this User has to this entity. If null, this User has no access.","description_kind":"plain","required":true}},"description":"A set containing all of the user's active grants.","description_kind":"plain"}},"longview_grant":{"nesting_mode":"set","block":{"attributes":{"id":{"type":"number","description":"The ID of the entity this grant applies to.","description_kind":"plain","required":true},"permissions":{"type":"string","description":"The level of access this User has to this entity. If null, this User has no access.","description_kind":"plain","required":true}},"description":"A set containing all of the user's active grants.","description_kind":"plain"}},"nodebalancer_grant":{"nesting_mode":"set","block":{"attributes":{"id":{"type":"number","description":"The ID of the entity this grant applies to.","description_kind":"plain","required":true},"permissions":{"type":"string","description":"The level of access this User has to this entity. If null, this User has no access.","description_kind":"plain","required":true}},"description":"A set containing all of the user's active grants.","description_kind":"plain"}},"stackscript_grant":{"nesting_mode":"set","block":{"attributes":{"id":{"type":"number","description":"The ID of the entity this grant applies to.","description_kind":"plain","required":true},"permissions":{"type":"string","description":"The level of access this User has to this entity. If null, this User has no access.","description_kind":"plain","required":true}},"description":"A set containing all of the user's active grants.","description_kind":"plain"}},"volume_grant":{"nesting_mode":"set","block":{"attributes":{"id":{"type":"number","description":"The ID of the entity this grant applies to.","description_kind":"plain","required":true},"permissions":{"type":"string","description":"The level of access this User has to this entity. If null, this User has no access.","description_kind":"plain","required":true}},"description":"A set containing all of the user's active grants.","description_kind":"plain"}}},"description_kind":"plain"}},"linode_volume":{"version":0,"block":{"attributes":{"filesystem_path":{"type":"string","description":"The full filesystem path for the Volume based on the Volume's label. Path is /dev/disk/by-id/scsi-0Linode_Volume_ + Volume label.","description_kind":"plain","computed":true},"id":{"type":"string","description":"The id of the volume.","description_kind":"plain","computed":true},"label":{"type":"string","description":"The label of the Linode Volume.","description_kind":"plain","required":true},"linode_id":{"type":"number","description":"The Linode ID where the Volume should be attached.","description_kind":"plain","optional":true,"computed":true},"region":{"type":"string","description":"The region where this volume will be deployed.","description_kind":"plain","optional":true,"computed":true},"size":{"type":"number","description":"Size of the Volume in GB","description_kind":"plain","optional":true,"computed":true},"source_volume_id":{"type":"number","description":"The ID of a volume to clone.","description_kind":"plain","optional":true},"status":{"type":"string","description":"The status of the volume, indicating the current readiness state.","description_kind":"plain","computed":true},"tags":{"type":["set","string"],"description":"An array of tags applied to this object. Tags are for organizational purposes only.","description_kind":"plain","optional":true,"computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).","description_kind":"plain","optional":true},"delete":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.","description_kind":"plain","optional":true},"update":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"linode_vpc":{"version":0,"block":{"attributes":{"created":{"type":"string","description":"The date and time when the VPC was created.","description_kind":"plain","computed":true},"description":{"type":"string","description":"The user-defined description of this VPC.","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description":"The id of the VPC.","description_kind":"plain","computed":true},"label":{"type":"string","description":"The label of the VPC. Only contains ascii letters, digits and dashes","description_kind":"plain","required":true},"region":{"type":"string","description":"The region of the VPC.","description_kind":"plain","required":true},"updated":{"type":"string","description":"The date and time when the VPC was updated.","description_kind":"plain","computed":true}},"description_kind":"plain"}},"linode_vpc_subnet":{"version":0,"block":{"attributes":{"created":{"type":"string","description":"The date and time when the VPC Subnet was created.","description_kind":"plain","computed":true},"id":{"type":"string","description":"The id of the VPC Subnet.","description_kind":"plain","computed":true},"ipv4":{"type":"string","description":"The IPv4 range of this subnet in CIDR format.","description_kind":"plain","required":true},"label":{"type":"string","description":"The label of the VPC subnet.","description_kind":"plain","required":true},"linodes":{"type":["list",["object",{"id":"number","interfaces":["list",["object",{"active":"bool","id":"number"}]]}]],"description_kind":"plain","computed":true},"updated":{"type":"string","description":"The date and time when the VPC Subnet was updated.","description_kind":"plain","computed":true},"vpc_id":{"type":"number","description":"The id of the parent VPC for this VPC Subnet","description_kind":"plain","required":true}},"description_kind":"plain"}}},"data_source_schemas":{"linode_account":{"version":0,"block":{"attributes":{"active_since":{"type":"string","description":"When this account was activated.","description_kind":"plain","computed":true},"address_1":{"type":"string","description":"First line of this Account's billing address.","description_kind":"plain","computed":true},"address_2":{"type":"string","description":"Second line of this Account's billing address.","description_kind":"plain","computed":true},"balance":{"type":"number","description":"This Account's balance, in US dollars.","description_kind":"plain","computed":true},"capabilities":{"type":["set","string"],"description":"The capabilities of this account.","description_kind":"plain","computed":true},"city":{"type":"string","description":"The city for this Account's billing address.","description_kind":"plain","computed":true},"company":{"type":"string","description":"The company name associated with this Account.","description_kind":"plain","computed":true},"country":{"type":"string","description":"The two-letter country code of this Account's billing address.","description_kind":"plain","computed":true},"email":{"type":"string","description":"The email address for this Account, for account management communications, and may be used for other communications as configured.","description_kind":"plain","computed":true},"euuid":{"type":"string","description":"The unique ID of this Account.","description_kind":"plain","computed":true},"first_name":{"type":"string","description":"The first name of the person associated with this Account.","description_kind":"plain","computed":true},"id":{"type":"string","description":"The Email of the Account.","description_kind":"plain","computed":true},"last_name":{"type":"string","description":"The last name of the person associated with this Account.","description_kind":"plain","computed":true},"phone":{"type":"string","description":"The phone number associated with this Account.","description_kind":"plain","computed":true},"state":{"type":"string","description":"If billing address is in the United States, this is the State portion of the Account's billing address. If the address is outside the US, this is the Province associated with the Account's billing address.","description_kind":"plain","computed":true},"zip":{"type":"string","description":"The zip code of this Account's billing address.","description_kind":"plain","computed":true}},"description_kind":"plain"}},"linode_account_availabilities":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"The data source's unique ID.","description_kind":"plain","computed":true}},"block_types":{"availabilities":{"nesting_mode":"list","block":{"attributes":{"available":{"type":["set","string"],"description":"A set of available services for the current account in this region.","description_kind":"plain","computed":true},"region":{"type":"string","description":"The region of this availability entry.","description_kind":"plain","required":true},"unavailable":{"type":["set","string"],"description":"A set of unavailable services for the current account in this region.","description_kind":"plain","computed":true}},"description":"The returned list of account availabilities.","description_kind":"plain"}},"filter":{"nesting_mode":"set","block":{"attributes":{"match_by":{"type":"string","description":"The type of comparison to use for this filter.","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the attribute to filter on.","description_kind":"plain","required":true},"values":{"type":["set","string"],"description":"The value(s) to be used in the filter.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"linode_account_availability":{"version":0,"block":{"attributes":{"available":{"type":["set","string"],"description":"A set of available services for the current account in this region.","description_kind":"plain","computed":true},"region":{"type":"string","description":"The region of this availability entry.","description_kind":"plain","required":true},"unavailable":{"type":["set","string"],"description":"A set of unavailable services for the current account in this region.","description_kind":"plain","computed":true}},"description_kind":"plain"}},"linode_account_login":{"version":0,"block":{"attributes":{"datetime":{"type":"string","description":"The time when the login was initiated.","description_kind":"plain","computed":true},"id":{"type":"number","description":"The unique ID of this login object.","description_kind":"plain","required":true},"ip":{"type":"string","description":"The remote IP address that requested the login.","description_kind":"plain","computed":true},"restricted":{"type":"bool","description":"True if the User that was logged into was a restricted User, false otherwise.","description_kind":"plain","computed":true},"status":{"type":"string","description":"Whether the login attempt succeeded or failed.","description_kind":"plain","computed":true},"username":{"type":"string","description":"The username of the User that was logged into.","description_kind":"plain","computed":true}},"description_kind":"plain"}},"linode_account_logins":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"The data source's unique ID.","description_kind":"plain","computed":true}},"block_types":{"filter":{"nesting_mode":"set","block":{"attributes":{"match_by":{"type":"string","description":"The type of comparison to use for this filter.","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the attribute to filter on.","description_kind":"plain","required":true},"values":{"type":["set","string"],"description":"The value(s) to be used in the filter.","description_kind":"plain","required":true}},"description_kind":"plain"}},"logins":{"nesting_mode":"list","block":{"attributes":{"datetime":{"type":"string","description":"The time when the login was initiated.","description_kind":"plain","computed":true},"id":{"type":"number","description":"The unique ID of this login object.","description_kind":"plain","required":true},"ip":{"type":"string","description":"The remote IP address that requested the login.","description_kind":"plain","computed":true},"restricted":{"type":"bool","description":"True if the User that was logged into was a restricted User, false otherwise.","description_kind":"plain","computed":true},"status":{"type":"string","description":"Whether the login attempt succeeded or failed.","description_kind":"plain","computed":true},"username":{"type":"string","description":"The username of the User that was logged into.","description_kind":"plain","computed":true}},"description":"The returned list of account logins.","description_kind":"plain"}}},"description_kind":"plain"}},"linode_account_settings":{"version":0,"block":{"attributes":{"backups_enabled":{"type":"bool","description":"Account-wide backups default.","description_kind":"plain","computed":true},"id":{"type":"string","description":"The email of the current account.","description_kind":"plain","computed":true},"longview_subscription":{"type":"string","description":"The Longview Pro tier you are currently subscribed to.","description_kind":"plain","computed":true},"managed":{"type":"bool","description":"Enables monitoring for connectivity, response, and total request time.","description_kind":"plain","computed":true},"network_helper":{"type":"bool","description":"Enables network helper across all users by default for new Linodes and Linode Configs.","description_kind":"plain","computed":true},"object_storage":{"type":"string","description":"A string describing the status of this account's Object Storage service enrollment.","description_kind":"plain","computed":true}},"description_kind":"plain"}},"linode_child_account":{"version":0,"block":{"attributes":{"active_since":{"type":"string","description":"When this account was activated.","description_kind":"plain","computed":true},"address_1":{"type":"string","description":"First line of this Account's billing address.","description_kind":"plain","computed":true},"address_2":{"type":"string","description":"Second line of this Account's billing address.","description_kind":"plain","computed":true},"balance":{"type":"number","description":"This Account's balance, in US dollars.","description_kind":"plain","computed":true},"capabilities":{"type":["set","string"],"description":"The capabilities of this account.","description_kind":"plain","computed":true},"city":{"type":"string","description":"The city for this Account's billing address.","description_kind":"plain","computed":true},"company":{"type":"string","description":"The company name associated with this Account.","description_kind":"plain","computed":true},"country":{"type":"string","description":"The two-letter country code of this Account's billing address.","description_kind":"plain","computed":true},"email":{"type":"string","description":"The email address for this Account, for account management communications, and may be used for other communications as configured.","description_kind":"plain","computed":true},"euuid":{"type":"string","description":"The unique ID of this Account.","description_kind":"plain","required":true},"first_name":{"type":"string","description":"The first name of the person associated with this Account.","description_kind":"plain","computed":true},"id":{"type":"string","description":"The Email of the Account.","description_kind":"plain","computed":true},"last_name":{"type":"string","description":"The last name of the person associated with this Account.","description_kind":"plain","computed":true},"phone":{"type":"string","description":"The phone number associated with this Account.","description_kind":"plain","computed":true},"state":{"type":"string","description":"If billing address is in the United States, this is the State portion of the Account's billing address. If the address is outside the US, this is the Province associated with the Account's billing address.","description_kind":"plain","computed":true},"zip":{"type":"string","description":"The zip code of this Account's billing address.","description_kind":"plain","computed":true}},"description_kind":"plain"}},"linode_child_accounts":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"The data source's unique ID.","description_kind":"plain","computed":true}},"block_types":{"child_accounts":{"nesting_mode":"list","block":{"attributes":{"active_since":{"type":"string","description":"When this account was activated.","description_kind":"plain","computed":true},"address_1":{"type":"string","description":"First line of this Account's billing address.","description_kind":"plain","computed":true},"address_2":{"type":"string","description":"Second line of this Account's billing address.","description_kind":"plain","computed":true},"balance":{"type":"number","description":"This Account's balance, in US dollars.","description_kind":"plain","computed":true},"capabilities":{"type":["set","string"],"description":"The capabilities of this account.","description_kind":"plain","computed":true},"city":{"type":"string","description":"The city for this Account's billing address.","description_kind":"plain","computed":true},"company":{"type":"string","description":"The company name associated with this Account.","description_kind":"plain","computed":true},"country":{"type":"string","description":"The two-letter country code of this Account's billing address.","description_kind":"plain","computed":true},"email":{"type":"string","description":"The email address for this Account, for account management communications, and may be used for other communications as configured.","description_kind":"plain","computed":true},"euuid":{"type":"string","description":"The unique ID of this Account.","description_kind":"plain","computed":true},"first_name":{"type":"string","description":"The first name of the person associated with this Account.","description_kind":"plain","computed":true},"id":{"type":"string","description":"The Email of the Account.","description_kind":"plain","computed":true},"last_name":{"type":"string","description":"The last name of the person associated with this Account.","description_kind":"plain","computed":true},"phone":{"type":"string","description":"The phone number associated with this Account.","description_kind":"plain","computed":true},"state":{"type":"string","description":"If billing address is in the United States, this is the State portion of the Account's billing address. If the address is outside the US, this is the Province associated with the Account's billing address.","description_kind":"plain","computed":true},"zip":{"type":"string","description":"The zip code of this Account's billing address.","description_kind":"plain","computed":true}},"description":"The returned list of Child Accounts.","description_kind":"plain"}},"filter":{"nesting_mode":"set","block":{"attributes":{"match_by":{"type":"string","description":"The type of comparison to use for this filter.","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the attribute to filter on.","description_kind":"plain","required":true},"values":{"type":["set","string"],"description":"The value(s) to be used in the filter.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"linode_database_backups":{"version":0,"block":{"attributes":{"database_id":{"type":"number","description":"The ID of the Managed Database.","description_kind":"plain","required":true},"database_type":{"type":"string","description":"The type of the Managed Database","description_kind":"plain","required":true},"id":{"type":"number","description":"The data source's unique ID.","description_kind":"plain","computed":true},"latest":{"type":"bool","description":"If true, only the latest engine version will be returned.","description_kind":"plain","optional":true},"order":{"type":"string","description":"The order in which results should be returned.","description_kind":"plain","optional":true},"order_by":{"type":"string","description":"The attribute to order the results by.","description_kind":"plain","optional":true}},"block_types":{"backups":{"nesting_mode":"list","block":{"attributes":{"created":{"type":"string","description":"A time value given in a combined date and time format that represents when the database backup was created.","description_kind":"plain","computed":true},"id":{"type":"number","description":"The ID of the database backup object.","description_kind":"plain","computed":true},"label":{"type":"string","description":"The database backup’s label, for display purposes only.","description_kind":"plain","computed":true},"type":{"type":"string","description":"The type of database backup, determined by how the backup was created.","description_kind":"plain","computed":true}},"description":"The returned list of backups.","description_kind":"plain"}},"filter":{"nesting_mode":"set","block":{"attributes":{"match_by":{"type":"string","description":"The type of comparison to use for this filter.","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the attribute to filter on.","description_kind":"plain","required":true},"values":{"type":["set","string"],"description":"The value(s) to be used in the filter.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"linode_database_engines":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"The data source's unique ID.","description_kind":"plain","computed":true},"latest":{"type":"bool","description":"If true, only the latest engine version will be returned.","description_kind":"plain","optional":true},"order":{"type":"string","description":"The order in which results should be returned.","description_kind":"plain","optional":true},"order_by":{"type":"string","description":"The attribute to order the results by.","description_kind":"plain","optional":true}},"block_types":{"engines":{"nesting_mode":"list","block":{"attributes":{"engine":{"type":"string","description":"The Managed Database engine type.","description_kind":"plain","computed":true},"id":{"type":"string","description":"The Managed Database engine ID in engine/version format.","description_kind":"plain","computed":true},"version":{"type":"string","description":"The Managed Database engine version.","description_kind":"plain","computed":true}},"description":"The returned list of engines.","description_kind":"plain"}},"filter":{"nesting_mode":"set","block":{"attributes":{"match_by":{"type":"string","description":"The type of comparison to use for this filter.","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the attribute to filter on.","description_kind":"plain","required":true},"values":{"type":["set","string"],"description":"The value(s) to be used in the filter.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"linode_database_mysql":{"version":0,"block":{"attributes":{"allow_list":{"type":["set","string"],"description":"A list of IP addresses that can access the Managed Database. Each item can be a single IP address or a range in CIDR format.","description_kind":"plain","computed":true},"ca_cert":{"type":"string","description":"The base64-encoded SSL CA certificate for the Managed Database instance.","description_kind":"plain","computed":true,"sensitive":true},"cluster_size":{"type":"number","description":"The number of Linode Instance nodes deployed to the Managed Database. Defaults to 1.","description_kind":"plain","computed":true},"created":{"type":"string","description":"When this Managed Database was created.","description_kind":"plain","computed":true},"database_id":{"type":"number","description":"The ID of the MySQL database. DEPRECATED: Use ID instead","description_kind":"plain","deprecated":true,"optional":true},"encrypted":{"type":"bool","description":"Whether the Managed Databases is encrypted.","description_kind":"plain","computed":true},"engine":{"type":"string","description":"The Managed Database engine.","description_kind":"plain","computed":true},"engine_id":{"type":"string","description":"The Managed Database engine in engine/version format. (e.g. mysql/8.0.30)","description_kind":"plain","computed":true},"host_primary":{"type":"string","description":"The primary host for the Managed Database.","description_kind":"plain","computed":true},"host_secondary":{"type":"string","description":"The secondary host for the Managed Database.","description_kind":"plain","computed":true},"id":{"type":"number","description":"Unique identifier for this DataSource. The ID of the MySQL database.","description_kind":"plain","optional":true},"label":{"type":"string","description":"A unique, user-defined string referring to the Managed Database.","description_kind":"plain","computed":true},"region":{"type":"string","description":"The region to use for the Managed Database.","description_kind":"plain","computed":true},"replication_type":{"type":"string","description":"The replication method used for the Managed Database.","description_kind":"plain","computed":true},"root_password":{"type":"string","description":"The randomly-generated root password for the Managed Database instance.","description_kind":"plain","computed":true,"sensitive":true},"root_username":{"type":"string","description":"The root username for the Managed Database instance.","description_kind":"plain","computed":true,"sensitive":true},"ssl_connection":{"type":"bool","description":"Whether to require SSL credentials to establish a connection to the Managed Database.","description_kind":"plain","computed":true},"status":{"type":"string","description":"The operating status of the Managed Database.","description_kind":"plain","computed":true},"type":{"type":"string","description":"The Linode Instance type used by the Managed Database for its nodes.","description_kind":"plain","computed":true},"updated":{"type":"string","description":"When this Managed Database was last updated.","description_kind":"plain","computed":true},"updates":{"type":["list",["object",{"day_of_week":"string","duration":"number","frequency":"string","hour_of_day":"number","week_of_month":"number"}]],"description":"Configuration settings for automated patch update maintenance for the Managed Database.","description_kind":"plain","computed":true},"version":{"type":"string","description":"The Managed Database engine version.","description_kind":"plain","computed":true}},"description_kind":"plain"}},"linode_database_mysql_backups":{"version":0,"block":{"attributes":{"backups":{"type":["list",["object",{"created":"string","id":"number","label":"string","type":"string"}]],"description":"The returned list of backups.","description_kind":"plain","computed":true},"database_id":{"type":"number","description":"The ID of the Managed MySQL Database.","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"latest":{"type":"bool","description":"If true, only the latest backup will be returned.","description_kind":"plain","optional":true},"order":{"type":"string","description":"The order in which results should be returned.","description_kind":"plain","optional":true},"order_by":{"type":"string","description":"The attribute to order the results by.","description_kind":"plain","optional":true}},"block_types":{"filter":{"nesting_mode":"list","block":{"attributes":{"match_by":{"type":"string","description":"The type of comparison to use for this filter.","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the attribute to filter on.","description_kind":"plain","required":true},"values":{"type":["list","string"],"description":"The value(s) to be used in the filter.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"linode_database_postgresql":{"version":0,"block":{"attributes":{"allow_list":{"type":["set","string"],"description":"A list of IP addresses that can access the Managed Database. Each item can be a single IP address or a range in CIDR format.","description_kind":"plain","computed":true},"ca_cert":{"type":"string","description":"The base64-encoded SSL CA certificate for the Managed Database instance.","description_kind":"plain","computed":true,"sensitive":true},"cluster_size":{"type":"number","description":"The number of Linode Instance nodes deployed to the Managed Database. Defaults to 1.","description_kind":"plain","computed":true},"created":{"type":"string","description":"When this Managed Database was created.","description_kind":"plain","computed":true},"database_id":{"type":"number","description":"The ID of the PostgreSQL database. DEPRECATED: Use ID instead","description_kind":"plain","deprecated":true,"optional":true},"encrypted":{"type":"bool","description":"Whether the Managed Databases is encrypted.","description_kind":"plain","computed":true},"engine":{"type":"string","description":"The Managed Database engine.","description_kind":"plain","computed":true},"engine_id":{"type":"string","description":"The Managed Database engine in engine/version format. (e.g. postgresql/12.6)","description_kind":"plain","computed":true},"host_primary":{"type":"string","description":"The primary host for the Managed Database.","description_kind":"plain","computed":true},"host_secondary":{"type":"string","description":"The secondary host for the Managed Database.","description_kind":"plain","computed":true},"id":{"type":"number","description":"Unique identifier for this DataSource. The ID of the PostgreSQL database.","description_kind":"plain","optional":true},"label":{"type":"string","description":"A unique, user-defined string referring to the Managed Database.","description_kind":"plain","computed":true},"port":{"type":"number","description":"The access port for this Managed Database.","description_kind":"plain","computed":true},"region":{"type":"string","description":"The region to use for the Managed Database.","description_kind":"plain","computed":true},"replication_commit_type":{"type":"string","description":"The synchronization level of the replicating server.","description_kind":"plain","computed":true},"replication_type":{"type":"string","description":"The replication method used for the Managed Database.","description_kind":"plain","computed":true},"root_password":{"type":"string","description":"The randomly-generated root password for the Managed Database instance.","description_kind":"plain","computed":true,"sensitive":true},"root_username":{"type":"string","description":"The root username for the Managed Database instance.","description_kind":"plain","computed":true,"sensitive":true},"ssl_connection":{"type":"bool","description":"Whether to require SSL credentials to establish a connection to the Managed Database.","description_kind":"plain","computed":true},"status":{"type":"string","description":"The operating status of the Managed Database.","description_kind":"plain","computed":true},"type":{"type":"string","description":"The Linode Instance type used by the Managed Database for its nodes.","description_kind":"plain","computed":true},"updated":{"type":"string","description":"When this Managed Database was last updated.","description_kind":"plain","computed":true},"updates":{"type":["list",["object",{"day_of_week":"string","duration":"number","frequency":"string","hour_of_day":"number","week_of_month":"number"}]],"description":"Configuration settings for automated patch update maintenance for the Managed Database.","description_kind":"plain","computed":true},"version":{"type":"string","description":"The Managed Database engine version.","description_kind":"plain","computed":true}},"description_kind":"plain"}},"linode_databases":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"The data source's unique ID.","description_kind":"plain","computed":true},"order":{"type":"string","description":"The order in which results should be returned.","description_kind":"plain","optional":true},"order_by":{"type":"string","description":"The attribute to order the results by.","description_kind":"plain","optional":true}},"block_types":{"databases":{"nesting_mode":"list","block":{"attributes":{"allow_list":{"type":["set","string"],"description":"A list of IP addresses that can access the Managed Database. Each item can be a single IP address or a range in CIDR format.","description_kind":"plain","computed":true},"cluster_size":{"type":"number","description":"The number of Linode Instance nodes deployed to the Managed Database.","description_kind":"plain","computed":true},"created":{"type":"string","description":"When this Managed Database was created.","description_kind":"plain","computed":true},"encrypted":{"type":"bool","description":"Whether the Managed Databases is encrypted.","description_kind":"plain","computed":true},"engine":{"type":"string","description":"The Managed Database engine type.","description_kind":"plain","computed":true},"host_primary":{"type":"string","description":"The primary host for the Managed Database.","description_kind":"plain","computed":true},"host_secondary":{"type":"string","description":"The secondary/private host for the Managed Database.","description_kind":"plain","computed":true},"id":{"type":"number","description":"A unique ID that can be used to identify and reference the Managed Database.","description_kind":"plain","computed":true},"instance_uri":{"type":"string","description":"he API route for the database instance.","description_kind":"plain","computed":true},"label":{"type":"string","description":"A unique, user-defined string referring to the Managed Database.","description_kind":"plain","computed":true},"region":{"type":"string","description":"The Region ID for the Managed Database.","description_kind":"plain","computed":true},"replication_type":{"type":"string","description":"The replication method used for the Managed Database.","description_kind":"plain","computed":true},"ssl_connection":{"type":"bool","description":"Whether to require SSL credentials to establish a connection to the Managed Database.","description_kind":"plain","computed":true},"status":{"type":"string","description":"The operating status of the Managed Database.","description_kind":"plain","computed":true},"type":{"type":"string","description":"The Linode Instance type used by the Managed Database for its nodes.","description_kind":"plain","computed":true},"updated":{"type":"string","description":"When this Managed Database was last updated.","description_kind":"plain","computed":true},"version":{"type":"string","description":"The Managed Database engine version.","description_kind":"plain","computed":true}},"description":"The returned list of databases.","description_kind":"plain"}},"filter":{"nesting_mode":"set","block":{"attributes":{"match_by":{"type":"string","description":"The type of comparison to use for this filter.","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the attribute to filter on.","description_kind":"plain","required":true},"values":{"type":["set","string"],"description":"The value(s) to be used in the filter.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"linode_domain":{"version":0,"block":{"attributes":{"axfr_ips":{"type":["set","string"],"description":"The list of IPs that may perform a zone transfer for this Domain. This is potentially dangerous, and should be set to an empty list unless you intend to use it.","description_kind":"plain","computed":true},"description":{"type":"string","description":"A description for this Domain. This is for display purposes only.","description_kind":"plain","computed":true},"domain":{"type":"string","description":"The domain this Domain represents. These must be unique in our system; you cannot have two Domains representing the same domain.","description_kind":"plain","optional":true},"expire_sec":{"type":"number","description":"The amount of time in seconds that may pass before this Domain is no longer Valid values are 0, 30, 120, 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200 - any other value will be rounded to the nearest valid value.","description_kind":"plain","computed":true},"group":{"type":"string","description":"The group this Domain belongs to. This is for display purposes only.","description_kind":"plain","computed":true},"id":{"type":"number","description":"The Domain's unique ID.","description_kind":"plain","optional":true},"master_ips":{"type":["set","string"],"description":"The IP addresses representing the master DNS for this Domain.","description_kind":"plain","computed":true},"refresh_sec":{"type":"number","description":"The amount of time in seconds before this Domain should be refreshed. Valid values are 0, 30, 120, 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200 - any other value will be rounded to the nearest valid value.","description_kind":"plain","computed":true},"retry_sec":{"type":"number","description":"The interval, in seconds, at which a failed refresh should be retried. Valid values are 0, 30, 120, 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200 - any other value will be rounded to the nearest valid value.","description_kind":"plain","computed":true},"soa_email":{"type":"string","description":"Start of Authority email address. This is required for master Domains.","description_kind":"plain","computed":true},"status":{"type":"string","description":"Used to control whether this Domain is currently being rendered.","description_kind":"plain","computed":true},"tags":{"type":["set","string"],"description":"An array of tags applied to this object. Tags are for organizational purposes only.","description_kind":"plain","computed":true},"ttl_sec":{"type":"number","description":"'Time to Live' - the amount of time in seconds that this Domain's records may be cached by resolvers or other domain servers. Valid values are 0, 30, 120, 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200 - any other value will be rounded to the nearest valid value.","description_kind":"plain","computed":true},"type":{"type":"string","description":"If this Domain represents the authoritative source of information for the domain it describes, or if it is a read-only copy of a master (also called a slave).","description_kind":"plain","computed":true}},"description_kind":"plain"}},"linode_domain_record":{"version":0,"block":{"attributes":{"domain_id":{"type":"number","description":"The associated domain's ID.","description_kind":"plain","required":true},"id":{"type":"number","description":"The unique ID assigned to this domain record.","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the Record.","description_kind":"plain","optional":true},"port":{"type":"number","description":"The port this Record points to.","description_kind":"plain","computed":true},"priority":{"type":"number","description":"The priority of the target host. Lower values are preferred.","description_kind":"plain","computed":true},"protocol":{"type":"string","description":"The protocol this Record's service communicates with. Only valid for SRV records.","description_kind":"plain","computed":true},"service":{"type":"string","description":"The service this Record identified. Only valid for SRV records.","description_kind":"plain","computed":true},"tag":{"type":"string","description":"The tag portion of a CAA record.","description_kind":"plain","computed":true},"target":{"type":"string","description":"The target for this Record. This field's actual usage depends on the type of record this represents. For A and AAAA records, this is the address the named Domain should resolve to.","description_kind":"plain","computed":true},"ttl_sec":{"type":"number","description":"The amount of time in seconds that this Domain's records may be cached by resolvers or other domain servers.","description_kind":"plain","computed":true},"type":{"type":"string","description":"The type of Record this is in the DNS system.","description_kind":"plain","computed":true},"weight":{"type":"number","description":"The relative weight of this Record. Higher values are preferred.","description_kind":"plain","computed":true}},"description_kind":"plain"}},"linode_domain_zonefile":{"version":0,"block":{"attributes":{"domain_id":{"type":"number","description":"The domain's ID.","description_kind":"plain","required":true},"id":{"type":"string","description":"The unique ID for this DataSource","description_kind":"plain","computed":true},"zone_file":{"type":["list","string"],"description":"Lines of the zone file for the last rendered zone for this domain.","description_kind":"plain","computed":true}},"description_kind":"plain"}},"linode_domains":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"The data source's unique ID.","description_kind":"plain","computed":true},"order":{"type":"string","description":"The order in which results should be returned.","description_kind":"plain","optional":true},"order_by":{"type":"string","description":"The attribute to order the results by.","description_kind":"plain","optional":true}},"block_types":{"domains":{"nesting_mode":"list","block":{"attributes":{"axfr_ips":{"type":["set","string"],"description":"The list of IPs that may perform a zone transfer for this Domain. This is potentially dangerous, and should be set to an empty list unless you intend to use it.","description_kind":"plain","computed":true},"description":{"type":"string","description":"A description for this Domain. This is for display purposes only.","description_kind":"plain","computed":true},"domain":{"type":"string","description":"The domain this Domain represents. These must be unique in our system; you cannot have two Domains representing the same domain.","description_kind":"plain","optional":true},"expire_sec":{"type":"number","description":"The amount of time in seconds that may pass before this Domain is no longer Valid values are 0, 30, 120, 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200 - any other value will be rounded to the nearest valid value.","description_kind":"plain","computed":true},"group":{"type":"string","description":"The group this Domain belongs to. This is for display purposes only.","description_kind":"plain","computed":true},"id":{"type":"number","description":"The Domain's unique ID.","description_kind":"plain","optional":true},"master_ips":{"type":["set","string"],"description":"The IP addresses representing the master DNS for this Domain.","description_kind":"plain","computed":true},"refresh_sec":{"type":"number","description":"The amount of time in seconds before this Domain should be refreshed. Valid values are 0, 30, 120, 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200 - any other value will be rounded to the nearest valid value.","description_kind":"plain","computed":true},"retry_sec":{"type":"number","description":"The interval, in seconds, at which a failed refresh should be retried. Valid values are 0, 30, 120, 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200 - any other value will be rounded to the nearest valid value.","description_kind":"plain","computed":true},"soa_email":{"type":"string","description":"Start of Authority email address. This is required for master Domains.","description_kind":"plain","computed":true},"status":{"type":"string","description":"Used to control whether this Domain is currently being rendered.","description_kind":"plain","computed":true},"tags":{"type":["set","string"],"description":"An array of tags applied to this object. Tags are for organizational purposes only.","description_kind":"plain","computed":true},"ttl_sec":{"type":"number","description":"'Time to Live' - the amount of time in seconds that this Domain's records may be cached by resolvers or other domain servers. Valid values are 0, 30, 120, 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200 - any other value will be rounded to the nearest valid value.","description_kind":"plain","computed":true},"type":{"type":"string","description":"If this Domain represents the authoritative source of information for the domain it describes, or if it is a read-only copy of a master (also called a slave).","description_kind":"plain","computed":true}},"description":"The returned list of Domains.","description_kind":"plain"}},"filter":{"nesting_mode":"set","block":{"attributes":{"match_by":{"type":"string","description":"The type of comparison to use for this filter.","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the attribute to filter on.","description_kind":"plain","required":true},"values":{"type":["set","string"],"description":"The value(s) to be used in the filter.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"linode_firewall":{"version":0,"block":{"attributes":{"created":{"type":"string","description":"When this Firewall was created.","description_kind":"plain","computed":true},"devices":{"type":["list",["object",{"entity_id":"number","id":"number","label":"string","type":"string","url":"string"}]],"description":"The devices associated with this firewall.","description_kind":"plain","computed":true},"disabled":{"type":"bool","description":"If true, the Firewall is inactive.","description_kind":"plain","computed":true},"id":{"type":"number","description":"The unique ID assigned to this Firewall.","description_kind":"plain","required":true},"inbound":{"type":["list",["object",{"action":"string","ipv4":["list","string"],"ipv6":["list","string"],"label":"string","ports":"string","protocol":"string"}]],"description":"A firewall rule that specifies what inbound network traffic is allowed.","description_kind":"plain","computed":true},"inbound_policy":{"type":"string","description":"The default behavior for inbound traffic. This setting can be overridden by updating the inbound.action property for an individual Firewall Rule.","description_kind":"plain","computed":true},"label":{"type":"string","description":"The label for the Firewall. For display purposes only. If no label is provided, a default will be assigned.","description_kind":"plain","computed":true},"linodes":{"type":["set","number"],"description":"The IDs of Linodes assigned to this Firewall.","description_kind":"plain","computed":true},"nodebalancers":{"type":["set","number"],"description":"The IDs of NodeBalancers assigned to this Firewall.","description_kind":"plain","computed":true},"outbound":{"type":["list",["object",{"action":"string","ipv4":["list","string"],"ipv6":["list","string"],"label":"string","ports":"string","protocol":"string"}]],"description":"A firewall rule that specifies what outbound network traffic is allowed.","description_kind":"plain","computed":true},"outbound_policy":{"type":"string","description":"The default behavior for outbound traffic. This setting can be overridden by updating the outbound.action property for an individual Firewall Rule.","description_kind":"plain","computed":true},"status":{"type":"string","description":"The status of the firewall.","description_kind":"plain","computed":true},"tags":{"type":["set","string"],"description":"An array of tags applied to this object. Tags are for organizational purposes only.","description_kind":"plain","computed":true},"updated":{"type":"string","description":"When this Firewall was last updated.","description_kind":"plain","computed":true}},"description_kind":"plain"}},"linode_firewalls":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"The data source's unique ID.","description_kind":"plain","computed":true},"order":{"type":"string","description":"The order in which results should be returned.","description_kind":"plain","optional":true},"order_by":{"type":"string","description":"The attribute to order the results by.","description_kind":"plain","optional":true}},"block_types":{"filter":{"nesting_mode":"set","block":{"attributes":{"match_by":{"type":"string","description":"The type of comparison to use for this filter.","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the attribute to filter on.","description_kind":"plain","required":true},"values":{"type":["set","string"],"description":"The value(s) to be used in the filter.","description_kind":"plain","required":true}},"description_kind":"plain"}},"firewalls":{"nesting_mode":"list","block":{"attributes":{"created":{"type":"string","description":"When this Firewall was created.","description_kind":"plain","computed":true},"disabled":{"type":"bool","description":"If true, the Firewall is inactive.","description_kind":"plain","computed":true},"id":{"type":"number","description":"The unique ID assigned to this Firewall.","description_kind":"plain","computed":true},"inbound_policy":{"type":"string","description":"The default behavior for inbound traffic.","description_kind":"plain","computed":true},"label":{"type":"string","description":"The label for the Firewall. For display purposes only. If no label is provided, a default will be assigned.","description_kind":"plain","computed":true},"linodes":{"type":["set","number"],"description":"The IDs of Linodes assigned to this Firewall.","description_kind":"plain","computed":true},"nodebalancers":{"type":["set","number"],"description":"The IDs of NodeBalancers assigned to this Firewall..","description_kind":"plain","computed":true},"outbound_policy":{"type":"string","description":"The default behavior for outbound traffic.","description_kind":"plain","computed":true},"status":{"type":"string","description":"The status of the firewall.","description_kind":"plain","computed":true},"tags":{"type":["set","string"],"description":"An array of tags applied to this object. Tags are for organizational purposes only.","description_kind":"plain","computed":true},"updated":{"type":"string","description":"When this Firewall was last updated.","description_kind":"plain","computed":true}},"block_types":{"devices":{"nesting_mode":"list","block":{"attributes":{"entity_id":{"type":"number","description":"The ID of the underlying entity this device references (i.e. the Linode's ID).","description_kind":"plain","computed":true},"id":{"type":"number","description":"The unique ID of the Firewall Device.","description_kind":"plain","computed":true},"label":{"type":"string","description":"The label of the underlying entity this device references.","description_kind":"plain","computed":true},"type":{"type":"string","description":"The type of Firewall Device.","description_kind":"plain","computed":true},"url":{"type":"string","description":"The URL of the underlying entity this device references.","description_kind":"plain","computed":true}},"description":"The devices associated with this firewall.","description_kind":"plain"}},"inbound":{"nesting_mode":"list","block":{"attributes":{"action":{"type":"string","description":"Controls whether traffic is accepted or dropped by this rule (ACCEPT, DROP).","description_kind":"plain","computed":true},"ipv4":{"type":["set","string"],"description":"A list of IPv4 addresses or networks in IP/mask format.","description_kind":"plain","computed":true},"ipv6":{"type":["set","string"],"description":"A list of IPv6 addresses or networks in IP/mask format.","description_kind":"plain","computed":true},"label":{"type":"string","description":"The label of this rule for display purposes only.","description_kind":"plain","computed":true},"ports":{"type":"string","description":"A string representation of ports and/or port ranges (i.e. \"443\" or \"80-90, 91\").","description_kind":"plain","computed":true},"protocol":{"type":"string","description":"The network protocol this rule controls. (TCP, UDP, ICMP)","description_kind":"plain","computed":true}},"description":"A set of firewall rules that specify what inbound network traffic is allowed.","description_kind":"plain"}},"outbound":{"nesting_mode":"list","block":{"attributes":{"action":{"type":"string","description":"Controls whether traffic is accepted or dropped by this rule (ACCEPT, DROP).","description_kind":"plain","computed":true},"ipv4":{"type":["set","string"],"description":"A list of IPv4 addresses or networks in IP/mask format.","description_kind":"plain","computed":true},"ipv6":{"type":["set","string"],"description":"A list of IPv6 addresses or networks in IP/mask format.","description_kind":"plain","computed":true},"label":{"type":"string","description":"The label of this rule for display purposes only.","description_kind":"plain","computed":true},"ports":{"type":"string","description":"A string representation of ports and/or port ranges (i.e. \"443\" or \"80-90, 91\").","description_kind":"plain","computed":true},"protocol":{"type":"string","description":"The network protocol this rule controls. (TCP, UDP, ICMP)","description_kind":"plain","computed":true}},"description":"A set of firewall rules that specify what outbound network traffic is allowed.","description_kind":"plain"}}},"description":"The returned list of Firewalls.","description_kind":"plain"}}},"description_kind":"plain"}},"linode_image":{"version":0,"block":{"attributes":{"capabilities":{"type":["set","string"],"description":"The capabilities of this Image.","description_kind":"plain","computed":true},"created":{"type":"string","description":"When this Image was created.","description_kind":"plain","computed":true},"created_by":{"type":"string","description":"The name of the User who created this Image.","description_kind":"plain","computed":true},"deprecated":{"type":"bool","description":"Whether or not this Image is deprecated. Will only be True for deprecated public Images.","description_kind":"plain","computed":true},"description":{"type":"string","description":"A detailed description of this Image.","description_kind":"plain","computed":true},"expiry":{"type":"string","description":"Only Images created automatically (from a deleted Linode; type=automatic) will expire.","description_kind":"plain","computed":true},"id":{"type":"string","description":"The unique ID assigned to this Image.","description_kind":"plain","required":true},"is_public":{"type":"bool","description":"True if the Image is public.","description_kind":"plain","computed":true},"label":{"type":"string","description":"A short description of the Image. Labels cannot contain special characters.","description_kind":"plain","computed":true},"size":{"type":"number","description":"The minimum size this Image needs to deploy. Size is in MB.","description_kind":"plain","computed":true},"status":{"type":"string","description":"The current status of this Image.","description_kind":"plain","computed":true},"type":{"type":"string","description":"How the Image was created. 'Manual' Images can be created at any time. 'Automatic' images are created automatically from a deleted Linode.","description_kind":"plain","computed":true},"vendor":{"type":"string","description":"The upstream distribution vendor. Nil for private Images.","description_kind":"plain","computed":true}},"description_kind":"plain"}},"linode_images":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"The data source's unique ID.","description_kind":"plain","computed":true},"latest":{"type":"bool","description":"If true, only the latest image will be returned.","description_kind":"plain","optional":true},"order":{"type":"string","description":"The order in which results should be returned.","description_kind":"plain","optional":true},"order_by":{"type":"string","description":"The attribute to order the results by.","description_kind":"plain","optional":true}},"block_types":{"filter":{"nesting_mode":"set","block":{"attributes":{"match_by":{"type":"string","description":"The type of comparison to use for this filter.","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the attribute to filter on.","description_kind":"plain","required":true},"values":{"type":["set","string"],"description":"The value(s) to be used in the filter.","description_kind":"plain","required":true}},"description_kind":"plain"}},"images":{"nesting_mode":"list","block":{"attributes":{"capabilities":{"type":["set","string"],"description":"The capabilities of this Image.","description_kind":"plain","computed":true},"created":{"type":"string","description":"When this Image was created.","description_kind":"plain","computed":true},"created_by":{"type":"string","description":"The name of the User who created this Image.","description_kind":"plain","computed":true},"deprecated":{"type":"bool","description":"Whether or not this Image is deprecated. Will only be True for deprecated public Images.","description_kind":"plain","computed":true},"description":{"type":"string","description":"A detailed description of this Image.","description_kind":"plain","computed":true},"expiry":{"type":"string","description":"Only Images created automatically (from a deleted Linode; type=automatic) will expire.","description_kind":"plain","computed":true},"id":{"type":"string","description":"The unique ID assigned to this Image.","description_kind":"plain","required":true},"is_public":{"type":"bool","description":"True if the Image is public.","description_kind":"plain","computed":true},"label":{"type":"string","description":"A short description of the Image. Labels cannot contain special characters.","description_kind":"plain","computed":true},"size":{"type":"number","description":"The minimum size this Image needs to deploy. Size is in MB.","description_kind":"plain","computed":true},"status":{"type":"string","description":"The current status of this Image.","description_kind":"plain","computed":true},"type":{"type":"string","description":"How the Image was created. 'Manual' Images can be created at any time. 'Automatic' images are created automatically from a deleted Linode.","description_kind":"plain","computed":true},"vendor":{"type":"string","description":"The upstream distribution vendor. Nil for private Images.","description_kind":"plain","computed":true}},"description":"The returned list of Images.","description_kind":"plain"}}},"description_kind":"plain"}},"linode_instance_backups":{"version":0,"block":{"attributes":{"automatic":{"type":["list",["object",{"available":"bool","configs":["list","string"],"created":"string","disks":["list",["object",{"filesystem":"string","label":"string","size":"number"}]],"finished":"string","id":"number","label":"string","status":"string","type":"string","updated":"string"}]],"description":"A list of backups or snapshots for a Linode.","description_kind":"plain","computed":true},"current":{"type":["list",["object",{"available":"bool","configs":["list","string"],"created":"string","disks":["list",["object",{"filesystem":"string","label":"string","size":"number"}]],"finished":"string","id":"number","label":"string","status":"string","type":"string","updated":"string"}]],"description":"The current Backup for a Linode.","description_kind":"plain","computed":true},"id":{"type":"number","description":"The ID of the Backup","description_kind":"plain","computed":true},"in_progress":{"type":["list",["object",{"available":"bool","configs":["list","string"],"created":"string","disks":["list",["object",{"filesystem":"string","label":"string","size":"number"}]],"finished":"string","id":"number","label":"string","status":"string","type":"string","updated":"string"}]],"description":"The in-progress Backup for a Linode","description_kind":"plain","computed":true},"linode_id":{"type":"number","description":"The ID of the Linode to get backups for.","description_kind":"plain","required":true}},"description_kind":"plain"}},"linode_instance_networking":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"Unique identifier for this DataSource.","description_kind":"plain","computed":true},"ipv4":{"type":["list",["object",{"private":["list",["object",{"address":"string","gateway":"string","linode_id":"number","prefix":"number","public":"bool","rdns":"string","region":"string","subnet_mask":"string","type":"string","vpc_nat_1_1":["object",{"address":"string","subnet_id":"number","vpc_id":"number"}]}]],"public":["list",["object",{"address":"string","gateway":"string","linode_id":"number","prefix":"number","public":"bool","rdns":"string","region":"string","subnet_mask":"string","type":"string","vpc_nat_1_1":["object",{"address":"string","subnet_id":"number","vpc_id":"number"}]}]],"reserved":["list",["object",{"address":"string","gateway":"string","linode_id":"number","prefix":"number","public":"bool","rdns":"string","region":"string","subnet_mask":"string","type":"string","vpc_nat_1_1":["object",{"address":"string","subnet_id":"number","vpc_id":"number"}]}]],"shared":["list",["object",{"address":"string","gateway":"string","linode_id":"number","prefix":"number","public":"bool","rdns":"string","region":"string","subnet_mask":"string","type":"string","vpc_nat_1_1":["object",{"address":"string","subnet_id":"number","vpc_id":"number"}]}]],"vpc":["list",["object",{"active":"bool","address":"string","address_range":"string","config_id":"number","gateway":"string","interface_id":"number","linode_id":"number","nat_1_1":"string","prefix":"number","region":"string","subnet_id":"number","subnet_mask":"string","vpc_id":"number"}]]}]],"description":"Information about this Linode's IPv4 addresses.","description_kind":"plain","computed":true},"ipv6":{"type":["list",["object",{"global":["list",["object",{"prefix":"number","range":"string","region":"string","route_target":"string"}]],"link_local":["object",{"address":"string","gateway":"string","linode_id":"number","prefix":"number","public":"bool","rdns":"string","region":"string","subnet_mask":"string","type":"string","vpc_nat_1_1":["object",{"address":"string","subnet_id":"number","vpc_id":"number"}]}],"slaac":["object",{"address":"string","gateway":"string","linode_id":"number","prefix":"number","public":"bool","rdns":"string","region":"string","subnet_mask":"string","type":"string","vpc_nat_1_1":["object",{"address":"string","subnet_id":"number","vpc_id":"number"}]}]}]],"description":"Information about this Linode's IPv6 addresses.","description_kind":"plain","computed":true},"linode_id":{"type":"number","description":"The ID of the Linode for network info.","description_kind":"plain","required":true}},"description_kind":"plain"}},"linode_instance_type":{"version":0,"block":{"attributes":{"addons":{"type":["list",["object",{"backups":["list",["object",{"price":["list",["object",{"hourly":"number","monthly":"number"}]],"region_prices":["list",["object",{"hourly":"number","id":"string","monthly":"number"}]]}]]}]],"description":"Information about the optional Backup service offered for Linodes.","description_kind":"plain","computed":true},"class":{"type":"string","description":"The class of the Linode Type. There are currently three classes of Linodes: nanode, standard, highmem, dedicated","description_kind":"plain","computed":true},"disk":{"type":"number","description":"The Disk size, in MB, of the Linode Type.","description_kind":"plain","computed":true},"id":{"type":"string","description":"The unique ID assigned to this Instance type.","description_kind":"plain","required":true},"label":{"type":"string","description":"The Linode Type's label is for display purposes only.","description_kind":"plain","optional":true,"computed":true},"memory":{"type":"number","description":"Amount of RAM included in this Linode Type.","description_kind":"plain","computed":true},"network_out":{"type":"number","description":"The Mbits outbound bandwidth allocation.","description_kind":"plain","computed":true},"price":{"type":["list",["object",{"hourly":"number","monthly":"number"}]],"description":"Cost in US dollars, broken down into hourly and monthly charges.","description_kind":"plain","computed":true},"region_prices":{"type":["list",["object",{"hourly":"number","id":"string","monthly":"number"}]],"description":"A list of region-specific prices for this plan.","description_kind":"plain","computed":true},"transfer":{"type":"number","description":"The monthly outbound transfer amount, in MB.","description_kind":"plain","computed":true},"vcpus":{"type":"number","description":"The number of VCPU cores this Linode Type offers.","description_kind":"plain","computed":true}},"description_kind":"plain"}},"linode_instance_types":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"The data source's unique ID.","description_kind":"plain","computed":true},"order":{"type":"string","description":"The order in which results should be returned.","description_kind":"plain","optional":true},"order_by":{"type":"string","description":"The attribute to order the results by.","description_kind":"plain","optional":true}},"block_types":{"filter":{"nesting_mode":"set","block":{"attributes":{"match_by":{"type":"string","description":"The type of comparison to use for this filter.","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the attribute to filter on.","description_kind":"plain","required":true},"values":{"type":["set","string"],"description":"The value(s) to be used in the filter.","description_kind":"plain","required":true}},"description_kind":"plain"}},"types":{"nesting_mode":"list","block":{"attributes":{"addons":{"type":["list",["object",{"backups":["list",["object",{"price":["list",["object",{"hourly":"number","monthly":"number"}]],"region_prices":["list",["object",{"hourly":"number","id":"string","monthly":"number"}]]}]]}]],"description":"Information about the optional Backup service offered for Linodes.","description_kind":"plain","computed":true},"class":{"type":"string","description":"The class of the Linode Type. There are currently three classes of Linodes: nanode, standard, highmem, dedicated","description_kind":"plain","computed":true},"disk":{"type":"number","description":"The Disk size, in MB, of the Linode Type.","description_kind":"plain","computed":true},"id":{"type":"string","description":"The unique ID assigned to this Instance type.","description_kind":"plain","required":true},"label":{"type":"string","description":"The Linode Type's label is for display purposes only.","description_kind":"plain","optional":true,"computed":true},"memory":{"type":"number","description":"Amount of RAM included in this Linode Type.","description_kind":"plain","computed":true},"network_out":{"type":"number","description":"The Mbits outbound bandwidth allocation.","description_kind":"plain","computed":true},"price":{"type":["list",["object",{"hourly":"number","monthly":"number"}]],"description":"Cost in US dollars, broken down into hourly and monthly charges.","description_kind":"plain","computed":true},"region_prices":{"type":["list",["object",{"hourly":"number","id":"string","monthly":"number"}]],"description":"A list of region-specific prices for this plan.","description_kind":"plain","computed":true},"transfer":{"type":"number","description":"The monthly outbound transfer amount, in MB.","description_kind":"plain","computed":true},"vcpus":{"type":"number","description":"The number of VCPU cores this Linode Type offers.","description_kind":"plain","computed":true}},"description":"The returned list of instance types.","description_kind":"plain"}}},"description_kind":"plain"}},"linode_instances":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"instances":{"type":["list",["object",{"alerts":["list",["object",{"cpu":"number","io":"number","network_in":"number","network_out":"number","transfer_quota":"number"}]],"backups":["list",["object",{"available":"bool","enabled":"bool","schedule":["list",["object",{"day":"string","window":"string"}]]}]],"boot_config_label":"string","config":["list",["object",{"comments":"string","devices":["list",["object",{"sda":["list",["object",{"disk_id":"number","disk_label":"string","volume_id":"number"}]],"sdb":["list",["object",{"disk_id":"number","disk_label":"string","volume_id":"number"}]],"sdc":["list",["object",{"disk_id":"number","disk_label":"string","volume_id":"number"}]],"sdd":["list",["object",{"disk_id":"number","disk_label":"string","volume_id":"number"}]],"sde":["list",["object",{"disk_id":"number","disk_label":"string","volume_id":"number"}]],"sdf":["list",["object",{"disk_id":"number","disk_label":"string","volume_id":"number"}]],"sdg":["list",["object",{"disk_id":"number","disk_label":"string","volume_id":"number"}]],"sdh":["list",["object",{"disk_id":"number","disk_label":"string","volume_id":"number"}]]}]],"helpers":["list",["object",{"devtmpfs_automount":"bool","distro":"bool","modules_dep":"bool","network":"bool","updatedb_disabled":"bool"}]],"id":"number","interface":["list",["object",{"active":"bool","id":"number","ip_ranges":["list","string"],"ipam_address":"string","ipv4":["list",["object",{"nat_1_1":"string","vpc":"string"}]],"label":"string","primary":"bool","purpose":"string","subnet_id":"number","vpc_id":"number"}]],"kernel":"string","label":"string","memory_limit":"number","root_device":"string","run_level":"string","virt_mode":"string"}]],"disk":["list",["object",{"filesystem":"string","id":"number","label":"string","size":"number"}]],"group":"string","has_user_data":"bool","host_uuid":"string","id":"number","image":"string","ip_address":"string","ipv4":["set","string"],"ipv6":"string","label":"string","private_ip_address":"string","region":"string","specs":["list",["object",{"disk":"number","memory":"number","transfer":"number","vcpus":"number"}]],"status":"string","swap_size":"number","tags":["set","string"],"type":"string","watchdog_enabled":"bool"}]],"description":"The returned list of Instances.","description_kind":"plain","computed":true},"order":{"type":"string","description":"The order in which results should be returned.","description_kind":"plain","optional":true},"order_by":{"type":"string","description":"The attribute to order the results by.","description_kind":"plain","optional":true}},"block_types":{"filter":{"nesting_mode":"list","block":{"attributes":{"match_by":{"type":"string","description":"The type of comparison to use for this filter.","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the attribute to filter on.","description_kind":"plain","required":true},"values":{"type":["list","string"],"description":"The value(s) to be used in the filter.","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"linode_ipv6_range":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"The unique ID for this DataSource","description_kind":"plain","computed":true},"is_bgp":{"type":"bool","description":"Whether this IPv6 range is shared.","description_kind":"plain","computed":true},"linodes":{"type":["set","number"],"description":"The IDs of Linodes to apply this firewall to.","description_kind":"plain","computed":true},"prefix":{"type":"number","description":"The prefix length of the address, denoting how many addresses can be assigned from this range.","description_kind":"plain","computed":true},"range":{"type":"string","description":"The IPv6 range to retrieve information about.","description_kind":"plain","required":true},"region":{"type":"string","description":"The region for this range of IPv6 addresses.","description_kind":"plain","computed":true}},"description_kind":"plain"}},"linode_ipv6_ranges":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"The data source's unique ID.","description_kind":"plain","computed":true}},"block_types":{"filter":{"nesting_mode":"set","block":{"attributes":{"match_by":{"type":"string","description":"The type of comparison to use for this filter.","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the attribute to filter on.","description_kind":"plain","required":true},"values":{"type":["set","string"],"description":"The value(s) to be used in the filter.","description_kind":"plain","required":true}},"description_kind":"plain"}},"ranges":{"nesting_mode":"list","block":{"attributes":{"prefix":{"type":"number","description":"The prefix length of the address, denoting how many addresses can be assigned from this range.","description_kind":"plain","computed":true},"range":{"type":"string","description":"The IPv6 address of this range.","description_kind":"plain","computed":true},"region":{"type":"string","description":"The region for this range of IPv6 addresses.","description_kind":"plain","computed":true},"route_target":{"type":"string","description":"The IPv6 SLAAC address.","description_kind":"plain","computed":true}},"description":"The return list of IPv6 ranges.","description_kind":"plain"}}},"description_kind":"plain"}},"linode_kernel":{"version":0,"block":{"attributes":{"architecture":{"type":"string","description":"The architecture of this Kernel.","description_kind":"plain","computed":true},"built":{"type":"string","description":"The date on which this Kernel was built.","description_kind":"plain","computed":true},"deprecated":{"type":"bool","description":"Whether or not this Kernel is deprecated.","description_kind":"plain","computed":true},"id":{"type":"string","description":"The unique ID of this Kernel.","description_kind":"plain","required":true},"kvm":{"type":"bool","description":"If this Kernel is suitable for KVM Linodes.","description_kind":"plain","computed":true},"label":{"type":"string","description":"The friendly name of this Kernel.","description_kind":"plain","computed":true},"pvops":{"type":"bool","description":"If this Kernel is suitable for paravirtualized operations.","description_kind":"plain","computed":true},"version":{"type":"string","description":"Linux Kernel version.","description_kind":"plain","computed":true},"xen":{"type":"bool","description":"If this Kernel is suitable for Xen Linodes.","description_kind":"plain","computed":true}},"description_kind":"plain"}},"linode_kernels":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"The data source's unique ID.","description_kind":"plain","computed":true},"order":{"type":"string","description":"The order in which results should be returned.","description_kind":"plain","optional":true},"order_by":{"type":"string","description":"The attribute to order the results by.","description_kind":"plain","optional":true}},"block_types":{"filter":{"nesting_mode":"set","block":{"attributes":{"match_by":{"type":"string","description":"The type of comparison to use for this filter.","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the attribute to filter on.","description_kind":"plain","required":true},"values":{"type":["set","string"],"description":"The value(s) to be used in the filter.","description_kind":"plain","required":true}},"description_kind":"plain"}},"kernels":{"nesting_mode":"list","block":{"attributes":{"architecture":{"type":"string","description":"The architecture of this Kernel.","description_kind":"plain","computed":true},"built":{"type":"string","description":"The date on which this Kernel was built.","description_kind":"plain","computed":true},"deprecated":{"type":"bool","description":"Whether or not this Kernel is deprecated.","description_kind":"plain","computed":true},"id":{"type":"string","description":"The unique ID of this Kernel.","description_kind":"plain","required":true},"kvm":{"type":"bool","description":"If this Kernel is suitable for KVM Linodes.","description_kind":"plain","computed":true},"label":{"type":"string","description":"The friendly name of this Kernel.","description_kind":"plain","computed":true},"pvops":{"type":"bool","description":"If this Kernel is suitable for paravirtualized operations.","description_kind":"plain","computed":true},"version":{"type":"string","description":"Linux Kernel version.","description_kind":"plain","computed":true},"xen":{"type":"bool","description":"If this Kernel is suitable for Xen Linodes.","description_kind":"plain","computed":true}},"description":"The returned list of Kernels.","description_kind":"plain"}}},"description_kind":"plain"}},"linode_lke_cluster":{"version":0,"block":{"attributes":{"api_endpoints":{"type":["list","string"],"description":"The API endpoints for the cluster.","description_kind":"plain","computed":true},"created":{"type":"string","description":"When this Kubernetes cluster was created.","description_kind":"plain","computed":true},"dashboard_url":{"type":"string","description":"The dashboard URL of the cluster.","description_kind":"plain","computed":true},"id":{"type":"number","description":"The unique ID of this LKE Cluster.","description_kind":"plain","required":true},"k8s_version":{"type":"string","description":"The desired Kubernetes version for this Kubernetes cluster in the format of \u003cmajor\u003e.\u003cminor\u003e. The latest supported patch version will be deployed.","description_kind":"plain","computed":true},"kubeconfig":{"type":"string","description":"The Base64-encoded Kubeconfig for the cluster.","description_kind":"plain","computed":true,"sensitive":true},"label":{"type":"string","description":"The unique label for the cluster.","description_kind":"plain","computed":true},"region":{"type":"string","description":"This cluster's location.","description_kind":"plain","computed":true},"status":{"type":"string","description":"The status of the cluster.","description_kind":"plain","computed":true},"tags":{"type":["set","string"],"description":"An array of tags applied to this object. Tags are for organizational purposes only.","description_kind":"plain","computed":true},"updated":{"type":"string","description":"When this Kubernetes cluster was updated.","description_kind":"plain","computed":true}},"block_types":{"control_plane":{"nesting_mode":"list","block":{"attributes":{"high_availability":{"type":"bool","description":"Defines whether High Availability is enabled for the Control Plane Components of the cluster.","description_kind":"plain","computed":true}},"block_types":{"acl":{"nesting_mode":"list","block":{"attributes":{"enabled":{"type":"bool","description":"The default policy. A value of true means a default policy of DENY. A value of false means default policy of ALLOW.","description_kind":"plain","computed":true}},"block_types":{"addresses":{"nesting_mode":"list","block":{"attributes":{"ipv4":{"type":["set","string"],"description":"A set of individual ipv4 addresses or CIDRs allowed.","description_kind":"plain","computed":true},"ipv6":{"type":["set","string"],"description":"A set of individual ipv6 addresses or CIDRs allowed.","description_kind":"plain","computed":true}},"description":"A list of ip addresses allowed.","description_kind":"plain"}}},"description":"The ACL configuration for an LKE cluster's control plane.","description_kind":"plain"}}},"description":"Defines settings for the Kubernetes Control Plane.","description_kind":"plain"}},"pools":{"nesting_mode":"list","block":{"attributes":{"count":{"type":"number","description":"The number of nodes in the Node Pool.","description_kind":"plain","computed":true},"id":{"type":"number","description":"The ID of the Node Pool.","description_kind":"plain","computed":true},"tags":{"type":["list","string"],"description":"An array of tags applied to this object. Tags are for organizational purposes only.","description_kind":"plain","computed":true},"type":{"type":"string","description":"A Linode Type for all of the nodes in the Node Pool.","description_kind":"plain","computed":true}},"block_types":{"autoscaler":{"nesting_mode":"list","block":{"attributes":{"enabled":{"type":"bool","description":"Whether autoscaling is enabled for this Node Pool. Defaults to false.","description_kind":"plain","computed":true},"max":{"type":"number","description":"The maximum number of nodes to autoscale to. Defaults to the Node Pool’s count.","description_kind":"plain","computed":true},"min":{"type":"number","description":"The minimum number of nodes to autoscale to. Defaults to the Node Pool’s count.","description_kind":"plain","computed":true}},"description":"When specified, the number of nodes autoscales within the defined minimum and maximum values.","description_kind":"plain"}},"disks":{"nesting_mode":"list","block":{"attributes":{"size":{"type":"number","description":"The size of this custom disk partition in MB.","description_kind":"plain","computed":true},"type":{"type":"string","description":"This custom disk partition’s filesystem type.","description_kind":"plain","computed":true}},"description":"This Node Pool’s custom disk layout.","description_kind":"plain"}},"nodes":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The ID of the node.","description_kind":"plain","computed":true},"instance_id":{"type":"number","description":"The ID of the underlying Linode instance.","description_kind":"plain","computed":true},"status":{"type":"string","description":"The status of the node.","description_kind":"plain","computed":true}},"description":"The nodes in the node pool.","description_kind":"plain"}}},"description":"All active Node Pools on the cluster.","description_kind":"plain"}}},"description_kind":"plain"}},"linode_lke_clusters":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"The data source's unique ID.","description_kind":"plain","computed":true},"order":{"type":"string","description":"The order in which results should be returned.","description_kind":"plain","optional":true},"order_by":{"type":"string","description":"The attribute to order the results by.","description_kind":"plain","optional":true}},"block_types":{"filter":{"nesting_mode":"set","block":{"attributes":{"match_by":{"type":"string","description":"The type of comparison to use for this filter.","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the attribute to filter on.","description_kind":"plain","required":true},"values":{"type":["set","string"],"description":"The value(s) to be used in the filter.","description_kind":"plain","required":true}},"description_kind":"plain"}},"lke_clusters":{"nesting_mode":"list","block":{"attributes":{"created":{"type":"string","description":"When this Kubernetes cluster was created.","description_kind":"plain","computed":true},"id":{"type":"number","description":"This Kubernetes cluster’s unique ID.","description_kind":"plain","computed":true},"k8s_version":{"type":"string","description":"The desired Kubernetes version for this Kubernetes cluster in the format of \u003cmajor\u003e.\u003cminor\u003e. The latest supported patch version will be deployed.","description_kind":"plain","computed":true},"label":{"type":"string","description":"The unique label for the cluster.","description_kind":"plain","computed":true},"region":{"type":"string","description":"This cluster's location.","description_kind":"plain","computed":true},"status":{"type":"string","description":"The status of the cluster.","description_kind":"plain","computed":true},"tags":{"type":["set","string"],"description":"An array of tags applied to this object. Tags are for organizational purposes only.","description_kind":"plain","computed":true},"updated":{"type":"string","description":"When this Kubernetes cluster was updated.","description_kind":"plain","computed":true}},"block_types":{"control_plane":{"nesting_mode":"single","block":{"attributes":{"high_availability":{"type":"bool","description":"Defines whether High Availability is enabled for the Control Plane Components of the cluster.","description_kind":"plain","computed":true}},"description":"Defines settings for the Kubernetes Control Plane.","description_kind":"plain"}}},"description":"The returned list of LKE clusters available on the account.","description_kind":"plain"}}},"description_kind":"plain"}},"linode_lke_versions":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"Unique identification field for this list of LKE Versions.","description_kind":"plain","computed":true},"versions":{"type":["list",["object",{"id":"string"}]],"description":"The Kubernetes version numbers available for deployment to a Kubernetes cluster.","description_kind":"plain","computed":true}},"description_kind":"plain"}},"linode_networking_ip":{"version":0,"block":{"attributes":{"address":{"type":"string","description":"The IP address.","description_kind":"plain","required":true},"gateway":{"type":"string","description":"The default gateway for this address.","description_kind":"plain","computed":true},"id":{"type":"string","description":"A unique identifier for this datasource.","description_kind":"plain","computed":true},"linode_id":{"type":"number","description":"The ID of the Linode this address currently belongs to.","description_kind":"plain","computed":true},"prefix":{"type":"number","description":"The number of bits set in the subnet mask.","description_kind":"plain","computed":true},"public":{"type":"bool","description":"Whether this is a public or private IP address.","description_kind":"plain","computed":true},"rdns":{"type":"string","description":"The reverse DNS assigned to this address. For public IPv4 addresses, this will be set to a default value provided by Linode if not explicitly set.","description_kind":"plain","computed":true},"region":{"type":"string","description":"The Region this IP address resides in.","description_kind":"plain","computed":true},"subnet_mask":{"type":"string","description":"The mask that separates host bits from network bits for this address.","description_kind":"plain","computed":true},"type":{"type":"string","description":"The type of address this is (ipv4, ipv6, ipv6/pool, ipv6/range).","description_kind":"plain","computed":true}},"description_kind":"plain"}},"linode_nodebalancer":{"version":1,"block":{"attributes":{"client_conn_throttle":{"type":"number","description":"Throttle connections per second (0-20). Set to 0 (zero) to disable throttling.","description_kind":"plain","computed":true},"created":{"type":"string","description":"When this NodeBalancer was created.","description_kind":"plain","computed":true},"hostname":{"type":"string","description":"This NodeBalancer's hostname, ending with .nodebalancer.linode.com","description_kind":"plain","computed":true},"id":{"type":"number","description":"The unique ID of the Linode NodeBalancer.","description_kind":"plain","required":true},"ipv4":{"type":"string","description":"The Public IPv4 Address of this NodeBalancer","description_kind":"plain","computed":true},"ipv6":{"type":"string","description":"The Public IPv6 Address of this NodeBalancer","description_kind":"plain","computed":true},"label":{"type":"string","description":"The label of the Linode NodeBalancer.","description_kind":"plain","computed":true},"region":{"type":"string","description":"The region where this NodeBalancer will be deployed.","description_kind":"plain","computed":true},"tags":{"type":["set","string"],"description":"An array of tags applied to this object. Tags are for organizational purposes only.","description_kind":"plain","computed":true},"transfer":{"type":["list",["object",{"in":"number","out":"number","total":"number"}]],"description":"Information about the amount of transfer this NodeBalancer has had so far this month.","description_kind":"plain","computed":true},"updated":{"type":"string","description":"When this NodeBalancer was last updated.","description_kind":"plain","computed":true}},"block_types":{"firewalls":{"nesting_mode":"list","block":{"attributes":{"created":{"type":"string","description":"When this Firewall was created.","description_kind":"plain","computed":true},"id":{"type":"number","description":"The unique ID assigned to this Firewall.","description_kind":"plain","computed":true},"inbound_policy":{"type":"string","description":"The default behavior for inbound traffic.","description_kind":"plain","computed":true},"label":{"type":"string","description":"The label for the Firewall. For display purposes only. If no label is provided, a default will be assigned.","description_kind":"plain","computed":true},"outbound_policy":{"type":"string","description":"The default behavior for outbound traffic.","description_kind":"plain","computed":true},"status":{"type":"string","description":"The status of the firewall.","description_kind":"plain","computed":true},"tags":{"type":["set","string"],"description":"An array of tags applied to this object. Tags are for organizational purposes only.","description_kind":"plain","computed":true},"updated":{"type":"string","description":"When this Firewall was last updated.","description_kind":"plain","computed":true}},"block_types":{"inbound":{"nesting_mode":"list","block":{"attributes":{"action":{"type":"string","description":"Controls whether traffic is accepted or dropped by this rule (ACCEPT, DROP).","description_kind":"plain","computed":true},"ipv4":{"type":["set","string"],"description":"A list of IPv4 addresses or networks in IP/mask format.","description_kind":"plain","computed":true},"ipv6":{"type":["set","string"],"description":"A list of IPv6 addresses or networks in IP/mask format.","description_kind":"plain","computed":true},"label":{"type":"string","description":"The label of this rule for display purposes only.","description_kind":"plain","computed":true},"ports":{"type":"string","description":"A string representation of ports and/or port ranges (i.e. \"443\" or \"80-90, 91\").","description_kind":"plain","computed":true},"protocol":{"type":"string","description":"The network protocol this rule controls. (TCP, UDP, ICMP)","description_kind":"plain","computed":true}},"description":"A set of firewall rules that specify what inbound network traffic is allowed.","description_kind":"plain"}},"outbound":{"nesting_mode":"list","block":{"attributes":{"action":{"type":"string","description":"Controls whether traffic is accepted or dropped by this rule (ACCEPT, DROP).","description_kind":"plain","computed":true},"ipv4":{"type":["set","string"],"description":"A list of IPv4 addresses or networks in IP/mask format.","description_kind":"plain","computed":true},"ipv6":{"type":["set","string"],"description":"A list of IPv6 addresses or networks in IP/mask format.","description_kind":"plain","computed":true},"label":{"type":"string","description":"The label of this rule for display purposes only.","description_kind":"plain","computed":true},"ports":{"type":"string","description":"A string representation of ports and/or port ranges (i.e. \"443\" or \"80-90, 91\").","description_kind":"plain","computed":true},"protocol":{"type":"string","description":"The network protocol this rule controls. (TCP, UDP, ICMP)","description_kind":"plain","computed":true}},"description":"A set of firewall rules that specify what outbound network traffic is allowed.","description_kind":"plain"}}},"description":"A list of Firewalls assigned to this NodeBalancer.","description_kind":"plain"}}},"description_kind":"plain"}},"linode_nodebalancer_config":{"version":1,"block":{"attributes":{"algorithm":{"type":"string","description":"What algorithm this NodeBalancer should use for routing traffic to backends: roundrobin, leastconn, source","description_kind":"plain","computed":true},"check":{"type":"string","description":"The type of check to perform against backends to ensure they are serving requests. This is used to determine if backends are up or down. If none no check is performed. connection requires only a connection to the backend to succeed. http and http_body rely on the backend serving HTTP, and that the response returned matches what is expected.","description_kind":"plain","computed":true},"check_attempts":{"type":"number","description":"How many times to attempt a check before considering a backend to be down. (1-30)","description_kind":"plain","computed":true},"check_body":{"type":"string","description":"This value must be present in the response body of the check in order for it to pass. If this value is not present in the response body of a check request, the backend is considered to be down","description_kind":"plain","computed":true},"check_interval":{"type":"number","description":"How often, in seconds, to check that backends are up and serving requests.","description_kind":"plain","computed":true},"check_passive":{"type":"bool","description":"If true, any response from this backend with a 5xx status code will be enough for it to be considered unhealthy and taken out of rotation.","description_kind":"plain","computed":true},"check_path":{"type":"string","description":"The URL path to check on each backend. If the backend does not respond to this request it is considered to be down.","description_kind":"plain","computed":true},"check_timeout":{"type":"number","description":"How long, in seconds, to wait for a check attempt before considering it failed. (1-30)","description_kind":"plain","computed":true},"cipher_suite":{"type":"string","description":"What ciphers to use for SSL connections served by this NodeBalancer. `legacy` is considered insecure and should only be used if necessary.","description_kind":"plain","computed":true},"id":{"type":"number","description":"The ID of the NodeBalancer config.","description_kind":"plain","required":true},"node_status":{"type":["list",["object",{"down":"number","up":"number"}]],"description":"A structure containing information about the health of the backends for this port. This information is updated periodically as checks are performed against backends.","description_kind":"plain","computed":true},"nodebalancer_id":{"type":"number","description":"The ID of the NodeBalancer to access.","description_kind":"plain","required":true},"port":{"type":"number","description":"The TCP port this Config is for. These values must be unique across configs on a single NodeBalancer (you can't have two configs for port 80, for example). While some ports imply some protocols, no enforcement is done and you may configure your NodeBalancer however is useful to you. For example, while port 443 is generally used for HTTPS, you do not need SSL configured to have a NodeBalancer listening on port 443.","description_kind":"plain","computed":true},"protocol":{"type":"string","description":"The protocol this port is configured to serve. If this is set to https you must include an ssl_cert and an ssl_key.","description_kind":"plain","computed":true},"proxy_protocol":{"type":"string","description":"The version of ProxyProtocol to use for the underlying NodeBalancer. This requires protocol to be `tcp`. Valid values are `none`, `v1`, and `v2`.","description_kind":"plain","computed":true},"ssl_commonname":{"type":"string","description":"The read-only common name automatically derived from the SSL certificate assigned to this NodeBalancerConfig. Please refer to this field to verify that the appropriate certificate is assigned to your NodeBalancerConfig.","description_kind":"plain","computed":true},"ssl_fingerprint":{"type":"string","description":"The read-only fingerprint automatically derived from the SSL certificate assigned to this NodeBalancerConfig. Please refer to this field to verify that the appropriate certificate is assigned to your NodeBalancerConfig.","description_kind":"plain","computed":true},"stickiness":{"type":"string","description":"Controls how session stickiness is handled on this port: 'none', 'table', 'http_cookie'","description_kind":"plain","computed":true}},"description_kind":"plain"}},"linode_nodebalancer_configs":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"The data source's unique ID.","description_kind":"plain","computed":true},"nodebalancer_id":{"type":"number","description":"The ID of the NodeBalancer to access.","description_kind":"plain","required":true},"order":{"type":"string","description":"The order in which results should be returned.","description_kind":"plain","optional":true},"order_by":{"type":"string","description":"The attribute to order the results by.","description_kind":"plain","optional":true}},"block_types":{"filter":{"nesting_mode":"set","block":{"attributes":{"match_by":{"type":"string","description":"The type of comparison to use for this filter.","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the attribute to filter on.","description_kind":"plain","required":true},"values":{"type":["set","string"],"description":"The value(s) to be used in the filter.","description_kind":"plain","required":true}},"description_kind":"plain"}},"nodebalancer_configs":{"nesting_mode":"list","block":{"attributes":{"algorithm":{"type":"string","description":"What algorithm this NodeBalancer should use for routing traffic to backends: roundrobin, leastconn, source","description_kind":"plain","computed":true},"check":{"type":"string","description":"The type of check to perform against backends to ensure they are serving requests. This is used to determine if backends are up or down. If none no check is performed. connection requires only a connection to the backend to succeed. http and http_body rely on the backend serving HTTP, and that the response returned matches what is expected.","description_kind":"plain","computed":true},"check_attempts":{"type":"number","description":"How many times to attempt a check before considering a backend to be down. (1-30)","description_kind":"plain","computed":true},"check_body":{"type":"string","description":"This value must be present in the response body of the check in order for it to pass. If this value is not present in the response body of a check request, the backend is considered to be down","description_kind":"plain","computed":true},"check_interval":{"type":"number","description":"How often, in seconds, to check that backends are up and serving requests.","description_kind":"plain","computed":true},"check_passive":{"type":"bool","description":"If true, any response from this backend with a 5xx status code will be enough for it to be considered unhealthy and taken out of rotation.","description_kind":"plain","computed":true},"check_path":{"type":"string","description":"The URL path to check on each backend. If the backend does not respond to this request it is considered to be down.","description_kind":"plain","computed":true},"check_timeout":{"type":"number","description":"How long, in seconds, to wait for a check attempt before considering it failed. (1-30)","description_kind":"plain","computed":true},"cipher_suite":{"type":"string","description":"What ciphers to use for SSL connections served by this NodeBalancer. `legacy` is considered insecure and should only be used if necessary.","description_kind":"plain","computed":true},"id":{"type":"number","description":"The ID of the NodeBalancer config.","description_kind":"plain","required":true},"node_status":{"type":["list",["object",{"down":"number","up":"number"}]],"description":"A structure containing information about the health of the backends for this port. This information is updated periodically as checks are performed against backends.","description_kind":"plain","computed":true},"nodebalancer_id":{"type":"number","description":"The ID of the NodeBalancer to access.","description_kind":"plain","required":true},"port":{"type":"number","description":"The TCP port this Config is for. These values must be unique across configs on a single NodeBalancer (you can't have two configs for port 80, for example). While some ports imply some protocols, no enforcement is done and you may configure your NodeBalancer however is useful to you. For example, while port 443 is generally used for HTTPS, you do not need SSL configured to have a NodeBalancer listening on port 443.","description_kind":"plain","computed":true},"protocol":{"type":"string","description":"The protocol this port is configured to serve. If this is set to https you must include an ssl_cert and an ssl_key.","description_kind":"plain","computed":true},"proxy_protocol":{"type":"string","description":"The version of ProxyProtocol to use for the underlying NodeBalancer. This requires protocol to be `tcp`. Valid values are `none`, `v1`, and `v2`.","description_kind":"plain","computed":true},"ssl_commonname":{"type":"string","description":"The read-only common name automatically derived from the SSL certificate assigned to this NodeBalancerConfig. Please refer to this field to verify that the appropriate certificate is assigned to your NodeBalancerConfig.","description_kind":"plain","computed":true},"ssl_fingerprint":{"type":"string","description":"The read-only fingerprint automatically derived from the SSL certificate assigned to this NodeBalancerConfig. Please refer to this field to verify that the appropriate certificate is assigned to your NodeBalancerConfig.","description_kind":"plain","computed":true},"stickiness":{"type":"string","description":"Controls how session stickiness is handled on this port: 'none', 'table', 'http_cookie'","description_kind":"plain","computed":true}},"description":"The returned list of NodeBalancer Configs.","description_kind":"plain"}}},"description_kind":"plain"}},"linode_nodebalancer_node":{"version":0,"block":{"attributes":{"address":{"type":"string","description":"The private IP Address and port (IP:PORT) where this backend can be reached. This must be a private IP address.","description_kind":"plain","computed":true},"config_id":{"type":"number","description":"The ID of the NodeBalancerConfig to access.","description_kind":"plain","required":true},"id":{"type":"number","description":"The ID of the NodeBalancer node.","description_kind":"plain","required":true},"label":{"type":"string","description":"The label for this node. This is for display purposes only.","description_kind":"plain","computed":true},"mode":{"type":"string","description":"The mode this NodeBalancer should use when sending traffic to this backend. If set to `accept` this backend is accepting traffic. If set to `reject` this backend will not receive traffic. If set to `drain` this backend will not receive new traffic, but connections already pinned to it will continue to be routed to it. If set to `backup` this backend will only accept traffic if all other nodes are down.","description_kind":"plain","computed":true},"nodebalancer_id":{"type":"number","description":"The ID of the NodeBalancer to access.","description_kind":"plain","required":true},"status":{"type":"string","description":"The current status of this node, based on the configured checks of its NodeBalancer Config. (unknown, UP, DOWN)","description_kind":"plain","computed":true},"weight":{"type":"number","description":"Used when picking a backend to serve a request and is not pinned to a single backend yet. Nodes with a higher weight will receive more traffic. (1-255)","description_kind":"plain","computed":true}},"description_kind":"plain"}},"linode_nodebalancers":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"The data source's unique ID.","description_kind":"plain","computed":true},"order":{"type":"string","description":"The order in which results should be returned.","description_kind":"plain","optional":true},"order_by":{"type":"string","description":"The attribute to order the results by.","description_kind":"plain","optional":true}},"block_types":{"filter":{"nesting_mode":"set","block":{"attributes":{"match_by":{"type":"string","description":"The type of comparison to use for this filter.","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the attribute to filter on.","description_kind":"plain","required":true},"values":{"type":["set","string"],"description":"The value(s) to be used in the filter.","description_kind":"plain","required":true}},"description_kind":"plain"}},"nodebalancers":{"nesting_mode":"list","block":{"attributes":{"client_conn_throttle":{"type":"number","description":"Throttle connections per second (0-20). Set to 0 (zero) to disable throttling.","description_kind":"plain","computed":true},"created":{"type":"string","description":"When this NodeBalancer was created.","description_kind":"plain","computed":true},"hostname":{"type":"string","description":"This NodeBalancer's hostname, ending with .nodebalancer.linode.com","description_kind":"plain","computed":true},"id":{"type":"number","description":"The unique ID of the Linode NodeBalancer.","description_kind":"plain","required":true},"ipv4":{"type":"string","description":"The Public IPv4 Address of this NodeBalancer","description_kind":"plain","computed":true},"ipv6":{"type":"string","description":"The Public IPv6 Address of this NodeBalancer","description_kind":"plain","computed":true},"label":{"type":"string","description":"The label of the Linode NodeBalancer.","description_kind":"plain","computed":true},"region":{"type":"string","description":"The region where this NodeBalancer will be deployed.","description_kind":"plain","computed":true},"tags":{"type":["set","string"],"description":"An array of tags applied to this object. Tags are for organizational purposes only.","description_kind":"plain","computed":true},"transfer":{"type":["list",["object",{"in":"number","out":"number","total":"number"}]],"description":"Information about the amount of transfer this NodeBalancer has had so far this month.","description_kind":"plain","computed":true},"updated":{"type":"string","description":"When this NodeBalancer was last updated.","description_kind":"plain","computed":true}},"description":"The returned list of NodeBalancers.","description_kind":"plain"}}},"description_kind":"plain"}},"linode_object_storage_bucket":{"version":0,"block":{"attributes":{"cluster":{"type":"string","description":"The ID of the Object Storage Cluster this bucket is in.","description_kind":"plain","optional":true,"computed":true},"created":{"type":"string","description":"When this bucket was created.","description_kind":"plain","computed":true},"hostname":{"type":"string","description":"The hostname where this bucket can be accessed.This hostname can be accessed through a browser if the bucket is made public.","description_kind":"plain","computed":true},"id":{"type":"string","description":"The id of this bucket.","description_kind":"plain","computed":true},"label":{"type":"string","description":"The name of this bucket.","description_kind":"plain","required":true},"objects":{"type":"number","description":"The number of objects stored in this bucket.","description_kind":"plain","computed":true},"region":{"type":"string","description":"The ID of the region this bucket is in.","description_kind":"plain","optional":true,"computed":true},"size":{"type":"number","description":"The size of the bucket in bytes.","description_kind":"plain","computed":true}},"description_kind":"plain"}},"linode_object_storage_cluster":{"version":0,"block":{"attributes":{"domain":{"type":"string","description":"The base URL for this cluster.","description_kind":"plain","computed":true},"id":{"type":"string","description":"The unique ID of this Cluster.","description_kind":"plain","required":true},"region":{"type":"string","description":"The region this cluster is located in.","description_kind":"plain","computed":true},"static_site_domain":{"type":"string","description":"The base URL for this cluster used when hosting static sites.","description_kind":"plain","computed":true},"status":{"type":"string","description":"This cluster's status.","description_kind":"plain","computed":true}},"description_kind":"plain","deprecated":true}},"linode_placement_group":{"version":0,"block":{"attributes":{"id":{"type":"number","description":"The ID of the placement group.","description_kind":"plain","required":true},"is_compliant":{"type":"bool","description":"Whether all Linodes in this group are currently compliant with the group's placement group type.","description_kind":"plain","computed":true},"label":{"type":"string","description":"The label of the placement group.","description_kind":"plain","computed":true},"placement_group_policy":{"type":"string","description":"Whether Linodes must be able to become compliant during assignment.","description_kind":"plain","computed":true},"placement_group_type":{"type":"string","description":"The placement group type for Linodes in a placement group","description_kind":"plain","computed":true},"region":{"type":"string","description":"The region that the placement group is in.","description_kind":"plain","computed":true}},"block_types":{"members":{"nesting_mode":"set","block":{"attributes":{"is_compliant":{"type":"bool","description":"Whether this Linode is currently compliant with the group's placement group type.","description_kind":"plain","computed":true},"linode_id":{"type":"number","description":"The ID of the Linode.","description_kind":"plain","computed":true}},"description":"A list of Linodes assigned to a placement group.","description_kind":"plain"}}},"description_kind":"plain"}},"linode_placement_groups":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"The data source's unique ID.","description_kind":"plain","computed":true},"order":{"type":"string","description":"The order in which results should be returned.","description_kind":"plain","optional":true},"order_by":{"type":"string","description":"The attribute to order the results by.","description_kind":"plain","optional":true}},"block_types":{"filter":{"nesting_mode":"set","block":{"attributes":{"match_by":{"type":"string","description":"The type of comparison to use for this filter.","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the attribute to filter on.","description_kind":"plain","required":true},"values":{"type":["set","string"],"description":"The value(s) to be used in the filter.","description_kind":"plain","required":true}},"description_kind":"plain"}},"placement_groups":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"number","description":"The ID of the placement group.","description_kind":"plain","required":true},"is_compliant":{"type":"bool","description":"Whether all Linodes in this group are currently compliant with the group's placement group type.","description_kind":"plain","computed":true},"label":{"type":"string","description":"The label of the placement group.","description_kind":"plain","computed":true},"placement_group_policy":{"type":"string","description":"Whether Linodes must be able to become compliant during assignment.","description_kind":"plain","computed":true},"placement_group_type":{"type":"string","description":"The placement group type for Linodes in a placement group","description_kind":"plain","computed":true},"region":{"type":"string","description":"The region that the placement group is in.","description_kind":"plain","computed":true}},"block_types":{"members":{"nesting_mode":"set","block":{"attributes":{"is_compliant":{"type":"bool","description":"Whether this Linode is currently compliant with the group's placement group type.","description_kind":"plain","computed":true},"linode_id":{"type":"number","description":"The ID of the Linode.","description_kind":"plain","computed":true}},"description":"A list of Linodes assigned to a placement group.","description_kind":"plain"}}},"description":"The returned list of Placement Groups.","description_kind":"plain"}}},"description_kind":"plain"}},"linode_profile":{"version":0,"block":{"attributes":{"authorized_keys":{"type":["list","string"],"description":"The list of SSH Keys authorized to use Lish for this user. This value is ignored if lish_auth_method is 'disabled'.","description_kind":"plain","computed":true},"email":{"type":"string","description":"The profile email address. This address will be used for communication with Linode as necessary.","description_kind":"plain","computed":true},"email_notifications":{"type":"bool","description":"If true, email notifications will be sent about account activity. If false, when false business-critical communications may still be sent through email.","description_kind":"plain","computed":true},"id":{"type":"string","description":"Unique identification field for this datasource.","description_kind":"plain","computed":true},"ip_whitelist_enabled":{"type":"bool","description":"If true, logins for the user will only be allowed from whitelisted IPs. This setting is currently deprecated, and cannot be enabled.","description_kind":"plain","computed":true},"lish_auth_method":{"type":"string","description":"The methods of authentication allowed when connecting via Lish. 'keys_only' is the most secure with the intent to use Lish, and 'disabled' is recommended for users that will not use Lish at all.","description_kind":"plain","computed":true},"referrals":{"type":["list",["object",{"code":"string","completed":"number","credit":"number","pending":"number","total":"number","url":"string"}]],"description":"Credit Card information associated with this Account.","description_kind":"plain","computed":true},"restricted":{"type":"bool","description":"If true, the user has restrictions on what can be accessed on the Account.","description_kind":"plain","computed":true},"timezone":{"type":"string","description":"The profile's preferred timezone. This is not used by the API, and is for the benefit of clients only. All times the API returns are in UTC.","description_kind":"plain","computed":true},"two_factor_auth":{"type":"bool","description":"If true, logins from untrusted computers will require Two Factor Authentication.","description_kind":"plain","computed":true},"username":{"type":"string","description":"The username for logging in to Linode services.","description_kind":"plain","computed":true}},"description_kind":"plain"}},"linode_region":{"version":0,"block":{"attributes":{"capabilities":{"type":["set","string"],"description":"A list of capabilities of this region.","description_kind":"plain","computed":true},"country":{"type":"string","description":"The country where this Region resides.","description_kind":"plain","computed":true},"id":{"type":"string","description":"The unique ID of this Region.","description_kind":"plain","required":true},"label":{"type":"string","description":"Detailed location information for this Region, including city, state or region, and country.","description_kind":"plain","computed":true},"placement_group_limits":{"type":["list",["object",{"maximum_linodes_per_pg":"number","maximum_pgs_per_customer":"number"}]],"description":"Information about placement groups limits for this region.","description_kind":"plain","computed":true},"site_type":{"type":"string","description":"The type of this Region.","description_kind":"plain","computed":true},"status":{"type":"string","description":"This region’s current operational status.","description_kind":"plain","computed":true}},"block_types":{"resolvers":{"nesting_mode":"list","block":{"attributes":{"ipv4":{"type":"string","description":"The IPv4 addresses for this region’s DNS resolvers, separated by commas.","description_kind":"plain","computed":true},"ipv6":{"type":"string","description":"The IPv6 addresses for this region’s DNS resolvers, separated by commas.","description_kind":"plain","computed":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"linode_regions":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"The data source's unique ID.","description_kind":"plain","computed":true}},"block_types":{"filter":{"nesting_mode":"set","block":{"attributes":{"match_by":{"type":"string","description":"The type of comparison to use for this filter.","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the attribute to filter on.","description_kind":"plain","required":true},"values":{"type":["set","string"],"description":"The value(s) to be used in the filter.","description_kind":"plain","required":true}},"description_kind":"plain"}},"regions":{"nesting_mode":"list","block":{"attributes":{"capabilities":{"type":["set","string"],"description":"A list of capabilities of this region.","description_kind":"plain","computed":true},"country":{"type":"string","description":"The country where this Region resides.","description_kind":"plain","computed":true},"id":{"type":"string","description":"The unique ID of this Region.","description_kind":"plain","required":true},"label":{"type":"string","description":"Detailed location information for this Region, including city, state or region, and country.","description_kind":"plain","computed":true},"placement_group_limits":{"type":["list",["object",{"maximum_linodes_per_pg":"number","maximum_pgs_per_customer":"number"}]],"description":"Information about placement groups limits for this region.","description_kind":"plain","computed":true},"site_type":{"type":"string","description":"The type of this Region.","description_kind":"plain","computed":true},"status":{"type":"string","description":"This region’s current operational status.","description_kind":"plain","computed":true}},"block_types":{"resolvers":{"nesting_mode":"list","block":{"attributes":{"ipv4":{"type":"string","description":"The IPv4 addresses for this region’s DNS resolvers, separated by commas.","description_kind":"plain","computed":true},"ipv6":{"type":"string","description":"The IPv6 addresses for this region’s DNS resolvers, separated by commas.","description_kind":"plain","computed":true}},"description_kind":"plain"}}},"description_kind":"plain"}}},"description_kind":"plain"}},"linode_sshkey":{"version":0,"block":{"attributes":{"created":{"type":"string","description":"The date this key was added.","description_kind":"plain","computed":true},"id":{"type":"string","description":"A unique identifier for this datasource.","description_kind":"plain","optional":true},"label":{"type":"string","description":"The label of the Linode SSH Key.","description_kind":"plain","required":true},"ssh_key":{"type":"string","description":"The public SSH Key, which is used to authenticate to the root user of the Linodes you deploy.","description_kind":"plain","computed":true}},"description_kind":"plain"}},"linode_sshkeys":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"The data source's unique ID.","description_kind":"plain","computed":true},"order":{"type":"string","description":"The order in which results should be returned.","description_kind":"plain","optional":true},"order_by":{"type":"string","description":"The attribute to order the results by.","description_kind":"plain","optional":true}},"block_types":{"filter":{"nesting_mode":"set","block":{"attributes":{"match_by":{"type":"string","description":"The type of comparison to use for this filter.","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the attribute to filter on.","description_kind":"plain","required":true},"values":{"type":["set","string"],"description":"The value(s) to be used in the filter.","description_kind":"plain","required":true}},"description_kind":"plain"}},"sshkeys":{"nesting_mode":"list","block":{"attributes":{"created":{"type":"string","description":"The date this key was added.","description_kind":"plain","computed":true},"id":{"type":"string","description":"A unique identifier for this datasource.","description_kind":"plain","optional":true},"label":{"type":"string","description":"The label of the Linode SSH Key.","description_kind":"plain","required":true},"ssh_key":{"type":"string","description":"The public SSH Key, which is used to authenticate to the root user of the Linodes you deploy.","description_kind":"plain","computed":true}},"description":"The returned list of SSH Keys.","description_kind":"plain"}}},"description_kind":"plain"}},"linode_stackscript":{"version":1,"block":{"attributes":{"created":{"type":"string","description":"The date this StackScript was created.","description_kind":"plain","computed":true},"deployments_active":{"type":"number","description":"Count of currently active, deployed Linodes created from this StackScript.","description_kind":"plain","computed":true},"deployments_total":{"type":"number","description":"The total number of times this StackScript has been deployed.","description_kind":"plain","computed":true},"description":{"type":"string","description":"A description for the StackScript.","description_kind":"plain","computed":true},"id":{"type":"string","description":"The StackScript's unique ID.","description_kind":"plain","required":true},"images":{"type":["set","string"],"description":"An array of Image IDs representing the Images that this StackScript is compatible for deploying with.","description_kind":"plain","computed":true},"is_public":{"type":"bool","description":"This determines whether other users can use your StackScript. Once a StackScript is made public, it cannot be made private.","description_kind":"plain","computed":true},"label":{"type":"string","description":"The StackScript's label is for display purposes only.","description_kind":"plain","computed":true},"rev_note":{"type":"string","description":"This field allows you to add notes for the set of revisions made to this StackScript.","description_kind":"plain","computed":true},"script":{"type":"string","description":"The script to execute when provisioning a new Linode with this StackScript.","description_kind":"plain","computed":true},"updated":{"type":"string","description":"The date this StackScript was updated.","description_kind":"plain","computed":true},"user_defined_fields":{"type":["list",["object",{"default":"string","example":"string","label":"string","many_of":"string","name":"string","one_of":"string"}]],"description":"This is a list of fields defined with a special syntax inside this StackScript that allow for supplying customized parameters during deployment.","description_kind":"plain","computed":true},"user_gravatar_id":{"type":"string","description":"The Gravatar ID for the User who created the StackScript.","description_kind":"plain","computed":true},"username":{"type":"string","description":"The User who created the StackScript.","description_kind":"plain","computed":true}},"description_kind":"plain"}},"linode_stackscripts":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"The data source's unique ID.","description_kind":"plain","computed":true},"latest":{"type":"bool","description":"If true, only the latest StackScript will be returned.","description_kind":"plain","optional":true},"order":{"type":"string","description":"The order in which results should be returned.","description_kind":"plain","optional":true},"order_by":{"type":"string","description":"The attribute to order the results by.","description_kind":"plain","optional":true}},"block_types":{"filter":{"nesting_mode":"set","block":{"attributes":{"match_by":{"type":"string","description":"The type of comparison to use for this filter.","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the attribute to filter on.","description_kind":"plain","required":true},"values":{"type":["set","string"],"description":"The value(s) to be used in the filter.","description_kind":"plain","required":true}},"description_kind":"plain"}},"stackscripts":{"nesting_mode":"list","block":{"attributes":{"created":{"type":"string","description":"The date this StackScript was created.","description_kind":"plain","computed":true},"deployments_active":{"type":"number","description":"Count of currently active, deployed Linodes created from this StackScript.","description_kind":"plain","computed":true},"deployments_total":{"type":"number","description":"The total number of times this StackScript has been deployed.","description_kind":"plain","computed":true},"description":{"type":"string","description":"A description for the StackScript.","description_kind":"plain","computed":true},"id":{"type":"string","description":"The StackScript's unique ID.","description_kind":"plain","required":true},"images":{"type":["set","string"],"description":"An array of Image IDs representing the Images that this StackScript is compatible for deploying with.","description_kind":"plain","computed":true},"is_public":{"type":"bool","description":"This determines whether other users can use your StackScript. Once a StackScript is made public, it cannot be made private.","description_kind":"plain","computed":true},"label":{"type":"string","description":"The StackScript's label is for display purposes only.","description_kind":"plain","computed":true},"rev_note":{"type":"string","description":"This field allows you to add notes for the set of revisions made to this StackScript.","description_kind":"plain","computed":true},"script":{"type":"string","description":"The script to execute when provisioning a new Linode with this StackScript.","description_kind":"plain","computed":true},"updated":{"type":"string","description":"The date this StackScript was updated.","description_kind":"plain","computed":true},"user_defined_fields":{"type":["list",["object",{"default":"string","example":"string","label":"string","many_of":"string","name":"string","one_of":"string"}]],"description":"This is a list of fields defined with a special syntax inside this StackScript that allow for supplying customized parameters during deployment.","description_kind":"plain","computed":true},"user_gravatar_id":{"type":"string","description":"The Gravatar ID for the User who created the StackScript.","description_kind":"plain","computed":true},"username":{"type":"string","description":"The User who created the StackScript.","description_kind":"plain","computed":true}},"description":"The returned list of StackScripts.","description_kind":"plain"}}},"description_kind":"plain"}},"linode_user":{"version":0,"block":{"attributes":{"database_grant":{"type":["set",["object",{"id":"number","label":"string","permissions":"string"}]],"description":"A set containing all of the user's active grants.","description_kind":"plain","optional":true,"computed":true},"domain_grant":{"type":["set",["object",{"id":"number","label":"string","permissions":"string"}]],"description":"A set containing all of the user's active grants.","description_kind":"plain","optional":true,"computed":true},"email":{"type":"string","description":"The email address for this User, for account management communications, and may be used for other communications as configured.","description_kind":"plain","computed":true},"firewall_grant":{"type":["set",["object",{"id":"number","label":"string","permissions":"string"}]],"description":"A set containing all of the user's active grants.","description_kind":"plain","optional":true,"computed":true},"global_grants":{"type":["list",["object",{"account_access":"string","add_databases":"bool","add_domains":"bool","add_firewalls":"bool","add_images":"bool","add_linodes":"bool","add_longview":"bool","add_nodebalancers":"bool","add_stackscripts":"bool","add_volumes":"bool","cancel_account":"bool","longview_subscription":"bool"}]],"description":"A structure containing the Account-level grants a User has.","description_kind":"plain","computed":true},"id":{"type":"string","description":"Unique identifier for this DataSource.","description_kind":"plain","computed":true},"image_grant":{"type":["set",["object",{"id":"number","label":"string","permissions":"string"}]],"description":"A set containing all of the user's active grants.","description_kind":"plain","optional":true,"computed":true},"linode_grant":{"type":["set",["object",{"id":"number","label":"string","permissions":"string"}]],"description":"A set containing all of the user's active grants.","description_kind":"plain","optional":true,"computed":true},"longview_grant":{"type":["set",["object",{"id":"number","label":"string","permissions":"string"}]],"description":"A set containing all of the user's active grants.","description_kind":"plain","optional":true,"computed":true},"nodebalancer_grant":{"type":["set",["object",{"id":"number","label":"string","permissions":"string"}]],"description":"A set containing all of the user's active grants.","description_kind":"plain","optional":true,"computed":true},"password_created":{"type":"string","description":"The date and time when this User’s current password was created.User passwords are first created during the Account sign-up process, and updated using the Reset Password webpage.null if this User has not created a password yet.","description_kind":"plain","computed":true},"restricted":{"type":"bool","description":"If true, this User must be granted access to perform actions or access entities on this Account.","description_kind":"plain","computed":true},"ssh_keys":{"type":["list","string"],"description":"A list of SSH Key labels added by this User. These are the keys that will be deployed if this User is included in the authorized_users field of a create Linode, rebuild Linode, or create Disk request.","description_kind":"plain","computed":true},"stackscript_grant":{"type":["set",["object",{"id":"number","label":"string","permissions":"string"}]],"description":"A set containing all of the user's active grants.","description_kind":"plain","optional":true,"computed":true},"tfa_enabled":{"type":"bool","description":"A boolean value indicating if the User has Two Factor Authentication (TFA) enabled.","description_kind":"plain","computed":true},"user_type":{"type":"string","description":"The type of this user.","description_kind":"plain","computed":true},"username":{"type":"string","description":"This User's username. This is used for logging in, and may also be displayed alongside actions the User performs (for example, in Events or public StackScripts).","description_kind":"plain","required":true},"verified_phone_number":{"type":"string","description":"The phone number verified for this User Profile with the Phone Number Verify command.null if this User Profile has no verified phone number.","description_kind":"plain","computed":true},"volume_grant":{"type":["set",["object",{"id":"number","label":"string","permissions":"string"}]],"description":"A set containing all of the user's active grants.","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"linode_users":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"The data source's unique ID.","description_kind":"plain","computed":true},"order":{"type":"string","description":"The order in which results should be returned.","description_kind":"plain","optional":true},"order_by":{"type":"string","description":"The attribute to order the results by.","description_kind":"plain","optional":true}},"block_types":{"filter":{"nesting_mode":"set","block":{"attributes":{"match_by":{"type":"string","description":"The type of comparison to use for this filter.","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the attribute to filter on.","description_kind":"plain","required":true},"values":{"type":["set","string"],"description":"The value(s) to be used in the filter.","description_kind":"plain","required":true}},"description_kind":"plain"}},"users":{"nesting_mode":"list","block":{"attributes":{"database_grant":{"type":["set",["object",{"id":"number","label":"string","permissions":"string"}]],"description":"A set containing all of the user's active grants.","description_kind":"plain","optional":true,"computed":true},"domain_grant":{"type":["set",["object",{"id":"number","label":"string","permissions":"string"}]],"description":"A set containing all of the user's active grants.","description_kind":"plain","optional":true,"computed":true},"email":{"type":"string","description":"The email address for this User, for account management communications, and may be used for other communications as configured.","description_kind":"plain","computed":true},"firewall_grant":{"type":["set",["object",{"id":"number","label":"string","permissions":"string"}]],"description":"A set containing all of the user's active grants.","description_kind":"plain","optional":true,"computed":true},"global_grants":{"type":["list",["object",{"account_access":"string","add_databases":"bool","add_domains":"bool","add_firewalls":"bool","add_images":"bool","add_linodes":"bool","add_longview":"bool","add_nodebalancers":"bool","add_stackscripts":"bool","add_volumes":"bool","cancel_account":"bool","longview_subscription":"bool"}]],"description":"A structure containing the Account-level grants a User has.","description_kind":"plain","computed":true},"id":{"type":"string","description":"Unique identifier for this DataSource.","description_kind":"plain","computed":true},"image_grant":{"type":["set",["object",{"id":"number","label":"string","permissions":"string"}]],"description":"A set containing all of the user's active grants.","description_kind":"plain","optional":true,"computed":true},"linode_grant":{"type":["set",["object",{"id":"number","label":"string","permissions":"string"}]],"description":"A set containing all of the user's active grants.","description_kind":"plain","optional":true,"computed":true},"longview_grant":{"type":["set",["object",{"id":"number","label":"string","permissions":"string"}]],"description":"A set containing all of the user's active grants.","description_kind":"plain","optional":true,"computed":true},"nodebalancer_grant":{"type":["set",["object",{"id":"number","label":"string","permissions":"string"}]],"description":"A set containing all of the user's active grants.","description_kind":"plain","optional":true,"computed":true},"password_created":{"type":"string","description":"The date and time when this User’s current password was created.User passwords are first created during the Account sign-up process, and updated using the Reset Password webpage.null if this User has not created a password yet.","description_kind":"plain","computed":true},"restricted":{"type":"bool","description":"If true, this User must be granted access to perform actions or access entities on this Account.","description_kind":"plain","computed":true},"ssh_keys":{"type":["list","string"],"description":"A list of SSH Key labels added by this User. These are the keys that will be deployed if this User is included in the authorized_users field of a create Linode, rebuild Linode, or create Disk request.","description_kind":"plain","computed":true},"stackscript_grant":{"type":["set",["object",{"id":"number","label":"string","permissions":"string"}]],"description":"A set containing all of the user's active grants.","description_kind":"plain","optional":true,"computed":true},"tfa_enabled":{"type":"bool","description":"A boolean value indicating if the User has Two Factor Authentication (TFA) enabled.","description_kind":"plain","computed":true},"user_type":{"type":"string","description":"The type of this user.","description_kind":"plain","computed":true},"username":{"type":"string","description":"This User's username. This is used for logging in, and may also be displayed alongside actions the User performs (for example, in Events or public StackScripts).","description_kind":"plain","required":true},"verified_phone_number":{"type":"string","description":"The phone number verified for this User Profile with the Phone Number Verify command.null if this User Profile has no verified phone number.","description_kind":"plain","computed":true},"volume_grant":{"type":["set",["object",{"id":"number","label":"string","permissions":"string"}]],"description":"A set containing all of the user's active grants.","description_kind":"plain","optional":true,"computed":true}},"description":"The returned list of Users.","description_kind":"plain"}}},"description_kind":"plain"}},"linode_vlans":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"The data source's unique ID.","description_kind":"plain","computed":true},"order":{"type":"string","description":"The order in which results should be returned.","description_kind":"plain","optional":true},"order_by":{"type":"string","description":"The attribute to order the results by.","description_kind":"plain","optional":true}},"block_types":{"filter":{"nesting_mode":"set","block":{"attributes":{"match_by":{"type":"string","description":"The type of comparison to use for this filter.","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the attribute to filter on.","description_kind":"plain","required":true},"values":{"type":["set","string"],"description":"The value(s) to be used in the filter.","description_kind":"plain","required":true}},"description_kind":"plain"}},"vlans":{"nesting_mode":"list","block":{"attributes":{"created":{"type":"string","description":"When this VLAN was created.","description_kind":"plain","computed":true},"label":{"type":"string","description":"The unique label of this VLAN.","description_kind":"plain","computed":true},"linodes":{"type":["set","number"],"description":"The Linodes currently attached to this VLAN.","description_kind":"plain","computed":true},"region":{"type":"string","description":"The region this VLAN is located in.","description_kind":"plain","computed":true}},"description":"The returned list of VLANs.","description_kind":"plain"}}},"description_kind":"plain"}},"linode_volume":{"version":0,"block":{"attributes":{"created":{"type":"string","description":"Datetime string representing when the Volume was created.","description_kind":"plain","computed":true},"filesystem_path":{"type":"string","description":"The full filesystem path for the Volume based on the Volume's label. Path is /dev/disk/by-id/scsi-0LinodeVolume + Volume label.","description_kind":"plain","computed":true},"id":{"type":"number","description":"The unique id of this Volume.","description_kind":"plain","required":true},"label":{"type":"string","description":"The Volume's label. For display purposes only.","description_kind":"plain","computed":true},"linode_id":{"type":"number","description":"If a Volume is attached to a specific Linode, the ID of that Linode will be displayed here.","description_kind":"plain","computed":true},"region":{"type":"string","description":"The datacenter where this Volume is located.","description_kind":"plain","computed":true},"size":{"type":"number","description":"The size of this Volume in GiB.","description_kind":"plain","computed":true},"status":{"type":"string","description":"The status of the Volume. Can be one of active | creating | resizing | contact_support","description_kind":"plain","computed":true},"tags":{"type":["set","string"],"description":"An array of tags applied to this Volume. Tags are for organizational purposes only.","description_kind":"plain","computed":true},"updated":{"type":"string","description":"Datetime string representing when the Volume was last updated.","description_kind":"plain","computed":true}},"description_kind":"plain"}},"linode_volumes":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"The data source's unique ID.","description_kind":"plain","computed":true},"order":{"type":"string","description":"The order in which results should be returned.","description_kind":"plain","optional":true},"order_by":{"type":"string","description":"The attribute to order the results by.","description_kind":"plain","optional":true}},"block_types":{"filter":{"nesting_mode":"set","block":{"attributes":{"match_by":{"type":"string","description":"The type of comparison to use for this filter.","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the attribute to filter on.","description_kind":"plain","required":true},"values":{"type":["set","string"],"description":"The value(s) to be used in the filter.","description_kind":"plain","required":true}},"description_kind":"plain"}},"volumes":{"nesting_mode":"list","block":{"attributes":{"created":{"type":"string","description":"Datetime string representing when the Volume was created.","description_kind":"plain","computed":true},"filesystem_path":{"type":"string","description":"The full filesystem path for the Volume based on the Volume's label. Path is /dev/disk/by-id/scsi-0LinodeVolume + Volume label.","description_kind":"plain","computed":true},"id":{"type":"number","description":"The unique id of this Volume.","description_kind":"plain","required":true},"label":{"type":"string","description":"The Volume's label. For display purposes only.","description_kind":"plain","computed":true},"linode_id":{"type":"number","description":"If a Volume is attached to a specific Linode, the ID of that Linode will be displayed here.","description_kind":"plain","computed":true},"region":{"type":"string","description":"The datacenter where this Volume is located.","description_kind":"plain","computed":true},"size":{"type":"number","description":"The size of this Volume in GiB.","description_kind":"plain","computed":true},"status":{"type":"string","description":"The status of the Volume. Can be one of active | creating | resizing | contact_support","description_kind":"plain","computed":true},"tags":{"type":["set","string"],"description":"An array of tags applied to this Volume. Tags are for organizational purposes only.","description_kind":"plain","computed":true},"updated":{"type":"string","description":"Datetime string representing when the Volume was last updated.","description_kind":"plain","computed":true}},"description":"The return list of Volumes.","description_kind":"plain"}}},"description_kind":"plain"}},"linode_vpc":{"version":0,"block":{"attributes":{"created":{"type":"string","description":"The date and time when the VPC was created.","description_kind":"plain","computed":true},"description":{"type":"string","description":"The user-defined description of this VPC.","description_kind":"plain","computed":true},"id":{"type":"string","description":"The id of the VPC.","description_kind":"plain","required":true},"label":{"type":"string","description":"The label of the VPC.","description_kind":"plain","computed":true},"region":{"type":"string","description":"The region of the VPC.","description_kind":"plain","computed":true},"updated":{"type":"string","description":"The date and time when the VPC was updated.","description_kind":"plain","computed":true}},"description_kind":"plain"}},"linode_vpc_subnet":{"version":0,"block":{"attributes":{"created":{"type":"string","description":"The date and time when the VPC Subnet was created.","description_kind":"plain","computed":true},"id":{"type":"string","description":"The id of the VPC Subnet.","description_kind":"plain","required":true},"ipv4":{"type":"string","description":"The IPv4 range of this subnet in CIDR format.","description_kind":"plain","computed":true},"label":{"type":"string","description":"The label of the VPC Subnet.","description_kind":"plain","computed":true},"linodes":{"type":["list",["object",{"id":"number","interfaces":["list",["object",{"active":"bool","id":"number"}]]}]],"description_kind":"plain","computed":true},"updated":{"type":"string","description":"The date and time when the VPC Subnet was updated.","description_kind":"plain","computed":true},"vpc_id":{"type":"number","description":"The id of the parent VPC for this VPC Subnet","description_kind":"plain","required":true}},"description_kind":"plain"}},"linode_vpc_subnets":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"The data source's unique ID.","description_kind":"plain","computed":true},"vpc_id":{"type":"number","description":"The id of the parent VPC for the list of VPC subnets","description_kind":"plain","required":true}},"block_types":{"filter":{"nesting_mode":"set","block":{"attributes":{"match_by":{"type":"string","description":"The type of comparison to use for this filter.","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the attribute to filter on.","description_kind":"plain","required":true},"values":{"type":["set","string"],"description":"The value(s) to be used in the filter.","description_kind":"plain","required":true}},"description_kind":"plain"}},"vpc_subnets":{"nesting_mode":"list","block":{"attributes":{"created":{"type":"string","description":"The date and time when the VPC Subnet was created.","description_kind":"plain","computed":true},"id":{"type":"number","description":"The id of the VPC Subnet.","description_kind":"plain","computed":true},"ipv4":{"type":"string","description":"The IPv4 range of this subnet in CIDR format.","description_kind":"plain","computed":true},"label":{"type":"string","description":"The label of the VPC Subnet.","description_kind":"plain","computed":true},"linodes":{"type":["list",["object",{"id":"number","interfaces":["list",["object",{"active":"bool","id":"number"}]]}]],"description_kind":"plain","computed":true},"updated":{"type":"string","description":"The date and time when the VPC Subnet was updated.","description_kind":"plain","computed":true}},"description":"The returned list of subnets under a VPC.","description_kind":"plain"}}},"description_kind":"plain"}},"linode_vpcs":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"The data source's unique ID.","description_kind":"plain","computed":true}},"block_types":{"filter":{"nesting_mode":"set","block":{"attributes":{"match_by":{"type":"string","description":"The type of comparison to use for this filter.","description_kind":"plain","optional":true},"name":{"type":"string","description":"The name of the attribute to filter on.","description_kind":"plain","required":true},"values":{"type":["set","string"],"description":"The value(s) to be used in the filter.","description_kind":"plain","required":true}},"description_kind":"plain"}},"vpcs":{"nesting_mode":"list","block":{"attributes":{"created":{"type":"string","description":"The date and time when the VPC was created.","description_kind":"plain","computed":true},"description":{"type":"string","description":"The user-defined description of this VPC.","description_kind":"plain","computed":true},"id":{"type":"string","description":"The id of the VPC.","description_kind":"plain","required":true},"label":{"type":"string","description":"The label of the VPC.","description_kind":"plain","computed":true},"region":{"type":"string","description":"The region of the VPC.","description_kind":"plain","computed":true},"updated":{"type":"string","description":"The date and time when the VPC was updated.","description_kind":"plain","computed":true}},"description":"The returned list of VPCs.","description_kind":"plain"}}},"description_kind":"plain"}}}}}} diff --git a/examples-generated/placementgroup/v1alpha1/placementgroup.yaml b/examples-generated/placementgroup/v1alpha1/placementgroup.yaml index 0819eb4..17e782a 100644 --- a/examples-generated/placementgroup/v1alpha1/placementgroup.yaml +++ b/examples-generated/placementgroup/v1alpha1/placementgroup.yaml @@ -8,6 +8,6 @@ metadata: name: test spec: forProvider: - affinityType: anti_affinity:local label: my-placement-group + placementGroupType: anti_affinity:local region: us-mia diff --git a/examples-generated/placementgroupassignment/v1alpha1/placementgroupassignment.yaml b/examples-generated/placementgroupassignment/v1alpha1/placementgroupassignment.yaml index 94cc226..7ebd2a3 100644 --- a/examples-generated/placementgroupassignment/v1alpha1/placementgroupassignment.yaml +++ b/examples-generated/placementgroupassignment/v1alpha1/placementgroupassignment.yaml @@ -44,6 +44,6 @@ metadata: name: my-pg spec: forProvider: - affinityType: anti_affinity:local label: my-pg + placementGroupType: anti_affinity:local region: us-east diff --git a/go.mod b/go.mod index edd8083..a32972d 100644 --- a/go.mod +++ b/go.mod @@ -10,7 +10,7 @@ require ( github.com/go-resty/resty/v2 v2.13.1 github.com/hashicorp/terraform-json v0.22.1 github.com/hashicorp/terraform-plugin-sdk/v2 v2.34.0 - github.com/linode/terraform-provider-linode/v2 v2.23.0 + github.com/linode/terraform-provider-linode/v2 v2.25.0 github.com/pkg/errors v0.9.1 github.com/prometheus/client_golang v1.18.0 gopkg.in/alecthomas/kingpin.v2 v2.2.6 @@ -28,25 +28,25 @@ require ( github.com/antchfx/htmlquery v1.2.4 // indirect github.com/antchfx/xpath v1.2.0 // indirect github.com/apparentlymart/go-textseg/v15 v15.0.0 // indirect - github.com/aws/aws-sdk-go-v2 v1.30.0 // indirect - github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.2 // indirect - github.com/aws/aws-sdk-go-v2/config v1.27.21 // indirect - github.com/aws/aws-sdk-go-v2/credentials v1.17.21 // indirect - github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.8 // indirect - github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.1 // indirect - github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.12 // indirect - github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.12 // indirect + github.com/aws/aws-sdk-go-v2 v1.30.3 // indirect + github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.3 // indirect + github.com/aws/aws-sdk-go-v2/config v1.27.23 // indirect + github.com/aws/aws-sdk-go-v2/credentials v1.17.23 // indirect + github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.9 // indirect + github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.4 // indirect + github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.15 // indirect + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.15 // indirect github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0 // indirect - github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.12 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.2 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.14 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.14 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.12 // indirect - github.com/aws/aws-sdk-go-v2/service/s3 v1.56.1 // indirect - github.com/aws/aws-sdk-go-v2/service/sso v1.21.1 // indirect - github.com/aws/aws-sdk-go-v2/service/ssooidc v1.25.1 // indirect - github.com/aws/aws-sdk-go-v2/service/sts v1.29.1 // indirect - github.com/aws/smithy-go v1.20.2 // indirect + github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.15 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.3 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.17 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.17 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.15 // indirect + github.com/aws/aws-sdk-go-v2/service/s3 v1.58.2 // indirect + github.com/aws/aws-sdk-go-v2/service/sso v1.22.1 // indirect + github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.1 // indirect + github.com/aws/aws-sdk-go-v2/service/sts v1.30.1 // indirect + github.com/aws/smithy-go v1.20.3 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/blang/semver/v4 v4.0.0 // indirect github.com/cespare/xxhash/v2 v2.2.0 // indirect @@ -77,12 +77,12 @@ require ( github.com/hashicorp/go-plugin v1.6.0 // indirect github.com/hashicorp/go-uuid v1.0.3 // indirect github.com/hashicorp/go-version v1.7.0 // indirect - github.com/hashicorp/hcl/v2 v2.20.1 // indirect + github.com/hashicorp/hcl/v2 v2.21.0 // indirect github.com/hashicorp/logutils v1.0.0 // indirect - github.com/hashicorp/terraform-plugin-framework v1.9.0 // indirect + github.com/hashicorp/terraform-plugin-framework v1.10.0 // indirect github.com/hashicorp/terraform-plugin-framework-timeouts v0.4.1 // indirect github.com/hashicorp/terraform-plugin-framework-timetypes v0.4.0 // indirect - github.com/hashicorp/terraform-plugin-framework-validators v0.12.0 // indirect + github.com/hashicorp/terraform-plugin-framework-validators v0.13.0 // indirect github.com/hashicorp/terraform-plugin-go v0.23.0 // indirect github.com/hashicorp/terraform-plugin-log v0.9.0 // indirect github.com/hashicorp/terraform-registry-address v0.2.3 // indirect @@ -91,10 +91,9 @@ require ( github.com/iancoleman/strcase v0.2.0 // indirect github.com/imdario/mergo v0.3.16 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect - github.com/jmespath/go-jmespath v0.4.0 // indirect github.com/josharian/intern v1.0.0 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/linode/linodego v1.36.0 // indirect + github.com/linode/linodego v1.38.0 // indirect github.com/linode/linodego/k8s v1.25.2 // indirect github.com/mailru/easyjson v0.7.7 // indirect github.com/mattn/go-colorable v0.1.13 // indirect @@ -127,14 +126,14 @@ require ( github.com/zclconf/go-cty-yaml v1.0.3 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.26.0 // indirect - golang.org/x/crypto v0.24.0 // indirect + golang.org/x/crypto v0.25.0 // indirect golang.org/x/exp v0.0.0-20240112132812-db7319d0e0e3 // indirect golang.org/x/mod v0.17.0 // indirect - golang.org/x/net v0.26.0 // indirect + golang.org/x/net v0.27.0 // indirect golang.org/x/oauth2 v0.21.0 // indirect golang.org/x/sync v0.7.0 // indirect - golang.org/x/sys v0.21.0 // indirect - golang.org/x/term v0.21.0 // indirect + golang.org/x/sys v0.22.0 // indirect + golang.org/x/term v0.22.0 // indirect golang.org/x/text v0.16.0 // indirect golang.org/x/time v0.5.0 // indirect golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect diff --git a/go.sum b/go.sum index 2eb0374..4190eca 100644 --- a/go.sum +++ b/go.sum @@ -22,44 +22,44 @@ github.com/apparentlymart/go-textseg/v12 v12.0.0/go.mod h1:S/4uRK2UtaQttw1GenVJE github.com/apparentlymart/go-textseg/v13 v13.0.0/go.mod h1:ZK2fH7c4NqDTLtiYLvIkEghdlcqw7yxLeM89kiTRPUo= github.com/apparentlymart/go-textseg/v15 v15.0.0 h1:uYvfpb3DyLSCGWnctWKGj857c6ew1u1fNQOlOtuGxQY= github.com/apparentlymart/go-textseg/v15 v15.0.0/go.mod h1:K8XmNZdhEBkdlyDdvbmmsvpAG721bKi0joRfFdHIWJ4= -github.com/aws/aws-sdk-go-v2 v1.30.0 h1:6qAwtzlfcTtcL8NHtbDQAqgM5s6NDipQTkPxyH/6kAA= -github.com/aws/aws-sdk-go-v2 v1.30.0/go.mod h1:ffIFB97e2yNsv4aTSGkqtHnppsIJzw7G7BReUZ3jCXM= -github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.2 h1:x6xsQXGSmW6frevwDA+vi/wqhp1ct18mVXYN08/93to= -github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.2/go.mod h1:lPprDr1e6cJdyYeGXnRaJoP4Md+cDBvi2eOj00BlGmg= -github.com/aws/aws-sdk-go-v2/config v1.27.21 h1:yPX3pjGCe2hJsetlmGNB4Mngu7UPmvWPzzWCv1+boeM= -github.com/aws/aws-sdk-go-v2/config v1.27.21/go.mod h1:4XtlEU6DzNai8RMbjSF5MgGZtYvrhBP/aKZcRtZAVdM= -github.com/aws/aws-sdk-go-v2/credentials v1.17.21 h1:pjAqgzfgFhTv5grc7xPHtXCAaMapzmwA7aU+c/SZQGw= -github.com/aws/aws-sdk-go-v2/credentials v1.17.21/go.mod h1:nhK6PtBlfHTUDVmBLr1dg+WHCOCK+1Fu/WQyVHPsgNQ= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.8 h1:FR+oWPFb/8qMVYMWN98bUZAGqPvLHiyqg1wqQGfUAXY= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.8/go.mod h1:EgSKcHiuuakEIxJcKGzVNWh5srVAQ3jKaSrBGRYvM48= -github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.1 h1:D9VqWMuw7lJAX6d5eINfRQ/PkvtcJAK3Qmd6f6xEeUw= -github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.1/go.mod h1:ckvBx7codI4wzc5inOfDp5ZbK7TjMFa7eXwmLvXQrRk= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.12 h1:SJ04WXGTwnHlWIODtC5kJzKbeuHt+OUNOgKg7nfnUGw= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.12/go.mod h1:FkpvXhA92gb3GE9LD6Og0pHHycTxW7xGpnEh5E7Opwo= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.12 h1:hb5KgeYfObi5MHkSSZMEudnIvX30iB+E21evI4r6BnQ= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.12/go.mod h1:CroKe/eWJdyfy9Vx4rljP5wTUjNJfb+fPz1uMYUhEGM= +github.com/aws/aws-sdk-go-v2 v1.30.3 h1:jUeBtG0Ih+ZIFH0F4UkmL9w3cSpaMv9tYYDbzILP8dY= +github.com/aws/aws-sdk-go-v2 v1.30.3/go.mod h1:nIQjQVp5sfpQcTc9mPSr1B0PaWK5ByX9MOoDadSN4lc= +github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.3 h1:tW1/Rkad38LA15X4UQtjXZXNKsCgkshC3EbmcUmghTg= +github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.3/go.mod h1:UbnqO+zjqk3uIt9yCACHJ9IVNhyhOCnYk8yA19SAWrM= +github.com/aws/aws-sdk-go-v2/config v1.27.23 h1:Cr/gJEa9NAS7CDAjbnB7tHYb3aLZI2gVggfmSAasDac= +github.com/aws/aws-sdk-go-v2/config v1.27.23/go.mod h1:WMMYHqLCFu5LH05mFOF5tsq1PGEMfKbu083VKqLCd0o= +github.com/aws/aws-sdk-go-v2/credentials v1.17.23 h1:G1CfmLVoO2TdQ8z9dW+JBc/r8+MqyPQhXCafNZcXVZo= +github.com/aws/aws-sdk-go-v2/credentials v1.17.23/go.mod h1:V/DvSURn6kKgcuKEk4qwSwb/fZ2d++FFARtWSbXnLqY= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.9 h1:Aznqksmd6Rfv2HQN9cpqIV/lQRMaIpJkLLaJ1ZI76no= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.9/go.mod h1:WQr3MY7AxGNxaqAtsDWn+fBxmd4XvLkzeqQ8P1VM0/w= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.4 h1:6eKRM6fgeXG4krRO9XKz755vuRhT5UyB9M1W6vjA3JU= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.4/go.mod h1:h0TjcRi+nTob6fksqubKOe+Hra8uqfgmN+vuw4xRwWE= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.15 h1:SoNJ4RlFEQEbtDcCEt+QG56MY4fm4W8rYirAmq+/DdU= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.15/go.mod h1:U9ke74k1n2bf+RIgoX1SXFed1HLs51OgUSs+Ph0KJP8= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.15 h1:C6WHdGnTDIYETAm5iErQUiVNsclNx9qbJVPIt03B6bI= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.15/go.mod h1:ZQLZqhcu+JhSrA9/NXRm8SkDvsycE+JkV3WGY41e+IM= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0 h1:hT8rVHwugYE2lEfdFE0QWVo81lF7jMrYJVDWI+f+VxU= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0/go.mod h1:8tu/lYfQfFe6IGnaOdrpVgEL2IrrDOf6/m9RQum4NkY= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.12 h1:DXFWyt7ymx/l1ygdyTTS0X923e+Q2wXIxConJzrgwc0= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.12/go.mod h1:mVOr/LbvaNySK1/BTy4cBOCjhCNY2raWBwK4v+WR5J4= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.2 h1:Ji0DY1xUsUr3I8cHps0G+XM3WWU16lP6yG8qu1GAZAs= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.2/go.mod h1:5CsjAbs3NlGQyZNFACh+zztPDI7fU6eW9QsxjfnuBKg= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.14 h1:oWccitSnByVU74rQRHac4gLfDqjB6Z1YQGOY/dXKedI= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.14/go.mod h1:8SaZBlQdCLrc/2U3CEO48rYj9uR8qRsPRkmzwNM52pM= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.14 h1:zSDPny/pVnkqABXYRicYuPf9z2bTqfH13HT3v6UheIk= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.14/go.mod h1:3TTcI5JSzda1nw/pkVC9dhgLre0SNBFj2lYS4GctXKI= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.12 h1:tzha+v1SCEBpXWEuw6B/+jm4h5z8hZbTpXz0zRZqTnw= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.12/go.mod h1:n+nt2qjHGoseWeLHt1vEr6ZRCCxIN2KcNpJxBcYQSwI= -github.com/aws/aws-sdk-go-v2/service/s3 v1.56.1 h1:wsg9Z/vNnCmxWikfGIoOlnExtEU459cR+2d+iDJ8elo= -github.com/aws/aws-sdk-go-v2/service/s3 v1.56.1/go.mod h1:8rDw3mVwmvIWWX/+LWY3PPIMZuwnQdJMCt0iVFVT3qw= -github.com/aws/aws-sdk-go-v2/service/sso v1.21.1 h1:sd0BsnAvLH8gsp2e3cbaIr+9D7T1xugueQ7V/zUAsS4= -github.com/aws/aws-sdk-go-v2/service/sso v1.21.1/go.mod h1:lcQG/MmxydijbeTOp04hIuJwXGWPZGI3bwdFDGRTv14= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.25.1 h1:1uEFNNskK/I1KoZ9Q8wJxMz5V9jyBlsiaNrM7vA3YUQ= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.25.1/go.mod h1:z0P8K+cBIsFXUr5rzo/psUeJ20XjPN0+Nn8067Nd+E4= -github.com/aws/aws-sdk-go-v2/service/sts v1.29.1 h1:myX5CxqXE0QMZNja6FA1/FSE3Vu1rVmeUmpJMMzeZg0= -github.com/aws/aws-sdk-go-v2/service/sts v1.29.1/go.mod h1:N2mQiucsO0VwK9CYuS4/c2n6Smeh1v47Rz3dWCPFLdE= -github.com/aws/smithy-go v1.20.2 h1:tbp628ireGtzcHDDmLT/6ADHidqnwgF57XOXZe6tp4Q= -github.com/aws/smithy-go v1.20.2/go.mod h1:krry+ya/rV9RDcV/Q16kpu6ypI4K2czasz0NC3qS14E= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.15 h1:Z5r7SycxmSllHYmaAZPpmN8GviDrSGhMS6bldqtXZPw= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.15/go.mod h1:CetW7bDE00QoGEmPUoZuRog07SGVAUVW6LFpNP0YfIg= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.3 h1:dT3MqvGhSoaIhRseqw2I0yH81l7wiR2vjs57O51EAm8= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.3/go.mod h1:GlAeCkHwugxdHaueRr4nhPuY+WW+gR8UjlcqzPr1SPI= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.17 h1:YPYe6ZmvUfDDDELqEKtAd6bo8zxhkm+XEFEzQisqUIE= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.17/go.mod h1:oBtcnYua/CgzCWYN7NZ5j7PotFDaFSUjCYVTtfyn7vw= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.17 h1:HGErhhrxZlQ044RiM+WdoZxp0p+EGM62y3L6pwA4olE= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.17/go.mod h1:RkZEx4l0EHYDJpWppMJ3nD9wZJAa8/0lq9aVC+r2UII= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.15 h1:246A4lSTXWJw/rmlQI+TT2OcqeDMKBdyjEQrafMaQdA= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.15/go.mod h1:haVfg3761/WF7YPuJOER2MP0k4UAXyHaLclKXB6usDg= +github.com/aws/aws-sdk-go-v2/service/s3 v1.58.2 h1:sZXIzO38GZOU+O0C+INqbH7C2yALwfMWpd64tONS/NE= +github.com/aws/aws-sdk-go-v2/service/s3 v1.58.2/go.mod h1:Lcxzg5rojyVPU/0eFwLtcyTaek/6Mtic5B1gJo7e/zE= +github.com/aws/aws-sdk-go-v2/service/sso v1.22.1 h1:p1GahKIjyMDZtiKoIn0/jAj/TkMzfzndDv5+zi2Mhgc= +github.com/aws/aws-sdk-go-v2/service/sso v1.22.1/go.mod h1:/vWdhoIoYA5hYoPZ6fm7Sv4d8701PiG5VKe8/pPJL60= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.1 h1:lCEv9f8f+zJ8kcFeAjRZsekLd/x5SAm96Cva+VbUdo8= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.1/go.mod h1:xyFHA4zGxgYkdD73VeezHt3vSKEG9EmFnGwoKlP00u4= +github.com/aws/aws-sdk-go-v2/service/sts v1.30.1 h1:+woJ607dllHJQtsnJLi52ycuqHMwlW+Wqm2Ppsfp4nQ= +github.com/aws/aws-sdk-go-v2/service/sts v1.30.1/go.mod h1:jiNR3JqT15Dm+QWq2SRgh0x0bCNSRP2L25+CqPNpJlQ= +github.com/aws/smithy-go v1.20.3 h1:ryHwveWzPV5BIof6fyDvor6V3iUL7nTfiTKXHiW05nE= +github.com/aws/smithy-go v1.20.3/go.mod h1:krry+ya/rV9RDcV/Q16kpu6ypI4K2czasz0NC3qS14E= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/blang/semver/v4 v4.0.0 h1:1PFHFE6yCCTv8C1TeyNNarDzntLi7wMI5i/pzqYIsAM= @@ -164,25 +164,25 @@ github.com/hashicorp/go-uuid v1.0.3 h1:2gKiV6YVmrJ1i2CKKa9obLvRieoRGviZFL26PcT/C github.com/hashicorp/go-uuid v1.0.3/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-version v1.7.0 h1:5tqGy27NaOTB8yJKUZELlFAS/LTKJkrmONwQKeRZfjY= github.com/hashicorp/go-version v1.7.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= -github.com/hashicorp/hc-install v0.6.4 h1:QLqlM56/+SIIGvGcfFiwMY3z5WGXT066suo/v9Km8e0= -github.com/hashicorp/hc-install v0.6.4/go.mod h1:05LWLy8TD842OtgcfBbOT0WMoInBMUSHjmDx10zuBIA= +github.com/hashicorp/hc-install v0.7.0 h1:Uu9edVqjKQxxuD28mR5TikkKDd/p55S8vzPC1659aBk= +github.com/hashicorp/hc-install v0.7.0/go.mod h1:ELmmzZlGnEcqoUMKUuykHaPCIR1sYLYX+KSggWSKZuA= github.com/hashicorp/hcl/v2 v2.9.1/go.mod h1:FwWsfWEjyV/CMj8s/gqAuiviY72rJ1/oayI9WftqcKg= -github.com/hashicorp/hcl/v2 v2.20.1 h1:M6hgdyz7HYt1UN9e61j+qKJBqR3orTWbI1HKBJEdxtc= -github.com/hashicorp/hcl/v2 v2.20.1/go.mod h1:TZDqQ4kNKCbh1iJp99FdPiUaVDDUPivbqxZulxDYqL4= +github.com/hashicorp/hcl/v2 v2.21.0 h1:lve4q/o/2rqwYOgUg3y3V2YPyD1/zkCLGjIV74Jit14= +github.com/hashicorp/hcl/v2 v2.21.0/go.mod h1:62ZYHrXgPoX8xBnzl8QzbWq4dyDsDtfCRgIq1rbJEvA= github.com/hashicorp/logutils v1.0.0 h1:dLEQVugN8vlakKOUE3ihGLTZJRB4j+M2cdTm/ORI65Y= github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= github.com/hashicorp/terraform-exec v0.21.0 h1:uNkLAe95ey5Uux6KJdua6+cv8asgILFVWkd/RG0D2XQ= github.com/hashicorp/terraform-exec v0.21.0/go.mod h1:1PPeMYou+KDUSSeRE9szMZ/oHf4fYUmB923Wzbq1ICg= github.com/hashicorp/terraform-json v0.22.1 h1:xft84GZR0QzjPVWs4lRUwvTcPnegqlyS7orfb5Ltvec= github.com/hashicorp/terraform-json v0.22.1/go.mod h1:JbWSQCLFSXFFhg42T7l9iJwdGXBYV8fmmD6o/ML4p3A= -github.com/hashicorp/terraform-plugin-framework v1.9.0 h1:caLcDoxiRucNi2hk8+j3kJwkKfvHznubyFsJMWfZqKU= -github.com/hashicorp/terraform-plugin-framework v1.9.0/go.mod h1:qBXLDn69kM97NNVi/MQ9qgd1uWWsVftGSnygYG1tImM= +github.com/hashicorp/terraform-plugin-framework v1.10.0 h1:xXhICE2Fns1RYZxEQebwkB2+kXouLC932Li9qelozrc= +github.com/hashicorp/terraform-plugin-framework v1.10.0/go.mod h1:qBXLDn69kM97NNVi/MQ9qgd1uWWsVftGSnygYG1tImM= github.com/hashicorp/terraform-plugin-framework-timeouts v0.4.1 h1:gm5b1kHgFFhaKFhm4h2TgvMUlNzFAtUqlcOWnWPm+9E= github.com/hashicorp/terraform-plugin-framework-timeouts v0.4.1/go.mod h1:MsjL1sQ9L7wGwzJ5RjcI6FzEMdyoBnw+XK8ZnOvQOLY= github.com/hashicorp/terraform-plugin-framework-timetypes v0.4.0 h1:XLI93Oqw2/KTzYjgCXrUnm8LBkGAiHC/mDQg5g5Vob4= github.com/hashicorp/terraform-plugin-framework-timetypes v0.4.0/go.mod h1:mGuieb3bqKFYwEYB4lCMt302Z3siyv4PFYk/41wAUps= -github.com/hashicorp/terraform-plugin-framework-validators v0.12.0 h1:HOjBuMbOEzl7snOdOoUfE2Jgeto6JOjLVQ39Ls2nksc= -github.com/hashicorp/terraform-plugin-framework-validators v0.12.0/go.mod h1:jfHGE/gzjxYz6XoUwi/aYiiKrJDeutQNUtGQXkaHklg= +github.com/hashicorp/terraform-plugin-framework-validators v0.13.0 h1:bxZfGo9DIUoLLtHMElsu+zwqI4IsMZQBRRy4iLzZJ8E= +github.com/hashicorp/terraform-plugin-framework-validators v0.13.0/go.mod h1:wGeI02gEhj9nPANU62F2jCaHjXulejm/X+af4PdZaNo= github.com/hashicorp/terraform-plugin-go v0.23.0 h1:AALVuU1gD1kPb48aPQUjug9Ir/125t+AAurhqphJ2Co= github.com/hashicorp/terraform-plugin-go v0.23.0/go.mod h1:1E3Cr9h2vMlahWMbsSEcNrOCxovCZhOOIXjFHbjc/lQ= github.com/hashicorp/terraform-plugin-log v0.9.0 h1:i7hOA+vdAItN1/7UrfBqBwvYPQ9TFvymaRGZED3FCV0= @@ -191,8 +191,8 @@ github.com/hashicorp/terraform-plugin-mux v0.16.0 h1:RCzXHGDYwUwwqfYYWJKBFaS3fQs github.com/hashicorp/terraform-plugin-mux v0.16.0/go.mod h1:PF79mAsPc8CpusXPfEVa4X8PtkB+ngWoiUClMrNZlYo= github.com/hashicorp/terraform-plugin-sdk/v2 v2.34.0 h1:kJiWGx2kiQVo97Y5IOGR4EMcZ8DtMswHhUuFibsCQQE= github.com/hashicorp/terraform-plugin-sdk/v2 v2.34.0/go.mod h1:sl/UoabMc37HA6ICVMmGO+/0wofkVIRxf+BMb/dnoIg= -github.com/hashicorp/terraform-plugin-testing v1.8.0 h1:wdYIgwDk4iO933gC4S8KbKdnMQShu6BXuZQPScmHvpk= -github.com/hashicorp/terraform-plugin-testing v1.8.0/go.mod h1:o2kOgf18ADUaZGhtOl0YCkfIxg01MAiMATT2EtIHlZk= +github.com/hashicorp/terraform-plugin-testing v1.9.0 h1:xOsQRqqlHKXpFq6etTxih3ubdK3HVDtfE1IY7Rpd37o= +github.com/hashicorp/terraform-plugin-testing v1.9.0/go.mod h1:fhhVx/8+XNJZTD5o3b4stfZ6+q7z9+lIWigIYdT6/44= github.com/hashicorp/terraform-registry-address v0.2.3 h1:2TAiKJ1A3MAkZlH1YI/aTVcLZRu7JseiXNRHbOAyoTI= github.com/hashicorp/terraform-registry-address v0.2.3/go.mod h1:lFHA76T8jfQteVfT7caREqguFrW3c4MFSPhZB7HHgUM= github.com/hashicorp/terraform-svchost v0.1.1 h1:EZZimZ1GxdqFRinZ1tpJwVxxt49xc/S52uzrw4x0jKQ= @@ -209,10 +209,6 @@ github.com/jarcoal/httpmock v1.3.1 h1:iUx3whfZWVf3jT01hQTO/Eo5sAYtB2/rqaUuOtpInw github.com/jarcoal/httpmock v1.3.1/go.mod h1:3yb8rc4BI7TCBhFY8ng0gjuLKJNquuDNiPaZjnENuYg= github.com/jhump/protoreflect v1.15.1 h1:HUMERORf3I3ZdX05WaQ6MIpd/NJ434hTp5YiKgfCL6c= github.com/jhump/protoreflect v1.15.1/go.mod h1:jD/2GMKKE6OqX8qTjhADU1e6DShO+gavG9e0Q693nKo= -github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= -github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= -github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8= -github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= @@ -229,12 +225,12 @@ github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/kylelemons/godebug v0.0.0-20170820004349-d65d576e9348/go.mod h1:B69LEHPfb2qLo0BaaOLcbitczOKLWTsrBG9LczfCD4k= github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= -github.com/linode/linodego v1.36.0 h1:AeFkL3cNtiirEiS9gxzNUUaZafFHhNvVpeyuokmKTu8= -github.com/linode/linodego v1.36.0/go.mod h1:7MDOCz/DXckUEByLaXEwVBn6yHuvjoT7zVhp9Tr9OS0= +github.com/linode/linodego v1.38.0 h1:wP3oW9OhGc6vhze8NPf2knbwH4TzSbrjzuCd9okjbTY= +github.com/linode/linodego v1.38.0/go.mod h1:L7GXKFD3PoN2xSEtFc04wIXP5WK65O10jYQx0PQISWQ= github.com/linode/linodego/k8s v1.25.2 h1:PY6S0sAD3xANVvM9WY38bz9GqMTjIbytC8IJJ9Cv23o= github.com/linode/linodego/k8s v1.25.2/go.mod h1:DC1XCSRZRGsmaa/ggpDPSDUmOM6aK1bhSIP6+f9Cwhc= -github.com/linode/terraform-provider-linode/v2 v2.23.0 h1:j9Lzs6pBPQD0oWqox90936o1aGGIsc4/y9tgrZhKOUI= -github.com/linode/terraform-provider-linode/v2 v2.23.0/go.mod h1:BYfOWq+q/5WITKkpjMr+yi2niPorar8YwV0pcaqnFfA= +github.com/linode/terraform-provider-linode/v2 v2.25.0 h1:lU2cach2l8Y5Qx5sgWSLGbLYE61ggQwZhqb6IcGaj+8= +github.com/linode/terraform-provider-linode/v2 v2.25.0/go.mod h1:Qad/PjPD5OpNu2UeoM0RExZueRzf96d9/hDsYvuytkg= github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= @@ -339,8 +335,9 @@ github.com/zclconf/go-cty v1.8.0/go.mod h1:vVKLxnk3puL4qRAv72AO+W99LUD4da90g3uUA github.com/zclconf/go-cty v1.8.1/go.mod h1:vVKLxnk3puL4qRAv72AO+W99LUD4da90g3uUAzyuvAk= github.com/zclconf/go-cty v1.14.4 h1:uXXczd9QDGsgu0i/QFR/hzI5NYCHLf6NQw/atrbnhq8= github.com/zclconf/go-cty v1.14.4/go.mod h1:VvMs5i0vgZdhYawQNq5kePSpLAoz8u1xvZgrPIxfnZE= -github.com/zclconf/go-cty-debug v0.0.0-20191215020915-b22d67c1ba0b h1:FosyBZYxY34Wul7O/MSKey3txpPYyCqVO5ZyceuQJEI= github.com/zclconf/go-cty-debug v0.0.0-20191215020915-b22d67c1ba0b/go.mod h1:ZRKQfBXbGkpdV6QMzT3rU1kSTAnfu1dO8dPKjYprgj8= +github.com/zclconf/go-cty-debug v0.0.0-20240509010212-0d6042c53940 h1:4r45xpDWB6ZMSMNJFMOjqrGHynW3DIBuR2H9j0ug+Mo= +github.com/zclconf/go-cty-debug v0.0.0-20240509010212-0d6042c53940/go.mod h1:CmBdvvj3nqzfzJ6nTCIwDTPZ56aVGvDrmztiO5g3qrM= github.com/zclconf/go-cty-yaml v1.0.3 h1:og/eOQ7lvA/WWhHGFETVWNduJM7Rjsv2RRpx1sdFMLc= github.com/zclconf/go-cty-yaml v1.0.3/go.mod h1:9YLUH4g7lOhVWqUbctnVlZ5KLpg7JAprQNgxSZ1Gyxs= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= @@ -356,8 +353,8 @@ golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPh golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= -golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI= -golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM= +golang.org/x/crypto v0.25.0 h1:ypSNr+bnYL2YhwoMt2zPxHFmbAN1KZs/njMG3hxUp30= +golang.org/x/crypto v0.25.0/go.mod h1:T+wALwcMOSE0kXgUAnPAHqTLW+XHgcELELW8VaDgm/M= golang.org/x/exp v0.0.0-20240112132812-db7319d0e0e3 h1:hNQpMuAJe5CtcUqCXaWga3FHu+kQvCqcsoVaQgSV60o= golang.org/x/exp v0.0.0-20240112132812-db7319d0e0e3/go.mod h1:idGWGoKP1toJGkd5/ig9ZLuPcZBC3ewk7SzmH0uou08= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= @@ -382,8 +379,8 @@ golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= -golang.org/x/net v0.26.0 h1:soB7SVo0PWrY4vPW/+ay0jKDNScG2X9wFeYlXIvJsOQ= -golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE= +golang.org/x/net v0.27.0 h1:5K3Njcw06/l2y9vpGCSdcxWOYHOUk3dVNGDXN+FvAys= +golang.org/x/net v0.27.0/go.mod h1:dDi0PyhWNoiUOrAS8uXv/vnScO4wnHQO4mj9fn/RytE= golang.org/x/oauth2 v0.21.0 h1:tsimM75w1tF/uws5rbeHzIWxEqElMehnc+iW793zsZs= golang.org/x/oauth2 v0.21.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -418,16 +415,16 @@ golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= -golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.22.0 h1:RI27ohtqKCnwULzJLqkv897zojh5/DwS/ENaMzUOaWI= +golang.org/x/sys v0.22.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= -golang.org/x/term v0.21.0 h1:WVXCp+/EBEHOj53Rvu+7KiT/iElMrO8ACK16SMZ3jaA= -golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0= +golang.org/x/term v0.22.0 h1:BbsgPEJULsl2fV/AT3v15Mjva5yXKQDyKf+TbDz7QJk= +golang.org/x/term v0.22.0/go.mod h1:F3qCibpT5AMpCRfhfT53vVJwhLtIVHhB9XDjfFvnMI4= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= diff --git a/package/crds/database.linode.upbound.io_accesscontrols.yaml b/package/crds/database.linode.upbound.io_accesscontrols.yaml index 5731261..85b4589 100644 --- a/package/crds/database.linode.upbound.io_accesscontrols.yaml +++ b/package/crds/database.linode.upbound.io_accesscontrols.yaml @@ -88,7 +88,7 @@ spec: type: number databaseType: description: |- - The unique type of the target database. (mysql, mongodb, postgresql) + The unique type of the target database. (mysql, postgresql) The type of the database to manage the allow list for. type: string type: object @@ -120,7 +120,7 @@ spec: type: number databaseType: description: |- - The unique type of the target database. (mysql, mongodb, postgresql) + The unique type of the target database. (mysql, postgresql) The type of the database to manage the allow list for. type: string type: object @@ -324,7 +324,7 @@ spec: type: number databaseType: description: |- - The unique type of the target database. (mysql, mongodb, postgresql) + The unique type of the target database. (mysql, postgresql) The type of the database to manage the allow list for. type: string id: diff --git a/package/crds/instance.linode.upbound.io_instances.yaml b/package/crds/instance.linode.upbound.io_instances.yaml index 3ad8721..48057dd 100644 --- a/package/crds/instance.linode.upbound.io_instances.yaml +++ b/package/crds/instance.linode.upbound.io_instances.yaml @@ -658,6 +658,11 @@ spec: The ID of the Placement Group to assign this Linode to. The ID of the Placement Group to assign this Linode to. type: number + placementGroupPolicy: + description: |- + Whether the Placement Group enforces strict compliance. + Whether compliance is strictly enforced by this Placement Group. + type: string type: object type: array placementGroupExternallyManaged: @@ -1414,6 +1419,11 @@ spec: The ID of the Placement Group to assign this Linode to. The ID of the Placement Group to assign this Linode to. type: number + placementGroupPolicy: + description: |- + Whether the Placement Group enforces strict compliance. + Whether compliance is strictly enforced by this Placement Group. + type: string type: object type: array placementGroupExternallyManaged: @@ -2402,11 +2412,6 @@ spec: Fields related to the Placement Group this instance is assigned to. items: properties: - affinityType: - description: |- - The affinity policy enforced by the Placement Group. - The affinity policy for this Placement Group. - type: string compliantOnly: type: boolean id: @@ -2414,16 +2419,21 @@ spec: The ID of the Placement Group to assign this Linode to. The ID of the Placement Group to assign this Linode to. type: number - isStrict: - description: |- - Whether the Placement Group enforces strict compliance. - Whether compliance is strictly enforced by this Placement Group. - type: boolean label: description: |- The Linode's label is for display purposes only. If no label is provided for a Linode, a default will be assigned. The label of this Placement Group. type: string + placementGroupPolicy: + description: |- + Whether the Placement Group enforces strict compliance. + Whether compliance is strictly enforced by this Placement Group. + type: string + placementGroupType: + description: |- + The placement group type enforced by the Placement Group. + The placement group type for this Placement Group. + type: string type: object type: array placementGroupExternallyManaged: diff --git a/package/crds/objectstorage.linode.upbound.io_buckets.yaml b/package/crds/objectstorage.linode.upbound.io_buckets.yaml index ede8141..5914f0c 100644 --- a/package/crds/objectstorage.linode.upbound.io_buckets.yaml +++ b/package/crds/objectstorage.linode.upbound.io_buckets.yaml @@ -175,7 +175,8 @@ spec: type: array cluster: description: |- - The cluster of the Linode Object Storage Bucket. + (Deprecated) The cluster of the Linode Object Storage Bucket. This is deprecated in favor of region attribute. + For example, us-mia-1 cluster can be translated into us-mia region. Exactly one of region and cluster is required for creating a bucket. The cluster of the Linode Object Storage Bucket. type: string corsEnabled: @@ -247,6 +248,11 @@ spec: type: string type: object type: array + region: + description: |- + The region of the Linode Object Storage Bucket. Exactly one of region and cluster is required for creating a bucket. + The region of the Linode Object Storage Bucket. + type: string secretKeySecretRef: description: |- The secret key to authenticate with. If not specified with the resource, its value can be @@ -387,7 +393,8 @@ spec: type: array cluster: description: |- - The cluster of the Linode Object Storage Bucket. + (Deprecated) The cluster of the Linode Object Storage Bucket. This is deprecated in favor of region attribute. + For example, us-mia-1 cluster can be translated into us-mia region. Exactly one of region and cluster is required for creating a bucket. The cluster of the Linode Object Storage Bucket. type: string corsEnabled: @@ -459,6 +466,11 @@ spec: type: string type: object type: array + region: + description: |- + The region of the Linode Object Storage Bucket. Exactly one of region and cluster is required for creating a bucket. + The region of the Linode Object Storage Bucket. + type: string secretKeySecretRef: description: |- The secret key to authenticate with. If not specified with the resource, its value can be @@ -652,10 +664,6 @@ spec: - forProvider type: object x-kubernetes-validations: - - message: spec.forProvider.cluster is a required parameter - rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies - || ''Update'' in self.managementPolicies) || has(self.forProvider.cluster) - || (has(self.initProvider) && has(self.initProvider.cluster))' - message: spec.forProvider.label is a required parameter rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies || ''Update'' in self.managementPolicies) || has(self.forProvider.label) @@ -693,7 +701,8 @@ spec: type: array cluster: description: |- - The cluster of the Linode Object Storage Bucket. + (Deprecated) The cluster of the Linode Object Storage Bucket. This is deprecated in favor of region attribute. + For example, us-mia-1 cluster can be translated into us-mia region. Exactly one of region and cluster is required for creating a bucket. The cluster of the Linode Object Storage Bucket. type: string corsEnabled: @@ -776,6 +785,11 @@ spec: type: string type: object type: array + region: + description: |- + The region of the Linode Object Storage Bucket. Exactly one of region and cluster is required for creating a bucket. + The region of the Linode Object Storage Bucket. + type: string versioning: description: |- Whether to enable versioning. Once you version-enable a bucket, it can never return to an unversioned state. You can, however, suspend versioning on that bucket. (Requires access_key and secret_key) diff --git a/package/crds/objectstorage.linode.upbound.io_keys.yaml b/package/crds/objectstorage.linode.upbound.io_keys.yaml index d3b26d2..c667d3a 100644 --- a/package/crds/objectstorage.linode.upbound.io_keys.yaml +++ b/package/crds/objectstorage.linode.upbound.io_keys.yaml @@ -86,14 +86,19 @@ spec: type: string cluster: description: |- - The Object Storage cluster where a bucket to which the key is granting access is hosted. - The Object Storage cluster where a bucket to which the key is granting access is hosted. + (Deprecated) The Object Storage cluster where the bucket resides. Deprecated in favor of region. + The Object Storage cluster where the bucket resides. Deprecated in favor of `region` type: string permissions: description: |- This Limited Access Key’s permissions for the selected bucket. Changing (read_write, read_only) This Limited Access Key's permissions for the selected bucket. type: string + region: + description: |- + The region where the bucket resides. + The region where the bucket resides. + type: string type: object type: array label: @@ -101,6 +106,14 @@ spec: The label given to this key. For display purposes only. The label given to this key. For display purposes only. type: string + regions: + description: |- + A set of regions where the key will grant access to create buckets. + A set of regions where the key will grant access to create buckets. + items: + type: string + type: array + x-kubernetes-list-type: set type: object initProvider: description: |- @@ -128,14 +141,19 @@ spec: type: string cluster: description: |- - The Object Storage cluster where a bucket to which the key is granting access is hosted. - The Object Storage cluster where a bucket to which the key is granting access is hosted. + (Deprecated) The Object Storage cluster where the bucket resides. Deprecated in favor of region. + The Object Storage cluster where the bucket resides. Deprecated in favor of `region` type: string permissions: description: |- This Limited Access Key’s permissions for the selected bucket. Changing (read_write, read_only) This Limited Access Key's permissions for the selected bucket. type: string + region: + description: |- + The region where the bucket resides. + The region where the bucket resides. + type: string type: object type: array label: @@ -143,6 +161,14 @@ spec: The label given to this key. For display purposes only. The label given to this key. For display purposes only. type: string + regions: + description: |- + A set of regions where the key will grant access to create buckets. + A set of regions where the key will grant access to create buckets. + items: + type: string + type: array + x-kubernetes-list-type: set type: object managementPolicies: default: @@ -334,17 +360,23 @@ spec: type: string cluster: description: |- - The Object Storage cluster where a bucket to which the key is granting access is hosted. - The Object Storage cluster where a bucket to which the key is granting access is hosted. + (Deprecated) The Object Storage cluster where the bucket resides. Deprecated in favor of region. + The Object Storage cluster where the bucket resides. Deprecated in favor of `region` type: string permissions: description: |- This Limited Access Key’s permissions for the selected bucket. Changing (read_write, read_only) This Limited Access Key's permissions for the selected bucket. type: string + region: + description: |- + The region where the bucket resides. + The region where the bucket resides. + type: string type: object type: array id: + description: The ID of the region. type: string label: description: |- @@ -356,6 +388,29 @@ spec: Whether or not this key is a limited access key. Whether or not this key is a limited access key. type: boolean + regions: + description: |- + A set of regions where the key will grant access to create buckets. + A set of regions where the key will grant access to create buckets. + items: + type: string + type: array + x-kubernetes-list-type: set + regionsDetails: + description: |- + A set of objects containing the detailed info of the regions where this key can access. + A set of objects containing the detailed info of the regions where the key will grant access. + items: + properties: + id: + description: The ID of the region. + type: string + s3Endpoint: + description: The S3-compatible hostname you can use to access + the Object Storage buckets in this region. + type: string + type: object + type: array type: object conditions: description: Conditions of the resource. diff --git a/package/crds/objectstorage.linode.upbound.io_objects.yaml b/package/crds/objectstorage.linode.upbound.io_objects.yaml index 8d90516..0d4204f 100644 --- a/package/crds/objectstorage.linode.upbound.io_objects.yaml +++ b/package/crds/objectstorage.linode.upbound.io_objects.yaml @@ -169,7 +169,7 @@ spec: type: string cluster: description: |- - The cluster the bucket is in. + (Deprecated) The cluster the bucket is in. Required if region is not configured. Deprecated in favor of region. The target cluster that the bucket is in. type: string content: @@ -230,6 +230,11 @@ spec: The metadata of this object type: object x-kubernetes-map-type: granular + region: + description: |- + The cluster the bucket is in. Required if cluster is not configured. + The target region that the bucket is in. + type: string secretKeySecretRef: description: |- The REQUIRED secret key to authenticate with. If it's not specified with the resource, you must provide its value by @@ -369,7 +374,7 @@ spec: type: string cluster: description: |- - The cluster the bucket is in. + (Deprecated) The cluster the bucket is in. Required if region is not configured. Deprecated in favor of region. The target cluster that the bucket is in. type: string content: @@ -430,6 +435,11 @@ spec: The metadata of this object type: object x-kubernetes-map-type: granular + region: + description: |- + The cluster the bucket is in. Required if cluster is not configured. + The target region that the bucket is in. + type: string secretKeySecretRef: description: |- The REQUIRED secret key to authenticate with. If it's not specified with the resource, you must provide its value by @@ -632,10 +642,6 @@ spec: rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies || ''Update'' in self.managementPolicies) || has(self.forProvider.bucket) || (has(self.initProvider) && has(self.initProvider.bucket))' - - message: spec.forProvider.cluster is a required parameter - rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies - || ''Update'' in self.managementPolicies) || has(self.forProvider.cluster) - || (has(self.initProvider) && has(self.initProvider.cluster))' - message: spec.forProvider.key is a required parameter rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies || ''Update'' in self.managementPolicies) || has(self.forProvider.key) @@ -667,7 +673,7 @@ spec: type: string cluster: description: |- - The cluster the bucket is in. + (Deprecated) The cluster the bucket is in. Required if region is not configured. Deprecated in favor of region. The target cluster that the bucket is in. type: string content: @@ -730,6 +736,11 @@ spec: The metadata of this object type: object x-kubernetes-map-type: granular + region: + description: |- + The cluster the bucket is in. Required if cluster is not configured. + The target region that the bucket is in. + type: string source: description: |- The path to a file that will be read and uploaded as raw bytes for the object content. The path must either be relative to the root module or absolute. diff --git a/package/crds/placementgroup.linode.upbound.io_placementgroups.yaml b/package/crds/placementgroup.linode.upbound.io_placementgroups.yaml index 5cc5b4d..80b1113 100644 --- a/package/crds/placementgroup.linode.upbound.io_placementgroups.yaml +++ b/package/crds/placementgroup.linode.upbound.io_placementgroups.yaml @@ -73,20 +73,20 @@ spec: type: string forProvider: properties: - affinityType: + label: description: |- - The affinity policy to use when placing Linodes in this group. - The affinity type for Linodes in this Placement Group. + The label of the Placement Group. This field can only contain ASCII letters, digits and dashes. + The label of the Placement Group. type: string - isStrict: + placementGroupPolicy: description: |- - Whether Linodes must be able to become compliant during assignment. (Default true) + Whether Linodes must be able to become compliant during assignment. (Default strict) Whether this Placement Group has a strict compliance policy. - type: boolean - label: + type: string + placementGroupType: description: |- - The label of the Placement Group. This field can only contain ASCII letters, digits and dashes. - The label of the Placement Group. + The placement group type to use when placing Linodes in this group. + The placement group type for Linodes in this Placement Group. type: string region: description: |- @@ -107,20 +107,20 @@ spec: for example because of an external controller is managing them, like an autoscaler. properties: - affinityType: + label: description: |- - The affinity policy to use when placing Linodes in this group. - The affinity type for Linodes in this Placement Group. + The label of the Placement Group. This field can only contain ASCII letters, digits and dashes. + The label of the Placement Group. type: string - isStrict: + placementGroupPolicy: description: |- - Whether Linodes must be able to become compliant during assignment. (Default true) + Whether Linodes must be able to become compliant during assignment. (Default strict) Whether this Placement Group has a strict compliance policy. - type: boolean - label: + type: string + placementGroupType: description: |- - The label of the Placement Group. This field can only contain ASCII letters, digits and dashes. - The label of the Placement Group. + The placement group type to use when placing Linodes in this group. + The placement group type for Linodes in this Placement Group. type: string region: description: |- @@ -296,14 +296,14 @@ spec: - forProvider type: object x-kubernetes-validations: - - message: spec.forProvider.affinityType is a required parameter - rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies - || ''Update'' in self.managementPolicies) || has(self.forProvider.affinityType) - || (has(self.initProvider) && has(self.initProvider.affinityType))' - message: spec.forProvider.label is a required parameter rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies || ''Update'' in self.managementPolicies) || has(self.forProvider.label) || (has(self.initProvider) && has(self.initProvider.label))' + - message: spec.forProvider.placementGroupType is a required parameter + rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies + || ''Update'' in self.managementPolicies) || has(self.forProvider.placementGroupType) + || (has(self.initProvider) && has(self.initProvider.placementGroupType))' - message: spec.forProvider.region is a required parameter rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies || ''Update'' in self.managementPolicies) || has(self.forProvider.region) @@ -313,24 +313,14 @@ spec: properties: atProvider: properties: - affinityType: - description: |- - The affinity policy to use when placing Linodes in this group. - The affinity type for Linodes in this Placement Group. - type: string id: description: The ID of the Placement Group. type: string isCompliant: description: |- - Whether all Linodes in this group are currently compliant with the group's affinity policy. + Whether all Linodes in this group are currently compliant with the group's placement group type. Whether all Linodes in this Placement Group are currently compliant. type: boolean - isStrict: - description: |- - Whether Linodes must be able to become compliant during assignment. (Default true) - Whether this Placement Group has a strict compliance policy. - type: boolean label: description: |- The label of the Placement Group. This field can only contain ASCII letters, digits and dashes. @@ -343,13 +333,23 @@ spec: properties: isCompliant: description: Whether all Linodes in this group are currently - compliant with the group's affinity policy. + compliant with the group's placement group type. type: boolean linodeId: description: The ID of the Linode. type: number type: object type: array + placementGroupPolicy: + description: |- + Whether Linodes must be able to become compliant during assignment. (Default strict) + Whether this Placement Group has a strict compliance policy. + type: string + placementGroupType: + description: |- + The placement group type to use when placing Linodes in this group. + The placement group type for Linodes in this Placement Group. + type: string region: description: |- The region of the Placement Group. diff --git a/package/crds/token.linode.upbound.io_tokens.yaml b/package/crds/token.linode.upbound.io_tokens.yaml index ea14fba..f5dbb2e 100644 --- a/package/crds/token.linode.upbound.io_tokens.yaml +++ b/package/crds/token.linode.upbound.io_tokens.yaml @@ -85,7 +85,7 @@ spec: scopes: description: |- The scopes this token was created with. These define what parts of the Account the token can be used to access. Many command-line tools, such as the Linode CLI, require tokens with access to *. Tokens with more restrictive scopes are generally more secure. All scopes can be viewed in the Linode API documentation. - The scopes this token was created with. These define what parts of the Account the token can be used to access. Many command-line tools, such as the Linode CLI, require tokens with access to *. Tokens with more restrictive scopes are generally more secure. Multiple scopes are separated by a space character (e.g., "databases:read_only events:read_only"). You can find the list of available scopes on Linode API docs site, https://www.linode.com/docs/api#oauth-reference + The scopes this token was created with. These define what parts of the Account the token can be used to access. Many command-line tools, such as the Linode CLI, require tokens with access to *. Tokens with more restrictive scopes are generally more secure. Multiple scopes are separated by a space character (e.g., "databases:read_only events:read_only"). You can find the list of available scopes on Linode API docs site, https://techdocs.akamai.com/linode-api/reference/get-started#oauth-reference type: string type: object initProvider: @@ -114,7 +114,7 @@ spec: scopes: description: |- The scopes this token was created with. These define what parts of the Account the token can be used to access. Many command-line tools, such as the Linode CLI, require tokens with access to *. Tokens with more restrictive scopes are generally more secure. All scopes can be viewed in the Linode API documentation. - The scopes this token was created with. These define what parts of the Account the token can be used to access. Many command-line tools, such as the Linode CLI, require tokens with access to *. Tokens with more restrictive scopes are generally more secure. Multiple scopes are separated by a space character (e.g., "databases:read_only events:read_only"). You can find the list of available scopes on Linode API docs site, https://www.linode.com/docs/api#oauth-reference + The scopes this token was created with. These define what parts of the Account the token can be used to access. Many command-line tools, such as the Linode CLI, require tokens with access to *. Tokens with more restrictive scopes are generally more secure. Multiple scopes are separated by a space character (e.g., "databases:read_only events:read_only"). You can find the list of available scopes on Linode API docs site, https://techdocs.akamai.com/linode-api/reference/get-started#oauth-reference type: string type: object managementPolicies: @@ -314,7 +314,7 @@ spec: scopes: description: |- The scopes this token was created with. These define what parts of the Account the token can be used to access. Many command-line tools, such as the Linode CLI, require tokens with access to *. Tokens with more restrictive scopes are generally more secure. All scopes can be viewed in the Linode API documentation. - The scopes this token was created with. These define what parts of the Account the token can be used to access. Many command-line tools, such as the Linode CLI, require tokens with access to *. Tokens with more restrictive scopes are generally more secure. Multiple scopes are separated by a space character (e.g., "databases:read_only events:read_only"). You can find the list of available scopes on Linode API docs site, https://www.linode.com/docs/api#oauth-reference + The scopes this token was created with. These define what parts of the Account the token can be used to access. Many command-line tools, such as the Linode CLI, require tokens with access to *. Tokens with more restrictive scopes are generally more secure. Multiple scopes are separated by a space character (e.g., "databases:read_only events:read_only"). You can find the list of available scopes on Linode API docs site, https://techdocs.akamai.com/linode-api/reference/get-started#oauth-reference type: string type: object conditions: