Resource profiles

Please note JavaScript support is exclusive to SEAR 0.7.0 and later.

Valid operators for this type of request

Operator Valid
add ✅
alter ✅
delete ✅
extract ✅
search ✅

Extracting information

SEAR provides the extract and search operators to gather information about general resource profiles.

Extracting a specific resource profile

The sample below extracts information about a specific resource profile.

'use strict';

import { sear } from '@mainframe-renewal-project/searjs';

const request = {
    "operation": "extract",
    "admin_type": "resource",
    "resource": "IRR.RADMIN.**",
    "class_name": "facility",
};

const response = sear(request, true);

console.log(JSON.stringify(response.result, null, 2));

Returned result

{
  "profile": {
    "base": {
      "base:alter_access_count": 0,
      "base:auditing": "FAILURES(READ)",
      "base:control_access_count": 0,
      "base:create_date": "12/20/23",
      "base:global_auditing": "NONE",
      "base:last_change_date": "12/20/23",
      "base:last_reference_date": "12/20/23",
      "base:level": "0",
      "base:owner": "ESWIFT",
      "base:read_access_count": 0,
      "base:universal_access": "READ",
      "base:update_access_count": 0,
      "base:warn_on_insufficient_access": false
    }
  },
  "return_codes": {
    "racf_reason_code": 0,
    "racf_return_code": 0,
    "saf_return_code": 0,
    "sear_return_code": 0
  }
}

Searching for resource profiles

Getting a list of all resource profiles in a class

The sample below gets all general resource profiles in the facility class.

'use strict';

import { sear } from '@mainframe-renewal-project/searjs';

const request = {
    "operation": "search",
    "admin_type": "resource",
    "class_name": "facility",
};

const response = sear(request, true);

console.log(JSON.stringify(response.result, null, 2));

Filtering results

The sample below gets all general resource profiles that start with IRR in the facility class. It will return a list of resource profiles, to get metadata on them you will have to run the extract operation on every single resource profile in the list.

'use strict';

import { sear } from '@mainframe-renewal-project/searjs';

const request = {
    "operation": "search",
    "admin_type": "resource",
    "class_name": "facility",
    "resource_filter": "IRR",
};

const response = sear(request, true);

console.log(JSON.stringify(response.result, null, 2));

Updating resource profiles

SEAR provides 3 main operators for updating the RACF database, add, alter, and delete.

Creating a new resource profile

The sample below creates a resource profile called IRR.RADMIN.** in the facility class with a UACC of NONE and the owner set to the “eswift” RACF userid.

'use strict';

import { sear } from '@mainframe-renewal-project/searjs';

const request = {
    "operation": "add",
    "admin_type": "resource",
    "resource": "IRR.RADMIN.**",
    "class_name": "facility",
    "traits": {
        "base:universal_access": "None",
        "base:owner": "SECADM",
    },
};

const response = sear(request, true);

console.log(JSON.stringify(response.result, null, 2));

You can see the full list of traits in the traits/resource section

Altering a resource profile

The sample below sets SECADM as the owner of the IRR.RADMIN.** resource profile in the facility class and sets UACC to “read”

'use strict';

import { sear } from '@mainframe-renewal-project/searjs';

const request = {
    "operation": "alter",
    "admin_type": "resource",
    "resource": "IRR.RADMIN.**",
    "class_name": "facility",
    "traits": {
        "base:universal_access": "Read",
        "base:owner": "SECADM",
    },
};

const response = sear(request, true);

console.log(JSON.stringify(response.result, null, 2));

You can see the full list of traits in the traits/resource section

Deleting a resource profile

The sample below deletes the IRR.RADMIN.** resource profile in the facility class.

'use strict';

import { sear } from '@mainframe-renewal-project/searjs';

const request = {
    "operation": "delete",
    "admin_type": "resource",
    "resource": "IRR.RADMIN.**",
    "class_name": "facility",
};

const response = sear(request, true);

console.log(JSON.stringify(response.result, null, 2));

This site uses Just the Docs, a documentation theme for Jekyll.