228 is_hidden
This commit is contained in:
+3
-37
@@ -57,7 +57,7 @@
|
|||||||
|
|
||||||
//variables.framework.docs={};
|
//variables.framework.docs={};
|
||||||
variables.framework.docs.APIName="svc-api";
|
variables.framework.docs.APIName="svc-api";
|
||||||
variables.framework.docs.APIVersion="0.227"; /*$ git config --global --unset user.password*/
|
variables.framework.docs.APIVersion="0.228"; /*$ git config --global --unset user.password*/
|
||||||
|
|
||||||
variables.framework.globalHeaders = structNew();
|
variables.framework.globalHeaders = structNew();
|
||||||
variables.framework.globalHeaders["Access-Control-Expose-Headers"] = "Location";
|
variables.framework.globalHeaders["Access-Control-Expose-Headers"] = "Location";
|
||||||
@@ -336,48 +336,14 @@
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////
|
|
||||||
//ensure https because of basic authentication
|
|
||||||
if (!lcase(request.config.environment) == "development"){
|
|
||||||
if (!cgi.server_port_secure) { return newRepresentation().noData().withStatus("403.4", "SSL Required");}
|
|
||||||
}
|
|
||||||
|
|
||||||
request.usr_id=request.UNDEFINED_USR_ID;
|
|
||||||
|
|
||||||
if (checkAuth()) {return true;}
|
|
||||||
|
|
||||||
//return representationOf(arguments.headers);
|
|
||||||
//return representationOf(arguments.cfc);
|
|
||||||
var authToken="";
|
|
||||||
if (structKeyExists(arguments.headers,"x-auth-token")) {authToken=structFind(arguments.headers,"x-auth-token");}
|
|
||||||
var issuedFor="";
|
|
||||||
if (structKeyExists(arguments.headers,"x-issued-for")) {issuedFor=structFind(arguments.headers,"x-issued-for");}
|
|
||||||
if (validatePin(authToken,issuedFor, arguments.verb, arguments.cfc)) return true; //side effect: sets request.usr_id!
|
|
||||||
|
|
||||||
if (!validateCredentials(getBasicAuthCredentials())) {
|
|
||||||
return newRepresentation().noData().withStatus("401", "Invalid Credentials").withHeaders({"WWW-Authenticate":"Basic realm=mms-api"});
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//private function validateToken(token){ return false; }
|
|
||||||
|
|
||||||
//refactoring required
|
|
||||||
private function validateCredentials(credentials) {//return true;
|
|
||||||
if (arguments.credentials.username == "medved" /*AND credentials.password == "ghtdtlrhjcfdxtu!Y"*/) {
|
|
||||||
request.usr_id=-3;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
</cfscript>
|
</cfscript>
|
||||||
|
|
||||||
<!--- стоит ли сообщать отдельно об экспирации пина
|
|
||||||
нужно блокировать перебор, можно делать пару pin-issuedFor
|
|
||||||
вероятно, лучше сделать токен девайса
|
|
||||||
--->
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -80,6 +80,7 @@
|
|||||||
<m:field <!--- formatter=#function(x){return listToArray(generateValueList(x));}# --->>p.func</m:field><!--- *** отчаявшись сделать красиво --->
|
<m:field <!--- formatter=#function(x){return listToArray(generateValueList(x));}# --->>p.func</m:field><!--- *** отчаявшись сделать красиво --->
|
||||||
<m:field>p.ref_svc_id</m:field>
|
<m:field>p.ref_svc_id</m:field>
|
||||||
<m:field formatter=#request.castToBool#>p.is_required</m:field>
|
<m:field formatter=#request.castToBool#>p.is_required</m:field>
|
||||||
|
<m:field formatter=#request.castToBool#>p.is_hidden</m:field>
|
||||||
<m:field>p.default_value</m:field><!--- can be overridden by default_compute --->
|
<m:field>p.default_value</m:field><!--- can be overridden by default_compute --->
|
||||||
<m:field>p.default_compute</m:field>
|
<m:field>p.default_compute</m:field>
|
||||||
<m:field>p.regex</m:field>
|
<m:field>p.regex</m:field>
|
||||||
@@ -170,6 +171,7 @@
|
|||||||
,sp.depends_on_cfs_params
|
,sp.depends_on_cfs_params
|
||||||
,sp.expression
|
,sp.expression
|
||||||
,sp.is_required
|
,sp.is_required
|
||||||
|
,sp.is_hidden
|
||||||
,sp.descr
|
,sp.descr
|
||||||
,sp.man
|
,sp.man
|
||||||
,sp.default_value
|
,sp.default_value
|
||||||
@@ -239,6 +241,7 @@
|
|||||||
"descr":"#local.qSubparam.descr#",
|
"descr":"#local.qSubparam.descr#",
|
||||||
"defaultValue":"#def#",
|
"defaultValue":"#def#",
|
||||||
"isRequired":#request.castToBool(local.qSubparam.is_required)#,
|
"isRequired":#request.castToBool(local.qSubparam.is_required)#,
|
||||||
|
"isHidden":#request.castToBool(local.qSubparam.is_hidden)#,
|
||||||
"isSensitive":#request.castToBool(local.qSubparam.is_sensitive)#,
|
"isSensitive":#request.castToBool(local.qSubparam.is_sensitive)#,
|
||||||
"refSvcId":#local.qSubparam.ref_svc_id#,
|
"refSvcId":#local.qSubparam.ref_svc_id#,
|
||||||
"uniqueScope":"#local.qSubparam.unique_scope#",
|
"uniqueScope":"#local.qSubparam.unique_scope#",
|
||||||
|
|||||||
@@ -0,0 +1,52 @@
|
|||||||
|
drop table if exists vmreports.vm_gpu;
|
||||||
|
create table vmreports.vm (
|
||||||
|
"Name" varchar(255) NULL,
|
||||||
|
"ClientID" varchar(255) NULL, --WZ
|
||||||
|
"VCD" varchar(255) NULL, --vcloud
|
||||||
|
"Org" varchar(255) NULL,
|
||||||
|
"OrgVDC" varchar(255) NULL,
|
||||||
|
"vCenter" varchar(255) NULL,
|
||||||
|
"GPU" jsonb NULL,
|
||||||
|
"OrgStatus" varchar(255) NULL,
|
||||||
|
"Object_UUID" uuid NOT NULL,
|
||||||
|
ts timestamptz NOT NULL
|
||||||
|
,CONSTRAINT PK_vm_gpu PRIMARY KEY (ts, "Object_UUID")
|
||||||
|
);
|
||||||
|
grant all on vmreports.vm to nifi;
|
||||||
|
|
||||||
|
/*
|
||||||
|
{
|
||||||
|
"type": "record",
|
||||||
|
"name": "vmreports.vm_gpu",
|
||||||
|
"namespace": "org.apache.nifi",
|
||||||
|
"fields": [
|
||||||
|
{"name":"Object_UUID", "type":{"type": "string", "logicalType": "uuid"}},
|
||||||
|
{"name":"ts","type":{"type": "long", "logicalType": "local-timestamp-millis"}},
|
||||||
|
|
||||||
|
{"name":"Name", "type":["string" ,"null"]},
|
||||||
|
{"name":"ClientID", "type":["string" ,"null"]},
|
||||||
|
{"name":"VCD", "type":["string" ,"null"]},
|
||||||
|
{"name":"Org", "type":["string" ,"null"]},
|
||||||
|
{"name":"OrgVDC", "type":["string" ,"null"]},
|
||||||
|
{"name":"vCenter", "type":["string" ,"null"]},
|
||||||
|
{"name":"GPU", "type":["string" ,"null"]},
|
||||||
|
{"name":"OrgStatus", "type":["string" ,"null"]}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
{
|
||||||
|
"*": {
|
||||||
|
"objId":"[&1].Name",
|
||||||
|
"1":"[&1].ClientID",
|
||||||
|
"2":"[&1].VCD",
|
||||||
|
"3":"[&1].Org",
|
||||||
|
"4":"[&1].OrgVDC",
|
||||||
|
"5":"[&1].vCenter",
|
||||||
|
"6":"[&1].GPU",
|
||||||
|
"7":"[&1].OrgStatus",
|
||||||
|
"objUUID":"[&1].Object_UUID"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
*/
|
||||||
@@ -39,6 +39,7 @@
|
|||||||
<m:field formatter=#(x)=>((isArray(x) OR isEmpty(x))? x : listToArray(x))#>p.value_list</m:field>
|
<m:field formatter=#(x)=>((isArray(x) OR isEmpty(x))? x : listToArray(x))#>p.value_list</m:field>
|
||||||
<m:field>p.ref_svc_id</m:field>
|
<m:field>p.ref_svc_id</m:field>
|
||||||
<m:field formatter=#request.castToBool#>p.is_required</m:field>
|
<m:field formatter=#request.castToBool#>p.is_required</m:field>
|
||||||
|
<m:field formatter=#request.castToBool#>p.is_hidden</m:field>
|
||||||
<m:field>p.default_value</m:field><!--- can be overridden bu default_compute --->
|
<m:field>p.default_value</m:field><!--- can be overridden bu default_compute --->
|
||||||
<m:field>p.default_compute</m:field>
|
<m:field>p.default_compute</m:field>
|
||||||
<m:field>p.func</m:field>
|
<m:field>p.func</m:field>
|
||||||
|
|||||||
Reference in New Issue
Block a user