クラウドプロビジョニング のプールとフィルター

  • リリースバージョン: Xanadu
  • 更新日 2024年08月01日
  • 所要時間:7分
  • リソースプールは、テーブルをフィルターするクエリーまたはスクリプトです。ユーザーがカタログアイテムを要求するときに使用できる値を制限するようにリソースプールを設定できます。

    プールの使用例

    特定の論理データセンター内のネットワークのみにユーザーを制限するには、クラウドネットワーク [cmdb_ci_network] テーブルに対して実行される NetworkPool というリソースプールを使用します。リソースプール はスクリプトを使用して、ネットワークが属するデータセンターに基づいてネットワークをフィルターします。

    プールの仕組み

    プールの仕組み

    プールの命名規則は次のとおりです。
    get<thisItem>By<condition>
    condition は、戻り値間の関係を形成する最上位のエンティティです。たとえば、getObjectIdByServiceAccount は、指定したサービスアカウントでホストされているすべての ObjectID をフィルターします。
    指定した条件のみを使用してクエリーテーブルをフィルターします。それにより、条件に一致するすべてのレコードが返されます。

    プールと詳細計画

    詳細計画を構成する場合、フォームの動作の変数を指定します。リソースプールを各変数のデータソースとして指定し、使用するリソースプールを選択できます。次に、変数はフィルターされた値を使用します。

    ベースシステム のリソースプール

    プール このテーブルに基づく フィルタタイプ フィルター名と説明
    AnsibleInventoryPool Ansible Tower インベントリ [sn_cfg_ansible_inventory] スクリプト Ansible Tower インベントリの名前をフィルタリングします。
    ApplicationPool アプリケーション クエリー アプリケーションの名前をフィルターします。
    アプリケーションプロファイルプール アプリケーションプロファイル [sn_cmp_application_profile] スクリプト アプリケーションプロファイルの名前をフィルタリングします。
    AvailabilityZonePool アベイラビリティゾーン [cmdb_ci_availability_zone] スクリプト アベイラビリティゾーンを、それらが属する論理データセンターに基づいてフィルターします。

    getNameByLDC:アベイラビリティゾーンを、それらが属する論理データセンターに基づいてフィルターします。

    IBM 用の Terraform テンプレートでは、プロビジョニングの入力としてアベイラビリティゾーンの名前が必要です。

    AzureDevOpsPipelinePool インストール可能な構成 [sn_cmp_cfg_installable] スクリプト インストール可能な構成をフィルタリングします。
    AzureDevOps プロジェクトプール Azure DevOps プロジェクト [sn_itom_csc_cp_azure_devops_project] スクリプト 構成プロバイダーに基づいてプロジェクトをフィルターします。
    BusinessServicePool サービス [cmdb_ci_service] クエリー ビジネスサービスの名前をフィルターします。
    ChefServerPool Chef サーバー [sn_cfg_chef_server] スクリプト Chef サーバーの認証情報を Chef サーバーでフィルターします。
    CloudAccountPool クラウドアカウント [cmdb_ci_cmp_cloud_account] クエリー クラウドアカウントの名前をフィルターします。
    CloudKeyPairPool [cmdb_ci_cloud_key_pair] スクリプト getObjectIdByServiceAccount:クラウドキーペアを、それらが属するサービスアカウントに基づいてフィルターします。
    ComputeProfilePool 計算プロファイル [sn_cmp_compute_profile] スクリプト 論理データセンターと、それが属するクラウドアカウントによって計算プロファイルをフィルターします。
    ConfigMgmtPool スクリプト 構成管理作業負荷プロバイダーをフィルタリングします。
    CostCenterPool コスト センター [cmn_cost_center] スクリプト ユーザーが属するコストセンターのみを一覧表示するフィルター。
    DatastorePool VMware vCenter データストア [cmdb_ci_vcenter_datastore] スクリプト データストアを、それらが属する論理データセンターに基づいてフィルターします。
    HardwareTypePool [cmdb_ci_compute_template] スクリプト getObjectIdByAvailabilityZone:ハードウェアテンプレートを、それらが属するアベイラビリティゾーンに基づいてフィルターします。
    ImagePool [cmdb_ci_os_template] スクリプト getObjectIdByServiceAccount:OS イメージの resourceId をサービスアカウントでフィルターします。

    IBM Cloud では、OS イメージはデータセンターに固有ではないため、サービスアカウントレベルでホストされます。Terraform は、プロビジョニングの入力として resourceId を必要とします。

    IPAddressPool クラウド IP アドレス [cmdb_ci_cloud_ip_address] クエリ IP アドレスをフィルタリングします。
    LaunchConfigurationPool サーバーアレイの起動構成 [cmdb_ci_sa_launch_config] クエリ 構成プールをフィルタリングします。
    NetworkInterfacePool Cloud Mgmt ネットワークインターフェイス [cmdb_ci_nic] スクリプト ネットワークインターフェイスプールをフィルターします。
    NetworkPool クラウドネットワーク [cmdb_ci_network] テーブル スクリプト
    • ネットワークを、それらが属する論理データセンターに基づいてフィルターします。
    • getObjectIdByLDC:ネットワーク ID を、それらが属する論理データセンターに基づいてフィルターします。
    OSProfilePool OS プロファイル [sn_cmp_os_profile] スクリプト 論理データセンターと、それが属するクラウドアカウントによって計算プロファイルをフィルターします。
    ProjectsPool プロジェクト [pm_project] クエリー プロジェクトの名前をフィルターします。
    ResourceGroupPool リソースグループ [cmdb_ci_resource_group] スクリプト リソースグループを、それらが属する論理データセンターに基づいてフィルターします。
    ScheduleTimeZonePool 選択 [sys_choice] スクリプト スケジュールされたタイムゾーンをフィルタリングします。
    SecurityGroupPool CPU セキュリティグループ [cmdb_ci_compute_security_group] スクリプト
    • getByNetwork:セキュリティグループを、それが属するネットワークでフィルターします。
    • getObjectIdByServiceAccount:セキュリティグループ ID を、それらが属するサービスアカウントに基づいてフィルターします。
    SecurityGroupProfilePool CPU セキュリティグループプロファイル [sn_cmp_security_grp_profile] クエリー セキュリティグループプロファイルの名前をフィルターします。
    SSHKeyPool CMP SSH キーペア [sn_cmp_ssh_credentials] スクリプト ユーザーキーをユーザーでフィルターします。
    StorageAccountPool クラウドストレージアカウント [cmdb_ci_cloud_storage_account] スクリプト クラウドストレージアカウントを、それらが属する論理データセンターに基づいてフィルターします。
    StorageVolumePool ストレージボリューム [cmdb_ci_storage_volume] クエリー ストレージボリュームの名前をフィルターします。
    SubnetPool クラウドサブネット [cmdb_ci_cloud_subnet] スクリプト
    • 属するネットワークでサブネットをフィルターします。
    • getObjectIdByNetwork:サブネットを、それらが属するネットワークに基づいてフィルターします。
    UserGroupPool グループ [sys_user_group] スクリプト ユーザーが属するグループのみを返します。
    VirtualMachinePool [sn_cmp_resource_pool] スクリプト getByAvailabilityZone:仮想マシン ID を、それらが属するアベイラビリティゾーンに基づいてフィルターします。
    VmFolderPool VMware vCenter フォルダ [cmdb_ci_vcenter_folder] スクリプト VM フォルダを、それらが属する論理データセンターに基づいてフィルターします。