如何使用python oci将所有ip附加到计算

问题描述

我想使用python oci软件包来获取有关环境的信息。 如何列出连接到计算节点的所有IP地址(公共或私有)? 不幸的是,list_instances()没有提供这部分计算详细信息。 谢谢。

解决方法

由上面的@Char共享,oci-python-sdk example应该在这里为您提供帮助。

您可以在此处找到SDK for Python支持的所有服务的列表-https://docs.cloud.oracle.com/en-us/iaas/Content/API/SDKDocs/pythonsdk.htm

此外,可以在此处找到有关OCI Python SDK的完整文档-https://docs.cloud.oracle.com/en-us/iaas/tools/python/2.21.5/

,

请使用此代码。基本上,您必须查找VNIC附件对象并根据InstanceId筛选VNIC_ID。 VNIC_ID可用于随后查找IP地址。

我已使用data [0]表示第一个附件。您可以使用循环遍历所有附件并打印IP。

    compute_client = oci.core.ComputeClient(config={},signer=signer)
    network_client = oci.core.VirtualNetworkClient(
        config={},signer=signer)
    vnic_id = compute_client.list_vnic_attachments(
        cd_compartment_id,instance_id=instanceId).data[0].vnic_id
    private_ip = network_client.get_vnic(vnic_id).data.private_ip