我无法运行以下代码:
$disk = Get-GceDisk disk-snapshot-instance-1
Set-GceInstance -Name instance-1 -AttachDisk $disk
当我将$ disk替换为disk-snapshot-instance-1时,会出现相同的错误:
Set-GceInstance : Parameter set cannot be resolved using the specified named parameters.
At line:1 char:1
+ Set-GceInstance -Name instance-1 -AttachDisk $disk
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Set-GceInstance], ParameterBindingException
+ FullyQualifiedErrorId : AmbiguousParameterSet,Google.PowerShell.ComputeEngine.SetGceInstanceCmdlet
我不明白的是,当通过G-cloud界面手动连接磁盘时,它可以删除磁盘。
Set-GceInstance -Name instance-1 -RemoveDisk $disk
我的问题: 在删除磁盘的同时,为什么不能用上面的代码将磁盘连接到实例?
答案 0 :(得分:0)
正确的命令是:
Set-GceInstance $instance -AddDisk $disk1 -Zone $zone
Set-GceInstance $instance -RemoveDisk $disk1 -Zone $zone
我使用gcloud创建一个具有2个磁盘的实例,然后:
Get-GceDisk | Format-List -Property Name
这将返回:
Name : disk-1
Name : disk-2
Name : instance-1
然后我可以:
$zone = "us-west1-c"
$disk2 = Get-GceDisk disk-2
Set-GceInstance instance-1 -RemoveDisk $disk2 -Zone $zone
Set-GceInstance instance-1 -AddDisk $disk2 -Zone $zone
HTH