vania-janet/multiturn-rag-retrieval-data huggingface dataset:
Code Risk Analyzer is available in all IBM Cloud regions where toolchains are supported. For more information about Code Risk Analyzer, see [Code Risk Analyzer plug-in](https://cloud.ibm.com/docs/code-risk-analyzer-cli-plugin).

The cf install command for the IBM Cloud CLI is no longer available and was removed. The existing cf executable file is still available.

This image includes the following tools:

 node
v18.16.1

 npm
9.5.1

 jq
jq-1.6

 yq
yq (https://github.com/mikefarah/yq/) version v4.34.1

 kubectl
v1.25.8

 buildctl
buildctl github.com/moby/buildkit v0.11.6 2951a28cd7085eb18979b1f710678623d94ed578

 helm
v3.12.1+gf32a527

 ibmcloud
/usr/local/bin/ibmcloud version 2.17.1+5dece51-2023-06-23T17:17:15+00:00

 ibmcloud plugins
Listing installed plug-ins...

Plugin Name Version Status Private endpoints supported
cloud-functions[wsk/functions/fn] 1.0.69 false
cloud-internet-services[cis] 1.15.2 true
code-engine[ce] 1.45.0 true
container-registry[cr] 1.0.11 true
container-service[kubernetes-service/ks] 1.0.531 false
cra 1.3.7 false
doi 0.4.3 false
schematics[sch] 1.12.10 true
secrets-manager[sm] 2.0.1 true

 ibmcloud dev
3.1.0

 java
openjdk version "17.0.7" 2023-04-18
Feature flag toggle com.ibm.cloud.apprapp.feature_flag_toggle enabled <br>disabled High 







 Enabling notifications with Event Notifications 

Events that are generated by an instance of the App Configuration service can be forwarded to an Event Notifications service instance that is available in the same account. You can configure only one App Configuration instance to one Event Notifications service instance. To get started, you need:



* [Manage service access](https://cloud.ibm.com/docs/app-configuration?topic=app-configuration-ac-service-access-management) on the App Configuration service.
* [Manage service access](https://cloud.ibm.com/docs/event-notifications?topic=event-notifications-service-access-management) on the Event Notifications service. To view an existing Event Notifications service instance in your account, you also need Viewer platform access or higher.





 Connecting to Event Notifications in the UI 

Before you begin integrating Event Notifications with App Configuration, you need to [create an Event Notifications service](https://cloud.ibm.com/catalog/services/event-notifications) instance in the same account as your App Configuration instance. Make sure you have IAM role Manager for IBM App Configuration, and [IAM service-to-service authorization](https://cloud.ibm.com/docs/app-configuration?topic=app-configuration-ac-int-enac-using-auth-access-between-services1).

If you are using App Configuration CLI or API to create integration with a Event Notifications service instance, ensure that you have enabled authorization to grant access between services before integrating with Event Notifications. For more information, see [Using authorizations to grant access between services](https://cloud.ibm.com/docs/app-configuration?topic=app-configuration-ac-int-enac-using-auth-access-between-services1).

To integrate with a Event Notifications service, perform the following steps:



1. From your App Configuration service instance dashboard, click Integrations.
This tutorial shows how you can configure KMIP with VMWare solution in IBM Cloud.





 Before you begin 

To complete this tutorial, you need to meet the following prerequisites:



* [Sign up an IBM Cloud account](https://cloud.ibm.com/docs/vmwaresolutions?topic=vmwaresolutions-signing_required_accountssigning_required_accounts-cloud).
* [Provision a Standard Plan instance](https://cloud.ibm.com/docs/hs-crypto?topic=hs-crypto-provision&interface=uiprovision-standard).
* [Initialize your Hyper Protect Crypto Services instance](https://cloud.ibm.com/docs/hs-crypto?topic=hs-crypto-initialize-hsminitialize-hsm).
* [Create your Hyper Protect Crypto Services root key](https://cloud.ibm.com/docs/hs-crypto?topic=hs-crypto-get-startedmanage-keys).
* [Order a KMIP for VMware® instance](https://cloud.ibm.com/docs/vmwaresolutions?topic=vmwaresolutions-kmip_standalone_ordering).







 Task flow 

To complete this solution, we'll walk through the following steps:



1. [Grant the service-to-service authorization in IAM](https://cloud.ibm.com/docs/hs-crypto?topic=hs-crypto-tutorial-kmip-vmwaretutorial-kmip-s2s).
2. [Configure KMIP for VMWare with Hyper Protect Crypto Services instance](https://cloud.ibm.com/docs/hs-crypto?topic=hs-crypto-tutorial-kmip-vmwaretutorial-kmip-configure).
3.
Other products that connect to IBM MQ typically provide a mechanism for configuring this setting using their own administrative interfaces;



* IBM AppConnect Enterprise disables compatibility mode by default and so there are no problems connecting to queue managers in the MQ on Cloud service as [described in this blog post](https://developer.ibm.com/integration/blog/2018/09/28/support-ibm-mq-cloud-ibm-app-connect/)
* IBM DataPower provides an option to set the MQCSP User ID and MQCSP Password Alias as [described here](https://www.ibm.com/support/knowledgecenter/en/SS9H2Y_7.5.0/com.ibm.dp.doc/mq_configuringanmqqueuemanager.html)
* IBM MessageHub does not expose the compatibility mode as a configuration option and so an update should be made by IBM to allow connections from MessageHub to queue managers running in the MQ on Cloud service







 Second Explanation 

Administrator credentials and Application credentials have different levels of authorization and are therefore not interchangable. The Administrator credentials can be used to:



* Connect to the queue manager using the MQ Web Console
* Connect to the queue manager using MQ Explorer
* Connect to the queue manager using runmqsc
* Connect to the queue manager using the Administrative REST APIs
* Connect to the queue manger using a client configured to use the CLOUD.ADMIN.SVRCONN channel



The Application credentials can be used to:



* Connect to the queue manager using the messaging REST APIs
* Connect to the queue manger using a client configured to use the CLOUD.APP.SVRCONN channel







 Second Solution 

If performing MQ administrative tasks use Administrator credentials

If connecting a client application use Application credentials







 Client application or queue manager cannot connect to a newly created channel 

While attempting to connect a client application or queue manager to your IBM MQ on Cloud queue manager via a channel you have recently created you receive a return code of MQRC_NOT_AUTHORIZED (2035) and the client cannot connect. Additionally, an error message is outputted with title AMQ9777E: Channel was blocked.
In your resource definition, specify the provider configuration that you want to use. If you do not specify a provider, the default provider configuration is used.

resource "ibm_container_cluster" "cluster" {
provider = ibm.east
...
}







 Configuring non-default cloud service endpoints 

The IBM Cloud Provider plug-in for Terraform can be configured to use non-default IBM Cloud service endpoints.

Support for using non-default IBM Cloud service endpoints is offered as best effort. Individual Terraform resources might require compatibility updates to support the declaration of custom service endpoints.

The steps that are involved in configuring your IBM Cloud Provider plug-in for Terraform on IBM Cloud to use the private Cloud Service Endpoint (CSE) of an IBM Cloud service in public CSE in [Production environment](https://cloud.ibm.com).



1. Set up the Terraform on IBM Cloud engine and an IBM Cloud Provider plug-in, in IBM Cloud virtual machine by using private VLAN. And provision the enabled Virtual Routing and Forwarding (VRF) account.
2. Export the environment variables that are listed in the table to your local machine. For more information, about supported private Cloud Service Endpoints for each IBM Cloud service to support in production, see [Use service endpoints](https://cloud.ibm.com/docs/account?topic=account-vrf-service-endpoint).
3. Initialize the Terraform on IBM Cloud command line to load the environment variables that you set.

terraform init





Terraform on IBM Cloud environment variables

 Service Environment variable key Private service endpoint 

 Account management IBMCLOUD_ACCOUNT_MANAGEMENT_API_ENDPOINT N/A 
 API Gateway IBMCLOUD_API_GATEWAY_ENDPOINT N/A 
 Certificate manager IBMCLOUD_CERTIFICATE_MANAGER_API_ENDPOINT N/A 
 Cloud Foundry IBMCLOUD_MCCP_API_ENDPOINT N/A 
 Cloud functions IBMCLOUD_NAMESPACE_API_ENDPOINT N/A 
 CIS IBMCLOUD_CIS_API_ENDPOINT N/A
Creating Function workloads with inline code 

You can create your function with inline code. Your code is stored with your function. You can create this type of function from the console or with the CLI.



 Creating a function with inline with the console 

Create a function with inline code with the console.



1. Open the [Code Engine](https://cloud.ibm.com/codeengine/overview) console.
2. Select Start creating.
3. Select a project from the list of available projects. You can also [create a new one](https://cloud.ibm.com/docs/codeengine?topic=codeengine-manage-projectcreate-a-project). You must have a selected project to create a function.
4. Select Functions.
5. Enter a name for the function; for example, hellofun. Use a name for your function that is unique within the project.
6. From the Main settings, choose a runtime. You can also set resources and optional settings.
7. Click Create.
8. In the Configuration section, paste in your function code.
9. Click Save.



You can invoke your function by clicking Test function and then Send request.

You can save the code that was used to create any inline function by running the function get command with the --save options. For example, ibmcloud ce function get --name hellofun --save hellofun2.js.





 Creating a function with inline code with the CLI 

Create a function with inline code with the CLI by using the ibmcloud ce function create command. For a complete listing of options, see the [ibmcloud ce function create](https://cloud.ibm.com/docs/codeengine?topic=codeengine-clicli-function-create) command.

Before you begin



* Set up your [Code Engine CLI](https://cloud.ibm.com/docs/codeengine?topic=codeengine-install-cli) environment.
[External link icon](https://cloud.ibm.com/docs-content/v1/content/adc643f3bedeea02b638bc1c34732852dcb40a45/icons/launch-glyph.svg)](https://cloud.ibm.com/functions/actions) page, search for the action that you want to change.
2. From the overflow menu for that action, select Manage Action.
3. Edit your code by toggling between Edit and View modes. You can test your code by clicking Invoke.
4. Change your runtime by selecting Runtime from the navigation menu and selecting your new runtime.
5. When you are finished making changes, save your action.









 Binding parameters to actions 

You can bind parameters to actions to set default parameters. Bound parameters serve as the default parameters for actions unless parameters are supplied at invocation.

Before you begin, [create the action](https://cloud.ibm.com/docs/openwhisk?topic=openwhisk-actionsactions_cli).

To bind the parameters:



1. Update an action and bind the default parameters to it.

ibmcloud fn action update <action_name> --param <parameter_name> <parameter_value>

Example

ibmcloud fn action update MyApp --param name World

Example output

ok: updated action MyApp

If you modify your non-service credential parameters, running an action update command with new parameters removes any parameters that currently exist but are not specified in the action update command. For example, if you run action update -p key1 new-value -p key2 new-value but omit any other parameters that were set, those parameters no longer exist after the action is updated. Any services that were bound to the action are also removed. If you bound a service, you must [bind the services to your action](https://cloud.ibm.com/docs/openwhisk?topic=openwhisk-services) again.
2.
: See [CLI version history](https://cloud.ibm.com/docs/codeengine?topic=codeengine-cli_versions).





 05 July 2023 

Added support for the scale-down delay autoscaling option in the console
: See [Configuring application scaling](https://cloud.ibm.com/docs/codeengine?topic=codeengine-app-scale).

Added information about details to provide when you report a support case
: See [Providing support case details](https://cloud.ibm.com/docs/codeengine?topic=codeengine-get-supportsupport-case-details).







 June 2023 

Review the release notes for June 2023.



 29 June 2023 

New! Function support in Code Engine
: 

* [Get an overview of Functions](https://cloud.ibm.com/docs/codeengine?topic=codeengine-cefunctions).



: 

* [Take a tutorial](https://cloud.ibm.com/docs/codeengine?topic=codeengine-fun-tutorial).



: 

* [Dive deeper into Functions](https://cloud.ibm.com/docs/codeengine?topic=codeengine-fun-work).



CLI version 1.45.0 released
: This CLI version adds support for the function command group to manage Code Engine Functions with the CLI. See [CLI version history](https://cloud.ibm.com/docs/codeengine?topic=codeengine-cli_versions).





 23 June 2023 

Added summary information for getting started with apps and batch jobs in Code Engine
: 

* See [Application workloads](https://cloud.ibm.com/docs/codeengine?topic=codeengine-ceapplications).



: 

* See [Batch job workloads](https://cloud.ibm.com/docs/codeengine?topic=codeengine-cebatchjobs).
},
]
}
};

s3.putBucketLifecycleConfiguration(params, function(err, data) {
if (err) console.log(err, err.stack); // an error occurred
else console.log(data); // successful response
});
Show more

Code sample for use with Python COS SDK

Using the IBM Cloud® Object Storage SDKs only requires calling the appropriate functions with the correct parameters and proper configuration.

import sys
import ibm_boto3
from ibm_botocore.client import Config

api_key = "ZRZDoNoUseOLL7bRO8SAMPLEHPUzUL_-fsampleyYE"
service_instance_id = "85SAMPLE-eDOb-4NOT-bUSE-86nnnb31eaxx"
auth_endpoint = "https://iam.cloud.ibm.com/identity/token"
service_endpoint = "https://s3.us-south.cloud-object-storage.appdomain.cloud"

cos = ibm_boto3.resource('s3',
ibm_api_key_id=api_key,
ibm_service_instance_id=service_instance_id,
ibm_auth_endpoint=auth_endpoint,
config=Config(signature_version='oauth'),
endpoint_url=service_endpoint)

response = cos.Bucket('<name-of-bucket>').put_bucket_lifecycle_configuration(
Bucket='string',
LifecycleConfiguration={
'Rules': [
{
'Status': 'Enabled',
'Filter': {},
'AbortIncompleteMultipartUpload': {
'DaysAfterInitiation': <NUMBER_VALUE>
}
},
]
}
)

print("Bucket lifecyle: {0}".format(response))
Learn about the options that you can specify when you create your Function. Note that options can vary between the console and the CLI.



 Memory and CPU 

When you deploy your Function, you can specify the amount of memory and CPU that your Function can consume. These amounts can vary, depending on if your app is compute-intensive, memory-intensive, or balanced.

By default, your Function is assigned 4 G of memory and .5 vCPU. For more information about selecting managed memory and CPU combinations, see [Runtimes](https://cloud.ibm.com/docs/codeengine?topic=codeengine-fun-runtime). For more information about other supported memory and CPU combinations, see [Supported memory and CPU combinations](https://cloud.ibm.com/docs/codeengine?topic=codeengine-mem-cpu-combo).





 Creating and running your app with environment variables 

You can define and set environment variables as key-value pairs that can be used by your Function at run time.

You can define environment variables when you create your Function, or when you update an existing Function with the CLI.

For more information about defining environment variables, see [Working with environment variables](https://cloud.ibm.com/docs/codeengine?topic=codeengine-envvar).

Code Engine automatically injects certain environment variables into the Function. For more information about automatically injected environment variables, see [Automatically injected environment variables](https://cloud.ibm.com/docs/codeengine?topic=codeengine-inside-env-vars).





 Creating and running your Function when using secrets and configmaps 

In Code Engine, secrets and configmaps can be consumed by your Function by using environment variables.

Both secrets and configmaps are key-value pairs. When mapped to environment variables, the NAME=VALUE relationships are set such that the name of the environment variable corresponds to the "key" of each entry in those maps, and the value of the environment variable is the "value" of that key.
[Overview](https://cloud.ibm.com/docs-content/v1/content/f3dada89f147af3b88388a2218ddbf64b3c41e5f/app-configuration/images/ac-how-it-works.png)

Figure 1. How App Configuration works





 Operation when something goes wrong 

As with any application or cloud service, sometimes things go wrong, but IBM Cloud App Configuration continues to provide configurations even if the IBM Cloud App Configuration service is not available to your app.



 Lost connection 

If the connection is lost between your application and the IBM Cloud App Configuration service, the IBM Cloud App Configuration SDK automatically falls back to a local cache file that contains the last known good configuration (#4 in Figure 1). In cache mode, changes to configurations that occur in the cloud do not reach the app, but the configuration that existed at the time of the lost connection continue to operate normally.

As an extension of this case, assume that you need to operate your app an air-gapped environment. For that case, you can use a bootstrap config file (#5 in Figure 1). For more information, see [Enable offline mode](https://cloud.ibm.com/docs/app-configuration?topic=app-configuration-ac-offline).





 Service down 

The likelihood of the IBM Cloud App Configuration service goes down is small. App Configuration is deployed into multi-zone regions, meaning it runs across three geographically separate zones within a region. If any zone goes down, the IBM Cloud App Configuration service continues to operate normally. For more information, see [Region and data center locations for resource deployment](https://cloud.ibm.com/docs/overview?topic=overview-locations).

In cases where you need extreme disaster recovery protection that spans regions, you can set up IBM Cloud App Configuration instances in other regions and keep them in sync by using the [IBM Cloud App Configuration API](https://cloud.ibm.com/apidocs/app-configuration).
Understanding your responsibilities when using IBM Cloud Foundry 

IBM® Cloud Foundry is deprecated and no longer supported as of 1 June 2023. For more information, see the [deprecation details](https://cloud.ibm.com/docs/cloud-foundry-public?topic=cloud-foundry-public-deprecationdep_details).

Learn about the management responsibilities and terms and conditions that you have when you use IBM® Cloud Foundry. For a high-level view of the service types in IBM Cloud and the breakdown of responsibilities between the customer and IBM for each type, see [Shared responsibilities for IBM Cloud offerings](https://cloud.ibm.com/docs/overview?topic=overview-shared-responsibilities).

There are no unique responsibilities for you and for IBM when you use IBM Cloud Foundry. For the overall terms of use, see [IBM Cloud Terms and Notices](https://cloud.ibm.com/docs/overview/terms-of-use?topic=overview-terms).
Table 2. DevOps services

 Service Description Classic VPC 

 Cloud Foundry Public Deploy and manage your own Cloud Foundry platform on a Kubernetes cluster to develop, package, deploy, and manage cloud-native apps, and leverage the IBM Cloud ecosystem to bind additional services to your apps. When you create an Cloud Foundry Public instance, you must configure your Kubernetes cluster by choosing the flavor and VLANs for your worker nodes. Your cluster is then provisioned with IBM Cloud Kubernetes Service and Cloud Foundry Public is automatically deployed to your cluster. For more information about how to set up Cloud Foundry Public, see the [Getting started tutorial](https://cloud.ibm.com/docs/cloud-foundry-public?topic=cloud-foundry-public-getting-started). Yes 
 Codeship You can use [Codeship](https://www.cloudbees.com/products/codeship) for the continuous integration and delivery of containers. For more information, see [Using Codeship Pro To Deploy Workloads to IBM Cloud Kubernetes Service](https://www.ibm.com/cloud/blog/using-codeship-pro-deploy-workloads-ibm-container-service). Yes Yes 
 Grafeas [Grafeas](https://grafeas.io) is an open source CI/CD service that provides a common way for how to retrieve, store, and exchange metadata during the software supply chain process. For example, if you integrate Grafeas into your app build process, Grafeas can store information about the initiator of the build request, vulnerability scan results, and quality assurance sign-off so that you can make an informed decision if an app can be deployed to production. You can use this metadata in audits or to prove compliance for your software supply chain. Yes Yes 
 Helm [Helm](https://helm.sh) is a Kubernetes package manager. You can create new Helm charts or use preexisting Helm charts to define, install, and upgrade complex Kubernetes applications that run in IBM Cloud Kubernetes Service clusters.
Working with a proxy 

IBM® Cloud Foundry is deprecated and no longer supported as of 1 June 2023. For more information, see the [deprecation details](https://cloud.ibm.com/docs/cloud-foundry-public?topic=cloud-foundry-public-deprecationdep_details).

In some environments a proxy might be configured that affects the behavior of your app during staging and run time.

You can configure your app to work with the proxy by using the following environment variables:



* [http_proxy](https://docs.cloudfoundry.org/buildpacks/proxy-usage.html)
* [https_proxy](https://docs.cloudfoundry.org/buildpacks/proxy-usage.html)
* [no_proxy](http://www.gnu.org/software/wget/manual/html_node/Proxies.html)



You can set these environment variables using ibmcloud app env-set or using the manifest.yml file. Depending on how you configure your proxy environment variables, if your app downloads resources from the internet during staging, your resources might download using the proxy. For example, if you have a Node.js app in an environment with http_proxy set to yourProxyURL and you want to allow npm to download modules from the internet but not the proxy. To download without using the proxy, set no_proxy to npmjs.org.

You might want your app to use the proxy during runtime, after staging. Runtime proxy use is entirely dependent on the app and is not affected by either the buildpack or the proxy environment variables.



 Java apps 

For [Liberty for Java](https://cloud.ibm.com/docs/cloud-foundry-public?topic=cloud-foundry-public-liberty_runtime) and the [java_buildpack](https://cloud.ibm.com/docs/cloud-foundry-public?topic=cloud-foundry-public-getting-started-tomcat) apps, the proxy settings can be passed to the runtime via the JAVA_OPTS environment variable.