diff --git a/internal/services/instance/data_source_instance_private_nic.go b/internal/services/instance/data_source_instance_private_nic.go index a4624a9eed..6a96e835d8 100644 --- a/internal/services/instance/data_source_instance_private_nic.go +++ b/internal/services/instance/data_source_instance_private_nic.go @@ -2,6 +2,7 @@ package instance import ( "context" + _ "embed" "errors" "fmt" @@ -16,6 +17,9 @@ import ( "github.com/scaleway/terraform-provider-scaleway/v2/internal/verify" ) +//go:embed descriptions/private_nic_datasource.md +var privateNicDataSourceDescription string + func DataSourcePrivateNIC() *schema.Resource { // Generate datasource schema from resource dsSchema := datasource.SchemaFromResourceSchema(ResourcePrivateNIC().SchemaFunc()) @@ -36,6 +40,7 @@ func DataSourcePrivateNIC() *schema.Resource { return &schema.Resource{ ReadContext: DataSourceInstancePrivateNICRead, Schema: dsSchema, + Description: privateNicDataSourceDescription, } } diff --git a/internal/services/instance/descriptions/image.md b/internal/services/instance/descriptions/image.md new file mode 100644 index 0000000000..1e3e58a514 --- /dev/null +++ b/internal/services/instance/descriptions/image.md @@ -0,0 +1,2 @@ +Creates and manages Scaleway Instance Images. +For more information, see the [API documentation](https://www.scaleway.com/en/developers/api/instance/#path-images-list-instance-images). \ No newline at end of file diff --git a/internal/services/instance/descriptions/image_datasource.md b/internal/services/instance/descriptions/image_datasource.md new file mode 100644 index 0000000000..0b5eeaba1d --- /dev/null +++ b/internal/services/instance/descriptions/image_datasource.md @@ -0,0 +1 @@ +Gets information about an instance image. diff --git a/internal/services/instance/descriptions/ip.md b/internal/services/instance/descriptions/ip.md new file mode 100644 index 0000000000..7c2b769ad7 --- /dev/null +++ b/internal/services/instance/descriptions/ip.md @@ -0,0 +1 @@ +Creates and manages Scaleway compute Instance IPs. For more information, see the [API documentation](https://www.scaleway.com/en/developers/api/instance/#path-ips-list-all-flexible-ips). diff --git a/internal/services/instance/descriptions/ip_datasource.md b/internal/services/instance/descriptions/ip_datasource.md new file mode 100644 index 0000000000..37571ae3c9 --- /dev/null +++ b/internal/services/instance/descriptions/ip_datasource.md @@ -0,0 +1 @@ +Gets information about an instance IP. diff --git a/internal/services/instance/descriptions/ip_reverse_dns.md b/internal/services/instance/descriptions/ip_reverse_dns.md new file mode 100644 index 0000000000..985f42b7cc --- /dev/null +++ b/internal/services/instance/descriptions/ip_reverse_dns.md @@ -0,0 +1,3 @@ +Manages Scaleway compute Instance IPs Reverse DNS. + +Please check our [guide](https://www.scaleway.com/en/docs/compute/instances/how-to/configure-reverse-dns/) for more details \ No newline at end of file diff --git a/internal/services/instance/descriptions/placement_group.md b/internal/services/instance/descriptions/placement_group.md new file mode 100644 index 0000000000..a794cd247a --- /dev/null +++ b/internal/services/instance/descriptions/placement_group.md @@ -0,0 +1 @@ +Creates and manages Compute Instance Placement Groups. For more information, see the [API documentation](https://www.scaleway.com/en/developers/api/instance/#path-placement-groups-list-placement-groups). diff --git a/internal/services/instance/descriptions/placement_group_datasource.md b/internal/services/instance/descriptions/placement_group_datasource.md new file mode 100644 index 0000000000..500a2977d3 --- /dev/null +++ b/internal/services/instance/descriptions/placement_group_datasource.md @@ -0,0 +1 @@ +Gets information about a Security Group. diff --git a/internal/services/instance/descriptions/private_nic.md b/internal/services/instance/descriptions/private_nic.md new file mode 100644 index 0000000000..b10e83746b --- /dev/null +++ b/internal/services/instance/descriptions/private_nic.md @@ -0,0 +1,2 @@ +Creates and manages Scaleway Instance Private NICs. For more information, see +the [API documentation](https://www.scaleway.com/en/developers/api/instance/#path-private-nics-list-all-private-nics). \ No newline at end of file diff --git a/internal/services/instance/descriptions/private_nic_datasource.md b/internal/services/instance/descriptions/private_nic_datasource.md new file mode 100644 index 0000000000..565360e883 --- /dev/null +++ b/internal/services/instance/descriptions/private_nic_datasource.md @@ -0,0 +1 @@ +Gets information about an instance private NIC. diff --git a/internal/services/instance/descriptions/security_group.md b/internal/services/instance/descriptions/security_group.md new file mode 100644 index 0000000000..acf9112286 --- /dev/null +++ b/internal/services/instance/descriptions/security_group.md @@ -0,0 +1 @@ +Creates and manages Scaleway compute Instance security groups. For more information, see the [API documentation](https://www.scaleway.com/en/developers/api/instance/#path-security-groups-list-security-groups). diff --git a/internal/services/instance/descriptions/security_group_datasource.md b/internal/services/instance/descriptions/security_group_datasource.md new file mode 100644 index 0000000000..500a2977d3 --- /dev/null +++ b/internal/services/instance/descriptions/security_group_datasource.md @@ -0,0 +1 @@ +Gets information about a Security Group. diff --git a/internal/services/instance/descriptions/security_group_rules.md b/internal/services/instance/descriptions/security_group_rules.md new file mode 100644 index 0000000000..e0196ed240 --- /dev/null +++ b/internal/services/instance/descriptions/security_group_rules.md @@ -0,0 +1,5 @@ +Creates and manages Scaleway compute Instance security group rules. For more information, see the [API documentation](https://www.scaleway.com/en/developers/api/instance/#path-security-groups-list-security-groups). + +This resource can be used to externalize rules from a `scaleway_instance_security_group` to solve circular dependency problems. When using this resource do not forget to set `external_rules = true` on the security group. + +~> **Warning:** In order to guaranty rules order in a given security group only one scaleway_instance_security_group_rules is allowed per security group. \ No newline at end of file diff --git a/internal/services/instance/descriptions/server.md b/internal/services/instance/descriptions/server.md new file mode 100644 index 0000000000..82e77e25fb --- /dev/null +++ b/internal/services/instance/descriptions/server.md @@ -0,0 +1,3 @@ +Creates and manages Scaleway compute Instances. For more information, see the [API documentation](https://www.scaleway.com/en/developers/api/instance/#path-instances-list-all-instances). + +Please check our [FAQ - Instances](https://www.scaleway.com/en/docs/faq/instances). \ No newline at end of file diff --git a/internal/services/instance/descriptions/server_datasource.md b/internal/services/instance/descriptions/server_datasource.md new file mode 100644 index 0000000000..fe8dfe6e9e --- /dev/null +++ b/internal/services/instance/descriptions/server_datasource.md @@ -0,0 +1 @@ +Gets information about an instance server. \ No newline at end of file diff --git a/internal/services/instance/descriptions/server_type_datasource.md b/internal/services/instance/descriptions/server_type_datasource.md new file mode 100644 index 0000000000..0b5246c220 --- /dev/null +++ b/internal/services/instance/descriptions/server_type_datasource.md @@ -0,0 +1 @@ +Gets information about a server type. diff --git a/internal/services/instance/descriptions/servers_datasource.md b/internal/services/instance/descriptions/servers_datasource.md new file mode 100644 index 0000000000..351edd1afc --- /dev/null +++ b/internal/services/instance/descriptions/servers_datasource.md @@ -0,0 +1 @@ +Gets information about multiple instance servers. diff --git a/internal/services/instance/descriptions/snapshot.md b/internal/services/instance/descriptions/snapshot.md new file mode 100644 index 0000000000..d6d330b975 --- /dev/null +++ b/internal/services/instance/descriptions/snapshot.md @@ -0,0 +1,3 @@ +Creates and manages Scaleway Compute Snapshots. +For more information, +see the [API documentation](https://www.scaleway.com/en/developers/api/instance/#path-snapshots-list-snapshots). \ No newline at end of file diff --git a/internal/services/instance/descriptions/snapshot_datasource.md b/internal/services/instance/descriptions/snapshot_datasource.md new file mode 100644 index 0000000000..5a4838fff4 --- /dev/null +++ b/internal/services/instance/descriptions/snapshot_datasource.md @@ -0,0 +1 @@ +Gets information about an instance snapshot. diff --git a/internal/services/instance/descriptions/user_data.md b/internal/services/instance/descriptions/user_data.md new file mode 100644 index 0000000000..5b587611f4 --- /dev/null +++ b/internal/services/instance/descriptions/user_data.md @@ -0,0 +1,9 @@ +Creates and manages Scaleway compute Instance User Data values. + +User data is a key value store API you can use to provide data from and to your server without authentication. It is the mechanism by which a user can pass information contained in a local file to an Instance at launch time. + +The typical use case is to pass something like a shell script or a configuration file as user data. + +For more information about [user_data](https://www.scaleway.com/en/developers/api/instance/#path-user-data-list-user-data) check [our documentation guide](https://www.scaleway.com/en/docs/compute/instances/how-to/use-boot-modes/#how-to-use-cloud-init). + +About cloud-init documentation please check [the official documentation](https://cloudinit.readthedocs.io/en/latest/). \ No newline at end of file diff --git a/internal/services/instance/descriptions/volume.md b/internal/services/instance/descriptions/volume.md new file mode 100644 index 0000000000..9904e8b31e --- /dev/null +++ b/internal/services/instance/descriptions/volume.md @@ -0,0 +1,2 @@ +Creates and manages Scaleway compute Instance Volumes. +For more information, see the [API documentation](https://www.scaleway.com/en/developers/api/instance/#path-volumes-list-volumes). diff --git a/internal/services/instance/descriptions/volume_data_source.md b/internal/services/instance/descriptions/volume_data_source.md new file mode 100644 index 0000000000..a38ec463ad --- /dev/null +++ b/internal/services/instance/descriptions/volume_data_source.md @@ -0,0 +1 @@ +Gets information about an instance volume. diff --git a/internal/services/instance/image.go b/internal/services/instance/image.go index 2fb3d65c18..cf72040ef7 100644 --- a/internal/services/instance/image.go +++ b/internal/services/instance/image.go @@ -2,6 +2,7 @@ package instance import ( "context" + _ "embed" "fmt" "github.com/hashicorp/terraform-plugin-sdk/v2/diag" @@ -19,8 +20,12 @@ import ( "github.com/scaleway/terraform-provider-scaleway/v2/internal/verify" ) +//go:embed descriptions/image.md +var imageDescription string + func ResourceImage() *schema.Resource { return &schema.Resource{ + Description: imageDescription, CreateContext: ResourceInstanceImageCreate, ReadContext: ResourceInstanceImageRead, UpdateContext: ResourceInstanceImageUpdate, diff --git a/internal/services/instance/image_data_source.go b/internal/services/instance/image_data_source.go index 6cc7d36cb2..77c739c5e8 100644 --- a/internal/services/instance/image_data_source.go +++ b/internal/services/instance/image_data_source.go @@ -2,6 +2,7 @@ package instance import ( "context" + _ "embed" "fmt" "sort" @@ -15,10 +16,14 @@ import ( "github.com/scaleway/terraform-provider-scaleway/v2/internal/types" ) +//go:embed descriptions/image_datasource.md +var imageDataSourceDescription string + func DataSourceImage() *schema.Resource { return &schema.Resource{ ReadContext: DataSourceInstanceImageRead, SchemaFunc: dataSourceImageSchema, + Description: imageDataSourceDescription, } } diff --git a/internal/services/instance/ip.go b/internal/services/instance/ip.go index d098b63613..6eac32ef51 100644 --- a/internal/services/instance/ip.go +++ b/internal/services/instance/ip.go @@ -2,6 +2,7 @@ package instance import ( "context" + _ "embed" "github.com/hashicorp/terraform-plugin-sdk/v2/diag" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" @@ -14,8 +15,12 @@ import ( "github.com/scaleway/terraform-provider-scaleway/v2/internal/verify" ) +//go:embed descriptions/ip.md +var ipDescription string + func ResourceIP() *schema.Resource { return &schema.Resource{ + Description: ipDescription, CreateContext: ResourceInstanceIPCreate, ReadContext: ResourceInstanceIPRead, UpdateContext: ResourceInstanceIPUpdate, diff --git a/internal/services/instance/ip_data_source.go b/internal/services/instance/ip_data_source.go index db35d91219..6875bd369f 100644 --- a/internal/services/instance/ip_data_source.go +++ b/internal/services/instance/ip_data_source.go @@ -2,6 +2,7 @@ package instance import ( "context" + _ "embed" "github.com/hashicorp/terraform-plugin-sdk/v2/diag" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" @@ -15,6 +16,9 @@ import ( "github.com/scaleway/terraform-provider-scaleway/v2/internal/verify" ) +//go:embed descriptions/ip_datasource.md +var ipDataSourceDescription string + func DataSourceIP() *schema.Resource { // Generate datasource schema from resource dsSchema := datasource.SchemaFromResourceSchema(ResourceIP().SchemaFunc()) @@ -38,8 +42,8 @@ func DataSourceIP() *schema.Resource { return &schema.Resource{ ReadContext: DataSourceInstanceIPRead, - - Schema: dsSchema, + Description: ipDataSourceDescription, + Schema: dsSchema, } } diff --git a/internal/services/instance/ip_reverse_dns.go b/internal/services/instance/ip_reverse_dns.go index 02d16dcf73..228e70aa40 100644 --- a/internal/services/instance/ip_reverse_dns.go +++ b/internal/services/instance/ip_reverse_dns.go @@ -2,6 +2,7 @@ package instance import ( "context" + _ "embed" "fmt" "github.com/hashicorp/terraform-plugin-log/tflog" @@ -15,8 +16,12 @@ import ( "github.com/scaleway/terraform-provider-scaleway/v2/internal/locality/zonal" ) +//go:embed descriptions/ip_reverse_dns.md +var ipReverseDnsDescription string + func ResourceIPReverseDNS() *schema.Resource { return &schema.Resource{ + Description: ipReverseDnsDescription, CreateContext: ResourceInstanceIPReverseDNSCreate, ReadContext: ResourceInstanceIPReverseDNSRead, UpdateContext: ResourceInstanceIPReverseDNSUpdate, diff --git a/internal/services/instance/placement_group.go b/internal/services/instance/placement_group.go index 88627228f9..665a269ad6 100644 --- a/internal/services/instance/placement_group.go +++ b/internal/services/instance/placement_group.go @@ -2,6 +2,7 @@ package instance import ( "context" + _ "embed" "github.com/hashicorp/terraform-plugin-sdk/v2/diag" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" @@ -14,8 +15,12 @@ import ( "github.com/scaleway/terraform-provider-scaleway/v2/internal/verify" ) +//go:embed descriptions/placement_group.md +var placementDescription string + func ResourcePlacementGroup() *schema.Resource { return &schema.Resource{ + Description: placementDescription, CreateContext: ResourceInstancePlacementGroupCreate, ReadContext: ResourceInstancePlacementGroupRead, UpdateContext: ResourceInstancePlacementGroupUpdate, diff --git a/internal/services/instance/placement_group_data_source.go b/internal/services/instance/placement_group_data_source.go index bbe594f61b..5ff6ce5fcc 100644 --- a/internal/services/instance/placement_group_data_source.go +++ b/internal/services/instance/placement_group_data_source.go @@ -2,6 +2,7 @@ package instance import ( "context" + _ "embed" "github.com/hashicorp/terraform-plugin-sdk/v2/diag" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" @@ -11,6 +12,9 @@ import ( "github.com/scaleway/terraform-provider-scaleway/v2/internal/verify" ) +//go:embed descriptions/placement_group_datasource.md +var placementGroupDataSourceDescription string + func DataSourcePlacementGroup() *schema.Resource { // Generate datasource schema from resource dsSchema := datasource.SchemaFromResourceSchema(ResourcePlacementGroup().SchemaFunc()) @@ -29,6 +33,7 @@ func DataSourcePlacementGroup() *schema.Resource { return &schema.Resource{ ReadContext: DataSourcePlacementGroupRead, Schema: dsSchema, + Description: placementGroupDataSourceDescription, } } diff --git a/internal/services/instance/private_nic.go b/internal/services/instance/private_nic.go index c9d268c098..3721e6ccaf 100644 --- a/internal/services/instance/private_nic.go +++ b/internal/services/instance/private_nic.go @@ -2,6 +2,7 @@ package instance import ( "context" + _ "embed" "fmt" "github.com/hashicorp/go-cty/cty" @@ -20,8 +21,12 @@ import ( "github.com/scaleway/terraform-provider-scaleway/v2/internal/types" ) +//go:embed descriptions/private_nic.md +var privateNicDescription string + func ResourcePrivateNIC() *schema.Resource { return &schema.Resource{ + Description: privateNicDescription, CreateContext: ResourceInstancePrivateNICCreate, ReadContext: ResourceInstancePrivateNICRead, UpdateContext: ResourceInstancePrivateNICUpdate, diff --git a/internal/services/instance/security_group.go b/internal/services/instance/security_group.go index d1c091727a..87a76be012 100644 --- a/internal/services/instance/security_group.go +++ b/internal/services/instance/security_group.go @@ -2,6 +2,7 @@ package instance import ( "context" + _ "embed" "fmt" "sort" @@ -18,8 +19,12 @@ import ( "github.com/scaleway/terraform-provider-scaleway/v2/internal/verify" ) +//go:embed descriptions/security_group.md +var securityGroupDescription string + func ResourceSecurityGroup() *schema.Resource { return &schema.Resource{ + Description: securityGroupDescription, CreateContext: ResourceInstanceSecurityGroupCreate, ReadContext: ResourceInstanceSecurityGroupRead, UpdateContext: ResourceInstanceSecurityGroupUpdate, diff --git a/internal/services/instance/security_group_data_source.go b/internal/services/instance/security_group_data_source.go index 622e630b61..345f600c8c 100644 --- a/internal/services/instance/security_group_data_source.go +++ b/internal/services/instance/security_group_data_source.go @@ -2,6 +2,7 @@ package instance import ( "context" + _ "embed" "github.com/hashicorp/terraform-plugin-sdk/v2/diag" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" @@ -12,6 +13,9 @@ import ( "github.com/scaleway/terraform-provider-scaleway/v2/internal/verify" ) +//go:embed descriptions/security_group_datasource.md +var securityGroupDataSourceDescription string + func DataSourceSecurityGroup() *schema.Resource { // Generate datasource schema from resource dsSchema := datasource.SchemaFromResourceSchema(ResourceSecurityGroup().SchemaFunc()) @@ -30,8 +34,8 @@ func DataSourceSecurityGroup() *schema.Resource { return &schema.Resource{ ReadContext: DataSourceInstanceSecurityGroupRead, - - Schema: dsSchema, + Description: securityGroupDataSourceDescription, + Schema: dsSchema, } } diff --git a/internal/services/instance/security_group_rules.go b/internal/services/instance/security_group_rules.go index 176eb5f3f9..6579fed48d 100644 --- a/internal/services/instance/security_group_rules.go +++ b/internal/services/instance/security_group_rules.go @@ -2,14 +2,19 @@ package instance import ( "context" + _ "embed" "github.com/hashicorp/terraform-plugin-sdk/v2/diag" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" "github.com/scaleway/terraform-provider-scaleway/v2/internal/httperrors" ) +//go:embed descriptions/security_group_rules.md +var securityGroupRulesDescription string + func ResourceSecurityGroupRules() *schema.Resource { return &schema.Resource{ + Description: securityGroupRulesDescription, CreateContext: ResourceInstanceSecurityGroupRulesCreate, ReadContext: ResourceInstanceSecurityGroupRulesRead, UpdateContext: ResourceInstanceSecurityGroupRulesUpdate, diff --git a/internal/services/instance/server.go b/internal/services/instance/server.go index e654d18298..c012547483 100644 --- a/internal/services/instance/server.go +++ b/internal/services/instance/server.go @@ -3,6 +3,7 @@ package instance import ( "bytes" "context" + _ "embed" "errors" "fmt" "io" @@ -40,8 +41,12 @@ import ( "github.com/scaleway/terraform-provider-scaleway/v2/internal/verify" ) +//go:embed descriptions/server.md +var serverDescription string + func ResourceServer() *schema.Resource { return &schema.Resource{ + Description: serverDescription, CreateContext: ResourceInstanceServerCreate, ReadContext: ResourceInstanceServerRead, UpdateContext: ResourceInstanceServerUpdate, diff --git a/internal/services/instance/server_data_source.go b/internal/services/instance/server_data_source.go index bc944abb3a..38c64ac67b 100644 --- a/internal/services/instance/server_data_source.go +++ b/internal/services/instance/server_data_source.go @@ -2,6 +2,7 @@ package instance import ( "context" + _ "embed" "github.com/hashicorp/terraform-plugin-sdk/v2/diag" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" @@ -12,6 +13,9 @@ import ( "github.com/scaleway/terraform-provider-scaleway/v2/internal/verify" ) +//go:embed descriptions/server_datasource.md +var serverDataSourceDescription string + func DataSourceServer() *schema.Resource { // Generate datasource schema from resource dsSchema := datasource.SchemaFromResourceSchema(ResourceServer().SchemaFunc()) @@ -30,8 +34,8 @@ func DataSourceServer() *schema.Resource { return &schema.Resource{ ReadContext: DataSourceInstanceServerRead, - - Schema: dsSchema, + Description: serverDataSourceDescription, + Schema: dsSchema, } } diff --git a/internal/services/instance/server_type_data_source.go b/internal/services/instance/server_type_data_source.go index 5c3384b97a..b5832b5cd1 100644 --- a/internal/services/instance/server_type_data_source.go +++ b/internal/services/instance/server_type_data_source.go @@ -2,6 +2,7 @@ package instance import ( "context" + _ "embed" "github.com/hashicorp/terraform-plugin-sdk/v2/diag" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" @@ -12,10 +13,14 @@ import ( "github.com/scaleway/terraform-provider-scaleway/v2/internal/meta" ) +//go:embed descriptions/server_type_datasource.md +var serverTypeDescription string + func DataSourceServerType() *schema.Resource { return &schema.Resource{ ReadContext: DataSourceInstanceServerTypeRead, SchemaFunc: serverTypeSchema, + Description: serverTypeDescription, } } diff --git a/internal/services/instance/servers_data_source.go b/internal/services/instance/servers_data_source.go index 77de7339f5..9409dc32c4 100644 --- a/internal/services/instance/servers_data_source.go +++ b/internal/services/instance/servers_data_source.go @@ -2,6 +2,7 @@ package instance import ( "context" + _ "embed" "fmt" "github.com/hashicorp/go-cty/cty" @@ -17,10 +18,14 @@ import ( "github.com/scaleway/terraform-provider-scaleway/v2/internal/types" ) +//go:embed descriptions/servers_datasource.md +var serversDataSourceDescription string + func DataSourceServers() *schema.Resource { return &schema.Resource{ ReadContext: DataSourceInstanceServersRead, SchemaFunc: serversSchema, + Description: serversDataSourceDescription, } } diff --git a/internal/services/instance/snapshot.go b/internal/services/instance/snapshot.go index 205bef73bf..3191358a6a 100644 --- a/internal/services/instance/snapshot.go +++ b/internal/services/instance/snapshot.go @@ -2,6 +2,7 @@ package instance import ( "context" + _ "embed" "fmt" "time" @@ -21,8 +22,12 @@ import ( "github.com/scaleway/terraform-provider-scaleway/v2/internal/verify" ) +//go:embed descriptions/snapshot.md +var snapshotDescription string + func ResourceSnapshot() *schema.Resource { return &schema.Resource{ + Description: snapshotDescription, CreateContext: ResourceInstanceSnapshotCreate, ReadContext: ResourceInstanceSnapshotRead, UpdateContext: ResourceInstanceSnapshotUpdate, diff --git a/internal/services/instance/snapshot_data_source.go b/internal/services/instance/snapshot_data_source.go index 17cb4212c5..5dd41196c9 100644 --- a/internal/services/instance/snapshot_data_source.go +++ b/internal/services/instance/snapshot_data_source.go @@ -2,6 +2,7 @@ package instance import ( "context" + _ "embed" "github.com/hashicorp/terraform-plugin-sdk/v2/diag" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" @@ -12,6 +13,9 @@ import ( "github.com/scaleway/terraform-provider-scaleway/v2/internal/verify" ) +//go:embed descriptions/snapshot_datasource.md +var snapshotDataSourceDescription string + func DataSourceSnapshot() *schema.Resource { // Generate datasource schema from resource dsSchema := datasource.SchemaFromResourceSchema(ResourceSnapshot().SchemaFunc()) @@ -31,6 +35,7 @@ func DataSourceSnapshot() *schema.Resource { return &schema.Resource{ ReadContext: DataSourceInstanceSnapshotRead, Schema: dsSchema, + Description: snapshotDataSourceDescription, } } diff --git a/internal/services/instance/user_data.go b/internal/services/instance/user_data.go index 07e5802228..5d6132309f 100644 --- a/internal/services/instance/user_data.go +++ b/internal/services/instance/user_data.go @@ -3,6 +3,7 @@ package instance import ( "bytes" "context" + _ "embed" "io" "github.com/hashicorp/terraform-plugin-sdk/v2/diag" @@ -16,8 +17,12 @@ import ( "github.com/scaleway/terraform-provider-scaleway/v2/internal/verify" ) +//go:embed descriptions/user_data.md +var userDataDescription string + func ResourceUserData() *schema.Resource { return &schema.Resource{ + Description: userDataDescription, CreateContext: ResourceInstanceUserDataCreate, ReadContext: ResourceInstanceUserDataRead, UpdateContext: ResourceInstanceUserDataUpdate, diff --git a/internal/services/instance/volume.go b/internal/services/instance/volume.go index fce830f9aa..c12bf4be4d 100644 --- a/internal/services/instance/volume.go +++ b/internal/services/instance/volume.go @@ -2,6 +2,7 @@ package instance import ( "context" + _ "embed" "errors" "fmt" @@ -21,8 +22,12 @@ import ( "github.com/scaleway/terraform-provider-scaleway/v2/internal/verify" ) +//go:embed descriptions/volume.md +var volumeDescription string + func ResourceVolume() *schema.Resource { return &schema.Resource{ + Description: volumeDescription, CreateContext: ResourceInstanceVolumeCreate, ReadContext: ResourceInstanceVolumeRead, UpdateContext: ResourceInstanceVolumeUpdate, diff --git a/internal/services/instance/volume_data_source.go b/internal/services/instance/volume_data_source.go index 19c199fb96..280227f9a1 100644 --- a/internal/services/instance/volume_data_source.go +++ b/internal/services/instance/volume_data_source.go @@ -2,6 +2,7 @@ package instance import ( "context" + _ "embed" "github.com/hashicorp/terraform-plugin-sdk/v2/diag" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" @@ -12,6 +13,9 @@ import ( "github.com/scaleway/terraform-provider-scaleway/v2/internal/verify" ) +//go:embed descriptions/volume_data_source.md +var volumeDataSourceDescription string + func DataSourceVolume() *schema.Resource { // Generate datasource schema from resource dsSchema := datasource.SchemaFromResourceSchema(ResourceVolume().SchemaFunc()) @@ -31,6 +35,7 @@ func DataSourceVolume() *schema.Resource { return &schema.Resource{ ReadContext: DataSourceInstanceVolumeRead, Schema: dsSchema, + Description: volumeDataSourceDescription, } } diff --git a/templates/data-sources/instance_image.md.tmpl b/templates/data-sources/instance_image.md.tmpl index eec6aff1bc..44d8a934c5 100644 --- a/templates/data-sources/instance_image.md.tmpl +++ b/templates/data-sources/instance_image.md.tmpl @@ -5,7 +5,7 @@ page_title: "Scaleway: scaleway_instance_image" # scaleway_instance_image -Gets information about an instance image. +{{ .Description }} ## Example Usage diff --git a/templates/data-sources/instance_ip.md.tmpl b/templates/data-sources/instance_ip.md.tmpl index ddd6f124a1..71e5cee165 100644 --- a/templates/data-sources/instance_ip.md.tmpl +++ b/templates/data-sources/instance_ip.md.tmpl @@ -5,7 +5,7 @@ page_title: "Scaleway: scaleway_instance_ip" # scaleway_instance_ip -Gets information about an instance IP. +{{ .Description }} ## Example Usage diff --git a/templates/data-sources/instance_placement_group.md.tmpl b/templates/data-sources/instance_placement_group.md.tmpl index 575ef6e4e5..4fd4cb4b99 100644 --- a/templates/data-sources/instance_placement_group.md.tmpl +++ b/templates/data-sources/instance_placement_group.md.tmpl @@ -5,7 +5,7 @@ page_title: "Scaleway: scaleway_instance_placement_group" # scaleway_instance_placement_group -Gets information about a Security Group. +{{ .Description }} ## Example Usage diff --git a/templates/data-sources/instance_private_nic.md.tmpl b/templates/data-sources/instance_private_nic.md.tmpl index b7a7bcfabe..e61c945395 100644 --- a/templates/data-sources/instance_private_nic.md.tmpl +++ b/templates/data-sources/instance_private_nic.md.tmpl @@ -5,7 +5,7 @@ page_title: "Scaleway: scaleway_instance_private_nic" # scaleway_instance_private_nic -Gets information about an instance private NIC. +{{ .Description }} ## Example Usage diff --git a/templates/data-sources/instance_security_group.md.tmpl b/templates/data-sources/instance_security_group.md.tmpl index b2c3a15131..4b4d5eac7e 100644 --- a/templates/data-sources/instance_security_group.md.tmpl +++ b/templates/data-sources/instance_security_group.md.tmpl @@ -5,7 +5,7 @@ page_title: "Scaleway: scaleway_instance_security_group" # scaleway_instance_security_group -Gets information about a Security Group. +{{ .Description }} ## Example Usage diff --git a/templates/data-sources/instance_server.md.tmpl b/templates/data-sources/instance_server.md.tmpl index e844c4c57e..0f69361efe 100644 --- a/templates/data-sources/instance_server.md.tmpl +++ b/templates/data-sources/instance_server.md.tmpl @@ -5,7 +5,7 @@ page_title: "Scaleway: scaleway_instance_server" # scaleway_instance_server -Gets information about an instance server. +{{ .Description }} ## Example Usage diff --git a/templates/data-sources/instance_server_type.md.tmpl b/templates/data-sources/instance_server_type.md.tmpl index 4b8db6e4eb..9fdb75420f 100644 --- a/templates/data-sources/instance_server_type.md.tmpl +++ b/templates/data-sources/instance_server_type.md.tmpl @@ -5,7 +5,7 @@ page_title: "Scaleway: scaleway_instance_server_type" # scaleway_instance_server_type -Gets information about a server type. +{{ .Description }} ## Example Usage diff --git a/templates/data-sources/instance_servers.md.tmpl b/templates/data-sources/instance_servers.md.tmpl index 506080b8a1..7782764a0a 100644 --- a/templates/data-sources/instance_servers.md.tmpl +++ b/templates/data-sources/instance_servers.md.tmpl @@ -5,7 +5,7 @@ page_title: "Scaleway: scaleway_instance_servers" # scaleway_instance_servers -Gets information about multiple instance servers. +{{ .Description }} ## Examples diff --git a/templates/data-sources/instance_snapshot.md.tmpl b/templates/data-sources/instance_snapshot.md.tmpl index 151f85f940..6d1df27a2b 100644 --- a/templates/data-sources/instance_snapshot.md.tmpl +++ b/templates/data-sources/instance_snapshot.md.tmpl @@ -5,7 +5,7 @@ page_title: "Scaleway: scaleway_instance_snapshot" # scaleway_instance_snapshot -Gets information about an instance snapshot. +{{ .Description }} ## Example Usage diff --git a/templates/data-sources/instance_volume.md.tmpl b/templates/data-sources/instance_volume.md.tmpl index 619354896f..09a46ceb2a 100644 --- a/templates/data-sources/instance_volume.md.tmpl +++ b/templates/data-sources/instance_volume.md.tmpl @@ -5,7 +5,7 @@ page_title: "Scaleway: scaleway_instance_volume" # scaleway_instance_volume -Gets information about an instance volume. +{{ .Description }} ## Example Usage diff --git a/templates/resources/instance_image.md.tmpl b/templates/resources/instance_image.md.tmpl index b070423f99..1573b90d3c 100644 --- a/templates/resources/instance_image.md.tmpl +++ b/templates/resources/instance_image.md.tmpl @@ -6,8 +6,7 @@ page_title: "Scaleway: scaleway_instance_image" # Resource: scaleway_instance_image -Creates and manages Scaleway Compute Images. -For more information, see the [API documentation](https://www.scaleway.com/en/developers/api/instance/#path-images-list-instance-images). +{{ .Description }} ## Example Usage diff --git a/templates/resources/instance_ip.md.tmpl b/templates/resources/instance_ip.md.tmpl index bf8fb78d7c..66406b445f 100644 --- a/templates/resources/instance_ip.md.tmpl +++ b/templates/resources/instance_ip.md.tmpl @@ -6,7 +6,7 @@ page_title: "Scaleway: scaleway_instance_ip" # Resource: scaleway_instance_ip -Creates and manages Scaleway compute Instance IPs. For more information, see the [API documentation](https://www.scaleway.com/en/developers/api/instance/#path-ips-list-all-flexible-ips). +{{ .Description }} ## Example Usage diff --git a/templates/resources/instance_ip_reverse_dns.md.tmpl b/templates/resources/instance_ip_reverse_dns.md.tmpl index c965de09d1..26db9388a9 100644 --- a/templates/resources/instance_ip_reverse_dns.md.tmpl +++ b/templates/resources/instance_ip_reverse_dns.md.tmpl @@ -6,9 +6,7 @@ page_title: "Scaleway: scaleway_instance_ip_reverse_dns" # Resource: scaleway_instance_ip_reverse_dns -Manages Scaleway compute Instance IPs Reverse DNS. - -Please check our [guide](https://www.scaleway.com/en/docs/compute/instances/how-to/configure-reverse-dns/) for more details +{{ .Description }} ## Example Usage diff --git a/templates/resources/instance_placement_group.md.tmpl b/templates/resources/instance_placement_group.md.tmpl index 1549b6c488..5a50e381d4 100644 --- a/templates/resources/instance_placement_group.md.tmpl +++ b/templates/resources/instance_placement_group.md.tmpl @@ -6,7 +6,7 @@ page_title: "Scaleway: scaleway_instance_placement_group" # Resource: scaleway_instance_placement_group -Creates and manages Compute Instance Placement Groups. For more information, see the [API documentation](https://www.scaleway.com/en/developers/api/instance/#path-placement-groups-list-placement-groups). +{{ .Description }} ## Example Usage diff --git a/templates/resources/instance_private_nic.md.tmpl b/templates/resources/instance_private_nic.md.tmpl index bbd30989cb..de31e3648f 100644 --- a/templates/resources/instance_private_nic.md.tmpl +++ b/templates/resources/instance_private_nic.md.tmpl @@ -6,8 +6,7 @@ page_title: "Scaleway: scaleway_instance_private_nic" # Resource: scaleway_instance_private_nic -Creates and manages Scaleway Instance Private NICs. For more information, see -the [API documentation](https://www.scaleway.com/en/developers/api/instance/#path-private-nics-list-all-private-nics). +{{ .Description }} ## Example Usage diff --git a/templates/resources/instance_security_group.md.tmpl b/templates/resources/instance_security_group.md.tmpl index fda786b6ff..b668f095ca 100644 --- a/templates/resources/instance_security_group.md.tmpl +++ b/templates/resources/instance_security_group.md.tmpl @@ -6,7 +6,7 @@ page_title: "Scaleway: scaleway_instance_security_group" # Resource: scaleway_instance_security_group -Creates and manages Scaleway compute Instance security groups. For more information, see the [API documentation](https://www.scaleway.com/en/developers/api/instance/#path-security-groups-list-security-groups). +{{ .Description }} ## Example Usage diff --git a/templates/resources/instance_security_group_rules.md.tmpl b/templates/resources/instance_security_group_rules.md.tmpl index 0774623c7b..d59b7c50c8 100644 --- a/templates/resources/instance_security_group_rules.md.tmpl +++ b/templates/resources/instance_security_group_rules.md.tmpl @@ -6,11 +6,7 @@ page_title: "Scaleway: scaleway_instance_security_group_rules" # Resource: scaleway_instance_security_group_rules -Creates and manages Scaleway compute Instance security group rules. For more information, see the [API documentation](https://www.scaleway.com/en/developers/api/instance/#path-security-groups-list-security-groups). - -This resource can be used to externalize rules from a `scaleway_instance_security_group` to solve circular dependency problems. When using this resource do not forget to set `external_rules = true` on the security group. - -~> **Warning:** In order to guaranty rules order in a given security group only one scaleway_instance_security_group_rules is allowed per security group. +{{ .Description }} ## Example Usage diff --git a/templates/resources/instance_server.md.tmpl b/templates/resources/instance_server.md.tmpl index 3be832f005..bfd15959bf 100644 --- a/templates/resources/instance_server.md.tmpl +++ b/templates/resources/instance_server.md.tmpl @@ -6,9 +6,7 @@ page_title: "Scaleway: scaleway_instance_server" # Resource: scaleway_instance_server -Creates and manages Scaleway compute Instances. For more information, see the [API documentation](https://www.scaleway.com/en/developers/api/instance/#path-instances-list-all-instances). - -Please check our [FAQ - Instances](https://www.scaleway.com/en/docs/faq/instances). +{{ .Description }} ## Example Usage diff --git a/templates/resources/instance_snapshot.md.tmpl b/templates/resources/instance_snapshot.md.tmpl index c35950afa7..16e6d2396f 100644 --- a/templates/resources/instance_snapshot.md.tmpl +++ b/templates/resources/instance_snapshot.md.tmpl @@ -6,9 +6,7 @@ page_title: "Scaleway: scaleway_instance_snapshot" # Resource: scaleway_instance_snapshot -Creates and manages Scaleway Compute Snapshots. -For more information, -see the [API documentation](https://www.scaleway.com/en/developers/api/instance/#path-snapshots-list-snapshots). +{{ .Description }} ## Example Usage diff --git a/templates/resources/instance_user_data.md.tmpl b/templates/resources/instance_user_data.md.tmpl index 33d1118812..005d50231e 100644 --- a/templates/resources/instance_user_data.md.tmpl +++ b/templates/resources/instance_user_data.md.tmpl @@ -6,15 +6,7 @@ page_title: "Scaleway: scaleway_instance_user_data" # Resource: scaleway_instance_user_data -Creates and manages Scaleway compute Instance User Data values. - -User data is a key value store API you can use to provide data from and to your server without authentication. It is the mechanism by which a user can pass information contained in a local file to an Instance at launch time. - -The typical use case is to pass something like a shell script or a configuration file as user data. - -For more information about [user_data](https://www.scaleway.com/en/developers/api/instance/#path-user-data-list-user-data) check [our documentation guide](https://www.scaleway.com/en/docs/compute/instances/how-to/use-boot-modes/#how-to-use-cloud-init). - -About cloud-init documentation please check [the official documentation](https://cloudinit.readthedocs.io/en/latest/). +{{ .Description }} ## Example Usage diff --git a/templates/resources/instance_volume.md.tmpl b/templates/resources/instance_volume.md.tmpl index ebd08a622f..ed93dc7a4e 100644 --- a/templates/resources/instance_volume.md.tmpl +++ b/templates/resources/instance_volume.md.tmpl @@ -6,8 +6,7 @@ page_title: "Scaleway: scaleway_instance_volume" # Resource: scaleway_instance_volume -Creates and manages Scaleway compute Instance Volumes. -For more information, see the [API documentation](https://www.scaleway.com/en/developers/api/instance/#path-volumes-list-volumes). +{{.Description }} ## Example Usage