v5.3.6
Release Notes
On Linux/macOS you can install or update to the latest version of CLC using the following command:
curl https://hazelcast.com/clc/install.sh | bash
We provide an installer for Windows 10 and 11.
Note that this is a binary-only release.
The changes since v5.3.5 are below.
Breaking Changes
script
command is renamed toscript run
.- Project creator uses the
defaults
field intemplate.yaml
instead of thedefaults.yaml
. - Template name is optional with
clc project create
command. A selector is displayed if the template name is not specified. clc viridian download-logs
command outputs all log paths instead of the parent directory.- The behaviour of
clc compact serializer
was improved. multi-map
is renamed tomultimap
.atomic-long
was renamed toatomiclong
.- Advanced script time duration constants were renamed to the corresponding uppercase name:
NANOSECOND
MICROSECOND
MILLISECOND
SECOND
MINUTE
HOUR
DAY
New Features
AtomicRef Support
Added the following atomicreference
commands:
clear
compare-and-set
contains
destroy
get
get-and-set
is-null
set
The following advanced script functions are also supported:
atomicreference_clear(name='default')
atomicreference_compare_and_set(expected:any, value:any, name='default')
atomicreference_contains(value:any, name='default')
atomicreference_destroy(name='default')
atomicreference_get(name='default')
atomicreference_get_and_set(value:any, name='default')
atomicreference_is_null(name='default')
atomicreference_set(value:any, name='default')
Viridian Advanced Script Functions
Added the viridian_api
type.
Create an instance using Viridian(API_KEY)
.
The type has the following methods:
create_cluster(name:string, development=False, prerelease=False, wait=False) -> Cluster
list_clusters() -> list(Cluster)
delete_cluster(cluster:id | name | Cluster)
get_cluster(cluster:id | name | Cluster) -> Cluster
import_config(cluster:id | name | Cluster, name='') -> path
stop_cluster(cluster:id | name | Cluster, wait=False)
resume_cluster(cluster:id | name | Cluster, wait=False)
list_custom_classes(cluster:id | name | Cluster) -> list(Class)
upload_custom_class(cluster:id | name | Cluster, path:string, wait=False)
download_custom_class(cluster:id | name | Cluster, artifact:any, output_path:string) -> path
delete_custom_class(cluster:id | name | Cluster, artifact_id:any, wait=False)
download_logs(cluster:id | name | Cluster, dir:string) -> list(path)
Added the viridian_cluster
type with the following attributes:
id
name
cluster_type
state
desired_state
creation_time
start_time
client_count
hot_backup_enabled
hot_restart_enabled
ip_white_list_enabled
Add viridian_custom_class
type with the following attributes:
id
name
status
temporary_id
generated_filename
Job Advanced Script Functions
job_submit(path:string, params:string*, name='', snapshot='', class_name='')
job_list(include_sql=False, include_user_cancelled=False) -> list(dict)
job_cancel(job_name_or_id:string, force=False)
job_restart(job_name_or_id:string, force=False)
job_suspend(job_name_or_id:string, force=False)
job_resume(job_name_or_id:string)
job_export_snapshot(job_name_or_id:string, name:string, cancel=False)
Snapshot Advanced Script Functions
snapshot_list() -> list(dict)
snapshot_delete(name:string)
Configuration Advanced Script Functions
config_add(config_name_or_path:string, config:dict) -> path
config_list() -> list(config_name)
List Advanced Script Functions
list_add(value:any, name='default', index=0)
list_clear(name='default')
list_contains(value:any, name='default')
list_destroy(name='default')
list_remove_index(index:int, name='default')
list_remove_value(value:any, name='default')
list_set(index:int, value:any, name='default')
list_size(name='default')
MultiMap Advanced Script Functions
multimap_clear(name='default')
multimap_destroy(name='default')
multimap_entry_set(name='default')
multimap_get(key:any, name='default')
multimap_key_set(name='default')
multimap_lock(key:any, name='default', ttl=-1)
multimap_put(key:any, value:any, name='default')
multimap_remove(key:any, name='default')
multimap_size(name='default')
multimap_try_lock(key:any, name='default', ttl=-1)
multimap_unlock(key:any, name='default')
multimap_values(name='default')
Queue Advanced Script Functions
queue_clear(name='default')
queue_destroy(name='default')
queue_offer(value:any*, name='default')
queue_poll(name='default')
queue_size(name='default')
Topic Advanced Script Functions
topic_destroy(name='default')
topic_publish(value:any+, name='default')
Other Advanvced Script Functions
object_list(dds:string?, show_hidden=False) -> list(object_name) | list(service_name, object_name)
exit(code:int)
home() -> path
version() -> string
write(value:any, location:string, format='')
read(location:string, format='default')
write_data(data:data, location:string)
read_data(location:string)
decode_data(value:data)
Other Features
- Added doc strings support to advanced scripts. All lines starting with
# doc:
are doc strings. - Added
script list
command. - Added the
sql
advanced script command. - Added the
file
template action, which can read from a file with an extension of.yaml
,.json
or.txt
. - Added the
\exit
and\echo
commands. These commands are available in the script and interactive modes. See the echo and exit command documentation. - Added
--wait
flag toviridian
commands. - Added the ability to change the interactive mode prompt and banner. See the def topic.
Improvements
clc demo map-setmany
command shows a progress bar and is faster for small values.\echo
command takes 0 or more arguments.- Viridian commands display an API key selector if more than one API keys exists.
- Viridian cluster list is paged.
Fixes
\di
command panics when indexes for a map cannot be retrieved.- Removed the extra
OK
line inconfig list
. - Restored the
--format
flag tohome
andversion
commands. - Fixed column names produced by advanced script
output
function. - Fixed
time
anddate
actions in templates. - Fixed the prompt suffix.