Repository: sacloud/usacloud
Pull request #888 (2022-03-30 01:30:06)

libsacloudからiaas-service-goへの切り替え
#887 の後続PR

libsacloudの後続プロジェクト群への切り替え

- sacloud/iaas-api-go
- sacloud/iaas-service-go
- sacloud/api-client-go
- sacloud/packages-go

ユーザーへの影響はほぼ無く、実装の修正も軽微。

Note: このPRはiaas-xxx-goへのフィードバックも目的としている。
フィードバックを反映したiaas-xxx.goのv1系がリリースされるまでマージを保留する。

===UPDATED===

sacloud/iaas-service-go@v1.0.0へアップグレード済み


Patch:
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 6117aea3..e41d4b22 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,10 +1,14 @@
 # Changelog
 
+# v1.8.0 (Unreleased) 
+
+  * libsacloudからiaas-service-goへの切り替え #888 (@yamamoto-febc)
+
 # v1.7.1 (2022-01-27)
 
 MISC:
   * libsacloud v2.32.1 - Removed some os-types: freebsd and coreos #883 (@yamamoto-febc)
-  * Upgrade dependenceis - misc #884 (@yamamoto-febc)
+  * Upgrade dependencies - misc #884 (@yamamoto-febc)
   * Upgrade dependencies - github.com/spf13/cobra v1.3.0 #885 (@yamamoto-febc)
 
 # 1.7.0 (2021-12-27)
diff --git a/go.mod b/go.mod
index 9ab35c59..ca97b0bc 100644
--- a/go.mod
+++ b/go.mod
@@ -7,7 +7,7 @@ require (
 	github.com/fatih/color v1.13.0
 	github.com/fatih/structs v1.1.0
 	github.com/ghodss/yaml v1.0.1-0.20190212211648-25d852aebe32
-	github.com/go-playground/validator/v10 v10.9.0
+	github.com/go-playground/validator/v10 v10.10.1
 	github.com/hashicorp/go-version v1.2.1
 	github.com/hokaccha/go-prettyjson v0.0.0-20210113012101-fb4e108d2519
 	github.com/huandu/xstrings v1.3.0
@@ -18,26 +18,30 @@ require (
 	github.com/mitchellh/go-homedir v1.1.0
 	github.com/olekukonko/tablewriter v0.0.5
 	github.com/rhysd/go-github-selfupdate v1.2.3
-	github.com/sacloud/go-http v0.0.4
-	github.com/sacloud/libsacloud/v2 v2.32.1
+	github.com/sacloud/api-client-go v0.1.0
+	github.com/sacloud/go-http v0.1.0
+	github.com/sacloud/iaas-api-go v1.0.0
+	github.com/sacloud/iaas-service-go v1.0.0
+	github.com/sacloud/packages-go v0.0.2
 	github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966
 	github.com/spf13/cobra v1.3.0
 	github.com/spf13/pflag v1.0.5
-	github.com/stretchr/testify v1.7.0
-	golang.org/x/crypto v0.0.0-20210817164053-32db794688a5
+	github.com/stretchr/testify v1.7.1
+	golang.org/x/crypto v0.0.0-20220214200702-86341886e292
 )
 
 require (
 	github.com/andres-erbsen/clock v0.0.0-20160526145045-9e14626cd129 // indirect
 	github.com/davecgh/go-spew v1.1.1 // indirect
-	github.com/felixge/httpsnoop v1.0.2 // indirect
 	github.com/fsnotify/fsnotify v1.5.1 // indirect
 	github.com/go-playground/locales v0.14.0 // indirect
 	github.com/go-playground/universal-translator v0.18.0 // indirect
 	github.com/golang/protobuf v1.5.2 // indirect
 	github.com/google/go-github/v30 v30.1.0 // indirect
 	github.com/google/go-querystring v1.0.0 // indirect
+	github.com/hashicorp/errwrap v1.0.0 // indirect
 	github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
+	github.com/hashicorp/go-multierror v1.1.1 // indirect
 	github.com/hashicorp/go-retryablehttp v0.7.0 // indirect
 	github.com/inconshreveable/go-update v0.0.0-20160112193335-8152e7eb6ccf // indirect
 	github.com/inconshreveable/mousetrap v1.0.0 // indirect
@@ -49,14 +53,8 @@ require (
 	github.com/sacloud/ftps v1.1.0 // indirect
 	github.com/tcnksm/go-gitconfig v0.1.2 // indirect
 	github.com/ulikunitz/xz v0.5.9 // indirect
-	go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.27.0 // indirect
-	go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.27.0 // indirect
-	go.opentelemetry.io/otel v1.2.0 // indirect
-	go.opentelemetry.io/otel/internal/metric v0.25.0 // indirect
-	go.opentelemetry.io/otel/metric v0.25.0 // indirect
-	go.opentelemetry.io/otel/trace v1.2.0 // indirect
 	go.uber.org/ratelimit v0.2.0 // indirect
-	golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d // indirect
+	golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2 // indirect
 	golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8 // indirect
 	golang.org/x/sys v0.0.0-20211205182925-97ca703d548d // indirect
 	golang.org/x/text v0.3.7 // indirect
diff --git a/go.sum b/go.sum
index 0734dcc0..52a274da 100644
--- a/go.sum
+++ b/go.sum
@@ -113,8 +113,6 @@ github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w=
 github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk=
 github.com/fatih/structs v1.1.0 h1:Q7juDM0QtcnhCpeyLGQKyg4TOIghuNXrkL32pHAUMxo=
 github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M=
-github.com/felixge/httpsnoop v1.0.2 h1:+nS9g82KMXccJ/wp0zyRW9ZBHFETmMGtkk+2CTTrW4o=
-github.com/felixge/httpsnoop v1.0.2/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=
 github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
 github.com/fsnotify/fsnotify v1.5.1 h1:mZcQUHVQUQWoPXXtuf9yuEXKudkV2sx1E06UadKWpgI=
 github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU=
@@ -134,8 +132,8 @@ github.com/go-playground/locales v0.14.0 h1:u50s323jtVGugKlcYeyzC0etD1HifMjqmJqb
 github.com/go-playground/locales v0.14.0/go.mod h1:sawfccIbzZTqEDETgFXqTho0QybSa7l++s0DH+LDiLs=
 github.com/go-playground/universal-translator v0.18.0 h1:82dyy6p4OuJq4/CByFNOn/jYrnRPArHwAcmLoJZxyho=
 github.com/go-playground/universal-translator v0.18.0/go.mod h1:UvRDBj+xPUEGrFYl+lu/H90nyDXpg0fqeB/AQUGNTVA=
-github.com/go-playground/validator/v10 v10.9.0 h1:NgTtmN58D0m8+UuxtYmGztBJB7VnPgjj221I1QHci2A=
-github.com/go-playground/validator/v10 v10.9.0/go.mod h1:74x4gJWsvQexRdW8Pn3dXSGrTK4nAUsbPlLADvpJkos=
+github.com/go-playground/validator/v10 v10.10.1 h1:uA0+amWMiglNZKZ9FJRKUAe9U3RX91eVn1JYXMWt7ig=
+github.com/go-playground/validator/v10 v10.10.1/go.mod h1:i+3WkQ1FvaUjjxh1kSvIA4dMGDBiPU55YFDl0WbKdWU=
 github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
 github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
 github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
@@ -329,7 +327,6 @@ github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrk
 github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI=
 github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
 github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
-github.com/mitchellh/mapstructure v1.4.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
 github.com/mitchellh/mapstructure v1.4.3 h1:OVowDSCllw/YjdLkam3/sm7wEtOy59d8ndGgCcyj8cs=
 github.com/mitchellh/mapstructure v1.4.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
 github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
@@ -375,12 +372,18 @@ github.com/rogpeppe/go-internal v1.8.0 h1:FCbCCtXNOY3UtUuHUYaghJg4y7Fd14rXifAYUA
 github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6poM+XZ2dLUbcbE=
 github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
 github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts=
+github.com/sacloud/api-client-go v0.1.0 h1:QaQ3t6sXFRWNOrlt0TqgSiaxMLgdRrzW/QwUgINs2Ak=
+github.com/sacloud/api-client-go v0.1.0/go.mod h1:quL3jHxQMydMLpQPaZLwMdjIWTfZsXmAr9Hu0YEM5kM=
 github.com/sacloud/ftps v1.1.0 h1:cYv+b6qhrIT8msfx64XXRJzbv5S+Dqwb/rXa5Y641XA=
 github.com/sacloud/ftps v1.1.0/go.mod h1:h4awhOi3PEyhKLj1FpXjoVV5yVkmRUU+d5L95EwX2JU=
-github.com/sacloud/go-http v0.0.4 h1:+vgx/uCctcGiHMe8jE+qirMKd3+d73MNZXK7nrUo0po=
-github.com/sacloud/go-http v0.0.4/go.mod h1:aYTXNuAnPmD6Ar3ktDaR1gPxJCPv2CqpppcYciy1hmo=
-github.com/sacloud/libsacloud/v2 v2.32.1 h1:FpdKaQrIQlt5Q9gB71je6gfMAd803RyZPRedrnTVpP4=
-github.com/sacloud/libsacloud/v2 v2.32.1/go.mod h1:QDsX+iHidP+o/AfOHvl44oeQew3cdfgoswqP2dQy2tk=
+github.com/sacloud/go-http v0.1.0 h1:aJehFqD+zprlUjCcmI+rZxxS7mA0f6wCyhGYWDMs4BU=
+github.com/sacloud/go-http v0.1.0/go.mod h1:aYTXNuAnPmD6Ar3ktDaR1gPxJCPv2CqpppcYciy1hmo=
+github.com/sacloud/iaas-api-go v1.0.0 h1:Je52jGGgO9EcYIIL8tXWktbGigB8VTqjBfCuCxV3OBI=
+github.com/sacloud/iaas-api-go v1.0.0/go.mod h1:1Z4TS6WzE68pinZ1fDrZlU1uw5aefjbP8bzD/W1durE=
+github.com/sacloud/iaas-service-go v1.0.0 h1:3hn95MSaaR/AOcNq8hyBcqBBoQyveQoz41xQmWNtLr0=
+github.com/sacloud/iaas-service-go v1.0.0/go.mod h1:6p+7O7V9SNKs0l5JSNZWdPokdi36UWi9V4RO0swTUV0=
+github.com/sacloud/packages-go v0.0.2 h1:tvA/V8tjzaCeuQQVwby1Olq6RmjMI/LEdAe65+qcpYM=
+github.com/sacloud/packages-go v0.0.2/go.mod h1:Eny1qnbKr9n/5yfXDiwOC+0YMiBhK1HBYGjjmxes+CI=
 github.com/sagikazarmark/crypt v0.3.0/go.mod h1:uD/D+6UF4SrIR1uGEv7bBNkNqLGqUr43MRiaGWX1Nig=
 github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc=
 github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
@@ -404,8 +407,9 @@ github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UV
 github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
 github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
 github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
-github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY=
 github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
+github.com/stretchr/testify v1.7.1 h1:5TQK59W5E3v0r2duFAb7P95B6hEeOyEnHRa8MjYSMTY=
+github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
 github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw=
 github.com/tcnksm/go-gitconfig v0.1.2 h1:iiDhRitByXAEyjgBqsKi9QU4o2TNtv9kPP3RgPgXBPw=
 github.com/tcnksm/go-gitconfig v0.1.2/go.mod h1:/8EhP4H7oJZdIPyT+/UIsG87kTzrzM4UsLGSItWYCpE=
@@ -427,24 +431,6 @@ go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
 go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
 go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk=
 go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E=
-go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.27.0 h1:nRDcjc7n74W/iSbxx4jrfYOntPVZVOHRruDNr3u4BQ8=
-go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.27.0/go.mod h1:kNGbEMLCJh2E9NG5MO1yPDhnH1ckrEhS/p5/FPb6w48=
-go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.27.0 h1:0BgiNWjN7rUWO9HdjF4L12r8OW86QkVQcYmCjnayJLo=
-go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.27.0/go.mod h1:bdvm3YpMxWAgEfQhtTBaVR8ceXPRuRBSQrvOBnIlHxc=
-go.opentelemetry.io/otel v1.2.0 h1:YOQDvxO1FayUcT9MIhJhgMyNO1WqoduiyvQHzGN0kUQ=
-go.opentelemetry.io/otel v1.2.0/go.mod h1:aT17Fk0Z1Nor9e0uisf98LrntPGMnk4frBO9+dkf69I=
-go.opentelemetry.io/otel/exporters/jaeger v1.2.0 h1:C/5Egj3MJBXRJi22cSl07suqPqtZLnLFmH//OxETUEc=
-go.opentelemetry.io/otel/exporters/jaeger v1.2.0/go.mod h1:KJLFbEMKTNPIfOxcg/WikIozEoKcPgJRz3Ce1vLlM8E=
-go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.2.0 h1:OiYdrCq1Ctwnovp6EofSPwlp5aGy4LgKNbkg7PtEUw8=
-go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.2.0/go.mod h1:DUFCmFkXr0VtAHl5Zq2JRx24G6ze5CAq8YfdD36RdX8=
-go.opentelemetry.io/otel/internal/metric v0.25.0 h1:w/7RXe16WdPylaIXDgcYM6t/q0K5lXgSdZOEbIEyliE=
-go.opentelemetry.io/otel/internal/metric v0.25.0/go.mod h1:Nhuw26QSX7d6n4duoqAFi5KOQR4AuzyMcl5eXOgwxtc=
-go.opentelemetry.io/otel/metric v0.25.0 h1:7cXOnCADUsR3+EOqxPaSKwhEuNu0gz/56dRN1hpIdKw=
-go.opentelemetry.io/otel/metric v0.25.0/go.mod h1:E884FSpQfnJOMMUaq+05IWlJ4rjZpk2s/F1Ju+TEEm8=
-go.opentelemetry.io/otel/sdk v1.2.0 h1:wKN260u4DesJYhyjxDa7LRFkuhH7ncEVKU37LWcyNIo=
-go.opentelemetry.io/otel/sdk v1.2.0/go.mod h1:jNN8QtpvbsKhgaC6V5lHiejMoKD+V8uadoSafgHPx1U=
-go.opentelemetry.io/otel/trace v1.2.0 h1:Ys3iqbqZhcf28hHzrm5WAquMkDHNZTUkw7KHbuNjej0=
-go.opentelemetry.io/otel/trace v1.2.0/go.mod h1:N5FLswTubnxKxOJHM7XZC074qpeEdLy3CgAVsdMucK0=
 go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI=
 go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw=
 go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
@@ -462,9 +448,10 @@ golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod h1:/lpIB1dKB+9EgE3
 golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
 golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
 golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I=
-golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
-golang.org/x/crypto v0.0.0-20210817164053-32db794688a5 h1:HWj/xjIHfjYU5nVXpTM0s39J9CbLn7Cc5a7IC5rwsMQ=
 golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
+golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
+golang.org/x/crypto v0.0.0-20220214200702-86341886e292 h1:f+lwQ+GtmgoY+A2YaQxlSOnDjXcQ7ZRLWOHbC6HtRqE=
+golang.org/x/crypto v0.0.0-20220214200702-86341886e292/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
 golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
 golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
 golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
@@ -542,8 +529,9 @@ golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLd
 golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
 golang.org/x/net v0.0.0-20210410081132-afb366fc7cd1/go.mod h1:9tjilg8BloeKEkVJvy7fQ90B1CfIiPueXVOjqfkSzI8=
 golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
-golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d h1:LO7XpTYMwTqxjLcGWPijK3vRXg1aWdlNOVOHRq45d7c=
 golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
+golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2 h1:CIJ76btIcR3eFI5EgSo6k1qKw9KJexJuRLI9G7Hp5wE=
+golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
 golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
 golang.org/x/oauth2 v0.0.0-20181106182150-f42d05182288/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
 golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
@@ -626,7 +614,6 @@ golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7w
 golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20210603125802-9665404d3644/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
diff --git a/pkg/cli/context.go b/pkg/cli/context.go
index 2d816553..2ef109f4 100644
--- a/pkg/cli/context.go
+++ b/pkg/cli/context.go
@@ -21,9 +21,10 @@ import (
 	"net/http"
 	"time"
 
-	"github.com/sacloud/libsacloud/v2/helper/api"
-	"github.com/sacloud/libsacloud/v2/sacloud"
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
+	client "github.com/sacloud/api-client-go"
+	"github.com/sacloud/iaas-api-go"
+	"github.com/sacloud/iaas-api-go/helper/api"
+	"github.com/sacloud/iaas-api-go/types"
 	"github.com/sacloud/usacloud/pkg/config"
 	"github.com/sacloud/usacloud/pkg/output"
 	"github.com/sacloud/usacloud/pkg/validate"
@@ -33,7 +34,7 @@ import (
 type Context interface {
 	Option() *config.Config
 	Output() output.Output
-	Client() sacloud.APICaller
+	Client() iaas.APICaller
 	IO() IO
 	context.Context
 
@@ -57,6 +58,7 @@ type cliContext struct {
 	output    output.Output
 	cliIO     IO
 	args      []string
+	client    iaas.APICaller
 
 	resourceName string
 	commandName  string
@@ -74,7 +76,7 @@ func NewCLIContext(resourceName, commandName string, globalFlags *pflag.FlagSet,
 	// initialize validator with contextual values
 	validate.InitializeValidator(option.Zones)
 
-	return &cliContext{
+	cliCtx := &cliContext{
 		parentCtx:    ctx,
 		option:       option,
 		output:       getOutputWriter(io, option, columnDefs, parameter),
@@ -82,7 +84,10 @@ func NewCLIContext(resourceName, commandName string, globalFlags *pflag.FlagSet,
 		commandName:  commandName,
 		cliIO:        io,
 		args:         args,
-	}, cancel, nil
+	}
+
+	cliCtx.initAPIClient()
+	return cliCtx, cancel, nil
 }
 
 func (c *cliContext) IO() IO {
@@ -126,37 +131,44 @@ func (c *cliContext) WithResource(id types.ID, zone string, resource interface{}
 		args:         c.args,
 		resourceName: c.resourceName,
 		commandName:  c.commandName,
+		client:       c.client,
 		resource:     ResourceContext{ID: id, Zone: zone, Resource: resource},
 	}
 }
 
-func (c *cliContext) Client() sacloud.APICaller {
+func (c *cliContext) initAPIClient() {
 	o := c.Option()
 	if o.FakeMode {
 		// libsacloud fakeドライバはlogパッケージにシステムログを出すがusacloudからは利用しないため出力を抑制する
 		log.SetOutput(io.Discard)
 	}
 
-	return api.NewCaller(&api.CallerOptions{
-		AccessToken:          o.AccessToken,
-		AccessTokenSecret:    o.AccessTokenSecret,
-		APIRootURL:           o.APIRootURL,
-		DefaultZone:          o.DefaultZone,
-		AcceptLanguage:       o.AcceptLanguage,
-		HTTPClient:           http.DefaultClient,
-		HTTPRequestTimeout:   o.HTTPRequestTimeout,
-		HTTPRequestRateLimit: o.HTTPRequestRateLimit,
-		RetryMax:             o.RetryMax,
-		RetryWaitMax:         o.RetryWaitMax,
-		RetryWaitMin:         o.RetryWaitMin,
-		UserAgent:            UserAgent,
-		TraceAPI:             o.EnableAPITrace(),
-		TraceHTTP:            o.EnableHTTPTrace(),
-		FakeMode:             o.FakeMode,
-		FakeStorePath:        o.FakeStorePath,
+	c.client = api.NewCallerWithOptions(&api.CallerOptions{
+		Options: &client.Options{
+			AccessToken:          o.AccessToken,
+			AccessTokenSecret:    o.AccessTokenSecret,
+			AcceptLanguage:       o.AcceptLanguage,
+			HttpClient:           http.DefaultClient,
+			HttpRequestTimeout:   o.HTTPRequestTimeout,
+			HttpRequestRateLimit: o.HTTPRequestRateLimit,
+			RetryMax:             o.RetryMax,
+			RetryWaitMax:         o.RetryWaitMax,
+			RetryWaitMin:         o.RetryWaitMin,
+			UserAgent:            UserAgent,
+			Trace:                o.EnableHTTPTrace(),
+		},
+		APIRootURL:    o.APIRootURL,
+		DefaultZone:   o.DefaultZone,
+		TraceAPI:      o.EnableAPITrace(),
+		FakeMode:      o.FakeMode,
+		FakeStorePath: o.FakeStorePath,
 	})
 }
 
+func (c *cliContext) Client() iaas.APICaller {
+	return c.client
+}
+
 func (c *cliContext) Deadline() (deadline time.Time, ok bool) {
 	return c.parentCtx.Deadline()
 }
diff --git a/pkg/cli/functions.go b/pkg/cli/functions.go
index dfb5b54d..b8b2b129 100644
--- a/pkg/cli/functions.go
+++ b/pkg/cli/functions.go
@@ -18,7 +18,7 @@ import (
 	"fmt"
 	"strings"
 
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
+	"github.com/sacloud/iaas-api-go/types"
 	"github.com/sacloud/usacloud/pkg/util"
 )
 
diff --git a/pkg/cli/resource_context.go b/pkg/cli/resource_context.go
index 0d65771a..1da991bd 100644
--- a/pkg/cli/resource_context.go
+++ b/pkg/cli/resource_context.go
@@ -17,7 +17,7 @@ package cli
 import (
 	"fmt"
 
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
+	"github.com/sacloud/iaas-api-go/types"
 )
 
 // ResourceContext 現在処理中のリソースの情報
diff --git a/pkg/cli/user_agent.go b/pkg/cli/user_agent.go
index 6a52c0f1..cfc20a26 100644
--- a/pkg/cli/user_agent.go
+++ b/pkg/cli/user_agent.go
@@ -18,14 +18,14 @@ import (
 	"fmt"
 	"runtime"
 
-	"github.com/sacloud/libsacloud/v2"
+	"github.com/sacloud/iaas-service-go"
 	"github.com/sacloud/usacloud/pkg/version"
 )
 
 var UserAgent = fmt.Sprintf(
-	"Usacloud/v%s (%s/%s; +https://github.com/sacloud/usacloud) libsacloud/%s",
+	"Usacloud/v%s (%s/%s; +https://github.com/sacloud/usacloud) sacloud/iaas-service-go/v%s",
 	version.Version,
 	runtime.GOOS,
 	runtime.GOARCH,
-	libsacloud.Version,
+	iaas.Version,
 )
diff --git a/pkg/cmd/cflag/common.go b/pkg/cmd/cflag/common.go
index 91d69276..6000c826 100644
--- a/pkg/cmd/cflag/common.go
+++ b/pkg/cmd/cflag/common.go
@@ -14,7 +14,7 @@
 
 package cflag
 
-import "github.com/sacloud/libsacloud/v2/sacloud/types"
+import "github.com/sacloud/iaas-api-go/types"
 
 type NameParameter struct {
 	Name string `cli:",category=common,order=10" validate:"required" json:",omitempty"`
diff --git a/pkg/cmd/cflag/id.go b/pkg/cmd/cflag/id.go
index cbbe0f0e..26b7af66 100644
--- a/pkg/cmd/cflag/id.go
+++ b/pkg/cmd/cflag/id.go
@@ -14,7 +14,7 @@
 
 package cflag
 
-import "github.com/sacloud/libsacloud/v2/sacloud/types"
+import "github.com/sacloud/iaas-api-go/types"
 
 type IDParameterValueHandler interface {
 	IDFlagValue() types.ID
diff --git a/pkg/cmd/commands/archive/create.go b/pkg/cmd/commands/archive/create.go
index 1e5a8417..675c7435 100644
--- a/pkg/cmd/commands/archive/create.go
+++ b/pkg/cmd/commands/archive/create.go
@@ -15,7 +15,7 @@
 package archive
 
 import (
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
+	"github.com/sacloud/iaas-api-go/types"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
diff --git a/pkg/cmd/commands/archive/resource.go b/pkg/cmd/commands/archive/resource.go
index 9ae3d1d3..76c474a0 100644
--- a/pkg/cmd/commands/archive/resource.go
+++ b/pkg/cmd/commands/archive/resource.go
@@ -17,7 +17,7 @@ package archive
 import (
 	"reflect"
 
-	"github.com/sacloud/libsacloud/v2/helper/service/archive"
+	"github.com/sacloud/iaas-service-go/archive"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 )
 
diff --git a/pkg/cmd/commands/archive/zz_update_gen.go b/pkg/cmd/commands/archive/zz_update_gen.go
index 9357d536..335ba24f 100644
--- a/pkg/cmd/commands/archive/zz_update_gen.go
+++ b/pkg/cmd/commands/archive/zz_update_gen.go
@@ -17,8 +17,8 @@
 package archive
 
 import (
-	"github.com/sacloud/libsacloud/v2/sacloud/pointer"
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
+	"github.com/sacloud/iaas-api-go/types"
+	"github.com/sacloud/packages-go/pointer"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 	"github.com/spf13/cobra"
 	"github.com/spf13/pflag"
@@ -50,7 +50,8 @@ func (p *updateParameter) buildFlags(fs *pflag.FlagSet) {
 		p.Tags = pointer.NewStringSlice([]string{})
 	}
 	if p.IconID == nil {
-		p.IconID = pointer.NewID(types.ID(0))
+		v := types.ID(0)
+		p.IconID = &v
 	}
 	fs.StringVarP(&p.Zone, "zone", "", p.Zone, "(*required) ")
 	fs.StringVarP(&p.Parameters, "parameters", "", p.Parameters, "Input parameters in JSON format")
diff --git a/pkg/cmd/commands/authstatus/resource.go b/pkg/cmd/commands/authstatus/resource.go
index 09bbf49d..78a8fca8 100644
--- a/pkg/cmd/commands/authstatus/resource.go
+++ b/pkg/cmd/commands/authstatus/resource.go
@@ -17,7 +17,7 @@ package authstatus
 import (
 	"reflect"
 
-	"github.com/sacloud/libsacloud/v2/helper/service/authstatus"
+	"github.com/sacloud/iaas-service-go/authstatus"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 )
 
diff --git a/pkg/cmd/commands/autobackup/create.go b/pkg/cmd/commands/autobackup/create.go
index 434ede7e..3843fff1 100644
--- a/pkg/cmd/commands/autobackup/create.go
+++ b/pkg/cmd/commands/autobackup/create.go
@@ -15,7 +15,7 @@
 package autobackup
 
 import (
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
+	"github.com/sacloud/iaas-api-go/types"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
diff --git a/pkg/cmd/commands/autobackup/resource.go b/pkg/cmd/commands/autobackup/resource.go
index be3bf9cd..c1ab4aeb 100644
--- a/pkg/cmd/commands/autobackup/resource.go
+++ b/pkg/cmd/commands/autobackup/resource.go
@@ -17,7 +17,7 @@ package autobackup
 import (
 	"reflect"
 
-	"github.com/sacloud/libsacloud/v2/helper/service/autobackup"
+	"github.com/sacloud/iaas-service-go/autobackup"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 )
 
diff --git a/pkg/cmd/commands/autobackup/update.go b/pkg/cmd/commands/autobackup/update.go
index 6c403220..7c3bb684 100644
--- a/pkg/cmd/commands/autobackup/update.go
+++ b/pkg/cmd/commands/autobackup/update.go
@@ -15,7 +15,7 @@
 package autobackup
 
 import (
-	"github.com/sacloud/libsacloud/v2/sacloud/pointer"
+	"github.com/sacloud/packages-go/pointer"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
diff --git a/pkg/cmd/commands/autobackup/zz_update_gen.go b/pkg/cmd/commands/autobackup/zz_update_gen.go
index a88bda72..9d80ab25 100644
--- a/pkg/cmd/commands/autobackup/zz_update_gen.go
+++ b/pkg/cmd/commands/autobackup/zz_update_gen.go
@@ -17,8 +17,8 @@
 package autobackup
 
 import (
-	"github.com/sacloud/libsacloud/v2/sacloud/pointer"
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
+	"github.com/sacloud/iaas-api-go/types"
+	"github.com/sacloud/packages-go/pointer"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 	"github.com/sacloud/usacloud/pkg/util"
 	"github.com/spf13/cobra"
@@ -57,7 +57,8 @@ func (p *updateParameter) buildFlags(fs *pflag.FlagSet) {
 		p.Tags = pointer.NewStringSlice([]string{})
 	}
 	if p.IconID == nil {
-		p.IconID = pointer.NewID(types.ID(0))
+		v := types.ID(0)
+		p.IconID = &v
 	}
 	if p.Weekdays == nil {
 		p.Weekdays = pointer.NewStringSlice([]string{})
diff --git a/pkg/cmd/commands/bill/csv.go b/pkg/cmd/commands/bill/csv.go
index 1e2ba704..b4d81ba2 100644
--- a/pkg/cmd/commands/bill/csv.go
+++ b/pkg/cmd/commands/bill/csv.go
@@ -15,7 +15,7 @@
 package bill
 
 import (
-	"github.com/sacloud/libsacloud/v2/helper/service/bill"
+	"github.com/sacloud/iaas-service-go/bill"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
diff --git a/pkg/cmd/commands/bill/resource.go b/pkg/cmd/commands/bill/resource.go
index c0b2da23..aa734929 100644
--- a/pkg/cmd/commands/bill/resource.go
+++ b/pkg/cmd/commands/bill/resource.go
@@ -17,7 +17,7 @@ package bill
 import (
 	"reflect"
 
-	"github.com/sacloud/libsacloud/v2/helper/service/bill"
+	"github.com/sacloud/iaas-service-go/bill"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 )
 
diff --git a/pkg/cmd/commands/bridge/connect_switch.go b/pkg/cmd/commands/bridge/connect_switch.go
index f8ebd10b..c17c02f1 100644
--- a/pkg/cmd/commands/bridge/connect_switch.go
+++ b/pkg/cmd/commands/bridge/connect_switch.go
@@ -15,7 +15,7 @@
 package bridge
 
 import (
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
+	"github.com/sacloud/iaas-api-go/types"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 )
diff --git a/pkg/cmd/commands/bridge/resource.go b/pkg/cmd/commands/bridge/resource.go
index 240050ce..71acd108 100644
--- a/pkg/cmd/commands/bridge/resource.go
+++ b/pkg/cmd/commands/bridge/resource.go
@@ -17,7 +17,7 @@ package bridge
 import (
 	"reflect"
 
-	"github.com/sacloud/libsacloud/v2/helper/service/bridge"
+	"github.com/sacloud/iaas-service-go/bridge"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 )
 
diff --git a/pkg/cmd/commands/bridge/zz_update_gen.go b/pkg/cmd/commands/bridge/zz_update_gen.go
index ebbe47aa..7bf6bbb7 100644
--- a/pkg/cmd/commands/bridge/zz_update_gen.go
+++ b/pkg/cmd/commands/bridge/zz_update_gen.go
@@ -17,7 +17,7 @@
 package bridge
 
 import (
-	"github.com/sacloud/libsacloud/v2/sacloud/pointer"
+	"github.com/sacloud/packages-go/pointer"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 	"github.com/spf13/cobra"
 	"github.com/spf13/pflag"
diff --git a/pkg/cmd/commands/cdrom/resource.go b/pkg/cmd/commands/cdrom/resource.go
index c3642663..3129f9b3 100644
--- a/pkg/cmd/commands/cdrom/resource.go
+++ b/pkg/cmd/commands/cdrom/resource.go
@@ -17,7 +17,7 @@ package cdrom
 import (
 	"reflect"
 
-	"github.com/sacloud/libsacloud/v2/helper/service/cdrom"
+	"github.com/sacloud/iaas-service-go/cdrom"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 )
 
diff --git a/pkg/cmd/commands/cdrom/zz_update_gen.go b/pkg/cmd/commands/cdrom/zz_update_gen.go
index a30ac3d3..86bb55db 100644
--- a/pkg/cmd/commands/cdrom/zz_update_gen.go
+++ b/pkg/cmd/commands/cdrom/zz_update_gen.go
@@ -17,8 +17,8 @@
 package cdrom
 
 import (
-	"github.com/sacloud/libsacloud/v2/sacloud/pointer"
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
+	"github.com/sacloud/iaas-api-go/types"
+	"github.com/sacloud/packages-go/pointer"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 	"github.com/spf13/cobra"
 	"github.com/spf13/pflag"
@@ -50,7 +50,8 @@ func (p *updateParameter) buildFlags(fs *pflag.FlagSet) {
 		p.Tags = pointer.NewStringSlice([]string{})
 	}
 	if p.IconID == nil {
-		p.IconID = pointer.NewID(types.ID(0))
+		v := types.ID(0)
+		p.IconID = &v
 	}
 	fs.StringVarP(&p.Zone, "zone", "", p.Zone, "(*required) ")
 	fs.StringVarP(&p.Parameters, "parameters", "", p.Parameters, "Input parameters in JSON format")
diff --git a/pkg/cmd/commands/certificateauthority/create.go b/pkg/cmd/commands/certificateauthority/create.go
index 25fcb774..d95cb87d 100644
--- a/pkg/cmd/commands/certificateauthority/create.go
+++ b/pkg/cmd/commands/certificateauthority/create.go
@@ -17,9 +17,8 @@ package certificateauthority
 import (
 	"time"
 
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
-
-	"github.com/sacloud/libsacloud/v2/helper/service/certificateauthority"
+	"github.com/sacloud/iaas-api-go/types"
+	"github.com/sacloud/iaas-service-go/certificateauthority/builder"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
@@ -57,11 +56,11 @@ type createParameter struct {
 	ValidityPeriodHours int       `mapconv:"-" validate:"required"` // Customize()で時間数->NotAfterへの変換が行われる
 	NotAfter            time.Time `cli:"-" json:"-"`                // Customize()の中で現在時刻+ValidityPeriodHoursが設定される
 
-	ClientsData string                             `cli:"clients" mapconv:"-" json:"-"`
-	Clients     []*certificateauthority.ClientCert `cli:"-"`
+	ClientsData string                `cli:"clients" mapconv:"-" json:"-"`
+	Clients     []*builder.ClientCert `cli:"-"`
 
-	ServersData string                             `cli:"servers" mapconv:"-" json:"-"`
-	Servers     []*certificateauthority.ServerCert `cli:"-"`
+	ServersData string                `cli:"servers" mapconv:"-" json:"-"`
+	Servers     []*builder.ServerCert `cli:"-"`
 }
 
 func newCreateParameter() *createParameter {
@@ -76,7 +75,7 @@ func init() {
 func (p *createParameter) Customize(_ cli.Context) error {
 	p.NotAfter = time.Now().Add(time.Duration(p.ValidityPeriodHours) * time.Hour)
 
-	var clients []*certificateauthority.ClientCert
+	var clients []*builder.ClientCert
 	if p.ClientsData != "" {
 		if err := util.MarshalJSONFromPathOrContent(p.ClientsData, &clients); err != nil {
 			return err
@@ -84,7 +83,7 @@ func (p *createParameter) Customize(_ cli.Context) error {
 	}
 	p.Clients = append(p.Clients, clients...)
 
-	var servers []*certificateauthority.ServerCert
+	var servers []*builder.ServerCert
 	if p.ServersData != "" {
 		if err := util.MarshalJSONFromPathOrContent(p.ServersData, &servers); err != nil {
 			return err
@@ -105,7 +104,7 @@ func (p *createParameter) ExampleParameters(ctx cli.Context) interface{} {
 		OrganizationUnit:    []string{"ou1", "ou2"},
 		CommonName:          "example.usacloud.jp",
 		ValidityPeriodHours: 24 * 365,
-		Clients: []*certificateauthority.ClientCert{
+		Clients: []*builder.ClientCert{
 			{
 				Country:                   "JP",
 				Organization:              "usacloud",
@@ -119,7 +118,7 @@ func (p *createParameter) ExampleParameters(ctx cli.Context) interface{} {
 				Hold:                      true,
 			},
 		},
-		Servers: []*certificateauthority.ServerCert{
+		Servers: []*builder.ServerCert{
 			{
 				Country:                   "JP",
 				Organization:              "usacloud",
diff --git a/pkg/cmd/commands/certificateauthority/resource.go b/pkg/cmd/commands/certificateauthority/resource.go
index 8e07dfa2..4a9f5bf5 100644
--- a/pkg/cmd/commands/certificateauthority/resource.go
+++ b/pkg/cmd/commands/certificateauthority/resource.go
@@ -17,7 +17,7 @@ package certificateauthority
 import (
 	"reflect"
 
-	"github.com/sacloud/libsacloud/v2/helper/service/certificateauthority"
+	"github.com/sacloud/iaas-service-go/certificateauthority"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 )
 
diff --git a/pkg/cmd/commands/certificateauthority/update.go b/pkg/cmd/commands/certificateauthority/update.go
index faaf748d..7bb31526 100644
--- a/pkg/cmd/commands/certificateauthority/update.go
+++ b/pkg/cmd/commands/certificateauthority/update.go
@@ -17,8 +17,8 @@ package certificateauthority
 import (
 	"time"
 
-	"github.com/sacloud/libsacloud/v2/helper/service/certificateauthority"
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
+	"github.com/sacloud/iaas-api-go/types"
+	"github.com/sacloud/iaas-service-go/certificateauthority/builder"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
@@ -50,11 +50,11 @@ type updateParameter struct {
 	cflag.TagsUpdateParameter   `cli:",squash" mapconv:",omitempty,squash"`
 	cflag.IconIDUpdateParameter `cli:",squash" mapconv:",omitempty,squash"`
 
-	ClientsData *string                             `cli:"clients" mapconv:"-" json:"-"`
-	Clients     *[]*certificateauthority.ClientCert `cli:"-"`
+	ClientsData *string                `cli:"clients" mapconv:"-" json:"-"`
+	Clients     *[]*builder.ClientCert `cli:"-"`
 
-	ServersData *string                             `cli:"servers" mapconv:"-" json:"-"`
-	Servers     *[]*certificateauthority.ServerCert `cli:"-"`
+	ServersData *string                `cli:"servers" mapconv:"-" json:"-"`
+	Servers     *[]*builder.ServerCert `cli:"-"`
 }
 
 func newUpdateParameter() *updateParameter {
@@ -67,7 +67,7 @@ func init() {
 
 // Customize パラメータ変換処理
 func (p *updateParameter) Customize(_ cli.Context) error {
-	var clients []*certificateauthority.ClientCert
+	var clients []*builder.ClientCert
 	if p.ClientsData != nil && *p.ClientsData != "" {
 		if err := util.MarshalJSONFromPathOrContent(*p.ClientsData, &clients); err != nil {
 			return err
@@ -75,7 +75,7 @@ func (p *updateParameter) Customize(_ cli.Context) error {
 		p.Clients = &clients
 	}
 
-	var servers []*certificateauthority.ServerCert
+	var servers []*builder.ServerCert
 	if p.ServersData != nil && *p.ServersData != "" {
 		if err := util.MarshalJSONFromPathOrContent(*p.ServersData, &servers); err != nil {
 			return err
@@ -91,7 +91,7 @@ func (p *updateParameter) ExampleParameters(ctx cli.Context) interface{} {
 		DescUpdateParameter:   examples.DescriptionUpdate,
 		TagsUpdateParameter:   examples.TagsUpdate,
 		IconIDUpdateParameter: examples.IconIDUpdate,
-		Clients: &[]*certificateauthority.ClientCert{
+		Clients: &[]*builder.ClientCert{
 			{
 				Country:                   "JP",
 				Organization:              "usacloud",
@@ -105,7 +105,7 @@ func (p *updateParameter) ExampleParameters(ctx cli.Context) interface{} {
 				Hold:                      true,
 			},
 		},
-		Servers: &[]*certificateauthority.ServerCert{
+		Servers: &[]*builder.ServerCert{
 			{
 				Country:                   "JP",
 				Organization:              "usacloud",
diff --git a/pkg/cmd/commands/certificateauthority/zz_update_gen.go b/pkg/cmd/commands/certificateauthority/zz_update_gen.go
index b65d4b4f..41357e2d 100644
--- a/pkg/cmd/commands/certificateauthority/zz_update_gen.go
+++ b/pkg/cmd/commands/certificateauthority/zz_update_gen.go
@@ -17,8 +17,8 @@
 package certificateauthority
 
 import (
-	"github.com/sacloud/libsacloud/v2/sacloud/pointer"
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
+	"github.com/sacloud/iaas-api-go/types"
+	"github.com/sacloud/packages-go/pointer"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 	"github.com/spf13/cobra"
 	"github.com/spf13/pflag"
@@ -56,7 +56,8 @@ func (p *updateParameter) buildFlags(fs *pflag.FlagSet) {
 		p.Tags = pointer.NewStringSlice([]string{})
 	}
 	if p.IconID == nil {
-		p.IconID = pointer.NewID(types.ID(0))
+		v := types.ID(0)
+		p.IconID = &v
 	}
 	if p.ClientsData == nil {
 		p.ClientsData = pointer.NewString("")
diff --git a/pkg/cmd/commands/common/types.go b/pkg/cmd/commands/common/types.go
index 2fa100bb..c36ecb70 100644
--- a/pkg/cmd/commands/common/types.go
+++ b/pkg/cmd/commands/common/types.go
@@ -15,8 +15,8 @@
 package common
 
 import (
-	"github.com/sacloud/libsacloud/v2/sacloud"
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
+	"github.com/sacloud/iaas-api-go"
+	"github.com/sacloud/iaas-api-go/types"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/util"
 	"github.com/sacloud/usacloud/pkg/validate"
@@ -38,15 +38,15 @@ type EditRequest struct {
 	SSHKeyIDs          []types.ID `cli:"ssh-key-ids,category=diskedit,order=71" json:",omitempty"`
 	IsSSHKeysEphemeral bool       `cli:"make-ssh-keys-ephemeral,category=diskedit,order=72" json:",omitempty"`
 
-	NoteIDs          []types.ID              `cli:"note-ids,category=diskedit,order=80" mapconv:"-" json:",omitempty"`
-	NotesData        string                  `cli:"notes,category=diskedit,order=81" mapconv:"-" json:"-"`
-	IsNotesEphemeral bool                    `cli:"make-notes-ephemeral,category=diskedit,order=82" json:",omitempty"`
-	Notes            []*sacloud.DiskEditNote `cli:"-" json:",omitempty"` // --parametersでファイルからパラメータ指定する場合向け
+	NoteIDs          []types.ID           `cli:"note-ids,category=diskedit,order=80" mapconv:"-" json:",omitempty"`
+	NotesData        string               `cli:"notes,category=diskedit,order=81" mapconv:"-" json:"-"`
+	IsNotesEphemeral bool                 `cli:"make-notes-ephemeral,category=diskedit,order=82" json:",omitempty"`
+	Notes            []*iaas.DiskEditNote `cli:"-" json:",omitempty"` // --parametersでファイルからパラメータ指定する場合向け
 }
 
 // Customize パラメータ変換処理
 func (p *EditRequest) Customize(_ cli.Context) error {
-	var notes []*sacloud.DiskEditNote
+	var notes []*iaas.DiskEditNote
 	if p.NotesData != "" {
 		if err := util.MarshalJSONFromPathOrContent(p.NotesData, &notes); err != nil {
 			return err
@@ -54,7 +54,7 @@ func (p *EditRequest) Customize(_ cli.Context) error {
 	}
 
 	for _, id := range p.NoteIDs {
-		notes = append(notes, &sacloud.DiskEditNote{ID: id})
+		notes = append(notes, &iaas.DiskEditNote{ID: id})
 	}
 
 	p.Notes = append(p.Notes, notes...)
diff --git a/pkg/cmd/commands/config/current.go b/pkg/cmd/commands/config/current.go
index 3dca5ad2..9029f5b8 100644
--- a/pkg/cmd/commands/config/current.go
+++ b/pkg/cmd/commands/config/current.go
@@ -17,7 +17,7 @@ package config
 import (
 	"fmt"
 
-	"github.com/sacloud/libsacloud/v2/sacloud/profile"
+	"github.com/sacloud/api-client-go/profile"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 )
diff --git a/pkg/cmd/commands/config/delete.go b/pkg/cmd/commands/config/delete.go
index 0817855e..f26b787f 100644
--- a/pkg/cmd/commands/config/delete.go
+++ b/pkg/cmd/commands/config/delete.go
@@ -17,7 +17,7 @@ package config
 import (
 	"fmt"
 
-	"github.com/sacloud/libsacloud/v2/sacloud/profile"
+	"github.com/sacloud/api-client-go/profile"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
diff --git a/pkg/cmd/commands/config/edit.go b/pkg/cmd/commands/config/edit.go
index 0635a31e..a270049f 100644
--- a/pkg/cmd/commands/config/edit.go
+++ b/pkg/cmd/commands/config/edit.go
@@ -20,8 +20,8 @@ import (
 	"strings"
 
 	"github.com/fatih/color"
-	"github.com/sacloud/libsacloud/v2/sacloud"
-	"github.com/sacloud/libsacloud/v2/sacloud/profile"
+	"github.com/sacloud/api-client-go/profile"
+	"github.com/sacloud/iaas-api-go"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 	"github.com/sacloud/usacloud/pkg/config"
@@ -196,7 +196,7 @@ func editProfile(ctx cli.Context, parameter interface{}) ([]interface{}, error)
 		if doChange {
 			zones := currentConfig.Zones
 			if len(zones) == 0 {
-				zones = sacloud.SakuraCloudZones
+				zones = iaas.SakuraCloudZones
 			}
 			// read input
 			var input string
diff --git a/pkg/cmd/commands/config/functons.go b/pkg/cmd/commands/config/functons.go
index 547993d0..247f43f0 100644
--- a/pkg/cmd/commands/config/functons.go
+++ b/pkg/cmd/commands/config/functons.go
@@ -17,7 +17,7 @@ package config
 import (
 	"strings"
 
-	"github.com/sacloud/libsacloud/v2/sacloud/profile"
+	"github.com/sacloud/api-client-go/profile"
 	"github.com/sacloud/usacloud/pkg/config"
 	"github.com/spf13/cobra"
 )
diff --git a/pkg/cmd/commands/config/list.go b/pkg/cmd/commands/config/list.go
index 17c054f6..2e698adc 100644
--- a/pkg/cmd/commands/config/list.go
+++ b/pkg/cmd/commands/config/list.go
@@ -18,7 +18,7 @@ import (
 	"fmt"
 	"io"
 
-	"github.com/sacloud/libsacloud/v2/sacloud/profile"
+	"github.com/sacloud/api-client-go/profile"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 	"github.com/sacloud/usacloud/pkg/term"
diff --git a/pkg/cmd/commands/config/parameter.go b/pkg/cmd/commands/config/parameter.go
index fe956939..4c482035 100644
--- a/pkg/cmd/commands/config/parameter.go
+++ b/pkg/cmd/commands/config/parameter.go
@@ -17,7 +17,7 @@ package config
 import (
 	"fmt"
 
-	"github.com/sacloud/libsacloud/v2/sacloud/profile"
+	"github.com/sacloud/api-client-go/profile"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/validate"
 )
diff --git a/pkg/cmd/commands/config/path.go b/pkg/cmd/commands/config/path.go
index fd09041d..d9e619b6 100644
--- a/pkg/cmd/commands/config/path.go
+++ b/pkg/cmd/commands/config/path.go
@@ -17,7 +17,7 @@ package config
 import (
 	"fmt"
 
-	"github.com/sacloud/libsacloud/v2/sacloud/profile"
+	"github.com/sacloud/api-client-go/profile"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 )
diff --git a/pkg/cmd/commands/config/show.go b/pkg/cmd/commands/config/show.go
index 4f003560..51734610 100644
--- a/pkg/cmd/commands/config/show.go
+++ b/pkg/cmd/commands/config/show.go
@@ -18,11 +18,10 @@ import (
 	"encoding/json"
 	"fmt"
 
-	"github.com/sacloud/usacloud/pkg/config"
-
-	"github.com/sacloud/libsacloud/v2/sacloud/profile"
+	"github.com/sacloud/api-client-go/profile"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
+	"github.com/sacloud/usacloud/pkg/config"
 )
 
 var showCommand = &core.Command{
diff --git a/pkg/cmd/commands/config/use.go b/pkg/cmd/commands/config/use.go
index 68611320..5abbafa6 100644
--- a/pkg/cmd/commands/config/use.go
+++ b/pkg/cmd/commands/config/use.go
@@ -17,7 +17,7 @@ package config
 import (
 	"fmt"
 
-	"github.com/sacloud/libsacloud/v2/sacloud/profile"
+	"github.com/sacloud/api-client-go/profile"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 )
diff --git a/pkg/cmd/commands/containerregistry/create.go b/pkg/cmd/commands/containerregistry/create.go
index fa4812cc..071ea48c 100644
--- a/pkg/cmd/commands/containerregistry/create.go
+++ b/pkg/cmd/commands/containerregistry/create.go
@@ -15,8 +15,8 @@
 package containerregistry
 
 import (
-	"github.com/sacloud/libsacloud/v2/helper/service/containerregistry"
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
+	"github.com/sacloud/iaas-api-go/types"
+	"github.com/sacloud/iaas-service-go/containerregistry/builder"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
@@ -50,8 +50,8 @@ type createParameter struct {
 	SubDomainLabel string `cli:"subdomain-label" validate:"required"`
 	VirtualDomain  string `validate:"omitempty,fqdn"`
 
-	UsersData string                    `cli:"users" mapconv:"-" json:"-"`
-	Users     []*containerregistry.User `cli:"-"` // --parametersでファイルからパラメータ指定する場合向け
+	UsersData string          `cli:"users" mapconv:"-" json:"-"`
+	Users     []*builder.User `cli:"-"` // --parametersでファイルからパラメータ指定する場合向け
 }
 
 func newCreateParameter() *createParameter {
@@ -64,7 +64,7 @@ func init() {
 
 // Customize パラメータ変換処理
 func (p *createParameter) Customize(_ cli.Context) error {
-	var users []*containerregistry.User
+	var users []*builder.User
 	if p.UsersData != "" {
 		if err := util.MarshalJSONFromPathOrContent(p.UsersData, &users); err != nil {
 			return err
@@ -84,7 +84,7 @@ func (p *createParameter) ExampleParameters(ctx cli.Context) interface{} {
 		AccessLevel:     examples.OptionsString("container_registry_access_level"),
 		SubDomainLabel:  "your-sub-domain",
 		VirtualDomain:   "your-domain.example.com",
-		Users: []*containerregistry.User{
+		Users: []*builder.User{
 			{
 				UserName:   "example-user-name",
 				Password:   "example-password",
diff --git a/pkg/cmd/commands/containerregistry/resource.go b/pkg/cmd/commands/containerregistry/resource.go
index df84d1b3..a0738a20 100644
--- a/pkg/cmd/commands/containerregistry/resource.go
+++ b/pkg/cmd/commands/containerregistry/resource.go
@@ -17,7 +17,7 @@ package containerregistry
 import (
 	"reflect"
 
-	"github.com/sacloud/libsacloud/v2/helper/service/containerregistry"
+	"github.com/sacloud/iaas-service-go/containerregistry"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 )
 
diff --git a/pkg/cmd/commands/containerregistry/update.go b/pkg/cmd/commands/containerregistry/update.go
index a7c85670..b36ff631 100644
--- a/pkg/cmd/commands/containerregistry/update.go
+++ b/pkg/cmd/commands/containerregistry/update.go
@@ -15,9 +15,9 @@
 package containerregistry
 
 import (
-	"github.com/sacloud/libsacloud/v2/helper/service/containerregistry"
-	"github.com/sacloud/libsacloud/v2/sacloud/pointer"
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
+	"github.com/sacloud/iaas-api-go/types"
+	"github.com/sacloud/iaas-service-go/containerregistry/builder"
+	"github.com/sacloud/packages-go/pointer"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
@@ -53,8 +53,8 @@ type updateParameter struct {
 	SubDomainLabel *string `cli:"subdomain-label" validate:"omitempty"`
 	VirtualDomain  *string `validate:"omitempty,fqdn"`
 
-	UsersData *string                    `cli:"users" mapconv:"-" json:"-"`
-	Users     *[]*containerregistry.User `cli:"-"` // --parametersでファイルからパラメータ指定する場合向け
+	UsersData *string          `cli:"users" mapconv:"-" json:"-"`
+	Users     *[]*builder.User `cli:"-"` // --parametersでファイルからパラメータ指定する場合向け
 }
 
 func newUpdateParameter() *updateParameter {
@@ -67,7 +67,7 @@ func init() {
 
 // Customize パラメータ変換処理
 func (p *updateParameter) Customize(_ cli.Context) error {
-	var users []*containerregistry.User
+	var users []*builder.User
 	if p.UsersData != nil && *p.UsersData != "" {
 		if err := util.MarshalJSONFromPathOrContent(*p.UsersData, &users); err != nil {
 			return err
@@ -87,7 +87,7 @@ func (p *updateParameter) ExampleParameters(ctx cli.Context) interface{} {
 		AccessLevel:           pointer.NewString(examples.OptionsString("container_registry_access_level")),
 		SubDomainLabel:        pointer.NewString("your-sub-domain"),
 		VirtualDomain:         pointer.NewString("your-domain.example.com"),
-		Users: &[]*containerregistry.User{
+		Users: &[]*builder.User{
 			{
 				UserName:   "example-user-name",
 				Password:   "example-password",
diff --git a/pkg/cmd/commands/containerregistry/zz_update_gen.go b/pkg/cmd/commands/containerregistry/zz_update_gen.go
index 7a2079be..3ed71637 100644
--- a/pkg/cmd/commands/containerregistry/zz_update_gen.go
+++ b/pkg/cmd/commands/containerregistry/zz_update_gen.go
@@ -17,8 +17,8 @@
 package containerregistry
 
 import (
-	"github.com/sacloud/libsacloud/v2/sacloud/pointer"
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
+	"github.com/sacloud/iaas-api-go/types"
+	"github.com/sacloud/packages-go/pointer"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 	"github.com/sacloud/usacloud/pkg/util"
 	"github.com/spf13/cobra"
@@ -63,7 +63,8 @@ func (p *updateParameter) buildFlags(fs *pflag.FlagSet) {
 		p.Tags = pointer.NewStringSlice([]string{})
 	}
 	if p.IconID == nil {
-		p.IconID = pointer.NewID(types.ID(0))
+		v := types.ID(0)
+		p.IconID = &v
 	}
 	if p.AccessLevel == nil {
 		p.AccessLevel = pointer.NewString("")
diff --git a/pkg/cmd/commands/coupon/resource.go b/pkg/cmd/commands/coupon/resource.go
index 04dd1474..d4c52560 100644
--- a/pkg/cmd/commands/coupon/resource.go
+++ b/pkg/cmd/commands/coupon/resource.go
@@ -17,7 +17,7 @@ package coupon
 import (
 	"reflect"
 
-	"github.com/sacloud/libsacloud/v2/helper/service/coupon"
+	"github.com/sacloud/iaas-service-go/coupon"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 )
 
diff --git a/pkg/cmd/commands/database/create.go b/pkg/cmd/commands/database/create.go
index 12fe47fc..c98b2f92 100644
--- a/pkg/cmd/commands/database/create.go
+++ b/pkg/cmd/commands/database/create.go
@@ -19,7 +19,7 @@ import (
 	"regexp"
 	"strings"
 
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
+	"github.com/sacloud/iaas-api-go/types"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
diff --git a/pkg/cmd/commands/database/resource.go b/pkg/cmd/commands/database/resource.go
index 543a1e4d..89417480 100644
--- a/pkg/cmd/commands/database/resource.go
+++ b/pkg/cmd/commands/database/resource.go
@@ -17,7 +17,7 @@ package database
 import (
 	"reflect"
 
-	"github.com/sacloud/libsacloud/v2/helper/service/database"
+	"github.com/sacloud/iaas-service-go/database"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 )
 
diff --git a/pkg/cmd/commands/database/update.go b/pkg/cmd/commands/database/update.go
index 120a7369..c2d5b447 100644
--- a/pkg/cmd/commands/database/update.go
+++ b/pkg/cmd/commands/database/update.go
@@ -19,7 +19,7 @@ import (
 	"regexp"
 	"strings"
 
-	"github.com/sacloud/libsacloud/v2/sacloud/pointer"
+	"github.com/sacloud/packages-go/pointer"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
diff --git a/pkg/cmd/commands/database/zz_update_gen.go b/pkg/cmd/commands/database/zz_update_gen.go
index a504e71a..60112178 100644
--- a/pkg/cmd/commands/database/zz_update_gen.go
+++ b/pkg/cmd/commands/database/zz_update_gen.go
@@ -17,8 +17,8 @@
 package database
 
 import (
-	"github.com/sacloud/libsacloud/v2/sacloud/pointer"
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
+	"github.com/sacloud/iaas-api-go/types"
+	"github.com/sacloud/packages-go/pointer"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 	"github.com/sacloud/usacloud/pkg/util"
 	"github.com/spf13/cobra"
@@ -78,7 +78,8 @@ func (p *updateParameter) buildFlags(fs *pflag.FlagSet) {
 		p.Tags = pointer.NewStringSlice([]string{})
 	}
 	if p.IconID == nil {
-		p.IconID = pointer.NewID(types.ID(0))
+		v := types.ID(0)
+		p.IconID = &v
 	}
 	if p.SourceNetwork == nil {
 		p.SourceNetwork = pointer.NewStringSlice([]string{})
diff --git a/pkg/cmd/commands/disk/connect_to_server.go b/pkg/cmd/commands/disk/connect_to_server.go
index 316c661c..18755ad3 100644
--- a/pkg/cmd/commands/disk/connect_to_server.go
+++ b/pkg/cmd/commands/disk/connect_to_server.go
@@ -15,7 +15,7 @@
 package disk
 
 import (
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
+	"github.com/sacloud/iaas-api-go/types"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 )
diff --git a/pkg/cmd/commands/disk/create.go b/pkg/cmd/commands/disk/create.go
index 72903e4e..e65930de 100644
--- a/pkg/cmd/commands/disk/create.go
+++ b/pkg/cmd/commands/disk/create.go
@@ -15,8 +15,8 @@
 package disk
 
 import (
-	"github.com/sacloud/libsacloud/v2/sacloud"
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
+	"github.com/sacloud/iaas-api-go"
+	"github.com/sacloud/iaas-api-go/types"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/commands/common"
@@ -128,7 +128,7 @@ func (p *createParameter) ExampleParameters(ctx cli.Context) interface{} {
 			IsSSHKeysEphemeral:  true,
 			NoteIDs:             []types.ID{examples.ID},
 			IsNotesEphemeral:    true,
-			Notes: []*sacloud.DiskEditNote{
+			Notes: []*iaas.DiskEditNote{
 				{
 					ID: examples.ID,
 					Variables: map[string]interface{}{
diff --git a/pkg/cmd/commands/disk/resource.go b/pkg/cmd/commands/disk/resource.go
index d712b7a6..583e5a49 100644
--- a/pkg/cmd/commands/disk/resource.go
+++ b/pkg/cmd/commands/disk/resource.go
@@ -17,7 +17,7 @@ package disk
 import (
 	"reflect"
 
-	"github.com/sacloud/libsacloud/v2/helper/service/disk"
+	"github.com/sacloud/iaas-service-go/disk"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 )
 
diff --git a/pkg/cmd/commands/disk/update.go b/pkg/cmd/commands/disk/update.go
index a21f5b51..d417dd4d 100644
--- a/pkg/cmd/commands/disk/update.go
+++ b/pkg/cmd/commands/disk/update.go
@@ -15,9 +15,9 @@
 package disk
 
 import (
-	"github.com/sacloud/libsacloud/v2/sacloud"
-	"github.com/sacloud/libsacloud/v2/sacloud/pointer"
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
+	"github.com/sacloud/iaas-api-go"
+	"github.com/sacloud/iaas-api-go/types"
+	"github.com/sacloud/packages-go/pointer"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/commands/common"
@@ -90,7 +90,7 @@ func (p *updateParameter) ExampleParameters(ctx cli.Context) interface{} {
 			IsSSHKeysEphemeral:  true,
 			NoteIDs:             []types.ID{examples.ID},
 			IsNotesEphemeral:    true,
-			Notes: []*sacloud.DiskEditNote{
+			Notes: []*iaas.DiskEditNote{
 				{
 					ID: examples.ID,
 					Variables: map[string]interface{}{
diff --git a/pkg/cmd/commands/disk/zz_update_gen.go b/pkg/cmd/commands/disk/zz_update_gen.go
index 6ea1cc92..9dd5e68a 100644
--- a/pkg/cmd/commands/disk/zz_update_gen.go
+++ b/pkg/cmd/commands/disk/zz_update_gen.go
@@ -17,8 +17,8 @@
 package disk
 
 import (
-	"github.com/sacloud/libsacloud/v2/sacloud/pointer"
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
+	"github.com/sacloud/iaas-api-go/types"
+	"github.com/sacloud/packages-go/pointer"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 	"github.com/sacloud/usacloud/pkg/util"
 	"github.com/spf13/cobra"
@@ -54,7 +54,8 @@ func (p *updateParameter) buildFlags(fs *pflag.FlagSet) {
 		p.Tags = pointer.NewStringSlice([]string{})
 	}
 	if p.IconID == nil {
-		p.IconID = pointer.NewID(types.ID(0))
+		v := types.ID(0)
+		p.IconID = &v
 	}
 	if p.Connection == nil {
 		p.Connection = pointer.NewString("")
diff --git a/pkg/cmd/commands/diskplan/resource.go b/pkg/cmd/commands/diskplan/resource.go
index 2a2c7244..f0f3081e 100644
--- a/pkg/cmd/commands/diskplan/resource.go
+++ b/pkg/cmd/commands/diskplan/resource.go
@@ -17,7 +17,7 @@ package diskplan
 import (
 	"reflect"
 
-	"github.com/sacloud/libsacloud/v2/helper/service/diskplan"
+	"github.com/sacloud/iaas-service-go/diskplan"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 )
 
diff --git a/pkg/cmd/commands/dns/create.go b/pkg/cmd/commands/dns/create.go
index 6917b14a..7e0638f7 100644
--- a/pkg/cmd/commands/dns/create.go
+++ b/pkg/cmd/commands/dns/create.go
@@ -15,8 +15,8 @@
 package dns
 
 import (
-	"github.com/sacloud/libsacloud/v2/sacloud"
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
+	"github.com/sacloud/iaas-api-go"
+	"github.com/sacloud/iaas-api-go/types"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
@@ -46,8 +46,8 @@ type createParameter struct {
 	cflag.TagsParameter   `cli:",squash" mapconv:",squash"`
 	cflag.IconIDParameter `cli:",squash" mapconv:",squash"`
 
-	RecordsData string             `cli:"records" mapconv:"-" json:"-"`
-	Records     sacloud.DNSRecords `cli:"-"`
+	RecordsData string          `cli:"records" mapconv:"-" json:"-"`
+	Records     iaas.DNSRecords `cli:"-"`
 }
 
 func newCreateParameter() *createParameter {
@@ -61,7 +61,7 @@ func init() {
 // Customize パラメータ変換処理
 func (p *createParameter) Customize(_ cli.Context) error {
 	if p.RecordsData != "" {
-		var records sacloud.DNSRecords
+		var records iaas.DNSRecords
 		if err := util.MarshalJSONFromPathOrContent(p.RecordsData, &records); err != nil {
 			return err
 		}
@@ -77,7 +77,7 @@ func (p *createParameter) ExampleParameters(ctx cli.Context) interface{} {
 		DescParameter:   examples.Description,
 		TagsParameter:   examples.Tags,
 		IconIDParameter: examples.IconID,
-		Records: sacloud.DNSRecords{
+		Records: iaas.DNSRecords{
 			{
 				Name:  "www",
 				Type:  types.EDNSRecordType(examples.OptionsString("dns_record_type")),
diff --git a/pkg/cmd/commands/dns/resource.go b/pkg/cmd/commands/dns/resource.go
index e793dbd4..03eb652c 100644
--- a/pkg/cmd/commands/dns/resource.go
+++ b/pkg/cmd/commands/dns/resource.go
@@ -17,7 +17,7 @@ package dns
 import (
 	"reflect"
 
-	"github.com/sacloud/libsacloud/v2/helper/service/dns"
+	"github.com/sacloud/iaas-service-go/dns"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 )
 
diff --git a/pkg/cmd/commands/dns/update.go b/pkg/cmd/commands/dns/update.go
index c6a964a9..c83617f5 100644
--- a/pkg/cmd/commands/dns/update.go
+++ b/pkg/cmd/commands/dns/update.go
@@ -15,8 +15,8 @@
 package dns
 
 import (
-	"github.com/sacloud/libsacloud/v2/sacloud"
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
+	"github.com/sacloud/iaas-api-go"
+	"github.com/sacloud/iaas-api-go/types"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
@@ -48,8 +48,8 @@ type updateParameter struct {
 	cflag.TagsUpdateParameter   `cli:",squash" mapconv:",omitempty,squash"`
 	cflag.IconIDUpdateParameter `cli:",squash" mapconv:",omitempty,squash"`
 
-	RecordsData *string             `cli:"records" mapconv:"-" json:"-"`
-	Records     *sacloud.DNSRecords `cli:"-"`
+	RecordsData *string          `cli:"records" mapconv:"-" json:"-"`
+	Records     *iaas.DNSRecords `cli:"-"`
 }
 
 func newUpdateParameter() *updateParameter {
@@ -63,12 +63,12 @@ func init() {
 // Customize パラメータ変換処理
 func (p *updateParameter) Customize(_ cli.Context) error {
 	if p.RecordsData != nil && *p.RecordsData != "" {
-		var records sacloud.DNSRecords
+		var records iaas.DNSRecords
 		if err := util.MarshalJSONFromPathOrContent(*p.RecordsData, &records); err != nil {
 			return err
 		}
 		if p.Records == nil {
-			p.Records = &sacloud.DNSRecords{}
+			p.Records = &iaas.DNSRecords{}
 		}
 		*p.Records = append(*p.Records, records...)
 	}
@@ -82,7 +82,7 @@ func (p *updateParameter) ExampleParameters(ctx cli.Context) interface{} {
 		DescUpdateParameter:   examples.DescriptionUpdate,
 		TagsUpdateParameter:   examples.TagsUpdate,
 		IconIDUpdateParameter: examples.IconIDUpdate,
-		Records: &sacloud.DNSRecords{
+		Records: &iaas.DNSRecords{
 			{
 				Name:  "www",
 				Type:  types.EDNSRecordType(examples.OptionsString("dns_record_type")),
diff --git a/pkg/cmd/commands/dns/zz_update_gen.go b/pkg/cmd/commands/dns/zz_update_gen.go
index f626a7c2..f0223090 100644
--- a/pkg/cmd/commands/dns/zz_update_gen.go
+++ b/pkg/cmd/commands/dns/zz_update_gen.go
@@ -17,8 +17,8 @@
 package dns
 
 import (
-	"github.com/sacloud/libsacloud/v2/sacloud/pointer"
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
+	"github.com/sacloud/iaas-api-go/types"
+	"github.com/sacloud/packages-go/pointer"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 	"github.com/spf13/cobra"
 	"github.com/spf13/pflag"
@@ -53,7 +53,8 @@ func (p *updateParameter) buildFlags(fs *pflag.FlagSet) {
 		p.Tags = pointer.NewStringSlice([]string{})
 	}
 	if p.IconID == nil {
-		p.IconID = pointer.NewID(types.ID(0))
+		v := types.ID(0)
+		p.IconID = &v
 	}
 	if p.RecordsData == nil {
 		p.RecordsData = pointer.NewString("")
diff --git a/pkg/cmd/commands/enhanceddb/resource.go b/pkg/cmd/commands/enhanceddb/resource.go
index 06309f38..366dfffa 100644
--- a/pkg/cmd/commands/enhanceddb/resource.go
+++ b/pkg/cmd/commands/enhanceddb/resource.go
@@ -17,7 +17,7 @@ package enhanceddb
 import (
 	"reflect"
 
-	"github.com/sacloud/libsacloud/v2/helper/service/enhanceddb"
+	"github.com/sacloud/iaas-service-go/enhanceddb"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 )
 
diff --git a/pkg/cmd/commands/enhanceddb/update.go b/pkg/cmd/commands/enhanceddb/update.go
index c8280bf3..eb450466 100644
--- a/pkg/cmd/commands/enhanceddb/update.go
+++ b/pkg/cmd/commands/enhanceddb/update.go
@@ -15,7 +15,7 @@
 package enhanceddb
 
 import (
-	"github.com/sacloud/libsacloud/v2/sacloud/pointer"
+	"github.com/sacloud/packages-go/pointer"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
diff --git a/pkg/cmd/commands/enhanceddb/zz_update_gen.go b/pkg/cmd/commands/enhanceddb/zz_update_gen.go
index 90cbdbba..a41f5349 100644
--- a/pkg/cmd/commands/enhanceddb/zz_update_gen.go
+++ b/pkg/cmd/commands/enhanceddb/zz_update_gen.go
@@ -17,8 +17,8 @@
 package enhanceddb
 
 import (
-	"github.com/sacloud/libsacloud/v2/sacloud/pointer"
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
+	"github.com/sacloud/iaas-api-go/types"
+	"github.com/sacloud/packages-go/pointer"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 	"github.com/spf13/cobra"
 	"github.com/spf13/pflag"
@@ -53,7 +53,8 @@ func (p *updateParameter) buildFlags(fs *pflag.FlagSet) {
 		p.Tags = pointer.NewStringSlice([]string{})
 	}
 	if p.IconID == nil {
-		p.IconID = pointer.NewID(types.ID(0))
+		v := types.ID(0)
+		p.IconID = &v
 	}
 	if p.Password == nil {
 		p.Password = pointer.NewString("")
diff --git a/pkg/cmd/commands/esme/resource.go b/pkg/cmd/commands/esme/resource.go
index 3a1b565c..c81d711f 100644
--- a/pkg/cmd/commands/esme/resource.go
+++ b/pkg/cmd/commands/esme/resource.go
@@ -17,7 +17,7 @@ package esme
 import (
 	"reflect"
 
-	"github.com/sacloud/libsacloud/v2/helper/service/esme"
+	"github.com/sacloud/iaas-service-go/esme"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 )
 
diff --git a/pkg/cmd/commands/esme/zz_update_gen.go b/pkg/cmd/commands/esme/zz_update_gen.go
index 9a79a728..86b18372 100644
--- a/pkg/cmd/commands/esme/zz_update_gen.go
+++ b/pkg/cmd/commands/esme/zz_update_gen.go
@@ -17,8 +17,8 @@
 package esme
 
 import (
-	"github.com/sacloud/libsacloud/v2/sacloud/pointer"
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
+	"github.com/sacloud/iaas-api-go/types"
+	"github.com/sacloud/packages-go/pointer"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 	"github.com/spf13/cobra"
 	"github.com/spf13/pflag"
@@ -50,7 +50,8 @@ func (p *updateParameter) buildFlags(fs *pflag.FlagSet) {
 		p.Tags = pointer.NewStringSlice([]string{})
 	}
 	if p.IconID == nil {
-		p.IconID = pointer.NewID(types.ID(0))
+		v := types.ID(0)
+		p.IconID = &v
 	}
 	fs.StringVarP(&p.Parameters, "parameters", "", p.Parameters, "Input parameters in JSON format")
 	fs.BoolVarP(&p.GenerateSkeleton, "generate-skeleton", "", p.GenerateSkeleton, "Output skeleton of parameters with JSON format (aliases: --skeleton)")
diff --git a/pkg/cmd/commands/gslb/create.go b/pkg/cmd/commands/gslb/create.go
index cf831252..337b29ac 100644
--- a/pkg/cmd/commands/gslb/create.go
+++ b/pkg/cmd/commands/gslb/create.go
@@ -17,7 +17,7 @@ package gslb
 import (
 	"net/http"
 
-	"github.com/sacloud/libsacloud/v2/sacloud"
+	"github.com/sacloud/iaas-api-go"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
@@ -54,8 +54,8 @@ type createParameter struct {
 
 	SorryServer string `validate:"omitempty,ipv4"`
 
-	ServersData        string              `cli:"servers" mapconv:"-" json:"-"`
-	DestinationServers sacloud.GSLBServers `cli:"-"`
+	ServersData        string           `cli:"servers" mapconv:"-" json:"-"`
+	DestinationServers iaas.GSLBServers `cli:"-"`
 }
 
 type gslbHealthCheck struct {
@@ -79,7 +79,7 @@ func init() {
 // Customize パラメータ変換処理
 func (p *createParameter) Customize(_ cli.Context) error {
 	if p.ServersData != "" {
-		var servers sacloud.GSLBServers
+		var servers iaas.GSLBServers
 		if err := util.MarshalJSONFromPathOrContent(p.ServersData, &servers); err != nil {
 			return err
 		}
@@ -105,7 +105,7 @@ func (p *createParameter) ExampleParameters(ctx cli.Context) interface{} {
 		DelayLoop:   10,
 		Weighted:    true,
 		SorryServer: "192.0.2.1",
-		DestinationServers: sacloud.GSLBServers{
+		DestinationServers: iaas.GSLBServers{
 			{
 				IPAddress: examples.IPAddress,
 				Enabled:   true,
diff --git a/pkg/cmd/commands/gslb/resource.go b/pkg/cmd/commands/gslb/resource.go
index f7bff3d1..d3b82be2 100644
--- a/pkg/cmd/commands/gslb/resource.go
+++ b/pkg/cmd/commands/gslb/resource.go
@@ -17,7 +17,7 @@ package gslb
 import (
 	"reflect"
 
-	"github.com/sacloud/libsacloud/v2/helper/service/gslb"
+	"github.com/sacloud/iaas-service-go/gslb"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 )
 
diff --git a/pkg/cmd/commands/gslb/update.go b/pkg/cmd/commands/gslb/update.go
index fdb39004..44914729 100644
--- a/pkg/cmd/commands/gslb/update.go
+++ b/pkg/cmd/commands/gslb/update.go
@@ -17,8 +17,8 @@ package gslb
 import (
 	"net/http"
 
-	"github.com/sacloud/libsacloud/v2/sacloud"
-	"github.com/sacloud/libsacloud/v2/sacloud/pointer"
+	"github.com/sacloud/iaas-api-go"
+	"github.com/sacloud/packages-go/pointer"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
@@ -56,8 +56,8 @@ type updateParameter struct {
 	Weighted    *bool   `cli:",category=health,order=20"`
 	SorryServer *string `validate:"omitempty,ipv4"`
 
-	ServersData        *string              `cli:"servers" mapconv:"-" json:"-"`
-	DestinationServers *sacloud.GSLBServers `cli:"-"`
+	ServersData        *string           `cli:"servers" mapconv:"-" json:"-"`
+	DestinationServers *iaas.GSLBServers `cli:"-"`
 }
 
 type gslbHealthCheckUpdate struct {
@@ -79,12 +79,12 @@ func init() {
 // Customize パラメータ変換処理
 func (p *updateParameter) Customize(_ cli.Context) error {
 	if p.ServersData != nil && *p.ServersData != "" {
-		var servers sacloud.GSLBServers
+		var servers iaas.GSLBServers
 		if err := util.MarshalJSONFromPathOrContent(*p.ServersData, &servers); err != nil {
 			return err
 		}
 		if p.DestinationServers == nil {
-			p.DestinationServers = &sacloud.GSLBServers{}
+			p.DestinationServers = &iaas.GSLBServers{}
 		}
 		*p.DestinationServers = append(*p.DestinationServers, servers...)
 	}
@@ -108,7 +108,7 @@ func (p *updateParameter) ExampleParameters(ctx cli.Context) interface{} {
 		DelayLoop:   pointer.NewInt(10),
 		Weighted:    pointer.NewBool(true),
 		SorryServer: pointer.NewString("192.0.2.1"),
-		DestinationServers: &sacloud.GSLBServers{
+		DestinationServers: &iaas.GSLBServers{
 			{
 				IPAddress: examples.IPAddress,
 				Enabled:   true,
diff --git a/pkg/cmd/commands/gslb/zz_update_gen.go b/pkg/cmd/commands/gslb/zz_update_gen.go
index 3de9a2e9..90cdbd1c 100644
--- a/pkg/cmd/commands/gslb/zz_update_gen.go
+++ b/pkg/cmd/commands/gslb/zz_update_gen.go
@@ -17,8 +17,8 @@
 package gslb
 
 import (
-	"github.com/sacloud/libsacloud/v2/sacloud/pointer"
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
+	"github.com/sacloud/iaas-api-go/types"
+	"github.com/sacloud/packages-go/pointer"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 	"github.com/spf13/cobra"
 	"github.com/spf13/pflag"
@@ -77,7 +77,8 @@ func (p *updateParameter) buildFlags(fs *pflag.FlagSet) {
 		p.Tags = pointer.NewStringSlice([]string{})
 	}
 	if p.IconID == nil {
-		p.IconID = pointer.NewID(types.ID(0))
+		v := types.ID(0)
+		p.IconID = &v
 	}
 	if p.HealthCheck.Protocol == nil {
 		p.HealthCheck.Protocol = pointer.NewString("")
diff --git a/pkg/cmd/commands/icon/resource.go b/pkg/cmd/commands/icon/resource.go
index d12ec107..eb3de9fd 100644
--- a/pkg/cmd/commands/icon/resource.go
+++ b/pkg/cmd/commands/icon/resource.go
@@ -17,7 +17,7 @@ package icon
 import (
 	"reflect"
 
-	"github.com/sacloud/libsacloud/v2/helper/service/icon"
+	"github.com/sacloud/iaas-service-go/icon"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 )
 
diff --git a/pkg/cmd/commands/icon/zz_update_gen.go b/pkg/cmd/commands/icon/zz_update_gen.go
index fc50fc13..b386d742 100644
--- a/pkg/cmd/commands/icon/zz_update_gen.go
+++ b/pkg/cmd/commands/icon/zz_update_gen.go
@@ -17,7 +17,7 @@
 package icon
 
 import (
-	"github.com/sacloud/libsacloud/v2/sacloud/pointer"
+	"github.com/sacloud/packages-go/pointer"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 	"github.com/spf13/cobra"
 	"github.com/spf13/pflag"
diff --git a/pkg/cmd/commands/iface/resource.go b/pkg/cmd/commands/iface/resource.go
index 270cea10..02831995 100644
--- a/pkg/cmd/commands/iface/resource.go
+++ b/pkg/cmd/commands/iface/resource.go
@@ -17,7 +17,7 @@ package iface
 import (
 	"reflect"
 
-	"github.com/sacloud/libsacloud/v2/helper/service/iface"
+	"github.com/sacloud/iaas-service-go/iface"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 )
 
diff --git a/pkg/cmd/commands/internet/delete_subnet.go b/pkg/cmd/commands/internet/delete_subnet.go
index ed7a085a..6f50d5ff 100644
--- a/pkg/cmd/commands/internet/delete_subnet.go
+++ b/pkg/cmd/commands/internet/delete_subnet.go
@@ -15,7 +15,7 @@
 package internet
 
 import (
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
+	"github.com/sacloud/iaas-api-go/types"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 )
diff --git a/pkg/cmd/commands/internet/resource.go b/pkg/cmd/commands/internet/resource.go
index e2e3dd28..c7c91f69 100644
--- a/pkg/cmd/commands/internet/resource.go
+++ b/pkg/cmd/commands/internet/resource.go
@@ -17,7 +17,7 @@ package internet
 import (
 	"reflect"
 
-	"github.com/sacloud/libsacloud/v2/helper/service/internet"
+	"github.com/sacloud/iaas-service-go/internet"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 )
 
diff --git a/pkg/cmd/commands/internet/update.go b/pkg/cmd/commands/internet/update.go
index 95feea53..a0cfb124 100644
--- a/pkg/cmd/commands/internet/update.go
+++ b/pkg/cmd/commands/internet/update.go
@@ -15,7 +15,7 @@
 package internet
 
 import (
-	"github.com/sacloud/libsacloud/v2/sacloud/pointer"
+	"github.com/sacloud/packages-go/pointer"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
diff --git a/pkg/cmd/commands/internet/zz_update_gen.go b/pkg/cmd/commands/internet/zz_update_gen.go
index 75952c6e..08bb1bbf 100644
--- a/pkg/cmd/commands/internet/zz_update_gen.go
+++ b/pkg/cmd/commands/internet/zz_update_gen.go
@@ -17,8 +17,8 @@
 package internet
 
 import (
-	"github.com/sacloud/libsacloud/v2/sacloud/pointer"
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
+	"github.com/sacloud/iaas-api-go/types"
+	"github.com/sacloud/packages-go/pointer"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 	"github.com/sacloud/usacloud/pkg/util"
 	"github.com/spf13/cobra"
@@ -57,7 +57,8 @@ func (p *updateParameter) buildFlags(fs *pflag.FlagSet) {
 		p.Tags = pointer.NewStringSlice([]string{})
 	}
 	if p.IconID == nil {
-		p.IconID = pointer.NewID(types.ID(0))
+		v := types.ID(0)
+		p.IconID = &v
 	}
 	if p.BandWidthMbps == nil {
 		p.BandWidthMbps = pointer.NewInt(0)
diff --git a/pkg/cmd/commands/internetplan/resource.go b/pkg/cmd/commands/internetplan/resource.go
index 9f002378..5e11b1c3 100644
--- a/pkg/cmd/commands/internetplan/resource.go
+++ b/pkg/cmd/commands/internetplan/resource.go
@@ -17,7 +17,7 @@ package internetplan
 import (
 	"reflect"
 
-	"github.com/sacloud/libsacloud/v2/helper/service/internetplan"
+	"github.com/sacloud/iaas-service-go/internetplan"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 )
 
diff --git a/pkg/cmd/commands/ipaddress/resource.go b/pkg/cmd/commands/ipaddress/resource.go
index debc0571..b433e42d 100644
--- a/pkg/cmd/commands/ipaddress/resource.go
+++ b/pkg/cmd/commands/ipaddress/resource.go
@@ -17,7 +17,7 @@ package ipaddress
 import (
 	"reflect"
 
-	"github.com/sacloud/libsacloud/v2/helper/service/ipaddress"
+	"github.com/sacloud/iaas-service-go/ipaddress"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 )
 
diff --git a/pkg/cmd/commands/ipv6addr/resource.go b/pkg/cmd/commands/ipv6addr/resource.go
index 595f7531..fef90eb0 100644
--- a/pkg/cmd/commands/ipv6addr/resource.go
+++ b/pkg/cmd/commands/ipv6addr/resource.go
@@ -17,7 +17,7 @@ package ipv6addr
 import (
 	"reflect"
 
-	"github.com/sacloud/libsacloud/v2/helper/service/ipv6addr"
+	"github.com/sacloud/iaas-service-go/ipv6addr"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 )
 
diff --git a/pkg/cmd/commands/ipv6net/resource.go b/pkg/cmd/commands/ipv6net/resource.go
index 27fc1255..d99a6b5c 100644
--- a/pkg/cmd/commands/ipv6net/resource.go
+++ b/pkg/cmd/commands/ipv6net/resource.go
@@ -17,7 +17,7 @@ package ipv6net
 import (
 	"reflect"
 
-	"github.com/sacloud/libsacloud/v2/helper/service/ipv6net"
+	"github.com/sacloud/iaas-service-go/ipv6net"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 )
 
diff --git a/pkg/cmd/commands/license/create.go b/pkg/cmd/commands/license/create.go
index ded2bc0c..9aa4e3ce 100644
--- a/pkg/cmd/commands/license/create.go
+++ b/pkg/cmd/commands/license/create.go
@@ -15,7 +15,7 @@
 package license
 
 import (
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
+	"github.com/sacloud/iaas-api-go/types"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
diff --git a/pkg/cmd/commands/license/resource.go b/pkg/cmd/commands/license/resource.go
index 02160da4..6c473f8c 100644
--- a/pkg/cmd/commands/license/resource.go
+++ b/pkg/cmd/commands/license/resource.go
@@ -17,7 +17,7 @@ package license
 import (
 	"reflect"
 
-	"github.com/sacloud/libsacloud/v2/helper/service/license"
+	"github.com/sacloud/iaas-service-go/license"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 )
 
diff --git a/pkg/cmd/commands/license/zz_update_gen.go b/pkg/cmd/commands/license/zz_update_gen.go
index f20ea497..0331f998 100644
--- a/pkg/cmd/commands/license/zz_update_gen.go
+++ b/pkg/cmd/commands/license/zz_update_gen.go
@@ -17,7 +17,7 @@
 package license
 
 import (
-	"github.com/sacloud/libsacloud/v2/sacloud/pointer"
+	"github.com/sacloud/packages-go/pointer"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 	"github.com/spf13/cobra"
 	"github.com/spf13/pflag"
diff --git a/pkg/cmd/commands/licenseinfo/resource.go b/pkg/cmd/commands/licenseinfo/resource.go
index 2375dabe..3a2e9df9 100644
--- a/pkg/cmd/commands/licenseinfo/resource.go
+++ b/pkg/cmd/commands/licenseinfo/resource.go
@@ -17,7 +17,7 @@ package licenseinfo
 import (
 	"reflect"
 
-	"github.com/sacloud/libsacloud/v2/helper/service/licenseinfo"
+	"github.com/sacloud/iaas-service-go/licenseinfo"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 )
 
diff --git a/pkg/cmd/commands/loadbalancer/create.go b/pkg/cmd/commands/loadbalancer/create.go
index 557cfcf8..eede0152 100644
--- a/pkg/cmd/commands/loadbalancer/create.go
+++ b/pkg/cmd/commands/loadbalancer/create.go
@@ -18,15 +18,14 @@ import (
 	"fmt"
 	"net/http"
 
-	"github.com/sacloud/usacloud/pkg/validate"
-
-	"github.com/sacloud/libsacloud/v2/sacloud"
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
+	"github.com/sacloud/iaas-api-go"
+	"github.com/sacloud/iaas-api-go/types"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 	"github.com/sacloud/usacloud/pkg/cmd/examples"
 	"github.com/sacloud/usacloud/pkg/util"
+	"github.com/sacloud/usacloud/pkg/validate"
 )
 
 var createCommand = &core.Command{
@@ -63,8 +62,8 @@ type createParameter struct {
 	DefaultRoute   string   `cli:"gateway,aliases=default-route,category=network,order=50" validate:"omitempty,ipv4"`
 	Port           int      `cli:",category=network,order=60" validate:"omitempty,min=1,max=65535"`
 
-	VirtualIPAddressesData string                                 `cli:"virtual-ip-addresses,aliases=vips,category=network,order=70" mapconv:"-" json:"-"`
-	VirtualIPAddresses     sacloud.LoadBalancerVirtualIPAddresses `cli:"-"`
+	VirtualIPAddressesData string                              `cli:"virtual-ip-addresses,aliases=vips,category=network,order=70" mapconv:"-" json:"-"`
+	VirtualIPAddresses     iaas.LoadBalancerVirtualIPAddresses `cli:"-"`
 
 	cflag.NoWaitParameter `cli:",squash" mapconv:",squash"`
 }
@@ -105,7 +104,7 @@ func init() {
 // Customize パラメータ変換処理
 func (p *createParameter) Customize(_ cli.Context) error {
 	if p.VirtualIPAddressesData != "" {
-		var vips sacloud.LoadBalancerVirtualIPAddresses
+		var vips iaas.LoadBalancerVirtualIPAddresses
 		if err := util.MarshalJSONFromPathOrContent(p.VirtualIPAddressesData, &vips); err != nil {
 			return err
 		}
@@ -129,19 +128,19 @@ func (p *createParameter) ExampleParameters(ctx cli.Context) interface{} {
 		NetworkMaskLen:  examples.NetworkMaskLen,
 		DefaultRoute:    examples.DefaultRoute,
 		Port:            80,
-		VirtualIPAddresses: sacloud.LoadBalancerVirtualIPAddresses{
+		VirtualIPAddresses: iaas.LoadBalancerVirtualIPAddresses{
 			{
 				VirtualIPAddress: examples.VirtualIPAddress,
 				Port:             80,
 				DelayLoop:        10,
 				SorryServer:      "192.0.2.1",
 				Description:      "example",
-				Servers: sacloud.LoadBalancerServers{
+				Servers: iaas.LoadBalancerServers{
 					{
 						IPAddress: "192.0.2.101",
 						Port:      80,
 						Enabled:   true,
-						HealthCheck: &sacloud.LoadBalancerServerHealthCheck{
+						HealthCheck: &iaas.LoadBalancerServerHealthCheck{
 							Protocol:     types.ELoadBalancerHealthCheckProtocol(examples.OptionsString("loadbalancer_server_protocol")),
 							Path:         "/",
 							ResponseCode: http.StatusOK,
diff --git a/pkg/cmd/commands/loadbalancer/resource.go b/pkg/cmd/commands/loadbalancer/resource.go
index dcace70e..3107e365 100644
--- a/pkg/cmd/commands/loadbalancer/resource.go
+++ b/pkg/cmd/commands/loadbalancer/resource.go
@@ -17,7 +17,7 @@ package loadbalancer
 import (
 	"reflect"
 
-	"github.com/sacloud/libsacloud/v2/helper/service/loadbalancer"
+	"github.com/sacloud/iaas-service-go/loadbalancer"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 )
 
diff --git a/pkg/cmd/commands/loadbalancer/update.go b/pkg/cmd/commands/loadbalancer/update.go
index 4473b37d..884cc796 100644
--- a/pkg/cmd/commands/loadbalancer/update.go
+++ b/pkg/cmd/commands/loadbalancer/update.go
@@ -17,8 +17,8 @@ package loadbalancer
 import (
 	"net/http"
 
-	"github.com/sacloud/libsacloud/v2/sacloud"
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
+	"github.com/sacloud/iaas-api-go"
+	"github.com/sacloud/iaas-api-go/types"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
@@ -51,8 +51,8 @@ type updateParameter struct {
 	cflag.TagsUpdateParameter   `cli:",squash" mapconv:",omitempty,squash"`
 	cflag.IconIDUpdateParameter `cli:",squash" mapconv:",omitempty,squash"`
 
-	VirtualIPAddressesData *string                                 `cli:"virtual-ip-addresses,aliases=vips,category=network" mapconv:"-" json:"-"`
-	VirtualIPAddresses     *sacloud.LoadBalancerVirtualIPAddresses `cli:"-"`
+	VirtualIPAddressesData *string                              `cli:"virtual-ip-addresses,aliases=vips,category=network" mapconv:"-" json:"-"`
+	VirtualIPAddresses     *iaas.LoadBalancerVirtualIPAddresses `cli:"-"`
 	cflag.NoWaitParameter  `cli:",squash" mapconv:",squash"`
 }
 
@@ -67,12 +67,12 @@ func init() {
 // Customize パラメータ変換処理
 func (p *updateParameter) Customize(_ cli.Context) error {
 	if p.VirtualIPAddressesData != nil && *p.VirtualIPAddressesData != "" {
-		var vips sacloud.LoadBalancerVirtualIPAddresses
+		var vips iaas.LoadBalancerVirtualIPAddresses
 		if err := util.MarshalJSONFromPathOrContent(*p.VirtualIPAddressesData, &vips); err != nil {
 			return err
 		}
 		if p.VirtualIPAddresses == nil {
-			p.VirtualIPAddresses = &sacloud.LoadBalancerVirtualIPAddresses{}
+			p.VirtualIPAddresses = &iaas.LoadBalancerVirtualIPAddresses{}
 		}
 		*p.VirtualIPAddresses = append(*p.VirtualIPAddresses, vips...)
 	}
@@ -87,19 +87,19 @@ func (p *updateParameter) ExampleParameters(ctx cli.Context) interface{} {
 		DescUpdateParameter:   examples.DescriptionUpdate,
 		TagsUpdateParameter:   examples.TagsUpdate,
 		IconIDUpdateParameter: examples.IconIDUpdate,
-		VirtualIPAddresses: &sacloud.LoadBalancerVirtualIPAddresses{
+		VirtualIPAddresses: &iaas.LoadBalancerVirtualIPAddresses{
 			{
 				VirtualIPAddress: examples.VirtualIPAddress,
 				Port:             80,
 				DelayLoop:        10,
 				SorryServer:      "192.0.2.1",
 				Description:      "example",
-				Servers: sacloud.LoadBalancerServers{
+				Servers: iaas.LoadBalancerServers{
 					{
 						IPAddress: "192.0.2.101",
 						Port:      80,
 						Enabled:   true,
-						HealthCheck: &sacloud.LoadBalancerServerHealthCheck{
+						HealthCheck: &iaas.LoadBalancerServerHealthCheck{
 							Protocol:     types.ELoadBalancerHealthCheckProtocol(examples.OptionsString("loadbalancer_server_protocol")),
 							Path:         "/",
 							ResponseCode: http.StatusOK,
diff --git a/pkg/cmd/commands/loadbalancer/zz_update_gen.go b/pkg/cmd/commands/loadbalancer/zz_update_gen.go
index 887c5bc2..d87be44d 100644
--- a/pkg/cmd/commands/loadbalancer/zz_update_gen.go
+++ b/pkg/cmd/commands/loadbalancer/zz_update_gen.go
@@ -17,8 +17,8 @@
 package loadbalancer
 
 import (
-	"github.com/sacloud/libsacloud/v2/sacloud/pointer"
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
+	"github.com/sacloud/iaas-api-go/types"
+	"github.com/sacloud/packages-go/pointer"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 	"github.com/spf13/cobra"
 	"github.com/spf13/pflag"
@@ -53,7 +53,8 @@ func (p *updateParameter) buildFlags(fs *pflag.FlagSet) {
 		p.Tags = pointer.NewStringSlice([]string{})
 	}
 	if p.IconID == nil {
-		p.IconID = pointer.NewID(types.ID(0))
+		v := types.ID(0)
+		p.IconID = &v
 	}
 	if p.VirtualIPAddressesData == nil {
 		p.VirtualIPAddressesData = pointer.NewString("")
diff --git a/pkg/cmd/commands/localrouter/create.go b/pkg/cmd/commands/localrouter/create.go
index 1671a503..933b62c2 100644
--- a/pkg/cmd/commands/localrouter/create.go
+++ b/pkg/cmd/commands/localrouter/create.go
@@ -15,7 +15,7 @@
 package localrouter
 
 import (
-	"github.com/sacloud/libsacloud/v2/sacloud"
+	"github.com/sacloud/iaas-api-go"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
@@ -49,11 +49,11 @@ type createParameter struct {
 
 	Interface interfaceParameter `cli:",squash"`
 
-	PeersData string                     `cli:"peers" mapconv:"-" json:"-"`
-	Peers     []*sacloud.LocalRouterPeer `cli:"-"`
+	PeersData string                  `cli:"peers" mapconv:"-" json:"-"`
+	Peers     []*iaas.LocalRouterPeer `cli:"-"`
 
-	StaticRoutesData string                            `cli:"static-routes" mapconv:"-" json:"-"`
-	StaticRoutes     []*sacloud.LocalRouterStaticRoute `cli:"-"`
+	StaticRoutesData string                         `cli:"static-routes" mapconv:"-" json:"-"`
+	StaticRoutes     []*iaas.LocalRouterStaticRoute `cli:"-"`
 }
 
 type switchParameter struct {
@@ -80,14 +80,14 @@ func init() {
 // Customize パラメータ変換処理
 func (p *createParameter) Customize(_ cli.Context) error {
 	if p.PeersData != "" {
-		var peers []*sacloud.LocalRouterPeer
+		var peers []*iaas.LocalRouterPeer
 		if err := util.MarshalJSONFromPathOrContent(p.PeersData, &peers); err != nil {
 			return err
 		}
 		p.Peers = append(p.Peers, peers...)
 	}
 	if p.StaticRoutesData != "" {
-		var staticRoutes []*sacloud.LocalRouterStaticRoute
+		var staticRoutes []*iaas.LocalRouterStaticRoute
 		if err := util.MarshalJSONFromPathOrContent(p.StaticRoutesData, &staticRoutes); err != nil {
 			return err
 		}
@@ -114,7 +114,7 @@ func (p *createParameter) ExampleParameters(ctx cli.Context) interface{} {
 			NetworkMaskLen:   examples.NetworkMaskLen,
 			VRID:             1,
 		},
-		Peers: []*sacloud.LocalRouterPeer{
+		Peers: []*iaas.LocalRouterPeer{
 			{
 				ID:          examples.ID,
 				SecretKey:   "*****",
@@ -122,7 +122,7 @@ func (p *createParameter) ExampleParameters(ctx cli.Context) interface{} {
 				Description: "example-peer",
 			},
 		},
-		StaticRoutes: []*sacloud.LocalRouterStaticRoute{
+		StaticRoutes: []*iaas.LocalRouterStaticRoute{
 			{
 				Prefix:  "192.0.2.0/24",
 				NextHop: "192.0.2.1",
diff --git a/pkg/cmd/commands/localrouter/resource.go b/pkg/cmd/commands/localrouter/resource.go
index 451dedec..cc669dc8 100644
--- a/pkg/cmd/commands/localrouter/resource.go
+++ b/pkg/cmd/commands/localrouter/resource.go
@@ -17,7 +17,7 @@ package localrouter
 import (
 	"reflect"
 
-	"github.com/sacloud/libsacloud/v2/helper/service/localrouter"
+	"github.com/sacloud/iaas-service-go/localrouter"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 )
 
diff --git a/pkg/cmd/commands/localrouter/update.go b/pkg/cmd/commands/localrouter/update.go
index 91c45469..7ff76704 100644
--- a/pkg/cmd/commands/localrouter/update.go
+++ b/pkg/cmd/commands/localrouter/update.go
@@ -15,8 +15,8 @@
 package localrouter
 
 import (
-	"github.com/sacloud/libsacloud/v2/sacloud"
-	"github.com/sacloud/libsacloud/v2/sacloud/pointer"
+	"github.com/sacloud/iaas-api-go"
+	"github.com/sacloud/packages-go/pointer"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
@@ -52,11 +52,11 @@ type updateParameter struct {
 
 	Interface interfaceParameterUpdate `cli:",squash"`
 
-	PeersData *string                     `cli:"peers" mapconv:"-" json:"-"`
-	Peers     *[]*sacloud.LocalRouterPeer `cli:"-"`
+	PeersData *string                  `cli:"peers" mapconv:"-" json:"-"`
+	Peers     *[]*iaas.LocalRouterPeer `cli:"-"`
 
-	StaticRoutesData *string                            `cli:"static-routes" mapconv:"-" json:"-"`
-	StaticRoutes     *[]*sacloud.LocalRouterStaticRoute `cli:"-"`
+	StaticRoutesData *string                         `cli:"static-routes" mapconv:"-" json:"-"`
+	StaticRoutes     *[]*iaas.LocalRouterStaticRoute `cli:"-"`
 }
 
 type switchParameterUpdate struct {
@@ -83,22 +83,22 @@ func init() {
 // Customize パラメータ変換処理
 func (p *updateParameter) Customize(_ cli.Context) error {
 	if p.PeersData != nil && *p.PeersData != "" {
-		var peers []*sacloud.LocalRouterPeer
+		var peers []*iaas.LocalRouterPeer
 		if err := util.MarshalJSONFromPathOrContent(*p.PeersData, &peers); err != nil {
 			return err
 		}
 		if p.Peers == nil {
-			p.Peers = &[]*sacloud.LocalRouterPeer{}
+			p.Peers = &[]*iaas.LocalRouterPeer{}
 		}
 		*p.Peers = append(*p.Peers, peers...)
 	}
 	if p.StaticRoutesData != nil && *p.StaticRoutesData != "" {
-		var staticRoutes []*sacloud.LocalRouterStaticRoute
+		var staticRoutes []*iaas.LocalRouterStaticRoute
 		if err := util.MarshalJSONFromPathOrContent(*p.StaticRoutesData, &staticRoutes); err != nil {
 			return err
 		}
 		if p.StaticRoutes == nil {
-			p.StaticRoutes = &[]*sacloud.LocalRouterStaticRoute{}
+			p.StaticRoutes = &[]*iaas.LocalRouterStaticRoute{}
 		}
 		*p.StaticRoutes = append(*p.StaticRoutes, staticRoutes...)
 	}
@@ -122,7 +122,7 @@ func (p *updateParameter) ExampleParameters(ctx cli.Context) interface{} {
 			NetworkMaskLen:   pointer.NewInt(examples.NetworkMaskLen),
 			VRID:             pointer.NewInt(1),
 		},
-		Peers: &[]*sacloud.LocalRouterPeer{
+		Peers: &[]*iaas.LocalRouterPeer{
 			{
 				ID:          examples.ID,
 				SecretKey:   "*****",
@@ -130,7 +130,7 @@ func (p *updateParameter) ExampleParameters(ctx cli.Context) interface{} {
 				Description: "example-peer",
 			},
 		},
-		StaticRoutes: &[]*sacloud.LocalRouterStaticRoute{
+		StaticRoutes: &[]*iaas.LocalRouterStaticRoute{
 			{
 				Prefix:  "192.0.2.0/24",
 				NextHop: "192.0.2.1",
diff --git a/pkg/cmd/commands/localrouter/zz_update_gen.go b/pkg/cmd/commands/localrouter/zz_update_gen.go
index ce2e7ddb..b95d3aec 100644
--- a/pkg/cmd/commands/localrouter/zz_update_gen.go
+++ b/pkg/cmd/commands/localrouter/zz_update_gen.go
@@ -17,8 +17,8 @@
 package localrouter
 
 import (
-	"github.com/sacloud/libsacloud/v2/sacloud/pointer"
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
+	"github.com/sacloud/iaas-api-go/types"
+	"github.com/sacloud/packages-go/pointer"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 	"github.com/spf13/cobra"
 	"github.com/spf13/pflag"
@@ -77,7 +77,8 @@ func (p *updateParameter) buildFlags(fs *pflag.FlagSet) {
 		p.Tags = pointer.NewStringSlice([]string{})
 	}
 	if p.IconID == nil {
-		p.IconID = pointer.NewID(types.ID(0))
+		v := types.ID(0)
+		p.IconID = &v
 	}
 	if p.Switch.Code == nil {
 		p.Switch.Code = pointer.NewString("")
diff --git a/pkg/cmd/commands/mobilegateway/create.go b/pkg/cmd/commands/mobilegateway/create.go
index f5f56600..3fe7f885 100644
--- a/pkg/cmd/commands/mobilegateway/create.go
+++ b/pkg/cmd/commands/mobilegateway/create.go
@@ -15,8 +15,8 @@
 package mobilegateway
 
 import (
-	"github.com/sacloud/libsacloud/v2/helper/service/mobilegateway"
-	"github.com/sacloud/libsacloud/v2/sacloud"
+	"github.com/sacloud/iaas-api-go"
+	"github.com/sacloud/iaas-service-go/mobilegateway"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
@@ -56,8 +56,8 @@ type createParameter struct {
 	SIMRoutesData string                           `cli:"sim-routes" mapconv:"-" json:"-"`
 	SIMRoutes     []*mobilegateway.SIMRouteSetting `cli:"-"`
 
-	StaticRoutesData string                              `cli:"static-routes" mapconv:"-" json:"-"`
-	StaticRoutes     []*sacloud.MobileGatewayStaticRoute `cli:"-"`
+	StaticRoutesData string                           `cli:"static-routes" mapconv:"-" json:"-"`
+	StaticRoutes     []*iaas.MobileGatewayStaticRoute `cli:"-"`
 
 	PrivateInterface mobilegateway.PrivateInterfaceSetting `cli:",category=network" mapconv:",omitempty" validate:"omitempty"`
 	DNS              mobilegateway.DNSSetting              `cli:",squash" mapconv:",omitempty" validate:"omitempty"`
@@ -94,7 +94,7 @@ func (p *createParameter) Customize(_ cli.Context) error {
 	}
 
 	if p.StaticRoutesData != "" {
-		var staticRoutes []*sacloud.MobileGatewayStaticRoute
+		var staticRoutes []*iaas.MobileGatewayStaticRoute
 		if err := util.MarshalJSONFromPathOrContent(p.StaticRoutesData, &staticRoutes); err != nil {
 			return err
 		}
@@ -125,7 +125,7 @@ func (p *createParameter) ExampleParameters(ctx cli.Context) interface{} {
 				Prefix: "192.0.2.0/24",
 			},
 		},
-		StaticRoutes: []*sacloud.MobileGatewayStaticRoute{
+		StaticRoutes: []*iaas.MobileGatewayStaticRoute{
 			{
 				NextHop: "192.0.2.2",
 				Prefix:  "192.0.2.0/24",
diff --git a/pkg/cmd/commands/mobilegateway/resource.go b/pkg/cmd/commands/mobilegateway/resource.go
index bd2e4a4d..10258975 100644
--- a/pkg/cmd/commands/mobilegateway/resource.go
+++ b/pkg/cmd/commands/mobilegateway/resource.go
@@ -17,7 +17,7 @@ package mobilegateway
 import (
 	"reflect"
 
-	"github.com/sacloud/libsacloud/v2/helper/service/mobilegateway"
+	"github.com/sacloud/iaas-service-go/mobilegateway"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 )
 
diff --git a/pkg/cmd/commands/mobilegateway/update.go b/pkg/cmd/commands/mobilegateway/update.go
index 31d6147d..64875c3a 100644
--- a/pkg/cmd/commands/mobilegateway/update.go
+++ b/pkg/cmd/commands/mobilegateway/update.go
@@ -15,9 +15,9 @@
 package mobilegateway
 
 import (
-	"github.com/sacloud/libsacloud/v2/helper/service/mobilegateway"
-	"github.com/sacloud/libsacloud/v2/sacloud"
-	"github.com/sacloud/libsacloud/v2/sacloud/pointer"
+	"github.com/sacloud/iaas-api-go"
+	"github.com/sacloud/iaas-service-go/mobilegateway"
+	"github.com/sacloud/packages-go/pointer"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
@@ -61,8 +61,8 @@ type updateParameter struct {
 	SIMRoutesData *string                           `cli:"sim-routes" mapconv:"-" json:"-"`
 	SIMRoutes     *[]*mobilegateway.SIMRouteSetting `cli:"-"`
 
-	StaticRoutesData *string                              `cli:"static-routes" mapconv:"-" json:"-"`
-	StaticRoutes     *[]*sacloud.MobileGatewayStaticRoute `cli:"-"`
+	StaticRoutesData *string                           `cli:"static-routes" mapconv:"-" json:"-"`
+	StaticRoutes     *[]*iaas.MobileGatewayStaticRoute `cli:"-"`
 
 	DNS           mobilegateway.DNSSettingUpdate    `cli:",squash" mapconv:",omitempty"`
 	TrafficConfig mobilegateway.TrafficConfigUpdate `mapconv:",omitempty"`
@@ -103,12 +103,12 @@ func (p *updateParameter) Customize(_ cli.Context) error {
 	}
 
 	if p.StaticRoutesData != nil && *p.StaticRoutesData != "" {
-		var staticRoutes []*sacloud.MobileGatewayStaticRoute
+		var staticRoutes []*iaas.MobileGatewayStaticRoute
 		if err := util.MarshalJSONFromPathOrContent(*p.StaticRoutesData, &staticRoutes); err != nil {
 			return err
 		}
 		if p.StaticRoutes == nil {
-			p.StaticRoutes = &[]*sacloud.MobileGatewayStaticRoute{}
+			p.StaticRoutes = &[]*iaas.MobileGatewayStaticRoute{}
 		}
 		*p.StaticRoutes = append(*p.StaticRoutes, staticRoutes...)
 	}
@@ -137,7 +137,7 @@ func (p *updateParameter) ExampleParameters(ctx cli.Context) interface{} {
 				Prefix: "192.0.2.0/24",
 			},
 		},
-		StaticRoutes: &[]*sacloud.MobileGatewayStaticRoute{
+		StaticRoutes: &[]*iaas.MobileGatewayStaticRoute{
 			{
 				NextHop: "192.0.2.2",
 				Prefix:  "192.0.2.0/24",
diff --git a/pkg/cmd/commands/mobilegateway/zz_update_gen.go b/pkg/cmd/commands/mobilegateway/zz_update_gen.go
index 155a2216..822eeb14 100644
--- a/pkg/cmd/commands/mobilegateway/zz_update_gen.go
+++ b/pkg/cmd/commands/mobilegateway/zz_update_gen.go
@@ -17,8 +17,8 @@
 package mobilegateway
 
 import (
-	"github.com/sacloud/libsacloud/v2/sacloud/pointer"
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
+	"github.com/sacloud/iaas-api-go/types"
+	"github.com/sacloud/packages-go/pointer"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 	"github.com/spf13/cobra"
 	"github.com/spf13/pflag"
@@ -98,10 +98,12 @@ func (p *updateParameter) buildFlags(fs *pflag.FlagSet) {
 		p.Tags = pointer.NewStringSlice([]string{})
 	}
 	if p.IconID == nil {
-		p.IconID = pointer.NewID(types.ID(0))
+		v := types.ID(0)
+		p.IconID = &v
 	}
 	if p.PrivateInterface.SwitchID == nil {
-		p.PrivateInterface.SwitchID = pointer.NewID(types.ID(0))
+		v := types.ID(0)
+		p.PrivateInterface.SwitchID = &v
 	}
 	if p.PrivateInterface.IPAddress == nil {
 		p.PrivateInterface.IPAddress = pointer.NewString("")
diff --git a/pkg/cmd/commands/nfs/create.go b/pkg/cmd/commands/nfs/create.go
index 646f7a8e..95bd71bd 100644
--- a/pkg/cmd/commands/nfs/create.go
+++ b/pkg/cmd/commands/nfs/create.go
@@ -15,7 +15,7 @@
 package nfs
 
 import (
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
+	"github.com/sacloud/iaas-api-go/types"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
diff --git a/pkg/cmd/commands/nfs/resource.go b/pkg/cmd/commands/nfs/resource.go
index 47127973..cd41e4d3 100644
--- a/pkg/cmd/commands/nfs/resource.go
+++ b/pkg/cmd/commands/nfs/resource.go
@@ -17,7 +17,7 @@ package nfs
 import (
 	"reflect"
 
-	"github.com/sacloud/libsacloud/v2/helper/service/nfs"
+	"github.com/sacloud/iaas-service-go/nfs"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 )
 
diff --git a/pkg/cmd/commands/nfs/zz_update_gen.go b/pkg/cmd/commands/nfs/zz_update_gen.go
index 75cab74a..24324ea3 100644
--- a/pkg/cmd/commands/nfs/zz_update_gen.go
+++ b/pkg/cmd/commands/nfs/zz_update_gen.go
@@ -17,8 +17,8 @@
 package nfs
 
 import (
-	"github.com/sacloud/libsacloud/v2/sacloud/pointer"
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
+	"github.com/sacloud/iaas-api-go/types"
+	"github.com/sacloud/packages-go/pointer"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 	"github.com/spf13/cobra"
 	"github.com/spf13/pflag"
@@ -50,7 +50,8 @@ func (p *updateParameter) buildFlags(fs *pflag.FlagSet) {
 		p.Tags = pointer.NewStringSlice([]string{})
 	}
 	if p.IconID == nil {
-		p.IconID = pointer.NewID(types.ID(0))
+		v := types.ID(0)
+		p.IconID = &v
 	}
 	fs.StringVarP(&p.Zone, "zone", "", p.Zone, "(*required) ")
 	fs.StringVarP(&p.Parameters, "parameters", "", p.Parameters, "Input parameters in JSON format")
diff --git a/pkg/cmd/commands/note/resource.go b/pkg/cmd/commands/note/resource.go
index 5eafb668..d3186afd 100644
--- a/pkg/cmd/commands/note/resource.go
+++ b/pkg/cmd/commands/note/resource.go
@@ -17,7 +17,7 @@ package note
 import (
 	"reflect"
 
-	"github.com/sacloud/libsacloud/v2/helper/service/note"
+	"github.com/sacloud/iaas-service-go/note"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 )
 
diff --git a/pkg/cmd/commands/note/zz_update_gen.go b/pkg/cmd/commands/note/zz_update_gen.go
index f12f696d..a46cde86 100644
--- a/pkg/cmd/commands/note/zz_update_gen.go
+++ b/pkg/cmd/commands/note/zz_update_gen.go
@@ -17,8 +17,8 @@
 package note
 
 import (
-	"github.com/sacloud/libsacloud/v2/sacloud/pointer"
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
+	"github.com/sacloud/iaas-api-go/types"
+	"github.com/sacloud/packages-go/pointer"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 	"github.com/spf13/cobra"
 	"github.com/spf13/pflag"
@@ -47,7 +47,8 @@ func (p *updateParameter) buildFlags(fs *pflag.FlagSet) {
 		p.Tags = pointer.NewStringSlice([]string{})
 	}
 	if p.IconID == nil {
-		p.IconID = pointer.NewID(types.ID(0))
+		v := types.ID(0)
+		p.IconID = &v
 	}
 	if p.Content == nil {
 		p.Content = pointer.NewString("")
diff --git a/pkg/cmd/commands/packetfilter/create.go b/pkg/cmd/commands/packetfilter/create.go
index 9646e1a0..f732620b 100644
--- a/pkg/cmd/commands/packetfilter/create.go
+++ b/pkg/cmd/commands/packetfilter/create.go
@@ -15,8 +15,8 @@
 package packetfilter
 
 import (
-	"github.com/sacloud/libsacloud/v2/sacloud"
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
+	"github.com/sacloud/iaas-api-go"
+	"github.com/sacloud/iaas-api-go/types"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
@@ -45,8 +45,8 @@ type createParameter struct {
 	cflag.NameParameter `cli:",squash" mapconv:",squash"`
 	cflag.DescParameter `cli:",squash" mapconv:",squash"`
 
-	ExpressionsData string                            `cli:"expressions,aliases=rules" mapconv:"-" json:"-"`
-	Expressions     []*sacloud.PacketFilterExpression `cli:"-" mapconv:"Expression"`
+	ExpressionsData string                         `cli:"expressions,aliases=rules" mapconv:"-" json:"-"`
+	Expressions     []*iaas.PacketFilterExpression `cli:"-" mapconv:"Expression"`
 }
 
 func newCreateParameter() *createParameter {
@@ -60,7 +60,7 @@ func init() {
 // Customize パラメータ変換処理
 func (p *createParameter) Customize(_ cli.Context) error {
 	if p.ExpressionsData != "" {
-		var expressions []*sacloud.PacketFilterExpression
+		var expressions []*iaas.PacketFilterExpression
 		if err := util.MarshalJSONFromPathOrContent(p.ExpressionsData, &expressions); err != nil {
 			return err
 		}
@@ -75,7 +75,7 @@ func (p *createParameter) ExampleParameters(ctx cli.Context) interface{} {
 		ZoneParameter: examples.Zones(ctx.Option().Zones),
 		NameParameter: examples.Name,
 		DescParameter: examples.Description,
-		Expressions: []*sacloud.PacketFilterExpression{
+		Expressions: []*iaas.PacketFilterExpression{
 			{
 				Protocol:        types.Protocol(examples.OptionsString("packetfilter_protocol")),
 				SourceNetwork:   "192.0.2.1 | 192.0.2.0/24",
diff --git a/pkg/cmd/commands/packetfilter/resource.go b/pkg/cmd/commands/packetfilter/resource.go
index 27a461c0..fb98b16e 100644
--- a/pkg/cmd/commands/packetfilter/resource.go
+++ b/pkg/cmd/commands/packetfilter/resource.go
@@ -17,7 +17,7 @@ package packetfilter
 import (
 	"reflect"
 
-	"github.com/sacloud/libsacloud/v2/helper/service/packetfilter"
+	"github.com/sacloud/iaas-service-go/packetfilter"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 )
 
diff --git a/pkg/cmd/commands/packetfilter/update.go b/pkg/cmd/commands/packetfilter/update.go
index 2d1e303c..5b657c50 100644
--- a/pkg/cmd/commands/packetfilter/update.go
+++ b/pkg/cmd/commands/packetfilter/update.go
@@ -15,8 +15,8 @@
 package packetfilter
 
 import (
-	"github.com/sacloud/libsacloud/v2/sacloud"
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
+	"github.com/sacloud/iaas-api-go"
+	"github.com/sacloud/iaas-api-go/types"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
@@ -46,8 +46,8 @@ type updateParameter struct {
 
 	cflag.NameUpdateParameter `cli:",squash" mapconv:",omitempty,squash"`
 	cflag.DescUpdateParameter `cli:",squash" mapconv:",omitempty,squash"`
-	ExpressionsData           *string                            `cli:"expressions,aliases=rules" mapconv:"-" json:"-"`
-	Expressions               *[]*sacloud.PacketFilterExpression `cli:"-" mapconv:"Expression"`
+	ExpressionsData           *string                         `cli:"expressions,aliases=rules" mapconv:"-" json:"-"`
+	Expressions               *[]*iaas.PacketFilterExpression `cli:"-" mapconv:"Expression"`
 }
 
 func newUpdateParameter() *updateParameter {
@@ -61,12 +61,12 @@ func init() {
 // Customize パラメータ変換処理
 func (p *updateParameter) Customize(_ cli.Context) error {
 	if p.ExpressionsData != nil && *p.ExpressionsData != "" {
-		var expressions []*sacloud.PacketFilterExpression
+		var expressions []*iaas.PacketFilterExpression
 		if err := util.MarshalJSONFromPathOrContent(*p.ExpressionsData, &expressions); err != nil {
 			return err
 		}
 		if p.Expressions == nil {
-			p.Expressions = &[]*sacloud.PacketFilterExpression{}
+			p.Expressions = &[]*iaas.PacketFilterExpression{}
 		}
 		*p.Expressions = append(*p.Expressions, expressions...)
 	}
@@ -79,7 +79,7 @@ func (p *updateParameter) ExampleParameters(ctx cli.Context) interface{} {
 		ZoneParameter:       examples.Zones(ctx.Option().Zones),
 		NameUpdateParameter: examples.NameUpdate,
 		DescUpdateParameter: examples.DescriptionUpdate,
-		Expressions: &[]*sacloud.PacketFilterExpression{
+		Expressions: &[]*iaas.PacketFilterExpression{
 			{
 				Protocol:        types.Protocol(examples.OptionsString("packetfilter_protocol")),
 				SourceNetwork:   "192.0.2.1 | 192.0.2.0/24",
diff --git a/pkg/cmd/commands/packetfilter/zz_update_gen.go b/pkg/cmd/commands/packetfilter/zz_update_gen.go
index 6e881f50..c9672cc5 100644
--- a/pkg/cmd/commands/packetfilter/zz_update_gen.go
+++ b/pkg/cmd/commands/packetfilter/zz_update_gen.go
@@ -17,7 +17,7 @@
 package packetfilter
 
 import (
-	"github.com/sacloud/libsacloud/v2/sacloud/pointer"
+	"github.com/sacloud/packages-go/pointer"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 	"github.com/spf13/cobra"
 	"github.com/spf13/pflag"
diff --git a/pkg/cmd/commands/privatehost/create.go b/pkg/cmd/commands/privatehost/create.go
index 33cff1e9..81fcb3fa 100644
--- a/pkg/cmd/commands/privatehost/create.go
+++ b/pkg/cmd/commands/privatehost/create.go
@@ -15,7 +15,7 @@
 package privatehost
 
 import (
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
+	"github.com/sacloud/iaas-api-go/types"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
diff --git a/pkg/cmd/commands/privatehost/resource.go b/pkg/cmd/commands/privatehost/resource.go
index 8c534a2b..3a923072 100644
--- a/pkg/cmd/commands/privatehost/resource.go
+++ b/pkg/cmd/commands/privatehost/resource.go
@@ -17,7 +17,7 @@ package privatehost
 import (
 	"reflect"
 
-	"github.com/sacloud/libsacloud/v2/helper/service/privatehost"
+	"github.com/sacloud/iaas-service-go/privatehost"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 )
 
diff --git a/pkg/cmd/commands/privatehost/zz_update_gen.go b/pkg/cmd/commands/privatehost/zz_update_gen.go
index 814ad2f1..d011478a 100644
--- a/pkg/cmd/commands/privatehost/zz_update_gen.go
+++ b/pkg/cmd/commands/privatehost/zz_update_gen.go
@@ -17,8 +17,8 @@
 package privatehost
 
 import (
-	"github.com/sacloud/libsacloud/v2/sacloud/pointer"
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
+	"github.com/sacloud/iaas-api-go/types"
+	"github.com/sacloud/packages-go/pointer"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 	"github.com/spf13/cobra"
 	"github.com/spf13/pflag"
@@ -50,7 +50,8 @@ func (p *updateParameter) buildFlags(fs *pflag.FlagSet) {
 		p.Tags = pointer.NewStringSlice([]string{})
 	}
 	if p.IconID == nil {
-		p.IconID = pointer.NewID(types.ID(0))
+		v := types.ID(0)
+		p.IconID = &v
 	}
 	fs.StringVarP(&p.Zone, "zone", "", p.Zone, "(*required) ")
 	fs.StringVarP(&p.Parameters, "parameters", "", p.Parameters, "Input parameters in JSON format")
diff --git a/pkg/cmd/commands/privatehostplan/resource.go b/pkg/cmd/commands/privatehostplan/resource.go
index ba92545b..480571fa 100644
--- a/pkg/cmd/commands/privatehostplan/resource.go
+++ b/pkg/cmd/commands/privatehostplan/resource.go
@@ -17,7 +17,7 @@ package privatehostplan
 import (
 	"reflect"
 
-	"github.com/sacloud/libsacloud/v2/helper/service/privatehostplan"
+	"github.com/sacloud/iaas-service-go/privatehostplan"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 )
 
diff --git a/pkg/cmd/commands/proxylb/create.go b/pkg/cmd/commands/proxylb/create.go
index 84c0861e..d7bc4ec2 100644
--- a/pkg/cmd/commands/proxylb/create.go
+++ b/pkg/cmd/commands/proxylb/create.go
@@ -17,8 +17,8 @@ package proxylb
 import (
 	"net/http"
 
-	"github.com/sacloud/libsacloud/v2/sacloud"
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
+	"github.com/sacloud/iaas-api-go"
+	"github.com/sacloud/iaas-api-go/types"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
@@ -62,14 +62,14 @@ type createParameter struct {
 	UseVIPFailover bool                         `cli:"vip-fail-over"`
 	Region         string                       `cli:",options=proxylb_region" validate:"required,proxylb_region"`
 
-	BindPortsData string                     `cli:"bind-ports" mapconv:"-" json:"-"`
-	BindPorts     []*sacloud.ProxyLBBindPort `cli:"-"`
+	BindPortsData string                  `cli:"bind-ports" mapconv:"-" json:"-"`
+	BindPorts     []*iaas.ProxyLBBindPort `cli:"-"`
 
-	ServersData string                   `cli:"servers" mapconv:"-" json:"-"`
-	Servers     []*sacloud.ProxyLBServer `cli:"-"`
+	ServersData string                `cli:"servers" mapconv:"-" json:"-"`
+	Servers     []*iaas.ProxyLBServer `cli:"-"`
 
-	RulesData string                 `cli:"rules" mapconv:"-" json:"-"`
-	Rules     []*sacloud.ProxyLBRule `cli:"-"`
+	RulesData string              `cli:"rules" mapconv:"-" json:"-"`
+	Rules     []*iaas.ProxyLBRule `cli:"-"`
 }
 
 type createParameterHealthCheck struct {
@@ -134,7 +134,7 @@ func init() {
 // Customize パラメータ変換処理
 func (p *createParameter) Customize(_ cli.Context) error {
 	if p.BindPortsData != "" {
-		var bindPorts []*sacloud.ProxyLBBindPort
+		var bindPorts []*iaas.ProxyLBBindPort
 		if err := util.MarshalJSONFromPathOrContent(p.BindPortsData, &bindPorts); err != nil {
 			return err
 		}
@@ -142,7 +142,7 @@ func (p *createParameter) Customize(_ cli.Context) error {
 	}
 
 	if p.ServersData != "" {
-		var servers []*sacloud.ProxyLBServer
+		var servers []*iaas.ProxyLBServer
 		if err := util.MarshalJSONFromPathOrContent(p.ServersData, &servers); err != nil {
 			return err
 		}
@@ -150,7 +150,7 @@ func (p *createParameter) Customize(_ cli.Context) error {
 	}
 
 	if p.RulesData != "" {
-		var rules []*sacloud.ProxyLBRule
+		var rules []*iaas.ProxyLBRule
 		if err := util.MarshalJSONFromPathOrContent(p.RulesData, &rules); err != nil {
 			return err
 		}
@@ -200,13 +200,13 @@ func (p *createParameter) ExampleParameters(ctx cli.Context) interface{} {
 		},
 		UseVIPFailover: true,
 		Region:         examples.OptionsString("proxylb_region"),
-		BindPorts: []*sacloud.ProxyLBBindPort{
+		BindPorts: []*iaas.ProxyLBBindPort{
 			{
 				ProxyMode:       types.EProxyLBProxyMode(examples.OptionsString("proxylb_proxy_mode")),
 				Port:            80,
 				RedirectToHTTPS: true,
 				SupportHTTP2:    true,
-				AddResponseHeader: []*sacloud.ProxyLBResponseHeader{
+				AddResponseHeader: []*iaas.ProxyLBResponseHeader{
 					{
 						Header: "Cache-Control",
 						Value:  "public, max-age=900",
@@ -215,7 +215,7 @@ func (p *createParameter) ExampleParameters(ctx cli.Context) interface{} {
 				SSLPolicy: examples.OptionsString("proxylb_ssl_policy"),
 			},
 		},
-		Servers: []*sacloud.ProxyLBServer{
+		Servers: []*iaas.ProxyLBServer{
 			{
 				IPAddress:   examples.IPAddress,
 				Port:        80,
@@ -223,7 +223,7 @@ func (p *createParameter) ExampleParameters(ctx cli.Context) interface{} {
 				Enabled:     true,
 			},
 		},
-		Rules: []*sacloud.ProxyLBRule{
+		Rules: []*iaas.ProxyLBRule{
 			{
 				Action:      types.ProxyLBRuleActions.Forward,
 				Host:        "www2.example.com",
diff --git a/pkg/cmd/commands/proxylb/resource.go b/pkg/cmd/commands/proxylb/resource.go
index b7105b1e..c1b98846 100644
--- a/pkg/cmd/commands/proxylb/resource.go
+++ b/pkg/cmd/commands/proxylb/resource.go
@@ -17,7 +17,7 @@ package proxylb
 import (
 	"reflect"
 
-	"github.com/sacloud/libsacloud/v2/helper/service/proxylb"
+	"github.com/sacloud/iaas-service-go/proxylb"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 )
 
diff --git a/pkg/cmd/commands/proxylb/update.go b/pkg/cmd/commands/proxylb/update.go
index ada3f662..a8b3e084 100644
--- a/pkg/cmd/commands/proxylb/update.go
+++ b/pkg/cmd/commands/proxylb/update.go
@@ -17,9 +17,9 @@ package proxylb
 import (
 	"net/http"
 
-	"github.com/sacloud/libsacloud/v2/sacloud"
-	"github.com/sacloud/libsacloud/v2/sacloud/pointer"
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
+	"github.com/sacloud/iaas-api-go"
+	"github.com/sacloud/iaas-api-go/types"
+	"github.com/sacloud/packages-go/pointer"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
@@ -64,14 +64,14 @@ type updateParameter struct {
 	Syslog        updateParameterSyslog        `mapconv:",omitempty"`
 	Timeout       updateParameterTimeout       `cli:",squash"`
 
-	BindPortsData *string                     `cli:"bind-ports" mapconv:"-"`
-	BindPorts     *[]*sacloud.ProxyLBBindPort `cli:"-"`
+	BindPortsData *string                  `cli:"bind-ports" mapconv:"-"`
+	BindPorts     *[]*iaas.ProxyLBBindPort `cli:"-"`
 
-	ServersData *string                   `cli:"servers" mapconv:"-"`
-	Servers     *[]*sacloud.ProxyLBServer `cli:"-"`
+	ServersData *string                `cli:"servers" mapconv:"-"`
+	Servers     *[]*iaas.ProxyLBServer `cli:"-"`
 
-	RulesData *string                 `cli:"rules" mapconv:"-"`
-	Rules     *[]*sacloud.ProxyLBRule `cli:"-"`
+	RulesData *string              `cli:"rules" mapconv:"-"`
+	Rules     *[]*iaas.ProxyLBRule `cli:"-"`
 }
 
 func newUpdateParameter() *updateParameter {
@@ -126,32 +126,32 @@ func init() {
 // Customize パラメータ変換処理
 func (p *updateParameter) Customize(_ cli.Context) error {
 	if p.BindPortsData != nil && *p.BindPortsData != "" {
-		var bindPorts []*sacloud.ProxyLBBindPort
+		var bindPorts []*iaas.ProxyLBBindPort
 		if err := util.MarshalJSONFromPathOrContent(*p.BindPortsData, &bindPorts); err != nil {
 			return err
 		}
 		if p.BindPorts == nil {
-			p.BindPorts = &[]*sacloud.ProxyLBBindPort{}
+			p.BindPorts = &[]*iaas.ProxyLBBindPort{}
 		}
 		*p.BindPorts = append(*p.BindPorts, bindPorts...)
 	}
 	if p.ServersData != nil && *p.ServersData != "" {
-		var servers []*sacloud.ProxyLBServer
+		var servers []*iaas.ProxyLBServer
 		if err := util.MarshalJSONFromPathOrContent(*p.ServersData, &servers); err != nil {
 			return err
 		}
 		if p.Servers == nil {
-			p.Servers = &[]*sacloud.ProxyLBServer{}
+			p.Servers = &[]*iaas.ProxyLBServer{}
 		}
 		*p.Servers = append(*p.Servers, servers...)
 	}
 	if p.RulesData != nil && *p.RulesData != "" {
-		var rules []*sacloud.ProxyLBRule
+		var rules []*iaas.ProxyLBRule
 		if err := util.MarshalJSONFromPathOrContent(*p.RulesData, &rules); err != nil {
 			return err
 		}
 		if p.Rules == nil {
-			p.Rules = &[]*sacloud.ProxyLBRule{}
+			p.Rules = &[]*iaas.ProxyLBRule{}
 		}
 		*p.Rules = append(*p.Rules, rules...)
 	}
@@ -196,13 +196,13 @@ func (p *updateParameter) ExampleParameters(ctx cli.Context) interface{} {
 		Timeout: updateParameterTimeout{
 			InactiveSec: pointer.NewInt(10),
 		},
-		BindPorts: &[]*sacloud.ProxyLBBindPort{
+		BindPorts: &[]*iaas.ProxyLBBindPort{
 			{
 				ProxyMode:       types.EProxyLBProxyMode(examples.OptionsString("proxylb_proxy_mode")),
 				Port:            80,
 				RedirectToHTTPS: true,
 				SupportHTTP2:    true,
-				AddResponseHeader: []*sacloud.ProxyLBResponseHeader{
+				AddResponseHeader: []*iaas.ProxyLBResponseHeader{
 					{
 						Header: "Cache-Control",
 						Value:  "public, max-age=900",
@@ -211,7 +211,7 @@ func (p *updateParameter) ExampleParameters(ctx cli.Context) interface{} {
 				SSLPolicy: examples.OptionsString("proxylb_ssl_policy"),
 			},
 		},
-		Servers: &[]*sacloud.ProxyLBServer{
+		Servers: &[]*iaas.ProxyLBServer{
 			{
 				IPAddress:   examples.IPAddress,
 				Port:        80,
@@ -219,7 +219,7 @@ func (p *updateParameter) ExampleParameters(ctx cli.Context) interface{} {
 				Enabled:     true,
 			},
 		},
-		Rules: &[]*sacloud.ProxyLBRule{
+		Rules: &[]*iaas.ProxyLBRule{
 			{
 				Action:      types.ProxyLBRuleActions.Forward,
 				Host:        "www2.example.com",
diff --git a/pkg/cmd/commands/proxylb/zz_update_gen.go b/pkg/cmd/commands/proxylb/zz_update_gen.go
index 8f6c66d7..3c54bf29 100644
--- a/pkg/cmd/commands/proxylb/zz_update_gen.go
+++ b/pkg/cmd/commands/proxylb/zz_update_gen.go
@@ -17,8 +17,8 @@
 package proxylb
 
 import (
-	"github.com/sacloud/libsacloud/v2/sacloud/pointer"
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
+	"github.com/sacloud/iaas-api-go/types"
+	"github.com/sacloud/packages-go/pointer"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 	"github.com/sacloud/usacloud/pkg/util"
 	"github.com/spf13/cobra"
@@ -111,7 +111,8 @@ func (p *updateParameter) buildFlags(fs *pflag.FlagSet) {
 		p.Tags = pointer.NewStringSlice([]string{})
 	}
 	if p.IconID == nil {
-		p.IconID = pointer.NewID(types.ID(0))
+		v := types.ID(0)
+		p.IconID = &v
 	}
 	if p.Plan == nil {
 		p.Plan = pointer.NewString("")
diff --git a/pkg/cmd/commands/region/resource.go b/pkg/cmd/commands/region/resource.go
index 243e35c9..232e627d 100644
--- a/pkg/cmd/commands/region/resource.go
+++ b/pkg/cmd/commands/region/resource.go
@@ -17,7 +17,7 @@ package region
 import (
 	"reflect"
 
-	"github.com/sacloud/libsacloud/v2/helper/service/region"
+	"github.com/sacloud/iaas-service-go/region"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 )
 
diff --git a/pkg/cmd/commands/rest/request.go b/pkg/cmd/commands/rest/request.go
index dc1b6a58..829ab931 100644
--- a/pkg/cmd/commands/rest/request.go
+++ b/pkg/cmd/commands/rest/request.go
@@ -20,7 +20,7 @@ import (
 	"strings"
 
 	"github.com/hokaccha/go-prettyjson"
-	"github.com/sacloud/libsacloud/v2/sacloud"
+	"github.com/sacloud/iaas-api-go"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 	"github.com/sacloud/usacloud/pkg/query"
@@ -129,7 +129,7 @@ func requestFunc(ctx cli.Context, parameter interface{}) ([]interface{}, error)
 		if !strings.HasPrefix(url, "/") {
 			url = "/" + url
 		}
-		url = fmt.Sprintf("%s/%s/api/cloud/1.1%s", sacloud.SakuraCloudAPIRoot, p.Zone, url)
+		url = fmt.Sprintf("%s/%s/api/cloud/1.1%s", iaas.SakuraCloudAPIRoot, p.Zone, url)
 	}
 
 	var body interface{}
diff --git a/pkg/cmd/commands/server/create.go b/pkg/cmd/commands/server/create.go
index 5a50a68f..58fc807d 100644
--- a/pkg/cmd/commands/server/create.go
+++ b/pkg/cmd/commands/server/create.go
@@ -17,17 +17,15 @@ package server
 import (
 	"fmt"
 
-	"github.com/sacloud/libsacloud/v2/sacloud"
-	"github.com/sacloud/usacloud/pkg/cmd/examples"
-
-	"github.com/sacloud/libsacloud/v2/helper/service/disk"
-
-	"github.com/sacloud/libsacloud/v2/helper/service/server"
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
+	"github.com/sacloud/iaas-api-go"
+	"github.com/sacloud/iaas-api-go/types"
+	"github.com/sacloud/iaas-service-go/disk"
+	"github.com/sacloud/iaas-service-go/server"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/commands/common"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
+	"github.com/sacloud/usacloud/pkg/cmd/examples"
 	"github.com/sacloud/usacloud/pkg/util"
 	"github.com/sacloud/usacloud/pkg/validate"
 )
@@ -301,7 +299,7 @@ func (p *createParameter) ExampleParameters(ctx cli.Context) interface{} {
 					IsSSHKeysEphemeral:  true,
 					NoteIDs:             []types.ID{examples.ID},
 					IsNotesEphemeral:    true,
-					Notes: []*sacloud.DiskEditNote{
+					Notes: []*iaas.DiskEditNote{
 						{
 							ID: examples.ID,
 							Variables: map[string]interface{}{
diff --git a/pkg/cmd/commands/server/rdp_command.go b/pkg/cmd/commands/server/rdp_command.go
index 14516a6e..8bd7d2cd 100644
--- a/pkg/cmd/commands/server/rdp_command.go
+++ b/pkg/cmd/commands/server/rdp_command.go
@@ -20,8 +20,8 @@ package server
 import (
 	"fmt"
 
-	"github.com/sacloud/libsacloud/v2/helper/wait"
-	"github.com/sacloud/libsacloud/v2/sacloud"
+	"github.com/sacloud/iaas-api-go"
+	"github.com/sacloud/iaas-api-go/helper/wait"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 	"github.com/sacloud/usacloud/pkg/connect"
@@ -52,13 +52,13 @@ func rdpFunc(ctx cli.Context, parameter interface{}) ([]interface{}, error) {
 		return nil, fmt.Errorf("invalid parameter: %v", parameter)
 	}
 
-	instance := ctx.Resource().(*sacloud.Server)
+	instance := ctx.Resource().(*iaas.Server)
 	if len(instance.Interfaces) == 0 {
 		return nil, fmt.Errorf("server[%q] has no network interfaces", p.ID)
 	}
 
 	if !instance.InstanceStatus.IsUp() && p.WaitUntilReady {
-		lastState, err := wait.UntilServerIsUp(ctx, sacloud.NewServerOp(ctx.Client()), p.Zone, p.ID)
+		lastState, err := wait.UntilServerIsUp(ctx, iaas.NewServerOp(ctx.Client()), p.Zone, p.ID)
 		if err != nil {
 			return nil, err
 		}
diff --git a/pkg/cmd/commands/server/resource.go b/pkg/cmd/commands/server/resource.go
index 55b98f12..0c49e134 100644
--- a/pkg/cmd/commands/server/resource.go
+++ b/pkg/cmd/commands/server/resource.go
@@ -17,8 +17,7 @@ package server
 import (
 	"reflect"
 
-	"github.com/sacloud/libsacloud/v2/helper/service/server"
-
+	"github.com/sacloud/iaas-service-go/server"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 )
 
diff --git a/pkg/cmd/commands/server/ssh_command.go b/pkg/cmd/commands/server/ssh_command.go
index 178aab8f..cef5f816 100644
--- a/pkg/cmd/commands/server/ssh_command.go
+++ b/pkg/cmd/commands/server/ssh_command.go
@@ -22,10 +22,9 @@ import (
 	"os/exec"
 	"strings"
 
-	"github.com/sacloud/libsacloud/v2/helper/wait"
-	"github.com/sacloud/libsacloud/v2/sacloud"
-
-	"github.com/sacloud/libsacloud/v2/helper/query"
+	"github.com/sacloud/iaas-api-go"
+	"github.com/sacloud/iaas-api-go/helper/query"
+	"github.com/sacloud/iaas-api-go/helper/wait"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 )
@@ -54,13 +53,13 @@ func sshFunc(ctx cli.Context, parameter interface{}) ([]interface{}, error) {
 		return nil, fmt.Errorf("invalid parameter: %v", parameter)
 	}
 
-	instance := ctx.Resource().(*sacloud.Server)
+	instance := ctx.Resource().(*iaas.Server)
 	if len(instance.Interfaces) == 0 {
 		return nil, fmt.Errorf("server[%q] has no network interfaces", p.ID)
 	}
 
 	if !instance.InstanceStatus.IsUp() && p.WaitUntilReady {
-		lastState, err := wait.UntilServerIsUp(ctx, sacloud.NewServerOp(ctx.Client()), p.Zone, p.ID)
+		lastState, err := wait.UntilServerIsUp(ctx, iaas.NewServerOp(ctx.Client()), p.Zone, p.ID)
 		if err != nil {
 			return nil, err
 		}
diff --git a/pkg/cmd/commands/server/update.go b/pkg/cmd/commands/server/update.go
index 7f838896..07e8604e 100644
--- a/pkg/cmd/commands/server/update.go
+++ b/pkg/cmd/commands/server/update.go
@@ -15,10 +15,10 @@
 package server
 
 import (
-	"github.com/sacloud/libsacloud/v2/helper/service/server"
-	"github.com/sacloud/libsacloud/v2/sacloud"
-	"github.com/sacloud/libsacloud/v2/sacloud/pointer"
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
+	"github.com/sacloud/iaas-api-go"
+	"github.com/sacloud/iaas-api-go/types"
+	"github.com/sacloud/iaas-service-go/server"
+	"github.com/sacloud/packages-go/pointer"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/commands/common"
@@ -156,7 +156,7 @@ func (p *updateParameter) ExampleParameters(ctx cli.Context) interface{} {
 					IsSSHKeysEphemeral:  true,
 					NoteIDs:             []types.ID{examples.ID},
 					IsNotesEphemeral:    true,
-					Notes: []*sacloud.DiskEditNote{
+					Notes: []*iaas.DiskEditNote{
 						{
 							ID: examples.ID,
 							Variables: map[string]interface{}{
diff --git a/pkg/cmd/commands/server/vnc_command.go b/pkg/cmd/commands/server/vnc_command.go
index e520301d..33d0d76c 100644
--- a/pkg/cmd/commands/server/vnc_command.go
+++ b/pkg/cmd/commands/server/vnc_command.go
@@ -20,8 +20,8 @@ package server
 import (
 	"fmt"
 
-	"github.com/sacloud/libsacloud/v2/helper/wait"
-	"github.com/sacloud/libsacloud/v2/sacloud"
+	"github.com/sacloud/iaas-api-go"
+	"github.com/sacloud/iaas-api-go/helper/wait"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 	"github.com/sacloud/usacloud/pkg/connect"
@@ -51,14 +51,14 @@ func vncFunc(ctx cli.Context, parameter interface{}) ([]interface{}, error) {
 		return nil, fmt.Errorf("invalid parameter: %v", parameter)
 	}
 
-	instance := ctx.Resource().(*sacloud.Server)
+	instance := ctx.Resource().(*iaas.Server)
 	if !instance.InstanceStatus.IsUp() && p.WaitUntilReady {
-		if _, err := wait.UntilServerIsUp(ctx, sacloud.NewServerOp(ctx.Client()), p.Zone, p.ID); err != nil {
+		if _, err := wait.UntilServerIsUp(ctx, iaas.NewServerOp(ctx.Client()), p.Zone, p.ID); err != nil {
 			return nil, err
 		}
 	}
 
-	vncInfo, err := sacloud.NewServerOp(ctx.Client()).GetVNCProxy(ctx, p.Zone, p.ID)
+	vncInfo, err := iaas.NewServerOp(ctx.Client()).GetVNCProxy(ctx, p.Zone, p.ID)
 	if err != nil {
 		return nil, err
 	}
diff --git a/pkg/cmd/commands/server/zz_update_gen.go b/pkg/cmd/commands/server/zz_update_gen.go
index a9b046e3..0f880c27 100644
--- a/pkg/cmd/commands/server/zz_update_gen.go
+++ b/pkg/cmd/commands/server/zz_update_gen.go
@@ -17,8 +17,8 @@
 package server
 
 import (
-	"github.com/sacloud/libsacloud/v2/sacloud/pointer"
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
+	"github.com/sacloud/iaas-api-go/types"
+	"github.com/sacloud/packages-go/pointer"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 	"github.com/sacloud/usacloud/pkg/util"
 	"github.com/spf13/cobra"
@@ -75,7 +75,8 @@ func (p *updateParameter) buildFlags(fs *pflag.FlagSet) {
 		p.Tags = pointer.NewStringSlice([]string{})
 	}
 	if p.IconID == nil {
-		p.IconID = pointer.NewID(types.ID(0))
+		v := types.ID(0)
+		p.IconID = &v
 	}
 	if p.CPU == nil {
 		p.CPU = pointer.NewInt(0)
@@ -96,10 +97,12 @@ func (p *updateParameter) buildFlags(fs *pflag.FlagSet) {
 		p.InterfaceDriver = pointer.NewString("")
 	}
 	if p.CDROMID == nil {
-		p.CDROMID = pointer.NewID(types.ID(0))
+		v := types.ID(0)
+		p.CDROMID = &v
 	}
 	if p.PrivateHostID == nil {
-		p.PrivateHostID = pointer.NewID(types.ID(0))
+		v := types.ID(0)
+		p.PrivateHostID = &v
 	}
 	fs.StringVarP(&p.Zone, "zone", "", p.Zone, "(*required) ")
 	fs.StringVarP(&p.Parameters, "parameters", "", p.Parameters, "Input parameters in JSON format")
diff --git a/pkg/cmd/commands/serverplan/resource.go b/pkg/cmd/commands/serverplan/resource.go
index 9a1e69ff..15333ff9 100644
--- a/pkg/cmd/commands/serverplan/resource.go
+++ b/pkg/cmd/commands/serverplan/resource.go
@@ -17,7 +17,7 @@ package serverplan
 import (
 	"reflect"
 
-	"github.com/sacloud/libsacloud/v2/helper/service/serverplan"
+	"github.com/sacloud/iaas-service-go/serverplan"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 )
 
diff --git a/pkg/cmd/commands/serviceclass/resource.go b/pkg/cmd/commands/serviceclass/resource.go
index 41dc2303..e3ed1f77 100644
--- a/pkg/cmd/commands/serviceclass/resource.go
+++ b/pkg/cmd/commands/serviceclass/resource.go
@@ -17,7 +17,7 @@ package serviceclass
 import (
 	"reflect"
 
-	"github.com/sacloud/libsacloud/v2/helper/service/serviceclass"
+	"github.com/sacloud/iaas-service-go/serviceclass"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 )
 
diff --git a/pkg/cmd/commands/sim/resource.go b/pkg/cmd/commands/sim/resource.go
index a4d8a2ab..b8316423 100644
--- a/pkg/cmd/commands/sim/resource.go
+++ b/pkg/cmd/commands/sim/resource.go
@@ -17,7 +17,7 @@ package sim
 import (
 	"reflect"
 
-	"github.com/sacloud/libsacloud/v2/helper/service/sim"
+	"github.com/sacloud/iaas-service-go/sim"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 )
 
diff --git a/pkg/cmd/commands/sim/zz_update_gen.go b/pkg/cmd/commands/sim/zz_update_gen.go
index b29b90c4..3ba0649c 100644
--- a/pkg/cmd/commands/sim/zz_update_gen.go
+++ b/pkg/cmd/commands/sim/zz_update_gen.go
@@ -17,8 +17,8 @@
 package sim
 
 import (
-	"github.com/sacloud/libsacloud/v2/sacloud/pointer"
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
+	"github.com/sacloud/iaas-api-go/types"
+	"github.com/sacloud/packages-go/pointer"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 	"github.com/spf13/cobra"
 	"github.com/spf13/pflag"
@@ -50,7 +50,8 @@ func (p *updateParameter) buildFlags(fs *pflag.FlagSet) {
 		p.Tags = pointer.NewStringSlice([]string{})
 	}
 	if p.IconID == nil {
-		p.IconID = pointer.NewID(types.ID(0))
+		v := types.ID(0)
+		p.IconID = &v
 	}
 	fs.StringVarP(&p.Parameters, "parameters", "", p.Parameters, "Input parameters in JSON format")
 	fs.BoolVarP(&p.GenerateSkeleton, "generate-skeleton", "", p.GenerateSkeleton, "Output skeleton of parameters with JSON format (aliases: --skeleton)")
diff --git a/pkg/cmd/commands/simplemonitor/resource.go b/pkg/cmd/commands/simplemonitor/resource.go
index 01431eb7..d1383b9b 100644
--- a/pkg/cmd/commands/simplemonitor/resource.go
+++ b/pkg/cmd/commands/simplemonitor/resource.go
@@ -17,7 +17,7 @@ package simplemonitor
 import (
 	"reflect"
 
-	"github.com/sacloud/libsacloud/v2/helper/service/simplemonitor"
+	"github.com/sacloud/iaas-service-go/simplemonitor"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 )
 
diff --git a/pkg/cmd/commands/simplemonitor/update.go b/pkg/cmd/commands/simplemonitor/update.go
index 6087163c..d44b92ea 100644
--- a/pkg/cmd/commands/simplemonitor/update.go
+++ b/pkg/cmd/commands/simplemonitor/update.go
@@ -17,7 +17,7 @@ package simplemonitor
 import (
 	"net/http"
 
-	"github.com/sacloud/libsacloud/v2/sacloud/pointer"
+	"github.com/sacloud/packages-go/pointer"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
diff --git a/pkg/cmd/commands/simplemonitor/zz_update_gen.go b/pkg/cmd/commands/simplemonitor/zz_update_gen.go
index 563116a7..7d0d938d 100644
--- a/pkg/cmd/commands/simplemonitor/zz_update_gen.go
+++ b/pkg/cmd/commands/simplemonitor/zz_update_gen.go
@@ -17,8 +17,8 @@
 package simplemonitor
 
 import (
-	"github.com/sacloud/libsacloud/v2/sacloud/pointer"
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
+	"github.com/sacloud/iaas-api-go/types"
+	"github.com/sacloud/packages-go/pointer"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 	"github.com/sacloud/usacloud/pkg/util"
 	"github.com/spf13/cobra"
@@ -129,7 +129,8 @@ func (p *updateParameter) buildFlags(fs *pflag.FlagSet) {
 		p.Tags = pointer.NewStringSlice([]string{})
 	}
 	if p.IconID == nil {
-		p.IconID = pointer.NewID(types.ID(0))
+		v := types.ID(0)
+		p.IconID = &v
 	}
 	if p.DelayLoop == nil {
 		p.DelayLoop = pointer.NewInt(0)
diff --git a/pkg/cmd/commands/sshkey/resource.go b/pkg/cmd/commands/sshkey/resource.go
index adf533fd..607e7d11 100644
--- a/pkg/cmd/commands/sshkey/resource.go
+++ b/pkg/cmd/commands/sshkey/resource.go
@@ -17,7 +17,7 @@ package sshkey
 import (
 	"reflect"
 
-	"github.com/sacloud/libsacloud/v2/helper/service/sshkey"
+	"github.com/sacloud/iaas-service-go/sshkey"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 )
 
diff --git a/pkg/cmd/commands/sshkey/zz_update_gen.go b/pkg/cmd/commands/sshkey/zz_update_gen.go
index 13af1ab9..9b233a58 100644
--- a/pkg/cmd/commands/sshkey/zz_update_gen.go
+++ b/pkg/cmd/commands/sshkey/zz_update_gen.go
@@ -17,7 +17,7 @@
 package sshkey
 
 import (
-	"github.com/sacloud/libsacloud/v2/sacloud/pointer"
+	"github.com/sacloud/packages-go/pointer"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 	"github.com/spf13/cobra"
 	"github.com/spf13/pflag"
diff --git a/pkg/cmd/commands/subnet/resource.go b/pkg/cmd/commands/subnet/resource.go
index 47587448..cedc7761 100644
--- a/pkg/cmd/commands/subnet/resource.go
+++ b/pkg/cmd/commands/subnet/resource.go
@@ -17,7 +17,7 @@ package subnet
 import (
 	"reflect"
 
-	"github.com/sacloud/libsacloud/v2/helper/service/subnet"
+	"github.com/sacloud/iaas-service-go/subnet"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 )
 
diff --git a/pkg/cmd/commands/swytch/resource.go b/pkg/cmd/commands/swytch/resource.go
index dafd5a8e..a42a3374 100644
--- a/pkg/cmd/commands/swytch/resource.go
+++ b/pkg/cmd/commands/swytch/resource.go
@@ -17,7 +17,7 @@ package swytch
 import (
 	"reflect"
 
-	"github.com/sacloud/libsacloud/v2/helper/service/swytch"
+	"github.com/sacloud/iaas-service-go/swytch"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 )
 
diff --git a/pkg/cmd/commands/swytch/zz_update_gen.go b/pkg/cmd/commands/swytch/zz_update_gen.go
index 18ecb588..a65505d8 100644
--- a/pkg/cmd/commands/swytch/zz_update_gen.go
+++ b/pkg/cmd/commands/swytch/zz_update_gen.go
@@ -17,8 +17,8 @@
 package swytch
 
 import (
-	"github.com/sacloud/libsacloud/v2/sacloud/pointer"
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
+	"github.com/sacloud/iaas-api-go/types"
+	"github.com/sacloud/packages-go/pointer"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 	"github.com/spf13/cobra"
 	"github.com/spf13/pflag"
@@ -56,7 +56,8 @@ func (p *updateParameter) buildFlags(fs *pflag.FlagSet) {
 		p.Tags = pointer.NewStringSlice([]string{})
 	}
 	if p.IconID == nil {
-		p.IconID = pointer.NewID(types.ID(0))
+		v := types.ID(0)
+		p.IconID = &v
 	}
 	if p.NetworkMaskLen == nil {
 		p.NetworkMaskLen = pointer.NewInt(0)
diff --git a/pkg/cmd/commands/vpcrouter/create.go b/pkg/cmd/commands/vpcrouter/create.go
index be4c123a..1ab07135 100644
--- a/pkg/cmd/commands/vpcrouter/create.go
+++ b/pkg/cmd/commands/vpcrouter/create.go
@@ -15,9 +15,9 @@
 package vpcrouter
 
 import (
-	"github.com/sacloud/libsacloud/v2/helper/service/vpcrouter"
-	"github.com/sacloud/libsacloud/v2/sacloud"
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
+	"github.com/sacloud/iaas-api-go"
+	"github.com/sacloud/iaas-api-go/types"
+	"github.com/sacloud/iaas-service-go/vpcrouter/builder"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
@@ -51,10 +51,10 @@ type createParameter struct {
 	Plan    string `cli:"plan,options=vpc_router_plan_premium,category=plan" mapconv:"PlanID,filters=vpc_router_plan_premium_to_value" validate:"required,vpc_router_plan_premium"`
 	Version int    `validate:"required,oneof=1 2"`
 
-	PublicNetworkInterface vpcrouter.PremiumNICSetting `cli:",category=network,order=10" mapconv:"NICSetting,omitempty"`
+	PublicNetworkInterface builder.PremiumNICSetting `cli:",category=network,order=10" mapconv:"NICSetting,omitempty"`
 
-	PrivateNetworkInterfacesData string                                   `cli:"private-network-interfaces,category=network,order=20" mapconv:"-" json:"-"`
-	PrivateNetworkInterfaces     []*vpcrouter.AdditionalPremiumNICSetting `cli:"-" mapconv:"AdditionalNICSettings"`
+	PrivateNetworkInterfacesData string                                 `cli:"private-network-interfaces,category=network,order=20" mapconv:"-" json:"-"`
+	PrivateNetworkInterfaces     []*builder.AdditionalPremiumNICSetting `cli:"-" mapconv:"AdditionalNICSettings"`
 
 	RouterSetting routerSetting `cli:",squash" mapconv:",recursive"`
 
@@ -76,7 +76,7 @@ func init() {
 // Customize パラメータ変換処理
 func (p *createParameter) Customize(ctx cli.Context) error {
 	if p.PrivateNetworkInterfacesData != "" {
-		var nics []*vpcrouter.AdditionalPremiumNICSetting
+		var nics []*builder.AdditionalPremiumNICSetting
 		if err := util.MarshalJSONFromPathOrContent(p.PrivateNetworkInterfacesData, &nics); err != nil {
 			return err
 		}
@@ -94,13 +94,13 @@ func (p *createParameter) ExampleParameters(ctx cli.Context) interface{} {
 		IconIDParameter: examples.IconID,
 		Plan:            examples.OptionsString("vpc_router_plan_premium"),
 		Version:         2,
-		PublicNetworkInterface: vpcrouter.PremiumNICSetting{
+		PublicNetworkInterface: builder.PremiumNICSetting{
 			SwitchID:         examples.ID,
 			IPAddresses:      examples.IPAddresses,
 			VirtualIPAddress: examples.VirtualIPAddress,
 			IPAliases:        []string{"192.0.2.102"},
 		},
-		PrivateNetworkInterfaces: []*vpcrouter.AdditionalPremiumNICSetting{
+		PrivateNetworkInterfaces: []*builder.AdditionalPremiumNICSetting{
 			{
 				SwitchID:         examples.ID,
 				IPAddresses:      []string{"192.168.0.11", "192.168.0.12"},
@@ -112,14 +112,14 @@ func (p *createParameter) ExampleParameters(ctx cli.Context) interface{} {
 		RouterSetting: routerSetting{
 			VRID:                      1,
 			InternetConnectionEnabled: true,
-			StaticNAT: []*sacloud.VPCRouterStaticNAT{
+			StaticNAT: []*iaas.VPCRouterStaticNAT{
 				{
 					GlobalAddress:  examples.VirtualIPAddress,
 					PrivateAddress: "192.168.0.1",
 					Description:    "example",
 				},
 			},
-			PortForwarding: []*sacloud.VPCRouterPortForwarding{
+			PortForwarding: []*iaas.VPCRouterPortForwarding{
 				{
 					Protocol:       types.EVPCRouterPortForwardingProtocol(examples.OptionsString("vpc_router_port_forwarding_protocol")),
 					GlobalPort:     22,
@@ -128,9 +128,9 @@ func (p *createParameter) ExampleParameters(ctx cli.Context) interface{} {
 					Description:    "example",
 				},
 			},
-			Firewall: []*sacloud.VPCRouterFirewall{
+			Firewall: []*iaas.VPCRouterFirewall{
 				{
-					Send: []*sacloud.VPCRouterFirewallRule{
+					Send: []*iaas.VPCRouterFirewallRule{
 						{
 							Protocol:           types.Protocol(examples.OptionsString("vpc_router_firewall_protocol")),
 							SourceNetwork:      "192.0.2.1 | 192.0.2.0/24",
@@ -142,7 +142,7 @@ func (p *createParameter) ExampleParameters(ctx cli.Context) interface{} {
 							Description:        "example",
 						},
 					},
-					Receive: []*sacloud.VPCRouterFirewallRule{
+					Receive: []*iaas.VPCRouterFirewallRule{
 						{
 							Protocol:           types.Protocol(examples.OptionsString("vpc_router_firewall_protocol")),
 							SourceNetwork:      "192.0.2.1 | 192.0.2.0/24",
@@ -157,7 +157,7 @@ func (p *createParameter) ExampleParameters(ctx cli.Context) interface{} {
 					Index: 0,
 				},
 			},
-			DHCPServer: []*sacloud.VPCRouterDHCPServer{
+			DHCPServer: []*iaas.VPCRouterDHCPServer{
 				{
 					Interface:  "eth1",
 					RangeStart: "192.168.0.240",
@@ -165,30 +165,30 @@ func (p *createParameter) ExampleParameters(ctx cli.Context) interface{} {
 					DNSServers: []string{"133.242.0.3", "133.242.0.4"},
 				},
 			},
-			DHCPStaticMapping: []*sacloud.VPCRouterDHCPStaticMapping{
+			DHCPStaticMapping: []*iaas.VPCRouterDHCPStaticMapping{
 				{
 					MACAddress: "9C:A3:BA:xx:xx:xx",
 					IPAddress:  "192.168.0.245",
 				},
 			},
 
-			DNSForwarding: &sacloud.VPCRouterDNSForwarding{
+			DNSForwarding: &iaas.VPCRouterDNSForwarding{
 				Interface:  "eth1",
 				DNSServers: []string{"133.242.0.3", "133.242.0.4"},
 			},
 
-			PPTPServer: &sacloud.VPCRouterPPTPServer{
+			PPTPServer: &iaas.VPCRouterPPTPServer{
 				RangeStart: "192.168.0.246",
 				RangeStop:  "192.168.0.249",
 			},
-			L2TPIPsecServer: &sacloud.VPCRouterL2TPIPsecServer{
+			L2TPIPsecServer: &iaas.VPCRouterL2TPIPsecServer{
 				RangeStart:      "192.168.0.250",
 				RangeStop:       "192.168.0.254",
 				PreSharedSecret: "presharedsecret",
 			},
-			WireGuard: &sacloud.VPCRouterWireGuard{
+			WireGuard: &iaas.VPCRouterWireGuard{
 				IPAddress: "192.168.0.240/28",
-				Peers: []*sacloud.VPCRouterWireGuardPeer{
+				Peers: []*iaas.VPCRouterWireGuardPeer{
 					{
 						Name:      "client1",
 						IPAddress: "192.168.0.242",
@@ -196,13 +196,13 @@ func (p *createParameter) ExampleParameters(ctx cli.Context) interface{} {
 					},
 				},
 			},
-			RemoteAccessUsers: []*sacloud.VPCRouterRemoteAccessUser{
+			RemoteAccessUsers: []*iaas.VPCRouterRemoteAccessUser{
 				{
 					UserName: "username",
 					Password: "password",
 				},
 			},
-			SiteToSiteIPsecVPN: []*sacloud.VPCRouterSiteToSiteIPsecVPN{
+			SiteToSiteIPsecVPN: []*iaas.VPCRouterSiteToSiteIPsecVPN{
 				{
 					Peer:            "192.0.2.1",
 					PreSharedSecret: "presharedsecret",
@@ -211,7 +211,7 @@ func (p *createParameter) ExampleParameters(ctx cli.Context) interface{} {
 					LocalPrefix:     []string{"192.168.0.0/24"},
 				},
 			},
-			StaticRoute: []*sacloud.VPCRouterStaticRoute{
+			StaticRoute: []*iaas.VPCRouterStaticRoute{
 				{
 					Prefix:  "172.16.0.0/16",
 					NextHop: "192.168.0.21",
diff --git a/pkg/cmd/commands/vpcrouter/create_standard.go b/pkg/cmd/commands/vpcrouter/create_standard.go
index 2e41d307..3aa9dccc 100644
--- a/pkg/cmd/commands/vpcrouter/create_standard.go
+++ b/pkg/cmd/commands/vpcrouter/create_standard.go
@@ -15,9 +15,9 @@
 package vpcrouter
 
 import (
-	"github.com/sacloud/libsacloud/v2/helper/service/vpcrouter"
-	"github.com/sacloud/libsacloud/v2/sacloud"
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
+	"github.com/sacloud/iaas-api-go"
+	"github.com/sacloud/iaas-api-go/types"
+	"github.com/sacloud/iaas-service-go/vpcrouter/builder"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
@@ -50,8 +50,8 @@ type createStandardParameter struct {
 
 	Version int `validate:"required,oneof=1 2"`
 
-	PrivateNetworkInterfacesData string                                    `cli:"private-network-interfaces" mapconv:"-"`
-	PrivateNetworkInterfaces     []*vpcrouter.AdditionalStandardNICSetting `cli:"-" mapconv:"AdditionalNICSettings"`
+	PrivateNetworkInterfacesData string                                  `cli:"private-network-interfaces" mapconv:"-"`
+	PrivateNetworkInterfaces     []*builder.AdditionalStandardNICSetting `cli:"-" mapconv:"AdditionalNICSettings"`
 
 	RouterSetting routerSetting `cli:",squash" mapconv:",omitempty"`
 
@@ -72,7 +72,7 @@ func init() {
 // Customize パラメータ変換処理
 func (p *createStandardParameter) Customize(ctx cli.Context) error {
 	if p.PrivateNetworkInterfacesData != "" {
-		var nics []*vpcrouter.AdditionalStandardNICSetting
+		var nics []*builder.AdditionalStandardNICSetting
 		if err := util.MarshalJSONFromPathOrContent(p.PrivateNetworkInterfacesData, &nics); err != nil {
 			return err
 		}
@@ -89,7 +89,7 @@ func (p *createStandardParameter) ExampleParameters(ctx cli.Context) interface{}
 		TagsParameter:   examples.Tags,
 		IconIDParameter: examples.IconID,
 		Version:         2,
-		PrivateNetworkInterfaces: []*vpcrouter.AdditionalStandardNICSetting{
+		PrivateNetworkInterfaces: []*builder.AdditionalStandardNICSetting{
 			{
 				SwitchID:       examples.ID,
 				IPAddress:      "192.168.0.11",
@@ -99,7 +99,7 @@ func (p *createStandardParameter) ExampleParameters(ctx cli.Context) interface{}
 		},
 		RouterSetting: routerSetting{
 			InternetConnectionEnabled: true,
-			PortForwarding: []*sacloud.VPCRouterPortForwarding{
+			PortForwarding: []*iaas.VPCRouterPortForwarding{
 				{
 					Protocol:       types.EVPCRouterPortForwardingProtocol(examples.OptionsString("vpc_router_port_forwarding_protocol")),
 					GlobalPort:     22,
@@ -108,9 +108,9 @@ func (p *createStandardParameter) ExampleParameters(ctx cli.Context) interface{}
 					Description:    "example",
 				},
 			},
-			Firewall: []*sacloud.VPCRouterFirewall{
+			Firewall: []*iaas.VPCRouterFirewall{
 				{
-					Send: []*sacloud.VPCRouterFirewallRule{
+					Send: []*iaas.VPCRouterFirewallRule{
 						{
 							Protocol:           types.Protocol(examples.OptionsString("vpc_router_firewall_protocol")),
 							SourceNetwork:      "192.0.2.1 | 192.0.2.0/24",
@@ -122,7 +122,7 @@ func (p *createStandardParameter) ExampleParameters(ctx cli.Context) interface{}
 							Description:        "example",
 						},
 					},
-					Receive: []*sacloud.VPCRouterFirewallRule{
+					Receive: []*iaas.VPCRouterFirewallRule{
 						{
 							Protocol:           types.Protocol(examples.OptionsString("vpc_router_firewall_protocol")),
 							SourceNetwork:      "192.0.2.1 | 192.0.2.0/24",
@@ -137,7 +137,7 @@ func (p *createStandardParameter) ExampleParameters(ctx cli.Context) interface{}
 					Index: 0,
 				},
 			},
-			DHCPServer: []*sacloud.VPCRouterDHCPServer{
+			DHCPServer: []*iaas.VPCRouterDHCPServer{
 				{
 					Interface:  "eth1",
 					RangeStart: "192.168.0.240",
@@ -145,28 +145,28 @@ func (p *createStandardParameter) ExampleParameters(ctx cli.Context) interface{}
 					DNSServers: []string{"133.242.0.3", "133.242.0.4"},
 				},
 			},
-			DHCPStaticMapping: []*sacloud.VPCRouterDHCPStaticMapping{
+			DHCPStaticMapping: []*iaas.VPCRouterDHCPStaticMapping{
 				{
 					MACAddress: "9C:A3:BA:xx:xx:xx",
 					IPAddress:  "192.168.0.245",
 				},
 			},
-			DNSForwarding: &sacloud.VPCRouterDNSForwarding{
+			DNSForwarding: &iaas.VPCRouterDNSForwarding{
 				Interface:  "eth1",
 				DNSServers: []string{"133.242.0.3", "133.242.0.4"},
 			},
-			PPTPServer: &sacloud.VPCRouterPPTPServer{
+			PPTPServer: &iaas.VPCRouterPPTPServer{
 				RangeStart: "192.168.0.246",
 				RangeStop:  "192.168.0.249",
 			},
-			L2TPIPsecServer: &sacloud.VPCRouterL2TPIPsecServer{
+			L2TPIPsecServer: &iaas.VPCRouterL2TPIPsecServer{
 				RangeStart:      "192.168.0.250",
 				RangeStop:       "192.168.0.254",
 				PreSharedSecret: "presharedsecret",
 			},
-			WireGuard: &sacloud.VPCRouterWireGuard{
+			WireGuard: &iaas.VPCRouterWireGuard{
 				IPAddress: "192.168.0.240/28",
-				Peers: []*sacloud.VPCRouterWireGuardPeer{
+				Peers: []*iaas.VPCRouterWireGuardPeer{
 					{
 						Name:      "client1",
 						IPAddress: "192.168.0.242",
@@ -174,13 +174,13 @@ func (p *createStandardParameter) ExampleParameters(ctx cli.Context) interface{}
 					},
 				},
 			},
-			RemoteAccessUsers: []*sacloud.VPCRouterRemoteAccessUser{
+			RemoteAccessUsers: []*iaas.VPCRouterRemoteAccessUser{
 				{
 					UserName: "username",
 					Password: "password",
 				},
 			},
-			SiteToSiteIPsecVPN: []*sacloud.VPCRouterSiteToSiteIPsecVPN{
+			SiteToSiteIPsecVPN: []*iaas.VPCRouterSiteToSiteIPsecVPN{
 				{
 					Peer:            "192.0.2.1",
 					PreSharedSecret: "presharedsecret",
@@ -189,7 +189,7 @@ func (p *createStandardParameter) ExampleParameters(ctx cli.Context) interface{}
 					LocalPrefix:     []string{"192.168.0.0/24"},
 				},
 			},
-			StaticRoute: []*sacloud.VPCRouterStaticRoute{
+			StaticRoute: []*iaas.VPCRouterStaticRoute{
 				{
 					Prefix:  "172.16.0.0/16",
 					NextHop: "192.168.0.21",
diff --git a/pkg/cmd/commands/vpcrouter/resource.go b/pkg/cmd/commands/vpcrouter/resource.go
index 8e6a293d..c98c04e1 100644
--- a/pkg/cmd/commands/vpcrouter/resource.go
+++ b/pkg/cmd/commands/vpcrouter/resource.go
@@ -17,7 +17,7 @@ package vpcrouter
 import (
 	"reflect"
 
-	"github.com/sacloud/libsacloud/v2/helper/service/vpcrouter"
+	"github.com/sacloud/iaas-service-go/vpcrouter"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 )
 
diff --git a/pkg/cmd/commands/vpcrouter/router_setting.go b/pkg/cmd/commands/vpcrouter/router_setting.go
index 892d6e77..5021e3ff 100644
--- a/pkg/cmd/commands/vpcrouter/router_setting.go
+++ b/pkg/cmd/commands/vpcrouter/router_setting.go
@@ -15,7 +15,7 @@
 package vpcrouter
 
 import (
-	"github.com/sacloud/libsacloud/v2/sacloud"
+	"github.com/sacloud/iaas-api-go"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/util"
 )
@@ -24,48 +24,48 @@ type routerSetting struct {
 	VRID                      int `json:",omitempty"`
 	InternetConnectionEnabled bool
 
-	StaticNATData string                        `cli:"static-nat" mapconv:"-" json:"-"`
-	StaticNAT     []*sacloud.VPCRouterStaticNAT `cli:"-" json:",omitempty"`
+	StaticNATData string                     `cli:"static-nat" mapconv:"-" json:"-"`
+	StaticNAT     []*iaas.VPCRouterStaticNAT `cli:"-" json:",omitempty"`
 
-	PortForwardingData string                             `cli:"port-forwarding" mapconv:"-" json:"-"`
-	PortForwarding     []*sacloud.VPCRouterPortForwarding `cli:"-" json:",omitempty"`
+	PortForwardingData string                          `cli:"port-forwarding" mapconv:"-" json:"-"`
+	PortForwarding     []*iaas.VPCRouterPortForwarding `cli:"-" json:",omitempty"`
 
-	FirewallData string                       `cli:"firewall" mapconv:"-" json:"-"`
-	Firewall     []*sacloud.VPCRouterFirewall `cli:"-" json:",omitempty"`
+	FirewallData string                    `cli:"firewall" mapconv:"-" json:"-"`
+	Firewall     []*iaas.VPCRouterFirewall `cli:"-" json:",omitempty"`
 
-	DHCPServerData string                         `cli:"dhcp-server" mapconv:"-" json:"-"`
-	DHCPServer     []*sacloud.VPCRouterDHCPServer `cli:"-" json:",omitempty"`
+	DHCPServerData string                      `cli:"dhcp-server" mapconv:"-" json:"-"`
+	DHCPServer     []*iaas.VPCRouterDHCPServer `cli:"-" json:",omitempty"`
 
-	DHCPStaticMappingData string                                `cli:"dhcp-static-mapping" mapconv:"-" json:"-"`
-	DHCPStaticMapping     []*sacloud.VPCRouterDHCPStaticMapping `cli:"-" json:",omitempty"`
+	DHCPStaticMappingData string                             `cli:"dhcp-static-mapping" mapconv:"-" json:"-"`
+	DHCPStaticMapping     []*iaas.VPCRouterDHCPStaticMapping `cli:"-" json:",omitempty"`
 
-	DNSForwardingData string                          `cli:"dns-forwarding" mapconv:"-" json:"-"`
-	DNSForwarding     *sacloud.VPCRouterDNSForwarding `cli:"-" json:",omitempty"`
+	DNSForwardingData string                       `cli:"dns-forwarding" mapconv:"-" json:"-"`
+	DNSForwarding     *iaas.VPCRouterDNSForwarding `cli:"-" json:",omitempty"`
 
-	PPTPServerData string                       `cli:"pptp" mapconv:"-" json:"-"`
-	PPTPServer     *sacloud.VPCRouterPPTPServer `cli:"-" json:",omitempty"`
+	PPTPServerData string                    `cli:"pptp" mapconv:"-" json:"-"`
+	PPTPServer     *iaas.VPCRouterPPTPServer `cli:"-" json:",omitempty"`
 
-	L2TPIPsecServerData string                            `cli:"l2tp" mapconv:"-" json:"-"`
-	L2TPIPsecServer     *sacloud.VPCRouterL2TPIPsecServer `cli:"-" json:",omitempty"`
+	L2TPIPsecServerData string                         `cli:"l2tp" mapconv:"-" json:"-"`
+	L2TPIPsecServer     *iaas.VPCRouterL2TPIPsecServer `cli:"-" json:",omitempty"`
 
-	RemoteAccessUsersData string                               `cli:"users" mapconv:"-" json:"-"`
-	RemoteAccessUsers     []*sacloud.VPCRouterRemoteAccessUser `cli:"-" json:",omitempty"`
+	RemoteAccessUsersData string                            `cli:"users" mapconv:"-" json:"-"`
+	RemoteAccessUsers     []*iaas.VPCRouterRemoteAccessUser `cli:"-" json:",omitempty"`
 
-	WireGuardData string                      `cli:"wireguard" mapconv:"-" json:"-"`
-	WireGuard     *sacloud.VPCRouterWireGuard `cli:"-" json:",omitempty"`
+	WireGuardData string                   `cli:"wireguard" mapconv:"-" json:"-"`
+	WireGuard     *iaas.VPCRouterWireGuard `cli:"-" json:",omitempty"`
 
-	SiteToSiteIPsecVPNData string                                 `cli:"site-to-site-vpn" mapconv:"-" json:"-"`
-	SiteToSiteIPsecVPN     []*sacloud.VPCRouterSiteToSiteIPsecVPN `cli:"-" json:",omitempty"`
+	SiteToSiteIPsecVPNData string                              `cli:"site-to-site-vpn" mapconv:"-" json:"-"`
+	SiteToSiteIPsecVPN     []*iaas.VPCRouterSiteToSiteIPsecVPN `cli:"-" json:",omitempty"`
 
-	StaticRouteData string                          `cli:"static-route" mapconv:"-" json:"-"`
-	StaticRoute     []*sacloud.VPCRouterStaticRoute `cli:"-" json:",omitempty"`
+	StaticRouteData string                       `cli:"static-route" mapconv:"-" json:"-"`
+	StaticRoute     []*iaas.VPCRouterStaticRoute `cli:"-" json:",omitempty"`
 
 	SyslogHost string `json:",omitempty"`
 }
 
 func (r *routerSetting) Customize(_ cli.Context) error {
 	if r.StaticNATData != "" {
-		var staticNat []*sacloud.VPCRouterStaticNAT
+		var staticNat []*iaas.VPCRouterStaticNAT
 		if err := util.MarshalJSONFromPathOrContent(r.StaticNATData, &staticNat); err != nil {
 			return err
 		}
@@ -73,7 +73,7 @@ func (r *routerSetting) Customize(_ cli.Context) error {
 	}
 
 	if r.PortForwardingData != "" {
-		var portForwarding []*sacloud.VPCRouterPortForwarding
+		var portForwarding []*iaas.VPCRouterPortForwarding
 		if err := util.MarshalJSONFromPathOrContent(r.PortForwardingData, &portForwarding); err != nil {
 			return err
 		}
@@ -81,7 +81,7 @@ func (r *routerSetting) Customize(_ cli.Context) error {
 	}
 
 	if r.FirewallData != "" {
-		var firewall []*sacloud.VPCRouterFirewall
+		var firewall []*iaas.VPCRouterFirewall
 		if err := util.MarshalJSONFromPathOrContent(r.FirewallData, &firewall); err != nil {
 			return err
 		}
@@ -89,7 +89,7 @@ func (r *routerSetting) Customize(_ cli.Context) error {
 	}
 
 	if r.DHCPServerData != "" {
-		var dhcpServer []*sacloud.VPCRouterDHCPServer
+		var dhcpServer []*iaas.VPCRouterDHCPServer
 		if err := util.MarshalJSONFromPathOrContent(r.DHCPServerData, &dhcpServer); err != nil {
 			return err
 		}
@@ -97,14 +97,14 @@ func (r *routerSetting) Customize(_ cli.Context) error {
 	}
 
 	if r.DHCPStaticMappingData != "" {
-		var dhcpStaticMapping []*sacloud.VPCRouterDHCPStaticMapping
+		var dhcpStaticMapping []*iaas.VPCRouterDHCPStaticMapping
 		if err := util.MarshalJSONFromPathOrContent(r.DHCPStaticMappingData, &dhcpStaticMapping); err != nil {
 			return err
 		}
 		r.DHCPStaticMapping = append(r.DHCPStaticMapping, dhcpStaticMapping...)
 	}
 	if r.DNSForwardingData != "" {
-		var df sacloud.VPCRouterDNSForwarding
+		var df iaas.VPCRouterDNSForwarding
 		if err := util.MarshalJSONFromPathOrContent(r.DNSForwardingData, &df); err != nil {
 			return err
 		}
@@ -112,21 +112,21 @@ func (r *routerSetting) Customize(_ cli.Context) error {
 	}
 
 	if r.PPTPServerData != "" {
-		var pptp sacloud.VPCRouterPPTPServer
+		var pptp iaas.VPCRouterPPTPServer
 		if err := util.MarshalJSONFromPathOrContent(r.PPTPServerData, &pptp); err != nil {
 			return err
 		}
 		r.PPTPServer = &pptp
 	}
 	if r.L2TPIPsecServerData != "" {
-		var l2tp sacloud.VPCRouterL2TPIPsecServer
+		var l2tp iaas.VPCRouterL2TPIPsecServer
 		if err := util.MarshalJSONFromPathOrContent(r.L2TPIPsecServerData, &l2tp); err != nil {
 			return err
 		}
 		r.L2TPIPsecServer = &l2tp
 	}
 	if r.WireGuardData != "" {
-		var wireGuard sacloud.VPCRouterWireGuard
+		var wireGuard iaas.VPCRouterWireGuard
 		if err := util.MarshalJSONFromPathOrContent(r.WireGuardData, &wireGuard); err != nil {
 			return err
 		}
@@ -134,7 +134,7 @@ func (r *routerSetting) Customize(_ cli.Context) error {
 	}
 
 	if r.RemoteAccessUsersData != "" {
-		var users []*sacloud.VPCRouterRemoteAccessUser
+		var users []*iaas.VPCRouterRemoteAccessUser
 		if err := util.MarshalJSONFromPathOrContent(r.RemoteAccessUsersData, &users); err != nil {
 			return err
 		}
@@ -142,7 +142,7 @@ func (r *routerSetting) Customize(_ cli.Context) error {
 	}
 
 	if r.SiteToSiteIPsecVPNData != "" {
-		var s2s []*sacloud.VPCRouterSiteToSiteIPsecVPN
+		var s2s []*iaas.VPCRouterSiteToSiteIPsecVPN
 		if err := util.MarshalJSONFromPathOrContent(r.SiteToSiteIPsecVPNData, &s2s); err != nil {
 			return err
 		}
@@ -150,7 +150,7 @@ func (r *routerSetting) Customize(_ cli.Context) error {
 	}
 
 	if r.StaticRouteData != "" {
-		var staticRoutes []*sacloud.VPCRouterStaticRoute
+		var staticRoutes []*iaas.VPCRouterStaticRoute
 		if err := util.MarshalJSONFromPathOrContent(r.StaticRouteData, &staticRoutes); err != nil {
 			return err
 		}
diff --git a/pkg/cmd/commands/vpcrouter/router_setting_update.go b/pkg/cmd/commands/vpcrouter/router_setting_update.go
index 938cac26..7dff649a 100644
--- a/pkg/cmd/commands/vpcrouter/router_setting_update.go
+++ b/pkg/cmd/commands/vpcrouter/router_setting_update.go
@@ -15,7 +15,7 @@
 package vpcrouter
 
 import (
-	"github.com/sacloud/libsacloud/v2/sacloud"
+	"github.com/sacloud/iaas-api-go"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/util"
 )
@@ -23,103 +23,103 @@ import (
 type routerSettingUpdate struct {
 	InternetConnectionEnabled *bool
 
-	StaticNATData string                         `cli:"static-nat" mapconv:"-"`
-	StaticNAT     *[]*sacloud.VPCRouterStaticNAT `cli:"-" mapconv:",omitempty"`
+	StaticNATData string                      `cli:"static-nat" mapconv:"-"`
+	StaticNAT     *[]*iaas.VPCRouterStaticNAT `cli:"-" mapconv:",omitempty"`
 
-	PortForwardingData string                              `cli:"port-forwarding" mapconv:"-"`
-	PortForwarding     *[]*sacloud.VPCRouterPortForwarding `cli:"-" mapconv:",omitempty"`
+	PortForwardingData string                           `cli:"port-forwarding" mapconv:"-"`
+	PortForwarding     *[]*iaas.VPCRouterPortForwarding `cli:"-" mapconv:",omitempty"`
 
-	FirewallData string                        `cli:"firewall" mapconv:"-"`
-	Firewall     *[]*sacloud.VPCRouterFirewall `cli:"-" mapconv:",omitempty"`
+	FirewallData string                     `cli:"firewall" mapconv:"-"`
+	Firewall     *[]*iaas.VPCRouterFirewall `cli:"-" mapconv:",omitempty"`
 
-	DHCPServerData string                          `cli:"dhcp-server" mapconv:"-"`
-	DHCPServer     *[]*sacloud.VPCRouterDHCPServer `cli:"-" mapconv:",omitempty"`
+	DHCPServerData string                       `cli:"dhcp-server" mapconv:"-"`
+	DHCPServer     *[]*iaas.VPCRouterDHCPServer `cli:"-" mapconv:",omitempty"`
 
-	DHCPStaticMappingData string                                 `cli:"dhcp-static-mapping" mapconv:"-"`
-	DHCPStaticMapping     *[]*sacloud.VPCRouterDHCPStaticMapping `cli:"-" mapconv:",omitempty"`
+	DHCPStaticMappingData string                              `cli:"dhcp-static-mapping" mapconv:"-"`
+	DHCPStaticMapping     *[]*iaas.VPCRouterDHCPStaticMapping `cli:"-" mapconv:",omitempty"`
 
-	DNSForwardingData string                          `cli:"dns-forwarding" mapconv:"-"`
-	DNSForwarding     *sacloud.VPCRouterDNSForwarding `cli:"-" mapconv:",omitempty"`
+	DNSForwardingData string                       `cli:"dns-forwarding" mapconv:"-"`
+	DNSForwarding     *iaas.VPCRouterDNSForwarding `cli:"-" mapconv:",omitempty"`
 
-	PPTPServerData string                       `cli:"pptp" mapconv:"-"`
-	PPTPServer     *sacloud.VPCRouterPPTPServer `cli:"-" mapconv:",omitempty"`
+	PPTPServerData string                    `cli:"pptp" mapconv:"-"`
+	PPTPServer     *iaas.VPCRouterPPTPServer `cli:"-" mapconv:",omitempty"`
 
-	L2TPIPsecServerData string                            `cli:"l2tp" mapconv:"-"`
-	L2TPIPsecServer     *sacloud.VPCRouterL2TPIPsecServer `cli:"-" mapconv:",omitempty"`
+	L2TPIPsecServerData string                         `cli:"l2tp" mapconv:"-"`
+	L2TPIPsecServer     *iaas.VPCRouterL2TPIPsecServer `cli:"-" mapconv:",omitempty"`
 
-	WireGuardData string                      `cli:"wireguard" mapconv:"-"`
-	WireGuard     *sacloud.VPCRouterWireGuard `cli:"-" mapconv:",omitempty"`
+	WireGuardData string                   `cli:"wireguard" mapconv:"-"`
+	WireGuard     *iaas.VPCRouterWireGuard `cli:"-" mapconv:",omitempty"`
 
-	RemoteAccessUsersData string                                `cli:"users" mapconv:"-"`
-	RemoteAccessUsers     *[]*sacloud.VPCRouterRemoteAccessUser `cli:"-" mapconv:",omitempty"`
+	RemoteAccessUsersData string                             `cli:"users" mapconv:"-"`
+	RemoteAccessUsers     *[]*iaas.VPCRouterRemoteAccessUser `cli:"-" mapconv:",omitempty"`
 
-	SiteToSiteIPsecVPNData string                                  `cli:"site-to-site-vpn" mapconv:"-"`
-	SiteToSiteIPsecVPN     *[]*sacloud.VPCRouterSiteToSiteIPsecVPN `cli:"-" mapconv:",omitempty"`
+	SiteToSiteIPsecVPNData string                               `cli:"site-to-site-vpn" mapconv:"-"`
+	SiteToSiteIPsecVPN     *[]*iaas.VPCRouterSiteToSiteIPsecVPN `cli:"-" mapconv:",omitempty"`
 
-	StaticRouteData string                           `cli:"static-route" mapconv:"-"`
-	StaticRoute     *[]*sacloud.VPCRouterStaticRoute `cli:"-" mapconv:",omitempty"`
+	StaticRouteData string                        `cli:"static-route" mapconv:"-"`
+	StaticRoute     *[]*iaas.VPCRouterStaticRoute `cli:"-" mapconv:",omitempty"`
 
 	SyslogHost *string
 }
 
 func (r *routerSettingUpdate) Customize(_ cli.Context) error {
 	if r.StaticNATData != "" {
-		var staticNat []*sacloud.VPCRouterStaticNAT
+		var staticNat []*iaas.VPCRouterStaticNAT
 		if err := util.MarshalJSONFromPathOrContent(r.StaticNATData, &staticNat); err != nil {
 			return err
 		}
 		if r.StaticNAT == nil {
-			r.StaticNAT = &[]*sacloud.VPCRouterStaticNAT{}
+			r.StaticNAT = &[]*iaas.VPCRouterStaticNAT{}
 		}
 		*r.StaticNAT = append(*r.StaticNAT, staticNat...)
 	}
 
 	if r.PortForwardingData != "" {
-		var portForwarding []*sacloud.VPCRouterPortForwarding
+		var portForwarding []*iaas.VPCRouterPortForwarding
 		if err := util.MarshalJSONFromPathOrContent(r.PortForwardingData, &portForwarding); err != nil {
 			return err
 		}
 		if r.PortForwarding == nil {
-			r.PortForwarding = &[]*sacloud.VPCRouterPortForwarding{}
+			r.PortForwarding = &[]*iaas.VPCRouterPortForwarding{}
 		}
 		*r.PortForwarding = append(*r.PortForwarding, portForwarding...)
 	}
 
 	if r.FirewallData != "" {
-		var firewall []*sacloud.VPCRouterFirewall
+		var firewall []*iaas.VPCRouterFirewall
 		if err := util.MarshalJSONFromPathOrContent(r.FirewallData, &firewall); err != nil {
 			return err
 		}
 		if r.Firewall == nil {
-			r.Firewall = &[]*sacloud.VPCRouterFirewall{}
+			r.Firewall = &[]*iaas.VPCRouterFirewall{}
 		}
 		*r.Firewall = append(*r.Firewall, firewall...)
 	}
 
 	if r.DHCPServerData != "" {
-		var dhcpServer []*sacloud.VPCRouterDHCPServer
+		var dhcpServer []*iaas.VPCRouterDHCPServer
 		if err := util.MarshalJSONFromPathOrContent(r.DHCPServerData, &dhcpServer); err != nil {
 			return err
 		}
 		if r.DHCPServer == nil {
-			r.DHCPServer = &[]*sacloud.VPCRouterDHCPServer{}
+			r.DHCPServer = &[]*iaas.VPCRouterDHCPServer{}
 		}
 		*r.DHCPServer = append(*r.DHCPServer, dhcpServer...)
 	}
 
 	if r.DHCPStaticMappingData != "" {
-		var dhcpStaticMapping []*sacloud.VPCRouterDHCPStaticMapping
+		var dhcpStaticMapping []*iaas.VPCRouterDHCPStaticMapping
 		if err := util.MarshalJSONFromPathOrContent(r.DHCPStaticMappingData, &dhcpStaticMapping); err != nil {
 			return err
 		}
 		if r.DHCPStaticMapping == nil {
-			r.DHCPStaticMapping = &[]*sacloud.VPCRouterDHCPStaticMapping{}
+			r.DHCPStaticMapping = &[]*iaas.VPCRouterDHCPStaticMapping{}
 		}
 		*r.DHCPStaticMapping = append(*r.DHCPStaticMapping, dhcpStaticMapping...)
 	}
 
 	if r.DNSForwardingData != "" {
-		var df sacloud.VPCRouterDNSForwarding
+		var df iaas.VPCRouterDNSForwarding
 		if err := util.MarshalJSONFromPathOrContent(r.DNSForwardingData, &df); err != nil {
 			return err
 		}
@@ -127,7 +127,7 @@ func (r *routerSettingUpdate) Customize(_ cli.Context) error {
 	}
 
 	if r.PPTPServerData != "" {
-		var pptp sacloud.VPCRouterPPTPServer
+		var pptp iaas.VPCRouterPPTPServer
 		if err := util.MarshalJSONFromPathOrContent(r.PPTPServerData, &pptp); err != nil {
 			return err
 		}
@@ -135,14 +135,14 @@ func (r *routerSettingUpdate) Customize(_ cli.Context) error {
 	}
 
 	if r.L2TPIPsecServerData != "" {
-		var l2tp sacloud.VPCRouterL2TPIPsecServer
+		var l2tp iaas.VPCRouterL2TPIPsecServer
 		if err := util.MarshalJSONFromPathOrContent(r.L2TPIPsecServerData, &l2tp); err != nil {
 			return err
 		}
 		*r.L2TPIPsecServer = l2tp
 	}
 	if r.WireGuardData != "" {
-		var wireGuard sacloud.VPCRouterWireGuard
+		var wireGuard iaas.VPCRouterWireGuard
 		if err := util.MarshalJSONFromPathOrContent(r.WireGuardData, &wireGuard); err != nil {
 			return err
 		}
@@ -150,34 +150,34 @@ func (r *routerSettingUpdate) Customize(_ cli.Context) error {
 	}
 
 	if r.RemoteAccessUsersData != "" {
-		var users []*sacloud.VPCRouterRemoteAccessUser
+		var users []*iaas.VPCRouterRemoteAccessUser
 		if err := util.MarshalJSONFromPathOrContent(r.RemoteAccessUsersData, &users); err != nil {
 			return err
 		}
 		if r.RemoteAccessUsers == nil {
-			r.RemoteAccessUsers = &[]*sacloud.VPCRouterRemoteAccessUser{}
+			r.RemoteAccessUsers = &[]*iaas.VPCRouterRemoteAccessUser{}
 		}
 		*r.RemoteAccessUsers = append(*r.RemoteAccessUsers, users...)
 	}
 
 	if r.SiteToSiteIPsecVPNData != "" {
-		var s2s []*sacloud.VPCRouterSiteToSiteIPsecVPN
+		var s2s []*iaas.VPCRouterSiteToSiteIPsecVPN
 		if err := util.MarshalJSONFromPathOrContent(r.SiteToSiteIPsecVPNData, &s2s); err != nil {
 			return err
 		}
 		if r.SiteToSiteIPsecVPN == nil {
-			r.SiteToSiteIPsecVPN = &[]*sacloud.VPCRouterSiteToSiteIPsecVPN{}
+			r.SiteToSiteIPsecVPN = &[]*iaas.VPCRouterSiteToSiteIPsecVPN{}
 		}
 		*r.SiteToSiteIPsecVPN = append(*r.SiteToSiteIPsecVPN, s2s...)
 	}
 
 	if r.StaticRouteData != "" {
-		var staticRoutes []*sacloud.VPCRouterStaticRoute
+		var staticRoutes []*iaas.VPCRouterStaticRoute
 		if err := util.MarshalJSONFromPathOrContent(r.StaticRouteData, &staticRoutes); err != nil {
 			return err
 		}
 		if r.StaticRoute == nil {
-			r.StaticRoute = &[]*sacloud.VPCRouterStaticRoute{}
+			r.StaticRoute = &[]*iaas.VPCRouterStaticRoute{}
 		}
 		*r.StaticRoute = append(*r.StaticRoute, staticRoutes...)
 	}
diff --git a/pkg/cmd/commands/vpcrouter/update.go b/pkg/cmd/commands/vpcrouter/update.go
index 0281faf6..b5a43358 100644
--- a/pkg/cmd/commands/vpcrouter/update.go
+++ b/pkg/cmd/commands/vpcrouter/update.go
@@ -15,10 +15,10 @@
 package vpcrouter
 
 import (
-	"github.com/sacloud/libsacloud/v2/helper/service/vpcrouter"
-	"github.com/sacloud/libsacloud/v2/sacloud"
-	"github.com/sacloud/libsacloud/v2/sacloud/pointer"
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
+	"github.com/sacloud/iaas-api-go"
+	"github.com/sacloud/iaas-api-go/types"
+	"github.com/sacloud/iaas-service-go/vpcrouter"
+	"github.com/sacloud/packages-go/pointer"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
@@ -107,14 +107,14 @@ func (p *updateParameter) ExampleParameters(ctx cli.Context) interface{} {
 		},
 		RouterSetting: routerSettingUpdate{
 			InternetConnectionEnabled: pointer.NewBool(true),
-			StaticNAT: &[]*sacloud.VPCRouterStaticNAT{
+			StaticNAT: &[]*iaas.VPCRouterStaticNAT{
 				{
 					GlobalAddress:  examples.VirtualIPAddress,
 					PrivateAddress: "192.168.0.1",
 					Description:    "example",
 				},
 			},
-			PortForwarding: &[]*sacloud.VPCRouterPortForwarding{
+			PortForwarding: &[]*iaas.VPCRouterPortForwarding{
 				{
 					Protocol:       types.EVPCRouterPortForwardingProtocol(examples.OptionsString("vpc_router_port_forwarding_protocol")),
 					GlobalPort:     22,
@@ -123,9 +123,9 @@ func (p *updateParameter) ExampleParameters(ctx cli.Context) interface{} {
 					Description:    "example",
 				},
 			},
-			Firewall: &[]*sacloud.VPCRouterFirewall{
+			Firewall: &[]*iaas.VPCRouterFirewall{
 				{
-					Send: []*sacloud.VPCRouterFirewallRule{
+					Send: []*iaas.VPCRouterFirewallRule{
 						{
 							Protocol:           types.Protocol(examples.OptionsString("vpc_router_firewall_protocol")),
 							SourceNetwork:      "192.0.2.1 | 192.0.2.0/24",
@@ -137,7 +137,7 @@ func (p *updateParameter) ExampleParameters(ctx cli.Context) interface{} {
 							Description:        "example",
 						},
 					},
-					Receive: []*sacloud.VPCRouterFirewallRule{
+					Receive: []*iaas.VPCRouterFirewallRule{
 						{
 							Protocol:           types.Protocol(examples.OptionsString("vpc_router_firewall_protocol")),
 							SourceNetwork:      "192.0.2.1 | 192.0.2.0/24",
@@ -152,7 +152,7 @@ func (p *updateParameter) ExampleParameters(ctx cli.Context) interface{} {
 					Index: 0,
 				},
 			},
-			DHCPServer: &[]*sacloud.VPCRouterDHCPServer{
+			DHCPServer: &[]*iaas.VPCRouterDHCPServer{
 				{
 					Interface:  "eth1",
 					RangeStart: "192.168.0.240",
@@ -160,28 +160,28 @@ func (p *updateParameter) ExampleParameters(ctx cli.Context) interface{} {
 					DNSServers: []string{"133.242.0.3", "133.242.0.4"},
 				},
 			},
-			DHCPStaticMapping: &[]*sacloud.VPCRouterDHCPStaticMapping{
+			DHCPStaticMapping: &[]*iaas.VPCRouterDHCPStaticMapping{
 				{
 					MACAddress: "9C:A3:BA:xx:xx:xx",
 					IPAddress:  "192.168.0.245",
 				},
 			},
-			DNSForwarding: &sacloud.VPCRouterDNSForwarding{
+			DNSForwarding: &iaas.VPCRouterDNSForwarding{
 				Interface:  "eth1",
 				DNSServers: []string{"133.242.0.3", "133.242.0.4"},
 			},
-			PPTPServer: &sacloud.VPCRouterPPTPServer{
+			PPTPServer: &iaas.VPCRouterPPTPServer{
 				RangeStart: "192.168.0.246",
 				RangeStop:  "192.168.0.249",
 			},
-			L2TPIPsecServer: &sacloud.VPCRouterL2TPIPsecServer{
+			L2TPIPsecServer: &iaas.VPCRouterL2TPIPsecServer{
 				RangeStart:      "192.168.0.250",
 				RangeStop:       "192.168.0.254",
 				PreSharedSecret: "presharedsecret",
 			},
-			WireGuard: &sacloud.VPCRouterWireGuard{
+			WireGuard: &iaas.VPCRouterWireGuard{
 				IPAddress: "192.168.0.240/28",
-				Peers: []*sacloud.VPCRouterWireGuardPeer{
+				Peers: []*iaas.VPCRouterWireGuardPeer{
 					{
 						Name:      "client1",
 						IPAddress: "192.168.0.242",
@@ -189,13 +189,13 @@ func (p *updateParameter) ExampleParameters(ctx cli.Context) interface{} {
 					},
 				},
 			},
-			RemoteAccessUsers: &[]*sacloud.VPCRouterRemoteAccessUser{
+			RemoteAccessUsers: &[]*iaas.VPCRouterRemoteAccessUser{
 				{
 					UserName: "username",
 					Password: "password",
 				},
 			},
-			SiteToSiteIPsecVPN: &[]*sacloud.VPCRouterSiteToSiteIPsecVPN{
+			SiteToSiteIPsecVPN: &[]*iaas.VPCRouterSiteToSiteIPsecVPN{
 				{
 					Peer:            "192.0.2.1",
 					PreSharedSecret: "presharedsecret",
@@ -204,7 +204,7 @@ func (p *updateParameter) ExampleParameters(ctx cli.Context) interface{} {
 					LocalPrefix:     []string{"192.168.0.0/24"},
 				},
 			},
-			StaticRoute: &[]*sacloud.VPCRouterStaticRoute{
+			StaticRoute: &[]*iaas.VPCRouterStaticRoute{
 				{
 					Prefix:  "172.16.0.0/16",
 					NextHop: "192.168.0.21",
diff --git a/pkg/cmd/commands/vpcrouter/update_standard.go b/pkg/cmd/commands/vpcrouter/update_standard.go
index 8a2e6b11..a6977f7a 100644
--- a/pkg/cmd/commands/vpcrouter/update_standard.go
+++ b/pkg/cmd/commands/vpcrouter/update_standard.go
@@ -15,10 +15,10 @@
 package vpcrouter
 
 import (
-	"github.com/sacloud/libsacloud/v2/helper/service/vpcrouter"
-	"github.com/sacloud/libsacloud/v2/sacloud"
-	"github.com/sacloud/libsacloud/v2/sacloud/pointer"
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
+	"github.com/sacloud/iaas-api-go"
+	"github.com/sacloud/iaas-api-go/types"
+	"github.com/sacloud/iaas-service-go/vpcrouter"
+	"github.com/sacloud/packages-go/pointer"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
@@ -99,7 +99,7 @@ func (p *updateStandardParameter) ExampleParameters(ctx cli.Context) interface{}
 		},
 		RouterSetting: routerSettingUpdate{
 			InternetConnectionEnabled: pointer.NewBool(true),
-			PortForwarding: &[]*sacloud.VPCRouterPortForwarding{
+			PortForwarding: &[]*iaas.VPCRouterPortForwarding{
 				{
 					Protocol:       types.EVPCRouterPortForwardingProtocol(examples.OptionsString("vpc_router_port_forwarding_protocol")),
 					GlobalPort:     22,
@@ -108,9 +108,9 @@ func (p *updateStandardParameter) ExampleParameters(ctx cli.Context) interface{}
 					Description:    "example",
 				},
 			},
-			Firewall: &[]*sacloud.VPCRouterFirewall{
+			Firewall: &[]*iaas.VPCRouterFirewall{
 				{
-					Send: []*sacloud.VPCRouterFirewallRule{
+					Send: []*iaas.VPCRouterFirewallRule{
 						{
 							Protocol:           types.Protocol(examples.OptionsString("vpc_router_firewall_protocol")),
 							SourceNetwork:      "192.0.2.1 | 192.0.2.0/24",
@@ -122,7 +122,7 @@ func (p *updateStandardParameter) ExampleParameters(ctx cli.Context) interface{}
 							Description:        "example",
 						},
 					},
-					Receive: []*sacloud.VPCRouterFirewallRule{
+					Receive: []*iaas.VPCRouterFirewallRule{
 						{
 							Protocol:           types.Protocol(examples.OptionsString("vpc_router_firewall_protocol")),
 							SourceNetwork:      "192.0.2.1 | 192.0.2.0/24",
@@ -137,7 +137,7 @@ func (p *updateStandardParameter) ExampleParameters(ctx cli.Context) interface{}
 					Index: 0,
 				},
 			},
-			DHCPServer: &[]*sacloud.VPCRouterDHCPServer{
+			DHCPServer: &[]*iaas.VPCRouterDHCPServer{
 				{
 					Interface:  "eth1",
 					RangeStart: "192.168.0.240",
@@ -145,28 +145,28 @@ func (p *updateStandardParameter) ExampleParameters(ctx cli.Context) interface{}
 					DNSServers: []string{"133.242.0.3", "133.242.0.4"},
 				},
 			},
-			DHCPStaticMapping: &[]*sacloud.VPCRouterDHCPStaticMapping{
+			DHCPStaticMapping: &[]*iaas.VPCRouterDHCPStaticMapping{
 				{
 					MACAddress: "9C:A3:BA:xx:xx:xx",
 					IPAddress:  "192.168.0.245",
 				},
 			},
-			DNSForwarding: &sacloud.VPCRouterDNSForwarding{
+			DNSForwarding: &iaas.VPCRouterDNSForwarding{
 				Interface:  "eth1",
 				DNSServers: []string{"133.242.0.3", "133.242.0.4"},
 			},
-			PPTPServer: &sacloud.VPCRouterPPTPServer{
+			PPTPServer: &iaas.VPCRouterPPTPServer{
 				RangeStart: "192.168.0.246",
 				RangeStop:  "192.168.0.249",
 			},
-			L2TPIPsecServer: &sacloud.VPCRouterL2TPIPsecServer{
+			L2TPIPsecServer: &iaas.VPCRouterL2TPIPsecServer{
 				RangeStart:      "192.168.0.250",
 				RangeStop:       "192.168.0.254",
 				PreSharedSecret: "presharedsecret",
 			},
-			WireGuard: &sacloud.VPCRouterWireGuard{
+			WireGuard: &iaas.VPCRouterWireGuard{
 				IPAddress: "192.168.0.240/28",
-				Peers: []*sacloud.VPCRouterWireGuardPeer{
+				Peers: []*iaas.VPCRouterWireGuardPeer{
 					{
 						Name:      "client1",
 						IPAddress: "192.168.0.242",
@@ -174,13 +174,13 @@ func (p *updateStandardParameter) ExampleParameters(ctx cli.Context) interface{}
 					},
 				},
 			},
-			RemoteAccessUsers: &[]*sacloud.VPCRouterRemoteAccessUser{
+			RemoteAccessUsers: &[]*iaas.VPCRouterRemoteAccessUser{
 				{
 					UserName: "username",
 					Password: "password",
 				},
 			},
-			SiteToSiteIPsecVPN: &[]*sacloud.VPCRouterSiteToSiteIPsecVPN{
+			SiteToSiteIPsecVPN: &[]*iaas.VPCRouterSiteToSiteIPsecVPN{
 				{
 					Peer:            "192.0.2.1",
 					PreSharedSecret: "presharedsecret",
@@ -189,7 +189,7 @@ func (p *updateStandardParameter) ExampleParameters(ctx cli.Context) interface{}
 					LocalPrefix:     []string{"192.168.0.0/24"},
 				},
 			},
-			StaticRoute: &[]*sacloud.VPCRouterStaticRoute{
+			StaticRoute: &[]*iaas.VPCRouterStaticRoute{
 				{
 					Prefix:  "172.16.0.0/16",
 					NextHop: "192.168.0.21",
diff --git a/pkg/cmd/commands/vpcrouter/zz_update_gen.go b/pkg/cmd/commands/vpcrouter/zz_update_gen.go
index ddd17560..ad6c1d29 100644
--- a/pkg/cmd/commands/vpcrouter/zz_update_gen.go
+++ b/pkg/cmd/commands/vpcrouter/zz_update_gen.go
@@ -17,8 +17,8 @@
 package vpcrouter
 
 import (
-	"github.com/sacloud/libsacloud/v2/sacloud/pointer"
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
+	"github.com/sacloud/iaas-api-go/types"
+	"github.com/sacloud/packages-go/pointer"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 	"github.com/spf13/cobra"
 	"github.com/spf13/pflag"
@@ -65,7 +65,8 @@ func (p *updateParameter) buildFlags(fs *pflag.FlagSet) {
 		p.Tags = pointer.NewStringSlice([]string{})
 	}
 	if p.IconID == nil {
-		p.IconID = pointer.NewID(types.ID(0))
+		v := types.ID(0)
+		p.IconID = &v
 	}
 	if p.PublicNetworkInterface.IPAddresses == nil {
 		p.PublicNetworkInterface.IPAddresses = pointer.NewStringSlice([]string{})
diff --git a/pkg/cmd/commands/vpcrouter/zz_update_standard_gen.go b/pkg/cmd/commands/vpcrouter/zz_update_standard_gen.go
index 30ee3971..fafe0463 100644
--- a/pkg/cmd/commands/vpcrouter/zz_update_standard_gen.go
+++ b/pkg/cmd/commands/vpcrouter/zz_update_standard_gen.go
@@ -17,8 +17,8 @@
 package vpcrouter
 
 import (
-	"github.com/sacloud/libsacloud/v2/sacloud/pointer"
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
+	"github.com/sacloud/iaas-api-go/types"
+	"github.com/sacloud/packages-go/pointer"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 	"github.com/spf13/cobra"
 	"github.com/spf13/pflag"
@@ -56,7 +56,8 @@ func (p *updateStandardParameter) buildFlags(fs *pflag.FlagSet) {
 		p.Tags = pointer.NewStringSlice([]string{})
 	}
 	if p.IconID == nil {
-		p.IconID = pointer.NewID(types.ID(0))
+		v := types.ID(0)
+		p.IconID = &v
 	}
 	if p.RouterSetting.InternetConnectionEnabled == nil {
 		p.RouterSetting.InternetConnectionEnabled = pointer.NewBool(false)
diff --git a/pkg/cmd/commands/webaccelerator/create_certificate.go b/pkg/cmd/commands/webaccelerator/create_certificate.go
index 622bbe3e..dc94bdae 100644
--- a/pkg/cmd/commands/webaccelerator/create_certificate.go
+++ b/pkg/cmd/commands/webaccelerator/create_certificate.go
@@ -17,12 +17,11 @@ package webaccelerator
 import (
 	"fmt"
 
-	"github.com/sacloud/usacloud/pkg/util"
-
-	"github.com/sacloud/libsacloud/v2/sacloud"
+	"github.com/sacloud/iaas-api-go"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
+	"github.com/sacloud/usacloud/pkg/util"
 )
 
 var createCertificateCommand = &core.Command{
@@ -75,8 +74,8 @@ func createCertificateFunc(ctx cli.Context, parameter interface{}) ([]interface{
 		return nil, err
 	}
 
-	webAccelOp := sacloud.NewWebAccelOp(ctx.Client())
-	result, err := webAccelOp.CreateCertificate(ctx, p.ID, &sacloud.WebAccelCertRequest{
+	webAccelOp := iaas.NewWebAccelOp(ctx.Client())
+	result, err := webAccelOp.CreateCertificate(ctx, p.ID, &iaas.WebAccelCertRequest{
 		CertificateChain: certs,
 		Key:              key,
 	})
diff --git a/pkg/cmd/commands/webaccelerator/delete_cache.go b/pkg/cmd/commands/webaccelerator/delete_cache.go
index 784daaf0..5133ef5e 100644
--- a/pkg/cmd/commands/webaccelerator/delete_cache.go
+++ b/pkg/cmd/commands/webaccelerator/delete_cache.go
@@ -17,12 +17,11 @@ package webaccelerator
 import (
 	"fmt"
 
-	"github.com/sacloud/usacloud/pkg/output"
-
-	"github.com/sacloud/libsacloud/v2/sacloud"
+	"github.com/sacloud/iaas-api-go"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
+	"github.com/sacloud/usacloud/pkg/output"
 )
 
 var deleteCacheCommand = &core.Command{
@@ -65,8 +64,8 @@ func deleteCacheFunc(ctx cli.Context, parameter interface{}) ([]interface{}, err
 	if !ok {
 		return nil, fmt.Errorf("got invalid parameter type: %#v", parameter)
 	}
-	webAccelOp := sacloud.NewWebAccelOp(ctx.Client())
-	deleteResults, err := webAccelOp.DeleteCache(ctx, &sacloud.WebAccelDeleteCacheRequest{URL: p.URLs})
+	webAccelOp := iaas.NewWebAccelOp(ctx.Client())
+	deleteResults, err := webAccelOp.DeleteCache(ctx, &iaas.WebAccelDeleteCacheRequest{URL: p.URLs})
 	if err != nil {
 		return nil, err
 	}
diff --git a/pkg/cmd/commands/webaccelerator/delete_cache_all.go b/pkg/cmd/commands/webaccelerator/delete_cache_all.go
index ab46dd57..f180cf66 100644
--- a/pkg/cmd/commands/webaccelerator/delete_cache_all.go
+++ b/pkg/cmd/commands/webaccelerator/delete_cache_all.go
@@ -17,7 +17,7 @@ package webaccelerator
 import (
 	"fmt"
 
-	"github.com/sacloud/libsacloud/v2/sacloud"
+	"github.com/sacloud/iaas-api-go"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
@@ -57,7 +57,7 @@ func deleteCacheAllFunc(ctx cli.Context, parameter interface{}) ([]interface{},
 	if !ok {
 		return nil, fmt.Errorf("got invalid parameter type: %#v", parameter)
 	}
-	webAccelOp := sacloud.NewWebAccelOp(ctx.Client())
+	webAccelOp := iaas.NewWebAccelOp(ctx.Client())
 
-	return nil, webAccelOp.DeleteAllCache(ctx, &sacloud.WebAccelDeleteAllCacheRequest{Domain: p.Domain})
+	return nil, webAccelOp.DeleteAllCache(ctx, &iaas.WebAccelDeleteAllCacheRequest{Domain: p.Domain})
 }
diff --git a/pkg/cmd/commands/webaccelerator/read.go b/pkg/cmd/commands/webaccelerator/read.go
index 5cc9d3dc..d0ddefef 100644
--- a/pkg/cmd/commands/webaccelerator/read.go
+++ b/pkg/cmd/commands/webaccelerator/read.go
@@ -17,7 +17,7 @@ package webaccelerator
 import (
 	"fmt"
 
-	"github.com/sacloud/libsacloud/v2/sacloud"
+	"github.com/sacloud/iaas-api-go"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
@@ -60,7 +60,7 @@ func readFunc(ctx cli.Context, parameter interface{}) ([]interface{}, error) {
 	if !ok {
 		return nil, fmt.Errorf("got invalid parameter type: %#v", parameter)
 	}
-	webAccelOp := sacloud.NewWebAccelOp(ctx.Client())
+	webAccelOp := iaas.NewWebAccelOp(ctx.Client())
 	result, err := webAccelOp.Read(ctx, p.ID)
 	if err != nil {
 		return nil, err
diff --git a/pkg/cmd/commands/webaccelerator/read_certificate.go b/pkg/cmd/commands/webaccelerator/read_certificate.go
index ded5ed88..a5c5df12 100644
--- a/pkg/cmd/commands/webaccelerator/read_certificate.go
+++ b/pkg/cmd/commands/webaccelerator/read_certificate.go
@@ -17,7 +17,7 @@ package webaccelerator
 import (
 	"fmt"
 
-	"github.com/sacloud/libsacloud/v2/sacloud"
+	"github.com/sacloud/iaas-api-go"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
@@ -60,7 +60,7 @@ func readCertificateFunc(ctx cli.Context, parameter interface{}) ([]interface{},
 	if !ok {
 		return nil, fmt.Errorf("got invalid parameter type: %#v", parameter)
 	}
-	webAccelOp := sacloud.NewWebAccelOp(ctx.Client())
+	webAccelOp := iaas.NewWebAccelOp(ctx.Client())
 	result, err := webAccelOp.ReadCertificate(ctx, p.ID)
 	if err != nil {
 		return nil, err
diff --git a/pkg/cmd/commands/webaccelerator/resource.go b/pkg/cmd/commands/webaccelerator/resource.go
index 0bb460be..f6c93b59 100644
--- a/pkg/cmd/commands/webaccelerator/resource.go
+++ b/pkg/cmd/commands/webaccelerator/resource.go
@@ -15,7 +15,7 @@
 package webaccelerator
 
 import (
-	"github.com/sacloud/libsacloud/v2/sacloud"
+	"github.com/sacloud/iaas-api-go"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 )
@@ -28,7 +28,7 @@ var Resource = &core.Resource{
 }
 
 func listAllFunc(ctx cli.Context, parameter interface{}) ([]interface{}, error) {
-	webAccelOp := sacloud.NewWebAccelOp(ctx.Client())
+	webAccelOp := iaas.NewWebAccelOp(ctx.Client())
 	searched, err := webAccelOp.List(ctx)
 	if err != nil {
 		return nil, err
diff --git a/pkg/cmd/commands/webaccelerator/update_certificate.go b/pkg/cmd/commands/webaccelerator/update_certificate.go
index 28dbe2e5..275f9c14 100644
--- a/pkg/cmd/commands/webaccelerator/update_certificate.go
+++ b/pkg/cmd/commands/webaccelerator/update_certificate.go
@@ -17,12 +17,11 @@ package webaccelerator
 import (
 	"fmt"
 
-	"github.com/sacloud/usacloud/pkg/util"
-
-	"github.com/sacloud/libsacloud/v2/sacloud"
+	"github.com/sacloud/iaas-api-go"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
+	"github.com/sacloud/usacloud/pkg/util"
 )
 
 var updateCertificateCommand = &core.Command{
@@ -78,8 +77,8 @@ func updateCertificateFunc(ctx cli.Context, parameter interface{}) ([]interface{
 		return nil, err
 	}
 
-	webAccelOp := sacloud.NewWebAccelOp(ctx.Client())
-	result, err := webAccelOp.UpdateCertificate(ctx, p.ID, &sacloud.WebAccelCertRequest{
+	webAccelOp := iaas.NewWebAccelOp(ctx.Client())
+	result, err := webAccelOp.UpdateCertificate(ctx, p.ID, &iaas.WebAccelCertRequest{
 		CertificateChain: certs,
 		Key:              key,
 	})
diff --git a/pkg/cmd/commands/zone/resource.go b/pkg/cmd/commands/zone/resource.go
index afac5015..5b368427 100644
--- a/pkg/cmd/commands/zone/resource.go
+++ b/pkg/cmd/commands/zone/resource.go
@@ -17,7 +17,7 @@ package zone
 import (
 	"reflect"
 
-	"github.com/sacloud/libsacloud/v2/helper/service/zone"
+	"github.com/sacloud/iaas-service-go/zone"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 )
 
diff --git a/pkg/cmd/conv/converter.go b/pkg/cmd/conv/converter.go
index 759f6e76..afb2b4f3 100644
--- a/pkg/cmd/conv/converter.go
+++ b/pkg/cmd/conv/converter.go
@@ -15,7 +15,7 @@
 package conv
 
 import (
-	"github.com/sacloud/libsacloud/v2/pkg/mapconv"
+	"github.com/sacloud/iaas-api-go/mapconv"
 	"github.com/sacloud/usacloud/pkg/vdef"
 )
 
diff --git a/pkg/cmd/core/command.go b/pkg/cmd/core/command.go
index 792ab49b..75f38e06 100644
--- a/pkg/cmd/core/command.go
+++ b/pkg/cmd/core/command.go
@@ -22,8 +22,8 @@ import (
 	"sync"
 
 	"github.com/fatih/color"
-	"github.com/sacloud/libsacloud/v2/sacloud/accessor"
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
+	"github.com/sacloud/iaas-api-go/accessor"
+	"github.com/sacloud/iaas-api-go/types"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/root"
diff --git a/pkg/cmd/core/completion.go b/pkg/cmd/core/completion.go
index 6476284a..48204482 100644
--- a/pkg/cmd/core/completion.go
+++ b/pkg/cmd/core/completion.go
@@ -19,7 +19,6 @@ import (
 	"os"
 
 	"github.com/sacloud/usacloud/pkg/cmd/root"
-
 	"github.com/spf13/cobra"
 )
 
diff --git a/pkg/cmd/core/flag_value.go b/pkg/cmd/core/flag_value.go
index a46448b3..02b337f1 100644
--- a/pkg/cmd/core/flag_value.go
+++ b/pkg/cmd/core/flag_value.go
@@ -17,7 +17,7 @@ package core
 import (
 	"strings"
 
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
+	"github.com/sacloud/iaas-api-go/types"
 )
 
 type IDFlag types.ID
diff --git a/pkg/cmd/core/mapconv.go b/pkg/cmd/core/mapconv.go
index f2c26f1b..c714e6df 100644
--- a/pkg/cmd/core/mapconv.go
+++ b/pkg/cmd/core/mapconv.go
@@ -14,7 +14,7 @@
 
 package core
 
-import "github.com/sacloud/libsacloud/v2/pkg/mapconv"
+import "github.com/sacloud/iaas-api-go/mapconv"
 
 var mapconvDecoder = mapconv.Decoder{Config: &mapconv.DecoderConfig{TagName: "temp"}}
 
diff --git a/pkg/cmd/core/parameter_loader.go b/pkg/cmd/core/parameter_loader.go
index 6d99fb28..f60fd8d5 100644
--- a/pkg/cmd/core/parameter_loader.go
+++ b/pkg/cmd/core/parameter_loader.go
@@ -20,10 +20,9 @@ import (
 	"reflect"
 
 	"github.com/sacloud/usacloud/pkg/cli"
-	"github.com/spf13/cobra"
-
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/util"
+	"github.com/spf13/cobra"
 )
 
 func (c *Command) loadParameters(ctx cli.Context, cmd *cobra.Command, parameters cflag.CommonParameterValueHolder) error {
diff --git a/pkg/cmd/core/usage.go b/pkg/cmd/core/usage.go
index eca22d87..6b54fe95 100644
--- a/pkg/cmd/core/usage.go
+++ b/pkg/cmd/core/usage.go
@@ -19,7 +19,6 @@ import (
 	"strings"
 
 	"github.com/sacloud/usacloud/pkg/version"
-
 	"github.com/spf13/cobra"
 )
 
diff --git a/pkg/cmd/examples/examples.go b/pkg/cmd/examples/examples.go
index b4394e70..6a1a8c1e 100644
--- a/pkg/cmd/examples/examples.go
+++ b/pkg/cmd/examples/examples.go
@@ -17,12 +17,10 @@ package examples
 import (
 	"strings"
 
-	"github.com/sacloud/usacloud/pkg/vdef"
-
-	"github.com/sacloud/libsacloud/v2/sacloud/pointer"
-
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
+	"github.com/sacloud/iaas-api-go/types"
+	"github.com/sacloud/packages-go/pointer"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
+	"github.com/sacloud/usacloud/pkg/vdef"
 )
 
 var (
diff --git a/pkg/cmd/services/archive_services_gen.go b/pkg/cmd/services/archive_services_gen.go
index c0f30b33..690fea75 100644
--- a/pkg/cmd/services/archive_services_gen.go
+++ b/pkg/cmd/services/archive_services_gen.go
@@ -17,7 +17,7 @@
 package services
 
 import (
-	service "github.com/sacloud/libsacloud/v2/helper/service/archive"
+	service "github.com/sacloud/iaas-service-go/archive"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/conv"
diff --git a/pkg/cmd/services/auth_status_services_gen.go b/pkg/cmd/services/auth_status_services_gen.go
index c65f9b4e..1f4f212f 100644
--- a/pkg/cmd/services/auth_status_services_gen.go
+++ b/pkg/cmd/services/auth_status_services_gen.go
@@ -17,7 +17,7 @@
 package services
 
 import (
-	service "github.com/sacloud/libsacloud/v2/helper/service/authstatus"
+	service "github.com/sacloud/iaas-service-go/authstatus"
 	"github.com/sacloud/usacloud/pkg/cli"
 )
 
diff --git a/pkg/cmd/services/auto_backup_services_gen.go b/pkg/cmd/services/auto_backup_services_gen.go
index da360f9c..39cbf9cb 100644
--- a/pkg/cmd/services/auto_backup_services_gen.go
+++ b/pkg/cmd/services/auto_backup_services_gen.go
@@ -17,7 +17,7 @@
 package services
 
 import (
-	service "github.com/sacloud/libsacloud/v2/helper/service/autobackup"
+	service "github.com/sacloud/iaas-service-go/autobackup"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/conv"
diff --git a/pkg/cmd/services/bill_services_gen.go b/pkg/cmd/services/bill_services_gen.go
index aacc7b1b..10439dc7 100644
--- a/pkg/cmd/services/bill_services_gen.go
+++ b/pkg/cmd/services/bill_services_gen.go
@@ -17,7 +17,7 @@
 package services
 
 import (
-	service "github.com/sacloud/libsacloud/v2/helper/service/bill"
+	service "github.com/sacloud/iaas-service-go/bill"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/conv"
 )
diff --git a/pkg/cmd/services/bridge_services_gen.go b/pkg/cmd/services/bridge_services_gen.go
index 114d2d22..adca169c 100644
--- a/pkg/cmd/services/bridge_services_gen.go
+++ b/pkg/cmd/services/bridge_services_gen.go
@@ -17,7 +17,7 @@
 package services
 
 import (
-	service "github.com/sacloud/libsacloud/v2/helper/service/bridge"
+	service "github.com/sacloud/iaas-service-go/bridge"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/conv"
diff --git a/pkg/cmd/services/cdrom_services_gen.go b/pkg/cmd/services/cdrom_services_gen.go
index df413bd9..2c704fae 100644
--- a/pkg/cmd/services/cdrom_services_gen.go
+++ b/pkg/cmd/services/cdrom_services_gen.go
@@ -17,7 +17,7 @@
 package services
 
 import (
-	service "github.com/sacloud/libsacloud/v2/helper/service/cdrom"
+	service "github.com/sacloud/iaas-service-go/cdrom"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/conv"
diff --git a/pkg/cmd/services/certificate_authority_services_gen.go b/pkg/cmd/services/certificate_authority_services_gen.go
index 4999dca4..b1c119dd 100644
--- a/pkg/cmd/services/certificate_authority_services_gen.go
+++ b/pkg/cmd/services/certificate_authority_services_gen.go
@@ -17,7 +17,7 @@
 package services
 
 import (
-	service "github.com/sacloud/libsacloud/v2/helper/service/certificateauthority"
+	service "github.com/sacloud/iaas-service-go/certificateauthority"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/conv"
 )
diff --git a/pkg/cmd/services/container_registry_services_gen.go b/pkg/cmd/services/container_registry_services_gen.go
index a3c3dddb..54b8cc1d 100644
--- a/pkg/cmd/services/container_registry_services_gen.go
+++ b/pkg/cmd/services/container_registry_services_gen.go
@@ -17,7 +17,7 @@
 package services
 
 import (
-	service "github.com/sacloud/libsacloud/v2/helper/service/containerregistry"
+	service "github.com/sacloud/iaas-service-go/containerregistry"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/conv"
 )
diff --git a/pkg/cmd/services/coupon_services_gen.go b/pkg/cmd/services/coupon_services_gen.go
index 0899e42c..2961147b 100644
--- a/pkg/cmd/services/coupon_services_gen.go
+++ b/pkg/cmd/services/coupon_services_gen.go
@@ -17,7 +17,7 @@
 package services
 
 import (
-	service "github.com/sacloud/libsacloud/v2/helper/service/coupon"
+	service "github.com/sacloud/iaas-service-go/coupon"
 	"github.com/sacloud/usacloud/pkg/cli"
 )
 
diff --git a/pkg/cmd/services/database_services_gen.go b/pkg/cmd/services/database_services_gen.go
index 59b2a62c..b842de0c 100644
--- a/pkg/cmd/services/database_services_gen.go
+++ b/pkg/cmd/services/database_services_gen.go
@@ -17,7 +17,7 @@
 package services
 
 import (
-	service "github.com/sacloud/libsacloud/v2/helper/service/database"
+	service "github.com/sacloud/iaas-service-go/database"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/conv"
diff --git a/pkg/cmd/services/disk_plan_services_gen.go b/pkg/cmd/services/disk_plan_services_gen.go
index d5840053..06bb19cb 100644
--- a/pkg/cmd/services/disk_plan_services_gen.go
+++ b/pkg/cmd/services/disk_plan_services_gen.go
@@ -17,7 +17,7 @@
 package services
 
 import (
-	service "github.com/sacloud/libsacloud/v2/helper/service/diskplan"
+	service "github.com/sacloud/iaas-service-go/diskplan"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/conv"
diff --git a/pkg/cmd/services/disk_services_gen.go b/pkg/cmd/services/disk_services_gen.go
index 871ffbe2..504f6a83 100644
--- a/pkg/cmd/services/disk_services_gen.go
+++ b/pkg/cmd/services/disk_services_gen.go
@@ -17,7 +17,7 @@
 package services
 
 import (
-	service "github.com/sacloud/libsacloud/v2/helper/service/disk"
+	service "github.com/sacloud/iaas-service-go/disk"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/conv"
diff --git a/pkg/cmd/services/dns_services_gen.go b/pkg/cmd/services/dns_services_gen.go
index 28015c7f..9281789e 100644
--- a/pkg/cmd/services/dns_services_gen.go
+++ b/pkg/cmd/services/dns_services_gen.go
@@ -17,7 +17,7 @@
 package services
 
 import (
-	service "github.com/sacloud/libsacloud/v2/helper/service/dns"
+	service "github.com/sacloud/iaas-service-go/dns"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/conv"
 )
diff --git a/pkg/cmd/services/enhanced_db_services_gen.go b/pkg/cmd/services/enhanced_db_services_gen.go
index 7b319f3d..394ddc6e 100644
--- a/pkg/cmd/services/enhanced_db_services_gen.go
+++ b/pkg/cmd/services/enhanced_db_services_gen.go
@@ -17,7 +17,7 @@
 package services
 
 import (
-	service "github.com/sacloud/libsacloud/v2/helper/service/enhanceddb"
+	service "github.com/sacloud/iaas-service-go/enhanceddb"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/conv"
 )
diff --git a/pkg/cmd/services/esme_services_gen.go b/pkg/cmd/services/esme_services_gen.go
index 2d6c5e9c..27158e50 100644
--- a/pkg/cmd/services/esme_services_gen.go
+++ b/pkg/cmd/services/esme_services_gen.go
@@ -17,7 +17,7 @@
 package services
 
 import (
-	service "github.com/sacloud/libsacloud/v2/helper/service/esme"
+	service "github.com/sacloud/iaas-service-go/esme"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/conv"
 )
diff --git a/pkg/cmd/services/gslb_services_gen.go b/pkg/cmd/services/gslb_services_gen.go
index 461b701e..bdfee7d4 100644
--- a/pkg/cmd/services/gslb_services_gen.go
+++ b/pkg/cmd/services/gslb_services_gen.go
@@ -17,7 +17,7 @@
 package services
 
 import (
-	service "github.com/sacloud/libsacloud/v2/helper/service/gslb"
+	service "github.com/sacloud/iaas-service-go/gslb"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/conv"
 )
diff --git a/pkg/cmd/services/icon_services_gen.go b/pkg/cmd/services/icon_services_gen.go
index 16d9ce26..5faff165 100644
--- a/pkg/cmd/services/icon_services_gen.go
+++ b/pkg/cmd/services/icon_services_gen.go
@@ -17,7 +17,7 @@
 package services
 
 import (
-	service "github.com/sacloud/libsacloud/v2/helper/service/icon"
+	service "github.com/sacloud/iaas-service-go/icon"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/conv"
 )
diff --git a/pkg/cmd/services/interface_services_gen.go b/pkg/cmd/services/interface_services_gen.go
index 4def7880..2b361938 100644
--- a/pkg/cmd/services/interface_services_gen.go
+++ b/pkg/cmd/services/interface_services_gen.go
@@ -17,7 +17,7 @@
 package services
 
 import (
-	service "github.com/sacloud/libsacloud/v2/helper/service/iface"
+	service "github.com/sacloud/iaas-service-go/iface"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/conv"
diff --git a/pkg/cmd/services/internet_plan_services_gen.go b/pkg/cmd/services/internet_plan_services_gen.go
index 59d9dccf..9075f006 100644
--- a/pkg/cmd/services/internet_plan_services_gen.go
+++ b/pkg/cmd/services/internet_plan_services_gen.go
@@ -17,7 +17,7 @@
 package services
 
 import (
-	service "github.com/sacloud/libsacloud/v2/helper/service/internetplan"
+	service "github.com/sacloud/iaas-service-go/internetplan"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/conv"
diff --git a/pkg/cmd/services/internet_services_gen.go b/pkg/cmd/services/internet_services_gen.go
index 57bb3b62..5d50265a 100644
--- a/pkg/cmd/services/internet_services_gen.go
+++ b/pkg/cmd/services/internet_services_gen.go
@@ -17,7 +17,7 @@
 package services
 
 import (
-	service "github.com/sacloud/libsacloud/v2/helper/service/internet"
+	service "github.com/sacloud/iaas-service-go/internet"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/conv"
diff --git a/pkg/cmd/services/ipaddress_services_gen.go b/pkg/cmd/services/ipaddress_services_gen.go
index 6fac4fbd..f02ba8fa 100644
--- a/pkg/cmd/services/ipaddress_services_gen.go
+++ b/pkg/cmd/services/ipaddress_services_gen.go
@@ -17,7 +17,7 @@
 package services
 
 import (
-	service "github.com/sacloud/libsacloud/v2/helper/service/ipaddress"
+	service "github.com/sacloud/iaas-service-go/ipaddress"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/conv"
 )
diff --git a/pkg/cmd/services/ipv6addr_services_gen.go b/pkg/cmd/services/ipv6addr_services_gen.go
index 35b4ee9f..ff60e89c 100644
--- a/pkg/cmd/services/ipv6addr_services_gen.go
+++ b/pkg/cmd/services/ipv6addr_services_gen.go
@@ -17,7 +17,7 @@
 package services
 
 import (
-	service "github.com/sacloud/libsacloud/v2/helper/service/ipv6addr"
+	service "github.com/sacloud/iaas-service-go/ipv6addr"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/conv"
diff --git a/pkg/cmd/services/ipv6net_services_gen.go b/pkg/cmd/services/ipv6net_services_gen.go
index f3470269..e2dfbb44 100644
--- a/pkg/cmd/services/ipv6net_services_gen.go
+++ b/pkg/cmd/services/ipv6net_services_gen.go
@@ -17,7 +17,7 @@
 package services
 
 import (
-	service "github.com/sacloud/libsacloud/v2/helper/service/ipv6net"
+	service "github.com/sacloud/iaas-service-go/ipv6net"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/conv"
diff --git a/pkg/cmd/services/license_info_services_gen.go b/pkg/cmd/services/license_info_services_gen.go
index 553d2a36..216d4c38 100644
--- a/pkg/cmd/services/license_info_services_gen.go
+++ b/pkg/cmd/services/license_info_services_gen.go
@@ -17,7 +17,7 @@
 package services
 
 import (
-	service "github.com/sacloud/libsacloud/v2/helper/service/licenseinfo"
+	service "github.com/sacloud/iaas-service-go/licenseinfo"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/conv"
 )
diff --git a/pkg/cmd/services/license_services_gen.go b/pkg/cmd/services/license_services_gen.go
index 757b2b8f..ea1cfbd6 100644
--- a/pkg/cmd/services/license_services_gen.go
+++ b/pkg/cmd/services/license_services_gen.go
@@ -17,7 +17,7 @@
 package services
 
 import (
-	service "github.com/sacloud/libsacloud/v2/helper/service/license"
+	service "github.com/sacloud/iaas-service-go/license"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/conv"
 )
diff --git a/pkg/cmd/services/load_balancer_services_gen.go b/pkg/cmd/services/load_balancer_services_gen.go
index 5d40535e..ae8a8763 100644
--- a/pkg/cmd/services/load_balancer_services_gen.go
+++ b/pkg/cmd/services/load_balancer_services_gen.go
@@ -17,7 +17,7 @@
 package services
 
 import (
-	service "github.com/sacloud/libsacloud/v2/helper/service/loadbalancer"
+	service "github.com/sacloud/iaas-service-go/loadbalancer"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/conv"
diff --git a/pkg/cmd/services/local_router_services_gen.go b/pkg/cmd/services/local_router_services_gen.go
index 372ad21e..af791323 100644
--- a/pkg/cmd/services/local_router_services_gen.go
+++ b/pkg/cmd/services/local_router_services_gen.go
@@ -17,7 +17,7 @@
 package services
 
 import (
-	service "github.com/sacloud/libsacloud/v2/helper/service/localrouter"
+	service "github.com/sacloud/iaas-service-go/localrouter"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/conv"
 )
diff --git a/pkg/cmd/services/mobile_gateway_services_gen.go b/pkg/cmd/services/mobile_gateway_services_gen.go
index 46967ab6..7e4667f8 100644
--- a/pkg/cmd/services/mobile_gateway_services_gen.go
+++ b/pkg/cmd/services/mobile_gateway_services_gen.go
@@ -17,7 +17,7 @@
 package services
 
 import (
-	service "github.com/sacloud/libsacloud/v2/helper/service/mobilegateway"
+	service "github.com/sacloud/iaas-service-go/mobilegateway"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/conv"
diff --git a/pkg/cmd/services/nfs_services_gen.go b/pkg/cmd/services/nfs_services_gen.go
index 82f14f54..3025c788 100644
--- a/pkg/cmd/services/nfs_services_gen.go
+++ b/pkg/cmd/services/nfs_services_gen.go
@@ -17,7 +17,7 @@
 package services
 
 import (
-	service "github.com/sacloud/libsacloud/v2/helper/service/nfs"
+	service "github.com/sacloud/iaas-service-go/nfs"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/conv"
diff --git a/pkg/cmd/services/note_services_gen.go b/pkg/cmd/services/note_services_gen.go
index c9dc00ac..275ff81e 100644
--- a/pkg/cmd/services/note_services_gen.go
+++ b/pkg/cmd/services/note_services_gen.go
@@ -17,7 +17,7 @@
 package services
 
 import (
-	service "github.com/sacloud/libsacloud/v2/helper/service/note"
+	service "github.com/sacloud/iaas-service-go/note"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/conv"
 )
diff --git a/pkg/cmd/services/packet_filter_services_gen.go b/pkg/cmd/services/packet_filter_services_gen.go
index 5f71d294..85406846 100644
--- a/pkg/cmd/services/packet_filter_services_gen.go
+++ b/pkg/cmd/services/packet_filter_services_gen.go
@@ -17,7 +17,7 @@
 package services
 
 import (
-	service "github.com/sacloud/libsacloud/v2/helper/service/packetfilter"
+	service "github.com/sacloud/iaas-service-go/packetfilter"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/conv"
diff --git a/pkg/cmd/services/private_host_plan_services_gen.go b/pkg/cmd/services/private_host_plan_services_gen.go
index feff9a0e..0e6e3619 100644
--- a/pkg/cmd/services/private_host_plan_services_gen.go
+++ b/pkg/cmd/services/private_host_plan_services_gen.go
@@ -17,7 +17,7 @@
 package services
 
 import (
-	service "github.com/sacloud/libsacloud/v2/helper/service/privatehostplan"
+	service "github.com/sacloud/iaas-service-go/privatehostplan"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/conv"
diff --git a/pkg/cmd/services/private_host_services_gen.go b/pkg/cmd/services/private_host_services_gen.go
index 7b87ebb4..e2c090af 100644
--- a/pkg/cmd/services/private_host_services_gen.go
+++ b/pkg/cmd/services/private_host_services_gen.go
@@ -17,7 +17,7 @@
 package services
 
 import (
-	service "github.com/sacloud/libsacloud/v2/helper/service/privatehost"
+	service "github.com/sacloud/iaas-service-go/privatehost"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/conv"
diff --git a/pkg/cmd/services/proxy_lb_services_gen.go b/pkg/cmd/services/proxy_lb_services_gen.go
index 71cab6b4..27e9fe26 100644
--- a/pkg/cmd/services/proxy_lb_services_gen.go
+++ b/pkg/cmd/services/proxy_lb_services_gen.go
@@ -17,7 +17,7 @@
 package services
 
 import (
-	service "github.com/sacloud/libsacloud/v2/helper/service/proxylb"
+	service "github.com/sacloud/iaas-service-go/proxylb"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/conv"
 )
diff --git a/pkg/cmd/services/region_services_gen.go b/pkg/cmd/services/region_services_gen.go
index a65204b8..1dc74f6c 100644
--- a/pkg/cmd/services/region_services_gen.go
+++ b/pkg/cmd/services/region_services_gen.go
@@ -17,7 +17,7 @@
 package services
 
 import (
-	service "github.com/sacloud/libsacloud/v2/helper/service/region"
+	service "github.com/sacloud/iaas-service-go/region"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/conv"
 )
diff --git a/pkg/cmd/services/server_plan_services_gen.go b/pkg/cmd/services/server_plan_services_gen.go
index b5b1ca2b..7fa962bd 100644
--- a/pkg/cmd/services/server_plan_services_gen.go
+++ b/pkg/cmd/services/server_plan_services_gen.go
@@ -17,7 +17,7 @@
 package services
 
 import (
-	service "github.com/sacloud/libsacloud/v2/helper/service/serverplan"
+	service "github.com/sacloud/iaas-service-go/serverplan"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/conv"
diff --git a/pkg/cmd/services/server_services_gen.go b/pkg/cmd/services/server_services_gen.go
index 9da87934..11570a5f 100644
--- a/pkg/cmd/services/server_services_gen.go
+++ b/pkg/cmd/services/server_services_gen.go
@@ -17,7 +17,7 @@
 package services
 
 import (
-	service "github.com/sacloud/libsacloud/v2/helper/service/server"
+	service "github.com/sacloud/iaas-service-go/server"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/conv"
diff --git a/pkg/cmd/services/service_class_services_gen.go b/pkg/cmd/services/service_class_services_gen.go
index 654ac9f2..f16da604 100644
--- a/pkg/cmd/services/service_class_services_gen.go
+++ b/pkg/cmd/services/service_class_services_gen.go
@@ -17,7 +17,7 @@
 package services
 
 import (
-	service "github.com/sacloud/libsacloud/v2/helper/service/serviceclass"
+	service "github.com/sacloud/iaas-service-go/serviceclass"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/conv"
diff --git a/pkg/cmd/services/sim_services_gen.go b/pkg/cmd/services/sim_services_gen.go
index 2c047a3c..f67ec34b 100644
--- a/pkg/cmd/services/sim_services_gen.go
+++ b/pkg/cmd/services/sim_services_gen.go
@@ -17,7 +17,7 @@
 package services
 
 import (
-	service "github.com/sacloud/libsacloud/v2/helper/service/sim"
+	service "github.com/sacloud/iaas-service-go/sim"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/conv"
 )
diff --git a/pkg/cmd/services/simple_monitor_services_gen.go b/pkg/cmd/services/simple_monitor_services_gen.go
index a418028b..e297eac6 100644
--- a/pkg/cmd/services/simple_monitor_services_gen.go
+++ b/pkg/cmd/services/simple_monitor_services_gen.go
@@ -17,7 +17,7 @@
 package services
 
 import (
-	service "github.com/sacloud/libsacloud/v2/helper/service/simplemonitor"
+	service "github.com/sacloud/iaas-service-go/simplemonitor"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/conv"
 )
diff --git a/pkg/cmd/services/ssh_key_services_gen.go b/pkg/cmd/services/ssh_key_services_gen.go
index 8ca8fec0..7a903e01 100644
--- a/pkg/cmd/services/ssh_key_services_gen.go
+++ b/pkg/cmd/services/ssh_key_services_gen.go
@@ -17,7 +17,7 @@
 package services
 
 import (
-	service "github.com/sacloud/libsacloud/v2/helper/service/sshkey"
+	service "github.com/sacloud/iaas-service-go/sshkey"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/conv"
 )
diff --git a/pkg/cmd/services/subnet_services_gen.go b/pkg/cmd/services/subnet_services_gen.go
index 0cb713c9..1e5552a1 100644
--- a/pkg/cmd/services/subnet_services_gen.go
+++ b/pkg/cmd/services/subnet_services_gen.go
@@ -17,7 +17,7 @@
 package services
 
 import (
-	service "github.com/sacloud/libsacloud/v2/helper/service/subnet"
+	service "github.com/sacloud/iaas-service-go/subnet"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/conv"
diff --git a/pkg/cmd/services/switch_services_gen.go b/pkg/cmd/services/switch_services_gen.go
index 8fa1fa54..c9688007 100644
--- a/pkg/cmd/services/switch_services_gen.go
+++ b/pkg/cmd/services/switch_services_gen.go
@@ -17,7 +17,7 @@
 package services
 
 import (
-	service "github.com/sacloud/libsacloud/v2/helper/service/swytch"
+	service "github.com/sacloud/iaas-service-go/swytch"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/conv"
diff --git a/pkg/cmd/services/vpc_router_services_gen.go b/pkg/cmd/services/vpc_router_services_gen.go
index b46a5a33..fcc661ca 100644
--- a/pkg/cmd/services/vpc_router_services_gen.go
+++ b/pkg/cmd/services/vpc_router_services_gen.go
@@ -17,7 +17,7 @@
 package services
 
 import (
-	service "github.com/sacloud/libsacloud/v2/helper/service/vpcrouter"
+	service "github.com/sacloud/iaas-service-go/vpcrouter"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/conv"
diff --git a/pkg/cmd/services/zone_services_gen.go b/pkg/cmd/services/zone_services_gen.go
index 1f413bee..77d92309 100644
--- a/pkg/cmd/services/zone_services_gen.go
+++ b/pkg/cmd/services/zone_services_gen.go
@@ -17,7 +17,7 @@
 package services
 
 import (
-	service "github.com/sacloud/libsacloud/v2/helper/service/zone"
+	service "github.com/sacloud/iaas-service-go/zone"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/conv"
 )
diff --git a/pkg/cmd/version/version.go b/pkg/cmd/version/version.go
index ec7ba21b..096e76b0 100644
--- a/pkg/cmd/version/version.go
+++ b/pkg/cmd/version/version.go
@@ -19,7 +19,6 @@ import (
 	"os"
 
 	"github.com/sacloud/usacloud/pkg/cmd/root"
-
 	"github.com/sacloud/usacloud/pkg/version"
 	"github.com/spf13/cobra"
 )
diff --git a/pkg/config/config.go b/pkg/config/config.go
index caa1096e..d408efff 100644
--- a/pkg/config/config.go
+++ b/pkg/config/config.go
@@ -22,9 +22,9 @@ import (
 	"strings"
 	"time"
 
+	"github.com/sacloud/api-client-go/profile"
 	sacloudhttp "github.com/sacloud/go-http"
-	"github.com/sacloud/libsacloud/v2/sacloud"
-	"github.com/sacloud/libsacloud/v2/sacloud/profile"
+	"github.com/sacloud/iaas-api-go"
 	"github.com/sacloud/usacloud/pkg/query"
 	"github.com/sacloud/usacloud/pkg/validate"
 	"github.com/spf13/pflag"
@@ -67,7 +67,7 @@ var DefaultQueryDriver = query.DriverJMESPath
 func LoadConfigValue(flags *pflag.FlagSet, errW io.Writer, skipLoadingProfile bool) (*Config, error) {
 	o := &Config{
 		ConfigValue: profile.ConfigValue{
-			Zones: append(sacloud.SakuraCloudZones, "all"),
+			Zones: append(iaas.SakuraCloudZones, "all"),
 		},
 	}
 	if skipLoadingProfile {
@@ -98,7 +98,7 @@ func (o *Config) loadConfig(flags *pflag.FlagSet, errW io.Writer) {
 
 func (o *Config) fillDefaults() {
 	if len(o.Zones) == 0 {
-		o.Zones = sacloud.SakuraCloudZones
+		o.Zones = iaas.SakuraCloudZones
 	}
 }
 
@@ -113,7 +113,7 @@ func (o *Config) loadFromEnv() {
 		o.Zone = stringFromEnv("SAKURACLOUD_ZONE", "")
 	}
 	if len(o.Zones) == 0 {
-		o.Zones = stringSliceFromEnv("SAKURACLOUD_ZONES", append(sacloud.SakuraCloudZones, "all"))
+		o.Zones = stringSliceFromEnv("SAKURACLOUD_ZONES", append(iaas.SakuraCloudZones, "all"))
 	}
 	if o.AcceptLanguage == "" {
 		o.AcceptLanguage = stringFromEnv("SAKURACLOUD_ACCEPT_LANGUAGE", "")
@@ -134,10 +134,10 @@ func (o *Config) loadFromEnv() {
 		o.HTTPRequestRateLimit = intFromEnv("SAKURACLOUD_API_REQUEST_RATE_LIMIT", 5) // デフォルト5ゾーン分(is1a/is1b/tk1a/tk1b/tk1v)
 	}
 	if o.APIRootURL == "" {
-		o.APIRootURL = stringFromEnv("SAKURACLOUD_API_ROOT_URL", sacloud.SakuraCloudAPIRoot)
+		o.APIRootURL = stringFromEnv("SAKURACLOUD_API_ROOT_URL", iaas.SakuraCloudAPIRoot)
 	}
 	if o.DefaultZone == "" {
-		o.DefaultZone = stringFromEnv("SAKURACLOUD_DEFAULT_ZONE", sacloud.APIDefaultZone)
+		o.DefaultZone = stringFromEnv("SAKURACLOUD_DEFAULT_ZONE", iaas.APIDefaultZone)
 	}
 	if o.TraceMode == "" {
 		o.TraceMode = stringFromEnv("SAKURACLOUD_TRACE", "")
diff --git a/pkg/config/profile.go b/pkg/config/profile.go
index 450d7bde..fd4b36ad 100644
--- a/pkg/config/profile.go
+++ b/pkg/config/profile.go
@@ -21,7 +21,7 @@ import (
 	"fmt"
 	"io"
 
-	"github.com/sacloud/libsacloud/v2/sacloud/profile"
+	"github.com/sacloud/api-client-go/profile"
 	"github.com/spf13/pflag"
 )
 
diff --git a/pkg/connect/vnc_opener.go b/pkg/connect/vnc_opener.go
index 51db8d36..2e86ce2c 100644
--- a/pkg/connect/vnc_opener.go
+++ b/pkg/connect/vnc_opener.go
@@ -21,12 +21,12 @@ import (
 	"fmt"
 	"time"
 
-	"github.com/sacloud/libsacloud/v2/sacloud"
+	"github.com/sacloud/iaas-api-go"
 	"github.com/skratchdot/open-golang/open"
 )
 
 // StartDefaultVNCClient starts OS's default VNC client
-func StartDefaultVNCClient(vncProxyInfo *sacloud.VNCProxyInfo) error {
+func StartDefaultVNCClient(vncProxyInfo *iaas.VNCProxyInfo) error {
 	host := vncProxyInfo.Host
 	if host == "localhost" {
 		host = vncProxyInfo.IOServerHost
diff --git a/pkg/connect/vnc_opener_other.go b/pkg/connect/vnc_opener_other.go
index 19c5dc8f..6fca3773 100644
--- a/pkg/connect/vnc_opener_other.go
+++ b/pkg/connect/vnc_opener_other.go
@@ -22,12 +22,12 @@ import (
 	"os"
 	"time"
 
-	"github.com/sacloud/libsacloud/v2/sacloud"
+	"github.com/sacloud/iaas-api-go"
 	"github.com/skratchdot/open-golang/open"
 )
 
 // StartDefaultVNCClient starts OS's default VNC client
-func StartDefaultVNCClient(vncProxyInfo *sacloud.VNCProxyInfo) error {
+func StartDefaultVNCClient(vncProxyInfo *iaas.VNCProxyInfo) error {
 	uri := ""
 
 	for uri == "" {
diff --git a/pkg/output/contents.go b/pkg/output/contents.go
index 6b5b3ec6..07cc02f8 100644
--- a/pkg/output/contents.go
+++ b/pkg/output/contents.go
@@ -17,8 +17,8 @@ package output
 import (
 	"sort"
 
-	"github.com/sacloud/libsacloud/v2/sacloud/accessor"
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
+	"github.com/sacloud/iaas-api-go/accessor"
+	"github.com/sacloud/iaas-api-go/types"
 )
 
 type Content struct {
diff --git a/pkg/util/id.go b/pkg/util/id.go
index 105da7a3..febeca69 100644
--- a/pkg/util/id.go
+++ b/pkg/util/id.go
@@ -15,7 +15,7 @@
 package util
 
 import (
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
+	"github.com/sacloud/iaas-api-go/types"
 )
 
 func UniqIDs(elements []types.ID) []types.ID {
@@ -30,7 +30,7 @@ func UniqIDs(elements []types.ID) []types.ID {
 	return result
 }
 
-// StringIDs sacloud.IDスライスを文字列のスライスに変換する
+// StringIDs iaas.IDスライスを文字列のスライスに変換する
 func StringIDs(ids []types.ID) []string {
 	var strIDs []string
 
diff --git a/pkg/util/monitor.go b/pkg/util/monitor.go
index de895c21..30482a7a 100644
--- a/pkg/util/monitor.go
+++ b/pkg/util/monitor.go
@@ -18,10 +18,10 @@ import (
 	"fmt"
 	"time"
 
-	"github.com/sacloud/libsacloud/v2/sacloud"
+	"github.com/sacloud/iaas-api-go"
 )
 
-func MonitorCondition(start, end string) (*sacloud.MonitorCondition, error) {
+func MonitorCondition(start, end string) (*iaas.MonitorCondition, error) {
 	e := ParseDateTimeString(end)
 	s := e.Add(-1 * time.Hour)
 	if start != "" {
@@ -30,5 +30,5 @@ func MonitorCondition(start, end string) (*sacloud.MonitorCondition, error) {
 	if !(s.Unix() <= e.Unix()) {
 		return nil, fmt.Errorf("invalid parameter : start(%s) or end(%s) is invalid", start, end)
 	}
-	return &sacloud.MonitorCondition{Start: s, End: e}, nil
+	return &iaas.MonitorCondition{Start: s, End: e}, nil
 }
diff --git a/pkg/vdef/converter_filters.go b/pkg/vdef/converter_filters.go
index 0262c647..49628485 100644
--- a/pkg/vdef/converter_filters.go
+++ b/pkg/vdef/converter_filters.go
@@ -21,15 +21,11 @@ import (
 	"reflect"
 	"time"
 
-	"github.com/sacloud/libsacloud/v2/pkg/size"
-
-	"github.com/sacloud/libsacloud/v2/sacloud/pointer"
-
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
-
+	"github.com/sacloud/iaas-api-go/mapconv"
+	"github.com/sacloud/iaas-api-go/types"
+	"github.com/sacloud/packages-go/pointer"
+	"github.com/sacloud/packages-go/size"
 	"github.com/sacloud/usacloud/pkg/util"
-
-	"github.com/sacloud/libsacloud/v2/pkg/mapconv"
 )
 
 // ConverterFilters mapconvでの変換時に利用されるフィルターの定義、definitionsに登録したものは実行時に動的に追加される
diff --git a/pkg/vdef/definitions.go b/pkg/vdef/definitions.go
index 5952eb49..ae41c6ab 100644
--- a/pkg/vdef/definitions.go
+++ b/pkg/vdef/definitions.go
@@ -18,9 +18,9 @@ import (
 	"fmt"
 	"reflect"
 
-	"github.com/sacloud/libsacloud/v2/pkg/mapconv"
-	"github.com/sacloud/libsacloud/v2/sacloud/ostype"
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
+	"github.com/sacloud/iaas-api-go/mapconv"
+	"github.com/sacloud/iaas-api-go/ostype"
+	"github.com/sacloud/iaas-api-go/types"
 )
 
 type definition struct {
diff --git a/pkg/vdef/template_funcs.go b/pkg/vdef/template_funcs.go
index 96470e5d..053bf94b 100644
--- a/pkg/vdef/template_funcs.go
+++ b/pkg/vdef/template_funcs.go
@@ -23,9 +23,9 @@ import (
 	"time"
 
 	"github.com/mitchellh/go-homedir"
-	"github.com/sacloud/libsacloud/v2/pkg/size"
-	"github.com/sacloud/libsacloud/v2/sacloud"
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
+	"github.com/sacloud/iaas-api-go"
+	"github.com/sacloud/iaas-api-go/types"
+	"github.com/sacloud/packages-go/size"
 	"github.com/sacloud/usacloud/pkg/util"
 )
 
@@ -101,7 +101,7 @@ var TemplateFuncMap = template.FuncMap{
 		if value == nil {
 			return "unknown"
 		}
-		v, ok := value.(*sacloud.Switch)
+		v, ok := value.(*iaas.Switch)
 		if !ok {
 			return "unknown"
 		}
@@ -162,7 +162,7 @@ func userFriendlyPriceString(value interface{}) string {
 	if value == nil {
 		return ""
 	}
-	v, ok := value.(*sacloud.Price)
+	v, ok := value.(*iaas.Price)
 	if !ok {
 		return ""
 	}
diff --git a/pkg/vdef/validators.go b/pkg/vdef/validators.go
index 7d3cbf7c..b5ce33d8 100644
--- a/pkg/vdef/validators.go
+++ b/pkg/vdef/validators.go
@@ -19,7 +19,7 @@ import (
 	"os"
 	"strings"
 
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
+	"github.com/sacloud/iaas-api-go/types"
 )
 
 var validatorAliases = map[string]string{
diff --git a/pkg/version/new_version.go b/pkg/version/new_version.go
index 2a6772cd..a7cead98 100644
--- a/pkg/version/new_version.go
+++ b/pkg/version/new_version.go
@@ -24,7 +24,7 @@ import (
 	"path/filepath"
 	"time"
 
-	"github.com/sacloud/libsacloud/v2/sacloud/profile"
+	"github.com/sacloud/api-client-go/profile"
 )
 
 func NewVersionReleased() (*ReleaseInfo, error) {
diff --git a/tools/command.go b/tools/command.go
index 3002003b..a0de3c6f 100644
--- a/tools/command.go
+++ b/tools/command.go
@@ -19,7 +19,7 @@ import (
 	"reflect"
 	"strings"
 
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
+	"github.com/sacloud/iaas-api-go/types"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 )
 
@@ -174,7 +174,11 @@ func (c *Command) cliFlagInitializePointerStatement(parameterVariableName string
 
 	var statement string
 	if isLibsacloudIDType(fieldType) {
-		statement = "pointer.NewID(types.ID(0))"
+		srcTemplate = `if %s == nil {
+	v := types.ID(0)
+	%s = &v
+}`
+		return fmt.Sprintf(srcTemplate, fieldVar, fieldVar)
 	} else {
 		switch fieldType.Kind() {
 		case reflect.Bool:
@@ -189,7 +193,11 @@ func (c *Command) cliFlagInitializePointerStatement(parameterVariableName string
 			statement = `pointer.NewString("")`
 		case reflect.Slice:
 			if isLibsacloudIDType(fieldType.Elem()) {
-				statement = "pointer.NewIDSlice([]types.ID{})"
+				srcTemplate = `if %s == nil {
+	v := []types.ID{}
+	%s = &v
+}`
+				return fmt.Sprintf(srcTemplate, fieldVar, fieldVar)
 			} else {
 				switch fieldType.Elem().Kind() {
 				case reflect.Int64:
diff --git a/tools/gen-commands/flags_template.go b/tools/gen-commands/flags_template.go
index 5deee7a0..997e6d01 100644
--- a/tools/gen-commands/flags_template.go
+++ b/tools/gen-commands/flags_template.go
@@ -19,7 +19,7 @@ var flagsTemplate = `// Code generated by 'github.com/sacloud/usacloud/tools/gen
 package {{ .PackageDirName }}
 
 import (
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
+	"github.com/sacloud/iaas-api-go/types"
 	"github.com/sacloud/usacloud/pkg/cmd/core"
 	"github.com/sacloud/usacloud/pkg/util"
 	"github.com/spf13/cobra"
diff --git a/tools/gen-commands/services_template.go b/tools/gen-commands/services_template.go
index c6239e61..93236425 100644
--- a/tools/gen-commands/services_template.go
+++ b/tools/gen-commands/services_template.go
@@ -19,7 +19,7 @@ var serviceCommandTemplate = `// Code generated by 'github.com/sacloud/usacloud/
 package services
 
 import (
-	service "github.com/sacloud/libsacloud/v2/helper/service/{{ .PackageDirName }}"
+	service "github.com/sacloud/iaas-service-go/{{ .PackageDirName }}"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/conv"
diff --git a/tools/generate_context.go b/tools/generate_context.go
index 93b79a08..53e484c2 100644
--- a/tools/generate_context.go
+++ b/tools/generate_context.go
@@ -21,7 +21,6 @@ import (
 	"path/filepath"
 
 	"github.com/sacloud/usacloud/pkg/cmd"
-
 	"github.com/sacloud/usacloud/pkg/version"
 )
 


Test patch:
diff --git a/pkg/cmd/commands/disk/columns_test.go b/pkg/cmd/commands/disk/columns_test.go
index 5f40b475..b2c4715b 100644
--- a/pkg/cmd/commands/disk/columns_test.go
+++ b/pkg/cmd/commands/disk/columns_test.go
@@ -17,19 +17,19 @@ package disk
 import (
 	"testing"
 
-	"github.com/sacloud/libsacloud/v2/pkg/size"
-	"github.com/sacloud/libsacloud/v2/sacloud"
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
+	"github.com/sacloud/iaas-api-go"
+	"github.com/sacloud/iaas-api-go/types"
+	"github.com/sacloud/packages-go/size"
 	"github.com/sacloud/usacloud/pkg/test"
 )
 
 func TestDiskDefaultColumnDefs(t *testing.T) {
 	cases := []struct {
-		in    *sacloud.Disk
+		in    *iaas.Disk
 		tests []*test.ColumnDefTestTarget
 	}{
 		{
-			in: &sacloud.Disk{
+			in: &iaas.Disk{
 				ID:           1,
 				Name:         "disk",
 				Description:  "desc",
@@ -39,7 +39,7 @@ func TestDiskDefaultColumnDefs(t *testing.T) {
 				SizeMB:       20 * size.GiB,
 				DiskPlanID:   types.DiskPlans.SSD,
 				DiskPlanName: "SSDプラン",
-				Storage:      &sacloud.Storage{Name: "dummy"},
+				Storage:      &iaas.Storage{Name: "dummy"},
 				ServerID:     2,
 				ServerName:   "server",
 			},
diff --git a/pkg/cmd/commands/disk/create_test.go b/pkg/cmd/commands/disk/create_test.go
index 6708d332..8263b38d 100644
--- a/pkg/cmd/commands/disk/create_test.go
+++ b/pkg/cmd/commands/disk/create_test.go
@@ -19,17 +19,13 @@ import (
 	"strings"
 	"testing"
 
-	"github.com/sacloud/libsacloud/v2/sacloud"
-	"github.com/sacloud/usacloud/pkg/validate"
-
-	"github.com/sacloud/libsacloud/v2/sacloud/ostype"
-
+	"github.com/sacloud/iaas-api-go"
+	"github.com/sacloud/iaas-api-go/ostype"
+	"github.com/sacloud/iaas-api-go/types"
+	"github.com/sacloud/iaas-service-go/disk"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/conv"
-
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
-
-	"github.com/sacloud/libsacloud/v2/helper/service/disk"
+	"github.com/sacloud/usacloud/pkg/validate"
 	"github.com/stretchr/testify/require"
 )
 
@@ -160,7 +156,7 @@ func TestCreateParameter_Validate(t *testing.T) {
 		},
 	}
 
-	validate.InitializeValidator(sacloud.SakuraCloudZones)
+	validate.InitializeValidator(iaas.SakuraCloudZones)
 	for _, tc := range cases {
 		err := validateCreateParameter(nil, tc.in)
 		require.Equal(t, tc.err, err)
diff --git a/pkg/cmd/commands/disk/list_test.go b/pkg/cmd/commands/disk/list_test.go
index 5b091dcb..9c1dda5d 100644
--- a/pkg/cmd/commands/disk/list_test.go
+++ b/pkg/cmd/commands/disk/list_test.go
@@ -17,8 +17,8 @@ package disk
 import (
 	"testing"
 
-	"github.com/sacloud/libsacloud/v2/helper/service/disk"
-	"github.com/sacloud/libsacloud/v2/pkg/mapconv"
+	"github.com/sacloud/iaas-api-go/mapconv"
+	"github.com/sacloud/iaas-service-go/disk"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/stretchr/testify/require"
 )
diff --git a/pkg/cmd/commands/disk/update_test.go b/pkg/cmd/commands/disk/update_test.go
index e8e3a4e5..56b172df 100644
--- a/pkg/cmd/commands/disk/update_test.go
+++ b/pkg/cmd/commands/disk/update_test.go
@@ -19,19 +19,18 @@ import (
 	"strings"
 	"testing"
 
-	"github.com/sacloud/usacloud/pkg/validate"
-
+	"github.com/sacloud/iaas-api-go/types"
+	"github.com/sacloud/iaas-service-go/disk"
+	"github.com/sacloud/packages-go/pointer"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/cmd/conv"
-
-	"github.com/sacloud/libsacloud/v2/sacloud/pointer"
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
-
-	"github.com/sacloud/libsacloud/v2/helper/service/disk"
+	"github.com/sacloud/usacloud/pkg/validate"
 	"github.com/stretchr/testify/require"
 )
 
 func TestUpdate_ConvertToServiceRequest(t *testing.T) {
+	id0 := types.ID(0)
+	id2 := types.ID(2)
 	t.Run("full", func(t *testing.T) {
 		in := &updateParameter{
 			ZoneParameter:         cflag.ZoneParameter{Zone: "is1a"},
@@ -39,7 +38,7 @@ func TestUpdate_ConvertToServiceRequest(t *testing.T) {
 			NameUpdateParameter:   cflag.NameUpdateParameter{Name: pointer.NewString("name")},
 			DescUpdateParameter:   cflag.DescUpdateParameter{Description: pointer.NewString("desc")},
 			TagsUpdateParameter:   cflag.TagsUpdateParameter{Tags: pointer.NewStringSlice([]string{"tag1", "tag2"})},
-			IconIDUpdateParameter: cflag.IconIDUpdateParameter{IconID: pointer.NewID(types.ID(2))},
+			IconIDUpdateParameter: cflag.IconIDUpdateParameter{IconID: &id2},
 			Connection:            pointer.NewString(types.DiskConnections.VirtIO.String()),
 		}
 
@@ -53,8 +52,8 @@ func TestUpdate_ConvertToServiceRequest(t *testing.T) {
 			ID:          types.ID(1),
 			Name:        pointer.NewString("name"),
 			Description: pointer.NewString("desc"),
-			Tags:        pointer.NewTags(types.Tags{"tag1", "tag2"}),
-			IconID:      pointer.NewID(types.ID(2)),
+			Tags:        &types.Tags{"tag1", "tag2"},
+			IconID:      &id2,
 			Connection:  &types.DiskConnections.VirtIO,
 		}, out)
 	})
@@ -88,7 +87,7 @@ func TestUpdate_ConvertToServiceRequest(t *testing.T) {
 			NameUpdateParameter:   cflag.NameUpdateParameter{Name: pointer.NewString("name")},
 			DescUpdateParameter:   cflag.DescUpdateParameter{Description: pointer.NewString("")},
 			TagsUpdateParameter:   cflag.TagsUpdateParameter{Tags: pointer.NewStringSlice([]string{})},
-			IconIDUpdateParameter: cflag.IconIDUpdateParameter{IconID: pointer.NewID(types.ID(0))},
+			IconIDUpdateParameter: cflag.IconIDUpdateParameter{IconID: &id0},
 		}
 
 		out := &disk.UpdateRequest{}
@@ -101,8 +100,8 @@ func TestUpdate_ConvertToServiceRequest(t *testing.T) {
 			ID:          types.ID(1),
 			Name:        pointer.NewString("name"),
 			Description: pointer.NewString(""),
-			Tags:        pointer.NewTags(types.Tags{}),
-			IconID:      pointer.NewID(0),
+			Tags:        &types.Tags{},
+			IconID:      &id0,
 			Connection:  nil,
 		}, out)
 	})
diff --git a/pkg/cmd/commands/server/boot_test.go b/pkg/cmd/commands/server/boot_test.go
index 36fba9ee..37fc6343 100644
--- a/pkg/cmd/commands/server/boot_test.go
+++ b/pkg/cmd/commands/server/boot_test.go
@@ -17,7 +17,7 @@ package server
 import (
 	"testing"
 
-	"github.com/sacloud/libsacloud/v2/sacloud"
+	"github.com/sacloud/iaas-api-go"
 	"github.com/sacloud/usacloud/pkg/cmd/cflag"
 	"github.com/sacloud/usacloud/pkg/validate"
 )
@@ -53,7 +53,7 @@ hostname: foobar`,
 		},
 	}
 
-	validate.InitializeValidator(sacloud.SakuraCloudZones)
+	validate.InitializeValidator(iaas.SakuraCloudZones)
 	for _, tt := range tests {
 		t.Run(tt.name, func(t *testing.T) {
 			if err := validateBootParameter(nil, tt.parameter); (err != nil) != tt.wantErr {
diff --git a/pkg/test/api_caller.go b/pkg/test/api_caller.go
index 4ecd08c8..6d43dcbf 100644
--- a/pkg/test/api_caller.go
+++ b/pkg/test/api_caller.go
@@ -19,28 +19,30 @@ import (
 	"os"
 	"sync"
 
-	"github.com/sacloud/libsacloud/v2"
-	"github.com/sacloud/libsacloud/v2/helper/api"
-	"github.com/sacloud/libsacloud/v2/sacloud"
+	client "github.com/sacloud/api-client-go"
+	"github.com/sacloud/iaas-api-go"
+	"github.com/sacloud/iaas-api-go/helper/api"
 	"github.com/sacloud/usacloud/pkg/version"
 )
 
-var apiCaller sacloud.APICaller
+var apiCaller iaas.APICaller
 var apiCallerInitOnce sync.Once
 
-func APICaller() sacloud.APICaller {
+func APICaller() iaas.APICaller {
 	apiCallerInitOnce.Do(func() {
-		apiCaller = api.NewCaller(&api.CallerOptions{
-			AccessToken:          os.Getenv("SAKURACLOUD_ACCESS_TOKEN"),
-			AccessTokenSecret:    os.Getenv("SAKURACLOUD_ACCESS_TOKEN_SECRET"),
-			HTTPRequestRateLimit: 5,
-			RetryMax:             10,
-			RetryWaitMax:         30,
-			RetryWaitMin:         1,
-			UserAgent:            fmt.Sprintf("Usacloud(Test)/v%s (+https://github.com/sacloud/usacloud) libsacloud/%s", version.Version, libsacloud.Version),
-			TraceAPI:             os.Getenv("SAKURACLOUD_TRACE") != "",
-			TraceHTTP:            os.Getenv("SAKURACLOUD_TRACE") != "",
-			FakeMode:             os.Getenv("FAKE_MODE") != "" || os.Getenv("TESTACC") != "",
+		apiCaller = api.NewCallerWithOptions(&api.CallerOptions{
+			Options: &client.Options{
+				AccessToken:          os.Getenv("SAKURACLOUD_ACCESS_TOKEN"),
+				AccessTokenSecret:    os.Getenv("SAKURACLOUD_ACCESS_TOKEN_SECRET"),
+				HttpRequestRateLimit: 5,
+				RetryMax:             10,
+				RetryWaitMax:         30,
+				RetryWaitMin:         1,
+				Trace:                os.Getenv("SAKURACLOUD_TRACE") != "",
+				UserAgent:            fmt.Sprintf("Usacloud(Test)/v%s (+https://github.com/sacloud/usacloud) %s", version.Version, iaas.DefaultUserAgent),
+			},
+			TraceAPI: os.Getenv("SAKURACLOUD_TRACE") != "",
+			FakeMode: os.Getenv("FAKE_MODE") != "" || os.Getenv("TESTACC") != "",
 		})
 	})
 	return apiCaller
diff --git a/pkg/test/cli_context.go b/pkg/test/cli_context.go
index 099164b8..7ae3a04e 100644
--- a/pkg/test/cli_context.go
+++ b/pkg/test/cli_context.go
@@ -18,8 +18,8 @@ import (
 	"context"
 	"time"
 
-	"github.com/sacloud/libsacloud/v2/sacloud"
-	"github.com/sacloud/libsacloud/v2/sacloud/types"
+	"github.com/sacloud/iaas-api-go"
+	"github.com/sacloud/iaas-api-go/types"
 	"github.com/sacloud/usacloud/pkg/cli"
 	"github.com/sacloud/usacloud/pkg/config"
 	"github.com/sacloud/usacloud/pkg/output"
@@ -91,7 +91,7 @@ func (c *DummyCLIContext) WithResource(id types.ID, zone string, resource interf
 	}
 }
 
-func (c *DummyCLIContext) Client() sacloud.APICaller {
+func (c *DummyCLIContext) Client() iaas.APICaller {
 	return APICaller()
 }