pulumi-oci 1.19.0a1705693078__py3-none-any.whl → 1.20.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (111) hide show
  1. pulumi_oci/__init__.py +59 -0
  2. pulumi_oci/adm/_inputs.py +99 -18
  3. pulumi_oci/adm/get_remediation_run_application_dependency_recommendations.py +23 -3
  4. pulumi_oci/adm/get_vulnerability_audit.py +31 -5
  5. pulumi_oci/adm/get_vulnerability_audit_application_dependency_vulnerabilities.py +43 -6
  6. pulumi_oci/adm/get_vulnerability_audit_application_dependency_vulnerability.py +27 -1
  7. pulumi_oci/adm/get_vulnerability_audits.py +54 -3
  8. pulumi_oci/adm/outputs.py +296 -31
  9. pulumi_oci/adm/remediation_recipe.py +2 -0
  10. pulumi_oci/adm/vulnerability_audit.py +96 -37
  11. pulumi_oci/database/__init__.py +1 -0
  12. pulumi_oci/database/_inputs.py +40 -0
  13. pulumi_oci/database/cloud_vm_cluster.py +22 -1
  14. pulumi_oci/database/get_system_versions.py +173 -0
  15. pulumi_oci/database/outputs.py +88 -0
  16. pulumi_oci/database/vm_cluster.py +22 -1
  17. pulumi_oci/datasafe/__init__.py +22 -0
  18. pulumi_oci/datasafe/_inputs.py +1826 -161
  19. pulumi_oci/datasafe/audit_trail.py +140 -0
  20. pulumi_oci/datasafe/discovery_mod.py +7 -7
  21. pulumi_oci/datasafe/get_audit_trail.py +66 -1
  22. pulumi_oci/datasafe/get_discovery_job.py +1 -1
  23. pulumi_oci/datasafe/get_discovery_jobs_result.py +1 -1
  24. pulumi_oci/datasafe/get_discovery_jobs_results.py +1 -1
  25. pulumi_oci/datasafe/get_masking_policies_masking_column.py +1 -1
  26. pulumi_oci/datasafe/get_masking_policies_masking_columns.py +1 -1
  27. pulumi_oci/datasafe/get_masking_policy.py +1 -1
  28. pulumi_oci/datasafe/get_report.py +1 -1
  29. pulumi_oci/datasafe/get_security_assessment.py +3 -3
  30. pulumi_oci/datasafe/get_security_assessment_comparison.py +5 -5
  31. pulumi_oci/datasafe/get_security_assessment_finding.py +29 -3
  32. pulumi_oci/datasafe/get_security_assessment_finding_analytics.py +276 -0
  33. pulumi_oci/datasafe/get_security_assessment_findings.py +43 -7
  34. pulumi_oci/datasafe/get_security_assessment_findings_change_audit_logs.py +309 -0
  35. pulumi_oci/datasafe/get_security_assessment_security_feature_analytics.py +198 -0
  36. pulumi_oci/datasafe/get_security_assessment_security_features.py +377 -0
  37. pulumi_oci/datasafe/get_security_assessments.py +2 -2
  38. pulumi_oci/datasafe/get_security_policies.py +253 -0
  39. pulumi_oci/datasafe/get_security_policy.py +235 -0
  40. pulumi_oci/datasafe/get_security_policy_deployment.py +261 -0
  41. pulumi_oci/datasafe/get_security_policy_deployment_security_policy_entry_state.py +165 -0
  42. pulumi_oci/datasafe/get_security_policy_deployment_security_policy_entry_states.py +180 -0
  43. pulumi_oci/datasafe/get_security_policy_deployments.py +293 -0
  44. pulumi_oci/datasafe/get_security_policy_report.py +248 -0
  45. pulumi_oci/datasafe/get_security_policy_report_database_table_access_entries.py +158 -0
  46. pulumi_oci/datasafe/get_security_policy_report_database_table_access_entry.py +408 -0
  47. pulumi_oci/datasafe/get_security_policy_report_database_view_access_entries.py +178 -0
  48. pulumi_oci/datasafe/get_security_policy_report_database_view_access_entry.py +382 -0
  49. pulumi_oci/datasafe/get_security_policy_report_role_grant_paths.py +177 -0
  50. pulumi_oci/datasafe/get_security_policy_reports.py +273 -0
  51. pulumi_oci/datasafe/get_sensitive_data_model.py +1 -1
  52. pulumi_oci/datasafe/get_target_database.py +27 -4
  53. pulumi_oci/datasafe/get_target_database_peer_target_database.py +263 -0
  54. pulumi_oci/datasafe/get_target_database_peer_target_databases.py +133 -0
  55. pulumi_oci/datasafe/get_target_databases.py +1 -1
  56. pulumi_oci/datasafe/get_user_assessment.py +5 -5
  57. pulumi_oci/datasafe/get_user_assessment_comparison.py +2 -2
  58. pulumi_oci/datasafe/get_user_assessment_user_access_analytics.py +133 -0
  59. pulumi_oci/datasafe/get_user_assessment_user_analytics.py +2 -2
  60. pulumi_oci/datasafe/get_user_assessment_users.py +42 -2
  61. pulumi_oci/datasafe/get_user_assessments.py +2 -2
  62. pulumi_oci/datasafe/masking_policies_masking_column.py +7 -7
  63. pulumi_oci/datasafe/masking_policy.py +9 -9
  64. pulumi_oci/datasafe/outputs.py +16686 -9777
  65. pulumi_oci/datasafe/report.py +559 -0
  66. pulumi_oci/datasafe/security_assessment.py +12 -12
  67. pulumi_oci/datasafe/sensitive_data_model.py +7 -7
  68. pulumi_oci/datasafe/set_security_assessment_baseline.py +7 -7
  69. pulumi_oci/datasafe/set_user_assessment_baseline.py +7 -7
  70. pulumi_oci/datasafe/target_database.py +146 -25
  71. pulumi_oci/datasafe/target_database_peer_target_database.py +634 -0
  72. pulumi_oci/datasafe/user_assessment.py +20 -20
  73. pulumi_oci/generativeai/__init__.py +18 -0
  74. pulumi_oci/generativeai/_inputs.py +534 -0
  75. pulumi_oci/generativeai/dedicated_ai_cluster.py +808 -0
  76. pulumi_oci/generativeai/endpoint.py +717 -0
  77. pulumi_oci/generativeai/get_dedicated_ai_cluster.py +288 -0
  78. pulumi_oci/generativeai/get_dedicated_ai_clusters.py +183 -0
  79. pulumi_oci/generativeai/get_endpoint.py +275 -0
  80. pulumi_oci/generativeai/get_endpoints.py +183 -0
  81. pulumi_oci/generativeai/get_model.py +353 -0
  82. pulumi_oci/generativeai/get_models.py +220 -0
  83. pulumi_oci/generativeai/model.py +858 -0
  84. pulumi_oci/generativeai/outputs.py +1721 -0
  85. pulumi_oci/marketplace/get_publication.py +14 -1
  86. pulumi_oci/marketplace/outputs.py +11 -0
  87. pulumi_oci/marketplace/publication.py +28 -0
  88. pulumi_oci/monitoring/__init__.py +3 -0
  89. pulumi_oci/monitoring/_inputs.py +82 -4
  90. pulumi_oci/monitoring/alarm.py +15 -15
  91. pulumi_oci/monitoring/alarm_suppression.py +745 -0
  92. pulumi_oci/monitoring/get_alarm.py +5 -5
  93. pulumi_oci/monitoring/get_alarm_history_collection.py +4 -4
  94. pulumi_oci/monitoring/get_alarm_statuses.py +3 -1
  95. pulumi_oci/monitoring/get_alarm_suppression.py +276 -0
  96. pulumi_oci/monitoring/get_alarm_suppressions.py +192 -0
  97. pulumi_oci/monitoring/get_metric_data.py +12 -8
  98. pulumi_oci/monitoring/get_metrics.py +2 -2
  99. pulumi_oci/monitoring/outputs.py +355 -50
  100. pulumi_oci/networkfirewall/_inputs.py +25 -20
  101. pulumi_oci/networkfirewall/outputs.py +40 -30
  102. pulumi_oci/stackmonitoring/__init__.py +3 -0
  103. pulumi_oci/stackmonitoring/_inputs.py +143 -0
  104. pulumi_oci/stackmonitoring/get_process_set.py +236 -0
  105. pulumi_oci/stackmonitoring/get_process_sets.py +156 -0
  106. pulumi_oci/stackmonitoring/outputs.py +422 -0
  107. pulumi_oci/stackmonitoring/process_set.py +548 -0
  108. {pulumi_oci-1.19.0a1705693078.dist-info → pulumi_oci-1.20.0.dist-info}/METADATA +1 -1
  109. {pulumi_oci-1.19.0a1705693078.dist-info → pulumi_oci-1.20.0.dist-info}/RECORD +111 -70
  110. {pulumi_oci-1.19.0a1705693078.dist-info → pulumi_oci-1.20.0.dist-info}/WHEEL +0 -0
  111. {pulumi_oci-1.19.0a1705693078.dist-info → pulumi_oci-1.20.0.dist-info}/top_level.txt +0 -0
@@ -23,7 +23,7 @@ class GetSecurityAssessmentFindingResult:
23
23
  """
24
24
  A collection of values returned by getSecurityAssessmentFinding.
25
25
  """
26
- def __init__(__self__, access_level=None, compartment_id_in_subtree=None, filters=None, finding_key=None, findings=None, id=None, references=None, security_assessment_id=None, severity=None):
26
+ def __init__(__self__, access_level=None, compartment_id_in_subtree=None, filters=None, finding_key=None, findings=None, id=None, is_top_finding=None, references=None, security_assessment_id=None, severity=None, state=None):
27
27
  if access_level and not isinstance(access_level, str):
28
28
  raise TypeError("Expected argument 'access_level' to be a str")
29
29
  pulumi.set(__self__, "access_level", access_level)
@@ -42,6 +42,9 @@ class GetSecurityAssessmentFindingResult:
42
42
  if id and not isinstance(id, str):
43
43
  raise TypeError("Expected argument 'id' to be a str")
44
44
  pulumi.set(__self__, "id", id)
45
+ if is_top_finding and not isinstance(is_top_finding, bool):
46
+ raise TypeError("Expected argument 'is_top_finding' to be a bool")
47
+ pulumi.set(__self__, "is_top_finding", is_top_finding)
45
48
  if references and not isinstance(references, str):
46
49
  raise TypeError("Expected argument 'references' to be a str")
47
50
  pulumi.set(__self__, "references", references)
@@ -51,6 +54,9 @@ class GetSecurityAssessmentFindingResult:
51
54
  if severity and not isinstance(severity, str):
52
55
  raise TypeError("Expected argument 'severity' to be a str")
53
56
  pulumi.set(__self__, "severity", severity)
57
+ if state and not isinstance(state, str):
58
+ raise TypeError("Expected argument 'state' to be a str")
59
+ pulumi.set(__self__, "state", state)
54
60
 
55
61
  @property
56
62
  @pulumi.getter(name="accessLevel")
@@ -85,6 +91,11 @@ class GetSecurityAssessmentFindingResult:
85
91
  """
86
92
  return pulumi.get(self, "id")
87
93
 
94
+ @property
95
+ @pulumi.getter(name="isTopFinding")
96
+ def is_top_finding(self) -> Optional[bool]:
97
+ return pulumi.get(self, "is_top_finding")
98
+
88
99
  @property
89
100
  @pulumi.getter
90
101
  def references(self) -> Optional[str]:
@@ -100,6 +111,11 @@ class GetSecurityAssessmentFindingResult:
100
111
  def severity(self) -> Optional[str]:
101
112
  return pulumi.get(self, "severity")
102
113
 
114
+ @property
115
+ @pulumi.getter
116
+ def state(self) -> Optional[str]:
117
+ return pulumi.get(self, "state")
118
+
103
119
 
104
120
  class AwaitableGetSecurityAssessmentFindingResult(GetSecurityAssessmentFindingResult):
105
121
  # pylint: disable=using-constant-test
@@ -113,18 +129,22 @@ class AwaitableGetSecurityAssessmentFindingResult(GetSecurityAssessmentFindingRe
113
129
  finding_key=self.finding_key,
114
130
  findings=self.findings,
115
131
  id=self.id,
132
+ is_top_finding=self.is_top_finding,
116
133
  references=self.references,
117
134
  security_assessment_id=self.security_assessment_id,
118
- severity=self.severity)
135
+ severity=self.severity,
136
+ state=self.state)
119
137
 
120
138
 
121
139
  def get_security_assessment_finding(access_level: Optional[str] = None,
122
140
  compartment_id_in_subtree: Optional[bool] = None,
123
141
  filters: Optional[Sequence[pulumi.InputType['GetSecurityAssessmentFindingFilterArgs']]] = None,
124
142
  finding_key: Optional[str] = None,
143
+ is_top_finding: Optional[bool] = None,
125
144
  references: Optional[str] = None,
126
145
  security_assessment_id: Optional[str] = None,
127
146
  severity: Optional[str] = None,
147
+ state: Optional[str] = None,
128
148
  opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetSecurityAssessmentFindingResult:
129
149
  """
130
150
  Use this data source to access information about an existing resource.
@@ -134,9 +154,11 @@ def get_security_assessment_finding(access_level: Optional[str] = None,
134
154
  __args__['compartmentIdInSubtree'] = compartment_id_in_subtree
135
155
  __args__['filters'] = filters
136
156
  __args__['findingKey'] = finding_key
157
+ __args__['isTopFinding'] = is_top_finding
137
158
  __args__['references'] = references
138
159
  __args__['securityAssessmentId'] = security_assessment_id
139
160
  __args__['severity'] = severity
161
+ __args__['state'] = state
140
162
  opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
141
163
  __ret__ = pulumi.runtime.invoke('oci:DataSafe/getSecurityAssessmentFinding:getSecurityAssessmentFinding', __args__, opts=opts, typ=GetSecurityAssessmentFindingResult).value
142
164
 
@@ -147,9 +169,11 @@ def get_security_assessment_finding(access_level: Optional[str] = None,
147
169
  finding_key=pulumi.get(__ret__, 'finding_key'),
148
170
  findings=pulumi.get(__ret__, 'findings'),
149
171
  id=pulumi.get(__ret__, 'id'),
172
+ is_top_finding=pulumi.get(__ret__, 'is_top_finding'),
150
173
  references=pulumi.get(__ret__, 'references'),
151
174
  security_assessment_id=pulumi.get(__ret__, 'security_assessment_id'),
152
- severity=pulumi.get(__ret__, 'severity'))
175
+ severity=pulumi.get(__ret__, 'severity'),
176
+ state=pulumi.get(__ret__, 'state'))
153
177
 
154
178
 
155
179
  @_utilities.lift_output_func(get_security_assessment_finding)
@@ -157,9 +181,11 @@ def get_security_assessment_finding_output(access_level: Optional[pulumi.Input[O
157
181
  compartment_id_in_subtree: Optional[pulumi.Input[Optional[bool]]] = None,
158
182
  filters: Optional[pulumi.Input[Optional[Sequence[pulumi.InputType['GetSecurityAssessmentFindingFilterArgs']]]]] = None,
159
183
  finding_key: Optional[pulumi.Input[Optional[str]]] = None,
184
+ is_top_finding: Optional[pulumi.Input[Optional[bool]]] = None,
160
185
  references: Optional[pulumi.Input[Optional[str]]] = None,
161
186
  security_assessment_id: Optional[pulumi.Input[str]] = None,
162
187
  severity: Optional[pulumi.Input[Optional[str]]] = None,
188
+ state: Optional[pulumi.Input[Optional[str]]] = None,
163
189
  opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSecurityAssessmentFindingResult]:
164
190
  """
165
191
  Use this data source to access information about an existing resource.
@@ -0,0 +1,276 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import pulumi
8
+ import pulumi.runtime
9
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
10
+ from .. import _utilities
11
+ from . import outputs
12
+ from ._inputs import *
13
+
14
+ __all__ = [
15
+ 'GetSecurityAssessmentFindingAnalyticsResult',
16
+ 'AwaitableGetSecurityAssessmentFindingAnalyticsResult',
17
+ 'get_security_assessment_finding_analytics',
18
+ 'get_security_assessment_finding_analytics_output',
19
+ ]
20
+
21
+ @pulumi.output_type
22
+ class GetSecurityAssessmentFindingAnalyticsResult:
23
+ """
24
+ A collection of values returned by getSecurityAssessmentFindingAnalytics.
25
+ """
26
+ def __init__(__self__, access_level=None, compartment_id=None, compartment_id_in_subtree=None, filters=None, finding_analytics_collections=None, finding_key=None, group_by=None, id=None, is_top_finding=None, severity=None, top_finding_status=None):
27
+ if access_level and not isinstance(access_level, str):
28
+ raise TypeError("Expected argument 'access_level' to be a str")
29
+ pulumi.set(__self__, "access_level", access_level)
30
+ if compartment_id and not isinstance(compartment_id, str):
31
+ raise TypeError("Expected argument 'compartment_id' to be a str")
32
+ pulumi.set(__self__, "compartment_id", compartment_id)
33
+ if compartment_id_in_subtree and not isinstance(compartment_id_in_subtree, bool):
34
+ raise TypeError("Expected argument 'compartment_id_in_subtree' to be a bool")
35
+ pulumi.set(__self__, "compartment_id_in_subtree", compartment_id_in_subtree)
36
+ if filters and not isinstance(filters, list):
37
+ raise TypeError("Expected argument 'filters' to be a list")
38
+ pulumi.set(__self__, "filters", filters)
39
+ if finding_analytics_collections and not isinstance(finding_analytics_collections, list):
40
+ raise TypeError("Expected argument 'finding_analytics_collections' to be a list")
41
+ pulumi.set(__self__, "finding_analytics_collections", finding_analytics_collections)
42
+ if finding_key and not isinstance(finding_key, str):
43
+ raise TypeError("Expected argument 'finding_key' to be a str")
44
+ pulumi.set(__self__, "finding_key", finding_key)
45
+ if group_by and not isinstance(group_by, str):
46
+ raise TypeError("Expected argument 'group_by' to be a str")
47
+ pulumi.set(__self__, "group_by", group_by)
48
+ if id and not isinstance(id, str):
49
+ raise TypeError("Expected argument 'id' to be a str")
50
+ pulumi.set(__self__, "id", id)
51
+ if is_top_finding and not isinstance(is_top_finding, bool):
52
+ raise TypeError("Expected argument 'is_top_finding' to be a bool")
53
+ pulumi.set(__self__, "is_top_finding", is_top_finding)
54
+ if severity and not isinstance(severity, str):
55
+ raise TypeError("Expected argument 'severity' to be a str")
56
+ pulumi.set(__self__, "severity", severity)
57
+ if top_finding_status and not isinstance(top_finding_status, str):
58
+ raise TypeError("Expected argument 'top_finding_status' to be a str")
59
+ pulumi.set(__self__, "top_finding_status", top_finding_status)
60
+
61
+ @property
62
+ @pulumi.getter(name="accessLevel")
63
+ def access_level(self) -> Optional[str]:
64
+ return pulumi.get(self, "access_level")
65
+
66
+ @property
67
+ @pulumi.getter(name="compartmentId")
68
+ def compartment_id(self) -> str:
69
+ return pulumi.get(self, "compartment_id")
70
+
71
+ @property
72
+ @pulumi.getter(name="compartmentIdInSubtree")
73
+ def compartment_id_in_subtree(self) -> Optional[bool]:
74
+ return pulumi.get(self, "compartment_id_in_subtree")
75
+
76
+ @property
77
+ @pulumi.getter
78
+ def filters(self) -> Optional[Sequence['outputs.GetSecurityAssessmentFindingAnalyticsFilterResult']]:
79
+ return pulumi.get(self, "filters")
80
+
81
+ @property
82
+ @pulumi.getter(name="findingAnalyticsCollections")
83
+ def finding_analytics_collections(self) -> Sequence['outputs.GetSecurityAssessmentFindingAnalyticsFindingAnalyticsCollectionResult']:
84
+ """
85
+ The list of finding_analytics_collection.
86
+ """
87
+ return pulumi.get(self, "finding_analytics_collections")
88
+
89
+ @property
90
+ @pulumi.getter(name="findingKey")
91
+ def finding_key(self) -> Optional[str]:
92
+ return pulumi.get(self, "finding_key")
93
+
94
+ @property
95
+ @pulumi.getter(name="groupBy")
96
+ def group_by(self) -> Optional[str]:
97
+ return pulumi.get(self, "group_by")
98
+
99
+ @property
100
+ @pulumi.getter
101
+ def id(self) -> str:
102
+ """
103
+ The provider-assigned unique ID for this managed resource.
104
+ """
105
+ return pulumi.get(self, "id")
106
+
107
+ @property
108
+ @pulumi.getter(name="isTopFinding")
109
+ def is_top_finding(self) -> Optional[bool]:
110
+ return pulumi.get(self, "is_top_finding")
111
+
112
+ @property
113
+ @pulumi.getter
114
+ def severity(self) -> Optional[str]:
115
+ """
116
+ The severity (risk level) of the finding.
117
+ """
118
+ return pulumi.get(self, "severity")
119
+
120
+ @property
121
+ @pulumi.getter(name="topFindingStatus")
122
+ def top_finding_status(self) -> Optional[str]:
123
+ """
124
+ The status of the top finding. All findings will have "severity" to indicate the risk level, but only top findings will have "status". Possible status: Pass / Risk (Low, Medium, High)/ Evaluate / Advisory / Deferred Instead of having "Low, Medium, High" in severity, "Risk" will include these three situations in status.
125
+ """
126
+ return pulumi.get(self, "top_finding_status")
127
+
128
+
129
+ class AwaitableGetSecurityAssessmentFindingAnalyticsResult(GetSecurityAssessmentFindingAnalyticsResult):
130
+ # pylint: disable=using-constant-test
131
+ def __await__(self):
132
+ if False:
133
+ yield self
134
+ return GetSecurityAssessmentFindingAnalyticsResult(
135
+ access_level=self.access_level,
136
+ compartment_id=self.compartment_id,
137
+ compartment_id_in_subtree=self.compartment_id_in_subtree,
138
+ filters=self.filters,
139
+ finding_analytics_collections=self.finding_analytics_collections,
140
+ finding_key=self.finding_key,
141
+ group_by=self.group_by,
142
+ id=self.id,
143
+ is_top_finding=self.is_top_finding,
144
+ severity=self.severity,
145
+ top_finding_status=self.top_finding_status)
146
+
147
+
148
+ def get_security_assessment_finding_analytics(access_level: Optional[str] = None,
149
+ compartment_id: Optional[str] = None,
150
+ compartment_id_in_subtree: Optional[bool] = None,
151
+ filters: Optional[Sequence[pulumi.InputType['GetSecurityAssessmentFindingAnalyticsFilterArgs']]] = None,
152
+ finding_key: Optional[str] = None,
153
+ group_by: Optional[str] = None,
154
+ is_top_finding: Optional[bool] = None,
155
+ severity: Optional[str] = None,
156
+ top_finding_status: Optional[str] = None,
157
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetSecurityAssessmentFindingAnalyticsResult:
158
+ """
159
+ This data source provides the list of Security Assessment Finding Analytics in Oracle Cloud Infrastructure Data Safe service.
160
+
161
+ Gets a list of findings aggregated details in the specified compartment. This provides information about the overall state
162
+ of security assessment findings. You can use groupBy to get the count of findings under a certain risk level and with a certain findingKey,
163
+ and as well as get the list of the targets that match the condition.
164
+ This data is especially useful content for the statistic chart or to support analytics.
165
+
166
+ When you perform the ListFindingAnalytics operation, if the parameter compartmentIdInSubtree is set to "true," and if the
167
+ parameter accessLevel is set to ACCESSIBLE, then the operation returns statistics from the compartments in which the requestor has INSPECT
168
+ permissions on at least one resource, directly or indirectly (in subcompartments). If the operation is performed at the
169
+ root compartment and the requestor does not have access to at least one subcompartment of the compartment specified by
170
+ compartmentId, then "Not Authorized" is returned.
171
+
172
+ ## Example Usage
173
+
174
+ ```python
175
+ import pulumi
176
+ import pulumi_oci as oci
177
+
178
+ test_security_assessment_finding_analytics = oci.DataSafe.get_security_assessment_finding_analytics(compartment_id=var["compartment_id"],
179
+ access_level=var["security_assessment_finding_analytic_access_level"],
180
+ compartment_id_in_subtree=var["security_assessment_finding_analytic_compartment_id_in_subtree"],
181
+ finding_key=var["security_assessment_finding_analytic_finding_key"],
182
+ group_by=var["security_assessment_finding_analytic_group_by"],
183
+ is_top_finding=var["security_assessment_finding_analytic_is_top_finding"],
184
+ severity=var["security_assessment_finding_analytic_severity"],
185
+ top_finding_status=var["security_assessment_finding_analytic_top_finding_status"])
186
+ ```
187
+
188
+
189
+ :param str access_level: Valid values are RESTRICTED and ACCESSIBLE. Default is RESTRICTED. Setting this to ACCESSIBLE returns only those compartments for which the user has INSPECT permissions directly or indirectly (permissions can be on a resource in a subcompartment). When set to RESTRICTED permissions are checked and no partial results are displayed.
190
+ :param str compartment_id: A filter to return only resources that match the specified compartment OCID.
191
+ :param bool compartment_id_in_subtree: Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned. Depends on the 'accessLevel' setting.
192
+ :param str finding_key: The unique key that identifies the finding. It is a string and unique within a security assessment.
193
+ :param str group_by: Attribute by which the finding analytics data should be grouped.
194
+ :param bool is_top_finding: A filter to return only the findings that are marked as top findings.
195
+ :param str severity: A filter to return only findings of a particular risk level.
196
+ :param str top_finding_status: An optional filter to return only the top finding that match the specified status.
197
+ """
198
+ __args__ = dict()
199
+ __args__['accessLevel'] = access_level
200
+ __args__['compartmentId'] = compartment_id
201
+ __args__['compartmentIdInSubtree'] = compartment_id_in_subtree
202
+ __args__['filters'] = filters
203
+ __args__['findingKey'] = finding_key
204
+ __args__['groupBy'] = group_by
205
+ __args__['isTopFinding'] = is_top_finding
206
+ __args__['severity'] = severity
207
+ __args__['topFindingStatus'] = top_finding_status
208
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
209
+ __ret__ = pulumi.runtime.invoke('oci:DataSafe/getSecurityAssessmentFindingAnalytics:getSecurityAssessmentFindingAnalytics', __args__, opts=opts, typ=GetSecurityAssessmentFindingAnalyticsResult).value
210
+
211
+ return AwaitableGetSecurityAssessmentFindingAnalyticsResult(
212
+ access_level=pulumi.get(__ret__, 'access_level'),
213
+ compartment_id=pulumi.get(__ret__, 'compartment_id'),
214
+ compartment_id_in_subtree=pulumi.get(__ret__, 'compartment_id_in_subtree'),
215
+ filters=pulumi.get(__ret__, 'filters'),
216
+ finding_analytics_collections=pulumi.get(__ret__, 'finding_analytics_collections'),
217
+ finding_key=pulumi.get(__ret__, 'finding_key'),
218
+ group_by=pulumi.get(__ret__, 'group_by'),
219
+ id=pulumi.get(__ret__, 'id'),
220
+ is_top_finding=pulumi.get(__ret__, 'is_top_finding'),
221
+ severity=pulumi.get(__ret__, 'severity'),
222
+ top_finding_status=pulumi.get(__ret__, 'top_finding_status'))
223
+
224
+
225
+ @_utilities.lift_output_func(get_security_assessment_finding_analytics)
226
+ def get_security_assessment_finding_analytics_output(access_level: Optional[pulumi.Input[Optional[str]]] = None,
227
+ compartment_id: Optional[pulumi.Input[str]] = None,
228
+ compartment_id_in_subtree: Optional[pulumi.Input[Optional[bool]]] = None,
229
+ filters: Optional[pulumi.Input[Optional[Sequence[pulumi.InputType['GetSecurityAssessmentFindingAnalyticsFilterArgs']]]]] = None,
230
+ finding_key: Optional[pulumi.Input[Optional[str]]] = None,
231
+ group_by: Optional[pulumi.Input[Optional[str]]] = None,
232
+ is_top_finding: Optional[pulumi.Input[Optional[bool]]] = None,
233
+ severity: Optional[pulumi.Input[Optional[str]]] = None,
234
+ top_finding_status: Optional[pulumi.Input[Optional[str]]] = None,
235
+ opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSecurityAssessmentFindingAnalyticsResult]:
236
+ """
237
+ This data source provides the list of Security Assessment Finding Analytics in Oracle Cloud Infrastructure Data Safe service.
238
+
239
+ Gets a list of findings aggregated details in the specified compartment. This provides information about the overall state
240
+ of security assessment findings. You can use groupBy to get the count of findings under a certain risk level and with a certain findingKey,
241
+ and as well as get the list of the targets that match the condition.
242
+ This data is especially useful content for the statistic chart or to support analytics.
243
+
244
+ When you perform the ListFindingAnalytics operation, if the parameter compartmentIdInSubtree is set to "true," and if the
245
+ parameter accessLevel is set to ACCESSIBLE, then the operation returns statistics from the compartments in which the requestor has INSPECT
246
+ permissions on at least one resource, directly or indirectly (in subcompartments). If the operation is performed at the
247
+ root compartment and the requestor does not have access to at least one subcompartment of the compartment specified by
248
+ compartmentId, then "Not Authorized" is returned.
249
+
250
+ ## Example Usage
251
+
252
+ ```python
253
+ import pulumi
254
+ import pulumi_oci as oci
255
+
256
+ test_security_assessment_finding_analytics = oci.DataSafe.get_security_assessment_finding_analytics(compartment_id=var["compartment_id"],
257
+ access_level=var["security_assessment_finding_analytic_access_level"],
258
+ compartment_id_in_subtree=var["security_assessment_finding_analytic_compartment_id_in_subtree"],
259
+ finding_key=var["security_assessment_finding_analytic_finding_key"],
260
+ group_by=var["security_assessment_finding_analytic_group_by"],
261
+ is_top_finding=var["security_assessment_finding_analytic_is_top_finding"],
262
+ severity=var["security_assessment_finding_analytic_severity"],
263
+ top_finding_status=var["security_assessment_finding_analytic_top_finding_status"])
264
+ ```
265
+
266
+
267
+ :param str access_level: Valid values are RESTRICTED and ACCESSIBLE. Default is RESTRICTED. Setting this to ACCESSIBLE returns only those compartments for which the user has INSPECT permissions directly or indirectly (permissions can be on a resource in a subcompartment). When set to RESTRICTED permissions are checked and no partial results are displayed.
268
+ :param str compartment_id: A filter to return only resources that match the specified compartment OCID.
269
+ :param bool compartment_id_in_subtree: Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned. Depends on the 'accessLevel' setting.
270
+ :param str finding_key: The unique key that identifies the finding. It is a string and unique within a security assessment.
271
+ :param str group_by: Attribute by which the finding analytics data should be grouped.
272
+ :param bool is_top_finding: A filter to return only the findings that are marked as top findings.
273
+ :param str severity: A filter to return only findings of a particular risk level.
274
+ :param str top_finding_status: An optional filter to return only the top finding that match the specified status.
275
+ """
276
+ ...
@@ -23,7 +23,7 @@ class GetSecurityAssessmentFindingsResult:
23
23
  """
24
24
  A collection of values returned by getSecurityAssessmentFindings.
25
25
  """
26
- def __init__(__self__, access_level=None, compartment_id_in_subtree=None, filters=None, finding_key=None, findings=None, id=None, references=None, security_assessment_id=None, severity=None):
26
+ def __init__(__self__, access_level=None, compartment_id_in_subtree=None, filters=None, finding_key=None, findings=None, id=None, is_top_finding=None, references=None, security_assessment_id=None, severity=None, state=None):
27
27
  if access_level and not isinstance(access_level, str):
28
28
  raise TypeError("Expected argument 'access_level' to be a str")
29
29
  pulumi.set(__self__, "access_level", access_level)
@@ -42,6 +42,9 @@ class GetSecurityAssessmentFindingsResult:
42
42
  if id and not isinstance(id, str):
43
43
  raise TypeError("Expected argument 'id' to be a str")
44
44
  pulumi.set(__self__, "id", id)
45
+ if is_top_finding and not isinstance(is_top_finding, bool):
46
+ raise TypeError("Expected argument 'is_top_finding' to be a bool")
47
+ pulumi.set(__self__, "is_top_finding", is_top_finding)
45
48
  if references and not isinstance(references, str):
46
49
  raise TypeError("Expected argument 'references' to be a str")
47
50
  pulumi.set(__self__, "references", references)
@@ -51,6 +54,9 @@ class GetSecurityAssessmentFindingsResult:
51
54
  if severity and not isinstance(severity, str):
52
55
  raise TypeError("Expected argument 'severity' to be a str")
53
56
  pulumi.set(__self__, "severity", severity)
57
+ if state and not isinstance(state, str):
58
+ raise TypeError("Expected argument 'state' to be a str")
59
+ pulumi.set(__self__, "state", state)
54
60
 
55
61
  @property
56
62
  @pulumi.getter(name="accessLevel")
@@ -88,6 +94,14 @@ class GetSecurityAssessmentFindingsResult:
88
94
  """
89
95
  return pulumi.get(self, "id")
90
96
 
97
+ @property
98
+ @pulumi.getter(name="isTopFinding")
99
+ def is_top_finding(self) -> Optional[bool]:
100
+ """
101
+ Indicates whether a given finding is marked as topFinding or not.
102
+ """
103
+ return pulumi.get(self, "is_top_finding")
104
+
91
105
  @property
92
106
  @pulumi.getter
93
107
  def references(self) -> Optional[str]:
@@ -109,6 +123,14 @@ class GetSecurityAssessmentFindingsResult:
109
123
  """
110
124
  return pulumi.get(self, "severity")
111
125
 
126
+ @property
127
+ @pulumi.getter
128
+ def state(self) -> Optional[str]:
129
+ """
130
+ The current state of the finding.
131
+ """
132
+ return pulumi.get(self, "state")
133
+
112
134
 
113
135
  class AwaitableGetSecurityAssessmentFindingsResult(GetSecurityAssessmentFindingsResult):
114
136
  # pylint: disable=using-constant-test
@@ -122,40 +144,48 @@ class AwaitableGetSecurityAssessmentFindingsResult(GetSecurityAssessmentFindings
122
144
  finding_key=self.finding_key,
123
145
  findings=self.findings,
124
146
  id=self.id,
147
+ is_top_finding=self.is_top_finding,
125
148
  references=self.references,
126
149
  security_assessment_id=self.security_assessment_id,
127
- severity=self.severity)
150
+ severity=self.severity,
151
+ state=self.state)
128
152
 
129
153
 
130
154
  def get_security_assessment_findings(access_level: Optional[str] = None,
131
155
  compartment_id_in_subtree: Optional[bool] = None,
132
156
  filters: Optional[Sequence[pulumi.InputType['GetSecurityAssessmentFindingsFilterArgs']]] = None,
133
157
  finding_key: Optional[str] = None,
158
+ is_top_finding: Optional[bool] = None,
134
159
  references: Optional[str] = None,
135
160
  security_assessment_id: Optional[str] = None,
136
161
  severity: Optional[str] = None,
162
+ state: Optional[str] = None,
137
163
  opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetSecurityAssessmentFindingsResult:
138
164
  """
139
165
  This data source provides the list of Security Assessment Findings in Oracle Cloud Infrastructure Data Safe service.
140
166
 
141
- List all the findings from all the targets in the specified assessment.
167
+ List all the findings from all the targets in the specified compartment.
142
168
 
143
169
 
144
170
  :param str access_level: Valid values are RESTRICTED and ACCESSIBLE. Default is RESTRICTED. Setting this to ACCESSIBLE returns only those compartments for which the user has INSPECT permissions directly or indirectly (permissions can be on a resource in a subcompartment). When set to RESTRICTED permissions are checked and no partial results are displayed.
145
171
  :param bool compartment_id_in_subtree: Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned. Depends on the 'accessLevel' setting.
146
- :param str finding_key: Each finding has a key. This key is same for the finding across targets
172
+ :param str finding_key: Each finding in security assessment has an associated key (think of key as a finding's name). For a given finding, the key will be the same across targets. The user can use these keys to filter the findings.
173
+ :param bool is_top_finding: A filter to return only the findings that are marked as top findings.
147
174
  :param str references: An optional filter to return only findings containing the specified reference.
148
175
  :param str security_assessment_id: The OCID of the security assessment.
149
176
  :param str severity: A filter to return only findings of a particular risk level.
177
+ :param str state: A filter to return only the findings that match the specified lifecycle states.
150
178
  """
151
179
  __args__ = dict()
152
180
  __args__['accessLevel'] = access_level
153
181
  __args__['compartmentIdInSubtree'] = compartment_id_in_subtree
154
182
  __args__['filters'] = filters
155
183
  __args__['findingKey'] = finding_key
184
+ __args__['isTopFinding'] = is_top_finding
156
185
  __args__['references'] = references
157
186
  __args__['securityAssessmentId'] = security_assessment_id
158
187
  __args__['severity'] = severity
188
+ __args__['state'] = state
159
189
  opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
160
190
  __ret__ = pulumi.runtime.invoke('oci:DataSafe/getSecurityAssessmentFindings:getSecurityAssessmentFindings', __args__, opts=opts, typ=GetSecurityAssessmentFindingsResult).value
161
191
 
@@ -166,9 +196,11 @@ def get_security_assessment_findings(access_level: Optional[str] = None,
166
196
  finding_key=pulumi.get(__ret__, 'finding_key'),
167
197
  findings=pulumi.get(__ret__, 'findings'),
168
198
  id=pulumi.get(__ret__, 'id'),
199
+ is_top_finding=pulumi.get(__ret__, 'is_top_finding'),
169
200
  references=pulumi.get(__ret__, 'references'),
170
201
  security_assessment_id=pulumi.get(__ret__, 'security_assessment_id'),
171
- severity=pulumi.get(__ret__, 'severity'))
202
+ severity=pulumi.get(__ret__, 'severity'),
203
+ state=pulumi.get(__ret__, 'state'))
172
204
 
173
205
 
174
206
  @_utilities.lift_output_func(get_security_assessment_findings)
@@ -176,21 +208,25 @@ def get_security_assessment_findings_output(access_level: Optional[pulumi.Input[
176
208
  compartment_id_in_subtree: Optional[pulumi.Input[Optional[bool]]] = None,
177
209
  filters: Optional[pulumi.Input[Optional[Sequence[pulumi.InputType['GetSecurityAssessmentFindingsFilterArgs']]]]] = None,
178
210
  finding_key: Optional[pulumi.Input[Optional[str]]] = None,
211
+ is_top_finding: Optional[pulumi.Input[Optional[bool]]] = None,
179
212
  references: Optional[pulumi.Input[Optional[str]]] = None,
180
213
  security_assessment_id: Optional[pulumi.Input[str]] = None,
181
214
  severity: Optional[pulumi.Input[Optional[str]]] = None,
215
+ state: Optional[pulumi.Input[Optional[str]]] = None,
182
216
  opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSecurityAssessmentFindingsResult]:
183
217
  """
184
218
  This data source provides the list of Security Assessment Findings in Oracle Cloud Infrastructure Data Safe service.
185
219
 
186
- List all the findings from all the targets in the specified assessment.
220
+ List all the findings from all the targets in the specified compartment.
187
221
 
188
222
 
189
223
  :param str access_level: Valid values are RESTRICTED and ACCESSIBLE. Default is RESTRICTED. Setting this to ACCESSIBLE returns only those compartments for which the user has INSPECT permissions directly or indirectly (permissions can be on a resource in a subcompartment). When set to RESTRICTED permissions are checked and no partial results are displayed.
190
224
  :param bool compartment_id_in_subtree: Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned. Depends on the 'accessLevel' setting.
191
- :param str finding_key: Each finding has a key. This key is same for the finding across targets
225
+ :param str finding_key: Each finding in security assessment has an associated key (think of key as a finding's name). For a given finding, the key will be the same across targets. The user can use these keys to filter the findings.
226
+ :param bool is_top_finding: A filter to return only the findings that are marked as top findings.
192
227
  :param str references: An optional filter to return only findings containing the specified reference.
193
228
  :param str security_assessment_id: The OCID of the security assessment.
194
229
  :param str severity: A filter to return only findings of a particular risk level.
230
+ :param str state: A filter to return only the findings that match the specified lifecycle states.
195
231
  """
196
232
  ...