#!/bin/ksh93 # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2018,2019,2020,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # @(#) 213961c 43haes/usr/sbin/cluster/events/resource_modify.sh, 726, 2147A_aha726, May 19 2021 02:19 PM #================================================ # The following, commented line enforces coding # standards when this file is edited via vim. #================================================ # vim:tabstop=4:shiftwidth=4:expandtab:smarttab #================================================ #====================================================================== #If signature of properties for modify cluster need to be changed,make #sure that same changes are done in KLIB_HACMP_modify_cluster, #KLIB_HACMP_add_cluster. #====================================================================== # # Name: modify_cluster # function modify_cluster { . $HALIBROOT/log_entry "$0()" "$CL" max typeset -n properties=$1 CL=$LINENO KLIB_HACMP_modify_cluster properties \ "${_ENV_ARGS[NAME]}" \ "${_ENV_ARGS[FC_SYNC_INTERVAL]}" \ "${_ENV_ARGS[RG_SETTLING_TIME]}" \ "${_ENV_ARGS[RG_DIST_POLICY]}" \ "${_ENV_ARGS[MAX_EVENT_TIME]}" \ "${_ENV_ARGS[MAX_RG_PROCESSING_TIME]}" \ "${_ENV_ARGS[SITE_POLICY_FAILURE_ACTION]}" \ "${_ENV_ARGS[SITE_POLICY_NOTIFY_METHOD]}" \ "${_ENV_ARGS[DAILY_VERIFICATION]}" \ "${_ENV_ARGS[VERIFICATION_NODE]}" \ "${_ENV_ARGS[VERIFICATION_HOUR]}" \ "${_ENV_ARGS[VERIFICATION_DEBUGGING]}" \ "${_ENV_ARGS[REPOSITORIES]}" \ "${_ENV_ARGS[CLUSTER_IP]}" \ "${_ENV_ARGS[HEARTBEAT_FREQUENCY]}" \ "${_ENV_ARGS[GRACE_PERIOD]}" \ "${_ENV_ARGS[SITE_HEARTBEAT_CYCLE]}" \ "${_ENV_ARGS[SITE_GRACE_PERIOD]}" \ "${_ENV_ARGS[TYPE]}" \ "${_ENV_ARGS[HEARTBEAT_TYPE]}" \ "${_ENV_ARGS[TEMP_HOSTNAME]}" \ "${_ENV_ARGS[SPLIT_POLICY]}" \ "${_ENV_ARGS[MERGE_POLICY]}" \ "${_ENV_ARGS[NFS_QUORUM_SERVER]}" \ "${_ENV_ARGS[LOCAL_QUORUM_DIRECTORY]}" \ "${_ENV_ARGS[REMOTE_QUORUM_DIRECTORY]}" \ "${_ENV_ARGS[QUARANTINE_POLICY]}" \ "${_ENV_ARGS[CRITICAL_RG]}" \ "${_ENV_ARGS[ACTION_PLAN]}" \ "${_ENV_ARGS[TIEBREAKER]}" \ "${_ENV_ARGS[NOTIFYMETHOD]}" \ "${_ENV_ARGS[NOTIFY_INTERVAL]}" \ "${_ENV_ARGS[MAXIMUM_NOTIFICATIONS]}" \ "${_ENV_ARGS[DEFAULT_SURVIVING_SITE]}" \ "${_ENV_ARGS[APPLY_TO_PPRC_TAKEOVER]}" \ "${_ENV_ARGS[NODES]}" \ "${_ENV_ARGS[LPM_POLICY]}" \ "${_ENV_ARGS[HEARTBEAT_FREQUENCY_DURING_LPM]}" \ "${_ENV_ARGS[NETWORK_FAILURE_DETECTION_TIME]}" \ "${_ENV_ARGS[CAA_AUTO_START_DR]}" \ "${_ENV_ARGS[CAA_REPOS_MODE]}" \ "${_ENV_ARGS[CAA_CONFIG_TIMEOUT]}" \ "${_ENV_ARGS[LVM_PREFERRED_READ]}" \ "${_ENV_ARGS[CRIT_DAEMON_RESTART_GRACE_PERIOD]}" \ "${_ENV_ARGS[SKIP_EVENT_PROCESSING_MANAGE_MODE]}" \ "${_ENV_ARGS[BUCKET_NAME]}" \ "${_ENV_ARGS[CLOUD_SERVICE]}" \ "${_ENV_ARGS[USE_EXISTING_BUCKET]}" log_return_msg "$?" "$0()" "$LINENO" return $? } # End of "modify_cluster()" # # Name: modify_site # function modify_site { . $HALIBROOT/log_entry "$0()" "$CL" max typeset -n properties=$1 typeset site=$2 CL=$LINENO KLIB_HACMP_modify_site properties \ "$site" \ "${_ENV_ARGS[NAME]}" \ "${_ENV_ARGS[NODES]}" \ "${_ENV_ARGS[SITE_IP]}" \ "${_ENV_ARGS[RECOVERY_PRIORITY]}" \ "${_ENV_ARGS[REPOSITORIES]}" \ "${_ENV_ARGS[HMCS]}" log_return_msg "$?" "$0()" "$LINENO" return $? } # End of "modify_site()" # # Name: modify_node # function modify_node { . $HALIBROOT/log_entry "$0()" "$CL" max typeset -n properties=$1 typeset name=$2 CL=$LINENO KLIB_HACMP_modify_node properties \ "$name" \ "${_ENV_ARGS[NAME]}" \ "${_ENV_ARGS[COMMPATH]}" \ "${_ENV_ARGS[PERSISTENT_IP]}" \ "${_ENV_ARGS[NETWORK]}" \ "${_ENV_ARGS[PREFIX]}" \ "${_ENV_ARGS[NETMASK]}" \ "${_ENV_ARGS[START_ON_BOOT]}" \ "${_ENV_ARGS[BROADCAST_ON_START]}" \ "${_ENV_ARGS[CLINFO_ON_START]}" \ "${_ENV_ARGS[HMCS]}" \ "${_ENV_ARGS[ENABLE_LIVE_UPDATE]}" \ "${_ENV_ARGS[ENABLE_CAA_AFTER_MERGE]}" \ "${_ENV_ARGS[CRIT_DAEMON_RESTART_GRACE_PERIOD]}" log_return_msg "$?" "$0()" "$LINENO" return $? } # End of "modify_node()" # # Name: modify_network # function modify_network { . $HALIBROOT/log_entry "$0()" "$CL" max typeset -n properties=$1 typeset name=$2 CL=$LINENO KLIB_HACMP_modify_network properties \ "$name" \ "${_ENV_ARGS[NAME]}" \ "${_ENV_ARGS[TYPE]}" \ "${_ENV_ARGS[NETMASK]}" \ "${_ENV_ARGS[PREFIX]}" \ "${_ENV_ARGS[PUBLIC]}" \ "${_ENV_ARGS[RESOURCE_DIST_PREF]}" \ "${_ENV_ARGS[SOURCE_IP]}" \ "${_ENV_ARGS[UNSTABLE_THRESHOLD]}" \ "${_ENV_ARGS[UNSTABLE_PERIOD]}" log_return_msg "$?" "$0()" "$LINENO" return $? } # End of "modify_network()" # # Name: modify_interface # function modify_interface { . $HALIBROOT/log_entry "$0()" "$CL" max typeset -n properties=$1 typeset name=$2 CL=$LINENO KLIB_HACMP_modify_interface properties \ "$name" \ "${_ENV_ARGS[NETWORK]}" log_return_msg "$?" "$0()" "$LINENO" return $? } # End of "modify_interface()" # # Name: modify_persistent_ip # function modify_persistent_ip { . $HALIBROOT/log_entry "$0()" "$CL" max typeset -n properties=$1 typeset name=$2 CL=$LINENO KLIB_HACMP_modify_persistent_ip properties \ "$name" \ "${_ENV_ARGS[NAME]}" \ "${_ENV_ARGS[NETWORK]}" \ "${_ENV_ARGS[PREFIX]}" \ "${_ENV_ARGS[NETMASK]}" log_return_msg "$?" "$0()" "$LINENO" return $? } # End of "modify_persistent_ip()" # # Name: modify_resource_group # function modify_resource_group { . $HALIBROOT/log_entry "$0()" "$CL" max typeset -n properties=$1 typeset rgname=$2 typeset resource_env="FALLBACK_AT SERVICE_LABEL APPLICATIONS \ VOLUME_GROUP FORCED_VARYON VG_AUTO_IMPORT FILESYSTEM FSCHECK_TOOL \ RECOVERY_METHOD FS_BEFORE_IPADDR EXPORT_FILESYSTEM EXPORT_FILESYSTEM_V4 \ MOUNT_FILESYSTEM STABLE_STORAGE_PATH WPAR_NAME \ NFS_NETWORK SHARED_TAPE_RESOURCES DISK AIX_FAST_CONNECT_SERVICES \ COMMUNICATION_LINKS WLM_PRIMARY WLM_SECONDARY MISC_DATA \ NODE_PRIORITY_POLICY NODE_PRIORITY_POLICY_SCRIPT \ NODE_PRIORITY_POLICY_TIMEOUT CONCURRENT_VOLUME_GROUP RAW_DISK \ USERDEFINED_RESOURCES MANAGE_RDISK SVCPPRC_REP_RESOURCE SR_REP_RESOURCE \ GENXD_REP_RESOURCE TC_REP_RESOURCE DATA_DIVERGENCE_RECOVERY VARYON_WITH_MISSING_UPDATES \ PPRC_REP_RESOURCE" typeset attr typeset -A attributes typeset -A policies for attr1 in ${!_ENV_ARGS[@]} ; do for attr2 in $resource_env; do [[ $attr1 == $attr2 ]] && attributes[$attr1]="${_ENV_ARGS[$attr1]}" done done for attr1 in ${!_ENV_ARGS[@]} ; do for attr2 in $policy_env; do [[ $attr1 == $attr2 ]] && policies[$attr1]=${_ENV_ARGS[$attr1]} done done CL=$LINENO KLIB_HACMP_modify_resourcegroup properties \ "$rgname" \ attributes \ "${_ENV_ARGS[MIRROR_GROUP]}" \ "${_ENV_ARGS[NAME]}" \ "${_ENV_ARGS[NODES]}" \ "${_ENV_ARGS[PRIMARYNODES]}" \ "${_ENV_ARGS[SECONDARYNODES]}" \ "${_ENV_ARGS[SITE_POLICY]}" \ "${_ENV_ARGS[STARTUP]}" \ "${_ENV_ARGS[FALLOVER]}" \ "${_ENV_ARGS[FALLBACK]}" log_return_msg "$?" "$0()" "$LINENO" return $? } # End of "modify_resource_group()" # # Name: modify_appserver # function modify_appserver { . $HALIBROOT/log_entry "$0()" "$CL" max typeset -n properties=$1 typeset name=$2 CL=$LINENO KLIB_HACMP_modify_appserver properties \ "$name" \ "${_ENV_ARGS[NAME]}" \ "${_ENV_ARGS[STARTSCRIPT]}" \ "${_ENV_ARGS[STOPSCRIPT]}" \ "${_ENV_ARGS[MONITORS]}" \ "${_ENV_ARGS[STARTUP_MODE]}" \ "${_ENV_ARGS[CPU_USAGE_MONITOR]}" \ "${_ENV_ARGS[PROCESS_TO_MONITOR_CPU_USAGE]}" \ "${_ENV_ARGS[CPU_USAGE_MONITOR_INTERVAL]}" log_return_msg "$?" "$0()" "$LINENO" return $? } # End of "modify_appserver()" # # Name: modify_appmonitor # function modify_appmonitor { . $HALIBROOT/log_entry "$0()" "$CL" max typeset -n properties=$1 typeset name=$2 typeset -A args for i in ${!_ENV_ARGS[*]} do args[$i]=${_ENV_ARGS[$i]} done CL=$LINENO KLIB_HACMP_modify_appmonitor properties \ "$name" \ "${_ENV_ARGS[NAME]}" \ args log_return_msg "$?" "$0()" "$LINENO" return $? } # End of "modify_appmonitor()" # # Name: modify_service_ip # function modify_service_ip { . $HALIBROOT/log_entry "$0()" "$CL" max typeset -n properties=$1 typeset service_ip=$2 CL=$LINENO KLIB_HACMP_modify_service_ip properties \ "$service_ip" \ "${_ENV_ARGS[NAME]}" \ "${_ENV_ARGS[NETWORK]}" \ "${_ENV_ARGS[NETMASK]}" \ "${_ENV_ARGS[PREFIX]}" \ "${_ENV_ARGS[HWADDR]}" \ "${_ENV_ARGS[SITE]}" log_return_msg "$?" "$0()" "$LINENO" return $? } # End of "modify_service_ip()" # # Name: modify_tape # function modify_tape { . $HALIBROOT/log_entry "$0()" "$CL" max typeset -n properties=$1 typeset tape=$2 CL=$LINENO KLIB_HACMP_modify_tape properties \ "$tape" \ "${_ENV_ARGS[NAME]}" \ "${_ENV_ARGS[DEVICE]}" \ "${_ENV_ARGS[DESCRIPTION]}" \ "${_ENV_ARGS[STARTSCRIPT]}" \ "${_ENV_ARGS[START_SYNCHRONOUSLY]}" \ "${_ENV_ARGS[STOPSCRIPT]}" \ "${_ENV_ARGS[STOP_SYNCHRONOUSLY]}" log_return_msg "$?" "$0()" "$LINENO" return $? } # End of "modify_tape()" # # Name: modify_physical_volume # function modify_physical_volume { . $HALIBROOT/log_entry "$0()" "$CL" max typeset -n properties=$1 typeset pv=$2 CL=$LINENO KLIB_HACMP_modify_physical_volume properties \ "$pv" \ "${_ENV_ARGS[NAME]}" \ "${_ENV_ARGS[SCSIPR_ACTION]}" \ "${_ENV_ARGS[NODE]}" \ "${_ENV_ARGS[ALL_NODES]}" log_return_msg "$?" "$0()" "$LINENO" return $? } # End of "modify_physical_volume()" # # Name: modify_volume_group # function modify_volume_group { . $HALIBROOT/log_entry "$0()" "$CL" max typeset -n properties=$1 typeset volume_group=$2 CL=$LINENO KLIB_HACMP_modify_volume_group properties \ "$volume_group" \ "${_ENV_ARGS[ADD]}" \ "${_ENV_ARGS[REMOVE]}" \ "${_ENV_ARGS[MIRROR_POOL_NAME]}" \ "${_ENV_ARGS[TYPE]}" \ "${_ENV_ARGS[ACTIVATE_ON_RESTART]}" \ "${_ENV_ARGS[QUORUM_NEEDED]}" \ "${_ENV_ARGS[LTG_SIZE]}" \ "${_ENV_ARGS[MIGRATE_FAILED_DISKS]}" \ "${_ENV_ARGS[MAX_PHYSICAL_PARTITIONS]}" \ "${_ENV_ARGS[MAX_LOGICAL_VOLUMES]}" \ "${_ENV_ARGS[STRICT_MIRROR_POOLS]}" \ "${_ENV_ARGS[CRITICAL]}" \ "${_ENV_ARGS[FAILUREACTION]}" \ "${_ENV_ARGS[NOTIFYMETHOD]}" \ "${_ENV_ARGS[SCSIPR_ACTION]}" \ "${_ENV_ARGS[LVM_PREFERRED_READ]}" \ "${_ENV_ARGS[ENABLE_LV_ENCRYPTION]}" log_return_msg "$?" "$0()" "$LINENO" return $? } # End of "modify_volume_group()" # # Name: modify_mirror_pool # function modify_mirror_pool { . $HALIBROOT/log_entry "$0()" "$CL" max typeset -n properties=$1 typeset name=$2 CL=$LINENO KLIB_HACMP_modify_mirror_pool properties \ "$name" \ "${_ENV_ARGS[VOLUME_GROUP]}" \ "${_ENV_ARGS[NAME]}" \ "${_ENV_ARGS[STORAGE_LOCATION]}" \ "${_ENV_ARGS[MODE]}" \ "${_ENV_ARGS[FORCE_SYNC]}" \ "${_ENV_ARGS[ASYNC_CACHE_LV]}" \ "${_ENV_ARGS[ASYNC_CACHE_HW_MARK]}" \ "${_ENV_ARGS[ADD]}" \ "${_ENV_ARGS[REMOVE]}" log_return_msg "$?" "$0()" "$LINENO" return $? } # End of "modify_mirror_pool()" # # Name: modify_file_collection # function modify_file_collection { . $HALIBROOT/log_entry "$0()" "$CL" max typeset -n properties=$1 typeset name=$2 typeset files_to_add=${_ENV_ARGS[ADD]} typeset files_to_remove=${_ENV_ARGS[DELETE]} typeset files_to_replace=${_ENV_ARGS[REPLACE]} typeset -A args if [[ -n ${_ENV_ARGS[FILES]} ]]; then for file in ${_ENV_ARGS[FILES]//,/ }; do if [[ " ${_ENV_ARGS[REPLACE]//,/ } " != *\ $file\ * ]]; then _ENV_ARGS[REPLACE]="${_ENV_ARGS[REPLACE]} $file" fi done if [[ ${_ENV_ARGS[REPLACE]} != *([[:space:]]) ]]; then files_to_replace=${_ENV_ARGS[REPLACE]} fi fi if [[ -z $files_to_replace && " ${!_ENV_ARGS[*]} " == *\ REPLACE\ * ]]; then files_to_replace="ALL" fi CL=$LINENO KLIB_HACMP_modify_file_collection properties \ "$name" \ "${_ENV_ARGS[NAME]}" \ "${_ENV_ARGS[DESCRIPTION]}" \ files_to_add \ files_to_remove \ files_to_replace \ "${_ENV_ARGS[SYNC_WITH_CLUSTER]}" \ "${_ENV_ARGS[SYNC_WHEN_CHANGED]}" log_return_msg "$?" "$0()" "$LINENO" return $? } # End of "modify_file_collection()" # # Name: modify_snapshot # function modify_snapshot { . $HALIBROOT/log_entry "$0()" "$CL" max typeset -n properties=$1 typeset snapshot=$2 CL=$LINENO KLIB_HACMP_modify_snapshot properties \ "$snapshot" \ "${_ENV_ARGS[NAME]}" \ "${_ENV_ARGS[DESCRIPTION]}" log_return_msg "$?" "$0()" "$LINENO" return $? } # End of "modify_snapshot()" # # Name: modify_method # function modify_method { . $HALIBROOT/log_entry "$0()" "$CL" max typeset -n properties=$1 typeset method=$2 CL=$LINENO KLIB_HACMP_modify_method properties \ "$method" \ "${_ENV_ARGS[TYPE]}" \ "${_ENV_ARGS[NAME]}" \ "${_ENV_ARGS[DESCRIPTION]}" \ "${_ENV_ARGS[FILE]}" \ "${_ENV_ARGS[CONTACT]}" \ "${_ENV_ARGS[EVENTS]}" \ "${_ENV_ARGS[NODES]}" \ "${_ENV_ARGS[RETRY]}" \ "${_ENV_ARGS[TIMEOUT]}" log_return_msg "$?" "$0()" "$LINENO" return $? } # End of "modify_method()" # # Name: modify_log # function modify_log { . $HALIBROOT/log_entry "$0()" "$CL" max typeset -n properties=$1 typeset log=$2 CL=$LINENO KLIB_HACMP_modify_log properties \ "$log" \ "${_ENV_ARGS[DIRECTORY]}" \ "${_ENV_ARGS[FORMATTING]}" \ "${_ENV_ARGS[TRACE_LEVEL]}" \ "${_ENV_ARGS[REMOTE_FS]}" log_return_msg "$?" "$0()" "$LINENO" return $? } # End of "modify_log()" # # Name: modify_dependency # function modify_dependency { . $HALIBROOT/log_entry "$0()" "$CL" max typeset dependency=$1 CL=$LINENO KLIB_HACMP_modify_dependency \ "$dependency" \ "${_ENV_ARGS[TYPE]}" \ "${_ENV_ARGS[PARENT]}" \ "${_ENV_ARGS[CHILD]}" \ "${_ENV_ARGS[GROUPS]}" \ "${_ENV_ARGS[HIGH]}" \ "${_ENV_ARGS[INTERMEDIATE]}" \ "${_ENV_ARGS[LOW]}" \ "${_ENV_ARGS[STOP]}" \ "${_ENV_ARGS[START]}" \ "${_ENV_ARGS[AFTER]}" \ "${_ENV_ARGS[SERIAL]}" \ "${_ENV_ARGS[PARALLEL]}" log_return_msg "$?" "$0()" "$LINENO" return $? } # End of "modify_dependency()" # # Name: modify_temporal_dependency # function modify_temporal_dependency { . $HALIBROOT/log_entry "$0()" "$CL" max typeset parent=$1 typeset children=${_ENV_ARGS["RESOURCEGROUPCHILDREN"]} CL=$LINENO KLIB_HACMP_modify_rgdependency "$parent" children log_return_msg "$?" "$0()" "$LINENO" return $? } # End of "modify_temporal_dependency(): # # Name: modify_location_dependency # function modify_location_dependency { . $HALIBROOT/log_entry "$0()" "$CL" max typeset mode=$1 typeset status=0 typeset rgs=${_ENV_ARGS[RESOURCEGROUPLIST]} CL=$LINENO KLIB_HACMP_modify_location_dependency "$mode" rgs log_return_msg "$?" "$0()" "$LINENO" return $? } # End of "modify_location_dependency()" # # Name: modify_fallback_timer # function modify_fallback_timer { . $HALIBROOT/log_entry "$0()" "$CL" max typeset -n properties=$1 typeset name=$2 CL=$LINENO KLIB_HACMP_modify_fallback_timer properties \ "$name" \ "${_ENV_ARGS[YEAR]}" \ "${_ENV_ARGS[MONTH]}" \ "${_ENV_ARGS[DAY_OF_MONTH]}" \ "${_ENV_ARGS[DAY_OF_WEEK]}" \ "${_ENV_ARGS[HOUR]}" \ "${_ENV_ARGS[MINUTE]}" \ "${_ENV_ARGS[REPEATS]}" log_return_msg "$?" "$0()" "$LINENO" return $? } # End of "modify_fallback_timer()" # # Name: modify_user # function modify_user { . $HALIBROOT/log_entry "$0()" "$CL" max typeset -n properties=$1 typeset name=$2 CL=$LINENO KLIB_HACMP_modify_user properties \ "$name" \ "${_ENV_ARGS[RESOURCE_GROUP]}" \ "${_ENV_ARGS[ID]}" \ "${_ENV_ARGS[KEYSTORE_ACCESS]}" \ "${_ENV_ARGS[ADMIN_KEYSTORE_ACCESS]}" \ "${_ENV_ARGS[KEYSTORE_MODE]}" \ "${_ENV_ARGS[ALLOW_MODE_CHANGE]}" \ "${_ENV_ARGS[KEYSTORE_ENCRYPTION]}" \ "${_ENV_ARGS[FILE_ENCRYPTION]}" \ "${_ENV_ARGS[REGISTRY]}" \ "${_ENV_ARGS[AUTHENTICATION]}" \ "${_ENV_ARGS[GROUPS]}" \ "${_ENV_ARGS[PRIMARY]}" \ "${_ENV_ARGS[ADMIN_GROUPS]}" \ "${_ENV_ARGS[ROLES]}" \ "${_ENV_ARGS[SWITCH_USER]}" \ "${_ENV_ARGS[SU_GROUPS]}" \ "${_ENV_ARGS[HOME]}" \ "${_ENV_ARGS[SHELL]}" \ "${_ENV_ARGS[INFO]}" \ "${_ENV_ARGS[EXPIRATION]}" \ "${_ENV_ARGS[LOCKED]}" \ "${_ENV_ARGS[LOGIN]}" \ "${_ENV_ARGS[REMOTE_LOGIN]}" \ "${_ENV_ARGS[SCHEDULE]}" \ "${_ENV_ARGS[MAX_FAILED_LOGINS]}" \ "${_ENV_ARGS[ALLOWED_TTYS]}" \ "${_ENV_ARGS[DAYS_TO_WARN]}" \ "${_ENV_ARGS[PASSWORD_VALIDATION_METHODS]}" \ "${_ENV_ARGS[PASSWORD_FILTERS]}" \ "${_ENV_ARGS[MIN_PASSWORDS]}" \ "${_ENV_ARGS[REUSE_TIME]}" \ "${_ENV_ARGS[LOCKOUT_DELAY]}" \ "${_ENV_ARGS[MAX_PASSWORD_AGE]}" \ "${_ENV_ARGS[MIN_PASSWORD_AGE]}" \ "${_ENV_ARGS[MIN_PASSWORD_LENGTH]}" \ "${_ENV_ARGS[MIN_PASSWORD_ALPHAS]}" \ "${_ENV_ARGS[MIN_PASSWORD_OTHERS]}" \ "${_ENV_ARGS[MAX_PASSWORD_REPEATED_CHARS]}" \ "${_ENV_ARGS[MIN_PASSWORD_DIFFERENT]}" \ "${_ENV_ARGS[UMASK]}" \ "${_ENV_ARGS[AUDIT_CLASSES]}" \ "${_ENV_ARGS[TRUSTED_PATH]}" \ "${_ENV_ARGS[PRIMARY_AUTH]}" \ "${_ENV_ARGS[SECONDARY_AUTH]}" \ "${_ENV_ARGS[PROJECTS]}" \ "${_ENV_ARGS[ADMINISTRATIVE]}" \ "${_ENV_ARGS[PASSWORD]}" \ "${_ENV_ARGS[CHANGE_ON_NEXT_LOGIN]}" \ "${_ENV_ARGS[ALLOW_PASSWORD_CHANGE]}" log_return_msg "$?" "$0()" "$LINENO" return $? } # End of "modify_user()" # # Name: modify_group # function modify_group { . $HALIBROOT/log_entry "$0()" "$CL" max typeset -n properties=$1 typeset name=$2 CL=$LINENO KLIB_HACMP_modify_group properties \ "$name" \ "${_ENV_ARGS[RESOURCE_GROUP]}" \ "${_ENV_ARGS[ID]}" \ "${_ENV_ARGS[ADMINISTRATIVE]}" \ "${_ENV_ARGS[USERS]}" \ "${_ENV_ARGS[ADMINS]}" \ "${_ENV_ARGS[PROJECTS]}" \ "${_ENV_ARGS[KEYSTORE_MODE]}" \ "${_ENV_ARGS[KEYSTORE_ENCRYPTION]}" \ "${_ENV_ARGS[KEYSTORE_ACCESS]}" \ "${_ENV_ARGS[REGISTRY]}" log_return_msg "$?" "$0()" "$LINENO" return $? } # End of "modify_group()" # # Name: modify_efs # function modify_efs { . $HALIBROOT/log_entry "$0()" "$CL" max typeset -n properties=$1 CL=$LINENO KLIB_HACMP_modify_efs properties \ "${_ENV_ARGS[MODE]}" \ "${_ENV_ARGS[VOLUME_GROUP]}" \ "${_ENV_ARGS[SERVICE_IP]}" \ "${_ENV_ARGS[PASSWORD]}" log_return_msg "$?" "$0()" "$LINENO" return $? } # End of "modify_efs()" # # Name: modify_storage_agent # function modify_storage_agent { . $HALIBROOT/log_entry "$0()" "$CL" max typeset -n properties=$1 typeset name=$2 CL=$LINENO KLIB_HACMP_modify_storage_agent properties \ "$name" \ "${_ENV_ARGS[NAME]}" \ "${_ENV_ARGS[ADDRESSES]}" \ "${_ENV_ARGS[USER]}" \ "${_ENV_ARGS[PASSWORD]}" \ "${_ENV_ARGS[ATTRIBUTES]}" log_return_msg "$?" "$0()" "$LINENO" return $? } # End of "modify_storage_agent()" # # Name: modify_storage_system # function modify_storage_system { . $HALIBROOT/log_entry "$0()" "$CL" max typeset -n properties=$1 typeset name=$2 CL=$LINENO KLIB_HACMP_modify_storage_system properties \ "$name" \ "${_ENV_ARGS[NAME]}" \ "${_ENV_ARGS[AGENTS]}" \ "${_ENV_ARGS[VENDOR_ID]}" \ "${_ENV_ARGS[WWNN]}" \ "${_ENV_ARGS[SITE]}" \ "${_ENV_ARGS[ADDRESSES]}" \ "${_ENV_ARGS[MASTER]}" \ "${_ENV_ARGS[PARTNER]}" \ "${_ENV_ARGS[ATTRIBUTES]}" \ "${_ENV_ARGS[USER]}" \ "${_ENV_ARGS[BACKUP_PROFILE]}" log_return_msg "$?" "$0()" "$LINENO" return $? } # End of "modify_storage_system()" # # Name: modify_mirror_pair # function modify_mirror_pair { . $HALIBROOT/log_entry "$0()" "$CL" max typeset -n properties=$1 typeset name=$2 CL=$LINENO KLIB_HACMP_modify_mirror_pair properties \ "$name" \ "${_ENV_ARGS[NAME]}" \ "${_ENV_ARGS[FIRST_DISK]}" \ "${_ENV_ARGS[SECOND_DISK]}" log_return_msg "$?" "$0()" "$LINENO" return $? } # End of "modify_mirror_pair()" # # Name: modify_mirror_group # function modify_mirror_group { . $HALIBROOT/log_entry "$0()" "$CL" max typeset -n properties=$1 typeset name=$2 CL=$LINENO KLIB_HACMP_modify_mirror_group properties \ "$name" \ "${_ENV_ARGS[NAME]}" \ "${_ENV_ARGS[MODE]}" \ "${_ENV_ARGS[RECOVERY]}" \ "${_ENV_ARGS[STORAGE_SYSTEMS]}" \ "${_ENV_ARGS[MIRROR_PAIRS]}" \ "${_ENV_ARGS[DEVICE_GROUPS]}" \ "${_ENV_ARGS[CONSISTENT]}" \ "${_ENV_ARGS[VENDOR_ID]}" \ "${_ENV_ARGS[ATTRIBUTES]}" \ "${_ENV_ARGS[HORCM_INSTANCE]}" \ "${_ENV_ARGS[HORCM_TIMEOUT]}" \ "${_ENV_ARGS[PAIR_EVENT_TIMEOUT]}" \ "${_ENV_ARGS[VOLUME_GROUPS]}" \ "${_ENV_ARGS[DISKS]}" \ "${_ENV_ARGS[HYPERSWAP_ENABLED]}" \ "${_ENV_ARGS[HYPERSWAP_PRIORITY]}" \ "${_ENV_ARGS[UNPLANNED_HS_TIMEOUT]}" \ "${_ENV_ARGS[NODE]}" \ "${_ENV_ARGS[SITE]}" \ "${_ENV_ARGS[NON_HS_DISK]}" \ "${_ENV_ARGS[HS_DISK]}" \ "${_ENV_ARGS[MG_TYPE]}" \ "${_ENV_ARGS[RESYNC]}" log_return_msg "$?" "$0()" "$LINENO" return $? } # End of "modify_mirror_group()" # # Name: modify_event # function modify_event { . $HALIBROOT/log_entry "$0()" "$CL" max typeset -n properties=$1 typeset name=$2 CL=$LINENO KLIB_HACMP_modify_event properties \ "$name" \ "${_ENV_ARGS[NAME]}" \ "${_ENV_ARGS[FILE]}" \ "${_ENV_ARGS[DESCRIPTION]}" \ "${_ENV_ARGS[NOTIFY_COMMAND]}" \ "${_ENV_ARGS[PRE_EVENT_COMMAND]}" \ "${_ENV_ARGS[POST_EVENT_COMMAND]}" \ "${_ENV_ARGS[PREPOSTFAILS]}" log_return_msg "$?" "$0()" "$LINENO" return $? } # End of "modify_event()" # # Name: modify_hmc # function modify_hmc { . $HALIBROOT/log_entry "$0()" "$CL" max typeset -n properties=$1 typeset name=$2 CL=$LINENO KLIB_HACMP_modify_hmc properties \ "$name" \ "${_ENV_ARGS[TIMEOUT]}" \ "${_ENV_ARGS[RETRY_COUNT]}" \ "${_ENV_ARGS[RETRY_DELAY]}" \ "${_ENV_ARGS[NODES]}" \ "${_ENV_ARGS[SITES]}" \ "${_ENV_ARGS[CHECK_HMC]}" \ "${_ENV_ARGS[USER_NAME]}" \ "${_ENV_ARGS[PASSWORD]}" log_return_msg "$?" "$0()" "$LINENO" return $? } # End of "modify_hmc()" # # Name: modify_nova # function modify_nova { . $HALIBROOT/log_entry "$0()" "$CL" max typeset -n properties=$1 typeset name=$2 CL=$LINENO KLIB_HACMP_modify_nova properties \ "$name" \ "${_ENV_ARGS[TIMEOUT]}" \ "${_ENV_ARGS[RETRY_COUNT]}" \ "${_ENV_ARGS[RETRY_DELAY]}" \ "${_ENV_ARGS[USER_NAME]}" \ "${_ENV_ARGS[PASSWORD]}" log_return_msg "$?" "$0()" "$LINENO" return $? } # End of "modify_nova()" # # Name: modify_cod # function modify_cod { . $HALIBROOT/log_entry "$0()" "$CL" max typeset -n properties=$1 typeset name=$2 CL=$LINENO KLIB_HACMP_modify_cod properties \ "$name" \ "${_ENV_ARGS[USE_DESIRED]}" \ "${_ENV_ARGS[OPTIMAL_MEM]}" \ "${_ENV_ARGS[OPTIMAL_CPU]}" \ "${_ENV_ARGS[OPTIMAL_PU]}" \ "${_ENV_ARGS[OPTIMAL_VP]}" log_return_msg "$?" "$0()" "$LINENO" return $? } # End of "modify_cod()" # # Name: modify_backup_profile # function modify_backup_profile { . $HALIBROOT/log_entry "$0()" "$CL" max typeset -n properties=$1 typeset name=$2 CL=$LINENO KLIB_HACMP_modify_backup_profile properties \ "$name" \ "${_ENV_ARGS[ENABLE_BACKUP]}" \ "${_ENV_ARGS[VOLUME_GROUP]}" \ "${_ENV_ARGS[REPLICATED_RESOURCES]}" \ "${_ENV_ARGS[STORAGE_NAME]}" \ "${_ENV_ARGS[BUCKET_NAME]}" \ "${_ENV_ARGS[TARGET_LOCATION]}" \ "${_ENV_ARGS[CLOUD_SERVICE]}" \ "${_ENV_ARGS[COMPRESSION]}" \ "${_ENV_ARGS[BACKUP_FREQUENCY]}" \ "${_ENV_ARGS[BACKUP_SCHEDULE]}" \ "${_ENV_ARGS[INC_BACKUP_FREQ]}" \ "${_ENV_ARGS[NOTIFYMETHOD]}" \ "${_ENV_ARGS[ENCRYPTION]}" log_return_msg "$?" "$0()" "$LINENO" return $? } # End of "modify_backup_profile()" # # Name: KLIB_HACMP_modify_logical_volume # function modify_logical_volume { . $HALIBROOT/log_entry "$0()" "$CL" max typeset -n properties=$1 typeset name=$2 CL=$LINENO KLIB_HACMP_modify_logical_volume properties \ "${_ENV_ARGS[RESOURCE_NAME]}" \ "${_ENV_ARGS[TYPE]}" \ "${_ENV_ARGS[POSITION]}" \ "${_ENV_ARGS[PV_RANGE]}" \ "${_ENV_ARGS[MAX_PVS_FOR_NEW_ALLOC]}" \ "${_ENV_ARGS[MAX_LPARTS]}" \ "${_ENV_ARGS[SCHEDULING_POLICY]}" \ "${_ENV_ARGS[LABEL]}" \ "${_ENV_ARGS[LOGICAL_PARTITIONS]}" \ "${_ENV_ARGS[ENABLE_LV_ENCRYPTION]}" \ "${_ENV_ARGS[AUTH_METHOD]}" \ "${_ENV_ARGS[METHOD_DETAILS]}" \ "${_ENV_ARGS[AUTH_METHOD_NAME]}" \ "${_ENV_ARGS[REMOVE_AUTH_METHOD]}" log_return_msg "$?" "$0()" "$LINENO" return $? } # End of "modify_logical_volume()" # Name: modify_file_system # function modify_file_system { . $HALIBROOT/log_entry "$0()" "$CL" max typeset -n properties=$1 typeset name=$2 CL=$LINENO KLIB_HACMP_modify_file_system properties \ "$name" \ "${_ENV_ARGS[UNITS]}" \ "${_ENV_ARGS[SIZE_PER_UNIT]}" \ "${_ENV_ARGS[NEW_FS_NAME]}" \ "${_ENV_ARGS[PERMISSIONS]}" \ "${_ENV_ARGS[EFS]}" log_return_msg "$?" "$0()" "$LINENO" return $? } # End of "modify_file_system()" ######################################################################### ######################################################################### ## ## MAIN ## ######################################################################### ######################################################################### . $HALIBROOT/log_entry resource_modify "$CL" max : INPUTS == $* #=================================================== # Source the file with common definitions, the run # the action/class-appropriate class processor. #=================================================== typeset -A properties CL=$LINENO . $HAEVENTS/resource_common "$@" CL=$LINENO runClassProcessor "$RESOURCE_CLASS" _VAR_SUBSTITUTIONS _ENV_ARGS properties typeset -i rc=$? #====================================================================== # If output from this operation was requested, display it now, adding # a "distinctive" divider to help separate the command(s) output from # the attributes output in scripts. #====================================================================== if (( rc == 0 )) && \ [[ ${_CLASS_PROCESSORS[$RESOURCE_CLASS]} == *+([[:space:]])properties* ]] then if (( CLVT_VERBOSE )) || [[ -n $CLVT_ATTRS ]]; then /usr/bin/dspmsg -s 2 command.cat 9 "\nProperties:\n" CL=$LINENO SerializeAsAssociativeArray properties "$RESOURCE_CLASS" fi fi log_return_msg "$rc" resource_modify "$LINENO" exit $?