如何在Python脚本中通过Oracle Cloud Core Services API设置boot_volume_size_in_gbs值
解决OCI Python SDK设置自定义启动卷大小的问题
- 问题根源:
boot_volume_size_in_gbs参数不属于LaunchInstanceDetails对象,无法直接传入,需通过嵌套BootVolumeDetails模型传递启动卷配置。 - 解决方案:在
LaunchInstanceDetails中添加boot_volume_details字段,传入oci.core.models.BootVolumeDetails实例并设置size_in_gbs参数。
修改后的代码示例:
compute_client = oci.core.ComputeClient(config) instance = compute_client.launch_instance( oci.core.models.LaunchInstanceDetails( compartment_id=compartment_id, shape=shape, image_id=image_id, subnet_id=subnet_id, display_name=display_name, availability_domain=availability_domain, shape_config=oci.core.models.LaunchInstanceShapeConfigDetails( memory_in_gbs=memory_in_gb, ocpus=ocpus ), create_vnic_details=oci.core.models.CreateVnicDetails( subnet_id=subnet_id, assign_public_ip=assign_public_ip ), metadata={ "ssh_authorized_keys": public_key }, # 通过BootVolumeDetails指定启动卷大小 boot_volume_details=oci.core.models.BootVolumeDetails( size_in_gbs=boot_volume_size_in_gb ) ) ).data
补充说明
- 若需对启动卷做更多配置(如加密、指定KMS密钥等),可在
BootVolumeDetails对象中添加对应参数。 - 确保OCI Python SDK为最新版本,旧版本可能存在参数支持缺失问题,可执行
pip install --upgrade oci更新。
内容的提问来源于stack exchange,提问作者Sreehari
相关产品推荐
相关产品推荐

