フォーマット済JSONの生成
「パラメータ'parameter_name'はJSON形式である必要があります」というメッセージを受信した場合、JSON形式が正しくありません。次の方法は、データを正しく書式設定するのに役立ちます。
単一の複合型オプション値のJSON形式
オプションが複合型の場合、--generate-param-json-inputオプションを使用して、そのオプション値のJSON形式を生成できます。--generate-param-json-inputオプションの引数は、--オプション指定子を使用せずに、JSON形式にするオプションの名前です。たとえば、次のコマンドは、ルート表のルート・ルール(--route-rulesオプション)の指定に使用するJSON形式を示します。
network route-table update --generate-param-json-input route-rules
[
{
"cidrBlock": "string",
"description": "string",
"destination": "string",
"destinationType": "string",
"networkEntityId": "string"
},
{
"cidrBlock": "string",
"description": "string",
"destination": "string",
"destinationType": "string",
"networkEntityId": "string"
}
]オプション引数に指定する値によって、既存の値が置き換えられます。たとえば、イングレス・ルールがすでにあり、エグレス・ルールを追加する場合は、既存のイングレス・ルールと新しいエグレス・ルールの両方を指定する必要があります。追加するルールのみを指定した場合、既存のルールは失われます。同様に、ポリシー・ステートメントを追加したり、定義済タグの値を追加するには、追加する内容に加えて、保持する既存のステートメントまたは値を再指定する必要があります。
次の例のように、出力に選択肢に関するメッセージが含まれている場合があります。
oci compute instance launch --generate-param-json-input source-details
[
"This parameter should actually be a JSON object rather than an array - pick one of the
following object variants to use",
{
"bootVolumeId": "string",
"sourceType": "bootVolume"
},
{
"bootVolumeSizeInGBs": 0,
"imageId": "string",
"kmsKeyId": "string",
"sourceType": "image"
}
]Compute Web UIを使用してインスタンスを作成する場合は、カスタム・イメージまたはブート・ボリュームのいずれかを選択します。同様に、前述の例のメッセージでは、ブート・ボリューム・ブロックまたはイメージ・ブロックのいずれかを指定するように指示されます。両方を指定することはできません。
コマンドのすべてのオプションの値に対するJSON形式
--generate-full-command-json-inputオプションは、複合値でない値を含む、指定されたコマンドのすべてのオプションの値の JSON形式を示します。
oci network route-table update --generate-full-command-json-input > route_table_update.jsonこの出力のカスタマイズされたバージョンを渡すには、--from-jsonオプションを使用します。
oci network route-table update --from-json file://route_table_update.json
既存の値のJSON形式
このタイプのリソースがすでに存在する場合は、リソースのgetまたはlistを実行して、JSONの書式設定を確認したり、現在の値をチェックします。
oci network route-table get --rt-id ocid1.routetable.unique_ID
必要なブロックをこの出力から直接コピーし、必要に応じて値を変更します。
複数の値が許可される場合は、この方法を使用して、保持する値を上書きしないようにします。必要なブロックをgetまたはlist出力からコピーし、必要に応じて値を変更、追加または削除します。