2017-06-02 9 views
0

私はOracleのBMC内のリソースの作成を自動化しようとしていますを作成しようとするとはAttributeErrorを取得します。私はこのPythonのコードがあります。私はOracleのBMC SecurityList

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言及したように、これらのフィールドはタプルを入力しない、タイプリストでなければなりません。

関連する問題