vania-janet/multiturn-rag-retrieval-data huggingface dataset:
: Access VPN monitoring metrics by using [Monitoring VPN for VPC metrics](https://cloud.ibm.com/docs/vpc?topic=vpc-sysdig-monitoring-metrics).







 June 2020 



 26 June 2020 

Dedicated hosts (Beta)
: In a limited beta, use dedicated hosts to carve out a single-tenant compute node. For more information, see [Creating dedicated hosts and groups (Beta)](https://cloud.ibm.com/docs/vpc?topic=vpc-creating-dedicated-hosts-instances).





 19 June 2020 

Updated custom images information
: A new [Planning for custom images](https://cloud.ibm.com/docs/vpc?topic=vpc-planning-custom-images) checklist is available. The procedure for migrating a virtual server instance from classic infrastructure to IBM Cloud VPC is enhanced. For more information, see [Migrating a virtual server from the classic infrastructure](https://cloud.ibm.com/docs/vpc?topic=vpc-migrate-vsi-to-vpc).

UI Enhancements
: Added pagination for the security groups list table
: On the VPN Provision page, select a subnet from a table or create subnets
: New "upgrade pending" button if a user account is pending upgrade

New SDK
: The [Go SDK](https://cloud.ibm.com/apidocs/vpc?code=go) is now generally available.





 02 June 2020 

IBM Cloud Virtual Servers for VPC on POWER service is deprecated
: As of 02 June 2020, you cannot provision new instances. Any instance that is still provisioned as of 22 August 2020 will be deleted. For more information, see the [End of Service Announcement for Virtual Servers for VPC on POWER](https://www.ibm.com/cloud/blog/announcements/end-of-service-announcement-for-virtual-servers-for-vpc-on-power).







 May 2020 



 21 May 2020 

Auto scale for VPC (Beta)
* runmqsc -c -u <ADMIN_MQ_USER> -w60 <QUEUE_MANAGER_NAME>



* <ADMIN_MQ_USER> - this is 'mqUsername' in the file coordinationQMgrConnectionDetails.json
* <QUEUE_MANAGER_NAME> - this is 'queueManagerName' in the file coordinationQMgrConnectionDetails.json
* -c informs runmqsc it should connect to a remote queue manager using the MQSERVER variable



* e.g.- runmqsc -c -u mamgainp -w60 QM_COORD



3.3. The terminal will prompt you for a Password



* This is your <ADMIN_API_KEY> = 'apiKey' in the file platformApiKey.json



3.4. Terminal will now be waiting for input

3.5. Create the MQ objects required by the queue manager to work as an agent queue manager that targets your MQ on Cloud Queue Manager.



* A mqsc file will be created at location MQ_DATA_PATHmqftconfigcoordination_qmgr_nameagentsagent_nameagent_name_create.mqsc. You should copy and paste the content of this file into your terminal 1.



3.6. Start the agent created above using following command



* fteStartAgent -p <configurationOptions> <agentName> where



* configurationOptions - by convention this is the name of a coordination queue manager
* agentName - Required. name of the IBM MQ Managed File Transfer agent to start.



* e.g.- fteStartAgent -p QM_COORD DEST_AGENT



4. Now both of your newly created agents should be in Active/Ready state. To check there status execute.



* fteListAgents -p <configurationOptions>



* configurationOptions - by convention this is the name of a coordination queue manager



* e.g.- fteListAgents -p QM_COORD



!
The specified subnets must be in the same VPC as the load balancer's current subnets. If the update requires moving your load balancer to a different zone, its provisioning_status will change to migrate_pending until the move is complete. For more information, see [Updating subnets for Application Load Balancers for VPC](https://cloud.ibm.com/docs/vpc?topic=vpc-alb-updating-subnets&interface=api).

Verify that any clients retrieving the provisioning_status property will gracefully handle unknown values. For example, a client might bypass the load balancer, log a message, or halt processing and surface an error.

Because the subnets property is an array, the specified value will replace the load balancer's existing array of subnets. To guard against concurrent updates, you must provide the resource's current ETag using the If-Match header. For guidance on the use of ETags, see [Concurrent update protection](https://cloud.ibm.com/apidocs/vpc/latestconcurrent-update-protection).





 For version 2022-09-13 or later 

Load balancer DELETE response code change. For requests using a version query parameter of 2022-09-13 or later, all load balancer DELETE methods will return an HTTP response code of 202 upon success:



* [Delete a load balancer](https://cloud.ibm.com/apidocs/vpc/latestdelete-load-balancer)
* [Delete a load balancer listener](https://cloud.ibm.com/apidocs/vpc/latestdelete-load-balancer-listener)
* [Delete a load balancer listener policy](https://cloud.ibm.com/apidocs/vpc/latestdelete-load-balancer-listener-policy)
* [Delete a load balancer listener policy rule](https://cloud.ibm.com/apidocs/vpc/latestdelete-load-balancer-listener-policy-rule)
Identify your buckets in the data centers that are set to close through viewing your COS UI buckets page. Also, [Extended listing](https://cloud.ibm.com/docs/cloud-object-storage?topic=cloud-object-storage-compatibility-api-bucket-operationscompatibility-api-list-buckets-extended) can be used for this purpose, as it will return 'LocationConstraint' values that indicate the location in addition to the storage class of a bucket. For more information, contact the Client Success team [Live chat](https://www.ibm.com/cloud/data-centers/?focusArea=WCP%20-%20Pooled%20CSM&contactmodule).
2. Migrate your data to the new destination bucket [using Rclone](https://cloud.ibm.com/docs/services/cloud-object-storage?topic=cloud-object-storage-region-copy).
3. To avoid being double billed for data in your old and new buckets, [empty your old buckets](https://cloud.ibm.com/docs/cloud-object-storage?topic=cloud-object-storage-deleting-multiple-objects-patterns) and delete them.





 Identifying buckets that require migration 

You can use the IBM Cloud CLI to identify buckets located in a given location.



1. First, ensure you have both the [IBM Cloud CLI](https://cloud.ibm.com/docs/cli) and [COS plug-in](https://cloud.ibm.com/docs/cloud-object-storage?topic=cloud-object-storage-cli-plugin-ic-cos-cli) installed.
2. After you are logged into the CLI, you can use the ibmcloud cos buckets-extended command to list all of the buckets in a given instance.
3. You can filter the results using grep. For example, ibmcloud cos buckets-extended | grep mon01 will return all buckets that are located in the mon01 single data center.
Access Control List 

The Secure Gateway client provides embedded Access Control List (ACL) support. You can allow or restrict (deny) access to on-premises resources by making modifications to the ACL for the client. This can be done interactively using the client commands or specifying a file that contains the ACLs you want to have in affect.

Starting with v1.5.0, Access Control List rules will be synchronized across all clients connected to the same gateway. With this, you only need to establish/update your ACL from a single client and it will be shared across all running clients connected to that gateway. The ACL will also persist across sessions, such that connecting a new client will also apply the same ACL rules.



 Access Control List commands 

The supported ACL commands are:

acl allow [<hostname>]:[<port>]
acl deny [<hostname>]:[<port>]
no acl [<hostname>]:[<port>]
no acl
show acl

The forms where you have left out either a hostname or port this implies all hostnames or ports. For example, the following is an ACL rule to allow all hostnames for port 22.

acl allow :22

The following is another example ACL rule to allow all hostnames for all ports, essentially disabling ACL support. This is not recommended.

acl allow :

The show acl command will show the currently set ACL or provide a message on the overall setting.

Return to [Getting Started - Adding a Client](https://cloud.ibm.com/docs/services/SecureGateway?topic=SecureGateway-add-client).





 HTTP/S Route Control using the ACL 

Starting with v1.6.0, HTTP/S destinations can also enforce specific routes on the ACL entries. These are added the same way as the typical ACL entries, but with the path appended to the end of the rule. For example, the following will allow only requests following the /my/api path to pass through:

acl allow localhost:80/my/api
No such host message when configuring an Event Streams target 

When attempting to create an IBM Cloud Activity Tracker Event Routing event_streams target using the CLI, you are unable to do so and are getting errors indicating there is no such host.

  What’s happening 

Your CLI command return a message similar to: Error: Post "https://xx-xx.atracker.cloud.ibm.com/api/v2/targets": dial tcp: lookup xx-xx.atracker.cloud.ibm.com: no such host.

  Why it’s happening 

You are attempting to configure a target in a region that is not supported. For example, by specifying --region xx-xx on the command.

  How to fix it 

[Specify a supported region](https://cloud.ibm.com/docs/atracker?topic=atracker-regions) and retry your CLI command.
Run a job 

This tutorial walks you through the steps to use a program to run a job on an IBM Quantum computer and return the job status.



 Before you begin 

You need a circuit to submit to the program. To learn how to create circuits by using Qiskit, see the [Circuit basics tutorial](https://qiskit.org/documentation/tutorials/circuits/01_circuit_basics.html).





 Step 1: Run the job 

You will use the Qiskit Runtime QiskitRuntimeService.run() method, which takes the following parameters:



* program_id: ID of the program to run.
* inputs: Program input parameters. These input values are passed to the runtime program and depend on the parameters that are defined for the program.
* options: Runtime options. These options control the execution environment. Currently, the only available option is backend_name, which is optional. If you do not specify a backend, the job is sent to the least busy device that you have access to.
* result_decoder: Optional class used to decode the job result.



In the following example, we submit a circuit to the Sampler program:

from qiskit_ibm_runtime import QiskitRuntimeService, Session, Options, Sampler
from qiskit import QuantumCircuit

service = QiskitRuntimeService()
options = Options(optimization_level=1)

bell = QuantumCircuit(2)
bell.h(0)
bell.cx(0, 1)
bell.measure_all()

 Execute the Bell circuit
with Session(service=service, backend="ibmq_qasm_simulator"):
sampler = Sampler(options=options)
job = sampler.run(circuits=bell)
print(job.result())

 You can invoke run() multiple times.
job = sampler.run(circuits=bell)
print(job.result())
Show more
You can specify your Atoms to be optional and repeating, and specify token gaps between Atoms.

The pattern specification is part of a larger AQL statement, which includes an extract clause.

Here is a simple example of how to create a view that contains three adjacent matches from earlier defined views. In this example, the entire combination is returned, which is what group 0 refers to:

create view Money as
extract pattern <C.match> <N.match> <Q.match>
return group 0 as match
from Currency C, Number N, Quantifier Q;

If your Atoms do not need to be exactly adjacent to each other, then you can use token gaps between the Atoms to allow for more matches. This example finds mentions of persons that follow within 0 to 2 tokens by a phone number. Notice the <Token>{0,2} construct, which indicates that a gap of 0 to 2 tokens between the person and phone annotations is allowed.

create view Phone as
extract regex /(d{3})-(d{3}-d{4})/
on between 4 and 5 tokens in D.text
return
group 1 as areaCode
and group 2 as restOfNumber
and group 0 as fullNumber
from Document D;
create view PersonPhone as
extract
pattern (<P.name>) <Token>{0,2} (<Ph.fullNumber>)
return group 0 as match
and group 1 as person
and group 2 as phone
from Person P, Phone Ph;

Token gap constructs are restricted to occur within sequence expressions. Also, each token gap in a sequence must be preceded and followed by a "non-token gap" expression. As a result, extract pattern statements produce exceptions:

-> pattern consisting only of a token gap is an error
extract pattern <Token> as match from ...
-> pattern beginning with a token gap is an error
extract pattern <Token> {0,2} <Ph.phone> as match from ...
-> pattern ending with a token gap is an error
extract pattern <P.name> <Token> ?
What is Cloud Directory? 

With IBM Cloud® App ID, you can allow your users to sign up directly from your mobile or web app and sign in with their email and password. You can use Cloud Directory to create a scalable user registry that uses pre-built functions to enhance security and self-service.



 Cloud Directory Features 

Cloud Directory hosts many features that you can use to manage the experience and security of the users of your app. With Cloud Directory, you can:



* Enhance the security of your app with email verification.
* Allow greater user control with default sign-up and sign-in widget and flows.
* Brand your app with custom UIs and flows.
* Gather deeper user insights by integrating App ID with your own mail provider.





 Enhance security with email verification 

To sign up your users, you can use the pre-built [email verification](https://cloud.ibm.com/docs/appid?topic=appid-cd-types) flow that comes with Cloud Directory. If you enable email verification on the settings page, the users who sign-up for your app must verify their email. After they signed up, you can allow your users to have limited interactions with your app until they verify their email address.





 Allow greater user control with default sign-up and sign-in widget and flows 

App ID provides a default sign-up and sign-in widget with pre-built user flows, such as reset password and email verification. By default, Cloud Directory is available to your users through the Login Widget, in addition to Facebook and Google. You can choose which identity providers you want to configure at any time. For more information, see [Using the Login Widget](https://cloud.ibm.com/docs/appid?topic=appid-login-widget).

In the Cloud Directory dashboard, you can [configure the level of self-service](https://cloud.ibm.com/docs/appid?topic=appid-cd-users) you want to allow in your application. You can use the Cloud Directory APIs and dashboard to allow users to change their account details and password through App ID's prebuilt screens for those functions.
You can set an access policy for a service ID by using the IAM console.



1. Open the [IAM Service ID page](https://cloud.ibm.com/iam/serviceids).
2. In the Service IDs list, select your Cloud Functions namespace.
3. On the Manage page, click Access policies, then click Assign access.
4. Next, select an Access Type. You can choose from the following options.



* Assign access within a resource group: Use this option to grant your Cloud Functions service ID access to a resource group.
* Assign access to resources: Use this option to grant your Cloud Functions service ID access to a specific resource, like an instance of IBM Cloud Object Storage.
* Assign access to account management services: Use this option to grant your Cloud Functions service ID access to account management services such as billing, user management, and more.









 Setting an access policy for your Cloud Functions service ID through the CLI 

Set an access policy for a service ID by using the CLI.

Copy the following command. Replace <namespace_service_ID> with the name of your Cloud Functions namespace. Replace <IAM_role1,IAM_role2> with the IAM roles you want to assign to your namespace. Replace <other_service_name> with the name of the IBM service you want Cloud Functions to work with. Replace <other_service_GUID> with the GUID of the IBM service instance.

ibmcloud iam service-policy-create <namespace_service_ID> --roles <IAM_role1,IAM_role2> --service-name <other_service_name> --service-instance <other_service_GUID>



Table 1. Understanding the command components

 Option Description 

 <namespace_service_ID> The service ID for the namespace. To see all service IDs, run ibmcloud iam service-ids. 
 <IAM_role> The type of IAM service access role that the action must have to use the target service. To see the supported roles for the other service, run ibmcloud iam roles --service SERVICE_NAME.
Window functions 

Classic SQL aggregation functions like SUM(), MAX(), or MIN() process a group of rows to derive a single value. Window functions take this one step further by allowing to process a group of rows and derive a single value for each row in the group. Note the difference to scalar functions that return a single value for each row. Scalar functions derive a single value from a single row and not a group of rows.

With window functions, it is possible to calculate things like moving averages or cumulative sums.

Working with window functions involves two steps:



1. Choose a window function to answer the question of interest.
2. Define a window the chosen window function is applied to.



The three types of window functions are:



* Ranking functions, for example, rank(), ntile(), or rowNumber()
* Analytic functions, for example, cume_dist(), first_value(), or last_value()
* Aggregation functions, for example, sum(), max(), or min()



For more information, see [SQL functions](https://cloud.ibm.com/docs/sql-query?topic=sql-query-sqlfunctionssqlfunctions).

A window can be defined in two ways:



* With the WINDOW keyword, you can define an identifier for a window specification in a fullselect or simpleselect. This named window specification can then be referenced by the OVER keyword.
* Unnamed window specifications can be defined inline following the keyword OVER in a fullselect or simpleselect.



The syntax of a window specification is defined by the following syntax diagrams.





 namedWindows 





 namedWindow 





 windowSpec 





 windowClusterBy 





 windowPartitionBy 





 windowOrderBy 

The window specification consists of the following clauses:



* The PARTITION BY clause defines which rows belong to the same window partition. DISTRIBUTE BY can be used as a synonym for PARTITION BY.
* The ORDER BY clause defines the ordering of rows within a window partition. SORT BY can be used as a synonym for ORDER BY.
* The two ways to define a window size are:
Debugging functions 

Use the troubleshooting tips to learn how to troubleshoot IBM Cloud® Code Engine functions.



  Function limits to consider 

When you create functions, you must consider the [Function limits](https://cloud.ibm.com/docs/codeengine?topic=codeengine-limitslimits_functions).

When you work with applications, functions, and batch jobs, these resources run within the context of a Code Engine project. Resource quotas are defined on a per project basis, and limits apply for applications, functions, and batch jobs.

For more information about Code Engine limits, see [Limits and quotas for Code Engine](https://cloud.ibm.com/docs/codeengine?topic=codeengine-limits).





  Getting logs for my function 

Logs can be helpful to troubleshoot problems when you run functions. You can view function logs from the console.

When you view logs from the console, you must create an IBM Log Analysis instance in the same region as your Code Engine project. You are not required to create this instance before you work with your Code Engine function. Code Engine makes it easy to enable logging for your functions. You can view function logs after you add logging capabilities. For more information, see [viewing function logs from the console](https://cloud.ibm.com/docs/codeengine?topic=codeengine-view-logsview-funlogs-ui).





  Keep your runtime and CLI versions up to date 

Verify that your runtime is supported. See [Runtimes](https://cloud.ibm.com/docs/codeengine?topic=codeengine-fun-runtime).





  Additional topics 

You can find more help in the following topics.



*  [Troubleshooting overview](https://cloud.ibm.com/docs/codeengine?topic=codeengine-troubleshooting_over).
*  [Debugging builds](https://cloud.ibm.com/docs/codeengine?topic=codeengine-troubleshoot-build).
Working with the spatio-temporal library 

You can use the spatio-temporal library to expand your data science analysis in Python notebooks to include location analytics by gathering, manipulating and displaying imagery, GPS, satellite photography and historical data.

You can use the spatio-temporal lib for applications that run in a standalone IBM Analytics Engine cluster, which you create for your data analysis processing, or in solutions that use IBM Analytics Engine, for example in the Spark environments available in IBM Watson® Studio.



 Key functions 

The geospatial library includes functions to read and write data, topological functions, geohashing, indexing, ellipsoidal and routing functions.

Key aspects of the library include:



* All calculated geometries are accurate without the need for projections.
* The geospatial functions, when run in IBM Analytics Engine standalone or in a solution that uses IBM Analytics Engine take advantage of the distributed processing capabilities provided by Spark.
* The library includes native geohashing support for geometries used in simple aggregations and in IBM Cloud Object Storage indexing, whereby improving storage retrieval considerably.
* The library supports extensions of Spark distributed joins.
* The library supports the SQL/MM extensions to Spark SQL.







 Getting started with the library 

Before you can start using the library in a notebook, you must register STContext in your notebook to access the st functions.

To register STContext:

from pyst import STContext
stc = STContext(spark.sparkContext._gateway)





 Next steps 

After you have registered STContext in your notebook, you can begin exploring the spatio-temporal library for:



* [Functions to read and write data](https://cloud.ibm.com/docs/AnalyticsEngine?topic=AnalyticsEngine-read-write-data)
* [Topological functions](https://cloud.ibm.com/docs/AnalyticsEngine?topic=AnalyticsEngine-topological-functions)
* [Geohashing functions](https://cloud.ibm.com/docs/AnalyticsEngine?topic=AnalyticsEngine-geohashing-functions)
If you selected to create a JavaScript or TypeScript contract, the extension builds a basic smart contract by using the fabric-contract-api with a series of functions that manage your example asset. For example, if you selected bond, you can find the functions of createBond, updateBond, readBond, bondExists, and deleteBond.
* A test file.
* The accompanying smart contract dependencies.





 Do I need to update my smart contract for Fabric v2.x? 

Although support for Fabric 2.0 networks was added to the platform, you can still run your existing smart contracts on your peers that run a v1.4 image on a channel with an application capability level of 1.4 or lower. Should you later decide to upgrade your peer to a v2.x image and update your channel application capability level to 2.0, you may need to update your existing smart contract. However, after you upgrade your peer image to v2.x and channel application capability v2.x, there is no longer a way to update the original smart contract. Instead, when an update is required, you need to repackage the smart contract in the new .tar.gz or .tgz format using v2 of the VS Code extension and then propose the definition to the channel using the new smart contract lifecycle process.

Review the following considerations:

Node

If your smart contract was written in Node, then you might need to update it. By default, a Fabric v1.4 peer will create a Node v8 runtime, and a Fabric v2.x peer creates a Node v12 runtime. In order for a smart contract to work with Node v12 runtime, the fabric-contract-api and fabric-shim node modules must be at v1.4.5 or greater. If you are using a smart contract that was originally written to work with Fabric 1.4, update the Node modules by running the following command before deploying the smart contract on a Fabric v2.x peer. See [Support and compatibility for fabric-chaincode-node](https://github.com/hyperledger/fabric-chaincode-node/blob/main/COMPATIBILITY.md) for more information.