IBM Cloud シェルのプラグインのバージョンを変更するには

#### はじめに


IBM Cloud のコンソールから使用できる [IBM Cloud シェル](https://cloud.ibm.com/docs/cloud-shell?topic=cloud-shell-getting-started) では ibmcloud コマンドで色々なサービスの操作を操作するプラグインが導入されていますが、自動的にアップデートされ新しいバージョンが提供されています。

![cloud_shell.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/517421/e47c0970-3fe1-9501-9970-950e3a2708d1.png)


[リリース・ノート](https://cloud.ibm.com/docs/cloud-shell?topic=cloud-shell-release-notes-image&locale=ja)

>ヒント：IBM Cloud CLI およびプラグインは、最新の使用可能なバージョンに定期的に更新されます。 



2024/3/24時点で cloud shell に入っているプラグインのリスト。

```
user1@cloudshell:~$ ibmcloud plugin list
Listing installed plug-ins...

Plugin Name                                     Version   Status             Private endpoints supported
analytics-engine-v3[ae-v3]                      2.5.0                        false
app-configuration                               1.0.14                       true
atracker                                        0.4.11                       true
catalogs-management                             2.3.33                       true
cbr                                             1.7.0                        true
cloud-databases[cdb]                            0.17.1                       false
cloud-dns-services[dns/dns-svcs]                0.7.3                        true
cloud-functions[wsk/functions/fn]               1.0.79                       false
cloud-internet-services[cis]                    1.15.12                      true
cloud-object-storage                            1.8.1                        false
cloudant[cl]                                    0.2.0                        true
code-engine[ce]                                 1.49.6    Update Available   true
container-registry[cr]                          1.3.7                        true
container-service[kubernetes-service/ks]        1.0.601                      false
cra                                             2.1.5     Update Available   false
dbaas-cli[dbaas]                                2.2.5                        true
dl-cli                                          0.5.10                       true
doi                                             0.4.5                        false
dvaas                                           1.0.2                        false
event-notifications[en]                         1.4.0                        false
event-streams[es]                               2.5.1                        true
hpcs                                            0.1.0                        false
hpcs-cert-mgr                                   1.1.0                        false
hpnet                                           1.0.2                        false
hpvs                                            1.4.27                       false
key-protect[kp]                                 0.9.3                        true
logging                                         0.0.8                        false
metrics-router                                  0.0.43                       true
monitoring                                      0.2.16                       true
observe-service[ob]                             1.0.82                       false
openpages[op]                                   0.0.15                       true
power-iaas                                      0.7.1     Update Available   false
privileged-access-gateway                       1.6.6                        false
project                                         0.0.30    Update Available   false
qiskit-runtime                                  0.1.5                        false
schematics[sch]                                 1.12.20                      true
secrets-manager[sm]                             2.0.5                        true
security-compliance[scc]                        0.0.4                        false
sl                                              1.5.1                        false
tg-cli[tg]                                      0.8.12                       true
tke                                             1.4.1                        true
vpc-infrastructure[infrastructure-service/is]   10.0.1    Update Available   true
watson                                          0.0.11                       false
```

power-iaas は 1.0.0 が導入されています。 2024/2 にリリースしたようですね。

```
user1@cloudshell:~$ ibmcloud plugin list | grep power
power-iaas[pi]                                  1.0.0                        false
```

[power-iaas cli リリースノート](https://cloud.ibm.com/docs/power-iaas-cli-plugin?topic=power-iaas-cli-plugin-release-notes)

> February 2024
> New CLI version 1.0.0 available. 


プラグインのバージョン変更によって以前のコマンド・オプションが使用できなくなることがあります。

[What’s new in IBM Power Virtual Server CLI Version 1.0.0](https://cloud.ibm.com/docs/power-iaas-cli-plugin?topic=power-iaas-cli-plugin-whats-new-v1)

例えば、 0.7.1 では ``ibmcloud pi connection-create`` だったコマンドが、
1.0.0 では `ibmcloud pi cloud-connection create` となります。


----

#### 前のバージョンを使用したい場合

その Cloud shell セッション内で異なるバージョンのプラグインを使いたい場合は、上書き導入が可能です。

IBM Cloud シェルは 'IBM Cloud'というプラグイン・リポジトリーが公式に使用されています。

```
$ ibmcloud plugin repos
Listing added plug-in repositories...

Repo Name   URL                             Description
IBM Cloud   https://plugins.cloud.ibm.com   Official repository(Formerly named 'Bluemix')
```



'IBM Cloud'リポジトリーにある'power-iaas'プラグインで使用可能なバージョンを確認すると、0.4.9 - 1.0.0 まで6つのバージョンが使用可能です。

```
$ ibmcloud plugin repo-plugin power-iaas
Looking up 'power-iaas' from repository 'IBM Cloud'...
                
Name:           power-iaas[pi]
Description:    Manage Power Virtual Servers
Company:        IBM
Homepage:       
Authors:        
Versions:       Version   Compatible   SHA1                                                               Minimal CLI version required
                1.0.0     Yes          2b3092778c2e46a812467703f29145f19d392f6255b24befa40272db1d569558   N/A
                0.7.1     Yes          0c75733b2357439a0be500b4d8b5909ec17493971de4aed172eb5a485c813035   N/A
                0.7.0     Yes          275875b56c6947566ed14fe20ca01cd248eff6da7c220cbc7374d5efbc801a8f   N/A
                0.6.0     Yes          8882691a1998b492cd5303d10bc0e80e8bf574045fc81950035fdb382f93ce05   N/A
                0.5.0     Yes          24717bcde2814bd0eac6603c4425fffb93c361906be10b5796e07682227cd2ee   N/A
                0.4.9     Yes          54f98add94b70be3aa785a49d9abf044bcb0938e53e754ab2d31d0e4ed9e8a49   N:::note alert
:::

```




0.7.1 を上書き導入する場合の例です。

```
$ ibmcloud plugin install power-iaas -v 0.7.1 -r 'IBM Cloud' -f
Looking up 'power-iaas' from repository 'IBM Cloud'...
Plug-in 'power-iaas[pi] 0.7.1' found in repository 'IBM Cloud'
Attempting to download the binary file...
 23.40 MiB / 23.40 MiB [==============================] 100.00% 0s
24539136 bytes downloaded
Installing binary...
OK
Plug-in 'power-iaas 0.7.1' was successfully installed into /tmp/ic/cloudshell-823e7686-e8dc-4480-a328-cc0220e2d950-1-55ccbfdfsc5fj-1/.bluemix/plugins/power-iaas. 
Use 'ibmcloud plugin show power-iaas' to show its details.
```

確認

```
$ ibmcloud plugin list | grep power
power-iaas                                      0.7.1     Update Available   false
```

0.7.1 に置き換わりました。


ただし、セッションは一定時間経過や、再起動を行うと、一時的なワークスペース "/home/<user>" もリフレッシュされてしまい、元の環境に戻ります。

```
$ ibmcloud plugin list | grep power
power-iaas[pi]                                  1.0.0                        false
```


<br>
<br>

ログイン毎に設定する .bashrc などで設定できないかと検討しましたが、/home以下のため時間経過後にはリフレッシュされてしまいました。

IBM cloud シェルで下方バージョンのプラグインをする場合は、上記のように手動でコマンド実行して環境設定することとなると思います。


以上です。