Skip to content

Commit 7df3050

Browse files
authored
Merge pull request #157 from boeronline/main
Added user_agent setting
2 parents a81c37e + 580614a commit 7df3050

7 files changed

Lines changed: 31 additions & 1 deletion

File tree

prismacloud/api/cspm/cspm.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ def login(self, url=None):
2020
url = 'https://%s/login' % self.api
2121
action = 'POST'
2222
request_headers = {'Content-Type': 'application/json'}
23+
# Add User-Agent to the headers
24+
request_headers['User-Agent'] = self.user_agent
2325
body_params_json = json.dumps({'username': self.identity, 'password': self.secret})
2426
# try:
2527
# api_response = requests.request(action, url, headers=request_headers, data=body_params_json, verify=self.verify, timeout=self.timeout)
@@ -48,6 +50,8 @@ def extend_login(self):
4850
url = 'https://%s/auth_token/extend' % self.api
4951
action = 'GET'
5052
request_headers = {'Content-Type': 'application/json', 'x-redlock-auth': self.token}
53+
# Add User-Agent to the headers
54+
request_headers['User-Agent'] = self.user_agent
5155
api_response = requests.request(action, url, headers=request_headers, verify=self.verify, timeout=self.timeout)
5256
if api_response.status_code in self.retry_status_codes:
5357
for exponential_wait in self.retry_waits:
@@ -91,6 +95,8 @@ def execute(self, action, endpoint, query_params=None, body_params=None, request
9195
self.debug_print('API Request Headers: (%s)' % request_headers)
9296
self.debug_print('API Query Params: %s' % query_params)
9397
self.debug_print('API Body Params: %s' % body_params_json)
98+
# Add User-Agent to the headers
99+
request_headers['User-Agent'] = self.user_agent
94100
api_response = requests.request(action, url, headers=request_headers, params=query_params, data=body_params_json, verify=self.verify, timeout=self.timeout)
95101
self.debug_print('API Response Status Code: %s' % api_response.status_code)
96102
self.debug_print('API Response Headers: (%s)' % api_response.headers)

prismacloud/api/cwpp/cwpp.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ def execute_compute(self, action, endpoint, query_params=None, body_params=None,
3535
body_params_json = json.dumps(body_params)
3636
else:
3737
body_params_json = None
38+
# Set User Agent
39+
request_headers['User-Agent'] = "W"
3840
# Endpoints that return large numbers of results use a 'Total-Count' response header.
3941
# Pagination is via query parameters for both GET and POST, and the limit has a maximum of 50.
4042
offset = 0
@@ -59,6 +61,8 @@ def execute_compute(self, action, endpoint, query_params=None, body_params=None,
5961
self.debug_print('API Request Headers: (%s)' % request_headers)
6062
self.debug_print('API Query Params: %s' % query_params)
6163
self.debug_print('API Body Params: %s' % body_params_json)
64+
# Add User-Agent to the headers
65+
request_headers['User-Agent'] = self.user_agent
6266
api_response = requests.request(action, url, headers=request_headers, params=query_params, data=body_params_json, verify=self.verify, timeout=self.timeout)
6367
self.debug_print('API Response Status Code: (%s)' % api_response.status_code)
6468
self.debug_print('API Response Headers: (%s)' % api_response.headers)

prismacloud/api/pc_lib_api.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
from .pccs import PrismaCloudAPIPCCS
88

99
from .pc_lib_utility import PrismaCloudUtility
10+
from .version import version # Import version from your version.py
1011

1112
# --Description-- #
1213

@@ -46,6 +47,9 @@ def __init__(self):
4647
#
4748
self.error_log = 'error.log'
4849
self.logger = None
50+
# Set User-Agent
51+
default_user_agent = f"PrismaCloudAPI/{version}" # Dynamically set default User-Agent
52+
self.user_agent = default_user_agent
4953

5054
def __repr__(self):
5155
return 'Prisma Cloud API:\n API: (%s)\n Compute API: (%s)\n API Error Count: (%s)\n API Token: (%s)' % (self.api, self.api_compute, self.logger.error.counter, self.token)
@@ -56,6 +60,8 @@ def configure(self, settings, use_meta_info=True):
5660
self.secret = settings.get('secret')
5761
self.verify = settings.get('verify', True)
5862
self.debug = settings.get('debug', False)
63+
self.user_agent = settings.get('user_agent', self.user_agent)
64+
print(self.user_agent)
5965
#
6066
# self.logger = settings['logger']
6167
self.logger = logging.getLogger(__name__)

prismacloud/api/pccs/pccs.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@ def execute_code_security(self, action, endpoint, query_params=None, body_params
4040
self.debug_print('API Headers: %s' % request_headers)
4141
self.debug_print('API Query Params: %s' % query_params)
4242
self.debug_print('API Body Params: %s' % body_params_json)
43+
# Add User-Agent to the headers
44+
request_headers['User-Agent'] = self.user_agent
4345
api_response = requests.request(action, url, headers=request_headers, params=query_params, data=body_params_json, verify=self.verify, timeout=self.timeout)
4446
self.debug_print('API Response Status Code: %s' % api_response.status_code)
4547
self.debug_print('API Response Headers: (%s)' % api_response.headers)

prismacloud/api/version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
""" version file """
22

3-
version = '5.2.5'
3+
version = '5.2.6'

scripts/pc_compute_cloud_discovery_example_standalone.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,9 @@
4040
api_url = 'https://' + PRISMA_CLOUD_COMPUTE_CONSOLE_URL + PRISMA_CLOUD_COMPUTE_CONSOLE_API_VERSION + '/credentials'
4141
action = 'POST'
4242

43+
# Add User-Agent to the headers
44+
request_headers['User-Agent'] = self.user_agent
45+
4346
# Set the POST
4447
data = {}
4548
data['_id'] = PRISMA_CLOUD_CREDENTIAL_FRIENDLY_NAME
@@ -67,6 +70,9 @@
6770
api_url = 'https://' + PRISMA_CLOUD_COMPUTE_CONSOLE_URL + PRISMA_CLOUD_COMPUTE_CONSOLE_API_VERSION + '/policies/cloud-platforms'
6871
action = 'GET'
6972

73+
# Add User-Agent to the headers
74+
request_headers['User-Agent'] = self.user_agent
75+
7076
# GET
7177
response_raw = requests.request(action, api_url, auth=HTTPBasicAuth(PRISMA_CLOUD_API_ACCESS_KEY, PRISMA_CLOUD_API_SECRET_KEY), headers=headers, timeout=16)
7278
response_data = response_raw.json()
@@ -78,6 +84,9 @@
7884
api_url = 'https://' + PRISMA_CLOUD_COMPUTE_CONSOLE_URL + PRISMA_CLOUD_COMPUTE_CONSOLE_API_VERSION + '/policies/cloud-platforms'
7985
action = 'PUT'
8086

87+
# Add User-Agent to the headers
88+
request_headers['User-Agent'] = self.user_agent
89+
8190
# Set the POST
8291
new_policy_object = {}
8392
new_policy_object['awsRegionType'] = 'regular'

scripts/pcs_compute_forward_to_siem.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,9 @@ def outbound_api_call(data_type:str, data: Union[list, dict]):
100100
profile_log('OUTBOUND_API_CALL', 'FINISHED')
101101
return
102102
print(f' OUTBOUND_API_CALL for {data_type} ...')
103+
# Add User-Agent to the headers
104+
req_headers['User-Agent'] = self.user_agent
105+
103106
api_response = requests.request(req_method, req_url, headers=req_headers, params=req_query_params, data=json.dumps(req_body_params), timeout=req_timeout, verify=False)
104107
if api_response.status_code in retry_status_codes:
105108
for _ in range(1, retry_limit):

0 commit comments

Comments
 (0)