Implement new stackit_image resource and datasource (#609)
* feat: Implement image resource and datasource * feat: Add remaining config options * feat: Make protected field only computed * feat: Update dependency to use IaaS beta API * fix: Minor fix in acc test --------- Co-authored-by: Vicente Pinto <vicente.pinto@freiheit.com>
This commit is contained in:
parent
7fcebacb21
commit
700bdc90d0
15 changed files with 2212 additions and 4 deletions
72
docs/data-sources/image.md
Normal file
72
docs/data-sources/image.md
Normal file
|
|
@ -0,0 +1,72 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_image Data Source - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Image datasource schema. Must have a region specified in the provider configuration.
|
||||
~> This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide https://registry.terraform.io/providers/stackitcloud/stackit/latest/docs/guides/opting_into_beta_resources for how to opt-in to use beta resources.
|
||||
---
|
||||
|
||||
# stackit_image (Data Source)
|
||||
|
||||
Image datasource schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
~> This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our [guide](https://registry.terraform.io/providers/stackitcloud/stackit/latest/docs/guides/opting_into_beta_resources) for how to opt-in to use beta resources.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
data "stackit_image" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
image_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `image_id` (String) The image ID.
|
||||
- `project_id` (String) STACKIT project ID to which the image is associated.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `checksum` (Attributes) Representation of an image checksum. (see [below for nested schema](#nestedatt--checksum))
|
||||
- `config` (Attributes) Properties to set hardware and scheduling settings for an image. (see [below for nested schema](#nestedatt--config))
|
||||
- `disk_format` (String) The disk format of the image.
|
||||
- `id` (String) Terraform's internal resource ID. It is structured as "`project_id`,`image_id`".
|
||||
- `labels` (Map of String) Labels are key-value string pairs which can be attached to a resource container
|
||||
- `min_disk_size` (Number) The minimum disk size of the image in GB.
|
||||
- `min_ram` (Number) The minimum RAM of the image in MB.
|
||||
- `name` (String) The name of the image.
|
||||
- `protected` (Boolean) Whether the image is protected.
|
||||
- `scope` (String) The scope of the image.
|
||||
|
||||
<a id="nestedatt--checksum"></a>
|
||||
### Nested Schema for `checksum`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `algorithm` (String) Algorithm for the checksum of the image data.
|
||||
- `digest` (String) Hexdigest of the checksum of the image data.
|
||||
|
||||
|
||||
<a id="nestedatt--config"></a>
|
||||
### Nested Schema for `config`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `boot_menu` (Boolean) Enables the BIOS bootmenu.
|
||||
- `cdrom_bus` (String) Sets CDROM bus controller type.
|
||||
- `disk_bus` (String) Sets Disk bus controller type.
|
||||
- `nic_model` (String) Sets virtual network interface model.
|
||||
- `operating_system` (String) Enables operating system specific optimizations.
|
||||
- `operating_system_distro` (String) Operating system distribution.
|
||||
- `operating_system_version` (String) Version of the operating system.
|
||||
- `rescue_bus` (String) Sets the device bus when the image is used as a rescue image.
|
||||
- `rescue_device` (String) Sets the device when the image is used as a rescue image.
|
||||
- `secure_boot` (Boolean) Enables Secure Boot.
|
||||
- `uefi` (Boolean) Enables UEFI boot.
|
||||
- `video_model` (String) Sets Graphic device model.
|
||||
- `virtio_scsi` (Boolean) Enables the use of VirtIO SCSI to provide block device access. By default instances use VirtIO Block.
|
||||
77
docs/resources/image.md
Normal file
77
docs/resources/image.md
Normal file
|
|
@ -0,0 +1,77 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_image Resource - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Image resource schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_image (Resource)
|
||||
|
||||
Image resource schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
resource "stackit_image" "example_image" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example-image"
|
||||
disk_format = "qcow2"
|
||||
local_file_path = "./path/to/image.qcow2"
|
||||
min_disk_size = 10
|
||||
min_ram = 5
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `disk_format` (String) The disk format of the image.
|
||||
- `local_file_path` (String) The filepath of the raw image file to be uploaded.
|
||||
- `name` (String) The name of the image.
|
||||
- `project_id` (String) STACKIT project ID to which the image is associated.
|
||||
|
||||
### Optional
|
||||
|
||||
- `config` (Attributes) Properties to set hardware and scheduling settings for an image. (see [below for nested schema](#nestedatt--config))
|
||||
- `labels` (Map of String) Labels are key-value string pairs which can be attached to a resource container
|
||||
- `min_disk_size` (Number) The minimum disk size of the image in GB.
|
||||
- `min_ram` (Number) The minimum RAM of the image in MB.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `checksum` (Attributes) Representation of an image checksum. (see [below for nested schema](#nestedatt--checksum))
|
||||
- `id` (String) Terraform's internal resource ID. It is structured as "`project_id`,`image_id`".
|
||||
- `image_id` (String) The image ID.
|
||||
- `protected` (Boolean) Whether the image is protected.
|
||||
- `scope` (String) The scope of the image.
|
||||
|
||||
<a id="nestedatt--config"></a>
|
||||
### Nested Schema for `config`
|
||||
|
||||
Optional:
|
||||
|
||||
- `boot_menu` (Boolean) Enables the BIOS bootmenu.
|
||||
- `cdrom_bus` (String) Sets CDROM bus controller type.
|
||||
- `disk_bus` (String) Sets Disk bus controller type.
|
||||
- `nic_model` (String) Sets virtual network interface model.
|
||||
- `operating_system` (String) Enables operating system specific optimizations.
|
||||
- `operating_system_distro` (String) Operating system distribution.
|
||||
- `operating_system_version` (String) Version of the operating system.
|
||||
- `rescue_bus` (String) Sets the device bus when the image is used as a rescue image.
|
||||
- `rescue_device` (String) Sets the device when the image is used as a rescue image.
|
||||
- `secure_boot` (Boolean) Enables Secure Boot.
|
||||
- `uefi` (Boolean) Enables UEFI boot.
|
||||
- `video_model` (String) Sets Graphic device model.
|
||||
- `virtio_scsi` (Boolean) Enables the use of VirtIO SCSI to provide block device access. By default instances use VirtIO Block.
|
||||
|
||||
|
||||
<a id="nestedatt--checksum"></a>
|
||||
### Nested Schema for `checksum`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `algorithm` (String) Algorithm for the checksum of the image data.
|
||||
- `digest` (String) Hexdigest of the checksum of the image data.
|
||||
Loading…
Add table
Add a link
Reference in a new issue