volume

package
v0.82.0 Latest Latest
Warning

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

Go to latest
Published: Feb 19, 2026 License: Apache-2.0 Imports: 7 Imported by: 0

README

stackit_volume

Refer to the Terraform Registry for docs: stackit_volume.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewVolumeEncryptionParametersOutputReference_Override added in v0.77.0

func NewVolumeEncryptionParametersOutputReference_Override(v VolumeEncryptionParametersOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewVolumeSourceOutputReference_Override

func NewVolumeSourceOutputReference_Override(v VolumeSourceOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewVolume_Override

func NewVolume_Override(v Volume, scope constructs.Construct, id *string, config *VolumeConfig)

Create a new {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.82.0/docs/resources/volume stackit_volume} Resource.

func Volume_GenerateConfigForImport

func Volume_GenerateConfigForImport(scope constructs.Construct, importToId *string, importFromId *string, provider cdktf.TerraformProvider) cdktf.ImportableResource

Generates CDKTF code for importing a Volume resource upon running "cdktf plan <stack-name>".

func Volume_IsConstruct

func Volume_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`.

func Volume_IsTerraformElement

func Volume_IsTerraformElement(x interface{}) *bool

Experimental.

func Volume_IsTerraformResource

func Volume_IsTerraformResource(x interface{}) *bool

Experimental.

func Volume_TfResourceType

func Volume_TfResourceType() *string

Types

type Volume

type Volume interface {
	cdktf.TerraformResource
	AvailabilityZone() *string
	SetAvailabilityZone(val *string)
	AvailabilityZoneInput() *string
	// Experimental.
	CdktfStack() cdktf.TerraformStack
	// Experimental.
	Connection() interface{}
	// Experimental.
	SetConnection(val interface{})
	// Experimental.
	ConstructNodeMetadata() *map[string]interface{}
	// Experimental.
	Count() interface{}
	// Experimental.
	SetCount(val interface{})
	// Experimental.
	DependsOn() *[]*string
	// Experimental.
	SetDependsOn(val *[]*string)
	Description() *string
	SetDescription(val *string)
	DescriptionInput() *string
	Encrypted() cdktf.IResolvable
	EncryptionParameters() VolumeEncryptionParametersOutputReference
	EncryptionParametersInput() interface{}
	// Experimental.
	ForEach() cdktf.ITerraformIterator
	// Experimental.
	SetForEach(val cdktf.ITerraformIterator)
	// Experimental.
	Fqn() *string
	// Experimental.
	FriendlyUniqueId() *string
	Id() *string
	Labels() *map[string]*string
	SetLabels(val *map[string]*string)
	LabelsInput() *map[string]*string
	// Experimental.
	Lifecycle() *cdktf.TerraformResourceLifecycle
	// Experimental.
	SetLifecycle(val *cdktf.TerraformResourceLifecycle)
	Name() *string
	SetName(val *string)
	NameInput() *string
	// The tree node.
	Node() constructs.Node
	PerformanceClass() *string
	SetPerformanceClass(val *string)
	PerformanceClassInput() *string
	ProjectId() *string
	SetProjectId(val *string)
	ProjectIdInput() *string
	// Experimental.
	Provider() cdktf.TerraformProvider
	// Experimental.
	SetProvider(val cdktf.TerraformProvider)
	// Experimental.
	Provisioners() *[]interface{}
	// Experimental.
	SetProvisioners(val *[]interface{})
	// Experimental.
	RawOverrides() interface{}
	Region() *string
	SetRegion(val *string)
	RegionInput() *string
	ServerId() *string
	Size() *float64
	SetSize(val *float64)
	SizeInput() *float64
	Source() VolumeSourceOutputReference
	SourceInput() interface{}
	// Experimental.
	TerraformGeneratorMetadata() *cdktf.TerraformProviderGeneratorMetadata
	// Experimental.
	TerraformMetaArguments() *map[string]interface{}
	// Experimental.
	TerraformResourceType() *string
	VolumeId() *string
	// Adds a user defined moveTarget string to this resource to be later used in .moveTo(moveTarget) to resolve the location of the move.
	// Experimental.
	AddMoveTarget(moveTarget *string)
	// Experimental.
	AddOverride(path *string, value interface{})
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	HasResourceMove() interface{}
	// Experimental.
	ImportFrom(id *string, provider cdktf.TerraformProvider)
	// Experimental.
	InterpolationForAttribute(terraformAttribute *string) cdktf.IResolvable
	// Move the resource corresponding to "id" to this resource.
	//
	// Note that the resource being moved from must be marked as moved using it's instance function.
	// Experimental.
	MoveFromId(id *string)
	// Moves this resource to the target resource given by moveTarget.
	// Experimental.
	MoveTo(moveTarget *string, index interface{})
	// Moves this resource to the resource corresponding to "id".
	// Experimental.
	MoveToId(id *string)
	// Overrides the auto-generated logical ID with a specific ID.
	// Experimental.
	OverrideLogicalId(newLogicalId *string)
	PutEncryptionParameters(value *VolumeEncryptionParameters)
	PutSource(value *VolumeSource)
	ResetDescription()
	ResetEncryptionParameters()
	ResetLabels()
	ResetName()
	// Resets a previously passed logical Id to use the auto-generated logical id again.
	// Experimental.
	ResetOverrideLogicalId()
	ResetPerformanceClass()
	ResetRegion()
	ResetSize()
	ResetSource()
	SynthesizeAttributes() *map[string]interface{}
	SynthesizeHclAttributes() *map[string]interface{}
	// Experimental.
	ToHclTerraform() interface{}
	// Experimental.
	ToMetadata() interface{}
	// Returns a string representation of this construct.
	ToString() *string
	// Adds this resource to the terraform JSON output.
	// Experimental.
	ToTerraform() interface{}
}

Represents a {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.82.0/docs/resources/volume stackit_volume}.

func NewVolume

func NewVolume(scope constructs.Construct, id *string, config *VolumeConfig) Volume

Create a new {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.82.0/docs/resources/volume stackit_volume} Resource.

type VolumeConfig

type VolumeConfig struct {
	// Experimental.
	Connection interface{} `field:"optional" json:"connection" yaml:"connection"`
	// Experimental.
	Count interface{} `field:"optional" json:"count" yaml:"count"`
	// Experimental.
	DependsOn *[]cdktf.ITerraformDependable `field:"optional" json:"dependsOn" yaml:"dependsOn"`
	// Experimental.
	ForEach cdktf.ITerraformIterator `field:"optional" json:"forEach" yaml:"forEach"`
	// Experimental.
	Lifecycle *cdktf.TerraformResourceLifecycle `field:"optional" json:"lifecycle" yaml:"lifecycle"`
	// Experimental.
	Provider cdktf.TerraformProvider `field:"optional" json:"provider" yaml:"provider"`
	// Experimental.
	Provisioners *[]interface{} `field:"optional" json:"provisioners" yaml:"provisioners"`
	// The availability zone of the volume.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.82.0/docs/resources/volume#availability_zone Volume#availability_zone}
	AvailabilityZone *string `field:"required" json:"availabilityZone" yaml:"availabilityZone"`
	// STACKIT project ID to which the volume is associated.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.82.0/docs/resources/volume#project_id Volume#project_id}
	ProjectId *string `field:"required" json:"projectId" yaml:"projectId"`
	// The description of the volume.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.82.0/docs/resources/volume#description Volume#description}
	Description *string `field:"optional" json:"description" yaml:"description"`
	// Parameter to connect to a key-encryption-key within the STACKIT-KMS to create encrypted volumes.
	//
	// These parameters never leave the backend again. So these parameters are not present on imports or in the datasource. They live only in your Terraform state after creation of the resource.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.82.0/docs/resources/volume#encryption_parameters Volume#encryption_parameters}
	EncryptionParameters *VolumeEncryptionParameters `field:"optional" json:"encryptionParameters" yaml:"encryptionParameters"`
	// Labels are key-value string pairs which can be attached to a resource container.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.82.0/docs/resources/volume#labels Volume#labels}
	Labels *map[string]*string `field:"optional" json:"labels" yaml:"labels"`
	// The name of the volume.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.82.0/docs/resources/volume#name Volume#name}
	Name *string `field:"optional" json:"name" yaml:"name"`
	// The performance class of the volume. Possible values are documented in [Service plans BlockStorage](https://docs.stackit.cloud/products/storage/block-storage/basics/service-plans/#currently-available-service-plans-performance-classes).
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.82.0/docs/resources/volume#performance_class Volume#performance_class}
	PerformanceClass *string `field:"optional" json:"performanceClass" yaml:"performanceClass"`
	// The resource region. If not defined, the provider region is used.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.82.0/docs/resources/volume#region Volume#region}
	Region *string `field:"optional" json:"region" yaml:"region"`
	// The size of the volume in GB.
	//
	// It can only be updated to a larger value than the current size. Either `size` or `source` must be provided
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.82.0/docs/resources/volume#size Volume#size}
	Size *float64 `field:"optional" json:"size" yaml:"size"`
	// The source of the volume.
	//
	// It can be either a volume, an image, a snapshot or a backup. Either `size` or `source` must be provided
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.82.0/docs/resources/volume#source Volume#source}
	Source *VolumeSource `field:"optional" json:"source" yaml:"source"`
}

type VolumeEncryptionParameters added in v0.77.0

type VolumeEncryptionParameters struct {
	// UUID of the key within the STACKIT-KMS to use for the encryption.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.82.0/docs/resources/volume#kek_key_id Volume#kek_key_id}
	KekKeyId *string `field:"required" json:"kekKeyId" yaml:"kekKeyId"`
	// UUID of the keyring where the key is located within the STACKTI-KMS.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.82.0/docs/resources/volume#kek_keyring_id Volume#kek_keyring_id}
	KekKeyringId *string `field:"required" json:"kekKeyringId" yaml:"kekKeyringId"`
	// Version of the key within the STACKIT-KMS to use for the encryption.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.82.0/docs/resources/volume#kek_key_version Volume#kek_key_version}
	KekKeyVersion *float64 `field:"required" json:"kekKeyVersion" yaml:"kekKeyVersion"`
	// Service-Account linked to the Key within the STACKIT-KMS.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.82.0/docs/resources/volume#service_account Volume#service_account}
	ServiceAccount *string `field:"required" json:"serviceAccount" yaml:"serviceAccount"`
	// Optional predefined secret, which will be encrypted against the key-encryption-key within the STACKIT-KMS.
	//
	// If not defined, a random secret will be generated by the API and encrypted against the STACKIT-KMS. If a key-payload is provided here, it must be base64 encoded.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.82.0/docs/resources/volume#key_payload_base64 Volume#key_payload_base64}
	KeyPayloadBase64 *string `field:"optional" json:"keyPayloadBase64" yaml:"keyPayloadBase64"`
	// Optional predefined secret, which will be encrypted against the key-encryption-key within the STACKIT-KMS.
	//
	// If not defined, a random secret will be generated by the API and encrypted against the STACKIT-KMS. If a key-payload is provided here, it must be base64 encoded.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.82.0/docs/resources/volume#key_payload_base64_wo Volume#key_payload_base64_wo}
	KeyPayloadBase64Wo *string `field:"optional" json:"keyPayloadBase64Wo" yaml:"keyPayloadBase64Wo"`
	// Used together with `key_payload_base64_wo` to trigger an re-create. Increment this value when an update to `key_payload_base64_wo` is required.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.82.0/docs/resources/volume#key_payload_base64_wo_version Volume#key_payload_base64_wo_version}
	KeyPayloadBase64WoVersion *float64 `field:"optional" json:"keyPayloadBase64WoVersion" yaml:"keyPayloadBase64WoVersion"`
}

type VolumeEncryptionParametersOutputReference added in v0.77.0

type VolumeEncryptionParametersOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() interface{}
	SetInternalValue(val interface{})
	KekKeyId() *string
	SetKekKeyId(val *string)
	KekKeyIdInput() *string
	KekKeyringId() *string
	SetKekKeyringId(val *string)
	KekKeyringIdInput() *string
	KekKeyVersion() *float64
	SetKekKeyVersion(val *float64)
	KekKeyVersionInput() *float64
	KeyPayloadBase64() *string
	SetKeyPayloadBase64(val *string)
	KeyPayloadBase64Input() *string
	KeyPayloadBase64Wo() *string
	SetKeyPayloadBase64Wo(val *string)
	KeyPayloadBase64WoInput() *string
	KeyPayloadBase64WoVersion() *float64
	SetKeyPayloadBase64WoVersion(val *float64)
	KeyPayloadBase64WoVersionInput() *float64
	ServiceAccount() *string
	SetServiceAccount(val *string)
	ServiceAccountInput() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetKeyPayloadBase64()
	ResetKeyPayloadBase64Wo()
	ResetKeyPayloadBase64WoVersion()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewVolumeEncryptionParametersOutputReference added in v0.77.0

func NewVolumeEncryptionParametersOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) VolumeEncryptionParametersOutputReference

type VolumeSource

type VolumeSource struct {
	// The ID of the source, e.g. image ID.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.82.0/docs/resources/volume#id Volume#id}
	//
	// Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
	// If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
	Id *string `field:"required" json:"id" yaml:"id"`
	// The type of the source. Possible values are: `volume`, `image`, `snapshot`, `backup`.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.82.0/docs/resources/volume#type Volume#type}
	Type *string `field:"required" json:"type" yaml:"type"`
}

type VolumeSourceOutputReference

type VolumeSourceOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	Id() *string
	SetId(val *string)
	IdInput() *string
	InternalValue() interface{}
	SetInternalValue(val interface{})
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	Type() *string
	SetType(val *string)
	TypeInput() *string
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewVolumeSourceOutputReference

func NewVolumeSourceOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) VolumeSourceOutputReference

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL