Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ディスクリソースの項目長エラーについて #1170

Open
fuchigami-strander opened this issue Jul 11, 2024 · 3 comments
Open

ディスクリソースの項目長エラーについて #1170

fuchigami-strander opened this issue Jul 11, 2024 · 3 comments
Assignees

Comments

@fuchigami-strander
Copy link

下記のようなシンプルなmain.tfファイルを作成し、

terraform {
  required_providers {
    sakuracloud = {
      source = "sacloud/sakuracloud"
      version = "2.25.0"
    }
  }
}
resource "sakuracloud_disk" "disk01"{
  name = "あいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいう"
  plan = "hdd"
  size = "100"
}

terraform plan を実行すると下記のようにエラーが発生します。

╷
│ Error: expected length of name to be in the range (1 - 64), got あいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいう
│
│   with sakuracloud_disk.disk01,
│   on main.tf line 10, in resource "sakuracloud_disk" "disk01":
│   10:   name = "あいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいう"
│
╵

同名のディスクをさくらクラウドの管理画面から作成すると、文字数エラーは発生しません。

プラグイン内でのバリデートで64文字ではなく64bytesとして取り扱いされているのではないかと推測しています。
ご確認をお願いいたします。

(Terraformのプラグインのコーディングついて知識がないのですが、私もできる限り該当箇所を探してみようと思います。)

@fuchigami-strander
Copy link
Author

fuchigami-strander commented Jul 11, 2024

私、TerraformのプラグインにもGO言語にも明るくないため、
見当外れだったら申し訳ないのですが、

こちらから

ValidateDiagFunc: validation.ToDiagFunc(validation.StringLenBetween(1, 64)),

この関数を呼び出しており、関数内で len() によって長さをチェックしているように推測しました
https://github.com/hashicorp/terraform-plugin-sdk/blob/main/helper/validation/strings.go#L74

下記情報によると、len() が文字数ではなくバイト数を返すため、
https://zenn.dev/masafumi330/articles/3286ccbad98892

さくらのクラウド管理画面でのバリデーションと食い違っているのではないかと予想しております。
お手数ですが、ご確認のほどよろしくお願いいたします。

@lvctr
Copy link
Member

lvctr commented Jul 11, 2024

Issue投稿と問題箇所のピンポイントまでありがとうございます。
対応いたしますので少々お待ちいただけると幸いです。
よろしくお願いします。

@lvctr lvctr self-assigned this Jul 11, 2024
@fuchigami-strander
Copy link
Author

早々にレスポンスいただきありがとうございます。
私の記載した情報が、少しでも調査の役に立っていれば幸いです。

続報のほど、お待ちしております。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants