Documentation
¶
Index ¶
- func NewVolumeEncryptionParametersOutputReference_Override(v VolumeEncryptionParametersOutputReference, ...)
- func NewVolumeSourceOutputReference_Override(v VolumeSourceOutputReference, terraformResource cdktf.IInterpolatingParent, ...)
- func NewVolume_Override(v Volume, scope constructs.Construct, id *string, config *VolumeConfig)
- func Volume_GenerateConfigForImport(scope constructs.Construct, importToId *string, importFromId *string, ...) cdktf.ImportableResource
- func Volume_IsConstruct(x interface{}) *bool
- func Volume_IsTerraformElement(x interface{}) *bool
- func Volume_IsTerraformResource(x interface{}) *bool
- func Volume_TfResourceType() *string
- type Volume
- type VolumeConfig
- type VolumeEncryptionParameters
- type VolumeEncryptionParametersOutputReference
- type VolumeSource
- type VolumeSourceOutputReference
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.77.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_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.77.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.77.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.77.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.77.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.77.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.77.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.77.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.77.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.77.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.77.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.77.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.77.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.77.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.77.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.77.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.77.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.77.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.77.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.77.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.77.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.77.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