2017-06-02 38 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提到,這些領域應該是類型列表中,不會打字的元組。

相關問題