REM drv: Rem Rem $Header: empp/source/oracle/sysman/emdrep/sql/pp/latest/paf/paf_pkgdefs.sql /st_empp_10.2.0.4.2db11.2/1 2008/10/30 05:36:16 rahgupta Exp $ Rem Rem paf_pkgdefs.sql Rem Rem Copyright (c) 2005, 2008, Oracle and/or its affiliates. Rem All rights reserved. Rem Rem NAME Rem paf_pkgdefs.sql - Rem Rem DESCRIPTION Rem Rem Rem Rem Rem Rem MODIFIED (MM/DD/YY) Rem rahgupta 10/27/08 - Bug 7479325 Rem zsamar 11/03/06 - Rem ktamtoro 10/05/06 - Backport ktamtoro_bug-5381533 from main Rem rlemos 10/03/06 - Add procedure to register PAF notification rules Rem rahgupta 08/21/06 - add procedure to register device rule Rem rahgupta 08/18/06 - Create notification package Rem rahgupta 08/21/06 - XbranchMerge rahgupta_paf_job_updater_notify from Rem st_empp_10.2 Rem fantic 04/26/06 - adding procedure update_runtime_data Rem ktlaw 03/31/06 - Rem ktamtoro 03/02/06 - Add procedure to register group Rem ktlaw 02/02/06 - XbranchMerge ktlaw_bug-4997741 from main Rem ktamtoro 01/09/06 - XbranchMerge Rem ktamtoro_ui_bugs_4925024_4925037_4927434 from Rem main Rem ktamtoro 01/09/06 - XbranchMerge Rem ktamtoro_ui_bugs_4925024_4925037_4927434 from Rem main Rem ktlaw 01/26/06 - Rem ktamtoro 01/05/06 - Add display name to job parameter registration Rem fantic 11/17/05 - add proc/functions start_daemon, stop_daemon, Rem daemon_status Rem ktamtoro 09/09/05 - Add secret paramater to REGISTER_JOBTYPE_PARAM Rem rahgupta 07/26/05 - Register job param takes implicit argument Rem ktlaw 07/13/05 - Rem ktlaw 06/14/05 - ktlaw_paf_update_0614 Rem ktlaw 06/14/05 - Created Rem CREATE OR REPLACE PACKAGE MGMT_PAF_UTL AS -- API to register a component subtype to jobtype mapping -- returns a GUID for the jobtype to be used in further -- invocation of register_jobtype_param for registering -- the jobtype parameters -- @param p_jobtype the jobtype name -- @param p_component_subtype the software library component subtype -- @param OUT x_guid the GUID of the jobtype. PROCEDURE REGISTER_COMP_JOBTYPE_MAPPING ( p_jobtype VARCHAR2, p_component_subtype VARCHAR2, p_description VARCHAR2 DEFAULT NULL, x_guid OUT VARCHAR2 ); -- API to register a jobtype -- returns a GUID for the jobtype to be used in further -- invocation of register_jobtype_param for registering -- the jobtype parameters -- @param p_jobtype the jobtype name -- @param p_description the jobtype description -- @param p_target_list_dependent if job requires a target to run or not 'Y' or 'N' -- defaults 'Y' -- @param OUT x_guid the GUID of the jobtype. PROCEDURE REGISTER_JOBTYPE ( p_jobtype VARCHAR2, p_description VARCHAR2 DEFAULT NULL, p_target_list_dependent CHAR DEFAULT 'Y', x_guid OUT VARCHAR2 ); -- API to register group for job parameters for the jobtype mapping -- @param p_jobtype_guid the GUID of the registered jobtype that the group is for -- @param p_name display name of the group -- @param p_description description of the group -- @param p_group_order display order of the group -- @param OUT x_guid the GUID of the new group. PROCEDURE REGISTER_JOBTYPE_PARAM_GROUP ( p_jobtype_guid VARCHAR2, p_name VARCHAR2, p_description VARCHAR2 DEFAULT NULL, p_group_order INTEGER DEFAULT 0, x_guid OUT VARCHAR2 ); -- API to register the job parameter for the jobtype mapping -- @param p_guid the GUID of the registered jobtype -- @param p_param_name the name of the parameter, this should be the -- same as the parameter name used in jobtype -- @param p_param_value, optional parameter value to indicate the -- expression for binding this parameter -- @param p_implicit if parameter is implicit or not 'Y' or 'N' -- defaults 'N' -- @param p_secret_status if parameter is secret or not 'ENCRYPTED' or 'NOT_ENCRYPTED' or NULL -- 'ENCRYPTED' means that the parameter is secret and encrypted, -- 'NOTENCRYPTED' means that the parameter is secret but not encrypted yet, -- and NULL means that the parameter is not a secret parameter, -- defaults NULL -- @param p_target_type if this parameter is to specify a target, then this -- defines the type of the target, NULL otherwise -- @param p_target_type_choice if this jobtype parameter needs multiple target -- selection then set this to 'MULTIPLE' else set it to 'SINGLE' -- @param p_name the jobparam display name -- @param p_description the jobparam description -- @param p_order display order of the job parameter. It is recommended that -- this is the global order and not the order in a particular group -- @param p_group_guid GUID of the group that this parameter is in PROCEDURE REGISTER_JOBTYPE_PARAM ( p_guid VARCHAR2, p_param_name VARCHAR2, p_param_value VARCHAR2 DEFAULT NULL, p_implicit CHAR DEFAULT 'N', p_secret_status VARCHAR2 DEFAULT NULL, p_target_type VARCHAR2 DEFAULT NULL, p_target_type_choice VARCHAR2 DEFAULT 'SINGLE', p_name VARCHAR2 DEFAULT NULL, p_description VARCHAR2 DEFAULT NULL, p_order INTEGER DEFAULT 0, p_group_guid VARCHAR2 DEFAULT NULL ); -- API to register the procedure type -- @param p_name the name of the procedure type, this name will be use in the -- deployment procedure XML as the procedure type attribute -- @param p_description a short description of the type -- @param p_app_url the url of the application associated with the procedure type -- @param p_resource_bundle_class_name the fully qualified Java class name of the resource bundle for -- @param p_reinterviewable Enter 'Y' if your application supports saving and re-interviewing -- users. By specifying this, PAF will re-launch interview wizard of your application -- when users select a saved instance and run it. -- the assoicated application and deployment procedures PROCEDURE REGISTER_APPLICATION ( p_name VARCHAR2, p_description VARCHAR2, p_app_url VARCHAR2, p_resource_bundle_class_name VARCHAR2, p_reinterviewable CHAR DEFAULT NULL ); -- API to start the provisioning daemon -- @param p_period the period between individual daemon runs (in minutes) PROCEDURE START_DAEMON ( p_period NUMBER DEFAULT 5 ); -- API to stop the provisioning daemon PROCEDURE STOP_DAEMON; -- API to get the status of the provisioning daemon -- @return integer indicating period of the daemon (in minutes). 0 is returned if daemon is not running FUNCTION DAEMON_STATUS RETURN INTEGER; PROCEDURE ENCRYPT_STRING ( p_base_guid VARCHAR2 , p_string VARCHAR2 , x_guid OUT VARCHAR ); PROCEDURE DECRYPT_STRING ( p_guid VARCHAR2 , x_value OUT VARCHAR ); -- API to update runtime data -- @param p_job_exec_id the execution id of the job from which this API -- is being called -- @param p_variable_name name of variable to update in the runtime data -- @param p_variable_value value of variable to update in the runtime data PROCEDURE UPDATE_RUNTIME_DATA ( p_job_exec_id VARCHAR2, p_variable_name VARCHAR2, p_variable_value VARCHAR2 ); END MGMT_PAF_UTL ; / CREATE OR REPLACE PACKAGE MGMT_PAF_AQ AS G_TIMEOUT CONSTANT VARCHAR2(8) := 'TIMEOUT' ; G_MSGNULL CONSTANT VARCHAR2(8) := 'MSGNULL' ; G_SUCCESS CONSTANT VARCHAR2(8) := 'SUCCESS' ; G_SERVER_DOWN CONSTANT VARCHAR2(8) := 'SRVDOWN' ; G_INVALID_ID CONSTANT VARCHAR2(11) := 'INVALID_ID' ; G_REQUEST_QUEUE CONSTANT VARCHAR2(64) := '&EM_REPOS_USER'||'.MGMT_PAF_REQUEST_Q' ; G_RESPONSE_QUEUE CONSTANT VARCHAR2(64) := '&EM_REPOS_USER'||'.MGMT_PAF_RESPONSE_Q' ; -- -- ENQUEUE_REQUEST -- Enqueue request -- @param in p_node_id the node_id -- @param in p_xml_data the xml data string -- @param out x_request_id the request id -- PROCEDURE ENQUEUE_REQUEST ( p_node_id IN VARCHAR2, p_xml_data IN VARCHAR2, x_request_id OUT NOCOPY VARCHAR2, x_return_status OUT NOCOPY VARCHAR2 ); -- -- ENQUEUE_RESPONSE -- Enqueue response -- @param in p_request_id the request id -- @param in p_xml_data the xml data string -- PROCEDURE ENQUEUE_RESPONSE ( p_node_id IN VARCHAR2, p_request_id IN VARCHAR2, p_xml_data IN VARCHAR2, x_return_status OUT NOCOPY VARCHAR2 ); -- -- DEQUEUE_REQUEST -- dequeue request -- @param in p_node_id the node id -- @param out p_xml_data the xml data string -- PROCEDURE DEQUEUE_REQUEST ( p_node_id IN VARCHAR2, p_wait IN NUMBER, x_xml_data OUT NOCOPY VARCHAR2, x_request_id OUT NOCOPY VARCHAR2, x_timestamp OUT NOCOPY DATE, x_return_status OUT NOCOPY VARCHAR2 ); -- -- DEQUEUE_RESPONSE -- dequeue response, used by client -- @param in p_request_id the request id -- @param in p_wait timeout -- @param out x_xml_data the xml data string -- PROCEDURE DEQUEUE_RESPONSE ( p_request_id IN VARCHAR2, p_wait IN NUMBER, x_xml_data OUT NOCOPY VARCHAR2, x_return_status OUT NOCOPY VARCHAR2 ); -- EXECUTE_SERVER_CMD -- execute a generic command -- @param in p_cmd the cmd xml -- @param in p_server_id the server id -- @param out x_result the return xml PROCEDURE EXECUTE_SERVER_CMD ( p_cmd IN VARCHAR2, p_server_id IN VARCHAR2, x_result OUT NOCOPY VARCHAR2, x_return_status OUT NOCOPY VARCHAR2 ); /* PROCEDURE OMS_FAILOVER_CALLBACK ( p_failover_id IN NUMBER, p_last_updated IN DATE ); */ END MGMT_PAF_AQ; / CREATE OR REPLACE PACKAGE MGMT_PAF_NOTIF AS PAF_NOTIF_RULE_NAME constant VARCHAR2(64) := 'Provisioning Engine Notifier'; PAF_NOTIF_RULE_DESC constant VARCHAR2(256) := 'System-generated notification rule for provisioning engine: Notifies the provisioning engine about any change in job status submitted by it.'; PAF_NOTIF_PLSQL_DEVICE_NAME constant VARCHAR2(64) := 'Provisioning Job Updater'; PAF_NOTIF_PLSQL_DEVICE_DESC constant VARCHAR2(256) := 'System generated notification method: pl/sql notication for provisioning jobs'; PAF_PLSQL_PROC constant VARCHAR2(64) := 'MGMT_PAF_NOTIF.NOTIFY_PAF'; PROCEDURE NOTIFY_PAF ( p_job_status IN MGMT_NOTIFY_JOB ); FUNCTION NOTIF_RULE_EXISTS RETURN INTEGER; FUNCTION TGT_TYPE_REG_WITH_NOTIF ( p_target_type IN VARCHAR2 ) RETURN INTEGER; FUNCTION JOB_TYPE_REG_WITH_NOTIF ( p_job_type IN VARCHAR2 ) RETURN INTEGER; FUNCTION TGT_JOB_TYPE_REG_WITH_NOTIF ( p_target_type IN VARCHAR2, p_job_type IN VARCHAR2 ) RETURN INTEGER; FUNCTION PLSQL_DEVICE_EXISTS RETURN INTEGER; FUNCTION PLSQL_DEVICE_REG_WITH_NOTIF RETURN INTEGER; PROCEDURE REG_NOTIF ; PROCEDURE REG_NOTIF_RULE ; PROCEDURE REG_PLSQL_DEVICE; PROCEDURE REG_PLSQL_DEVICE_WITH_NOTIF; PROCEDURE REG_ALL_TGT_TYPES_WITH_NOTIF ; PROCEDURE REG_ALL_TGT_TYPES_WITH_NOTIF ( p_job_type IN VARCHAR2 ); PROCEDURE REG_TGT_TYPE_WITH_NOTIF ( p_target_type IN VARCHAR2 ); PROCEDURE REG_ALL_JOB_TYPES_WITH_NOTIF ; PROCEDURE REG_ALL_JOB_TYPES_WITH_NOTIF ( p_target_type IN VARCHAR2 ); PROCEDURE REG_JOB_TYPE_WITH_NOTIF ( p_job_type IN VARCHAR2 ); PROCEDURE REG_TGT_JOB_TYPE_WITH_NOTIF ( p_target_type IN VARCHAR2, p_job_type IN VARCHAR2 ); PROCEDURE UNREG_NOTIF ; PROCEDURE UNREG_NOTIF_RULE; PROCEDURE UNREG_PLSQL_DEVICE; --------------------------------------------------------- -- -- PAF Status Notification section -- --------------------------------------------------------- PAF_STATUS_NOTIF_RULE_NAME constant VARCHAR2(64) := 'PAF Status Notification'; PAF_STATUS_NOTIF_RULE_DESC constant VARCHAR2(256) := 'System-generated notification rule for Provisioning Advisor Framework: Notifies the instance creator of any status updates.'; FUNCTION PAF_STATUS_NOTIF_RULE_EXISTS RETURN INTEGER; PROCEDURE REGISTER_PAF_STATUS_NOTIF_RULE; PROCEDURE UNREG_PAF_STATUS_NOTIF_RULE; END MGMT_PAF_NOTIF; / show errors; CREATE OR REPLACE PACKAGE MGMT_PAF_JOB_UTIL AS PROV_JOB_ID constant VARCHAR2(64) := 'PROV_JOB_ID'; PROV_JOB_EXEC_ID constant VARCHAR2(64) := 'PROV_JOB_EXEC_ID'; PROV_JOB_STATUS constant VARCHAR2(64) := 'PROV_JOB_STATUS'; PROV_JOB_STATUS_BUCKET constant VARCHAR2(64) := 'PROV_JOB_STATUS_BUCKET'; PROCEDURE UPDATE_PAF_JOB ( p_job_status IN SMP_EMD_NVPAIR_ARRAY ); END MGMT_PAF_JOB_UTIL; / show errors;