# Decides what is required for the 'is_admin:True' check to succeed.
#"context_is_admin": "role:admin"

# Default rule for most non-Admin APIs.
#"admin_or_owner": "is_admin:True or project_id:%(project_id)s"

# Default rule for most Admin APIs.
#"admin_only": "is_admin:True"

# Default rule for sharing vims.
#"shared": "field:vims:shared=True"

# Default rule for most non-Admin APIs.
#"default": "rule:admin_or_owner"

# Creates a vnf package.
# POST  /vnf_packages
#"os_nfv_orchestration_api:vnf_packages:create": "rule:admin_or_owner"

# Show a vnf package.
# GET  /vnf_packages/{vnf_package_id}
#"os_nfv_orchestration_api:vnf_packages:show": "rule:admin_or_owner"

# List all vnf packages.
# GET  /vnf_packages/
#"os_nfv_orchestration_api:vnf_packages:index": "rule:admin_or_owner"

# Delete a vnf package.
# DELETE  /vnf_packages/{vnf_package_id}
#"os_nfv_orchestration_api:vnf_packages:delete": "rule:admin_or_owner"

# fetch the contents of an on-boarded VNF Package
# GET  /vnf_packages/{vnf_package_id}/package_content
#"os_nfv_orchestration_api:vnf_packages:fetch_package_content": "rule:admin_or_owner"

# upload a vnf package content.
# PUT  /vnf_packages/{vnf_package_id}/package_content
#"os_nfv_orchestration_api:vnf_packages:upload_package_content": "rule:admin_or_owner"

# upload a vnf package content from uri.
# POST  /vnf_packages/{vnf_package_id}/package_content/upload_from_uri
#"os_nfv_orchestration_api:vnf_packages:upload_from_uri": "rule:admin_or_owner"

# update information of vnf package.
# PATCH  /vnf_packages/{vnf_package_id}
#"os_nfv_orchestration_api:vnf_packages:patch": "rule:admin_or_owner"

# reads the content of the VNFD within a VNF package.
# GET  /vnf_packages/{vnf_package_id}/vnfd
#"os_nfv_orchestration_api:vnf_packages:get_vnf_package_vnfd": "rule:admin_or_owner"

# reads the content of the artifact within a VNF package.
# GET  /vnf_packages/{vnfPkgId}/artifacts/{artifactPath}
#"os_nfv_orchestration_api:vnf_packages:fetch_artifact": "rule:admin_or_owner"

# Get API Versions.
# GET  /vnflcm/v1/api_versions
#"os_nfv_orchestration_api:vnf_instances:api_versions": "@"

# Creates vnf instance.
# POST  /vnflcm/v1/vnf_instances
#"os_nfv_orchestration_api:vnf_instances:create": "rule:admin_or_owner"

# Instantiate vnf instance.
# POST  /vnflcm/v1/vnf_instances/{vnfInstanceId}/instantiate
#"os_nfv_orchestration_api:vnf_instances:instantiate": "rule:admin_or_owner"

# Query an Individual VNF instance.
# GET  /vnflcm/v1/vnf_instances/{vnfInstanceId}
#"os_nfv_orchestration_api:vnf_instances:show": "rule:admin_or_owner"

# Terminate a VNF instance.
# POST  /vnflcm/v1/vnf_instances/{vnfInstanceId}/terminate
#"os_nfv_orchestration_api:vnf_instances:terminate": "rule:admin_or_owner"

# Heal a VNF instance.
# POST  /vnflcm/v1/vnf_instances/{vnfInstanceId}/heal
#"os_nfv_orchestration_api:vnf_instances:heal": "rule:admin_or_owner"

# Scale a VNF instance.
# POST  /vnflcm/v1/vnf_instances/{vnfInstanceId}/scale
#"os_nfv_orchestration_api:vnf_instances:scale": "rule:admin_or_owner"

# Query an Individual VNF LCM operation occurrence
# GET  /vnflcm/v1/vnf_lcm_op_occs/{vnfLcmOpOccId}
#"os_nfv_orchestration_api:vnf_instances:show_lcm_op_occs": "rule:admin_or_owner"

# Query VNF LCM operation occurrence
# GET  /vnflcm/v1/vnf_lcm_op_occs
#"os_nfv_orchestration_api:vnf_instances:list_lcm_op_occs": "rule:admin_or_owner"

# Query VNF instances.
# GET  /vnflcm/v1/vnf_instances
#"os_nfv_orchestration_api:vnf_instances:index": "rule:admin_or_owner"

# Delete an Individual VNF instance.
# DELETE  /vnflcm/v1/vnf_instances/{vnfInstanceId}
#"os_nfv_orchestration_api:vnf_instances:delete": "rule:admin_or_owner"

# Update an Individual VNF instance.
# PATCH  /vnflcm/v1/vnf_instances/{vnfInstanceId}
#"os_nfv_orchestration_api:vnf_instances:update_vnf": "rule:admin_or_owner"

# Rollback a VNF instance.
# POST  /vnflcm/v1/vnf_lcm_op_occs/{vnfLcmOpOccId}/rollback
#"os_nfv_orchestration_api:vnf_instances:rollback": "rule:admin_or_owner"

# Cancel a VNF instance.
# POST  /vnflcm/v1/vnf_lcm_op_occs/{vnfLcmOpOccId}/cancel
#"os_nfv_orchestration_api:vnf_instances:cancel": "rule:admin_or_owner"

# Fail a VNF instance.
# POST  /vnflcm/v1/vnf_lcm_op_occs/{vnfLcmOpOccId}/fail
#"os_nfv_orchestration_api:vnf_instances:fail": "rule:admin_or_owner"

# Retry a VNF instance.
# POST  /vnflcm/v1/vnf_lcm_op_occs/{vnfLcmOpOccId}/retry
#"os_nfv_orchestration_api:vnf_instances:retry": "rule:admin_or_owner"

# Change external VNF connectivity.
# POST  /vnflcm/v1/vnf_instances/{vnfInstanceId}/change_ext_conn
#"os_nfv_orchestration_api:vnf_instances:change_ext_conn": "rule:admin_or_owner"

# Get API Versions.
# GET  /vnflcm/v2/api_versions
#"os_nfv_orchestration_api_v2:vnf_instances:api_versions": "@"

# Creates vnf instance.
# POST  /vnflcm/v2/vnf_instances
#"os_nfv_orchestration_api_v2:vnf_instances:create": "@"

# Query VNF instances.
# GET  /vnflcm/v2/vnf_instances
#"os_nfv_orchestration_api_v2:vnf_instances:index": "@"

# Query an Individual VNF instance.
# GET  /vnflcm/v2/vnf_instances/{vnfInstanceId}
#"os_nfv_orchestration_api_v2:vnf_instances:show": "@"

# Delete an Individual VNF instance.
# DELETE  /vnflcm/v2/vnf_instances/{vnfInstanceId}
#"os_nfv_orchestration_api_v2:vnf_instances:delete": "@"

# Modify vnf instance information.
# PATCH  /vnflcm/v2/vnf_instances/{vnfInstanceId}
#"os_nfv_orchestration_api_v2:vnf_instances:update": "@"

# Instantiate vnf instance.
# POST  /vnflcm/v2/vnf_instances/{vnfInstanceId}/instantiate
#"os_nfv_orchestration_api_v2:vnf_instances:instantiate": "@"

# Terminate vnf instance.
# POST  /vnflcm/v2/vnf_instances/{vnfInstanceId}/terminate
#"os_nfv_orchestration_api_v2:vnf_instances:terminate": "@"

# Scale vnf instance.
# POST  /vnflcm/v2/vnf_instances/{vnfInstanceId}/scale
#"os_nfv_orchestration_api_v2:vnf_instances:scale": "@"

# Heal vnf instance.
# POST  /vnflcm/v2/vnf_instances/{vnfInstanceId}/heal
#"os_nfv_orchestration_api_v2:vnf_instances:heal": "@"

# Change external vnf connectivity.
# POST  /vnflcm/v2/vnf_instances/{vnfInstanceId}/change_ext_conn
#"os_nfv_orchestration_api_v2:vnf_instances:change_ext_conn": "@"

# Change vnf package.
# POST  /vnflcm/v2/vnf_instances/{vnfInstanceId}/change_vnfpkg
#"os_nfv_orchestration_api_v2:vnf_instances:change_vnfpkg": "@"

# Create subscription.
# POST  /vnflcm/v2/subscriptions
#"os_nfv_orchestration_api_v2:vnf_instances:subscription_create": "@"

# List subscription.
# GET  /vnflcm/v2/subscriptions
#"os_nfv_orchestration_api_v2:vnf_instances:subscription_list": "@"

# Show subscription.
# GET  /vnflcm/v2/vnf_instances/{subscriptionId}
#"os_nfv_orchestration_api_v2:vnf_instances:subscription_show": "@"

# Delete subscription.
# DELETE  /vnflcm/v2/vnf_instances/{subscriptionId}
#"os_nfv_orchestration_api_v2:vnf_instances:subscription_delete": "@"

# List VnfLcmOpOcc.
# GET  /vnflcm/v2/vnf_lcm_op_occs
#"os_nfv_orchestration_api_v2:vnf_instances:lcm_op_occ_list": "@"

# Show VnfLcmOpOcc.
# GET  /vnflcm/v2/vnf_lcm_op_occs/{vnfLcmOpOccId}
#"os_nfv_orchestration_api_v2:vnf_instances:lcm_op_occ_show": "@"

# Retry VnfLcmOpOcc.
# POST  /vnflcm/v2/vnf_lcm_op_occs/{vnfLcmOpOccId}/retry
#"os_nfv_orchestration_api_v2:vnf_instances:lcm_op_occ_retry": "@"

# Rollback VnfLcmOpOcc.
# POST  /vnflcm/v2/vnf_lcm_op_occs/{vnfLcmOpOccId}/rollback
#"os_nfv_orchestration_api_v2:vnf_instances:lcm_op_occ_rollback": "@"

# Fail VnfLcmOpOcc.
# POST  /vnflcm/v2/vnf_lcm_op_occs/{vnfLcmOpOccId}/fail
#"os_nfv_orchestration_api_v2:vnf_instances:lcm_op_occ_fail": "@"

# Delete VnfLcmOpOcc.
# DELETE  /vnflcm/v2/vnf_lcm_op_occs/{vnfLcmOpOccId}
#"os_nfv_orchestration_api_v2:vnf_instances:lcm_op_occ_delete": "@"

# notify
# POST  /server_notification
#"tacker_server_notification_api:server_notification:notify": "@"

# Query FM alarms.
# GET  /vnffm/v1/alarms
#"os_nfv_orchestration_api_v2:vnf_fault_monitor:index": "@"

# Query an Individual FM alarm.
# GET  /vnffm/v1/alarms/{alarmId}
#"os_nfv_orchestration_api_v2:vnf_fault_monitor:show": "@"

# Modify FM alarm information.
# PATCH  /vnffm/v1/alarms/{alarmId}
#"os_nfv_orchestration_api_v2:vnf_fault_monitor:update": "@"

# Create subscription.
# POST  /vnffm/v1/subscriptions
#"os_nfv_orchestration_api_v2:vnf_fault_monitor:subscription_create": "@"

# List subscription.
# GET  /vnffm/v1/subscriptions
#"os_nfv_orchestration_api_v2:vnf_fault_monitor:subscription_list": "@"

# Show subscription.
# GET  /vnffm/v1/subscriptions/{subscriptionId}
#"os_nfv_orchestration_api_v2:vnf_fault_monitor:subscription_show": "@"

# Delete subscription.
# DELETE  /vnffm/v1/subscriptions/{subscriptionId}
#"os_nfv_orchestration_api_v2:vnf_fault_monitor:subscription_delete": "@"

# Receive the alert sent from External Monitoring Tool
# POST  /alert
#"tacker_PROM_PLUGIN_api:PROM_PLUGIN:alert": "@"

# Create a PM job.
# POST  /vnfpm/v2/pm_jobs
#"os_nfv_orchestration_api_v2:vnf_performance_management:create": "@"

# Query PM jobs.
# GET  /vnfpm/v2/pm_jobs
#"os_nfv_orchestration_api_v2:vnf_performance_management:index": "@"

# Update a PM job.
# PATCH  /vnfpm/v2/pm_jobs/{pmJobId}
#"os_nfv_orchestration_api_v2:vnf_performance_management:update": "@"

# Get an individual PM job.
# GET  /vnfpm/v2/pm_jobs/{pmJobId}
#"os_nfv_orchestration_api_v2:vnf_performance_management:show": "@"

# Delete a PM job.
# DELETE  /vnfpm/v2/pm_jobs/{pmJobId}
#"os_nfv_orchestration_api_v2:vnf_performance_management:delete": "@"

# Get an individual performance report.
# GET  /vnfpm/v2/pm_jobs/{id}/reports/{report_id}
#"os_nfv_orchestration_api_v2:vnf_performance_management:report_get": "@"

# Receive the PM event sent from External Monitoring Tool
# POST  /pm_event
#"tacker_PROM_PLUGIN_api:PROM_PLUGIN:pm_event": "@"

# auto_scaling
# POST  /alert/vnf_instances
#"tacker_PROM_PLUGIN_api:PROM_PLUGIN:auto_scaling": "@"

# auto_scaling_id
# POST  /alert/vnf_instances/{vnfInstanceId}
#"tacker_PROM_PLUGIN_api:PROM_PLUGIN:auto_scaling_id": "@"

