vania-janet/multiturn-rag-retrieval-data huggingface dataset:
When a request is sent to this icr.io/codeengine/testjob sample job, the job reads the environment variable TARGET and prints "Hello ${TARGET}!". If this environment variable is empty, "Hello World!" is returned. For more information about the code that is used for this example, see [testjob](https://github.com/IBM/CodeEngine/tree/main/testjob).



1. Navigate to your job page.



* From the [Code Engine Projects page](https://cloud.ibm.com/codeengine/projects), click the name of your project. Click Jobs to open a listing of your jobs.
* From the Jobs page, click the name of the job that you want to update.



2. To update the image reference of your job, provide the name of your image or configure an image. Update the name of the image for this job from icr.io/codeengine/firstjob to icr.io/codeengine/testjob. Click Save.
3. Click Submit job.
4. From the Submit job pane, accept all the default values, and click Submit job again to run your job.
5. By [viewing job logs from the console](https://cloud.ibm.com/docs/codeengine?topic=codeengine-view-logsview-joblogs-ui) for this job, the output of the job is Hello World!.
6. To update the job again and add an environment variable, navigate to your job page.
7. Click Environment variables to open the tab and then click Add environment variable. Add a literal environment variable with the name of TARGET with a value of Sunshine. The icr.io/codeengine/testjob outputs the message, Hello <value_of_TARGET>!>.
8. Click Done.
9. Click Save to save the update to the job.
10. Click Submit job to submit the updated job.
11.
So we've got maybe [Writing] app one here, [Writing] app two, and say a [Writing] web page.

With a feature flagging service we can actually group these in collections so that we're a little bit more organized with which feature flags are tied to, which apps are web pages.

So now today we've learned about returning feature flags on and off without deployment testing directly in production, and then segmenting those features based on the user attributes.

Thank you for watching. If you have questions, please drop us a line below. If you want to see more videos like this in the future, please like and subscribe. And don't forget, you can grow your skills and earn badges with IBM CloudLabs, which are free browser-based interactive kubernetes labs.
Optional: Click Add fallback option to include a static choice, such as None of the above, if the options aren't what the customer wants. You can then add a step that is conditioned on this static option to provide further assistance. To add the condition, write a expression such as ${step_id}.value == "None of the above".







 Mapping examples 

Suppose you want to build an action that shows a list of pets available for adoption and prompts the customer to select a pet to see more information about. The source variable contains an array from a custom extension in the following format:

[
{
"id": "123",
"name": "Casey",
"breed": "Shetland sheepdog",
"age": 3
},
{
"id": "987",
"name": "Phoebe",
"breed": "chihuahua",
"age": 7
}
]

The schema for the items does not include a label property, so the default mapping is not available. Instead, you might use an expression to build a complex label that includes data taken from several different properties. For example, you might use the expression ${item}.name + " (" + ${item}.breed + ", age " + ${item}.age + ")" to define the option labels:

![label](https://cloud.ibm.com/docs-content/v1/content/ca9232b3702768f24bb897f48f10778fcda28718/watson-assistant/images/dynamic-options-complex-example.png)

Remember that you can use expression methods to manipulate values from the source variable in various ways. For example, you might have an action customers use to select a credit card for payment, but for security reasons you don't want to show the entire card number.
This feature is available only to users enrolled in the early access program. To gain access to early access features, complete the [Early access to beta features form](https://form.asana.com/?k=I-mpQg3brwq-DP9DFwTN_Q&d=8612789739828).



 Boost words 

Use boost words to enter keywords or phrases to help the assistant recognize what a customer wants. If a customer's input includes matches the boost words or phrases, the assistant can be more confident to use an action.

Boost words or phrases are used in addition to example phrases. They can only contain letters, underscores, hyphens, spaces, or dots. They must start with an alphanumeric character. Words or phrases can't be entered more than once per action, but you can use the same boost words or phrases across multiple actions.

To add boost words or phrases to an action:



1. Create or open an action.
2. In Customer starts with, ensure the action has at least one example phrase before adding any boost words.
3. Click the Boost icon.

![Boost](https://cloud.ibm.com/docs-content/v1/content/ca9232b3702768f24bb897f48f10778fcda28718/watson-assistant/images/boost-icon.png)
4. Enter a boost word or phrase, then click Add.

![Boost](https://cloud.ibm.com/docs-content/v1/content/ca9232b3702768f24bb897f48f10778fcda28718/watson-assistant/images/boost-modal.png)
5. You can keep entering words or phrases one at a time. When you're finished, click Apply.





 Testing recognition of boost words 

You can use Preview to test recognition of boost words. If a boost word or phrases matches, you can see Boost word detected in the Preview pane.

!
The deployable architectures support a set of security controls, and those controls are listed with the deployable architecture in the IBM Cloud catalog.

If you use Security and Compliance Center or the Code Risk Analyzer plug-in for IBM Cloud to scan your deployed resources against another security profile, you might see failures in the results.





 Unsupported attribute error after interrupted apply or destroy 

If a Terraform apply or destroy operation is interrupted, you might see an "Unsupported attribute" error at the next Terraform operation. Typically, this error occurs when a destroy operation is cancelled or has an unexpected error.

Error: Unsupported attribute
on .terraform/modules/landing_zone/dynamic_values/config_modules/vsi/vsi.tf line 20, in module "vsi_subnets":
20: subnet_zone_list = var.vpc_modules[each.value.vpc_name].subnet_zone_list
├────────────────
│ each.value.vpc_name is "management"
│ var.vpc_modules is object with 3 attributes

This object does not have an attribute named "subnet_zone_list".

The error occurs because the interrupted operation leaves key resources in a partial deployment state and other resources are configured to use these missing components.



 Workaround 

To complete the destroy operation that is stuck in this state, try to decouple the resources that depend on the missing components. To decouple the resources, use the override feature, for example by setting the override_json_string input variable.



* VSI on VPC landing zone deployable architectures that are missing their VPC components: override_json_string = '{"vsi": []}'
* Red Hat OpenShift Container Platform on VPC landing zone deployable architectures:override_json_string = '{"clusters": []}'
Permission denied (publickey) <br><br> * The source URL was provided by using SSH protocol, but a secret is missing or incorrect.<br><br><br> 
 Couldn't find remote ref <br><br> * The revision (branch name, tag name, commit ID) specified in the build does not exist.<br><br><br> 



 How to fix it 

Try using the following information to resolve your problem.

Whether you are running your build in the console or in the CLI, use the CLI for troubleshooting problems with your build.



1. Run the ibmcloud ce buildrun get --name BUILDRUN_NAME command to display the details of your build run.
2. Review the Reason in the command output.



After you check the logs and identify potential root causes, use the following resolution actions to help you resolve the problem.



 Resolution for a non-existent repository during build 

Use the following commands to update the existing build to reference your Git repository source and submit the build run.



1. Use the [ibmcloud ce build update](https://cloud.ibm.com/docs/codeengine?topic=codeengine-clicli-build-update) command to update the build configuration; for example,

ibmcloud ce build update --name <BUILD_NAME> --source <GIT_REPO>
2. Use the [ibmcloud ce buildrun submit](https://cloud.ibm.com/docs/codeengine?topic=codeengine-clicli-buildrun-submit) command to submit a new build run. For the buildrun submit command, you must specify the --build option to provide the name of your build configuration. You can optionally specify the --name option to provide the name for this build run.
This value is required.<br><br><br><br> * The name must begin and end with a lowercase alphanumeric character.<br> * The name must be 63 characters or fewer and can contain letters, numbers, and hyphens (-).<br><br><br> 
 --build-source The URL of the Git repository that contains your source code; for example, https://github.com/IBM/CodeEngine. 
 --build-context-dir The directory in the repository that contains the buildpacks file or the Dockerfile. This value is optional. 
 --wait Specifies to wait for the image build to complete before creating the job. 



2. (optional) Use the job get command to display information about your job, including information about the build.

ibmcloud ce job get --name myjob-repo

Example output

[...]
Name: myjob-repo
ID: abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f
Project Name: myproject
Project ID: 01234567-abcd-abcd-abcd-abcdabcd1111
Age: 2d15h
Created: 2022-04-14T16:10:11-04:00

Image: private.us.icr.io/ce--abcde-glxo4kabcde/job-myjob-repo

Resource Allocation:
CPU: 1
Memory: 4G
Registry Secrets:
ce-auto-icr-private-us-south

Runtime:
Array Indices: 0
Max Execution Time: 7200
Retry Limit: 3

Build Information:
Build Run Name: myjob-repo-run-220420-15590196
Build Type: git
Build Strategy: dockerfile-medium
Timeout: 600
Source: https://github.com/IBM/CodeEngine
Context Directory: helloworld
Dockerfile: Dockerfile
When you run the blueprint apply command, it fails with message that the install of module fails.

 Why it’s happening 

Analysis of the logs indicates that the modules Terraform apply operation that is timed out or a transient failure occurs.

 How to fix it 

No user action must be necessary to recover and the apply operation can be retried.

Run the ibmcloud schematics blueprint apply command to rerun the failed Terraform Apply operation and complete all operations against all modules.

ibmcloud schematics blueprint apply -id <blueprint_ID> 





 Blueprint apply failures that require changes to values in input files 

 What’s happening 

When you run the blueprint apply command, it fails with message that the install of module fails.

 Why it’s happening 

Analysis of the workspace logs indicates that the cause of the Terraform apply failure was due to an incorrect input value.

 How to fix it 

Update the input file source and push a new release to its Git source repository.

If explicit input file version is used with release tags for each input file release, the blueprint configuration must be updated in Schematics with the new input file release tag.

ibmcloud schematics blueprint update --id <blueprint_ID> --input-git-release x.y.z  

Where no Git release is specified and relaxed module current version is used for input files in the blueprint config. No change to the blueprint config is needed and the input file changes are pulled in automatically by Schematics.

Run the ibmcloud schematics blueprint update command to refresh the blueprint configuration with the changes. It updates the blueprint and modules with the updated input values.

ibmcloud schematics blueprint update -id <blueprint_ID> 

Finally, run the ibmcloud schematics blueprint apply command to rerun the failed Terraform Apply operation with the changed input values and complete all operations against all modules.

ibmcloud schematics blueprint apply -id <blueprint_ID> 





 Blueprint apply failures that require changes to dynamic inputs 

 What’s happening 

When you run the blueprint apply command, it fails with message that the install of module fails.
You can specify a different set of Liberty features by setting the JBP_CONFIG_LIBERTY environment variable. For example, to enable only the jsp-2.3 and websocket-1.1 features, run the command and restage the app:

ibmcloud cf set-env myapp JBP_CONFIG_LIBERTY "app_archive: {features: [jsp-2.3, websocket-1.1]}"

For best results, set the Liberty features with the JBP_CONFIG_LIBERTY environment variable or deploy your app as a [server directory](https://cloud.ibm.com/docs/cloud-foundry-public?topic=cloud-foundry-public-options_for_pushingserver_directory) or [packaged server](https://cloud.ibm.com/docs/cloud-foundry-public?topic=cloud-foundry-public-options_for_pushingpackaged_server) with a custom server.xml file. Setting this environment variable ensures that your app uses only the feature that it needs and it is not affected by the buildpack's default Liberty feature set changes. If you need to provide extra Liberty configuration beyond the feature set, use the [server directory](https://cloud.ibm.com/docs/cloud-foundry-public?topic=cloud-foundry-public-options_for_pushingserver_directory) or the [packaged server](https://cloud.ibm.com/docs/cloud-foundry-public?topic=cloud-foundry-public-options_for_pushingpackaged_server) option to deploy your app.

If you deployed a WAR file, the web app is accessible under the context root as set in the embedded ibm-web-ext.xml file. If the ibm-web-ext.xml file does not exist, or does not specify the context root, the app is accessible under the root context. For example,

http://<yourappname>.mybluemix.net/

If you deployed an EAR file, the embedded web app is accessible under the context root as defined in the EAR deployment descriptor. For example,
2021/04/05 09:44:54 Terraform apply | sshcommand = ssh -J root@52.116.124.67  root@10.241.0.6
2021/04/05 09:44:54 Command finished successfully.
2021/04/05 09:45:00 Done with the workspace action

After the plan is successfully applied, it generates an sshcommand in the Outputs section in the Terraform code. You can use this command to log in to the Spectrum LSF cluster. You can run this SSH command successfully only from systems whose IP addresses were specified in remote_allowed_ips.





 Applying a plan using the API 



1. To apply a plan by using the IBM Cloud Schematics Python APIs, create a Python file and provide a name of your choice, for example, schematics_apply_plan.py.
2. Copy and paste the [Apply a plan using Schematics Python API](https://cloud.ibm.com/docs/ibm-spectrum-lsf?topic=ibm-spectrum-lsf-applying-plan&interface=apiexample-request-apply) example request to your Python file.
3. Change the following parameters as part of the request:



* Replace your IBM Cloud API key to the authenticator = IAMAuthenticator('<ibm-api-key>') variable.
* Change the API endpoint to the endpoint mentioned in [API endpoints](https://cloud.ibm.com/apidocs/schematics?code=pythonapi-endpoints) according to the location that you want your Schematics workspace to reside, for example, schematics_service.set_service_url('https://us.schematics.cloud.ibm.com').



4. Inside the schematics_service.apply_workspace_command function, provide the following parameters:
* If you use the [ibmcloud ce app create](https://cloud.ibm.com/docs/codeengine?topic=codeengine-clicli-application-create), [ibmcloud ce job create](https://cloud.ibm.com/docs/codeengine?topic=codeengine-clicli-job-create), or [ibmcloud ce jobrun submit](https://cloud.ibm.com/docs/codeengine?topic=codeengine-clicli-jobrun-submit) command in the Code Engine CLI, specify the name of the image that is used for your application or job by using the format REGISTRY/NAMESPACE/REPOSITORY:TAG where REGISTRY and TAG are optional. If REGISTRY is not specified, the default is docker.io. If TAG is not specified, the default is latest. Review these commands for more information about the format to use to specify the image registry.



 How to fix it 

Try the following solutions to resolve your problem.



1. You are not authorized. If you do not have the permissions to access the referenced image, the application create does not complete, and an error occurs. You receive an error message that contains Unable to pull the image.



* To confirm that you can access the referenced image, verify the location of your image and confirm that you have permissions to access the image.
* Check that you added registry access to Code Engine and that you are using the correct registry secret, if the image is located in a container image registry, such as Docker Hub or IBM Cloud® Container Registry. For more information about working with images in a container image registry, see [Adding access to a private container registry](https://cloud.ibm.com/docs/codeengine?topic=codeengine-add-registry).



2. The container registry quota is exceeded.



* Check for an ImagePullBackOff error by running the [ibmcloud ce jobrun events --jobrun JOBRUN_NAME](https://cloud.ibm.com/docs/codeengine?topic=codeengine-clicli-jobrun-events) command; for example,
Working with environment variables 

Learn how to work with environment variables (env variables) in Code Engine. You can set environment variables as key-value pairs that can be used by your application or job.



 Creating and updating environment variables 

Create and manage environment variables with Code Engine.

You can define environment variables as literal values or you can reference an existing secret or configmap. Code Engine uses environment variables to enable [secrets](https://cloud.ibm.com/docs/codeengine?topic=codeengine-secret) or [configmaps](https://cloud.ibm.com/docs/codeengine?topic=codeengine-configmap) to be used by your job or application.



 Creating environment variables from the console 

Create and update environment variables with the Code Engine console.

You can define environment variables when you create your app or job, or when you update an existing app or job from the console.

Before you begin



* You must [create your project](https://cloud.ibm.com/docs/codeengine?topic=codeengine-manage-projectcreate-a-project) and the [project](https://cloud.ibm.com/codeengine/projects) must be in active status.
* Determine whether you want to create a literal environment variable or create an environment variable that references an existing secret or configmap. If you want your environment variable to fully reference an existing secret or configmap or reference individual keys in an existing secret or configmap, the secret or configmap must exist. See [create a secret](https://cloud.ibm.com/docs/codeengine?topic=codeengine-secretsecret-create-ui) or [create a configmap](https://cloud.ibm.com/docs/codeengine?topic=codeengine-configmapconfigmap-create-ui) to define your secret or configmap before proceeding.





1. To open the dialog to define your environment variable on the Add environment variable page, complete one of the following choices.
(https://cloud.ibm.com/docs/codeengine?topic=codeengine-ts-app-domain-notreadyts-app-domain-notready)

[How can I add my Code Engine app to an allowlist?](https://cloud.ibm.com/docs/codeengine?topic=codeengine-ts-allowlist-appts-allowlist-app)

[Why does my app connection fail?](https://cloud.ibm.com/docs/codeengine?topic=codeengine-ts-app-connection-failts-app-connection-fail)



* [Updating your app timeout value from the console](https://cloud.ibm.com/docs/codeengine?topic=codeengine-ts-app-connection-failts-app-timeout-console)
* [Updating your app timeout value with the CLI](https://cloud.ibm.com/docs/codeengine?topic=codeengine-ts-app-connection-failts-app-timeout-cli)



[Can I stop my app?](https://cloud.ibm.com/docs/codeengine?topic=codeengine-ts-app-stop-trafficts-app-stop-traffic)





 Troubleshooting builds 

[Debugging builds](https://cloud.ibm.com/docs/codeengine?topic=codeengine-troubleshoot-buildtroubleshoot-build)



* [Build limits to consider](https://cloud.ibm.com/docs/codeengine?topic=codeengine-troubleshoot-buildts-build-limits)
* [Getting logs for my builds](https://cloud.ibm.com/docs/codeengine?topic=codeengine-troubleshoot-buildts-build-gettinglogs)



* [Getting logs for my builds from the console](https://cloud.ibm.com/docs/codeengine?topic=codeengine-troubleshoot-buildts-build-gettinglogs-ui)
Select a value for Tag; for example, latest.
11. Click Done.
12. Modify any default values for environment variables or runtime settings. For more information about these options, see [Options for creating and running a job](https://cloud.ibm.com/docs/codeengine?topic=codeengine-job-planjob-options).
13. From the Create job page, click Create.
14. From your job page, click Submit job to submit a job based on the current configuration.



Now that you have created your job and [run your job](https://cloud.ibm.com/docs/codeengine?topic=codeengine-run-job), you can view details about your job configuration and job runs from your job page.

If you want to add registry access before you create a job, see [Accessing container registries](https://cloud.ibm.com/docs/codeengine?topic=codeengine-add-registry).





 Creating a job with an image in Container Registry with the CLI 

Create a job configuration that uses an image in IBM Cloud® Container Registry with the CLI, use the job create command. For a complete listing of options, see the [ibmcloud ce job create](https://cloud.ibm.com/docs/codeengine?topic=codeengine-clicli-job-create) command.

Before you begin



* Set up your [Code Engine CLI](https://cloud.ibm.com/docs/codeengine?topic=codeengine-install-cli) environment.
* [Create and work with a project](https://cloud.ibm.com/docs/codeengine?topic=codeengine-manage-project).
* Before you can work with a Code Engine job that references an image in Container Registry, you must first add access to the registry so Code Engine can pull the image when the job is run.
For more information about required fields, see [Required input variables](https://cloud.ibm.com/docs/devsecops-alm?topic=devsecops-alm-devsecops-alm-varsdevsecops-alm-min).
3. Optional: Specify other values from the Optional tab. For more information about optional values, see [Optional input variables](https://cloud.ibm.com/docs/devsecops-alm?topic=devsecops-alm-devsecops-alm-varsdevsecops-alm-opt).
4. Save the configuration.
5. Click Validate. Validation takes a few minutes

IBM Cloud projects run a Code Risk Analyzer scan that includes a set of [Security and Compliance Center goals](https://cloud.ibm.com/docs/code-risk-analyzer-cli-plugin?topic=code-risk-analyzer-cli-plugin-cra-cli-pluginterraform-scc-goals). Controls that are part of the deployable architecture and supported by IBM Cloud projects are checked. Any extra controls that are not included in the list of supported Security and Compliance Center goals are not checked when you validate the configuration.

If the validation fails because of the Code Risk Analyzer scan, you can [troubleshoot the failure](https://cloud.ibm.com/docs/secure-enterprise?topic=secure-enterprise-ts-na-failuresna-checks-fail).



9. Click Deploy after the validation succeeds.

Deploying the deployable architecture can take more than an hour. You are notified when the deployment is successful.

The Output tab populates a website URL in addition to other values. Copy the website URL and paste it into your browser to view the website that is created from your configuration.



During the validation and deployment process, monitor the [needs attention items](https://cloud.ibm.com/docs/secure-enterprise?topic=secure-enterprise-needs-attention-projects).