2017-06-02 83 views
0

我正试图在Oracle BMC中自动创建资源。我有这样的Python代码:当我尝试创建Oracle BMC安全列表时收到AttributeError

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' 

我可以通过控制台创建安全列表,我可以创建其他资源(VCN,实例等)使用Python API。有任何想法吗?

感谢

回答

0

这是因为你所定义的安全规则领域的元组,而不是名单。

您的代码:

details.ingress_security_rules =() details.egress_security_rules =()

应该是:

details.ingress_security_rules = [] details.egress_security_rules = []

随着docs提到,这些领域应该是类型列表中,不会打字的元组。

相关问题