Oracle cloud infrastructure 尝试创建Oracle BMC SecurityList时获取AttributeError

Oracle cloud infrastructure 尝试创建Oracle BMC SecurityList时获取AttributeError,oracle-cloud-infrastructure,oci-python-sdk,Oracle Cloud Infrastructure,Oci Python Sdk,我正在尝试在Oracle BMC中自动创建资源。我有以下python代码: import oraclebmc config = oraclebmc.config.from_file() network = oraclebmc.core.virtual_network_client.VirtualNetworkClient(config) compartment_id = ... vcn_id = .... details = oraclebmc.core.models.CreateSecu

我正在尝试在Oracle BMC中自动创建资源。我有以下python代码:

import oraclebmc

config = oraclebmc.config.from_file()
network = oraclebmc.core.virtual_network_client.VirtualNetworkClient(config)

compartment_id = ...
vcn_id = ....

details = oraclebmc.core.models.CreateSecurityListDetails()
details.compartment_id = compartment_id
details.display_name = "baseline"
details.ingress_security_rules = ()
details.egress_security_rules = ()
details.vcn_id = vcn_id

network.create_security_list(details)
但当我运行此代码时,我得到:

Traceback (most recent call last):
  File "deploy/cloudresources/foo.py", line 16, in <module>
    network.create_security_list(details)
  File "/Users/jwmcclai/bmcs_env/lib/python2.7/site-packages/oraclebmc/core/virtual_network_client.py", line 668, in create_security_list
    response_type="SecurityList")
  File "/lib/python2.7/site-packages/oraclebmc/base_client.py", line 124, in call_api
    body = self.sanitize_for_serialization(body)
  File "/lib/python2.7/site-packages/oraclebmc/base_client.py", line 230, in sanitize_for_serialization
    for key, val in obj_dict.items()}
  File "/lib/python2.7/site-packages/oraclebmc/base_client.py", line 230, in <dictcomp>
    for key, val in obj_dict.items()}
  File "/lib/python2.7/site-packages/oraclebmc/base_client.py", line 226, in sanitize_for_serialization
    for attr, _ in obj.swagger_types.items()
AttributeError: 'tuple' object has no attribute 'swagger_types'
回溯(最近一次呼叫最后一次):
文件“deploy/cloudresources/foo.py”,第16行,在
网络。创建安全列表(详细信息)
文件“/Users/jwmcclai/bmcs_env/lib/python2.7/site packages/oraclebmc/core/virtual_network_client.py”,第668行,在创建安全列表中
响应\u type=“SecurityList”)
call\u api中的文件“/lib/python2.7/site packages/oraclebmc/base\u client.py”,第124行
body=self.sanitize_用于_序列化(body)
文件“/lib/python2.7/site packages/oraclebmc/base_client.py”,第230行,在sanitize_中进行序列化
对于键,对象dict.items()中的val
文件“/lib/python2.7/site packages/oraclebmc/base_client.py”,第230行,在
对于键,对象dict.items()中的val
文件“/lib/python2.7/site packages/oraclebmc/base_client.py”,第226行,在sanitize_中进行序列化
对于attr,u在obj.swagger_types.items()中
AttributeError:“tuple”对象没有属性“swagger\u types”
我可以通过控制台创建安全列表,还可以使用Python API创建其他资源(VCN、实例等)。有什么想法吗


谢谢,这是因为您将安全规则字段定义为元组,而不是列表

您的代码:

details.incress\u security\u rules=()
details.express\u security\u rules=()

应该是:

details.incress\u security\u rules=[]
details.exgress\u security\u rules=[]

如上所述,这些字段应该是list类型,而不是tuple类型