Difference between revisions of "I2Rest Client command"

From i2Rest
Jump to: navigation, search
 
(15 intermediate revisions by one other user not shown)
Line 1: Line 1:
== I2rest command description ==
+
{{DISPLAYTITLE:i2Rest command description}}
 +
The command I2REST is used to interact with i2Rest Client. This command is located in i2Rest distribution library, which default name is I2REST. The command requires i2Rest distribution library in job's library list.<br/>
 +
You can use command I2REST in interactive and batch modes. It is unable to show authorization screen in batch mode.
 
=== Parameters ===
 
=== Parameters ===
 
{| class="wikitable"
 
{| class="wikitable"
Line 22: Line 24:
 
| Value || Character value  
 
| Value || Character value  
 
|-
 
|-
|style="color: #8080FF; font-weight: bold;" rowspan=7| ATTACH || Stream file || Path name  
+
|style="color: #8080FF; font-weight: bold;" rowspan=6| ATTACH || Stream file || Path name  
 
|-
 
|-
 
| or Body string ||  Character value  
 
| or Body string ||  Character value  
Line 50: Line 52:
 
|style="color: #8080FF; font-weight: bold;»|SENTLOG || Log sent messages || Character value  
 
|style="color: #8080FF; font-weight: bold;»|SENTLOG || Log sent messages || Character value  
 
|-
 
|-
|style="color: #8080FF; font-weight: bold;»|AUTHMETHOD || Authentication method ||'''*OAUTH2D''', *OAUTH2C, *BASIC, *NONE  
+
|style="color: #8080FF; font-weight: bold;»|AUTHMETHOD || Authentication method ||'''*OAUTH2D''', *OAUTH2C, *BASIC, *NONE, *BRIDGE
 
|-
 
|-
 
|style="color: #8080FF; font-weight: bold;»|TOKENS || Tokens storage || Character value  
 
|style="color: #8080FF; font-weight: bold;»|TOKENS || Tokens storage || Character value  
Line 77: Line 79:
 
|-
 
|-
 
|style="color: #8080FF; font-weight: bold;»|SCOPE || OAuth2 authorization scopes || Character value  
 
|style="color: #8080FF; font-weight: bold;»|SCOPE || OAuth2 authorization scopes || Character value  
 +
|-
 +
|style="color: #8080FF; font-weight: bold;»|BRIDGEURL || i2Rest access flow bridge url || Character value
 +
|-
 +
|style="color: #8080FF; font-weight: bold;»|BRIDGEID || i2Rest bridge client ID || Character value
 +
|-
 +
|style="color: #8080FF; font-weight: bold;»|BRIDGEPW || i2Rest bridge client password || Character value
 
|}
 
|}
  
  
<div id="COMAND"></div>'''Comand''' (COMAND)<BR>
+
<div id="COMMAND"></div>'''Command''' (COMAND)<BR>
 
Specify the request method used for the URI request.
 
Specify the request method used for the URI request.
 
This is a required parameter.
 
This is a required parameter.
Line 92: Line 100:
  
 
::''Qualifier 1: Stream file''<BR>
 
::''Qualifier 1: Stream file''<BR>
::Specify location of the stream file that you will be uploaded.
+
::Specify location of the stream file that should be uploaded as request body.
 
::Should be entered if "or Body string" parameter is blanks.
 
::Should be entered if "or Body string" parameter is blanks.
  
 
::''Qualifier 2: or Body string''<BR>
 
::''Qualifier 2: or Body string''<BR>
::Specify attributes of the stream file that you will be uploaded.
+
::Specify content to the inserted into the request body.
 
::Should be entered if "Stream file" parameter is blanks.
 
::Should be entered if "Stream file" parameter is blanks.
  
Line 103: Line 111:
  
 
::''Qualifier 4: Convert?''<BR>
 
::''Qualifier 4: Convert?''<BR>
::Specifies whether a request body data should be converted to another CCSID.
+
::Specifies whether a request body content should be converted to another CCSID.
  
 
::''Qualifier 5: To CCSID?''<BR>
 
::''Qualifier 5: To CCSID?''<BR>
Line 119: Line 127:
 
<div id="ATTACH"></div>'''Attachments''' (ATTACH)<BR>
 
<div id="ATTACH"></div>'''Attachments''' (ATTACH)<BR>
 
Specify request attachments details (if any).
 
Specify request attachments details (if any).
This is an optional parameter.
+
This is an optional parameter
  
 
::''Qualifier 1: Stream file''<BR>
 
::''Qualifier 1: Stream file''<BR>
::Specify location of the stream file that you will be uploaded.
+
::Specify location of the stream file that should be uploaded as an attacment.
 
::Should be entered if "or Body string" parameter is blanks.
 
::Should be entered if "or Body string" parameter is blanks.
  
 
::''Qualifier 2: or Body string''<BR>
 
::''Qualifier 2: or Body string''<BR>
::Specify attributes of the stream file that you will be uploaded.
+
Specify content to be inserted into the request attachment body.
 
::Should be entered if "Stream file" parameter is blanks.
 
::Should be entered if "Stream file" parameter is blanks.
  
Line 140: Line 148:
  
 
::''Qualifier 6: To CCSID?''<BR>
 
::''Qualifier 6: To CCSID?''<BR>
::Specifies CCSID attachment data should be converted to. Must be entered, if *YES specified for the "Convert?" parameter.
+
::Specifies CCSID attachment content should be converted to. Must be entered, if *YES specified for the "Convert?" parameter.
  
  
Line 147: Line 155:
  
 
<div id="REPLACE"></div>'''Replace stream file?''' (REPLACE)<BR>
 
<div id="REPLACE"></div>'''Replace stream file?''' (REPLACE)<BR>
Specify whether straeam file data should be overridden.
+
Specify whether stream file data should be overridden.
  
 
<div id="STMFCCSID"></div>'''Stream file CCSID?''' (STMFCCSID)<BR>
 
<div id="STMFCCSID"></div>'''Stream file CCSID?''' (STMFCCSID)<BR>
 
Specify CCSID of a stream file.
 
Specify CCSID of a stream file.
  
v'''Convert output data?''' (CONVERT)<BR>
+
<div id="CONVERT"></div>'''Convert output data?''' (CONVERT)<BR>
 
Specifies whether attachment data should be converted to another CCSID.
 
Specifies whether attachment data should be converted to another CCSID.
  
Line 165: Line 173:
  
 
<div id="AUTHMETHOD"></div> '''Authentication method''' (AUTHMETHOD)<BR>
 
<div id="AUTHMETHOD"></div> '''Authentication method''' (AUTHMETHOD)<BR>
Specifies authentification method for the request.
+
Specifies an authentification method of the request.
 
::*OAUTH2D - stands for OAuth2 Device flow
 
::*OAUTH2D - stands for OAuth2 Device flow
 
::*OAUTH2C - stands for OAuth2 Client flow  
 
::*OAUTH2C - stands for OAuth2 Client flow  
 
::*BASIC - a method for an HTTP user agent to provide a user name and password when making a request  
 
::*BASIC - a method for an HTTP user agent to provide a user name and password when making a request  
 
::*NONE - no authentification method used.
 
::*NONE - no authentification method used.
 
  
 
<div id="TOKENS"></div>'''Tokens storage''' (TOKENS)<BR>
 
<div id="TOKENS"></div>'''Tokens storage''' (TOKENS)<BR>
Path to token storage file. Either IFS or LIB file system approach (ex. - '/qsys.lib/qtemp.lib/tokens.usrspc') could be applied.
+
Path to token storage file. Either IFS or LIB file system approach (ex. - '/qsys.lib/qtemp.lib/tokens.usrspc') could be applied. If not provided, every request with *OAUTH2D, *OAUTH2C and *BRIDGE authorization method will perform authorization flow to obtain new token. Refresh token flows are also not allowed without correct token storage file path provided.  
  
 
<div id="REUSE"></div>'''Try to use saved token''' (REUSE)<BR>
 
<div id="REUSE"></div>'''Try to use saved token''' (REUSE)<BR>
Line 180: Line 187:
 
<div id="REFRESH"></div>'''Try to use refresh token''' (REFRESH)<BR>
 
<div id="REFRESH"></div>'''Try to use refresh token''' (REFRESH)<BR>
 
Specifies either refresh token flow should be used with request  
 
Specifies either refresh token flow should be used with request  
 
<div id="ASK"></div>'''Ask for authorization''' (ASK)<BR>
 
Specify either authorization request should be performed.
 
  
 
<div id="PROMPT"></div>'''Show authorization screen?''' (PROMPT)
 
<div id="PROMPT"></div>'''Show authorization screen?''' (PROMPT)
Specifies roles to be familiarized with authorization screen
+
Specify User to whom authorization screen will be displayed.
 
::*REQUESTER - User perfoming request
 
::*REQUESTER - User perfoming request
 
::*BOTH - requester and remote user
 
::*BOTH - requester and remote user
Line 191: Line 195:
 
::*NONE
 
::*NONE
 
::*READONLY
 
::*READONLY
 +
 +
<div id="ASK"></div>'''Send authorization request to''' (ASK)<BR>
 +
Specify either authorization request should be performed.
  
 
<div id="RMTAUTPGM"></div>'''Program to send remote request''' (RMTAUTPGM)
 
<div id="RMTAUTPGM"></div>'''Program to send remote request''' (RMTAUTPGM)
Line 202: Line 209:
 
Specify OAuth2 client/device password to be authentificated with authorization server.
 
Specify OAuth2 client/device password to be authentificated with authorization server.
  
<div id="TOKENURL"></div>'''OAuth2 authorization endpoint''' (TOKENURL)<BR>
+
<div id="AUTHURL"></div>'''OAuth2 authorization endpoint''' (AUTHURL)<BR>
 
Specify URI to be requested for OAuth2 client/device authorization.
 
Specify URI to be requested for OAuth2 client/device authorization.
  
Line 209: Line 216:
  
 
<div id="SCOPE"></div>'''OAuth2 authorization scopes''' (SCOPE)<BR>
 
<div id="SCOPE"></div>'''OAuth2 authorization scopes''' (SCOPE)<BR>
Specifies authorization scopes should be used with request. Used with *OAUTH2D or *OAUTH2C authentification method
+
Specifies authorization scopes should be used with request. Used with *OAUTH2D, *OAUTH2C and *BRIDGE  authorization method.
 +
 
 +
<div id="BRIDGEURL"></div>'''i2Rest access flow bridge url''' (BRIDGEURL)<BR>
 +
Specify URL to be used as redirection URI in Authorization Code flow.  Used with *BRIDGE authorization method.
  
=== Examples ===
+
<div id="BRIDGEID"></div>'''i2Rest bridge client ID''' (BRIDGEID)<BR>
'''Example 1 Device flow'''<<BR>>
+
ID to be used authenticating i2rest Client with i2Rest Server in Authorization Code flow. Used with *BRIDGE authorization method.
I2REST COMMAND(*POST) URL('http://192.168.0.233:8080') BODY(*N '{"command"
 
:"STATUS"}' 'application/json' *YES 1208) OUTPUT(*BOTH) TOKENS('/qsys.lib/qtemp.
 
lib/tokens.usrspc') ASK(*REQUESTER) PROMPT(*REQUESTER) AUTHID(OAUTH21) AUTHPW(oa
 
uth21) AUTHURL('http://i2rest.com:22088/oauth2/device') TOKENURL('http://i2rest.
 
com:22088/oauth2/access') SCOPE(manager_functions)
 
  
----
+
<div id="BRIDGEPW"></div>'''i2Rest bridge client passwd''' (BRIDGEPW)<BR>
[[I2Rest_Client|Back to i2Rest Client]]
+
Password to be used authenticating i2rest Client with i2Rest Server in Authorization Code flow. Used with *BRIDGE authorization method.

Latest revision as of 07:19, 26 August 2020

The command I2REST is used to interact with i2Rest Client. This command is located in i2Rest distribution library, which default name is I2REST. The command requires i2Rest distribution library in job's library list.
You can use command I2REST in interactive and batch modes. It is unable to show authorization screen in batch mode.

Parameters

Keyword Description Choices
COMMAND Command *POST, *GET, *PUT, *DEL
URL API endpoint Path name
BODY Stream file Path name
or Body string Character value
MIME type Character value
Convert? *YES, *NO
To CCSID Number
HEADERS Name Character value
Value Character value
ATTACH Stream file Path name
or Body string Character value
ID Character value, *Same
MIME type Character value
Convert? *YES, *NO
To CCSID Number
TOSTMF Save response to stream file Path name
REPLACE Replace stream file? *YES, *NO
STMFCCSID Stream file CCSID Number
CONVERT Convert output data? *YES, *NO
OUTPUT Output log events to *NONE, *PRINT, *JOBLOG, *BOTH
DCMCLIENT DCM client application ID Character value
RECVLOG Log recv messages Character value
SENTLOG Log sent messages Character value
AUTHMETHOD Authentication method *OAUTH2D, *OAUTH2C, *BASIC, *NONE, *BRIDGE
TOKENS Tokens storage Character value
REUSE Try to use saved token *YES, *NO
REFRESH Try to use refresh token *YES, *NO
PROMPT Show authorization screen? *REQUESTER, *BOTH, *REMOTE, *NONE, *READONLY
WAIT Time to wait authorization 99999, Number
ASK Send authorization request to Character value, *REQUESTER, *NONE
RMTUSRLEN Length of Authorizer field 10, Number
RMTAUTPGM Program to send remote request Name, *DFT
AUTHID User/OAuth2 client/device ID Character value
AUTHPW User/OAuth2 client/dev passwd Character value
AUTHURL OAuth2 authorization endpoint Character value
TOKENURL OAuth2 token endpoint Character value
SCOPE OAuth2 authorization scopes Character value
BRIDGEURL i2Rest access flow bridge url Character value
BRIDGEID i2Rest bridge client ID Character value
BRIDGEPW i2Rest bridge client password Character value


Command (COMAND)

Specify the request method used for the URI request. This is a required parameter.

API endpoint (URL)

Enter the URI that will be requested. This is a required parameter.

Body (BODY)

Specify request body details (if any).

Qualifier 1: Stream file
Specify location of the stream file that should be uploaded as request body.
Should be entered if "or Body string" parameter is blanks.
Qualifier 2: or Body string
Specify content to the inserted into the request body.
Should be entered if "Stream file" parameter is blanks.
Qualifier 3: MIME type
Specify MIME-type of a request body.
Qualifier 4: Convert?
Specifies whether a request body content should be converted to another CCSID.
Qualifier 5: To CCSID?
Specifies CCSID request body data should be converted to. Must be entered, if *YES specified for the "Convert?" parameter.

Additional Headers (HEADERS)

Specify Additional headers for request (if any).

Qualifier 1: Name
Specify the name of an Additional header.
Qualifier 2: Value
Specify the value of an Additional header.

Attachments (ATTACH)

Specify request attachments details (if any). This is an optional parameter

Qualifier 1: Stream file
Specify location of the stream file that should be uploaded as an attacment.
Should be entered if "or Body string" parameter is blanks.
Qualifier 2: or Body string

Specify content to be inserted into the request attachment body.

Should be entered if "Stream file" parameter is blanks.
Qualifier 3: MIME type
Specify MIME-type of the attachment.
Qualifier 4: ID
Specify stream file name for server upload.
*Same - to use "Stream file" parameter
Qualifier 5: Convert?
Specifies whether attachment data should be converted to another CCSID.
Qualifier 6: To CCSID?
Specifies CCSID attachment content should be converted to. Must be entered, if *YES specified for the "Convert?" parameter.


Save response to stream file (TOSTMF)

Specify whether responce data should be saved to stream file.

Replace stream file? (REPLACE)

Specify whether stream file data should be overridden.

Stream file CCSID? (STMFCCSID)

Specify CCSID of a stream file.

Convert output data? (CONVERT)

Specifies whether attachment data should be converted to another CCSID.

Output log events to (OUTPUT)

Specify logging destination

Log recv messages (RECVLOG)

Path to log file. Either IFS or LIB file system approach (ex. - '/qsys.lib/qtemp.lib/recv.log') could be applied.

Log sent messages (SENTLOG)

Path to log file. Either IFS or LIB file system approach (ex. - '/qsys.lib/qtemp.lib/sent.log') could be applied.

Authentication method (AUTHMETHOD)

Specifies an authentification method of the request.

  • OAUTH2D - stands for OAuth2 Device flow
  • OAUTH2C - stands for OAuth2 Client flow
  • BASIC - a method for an HTTP user agent to provide a user name and password when making a request
  • NONE - no authentification method used.

Tokens storage (TOKENS)

Path to token storage file. Either IFS or LIB file system approach (ex. - '/qsys.lib/qtemp.lib/tokens.usrspc') could be applied. If not provided, every request with *OAUTH2D, *OAUTH2C and *BRIDGE authorization method will perform authorization flow to obtain new token. Refresh token flows are also not allowed without correct token storage file path provided.

Try to use saved token (REUSE)

Specifies either saved token should be used with request

Try to use refresh token (REFRESH)

Specifies either refresh token flow should be used with request

Show authorization screen? (PROMPT)

Specify User to whom authorization screen will be displayed.

  • REQUESTER - User perfoming request
  • BOTH - requester and remote user
  • REMOTE - some other IBM I user
  • NONE
  • READONLY

Send authorization request to (ASK)

Specify either authorization request should be performed.

Program to send remote request (RMTAUTPGM)

Specify application to be used to pole authorization server.

  • DFT - built-in I2rest application

User/OAuth2 client/device ID (AUTHID)

Specify OAuth2 client/device ID to be authentificated with authorization server.

User/OAuth2 client/dev passwd (AUTHPW)

Specify OAuth2 client/device password to be authentificated with authorization server.

OAuth2 authorization endpoint (AUTHURL)

Specify URI to be requested for OAuth2 client/device authorization.

OAuth2 token endpoint (TOKENURL)

Specify URI to be requested for a OAuth2 flow token.

OAuth2 authorization scopes (SCOPE)

Specifies authorization scopes should be used with request. Used with *OAUTH2D, *OAUTH2C and *BRIDGE authorization method.

i2Rest access flow bridge url (BRIDGEURL)

Specify URL to be used as redirection URI in Authorization Code flow. Used with *BRIDGE authorization method.

i2Rest bridge client ID (BRIDGEID)

ID to be used authenticating i2rest Client with i2Rest Server in Authorization Code flow. Used with *BRIDGE authorization method.

i2Rest bridge client passwd (BRIDGEPW)

Password to be used authenticating i2rest Client with i2Rest Server in Authorization Code flow. Used with *BRIDGE authorization method.