{OCI リソース・マネージャ} リソース・マネージャを使ってサンプルアプリケーションをデプロイする

 

https://docs.oracle.com/ja-jp/iaas/Content/ResourceManager/Concepts/resourcemanager.htm

https://oracle-japan.github.io/ocitutorials/intermediates/resource-manager/

https://docs.oracle.com/en-us/iaas/tools/oci-cli/3.37.1/oci_cli_docs/cmdref/resource-manager.html


-- 1. テスト用リソース作成

 

oci iam compartment create \
--compartment-id ocid1.tenancy.oc1..000000000000000000000000000000000000000000000000000000000000 \
--description cmp01 \
--name cmp01


oci iam compartment list \
--query 'data[?"name"==`'cmp01'`].id | [0]' \
--raw-output


oci iam compartment delete \
--compartment-id ocid1.compartment.oc1..000000000000000000000000000000000000000000000000000000000000 \
--force


oci network vcn list \
--compartment-id ocid1.compartment.oc1..000000000000000000000000000000000000000000000000000000000000 

 

oci network vcn create \
--compartment-id ocid1.compartment.oc1..000000000000000000000000000000000000000000000000000000000000 \
--cidr-block 10.0.0.0/16 \
--display-name vcn01 \
--dns-label vcn01

 

oci network vcn list \
--compartment-id ocid1.compartment.oc1..000000000000000000000000000000000000000000000000000000000000 \
--query 'data[?"display-name"==`'vcn01'`].id | [0]' \
--raw-output


oci network vcn delete \
--vcn-id ocid1.vcn.oc1.iad.000000000000000000000000000000000000000000000000000000000000 \
--force

 

-- 2. 既存のコンパートメントからのスタックの作成

スタックは作成できるが、単純なもの以外はそのままでは使用できない模様


oci resource-manager stack list-resource-discovery-services \
--compartment-id ocid1.compartment.oc1..000000000000000000000000000000000000000000000000000000000000 \
--query 'sort_by(data.items, &"name").{"discovery-scope":"discovery-scope","name":"name"}' \
--output table


oci resource-manager stack list-terraform-versions \
--compartment-id ocid1.compartment.oc1..000000000000000000000000000000000000000000000000000000000000 

 

oci resource-manager stack list \
--compartment-id ocid1.compartment.oc1..000000000000000000000000000000000000000000000000000000000000 

oci resource-manager stack create-from-compartment --generate-full-command-json-input 

 

oci resource-manager stack create-from-compartment \
--compartment-id ocid1.compartment.oc1..000000000000000000000000000000000000000000000000000000000000 \
--config-source-compartment-id ocid1.compartment.oc1..000000000000000000000000000000000000000000000000000000000000 \
--config-source-region IAD \
--config-source-services-to-discover '[
  "core"
 ,"database"
]' \
--terraform-version "1.2.x" \
--display-name "stack01" \
--description "stack01" 


oci resource-manager stack list \
--compartment-id ocid1.compartment.oc1..000000000000000000000000000000000000000000000000000000000000 \
--query 'data.{"display-name":"display-name","id":"id","lifecycle-state":"lifecycle-state"}' \
--output table

 

 

oci resource-manager stack get-stack-tf-config \
--stack-id ocid1.ormstack.oc1.iad.000000000000000000000000000000000000000000000000000000000000 \
--file stack01.zip

 

 

oci resource-manager stack delete \
--stack-id ocid1.ormstack.oc1.iad.000000000000000000000000000000000000000000000000000000000000 \
--force 


-- 3. Zipファイルからのスタックの作成


oci resource-manager stack create \
--compartment-id ocid1.compartment.oc1..000000000000000000000000000000000000000000000000000000000000 \
--config-source stack01.zip \
--terraform-version "1.2.x" \
--display-name "stack02" \
--description "stack02" 


oci resource-manager stack list \
--compartment-id ocid1.compartment.oc1..000000000000000000000000000000000000000000000000000000000000 \
--query 'data.{"display-name":"display-name","id":"id","lifecycle-state":"lifecycle-state"}' \
--output table

 

oci resource-manager stack delete \
--stack-id ocid1.ormstack.oc1.iad.000000000000000000000000000000000000000000000000000000000000 \
--force 

 

-- 4. ジョブ実行

oci resource-manager job list \
--compartment-id ocid1.compartment.oc1..000000000000000000000000000000000000000000000000000000000000 


oci resource-manager job create-plan-job \
--stack-id ocid1.ormstack.oc1.iad.000000000000000000000000000000000000000000000000000000000000 \
--display-name "job01" 

oci resource-manager job list \
--compartment-id ocid1.compartment.oc1..000000000000000000000000000000000000000000000000000000000000 \
--query 'data.{"display-name":"display-name","id":"id","lifecycle-state":"lifecycle-state"}' \
--output table

 

oci resource-manager job create-apply-job \
--stack-id ocid1.ormstack.oc1.iad.000000000000000000000000000000000000000000000000000000000000 \
--display-name "job02" \
--execution-plan-strategy "AUTO_APPROVED" 

 


oci resource-manager job create-destroy-job \
--stack-id ocid1.ormstack.oc1.iad.000000000000000000000000000000000000000000000000000000000000 \
--display-name "job03" \
--execution-plan-strategy "AUTO_APPROVED"