---
title: "Render an AppBlueprint from the given input"
method: POST
path: "/app_blueprints/render_info"
tags: ["app_blueprint"]
---

# Render an AppBlueprint from the given input

`POST /app_blueprints/render_info`

Helper that translates the given input spec into the equivalent AppBlueprint.

## Request body

- AppBlueprintRenderInfoInput — Source spec that describes an entity like a VM that should be translated into an AppBlueprint
  - `input_type` string, required
  - `input_spec` object, required — Spec based on the type
    - `vm_reference_with_customization` VmReferenceWithCustomization — Spec that describes a VM reference along with its customization config.
      - `vm_customization` GuestCustomization, required — VM guests may be customized at boot time using one of several different methods. Currently, cloud-init w/ ConfigDriveV2 (for Linux VMs) and Sysprep (for Windows VMs) are supported. Only ONE OF sysprep or cloud_init should be provided. Note that guest customization can currently only be set during VM creation. Attempting to change it after creation will result in an error. Additional properties can be specified. For example - in the context of VM template creation if "override_script" is set to "True" then the deployer can upload their own custom script.
        - `cloud_init` object — If this field is set, the guest will be customized using cloud-init. Either user_data or custom_key_values should be provided. If custom_key_ves are provided then the user data will be generated using these key-value pairs.
          - `meta_data` string — The contents of the meta_data configuration for cloud-init. This can be formatted as YAML or JSON. The value must be base64 encoded.
          - `user_data` string — The contents of the user_data configuration for cloud-init. This can be formatted as YAML, JSON, or could be a shell script. The value must be base64 encoded.
          - `custom_key_values` CustomGenericKeyValuePair — Generic key value pair used for custom attributes
        - `is_overridable` boolean — Flag to allow override of customization by deployer.
        - `sysprep` object — If this field is set, the guest will be customized using Sysprep. Either unattend_xml or custom_key_values should be provided. If custom_key_values are provided then the unattended answer file will be generated using these key-value pairs.
          - `install_type` string — Whether the guest will be freshly installed using this unattend configuration, or whether this unattend configuration will be applied to a pre-prepared image. Default is "PREPARED".
          - `unattend_xml` string — This field contains a Sysprep unattend xml definition, as a string. The value must be base64 encoded.
          - `custom_key_values` CustomGenericKeyValuePair — Generic key value pair used for custom attributes
      - `vm_reference` VmReference, required — The reference to a vm
        - `kind` string, required — The kind name
        - `name` string
        - `uuid` string, UUID, required
    - `vm_reference` VmReference — The reference to a vm
      - `kind` string, required — The kind name
      - `name` string
      - `uuid` string, UUID, required
  - `name` string, required — Name of the rendered app blueprint
  - `description` string — A description for the rendered app blueprint

## Response `200`

Success

- AppBlueprintRenderInfoOutput — The rendered blueprint spec
  - `blueprint_spec` BlueprintUpload — App blueprint upload kind
    - `description` string
    - `resources` BlueprintUploadResources, required — Resources for Blueprint.
      - `service_definition_list` AppServiceInputUpload[] — Service definitions for Blueprint.
        - `port_list` AppServicePort[]
          - `target_port` string, required
          - `protocol` string, required
          - `endpoint_name` string
        - `description` string
        - `action_list` AppActionInputUpload[], required — List of references to service action
          - `is_critical` boolean — action critical flag
          - `description` string
          - `type` string
          - `runbook` AppRunbookInputUpload — Runbook definition for Application
            - `task_definition_list` AppTaskInputUpload[]
              - …
            - `description` string
            - `variable_list` AppVariableInputUpload[]
              - …
            - `uuid` string, UUID
            - `main_task_local_reference` AppTaskReferenceUpload — The reference to a app_task
              - …
            - `name` string, required
          - `attrs` object — action attrs
          - `uuid` string, UUID
          - `name` string
        - `is_singleton` boolean — If True, then this service can only be in a deployment with replica 1
        - `uuid` string, UUID
        - `tier` string — Service tier name
        - `depends_on_list` EntityReference[]
          - `kind` string — Kind of the reference.
          - `type` string — The type of filter being used.
          - `uuid` string, UUID — UUID of the entity.
          - `categories` object — Categories for the entity.
          - `name` string — Name of the entity.
        - `editables` object — Runtime editable attributes for this entity. The structure for this is a dictionary. The keys in this dictionary should be the name of the attribute on the entity. If the attribute is editable, the value should be true, else false. If the attribute is a nested dictionary, the value can contain a nested dictionary with the same key value structure described above.
        - `config_reference` AppServiceReferenceUpload — The reference to a app_service
          - `kind` string, required — The kind name
          - `name` string, required
          - `uuid` string, UUID
        - `variable_list` AppVariableInputUpload[], required
          - `val_type` string
          - `description` string
          - `uuid` string, UUID
          - `value` string
          - `label` string
          - `attrs` object
          - `editables` object — Runtime editable attributes for this entity. The structure for this is a dictionary. The keys in this dictionary should be the name of the attribute on the entity. If the attribute is editable, the value should be true, else false. If the attribute is a nested dictionary, the value can contain a nested dictionary with the same key value structure described above.
          - `type` string
          - `name` string, required
        - `name` string, required
      - `substrate_definition_list` AppSubstrateInputUpload[] — Substrate definitions for Blueprint.
        - `instance_name` string
        - `description` string
        - `action_list` AppActionInputUpload[], required — List of references to action
          - `is_critical` boolean — action critical flag
          - `description` string
          - `type` string
          - `runbook` AppRunbookInputUpload — Runbook definition for Application
            - `task_definition_list` AppTaskInputUpload[]
              - …
            - `description` string
            - `variable_list` AppVariableInputUpload[]
              - …
            - `uuid` string, UUID
            - `main_task_local_reference` AppTaskReferenceUpload — The reference to a app_task
              - …
            - `name` string, required
          - `attrs` object — action attrs
          - `uuid` string, UUID
          - `name` string
        - `readiness_probe` AppSubstrateReadinessProbeUpload — Readiness probe for substrate
          - `connection_type` string
          - `timeout_secs` string
          - `address` string
          - `login_credential_local_reference` AppCredentialReferenceUpload — The reference to a app_credential
            - `kind` string, required — The kind name
            - `name` string, required
            - `uuid` string, UUID
          - `connection_port` integer
          - `disable_readiness_probe` boolean
        - `config_reference` AppSubstrateReferenceUpload — The reference to a app_substrate
          - `kind` string, required — The kind name
          - `name` string, required
          - `uuid` string, UUID
        - `create_spec` object — Spec of the substrate
        - `instance_power_state` string
        - `platform_data` string
        - `instance_address` string
        - `name` string, required
        - `uuid` string, UUID
        - `instance_id` string
        - `editables` object — Runtime editable attributes for this entity. The structure for this is a dictionary. The keys in this dictionary should be the name of the attribute on the entity. If the attribute is editable, the value should be true, else false. If the attribute is a nested dictionary, the value can contain a nested dictionary with the same key value structure described above.
        - `os_type` string
        - `type` string, required
        - `variable_list` AppVariableInputUpload[], required — List of variables
          - `val_type` string
          - `description` string
          - `uuid` string, UUID
          - `value` string
          - `label` string
          - `attrs` object
          - `editables` object — Runtime editable attributes for this entity. The structure for this is a dictionary. The keys in this dictionary should be the name of the attribute on the entity. If the attribute is editable, the value should be true, else false. If the attribute is a nested dictionary, the value can contain a nested dictionary with the same key value structure described above.
          - `type` string
          - `name` string, required
      - `credential_definition_list` AppCredentialInputUpload[] — Credential definitions for Blueprint.
        - `username` string, required
        - `secret` object, required — Credential secret object
        - `description` string
        - `editables` object — Runtime editable attributes for this entity. The structure for this is a dictionary. The keys in this dictionary should be the name of the attribute on the entity. If the attribute is editable, the value should be true, else false. If the attribute is a nested dictionary, the value can contain a nested dictionary with the same key value structure described above.
        - `type` string, required
        - `uuid` string, UUID
        - `name` string, required
      - `type` string — Type of blueprint
      - `app_profile_list` AppProfileInputUpload[] — App profile definitions for Blueprint.
        - `deployment_create_list` BlueprintDeploymentInputUpload[]
          - `percent_fault_tolerance` integer
          - `fault_domain_scope` string
          - `description` string
          - `action_list` AppActionInputUpload[] — List of references to action
            - `is_critical` boolean — action critical flag
            - `description` string
            - `type` string
            - `runbook` AppRunbookInputUpload — Runbook definition for Application
              - …
            - `attrs` object — action attrs
            - `uuid` string, UUID
            - `name` string
          - `package_local_reference_list` AppPackageReferenceUpload[] — List of references for the packages
            - `kind` string, required — The kind name
            - `name` string, required
            - `uuid` string, UUID
          - `uuid` string, UUID
          - `min_replicas` string, required — Minimum replicas for the deployment.
          - `max_replicas` string, required — Maximum replicas for the deployment.
          - `num_fault_tolerance` integer
          - `editables` object — Runtime editable attributes for this entity. The structure for this is a dictionary. The keys in this dictionary should be the name of the attribute on the entity. If the attribute is editable, the value should be true, else false. If the attribute is a nested dictionary, the value can contain a nested dictionary with the same key value structure described above.
          - `brownfield_instance_list` BrownfieldInstanceInput[] — brownfield map
            - `instance_id` string, required — Id of the vm
            - `instance_name` string — Name of the vm
            - `address` string[] — Address of the vm
            - `platform_data` unknown
          - `substrate_local_reference` AppSubstrateReferenceUpload, required — The reference to a app_substrate
            - `kind` string, required — The kind name
            - `name` string, required
            - `uuid` string, UUID
          - `type` string
          - `variable_list` AppVariableInputUpload[]
            - `val_type` string
            - `description` string
            - `uuid` string, UUID
            - `value` string
            - `label` string
            - `attrs` object
            - `editables` object — Runtime editable attributes for this entity. The structure for this is a dictionary. The keys in this dictionary should be the name of the attribute on the entity. If the attribute is editable, the value should be true, else false. If the attribute is a nested dictionary, the value can contain a nested dictionary with the same key value structure described above.
            - `type` string
            - `name` string, required
          - `name` string, required
        - `uuid` string, UUID
        - `description` string
        - `action_list` AppActionInputUpload[] — List of references to action
          - `is_critical` boolean — action critical flag
          - `description` string
          - `type` string
          - `runbook` AppRunbookInputUpload — Runbook definition for Application
            - `task_definition_list` AppTaskInputUpload[]
              - …
            - `description` string
            - `variable_list` AppVariableInputUpload[]
              - …
            - `uuid` string, UUID
            - `main_task_local_reference` AppTaskReferenceUpload — The reference to a app_task
              - …
            - `name` string, required
          - `attrs` object — action attrs
          - `uuid` string, UUID
          - `name` string
        - `editables` object — Runtime editable attributes for this entity. The structure for this is a dictionary. The keys in this dictionary should be the name of the attribute on the entity. If the attribute is editable, the value should be true, else false. If the attribute is a nested dictionary, the value can contain a nested dictionary with the same key value structure described above.
        - `variable_list` AppVariableInputUpload[]
          - `val_type` string
          - `description` string
          - `uuid` string, UUID
          - `value` string
          - `label` string
          - `attrs` object
          - `editables` object — Runtime editable attributes for this entity. The structure for this is a dictionary. The keys in this dictionary should be the name of the attribute on the entity. If the attribute is editable, the value should be true, else false. If the attribute is a nested dictionary, the value can contain a nested dictionary with the same key value structure described above.
          - `type` string
          - `name` string, required
        - `name` string, required
      - `default_credential_local_reference` AppCredentialReferenceUpload — The reference to a app_credential
        - `kind` string, required — The kind name
        - `name` string, required
        - `uuid` string, UUID
      - `package_definition_list` AppPackageInputUpload[] — Package definitions for Blueprint.
        - `description` string
        - `action_list` AppActionInputUpload[] — List of references to action
          - `is_critical` boolean — action critical flag
          - `description` string
          - `type` string
          - `runbook` AppRunbookInputUpload — Runbook definition for Application
            - `task_definition_list` AppTaskInputUpload[]
              - …
            - `description` string
            - `variable_list` AppVariableInputUpload[]
              - …
            - `uuid` string, UUID
            - `main_task_local_reference` AppTaskReferenceUpload — The reference to a app_task
              - …
            - `name` string, required
          - `attrs` object — action attrs
          - `uuid` string, UUID
          - `name` string
        - `service_local_reference_list` AppServiceReferenceUpload[] — References of the service.
          - `kind` string, required — The kind name
          - `name` string, required
          - `uuid` string, UUID
        - `uuid` string, UUID
        - `version` string
        - `editables` object — Runtime editable attributes for this entity. The structure for this is a dictionary. The keys in this dictionary should be the name of the attribute on the entity. If the attribute is editable, the value should be true, else false. If the attribute is a nested dictionary, the value can contain a nested dictionary with the same key value structure described above.
        - `config_reference` AppPackageReferenceUpload — The reference to a app_package
          - `kind` string, required — The kind name
          - `name` string, required
          - `uuid` string, UUID
        - `type` string, required
        - `options` object — Details based on type of the package.
        - `variable_list` AppVariableInputUpload[]
          - `val_type` string
          - `description` string
          - `uuid` string, UUID
          - `value` string
          - `label` string
          - `attrs` object
          - `editables` object — Runtime editable attributes for this entity. The structure for this is a dictionary. The keys in this dictionary should be the name of the attribute on the entity. If the attribute is editable, the value should be true, else false. If the attribute is a nested dictionary, the value can contain a nested dictionary with the same key value structure described above.
          - `type` string
          - `name` string, required
        - `name` string, required
      - `client_attrs` object — Data needed for clients.
    - `cluster_reference` ClusterReference — The reference to a cluster
      - `kind` string, required — The kind name
      - `name` string
      - `uuid` string, UUID, required
    - `name` string, required
    - `availability_zone_reference` AvailabilityZoneReference — The reference to a availability_zone
      - `kind` string, required — The kind name
      - `name` string
      - `uuid` string, UUID, required

## Other responses

- `default` — Internal Error

---

[API](https://skmtc.net/nutanix/apis/nutanix-intentful-api.md) · [All operations](https://skmtc.net/nutanix/apis/nutanix-intentful-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/nutanix/nutanix-intentful-api/revisions/40395083ab31/schema)
