IBM Cloud Docs
本地编辑目录清单

本地编辑目录清单

目录清单文件指定有关要通过目录与用户共享的已加载解决方案的信息。 您可以提供许可和合规性信息,进行特定设置,并提供有关产品预期用途的描述。

要使用控制台来编辑目录详细信息吗? 您可以通过遵循 提供的向导进行选择,然后导出清单文件 以添加到源存储库。 如果 在项目中堆叠可部署架构,则在项目中将架构添加到私有目录时会为您创建目录清单。

将目录详细信息映射到清单文件

要帮助可视化向用户显示添加到清单文件的内容的方式,请参阅以下示例以显示 ibm_catalog.json 与目录详细信息页面之间的关系。

让我们来了解如何在目录清单文件中定义可部署体系结构名称,描述,功能部件和变体,以及用户如何在目录详细信息页面上查看信息。

![可部署架构标题、描述、功能文本映射到源文件](images/da-basic-catalog-details-mapping.png "可部署架构标题、描述、功能文本映射到源文件可部署架构标题、描述、功能文本映射到" caption-side="bottom"}"){: caption="部署架构标题、描述、功能文本映射到源文件

让我们看看变体功能部件列表如何用于帮助用户根据其在目录清单文件中的定义方式来比较变体。

可部署架构变化功能对比{: caption="可部署架构变化功能对比可部署架构变化功能" caption-side="bottom"}

让我们看看在目录清单文件中指定许可权和体系结构图详细信息的位置以及它在目录详细信息页面上的显示方式。

可部署架构权限和架构文本映射到源文件
部署架构权限和架构文本映射到

并且,如果体系结构满足使用 Security and Compliance Center通过扫描验证的特定合规性级别,那么可以按变体添加合规性声明。 您可以通过指定 Security and Compliance Center 概要文件来定义体系结构如何满足 ibm_catalog.json 文件中的特定合规性级别。 在加载到 IBM Cloud之前,还必须对体系结构创建的资源运行扫描。 有关更多信息,请参阅 管理可部署体系结构的合规性信息

请参阅以下示例,以了解如何向用户显示清单文件中定义的合规性信息。

可部署架构合规性
部署架构

编辑清单

要在本地编辑清单,可以使用以下步骤。

  1. 将以下示例清单文件复制到本地编辑器中。
  2. 将文件命名为 ibm_catalog.json
  3. 通过使用示例清单作为指南,将首选配置添加到文件中。 要了解有关每个值的更多信息,请查看 可用值
  4. 将该文件添加到源代码存储库的根文件夹中。
  5. 将可部署体系结构添加到目录

如果您的可部署架构已接入私有目录,您可以 从控制台下载清单

示例清单文件

以下代码片段可用作模板。

{
   "products": [
      {
         "name": "",
         "label": "",
         "product_kind": "",
         "tags": [
            "tag 1",
            "tag 2"
         ],
         "keywords": [
            "keyword 1",
            "keyword 2",
            "keyword 3"
         ],
         "short_description": "Short description of your product.",
         "long_description": "A longer description of your product.",
         "offering_docs_url": "URL",
         "offering_icon_url": "URL or emebbed image",
         "provider_name": "Community",
         "module_info": {
            "works_with": [
               {
                  "catalog_id": "",
                  "name": "module name",
                  "kind": "terraform",
                  "version": "0.1.0",
                  "flavor": "Variation name"
               }
            ]
         },
         "support_details": "Explanation of support.",
         "features": [
            {
               "title": "Feature 1 title"
               "description": "Feature 1 description"
            },
            {
               "title": "Feature 2 title"
               "description": "Feature 2 description"
            }
         ],
         "flavors": [
            {
               "label": "Display name",
               "name": "Programatic name",
               "install_type": "Install type",
               "working_directory": "Directory path",
               "usage_template": "template",
               "scripts": [
                  {
                     "type": "ansible",
                     "short_description": "Short description of what your script is intended to do.",
                     "path": "Path to script location.",
                     "stage": "The stage. For example, pre.",
                     "action": "The action. For example, validate."
                  }
               ],
               "change_notices": {
                  "breaking": [
                     {
                        "title": "Title of breaking change",
                        "description": "Description of the change."
                     }
                  ],
                  "new": [
                     {
                        "title": "Title of new feature",
                        "description": "Description of the new feature or capability."
                     }
                  ],
                  "update": [
                     {
                        "title": "Title of general update",
                        "description": "Description of the general update."
                     }
                  ]
               },
               "compliance": {
                  "authority": "scc-v3",
                  "controls": [
                     {
                        "profile": {
                           "name": "Security and Compliance Center profile name",
                           "version": "Profile version"
                        },
                        "names": [
                           "Control name 1 e.g. AC-2(a)",
                           "Control name 2",
                           "Control name 3"
                        ]
                     }
                  ]
               },
               "configuration": [
                  {
                     "key": "key type e.g. ssh_key",
                     "required": true
                  },
                  {
                     "key": "Key type e.g. ibmcloud_api_key",
                     "required": true,
                     "type": "The data type"
                  }
               ],
               "outputs": [
                  {
                     "description": "Output description",
                     "key": "key"
                  },
                  {
                     "description": "Output description",
                     "key": "key"
                  }
               ],
               "dependencies": [
                  {
                     "catalog_id": "ID",
                     "id": "ID",
                     "name": "Product programmatic name",
                     "kind": "Format kind",
                     "version": "Versions or range of versions",
                     "flavors": [
                        "Variation name 1",
                        "Variation name 2",
                        "Variation name 3"
                     ],
                     "install_type": "fullstack or extension",
                  }
               ],
               "iam_permissions" [
                  {
                     "role_crns": [
                        "CRN 1 e.g. crn:v1:bluemix:public:iam::::serviceRole:Manager",
                        "CRN 2 e.g. crn:v1:bluemix:public:iam::::role:Administrator"
                     ],
                     "service_name": "Programatic service name e.g. is.vpc"
                  }
               ],
               "licenses": [
                  {
                     "name": "License name",
                     "smref": "Link to the license"
                  }
               ],
               "schematics_env_values": {
                  "value": "value",
                  "smref": " "
               },
               "architecture": {
                  "descriptions": " ",
                  "features": [
                     {
                        "title": "Feature 1 title",
                        "description": "Feature 1 description"
                     },
                     {
                        "title": "Feature 1 title",
                        "description": "Feature 1 description"
                     }
                  ],
                  "diagram": {
                     "caption": "Diagram caption",
                     "url": "Link to diagram or embedded image",
                     "metadata": []
                  },
                  "description": "Description of the diagram"
               }
            }
         ]
      }
   ]
}

可用的值

以下部分包含有关可在清单文件中引用的每个值的信息。

产品

产品值指示一个或多个大小的产品数组。 如果目录清单文件存在于存储库的根目录中,那么只能导入该文件中的产品。 一次导入一个产品。 可以在 products 级别包含以下值:

label

产品显示名称。 此值必须与您在加载期间提供的显示名称相匹配。

name

产品的程序名称。

version

SemVer 格式的产品版本,包括主要版本,次要版本和修订版,例如 1.0.0。 在将产品加载到目录时,也可以指定此值。

product_kind

上架产品的类型。 有效值为 software,module 或 solution。 解决方案以其他方式称为可部署体系结构。

tags

一组预定义值,可帮助用户过滤目录以识别和了解有关产品的更多信息。 要查看可用选项,请运行以下命令: ibmcloud catalog filter options --all

keywords

用户可尝试搜索的特定词或短语的数组。

short_description

您的产品及其价值的简明摘要。

long_description

产品的详细描述,用于说明产品的价值和对用户的益处。

provider_name

用户可以按产品的提供者对目录进行过滤。 将产品加载到专用目录时,缺省情况下,提供程序名称设置为 Community。 但是,您可以定制此字段以显示公司或组织名称。 IBM 是保留值,只能用于 IBM 构建产品。

offering_docs_url

指向有关用户可访问的产品的文档的链接。

offering_icon_url

指向您希望出现在产品目录输入页面上的图标所在 URL 的链接。

support_details

可以包含支持联系人,支持位置和支持方法的降价格式的支持信息。

features

products 中的章节标题,用于突出产品的过程、能力和结果的详细信息。 这些产品级别功能部件随产品描述一起列示在商品页面上。 例如,功能可能包括 CPU 要求、安全功能等。 每个条目都定义为数组,如上一节中的示例清单中所示。 features 部分可包含以下值:

title
功能部件的名称。
description
功能部件的简明描述。

模块

module_info 值指示有关可部署体系结构兼容的其他产品的信息。 module_info 部分可包含以下值:

works_with

有关与可部署体系结构兼容的单数产品的信息的部分标题。 works_with 部分可包含以下值:

catalog_id(可选)
用于容纳产品的目录的标识。 如果未指定,那么缺省目录为 IBM Cloud。
id(可选)
产品的标识。 如果设置了 name 值,那么不需要标识。
name(可选)
使用可部署体系结构的产品的程序化名称。
kind
使用可部署体系结构的模块的格式。 最常见的是 terraform
version
使用 SemVer 格式的可部署体系结构的产品版本或产品版本范围。
flavors(可选)
兼容变体的程序名。 变体将单独加载到目录中,并提供版本号。 示例变体名称可以是 standardadvanced

特色

有关可部署体系结构变体的信息的部分标题。 虚拟硬件样板现在称为控制台中的变体。 可以在 flavors 级别包含以下值:

label

变体显示名称。

name

变体程序化名称。

working_directory

对于位于存储库的根级别的工作目录,您不需要指定工作目录。 如果它不在根目录中,请列出存储库根目录中的路径。 例如,./examples/

usage

有关如何嵌入体系结构或通过 Terraform 在本地运行体系结构的信息。

usage_template

类似于 usage。 通过模板,您可以将变量用作可替换值的占位符。 该字符串存储在 usage 属性中。

使用模板值和说明
模板变量 替换值
${{version}} 此变体或风格的版本字符串。
${{flavor}} 变体或味道的程序名称。
${{kind}} 实现种类。 I.e. terraform.
${{id}} 产品或产品标识。
${{name}} 产品的计划名称。
${{catalogID}} 产品所在目录的 ID。
${{workingDirectory}} 类型模板或变体的工作目录。

licenses

flavors 部分的标题,提供用户在安装产品时必须接受的最终用户许可协议信息。 许可协议是 IBM Cloud 服务协议的补充。

{
	"id": "string, license id",
	"name": "string, license display name",
	"type": "string, type of license, e.g. Apache xxx",
	"url": "string, URL for the license text",
	"description": "string, license description"
}

licenses 部分可包含以下值:

id
许可证标识。
name
许可证的名称。
type
许可证的类型。 例如,Apache。
url
用户可以访问许可协议的 URL。
description
许可证的描述。

compliance

flavors 部分中的部分标题,表示架构在默认安装设置下满足哪些合规控制要求。 对索赔的评估和验证由 IBM Cloud® Security and Compliance Center 完成。

"compliance": {
   "authority": "scc-v3",
   "profiles": [
      {
            "profile_name": "",
            "profile_version": ""
      }
   ]
}

您可以在目录清单 JSON 文件中列出多个配置文件,但只有第一个配置文件会添加到私有目录的合规信息中。

可以在 compliance 级别包含以下值:

authority

IBM Cloud Security and Compliance Center v3 是唯一被接受的授权。 这在程序上写为 scc-v3

profiles

部分标题,指示包含要声明的控件的概要文件。 您可以在 Security and Compliance Center中查看预定义的概要文件。

profile_name
这是概要文件的名称。 例如,NIST。 您可以在 Security and Compliance Center中找到概要文件名称。
profile_version
概要文件的版本。 例如,1.0.0。 您可以在 Security and Compliance Center中找到概要文件名称。
controls

指示变体已声明控件的节标题。 目录清单接受一组控件,您可以通过指定控件的 profile_nameprofile_versioncontrol_name 在变体上声明这些控件。 您可以在 Security and Compliance Center中查看预定义的概要文件。

profile

指示要从特定概要文件添加控件的部分标题。

name
The profile name of the claimed control. For example, NIST. You can find the profile name in Security and Compliance Center.
version
The version of the profile. For example, 1.0.0. You can find the profile name in Security and Compliance Center.
names

用于指示已声明控件的列表的部分标题。 例如:

"names": [
   "CM-7(b)",
   "AC-2(a)"
]

如果您在自述文件和目录清单文件中包含了控件,那么清单文件优先。 最佳做法是确保目录清单文件中列出的控件与自述文件中的控件一致。

change_notices(可选)

在发布可部署体系结构的新版本时,您可能要提醒用户注意的三种类型的更改的列表。 可以指定 breaking changesnew featuresgeneral updates。 中断更改是用于中断通过先前版本提供的功能的那些更新。 新功能突出显示用户可能迂到的新版本的任何新功能。 更新包括您想向用户强调的任何更改,例如不一定会破坏现有功能的修改行为,或使用户更容易使用可部署架构的更改。

"change_notices": {
   "breaking": [
      {
         "title": "",
         "description": ""
      }
   ],
   "new_features": [
      {
         "title": "",
         "description": ""
      }
   ],
   "updates": [
      {
         "title": "",
         "description": ""
      }
  ]
}

iam_permissions(可选)

用户使用可部署体系结构版本所需的所有 IAM 许可权的列表的节头。 IAM 许可权信息包含所需服务的程序化名称以及所需角色的 CRN 列表。 如果从 UI 构建目录清单文件,那么已包含 CRN。

{
   "service_name": "IAM defined service name",
   "role_crns" [
      ""
   ],
   "resources": [
      {
         "name": "",
         "description": "",
         "role_crns: [
            ""
         ]
      }
   ]
}

iam_permissions 部分可包含以下值:

service_name

用户必须有权访问的服务的程序化名称。

notes (可选)

为用户提供更多有关该角色的信息或包含该角色的原因。 例如,"只有在使用 IBM Key Protect 进行加密时才需要此角色。

role_crns

用于指示访问角色列表的部分标题。

resources

许可权的资源。

name
资源的名称。
description
对资源的描述。
role_crns
用于指示访问角色列表的部分标题。

architecture

flavors 小节中的小节标题,用于指定可部署架构版本的高级信息,包括说明、功能和图表。 可以提供具有文字说明的多个图。

"architecture" {
   "descriptions": "",
   "features": [
      {
         "title": "",
         "description": ""
      }
   ],
   "diagrams": [
      {
         "diagram" {
            "caption": "",
            "url": "",
            "type": "image/svg+xml"
         },
         "description": ""
      }
   ]
}

architecture 部分可包含以下值:

features

突出版本的过程、能力和结果的信息,或适用的架构变体。 在使用控制台上机时,这些详细信息被称为亮点。 这些详细信息显示在商品内的变体选择框中。 如果您的产品有多个架构变体,用户可以比较变体级别的功能,以决定哪个变体适合他们的需求。

title
功能部件的名称。
description
功能部件的描述。
diagrams

有关架构图的信息,包括图表标题、嵌入图表 SVG 的 URL、图表元数据(如元素 ID 和元素描述)以及参考架构的描述。

diagram

有关奇异体系结构图的信息的部分标记。

url

图表 SVG 的 URL。 您还可以嵌入 SVG。

api_url

图表的目录管理 API URL。

url_proxy

有关代理映像的信息的部分标题。

url
代理图像的 URL。
sha
图像的 sha 标识符。
caption

体系结构图的简短标签。

type

介质的类型。

thumbnail_url

指向图缩略图的链接。

description

有关体系结构图整体的信息,包括系统大纲以及可部署体系结构的组件之间的关系,约束和边界。

dependencies

flavors 部分的标题,查看与可部署架构兼容的产品列表。 依赖关系可以是必需的,也可以是可选的。 此处包含的依赖关系不能同时添加到 swappable_dependencies 部分。 信息包括产品和产品版本的程序名。 (可选) 可以包含目录标识和从属变体的列表。

{
   "name": "offering name",
   "id": "offering ID",
   "kind": "terraform",
   "version": "SemVer version e.g. 3.1.2"
   "flavors": [
      "flavor name"
   ],
   "install_type": "fullstack or extension",
   "catalog_id": "catalog ID"
   "optional": true,
   "input_mapping": [
   {
       "dependency_output": "kms_instance_crn",
       "version_input": "existing_kms_instance_crn"
   },
   {
       "version_input": "region",
       "value": "us-south"
   },
   {
       "version_input": "prefix"
       "reference_version": true
   }
   ]
}

在将可部署架构加入目录时,您可以提供符合依赖关系的所需架构信息,以及与您的架构协同工作的可选架构信息。 如需了解更多信息,请参阅 在入职过程中扩展可部署架构

dependencies 部分可包含以下值:

catalog_id(可选)

用于容纳产品的目录的标识。 如果未指定,那么缺省目录为 IBM Cloud。

id(可选)

产品标识。 如果设置了 name 值,那么不需要标识。

name(可选)

产品的程序化名称。

kind

依赖关系的格式类型。 对于由存在堆栈配置文件的分组可部署体系结构组成的可部署体系结构,请使用 stack。 将 terraform 用于仅由一个或多个模块组成的可部署体系结构。

version

要包含为 SemVer 格式的依赖项的版本或版本范围。

flavors(可选)

架构兼容的变体列表。

default_flavor (可选) 实验

当多个变体与您的架构兼容或需要部署您的架构时,指定为您的用户选择的默认变体。 如果 flavors 属性中包含其他变体,您的用户可以选择不同的变体。 该值是变化的 name。 要使用此功能,您还必须将 dependency_version_2 设置为 true。 如果没有设置,则不会为您的用户提供默认的变体。

optional 实验性

指定依赖关系是必需的还是不必需的。 缺省值为 false。 要使用此属性,还必须将 dependency_version_2 设置为 true

description (可选) 实验

为与自己的架构兼容的可选架构提供说明,以便用户了解该架构在更广泛的解决方案中是如何工作的,以及为什么他们可能希望包含该架构。 要使用此属性,还必须将 dependency_version_2 设置为 true

on_by_default 实验性

指定当用户从目录中将可部署架构添加到项目时,是否为其选择可选依赖关系。 如果用户不需要,可以取消选择该架构。 缺省值为 false。 要使用此属性,还必须将 dependency_version_2optional 设置为 true

input_mapping (可选) 实验

指定兼容架构和您正在上载的架构之间的引用值的部分标题。 要使用此属性,还必须将 dependency_version_2 设置为 true

dependency_output 或 (可选) dependency_input
指定要入驻的架构所引用的依赖关系中的变量。 值是依赖关系中变量的名称。 只能提供这两种属性中的一种。 如果 reference_version 设置为 true,那么该变量将引用正在上载的架构中的 version_input 变量。
version_input(可选)
指定架构中引用 dependency_outputdependency_input 值的输入变量名称。 如果 reference_version 设置为 true,那么 dependency_input 变量就会引用正在上载的架构中的 version_input 变量。
value(可选)
指定要上载的架构 ( version_input ) 或其依赖关系 ( dependency_input ) 的输入预设值。此处指定的值只有在提供了 version_inputdependency_input 而未提供 dependency_output 时才会使用。 如果提供了 version_input,那么当用户将架构及其依赖关系添加到项目中时,架构的 version_input 将预设为此处指定的值。 如果提供了 dependency_input,那么当用户将架构及其依赖关系添加到项目中时,依赖关系的 dependency_input 将预设为此处指定的值。
reference_version(可选)
表示正在入驻的架构与其依赖关系之间的引用流。 缺省值为 false。 默认情况下,架构输入( version_input )会引用依赖关系( dependency_inputdependency_output )中的输入或输出。 当该标志设置为 true 时,dependency_input 引用 version_input 中的值。

dependency_version_2 (可选) 实验

对等 dependencies 部分,dependency_version_2 指定在此可部署架构中使用更新的依赖关系处理。 如果使用 optional 属性或 dependencies 部分中的 input_mapping 部分,请将此值设为 true。 如果没有,请将其设置为 false。 如果将此属性设置为 true,则所有将 optional 属性设置为 false 的依赖项都必须部署您要上架的架构。

swappable_dependencies (可选) 实验

节标题,查看与可部署架构兼容的产品列表。 与 dependencies 阵列不同,该部分的产品可以互换。 用户可以选择使用哪种产品来满足依赖性要求。 可互换的依赖项可以是必需的,也可以是可选的。 此处包含的依赖关系不能同时添加到 dependencies 数组中。 信息包括产品和产品版本的程序名。 (可选) 可以包含目录标识和从属变体的列表。 要使用此属性,还必须将 dependency_version_2 设置为 true

{
  "optional": "true or false",
  "name": "Name for this group of swappable dependencies",
  "default_dependency": "the name of the dependency that is selected by default",
  "dependencies": [
    {
      	"name": "offering name"
      	"id": "offering ID"
      	"kind": "terraform"
      	"version": "SemVer version e.g. 3.1.2",
      	"flavors": [
           "flavor name"
        ],
      	"install_type": "fullstack or extension",
      	"catalog_id": "catalog ID",
      	"input_mapping": [
        {
            "dependency_output": "kms_instance_crn",
            "version_input": "existing_kms_instance_crn"
        }
        ]
    },
    {
      	"name": "offering name"
      	"id": "offering ID"
      	"kind": "terraform"
      	"version": "SemVer version e.g. 3.1.2",
      	"flavors": [
           "flavor name"
        ],
      	"install_type": "fullstack or extension",
      	"catalog_id": "catalog ID",
      	"input_mapping": [
        {
            "dependency_output": "kms_instance_crn",
            "version_input": "existing_kms_instance_crn"
        }
        ]
    }
  ]
}

swappable_dependencies 部分可包含以下值:

name(可选)
当架构加入目录时使用,以帮助您识别特定的 swappable_dependencies 组。
default_dependency(可选)
用户默认选择的组中某个依赖项的 name

release_notes_url

该架构发布说明的 URL。

configuration

flavors 小节中的小节标题,用于指定特定变体的部署变量配置。 目录数据类型用于扩展本地类型,当您在 IBM Cloud 控制台中工作时,可以获得更好的用户体验。 如果您是在本地机器或其他环境上运行代码,那么不会使用这些变量。 例如,password 目录类型可用于扩展以 string 类型定义的 Terraform 变量的功能,以便在用户界面中将其视为敏感变量。

{
   "key": "The configuration key. This value should match the name of a deployment variable.",
   "type": "The data type of the variable. This must be a valid catalog management type.",
   "default_value": "The default value set by the person who onboarded the deployable architecture",
   "value_constraint": "string",
   "description": "The description of the variable that is shown in the catalog to those who use your deployable architecture.",
   "display_name": "The display name for the configuration type.",
   "required": boolean,
   "options": [
      "Selectable option 1",
      "Selectable option 2"
   ],
   "hidden": boolean,
   "custom_config": {
      "type": "The ID of the widget type.",
      "grouping": "Where the configuration type is rendered.",
      "original_grouping": "The original groupiing type for the configuration.",
      "grouping_index": "The order in which the configuration item shows in a particular grouping.",
      "config_constraints": "Map of constraint parameters that are passed to the custom widget.",
      "associations": "The list of parameters associated with the configuration.",
      "options_url": "The URL where the options for your custom type can be pulled by using dynamic data from objects in the catalog."
   },
   "configuration_group": "The name of the assocated configuration group."
}

configuration 部分可包含以下值:

key

配置密钥。 该值应与部署变量的名称相匹配。

type

客户可定义或选择的输入类型。 目录管理服务必须支持数据类型。 本地 Terraform 类型可映射到某些受支持的类型。 例如,Terraform 类型 map 等同于 object。 Terraform 类型 list 等同于 array。 带有敏感属性的 Terraform 类型 string 相当于 password。 使用可部署架构的客户必须为您在目录清单中定义的输入类型提供值。

受支持的预定义类型:

  • boolean 需要用户输入 truefalse 字符串。
  • float 要求用户输入小数点。
  • int 要求用户输入整数。
  • number 需要一个数值。 number 类型既可以表示整数,也可以表示小数,如 4.56
  • password 要求用户输入字符串。 控制台和日志中的字符串会被编辑。
  • string 需要一个代表文本的 Unicode 字符序列。
  • object 需要用户输入 Terraform 对象。 有关更多信息,请参阅 map

预定义类型需要用户手动输入。

支持的定制类型:

  • array 需要用逗号分隔的值列表。
  • region 要求用户从下拉列表中选择一个区域来部署可部署架构。 您可以过滤终端用户可用的区域。 例如,您可以在地区过滤器中指定 country_id:us,ca,jp 以将可用地区限制在这些国家。 有关更多信息,请参阅 过滤语法
  • textarea 要求用户输入可分割成多行的文本。 例如,描述。
  • vpc 要求用户从下拉列表中按名称选择 VPC。 输出是模板所需的 VPC 名称或 ID。
  • vpc ssh key 要求用户选择 VPC SSH 密钥来验证虚拟机。
  • cluster 要求用户选择 Kubernetes Service 或 Red Hat OpenShift 集群。 输出为群组 ID。
  • power iaas 要求用户选择 Power Virtual Server 实例。
  • resource group 要求用户选择一个资源组。 输出为资源 ID 或名称。
  • multi-line secure value 要求用户输入可分割成多行的文本,并在控制台和日志中进行编辑。 例如,如果需要长键,该值会在工作区中隐藏。
  • schematics workspace 要求用户从下拉列表中选择特定工作区。 该列表根据可部署架构中定义的依赖关系进行动态筛选。 例如,如果您的可部署架构 example-da-1 依赖于另一个可部署架构 example-da-2,则 example-da-1 的输入下拉列表只会显示与 example-da-2 关联的工作区。 然后,用户在设置 example-da-1 时会选择 example-da-2 工作区的相应实例。
  • json editor 为用户提供了指定较大 JSON 输入或纯文本文件的空间。
  • Platform resource 要求用户从下拉列表中为您指定的资源类型选择实例资源。 资源类型可以是 VPC 子网、VPC 映像或 VPC 浮动 IP。 您可以指定 ID 或名称作为用户可以选择的值,并允许单选或多选。 输出是模板所需的名称或 ID。
default_value

要设置为缺省值的值。

virtual(可选)

标记,用于指定是否将输入传递给 Schematics 服务。 如果设置为 true,则输入不会传递到 Schematics。 对于可部署架构中的任何输入,如果兼容架构中引用了这些输入,但您正在启用的可部署架构中没有使用这些输入,则将此标记设置为 true。 在 input_mapping 中的 dependenciesswappable_dependencies 中的引用。

description

要在 UI 中为可部署体系结构的用户显示的变量的描述。

display_name

配置类型显示的名称。

required

一个布尔值,用于指示在安装期间是否需要用户指定参数。

hidden

一个布尔值,用于指示在安装期间是否应该对用户隐藏该参数。

options

用户可以为参数选择的选项的数组。

custom_config

部分标题用于指示可以使用定制配置。

type
用于配置的窗口小部件类型的标识
grouping
配置类型应显示在目录中的位置。 有效值为 TargetResourceDeployment
original_grouping
最初出现配置类型的位置。 有效值为 TargetResourceDeployment
grouping_index
存在多个配置项时此配置项的顺序。
config_constraints
提供给定制窗口小部件的约束参数的映射。
associations
与配置关联的参数的节标题。
configuration_group

关联配置组的名称。

schematics_env_values

flavors 部分中,schematics_env_values 指定了需要传递给 Schematics 服务的值和变量列表,以便在 Terraform 执行期间用作环境变量。 这可能是安全值,Terraform 日志记录的设置或其他内容。 您可以选择指定字符串或创建 Secrets Manager 的引用。 如果两者都指定,则使用 Secrets Manager 引用。

{
   "value": "Environment variables and their values",
   "sm_ref": "Specification of an instance of Secrets Manager and a key"
}

minimum_compatible_version(可选)

表示与当前版本兼容的最早版本的 semver 值。 如果早期版本与当前版本不兼容,则在此字段中指定当前版本值。 默认情况下,当前版本与所有早期版本兼容。

terraform_version

验证和安装版本所需的 Hashicorp Terraform 运行时版本。 在清单中设置此值将覆盖源代码中指定的内容。

outputs

有关 Terraform 输出值的信息的部分标题。

{
   "key": "name of the output value as defined in the Terraform",
   "description": "The description of the key"
}

outputs 部分可包含以下值:

key
指定输出值。
description
输出值的简短摘要。

install_type

指定可部署体系结构是 fullstack 还是 extension。 列示为扩展的体系结构需要先决条件。 如果将此值设置为 extension,那么还必须完成 dependencies 数组。 如果将 dependency_version_2 设置为 true,则忽略此属性。

scripts

同一存储库中包含的脚本的列表,可在指定操作的特定阶段由项目运行。 映射中的每个键都必须与条目中的格式 actionstage 匹配。Stage 必须是 prepostAction 必须是 validatedeployundeploy

{
   "short_description": "description for the script",
   "type": "type of script. i.e. ansible",
   "path": "the path to the script in the repo. Must begin with scripts/..."
   "stage": "pre or post"
   "action": "The action that executes the script. Options include validate, deploy, or undeploy."
}