機械翻訳について

テンプレート・パラメータの使用

Oracle Cloud Stackテンプレート・ファイルを編集し、パラメータを使用してユーザー入力を構成します。

はじめには、「パラメータとは」を参照してください。

一部のパラメータは事前定義されており、すべてのテンプレートで使用できます。 それらを明示的に定義する必要はありません。 「暗黙的なテンプレート・パラメータのリスト」を参照してください。

基本的な構文

テンプレート・ファイルのparametersノード内のテンプレート・パラメータを定義します。 各パラメータについて、typeとその他のオプションの属性と制約を指定します。 例:

parameters:
  dbAdminUser:
    label: Database Username
    description: The admin user for the new database
    type: String
    mandatory: true
    sensitive: true
    maxLength: 15
  nodeCount:
    label: Database Nodes
    description: The number of nodes in the database cluster
    type: Number
    default: 1
    minValue: 1
    maxValue: 3

パラメータの構成の詳細については、「テンプレート・パラメータの作成」を参照してください。

次のいずれかの形式でallowedValues属性を指定します:

  • 一連の値を入力します。 例えば: [oc1,oc2]

  • キーと値のペアを持つ単一のJSONオブジェクトを入力します。 値はユーザーに表示され、GetParam関数は選択したキーを返します。 例えば: {"10.3.6": "WebLogic Server 11g", "12.1.3": "WebLogic Server 12c"}

  • JSONオブジェクトのシーケンスを入力します。各オブジェクトはキー/バリューのペアです。 値はユーザーに表示され、GetParam関数は選択したキーを返します。 例えば: [{"10.3.6": "WebLogic Server 11g"}, {"12.1.3": "WebLogic Server 12c"}]

スタック名パラメータ

スタック名のパラメータを明示的に定義する必要はありません。 暗黙のパラメータserviceNameを使用して、テンプレート内のスタック名を取得します:

dbSchema: { "Fn::Join": ["-", ["Fn::GetParam": serviceName, DB]] }

ただし、スタックの名前(文字数など)に制約を定義する場合は、テンプレートに同じ名前のStringパラメータを作成します:

parameters:
  serviceName:
    label: Name
    type: String
    minLength: 10
    allowedPattern: "^[A-Z]+[A-Z0-9]"

パラメータ・グループ

必要に応じて、関連するテンプレート・パラメータをグループ化することができます。 各パラメータ・グループにはラベルが与えられ、Oracle Cloud Stack作成ウィザードの詳細ページで見出しとして使用されます。

テンプレート・ファイルのparameterGroupsノード内にパラメータ・グループを定義します。 このノードにはシーケンスが含まれています。 シーケンスの各アイテムには、グループのlabelとグループのparametersのリストが含まれています。 例:

parameterGroups:
  - label: Database Configuration
    parameters: [dbVersion,dbComputeShape,dbSid]
  - label: Storage Configuration
    parameters: [storageUser,storagePassword]

ヒント:

parametersシーケンスは、次の構文で表すこともできます:
parameters:
  - storageUser
  - storagePassword

非表示パラメータ

Oracle Cloud at CustomerではなくこのトピックはOracle Cloud at Customerには適用されません。

パラメータのvisible属性をfalseに設定すると、Oracle Cloud Stackコンソールに入力フィールドとして表示されません:

parameters:
  dbSchema:
    ...
    visible: false

CLIおよびREST APIクライアントは、スタックの作成時に隠しパラメータの値を指定できます。

パスワードのパラメータ

このパラメータ・タイプにより、ユーザーはOracle Cloud Stackコンソールにパスワードを安全に入力できます。 パスワード値はブラウザに表示されません。 ユーザーは、同じパスワード値を2回入力する必要があります。

parameters:
  dbPassword:
    label: Database Password
    type: Password

確認入力フィールドの名前は、テキスト"Confirm"で始まるlabel属性の値です。 上記の例では、確認テキスト・フィールドにデータベース・パスワードの確認というラベルが付きます。

他のパラメータ・タイプとは異なり、パスワード・タイプはデフォルトで大文字と小文字が区別されます。

パスワード値を取得するには、GetParam関数を使用します:

adminPassword: { "Fn::GetParam": dbPassword }

SSHのパラメータ

このパラメータ・タイプを使用すると、ユーザーはSecure Shell(SSH)公開キーを入力できます。 Oracle Cloud Stackコンソールのユーザーは、キー値をテキストまたはファイルとして指定したり、Oracle Cloudで値を動的に生成できます。 キーが生成された場合、ユーザーはそれをファイルとしてダウンロードできます。

parameters:
  sshkey:
    label: SSH Public Key
    type: Ssh

GetParam関数を使用して、ユーザー提供または生成されたキー値を取得します:

vmPublicKey: { "Fn::GetParam": sshkey }

コンピュート・シェイプ・パラメータ

このパラメータ・タイプを使用すると、コンピュート・シェイプを選択できます。 Oracle Cloudは、Oracle Compute Units(OCPU)の数とクラウド・リソースに割り当てられるメモリーの量を指定する標準シェイプ(oc3oc2mなど)を定義します。

parameters:
  databaseShape:
    label: Database Compute Shape
    type: ComputeShape
    default: oc3

ComputeShapeパラメータ・タイプでallowedValues制約を使用すると、ユーザーが選択する可能性のあるOracle Cloudコンピュート・シェイプを制限できます。 Oracle Cloud Stackコンソールには、リストの各シェイプ・オプションのOCPUの数とRAM量が自動的に表示されます。 allowedValues制約を指定しない場合、ユーザーは標準のコンピュート・シェイプを選択できます。

parameters:
  databaseShape:
    label: Database Compute Shape
    type: ComputeShape
    allowedValues: [ oc3, oc4, oc5, oc6, oc1m, oc2m, oc3m, oc4m ]

GetParam関数を使用して、選択したコンピュート・シェイプを取得します:

weblogicShape: { "Fn::GetParam": databaseShape }

タグ・パラメータ

Oracle Cloud at CustomerではなくこのトピックはOracle Cloud at Customerには適用されません。

パラメータ・タイプを使用すると、このクラウド・アカウント内の1つ以上の既存のタグを選択したり、新しいタグを作成したりすることができます。

parameters:
  dbTags:
    label: Database Tags
    type: Tag

各タグは、単純なkeyまたはkey:valueのペアにすることができます。 GetParam関数を使用して、タグをkey:valueオブジェクトのシーケンスとして取得します。 タグに特定の値がない場合は、空の文字列になります。

tags: { "Fn::GetParam": dbTags }

ストレージ・パラメータ

このパラメータ・タイプを使用すると、ユーザーはOracle Cloud Infrastructure Object Storage Classicでストレージ・コンテナを指定できます。 Oracle Storage Cloud Serviceの使用Oracle Storage Cloud Serviceについてを参照してください。

parameters:
  backupStorage:
    label: Cloud Storage
    type: Storage

このタイプの各パラメータは、Oracle Cloud Stackコンソールに3つの独立した入力フィールドをもたらします:

  • ストレージ・コンテナのURL

  • このコンテナにアクセスできるOracle Cloudユーザーの名前

  • このOracle Cloudユーザーのパスワード

これらの3つの入力値を取得するには、GetParam関数を使用します。 ストレージ・パラメータの値はJSONオブジェクトです。 このオブジェクト内の値にアクセスするには、ドット表記法を使用します:

  • dbBackupContainer: { "Fn::GetParam": backupStorage.cloudStorageContainer }

  • dbBackupUser: { "Fn::GetParam": backupStorage.cloudStorageUser }

  • dbBackupPassword: { "Fn::GetParam": backupStorage.cloudStoragePassword }

デフォルトでは、これら3つの入力フィールドのラベルと説明は、テンプレート・パラメータのlabel属性から生成されます。 前の例では、最初のテキスト・フィールドのラベルはCloud Storage - バックアップ・ストレージ・コンテナ"を参照してください。 または、各入力フィールドに独自のラベルと説明を指定することもできます:

parameters:
  backupStorage:
    label: {"cloudStorageContainer": "Backup Storage Container", "cloudStorageUser": "Storage User", "cloudStoragePassword": "Storage Password"}
    description: {"cloudStorageContainer": "Oracle Storage Cloud Service container URL", "cloudStorageUser": "User with access to Oracle Storage Cloud Service", "cloudStoragePassword": "Password for the storage user"}
    type: Storage

CLIを使用してストレージ・タイプのパラメータを持つテンプレートからスタックを作成する場合は、パラメータ値をこれらの3つの属性を持つJSONオブジェクトとして入力します。 例:

-p backupStorage:{"cloudStorageContainer":"value","cloudStorageUser":"value","cloudStoragePassword":"value"}

リージョン・パラメータ

Oracle Cloud Stackコンソールには、地理的なロケーションなど、使用可能なOracle Cloudリージョンのリストが自動的に表示されます。これは、ユーザーのアカウント設定によって異なります。 デフォルト値は"No Preference"です。この場合、Oracle Cloudは自動的にリージョンを選択します。 リソースが特定のリージョンに割り当てられていない場合、IPネットワークやIP予約などの一部のOracle Cloud機能はサポートされません。

Regionパラメータ・タイプは、コンソールに単一の入力フィールドを表示します:

parameters:
  cloudRegion:
    label: Cloud Region
    type: Region

GetParam関数を使用して、ユーザーが選択したリージョンを取得します:

dbRegion: { "Fn::GetParam": cloudRegion }

サービス・パラメータ

Service_Typeパラメータ・タイプを使用すると、既存のOracle Cloudサービス・インスタンスのリストから選択できます。 「タイプ」は、Oracle Cloud Stackにおけるリソース・タイプの名前です(「リソース・タイプのリスト」を参照)。 たとえば、Service_dbaasタイプのパラメータを定義した場合、ユーザーはこのクラウド・アカウント内の既存のOracle Database Cloud Serviceデプロイメントのリストから選択できます:

parameters:
  dbaasService:
    label: Database
    type: Service_dbaas

GetParam関数を使用して、選択したサービス・インスタンスの名前を取得します:

dbService: { "Fn::GetParam" : dbaasService }