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.
- pulumi_oci/__init__.py +59 -0
- pulumi_oci/adm/_inputs.py +99 -18
- pulumi_oci/adm/get_remediation_run_application_dependency_recommendations.py +23 -3
- pulumi_oci/adm/get_vulnerability_audit.py +31 -5
- pulumi_oci/adm/get_vulnerability_audit_application_dependency_vulnerabilities.py +43 -6
- pulumi_oci/adm/get_vulnerability_audit_application_dependency_vulnerability.py +27 -1
- pulumi_oci/adm/get_vulnerability_audits.py +54 -3
- pulumi_oci/adm/outputs.py +296 -31
- pulumi_oci/adm/remediation_recipe.py +2 -0
- pulumi_oci/adm/vulnerability_audit.py +96 -37
- pulumi_oci/database/__init__.py +1 -0
- pulumi_oci/database/_inputs.py +40 -0
- pulumi_oci/database/cloud_vm_cluster.py +22 -1
- pulumi_oci/database/get_system_versions.py +173 -0
- pulumi_oci/database/outputs.py +88 -0
- pulumi_oci/database/vm_cluster.py +22 -1
- pulumi_oci/datasafe/__init__.py +22 -0
- pulumi_oci/datasafe/_inputs.py +1826 -161
- pulumi_oci/datasafe/audit_trail.py +140 -0
- pulumi_oci/datasafe/discovery_mod.py +7 -7
- pulumi_oci/datasafe/get_audit_trail.py +66 -1
- pulumi_oci/datasafe/get_discovery_job.py +1 -1
- pulumi_oci/datasafe/get_discovery_jobs_result.py +1 -1
- pulumi_oci/datasafe/get_discovery_jobs_results.py +1 -1
- pulumi_oci/datasafe/get_masking_policies_masking_column.py +1 -1
- pulumi_oci/datasafe/get_masking_policies_masking_columns.py +1 -1
- pulumi_oci/datasafe/get_masking_policy.py +1 -1
- pulumi_oci/datasafe/get_report.py +1 -1
- pulumi_oci/datasafe/get_security_assessment.py +3 -3
- pulumi_oci/datasafe/get_security_assessment_comparison.py +5 -5
- pulumi_oci/datasafe/get_security_assessment_finding.py +29 -3
- pulumi_oci/datasafe/get_security_assessment_finding_analytics.py +276 -0
- pulumi_oci/datasafe/get_security_assessment_findings.py +43 -7
- pulumi_oci/datasafe/get_security_assessment_findings_change_audit_logs.py +309 -0
- pulumi_oci/datasafe/get_security_assessment_security_feature_analytics.py +198 -0
- pulumi_oci/datasafe/get_security_assessment_security_features.py +377 -0
- pulumi_oci/datasafe/get_security_assessments.py +2 -2
- pulumi_oci/datasafe/get_security_policies.py +253 -0
- pulumi_oci/datasafe/get_security_policy.py +235 -0
- pulumi_oci/datasafe/get_security_policy_deployment.py +261 -0
- pulumi_oci/datasafe/get_security_policy_deployment_security_policy_entry_state.py +165 -0
- pulumi_oci/datasafe/get_security_policy_deployment_security_policy_entry_states.py +180 -0
- pulumi_oci/datasafe/get_security_policy_deployments.py +293 -0
- pulumi_oci/datasafe/get_security_policy_report.py +248 -0
- pulumi_oci/datasafe/get_security_policy_report_database_table_access_entries.py +158 -0
- pulumi_oci/datasafe/get_security_policy_report_database_table_access_entry.py +408 -0
- pulumi_oci/datasafe/get_security_policy_report_database_view_access_entries.py +178 -0
- pulumi_oci/datasafe/get_security_policy_report_database_view_access_entry.py +382 -0
- pulumi_oci/datasafe/get_security_policy_report_role_grant_paths.py +177 -0
- pulumi_oci/datasafe/get_security_policy_reports.py +273 -0
- pulumi_oci/datasafe/get_sensitive_data_model.py +1 -1
- pulumi_oci/datasafe/get_target_database.py +27 -4
- pulumi_oci/datasafe/get_target_database_peer_target_database.py +263 -0
- pulumi_oci/datasafe/get_target_database_peer_target_databases.py +133 -0
- pulumi_oci/datasafe/get_target_databases.py +1 -1
- pulumi_oci/datasafe/get_user_assessment.py +5 -5
- pulumi_oci/datasafe/get_user_assessment_comparison.py +2 -2
- pulumi_oci/datasafe/get_user_assessment_user_access_analytics.py +133 -0
- pulumi_oci/datasafe/get_user_assessment_user_analytics.py +2 -2
- pulumi_oci/datasafe/get_user_assessment_users.py +42 -2
- pulumi_oci/datasafe/get_user_assessments.py +2 -2
- pulumi_oci/datasafe/masking_policies_masking_column.py +7 -7
- pulumi_oci/datasafe/masking_policy.py +9 -9
- pulumi_oci/datasafe/outputs.py +16686 -9777
- pulumi_oci/datasafe/report.py +559 -0
- pulumi_oci/datasafe/security_assessment.py +12 -12
- pulumi_oci/datasafe/sensitive_data_model.py +7 -7
- pulumi_oci/datasafe/set_security_assessment_baseline.py +7 -7
- pulumi_oci/datasafe/set_user_assessment_baseline.py +7 -7
- pulumi_oci/datasafe/target_database.py +146 -25
- pulumi_oci/datasafe/target_database_peer_target_database.py +634 -0
- pulumi_oci/datasafe/user_assessment.py +20 -20
- pulumi_oci/generativeai/__init__.py +18 -0
- pulumi_oci/generativeai/_inputs.py +534 -0
- pulumi_oci/generativeai/dedicated_ai_cluster.py +808 -0
- pulumi_oci/generativeai/endpoint.py +717 -0
- pulumi_oci/generativeai/get_dedicated_ai_cluster.py +288 -0
- pulumi_oci/generativeai/get_dedicated_ai_clusters.py +183 -0
- pulumi_oci/generativeai/get_endpoint.py +275 -0
- pulumi_oci/generativeai/get_endpoints.py +183 -0
- pulumi_oci/generativeai/get_model.py +353 -0
- pulumi_oci/generativeai/get_models.py +220 -0
- pulumi_oci/generativeai/model.py +858 -0
- pulumi_oci/generativeai/outputs.py +1721 -0
- pulumi_oci/marketplace/get_publication.py +14 -1
- pulumi_oci/marketplace/outputs.py +11 -0
- pulumi_oci/marketplace/publication.py +28 -0
- pulumi_oci/monitoring/__init__.py +3 -0
- pulumi_oci/monitoring/_inputs.py +82 -4
- pulumi_oci/monitoring/alarm.py +15 -15
- pulumi_oci/monitoring/alarm_suppression.py +745 -0
- pulumi_oci/monitoring/get_alarm.py +5 -5
- pulumi_oci/monitoring/get_alarm_history_collection.py +4 -4
- pulumi_oci/monitoring/get_alarm_statuses.py +3 -1
- pulumi_oci/monitoring/get_alarm_suppression.py +276 -0
- pulumi_oci/monitoring/get_alarm_suppressions.py +192 -0
- pulumi_oci/monitoring/get_metric_data.py +12 -8
- pulumi_oci/monitoring/get_metrics.py +2 -2
- pulumi_oci/monitoring/outputs.py +355 -50
- pulumi_oci/networkfirewall/_inputs.py +25 -20
- pulumi_oci/networkfirewall/outputs.py +40 -30
- pulumi_oci/stackmonitoring/__init__.py +3 -0
- pulumi_oci/stackmonitoring/_inputs.py +143 -0
- pulumi_oci/stackmonitoring/get_process_set.py +236 -0
- pulumi_oci/stackmonitoring/get_process_sets.py +156 -0
- pulumi_oci/stackmonitoring/outputs.py +422 -0
- pulumi_oci/stackmonitoring/process_set.py +548 -0
- {pulumi_oci-1.19.0a1705693078.dist-info → pulumi_oci-1.20.0.dist-info}/METADATA +1 -1
- {pulumi_oci-1.19.0a1705693078.dist-info → pulumi_oci-1.20.0.dist-info}/RECORD +111 -70
- {pulumi_oci-1.19.0a1705693078.dist-info → pulumi_oci-1.20.0.dist-info}/WHEEL +0 -0
- {pulumi_oci-1.19.0a1705693078.dist-info → pulumi_oci-1.20.0.dist-info}/top_level.txt +0 -0
@@ -195,11 +195,11 @@ class _UserAssessmentState:
|
|
195
195
|
** IMPORTANT **
|
196
196
|
Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values
|
197
197
|
:param pulumi.Input[Sequence[pulumi.Input[str]]] target_ids: Array of database target OCIDs.
|
198
|
-
:param pulumi.Input[str] time_created: The date and time
|
199
|
-
:param pulumi.Input[str] time_last_assessed: The date and time the user assessment was last
|
200
|
-
:param pulumi.Input[str] time_updated: The
|
201
|
-
:param pulumi.Input[str] triggered_by: Indicates whether the user assessment was created by system or user.
|
202
|
-
:param pulumi.Input[str] type:
|
198
|
+
:param pulumi.Input[str] time_created: The date and time the user assessment was created, in the format defined by [RFC3339](https://tools.ietf.org/html/rfc3339).
|
199
|
+
:param pulumi.Input[str] time_last_assessed: The date and time the user assessment was last executed, in the format defined by [RFC3339](https://tools.ietf.org/html/rfc3339).
|
200
|
+
:param pulumi.Input[str] time_updated: The date and time the user assessment was last updated, in the format defined by [RFC3339](https://tools.ietf.org/html/rfc3339).
|
201
|
+
:param pulumi.Input[str] triggered_by: Indicates whether the user assessment was created by the system or the user.
|
202
|
+
:param pulumi.Input[str] type: The type of the user assessment. The possible types are:
|
203
203
|
"""
|
204
204
|
if compartment_id is not None:
|
205
205
|
pulumi.set(__self__, "compartment_id", compartment_id)
|
@@ -474,7 +474,7 @@ class _UserAssessmentState:
|
|
474
474
|
@pulumi.getter(name="timeCreated")
|
475
475
|
def time_created(self) -> Optional[pulumi.Input[str]]:
|
476
476
|
"""
|
477
|
-
The date and time
|
477
|
+
The date and time the user assessment was created, in the format defined by [RFC3339](https://tools.ietf.org/html/rfc3339).
|
478
478
|
"""
|
479
479
|
return pulumi.get(self, "time_created")
|
480
480
|
|
@@ -486,7 +486,7 @@ class _UserAssessmentState:
|
|
486
486
|
@pulumi.getter(name="timeLastAssessed")
|
487
487
|
def time_last_assessed(self) -> Optional[pulumi.Input[str]]:
|
488
488
|
"""
|
489
|
-
The date and time the user assessment was last
|
489
|
+
The date and time the user assessment was last executed, in the format defined by [RFC3339](https://tools.ietf.org/html/rfc3339).
|
490
490
|
"""
|
491
491
|
return pulumi.get(self, "time_last_assessed")
|
492
492
|
|
@@ -498,7 +498,7 @@ class _UserAssessmentState:
|
|
498
498
|
@pulumi.getter(name="timeUpdated")
|
499
499
|
def time_updated(self) -> Optional[pulumi.Input[str]]:
|
500
500
|
"""
|
501
|
-
The
|
501
|
+
The date and time the user assessment was last updated, in the format defined by [RFC3339](https://tools.ietf.org/html/rfc3339).
|
502
502
|
"""
|
503
503
|
return pulumi.get(self, "time_updated")
|
504
504
|
|
@@ -510,7 +510,7 @@ class _UserAssessmentState:
|
|
510
510
|
@pulumi.getter(name="triggeredBy")
|
511
511
|
def triggered_by(self) -> Optional[pulumi.Input[str]]:
|
512
512
|
"""
|
513
|
-
Indicates whether the user assessment was created by system or user.
|
513
|
+
Indicates whether the user assessment was created by the system or the user.
|
514
514
|
"""
|
515
515
|
return pulumi.get(self, "triggered_by")
|
516
516
|
|
@@ -522,7 +522,7 @@ class _UserAssessmentState:
|
|
522
522
|
@pulumi.getter
|
523
523
|
def type(self) -> Optional[pulumi.Input[str]]:
|
524
524
|
"""
|
525
|
-
|
525
|
+
The type of the user assessment. The possible types are:
|
526
526
|
"""
|
527
527
|
return pulumi.get(self, "type")
|
528
528
|
|
@@ -758,11 +758,11 @@ class UserAssessment(pulumi.CustomResource):
|
|
758
758
|
** IMPORTANT **
|
759
759
|
Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values
|
760
760
|
:param pulumi.Input[Sequence[pulumi.Input[str]]] target_ids: Array of database target OCIDs.
|
761
|
-
:param pulumi.Input[str] time_created: The date and time
|
762
|
-
:param pulumi.Input[str] time_last_assessed: The date and time the user assessment was last
|
763
|
-
:param pulumi.Input[str] time_updated: The
|
764
|
-
:param pulumi.Input[str] triggered_by: Indicates whether the user assessment was created by system or user.
|
765
|
-
:param pulumi.Input[str] type:
|
761
|
+
:param pulumi.Input[str] time_created: The date and time the user assessment was created, in the format defined by [RFC3339](https://tools.ietf.org/html/rfc3339).
|
762
|
+
:param pulumi.Input[str] time_last_assessed: The date and time the user assessment was last executed, in the format defined by [RFC3339](https://tools.ietf.org/html/rfc3339).
|
763
|
+
:param pulumi.Input[str] time_updated: The date and time the user assessment was last updated, in the format defined by [RFC3339](https://tools.ietf.org/html/rfc3339).
|
764
|
+
:param pulumi.Input[str] triggered_by: Indicates whether the user assessment was created by the system or the user.
|
765
|
+
:param pulumi.Input[str] type: The type of the user assessment. The possible types are:
|
766
766
|
"""
|
767
767
|
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
768
768
|
|
@@ -947,7 +947,7 @@ class UserAssessment(pulumi.CustomResource):
|
|
947
947
|
@pulumi.getter(name="timeCreated")
|
948
948
|
def time_created(self) -> pulumi.Output[str]:
|
949
949
|
"""
|
950
|
-
The date and time
|
950
|
+
The date and time the user assessment was created, in the format defined by [RFC3339](https://tools.ietf.org/html/rfc3339).
|
951
951
|
"""
|
952
952
|
return pulumi.get(self, "time_created")
|
953
953
|
|
@@ -955,7 +955,7 @@ class UserAssessment(pulumi.CustomResource):
|
|
955
955
|
@pulumi.getter(name="timeLastAssessed")
|
956
956
|
def time_last_assessed(self) -> pulumi.Output[str]:
|
957
957
|
"""
|
958
|
-
The date and time the user assessment was last
|
958
|
+
The date and time the user assessment was last executed, in the format defined by [RFC3339](https://tools.ietf.org/html/rfc3339).
|
959
959
|
"""
|
960
960
|
return pulumi.get(self, "time_last_assessed")
|
961
961
|
|
@@ -963,7 +963,7 @@ class UserAssessment(pulumi.CustomResource):
|
|
963
963
|
@pulumi.getter(name="timeUpdated")
|
964
964
|
def time_updated(self) -> pulumi.Output[str]:
|
965
965
|
"""
|
966
|
-
The
|
966
|
+
The date and time the user assessment was last updated, in the format defined by [RFC3339](https://tools.ietf.org/html/rfc3339).
|
967
967
|
"""
|
968
968
|
return pulumi.get(self, "time_updated")
|
969
969
|
|
@@ -971,7 +971,7 @@ class UserAssessment(pulumi.CustomResource):
|
|
971
971
|
@pulumi.getter(name="triggeredBy")
|
972
972
|
def triggered_by(self) -> pulumi.Output[str]:
|
973
973
|
"""
|
974
|
-
Indicates whether the user assessment was created by system or user.
|
974
|
+
Indicates whether the user assessment was created by the system or the user.
|
975
975
|
"""
|
976
976
|
return pulumi.get(self, "triggered_by")
|
977
977
|
|
@@ -979,7 +979,7 @@ class UserAssessment(pulumi.CustomResource):
|
|
979
979
|
@pulumi.getter
|
980
980
|
def type(self) -> pulumi.Output[str]:
|
981
981
|
"""
|
982
|
-
|
982
|
+
The type of the user assessment. The possible types are:
|
983
983
|
"""
|
984
984
|
return pulumi.get(self, "type")
|
985
985
|
|
@@ -0,0 +1,18 @@
|
|
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
|
+
from .. import _utilities
|
6
|
+
import typing
|
7
|
+
# Export this package's modules as members:
|
8
|
+
from .dedicated_ai_cluster import *
|
9
|
+
from .endpoint import *
|
10
|
+
from .get_dedicated_ai_cluster import *
|
11
|
+
from .get_dedicated_ai_clusters import *
|
12
|
+
from .get_endpoint import *
|
13
|
+
from .get_endpoints import *
|
14
|
+
from .get_model import *
|
15
|
+
from .get_models import *
|
16
|
+
from .model import *
|
17
|
+
from ._inputs import *
|
18
|
+
from . import outputs
|
@@ -0,0 +1,534 @@
|
|
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
|
+
|
12
|
+
__all__ = [
|
13
|
+
'DedicatedAiClusterCapacityArgs',
|
14
|
+
'EndpointContentModerationConfigArgs',
|
15
|
+
'ModelFineTuneDetailsArgs',
|
16
|
+
'ModelFineTuneDetailsTrainingConfigArgs',
|
17
|
+
'ModelFineTuneDetailsTrainingDatasetArgs',
|
18
|
+
'ModelModelMetricArgs',
|
19
|
+
'GetDedicatedAiClustersFilterArgs',
|
20
|
+
'GetEndpointsFilterArgs',
|
21
|
+
'GetModelsFilterArgs',
|
22
|
+
]
|
23
|
+
|
24
|
+
@pulumi.input_type
|
25
|
+
class DedicatedAiClusterCapacityArgs:
|
26
|
+
def __init__(__self__, *,
|
27
|
+
capacity_type: Optional[pulumi.Input[str]] = None,
|
28
|
+
total_endpoint_capacity: Optional[pulumi.Input[int]] = None,
|
29
|
+
used_endpoint_capacity: Optional[pulumi.Input[int]] = None):
|
30
|
+
"""
|
31
|
+
:param pulumi.Input[str] capacity_type: The type of the dedicated AI cluster capacity.
|
32
|
+
:param pulumi.Input[int] total_endpoint_capacity: The total number of endpoints that can be hosted on this dedicated AI cluster.
|
33
|
+
:param pulumi.Input[int] used_endpoint_capacity: The number of endpoints hosted on this dedicated AI cluster.
|
34
|
+
"""
|
35
|
+
if capacity_type is not None:
|
36
|
+
pulumi.set(__self__, "capacity_type", capacity_type)
|
37
|
+
if total_endpoint_capacity is not None:
|
38
|
+
pulumi.set(__self__, "total_endpoint_capacity", total_endpoint_capacity)
|
39
|
+
if used_endpoint_capacity is not None:
|
40
|
+
pulumi.set(__self__, "used_endpoint_capacity", used_endpoint_capacity)
|
41
|
+
|
42
|
+
@property
|
43
|
+
@pulumi.getter(name="capacityType")
|
44
|
+
def capacity_type(self) -> Optional[pulumi.Input[str]]:
|
45
|
+
"""
|
46
|
+
The type of the dedicated AI cluster capacity.
|
47
|
+
"""
|
48
|
+
return pulumi.get(self, "capacity_type")
|
49
|
+
|
50
|
+
@capacity_type.setter
|
51
|
+
def capacity_type(self, value: Optional[pulumi.Input[str]]):
|
52
|
+
pulumi.set(self, "capacity_type", value)
|
53
|
+
|
54
|
+
@property
|
55
|
+
@pulumi.getter(name="totalEndpointCapacity")
|
56
|
+
def total_endpoint_capacity(self) -> Optional[pulumi.Input[int]]:
|
57
|
+
"""
|
58
|
+
The total number of endpoints that can be hosted on this dedicated AI cluster.
|
59
|
+
"""
|
60
|
+
return pulumi.get(self, "total_endpoint_capacity")
|
61
|
+
|
62
|
+
@total_endpoint_capacity.setter
|
63
|
+
def total_endpoint_capacity(self, value: Optional[pulumi.Input[int]]):
|
64
|
+
pulumi.set(self, "total_endpoint_capacity", value)
|
65
|
+
|
66
|
+
@property
|
67
|
+
@pulumi.getter(name="usedEndpointCapacity")
|
68
|
+
def used_endpoint_capacity(self) -> Optional[pulumi.Input[int]]:
|
69
|
+
"""
|
70
|
+
The number of endpoints hosted on this dedicated AI cluster.
|
71
|
+
"""
|
72
|
+
return pulumi.get(self, "used_endpoint_capacity")
|
73
|
+
|
74
|
+
@used_endpoint_capacity.setter
|
75
|
+
def used_endpoint_capacity(self, value: Optional[pulumi.Input[int]]):
|
76
|
+
pulumi.set(self, "used_endpoint_capacity", value)
|
77
|
+
|
78
|
+
|
79
|
+
@pulumi.input_type
|
80
|
+
class EndpointContentModerationConfigArgs:
|
81
|
+
def __init__(__self__, *,
|
82
|
+
is_enabled: pulumi.Input[bool]):
|
83
|
+
"""
|
84
|
+
:param pulumi.Input[bool] is_enabled: (Updatable) Whether to enable the content moderation feature.
|
85
|
+
"""
|
86
|
+
pulumi.set(__self__, "is_enabled", is_enabled)
|
87
|
+
|
88
|
+
@property
|
89
|
+
@pulumi.getter(name="isEnabled")
|
90
|
+
def is_enabled(self) -> pulumi.Input[bool]:
|
91
|
+
"""
|
92
|
+
(Updatable) Whether to enable the content moderation feature.
|
93
|
+
"""
|
94
|
+
return pulumi.get(self, "is_enabled")
|
95
|
+
|
96
|
+
@is_enabled.setter
|
97
|
+
def is_enabled(self, value: pulumi.Input[bool]):
|
98
|
+
pulumi.set(self, "is_enabled", value)
|
99
|
+
|
100
|
+
|
101
|
+
@pulumi.input_type
|
102
|
+
class ModelFineTuneDetailsArgs:
|
103
|
+
def __init__(__self__, *,
|
104
|
+
dedicated_ai_cluster_id: pulumi.Input[str],
|
105
|
+
training_dataset: pulumi.Input['ModelFineTuneDetailsTrainingDatasetArgs'],
|
106
|
+
training_config: Optional[pulumi.Input['ModelFineTuneDetailsTrainingConfigArgs']] = None):
|
107
|
+
"""
|
108
|
+
:param pulumi.Input[str] dedicated_ai_cluster_id: The OCID of the dedicated AI cluster this fine-tuning runs on.
|
109
|
+
:param pulumi.Input['ModelFineTuneDetailsTrainingDatasetArgs'] training_dataset: The dataset used to fine-tune the model.
|
110
|
+
|
111
|
+
Only one dataset is allowed per custom model, which is split 90-10 for training and validating. You must provide the dataset in a JSON Lines (JSONL) file. Each line in the JSONL file must have the format: `{"prompt": "<first prompt>", "completion": "<expected completion given first prompt>"}`
|
112
|
+
:param pulumi.Input['ModelFineTuneDetailsTrainingConfigArgs'] training_config: The fine-tuning method and hyperparameters used for fine-tuning a custom model.
|
113
|
+
"""
|
114
|
+
pulumi.set(__self__, "dedicated_ai_cluster_id", dedicated_ai_cluster_id)
|
115
|
+
pulumi.set(__self__, "training_dataset", training_dataset)
|
116
|
+
if training_config is not None:
|
117
|
+
pulumi.set(__self__, "training_config", training_config)
|
118
|
+
|
119
|
+
@property
|
120
|
+
@pulumi.getter(name="dedicatedAiClusterId")
|
121
|
+
def dedicated_ai_cluster_id(self) -> pulumi.Input[str]:
|
122
|
+
"""
|
123
|
+
The OCID of the dedicated AI cluster this fine-tuning runs on.
|
124
|
+
"""
|
125
|
+
return pulumi.get(self, "dedicated_ai_cluster_id")
|
126
|
+
|
127
|
+
@dedicated_ai_cluster_id.setter
|
128
|
+
def dedicated_ai_cluster_id(self, value: pulumi.Input[str]):
|
129
|
+
pulumi.set(self, "dedicated_ai_cluster_id", value)
|
130
|
+
|
131
|
+
@property
|
132
|
+
@pulumi.getter(name="trainingDataset")
|
133
|
+
def training_dataset(self) -> pulumi.Input['ModelFineTuneDetailsTrainingDatasetArgs']:
|
134
|
+
"""
|
135
|
+
The dataset used to fine-tune the model.
|
136
|
+
|
137
|
+
Only one dataset is allowed per custom model, which is split 90-10 for training and validating. You must provide the dataset in a JSON Lines (JSONL) file. Each line in the JSONL file must have the format: `{"prompt": "<first prompt>", "completion": "<expected completion given first prompt>"}`
|
138
|
+
"""
|
139
|
+
return pulumi.get(self, "training_dataset")
|
140
|
+
|
141
|
+
@training_dataset.setter
|
142
|
+
def training_dataset(self, value: pulumi.Input['ModelFineTuneDetailsTrainingDatasetArgs']):
|
143
|
+
pulumi.set(self, "training_dataset", value)
|
144
|
+
|
145
|
+
@property
|
146
|
+
@pulumi.getter(name="trainingConfig")
|
147
|
+
def training_config(self) -> Optional[pulumi.Input['ModelFineTuneDetailsTrainingConfigArgs']]:
|
148
|
+
"""
|
149
|
+
The fine-tuning method and hyperparameters used for fine-tuning a custom model.
|
150
|
+
"""
|
151
|
+
return pulumi.get(self, "training_config")
|
152
|
+
|
153
|
+
@training_config.setter
|
154
|
+
def training_config(self, value: Optional[pulumi.Input['ModelFineTuneDetailsTrainingConfigArgs']]):
|
155
|
+
pulumi.set(self, "training_config", value)
|
156
|
+
|
157
|
+
|
158
|
+
@pulumi.input_type
|
159
|
+
class ModelFineTuneDetailsTrainingConfigArgs:
|
160
|
+
def __init__(__self__, *,
|
161
|
+
training_config_type: pulumi.Input[str],
|
162
|
+
early_stopping_patience: Optional[pulumi.Input[int]] = None,
|
163
|
+
early_stopping_threshold: Optional[pulumi.Input[float]] = None,
|
164
|
+
learning_rate: Optional[pulumi.Input[float]] = None,
|
165
|
+
log_model_metrics_interval_in_steps: Optional[pulumi.Input[int]] = None,
|
166
|
+
num_of_last_layers: Optional[pulumi.Input[int]] = None,
|
167
|
+
total_training_epochs: Optional[pulumi.Input[int]] = None,
|
168
|
+
training_batch_size: Optional[pulumi.Input[int]] = None):
|
169
|
+
"""
|
170
|
+
:param pulumi.Input[str] training_config_type: The fine-tuning method for training a custom model.
|
171
|
+
:param pulumi.Input[int] early_stopping_patience: Stop training if the loss metric does not improve beyond 'early_stopping_threshold' for this many times of evaluation.
|
172
|
+
:param pulumi.Input[float] early_stopping_threshold: How much the loss must improve to prevent early stopping.
|
173
|
+
:param pulumi.Input[float] learning_rate: The initial learning rate to be used during training
|
174
|
+
:param pulumi.Input[int] log_model_metrics_interval_in_steps: Determines how frequently to log model metrics.
|
175
|
+
|
176
|
+
Every step is logged for the first 20 steps and then follows this parameter for log frequency. Set to 0 to disable logging the model metrics.
|
177
|
+
:param pulumi.Input[int] num_of_last_layers: The number of last layers to be fine-tuned.
|
178
|
+
:param pulumi.Input[int] total_training_epochs: The maximum number of training epochs to run for.
|
179
|
+
:param pulumi.Input[int] training_batch_size: The batch size used during training.
|
180
|
+
"""
|
181
|
+
pulumi.set(__self__, "training_config_type", training_config_type)
|
182
|
+
if early_stopping_patience is not None:
|
183
|
+
pulumi.set(__self__, "early_stopping_patience", early_stopping_patience)
|
184
|
+
if early_stopping_threshold is not None:
|
185
|
+
pulumi.set(__self__, "early_stopping_threshold", early_stopping_threshold)
|
186
|
+
if learning_rate is not None:
|
187
|
+
pulumi.set(__self__, "learning_rate", learning_rate)
|
188
|
+
if log_model_metrics_interval_in_steps is not None:
|
189
|
+
pulumi.set(__self__, "log_model_metrics_interval_in_steps", log_model_metrics_interval_in_steps)
|
190
|
+
if num_of_last_layers is not None:
|
191
|
+
pulumi.set(__self__, "num_of_last_layers", num_of_last_layers)
|
192
|
+
if total_training_epochs is not None:
|
193
|
+
pulumi.set(__self__, "total_training_epochs", total_training_epochs)
|
194
|
+
if training_batch_size is not None:
|
195
|
+
pulumi.set(__self__, "training_batch_size", training_batch_size)
|
196
|
+
|
197
|
+
@property
|
198
|
+
@pulumi.getter(name="trainingConfigType")
|
199
|
+
def training_config_type(self) -> pulumi.Input[str]:
|
200
|
+
"""
|
201
|
+
The fine-tuning method for training a custom model.
|
202
|
+
"""
|
203
|
+
return pulumi.get(self, "training_config_type")
|
204
|
+
|
205
|
+
@training_config_type.setter
|
206
|
+
def training_config_type(self, value: pulumi.Input[str]):
|
207
|
+
pulumi.set(self, "training_config_type", value)
|
208
|
+
|
209
|
+
@property
|
210
|
+
@pulumi.getter(name="earlyStoppingPatience")
|
211
|
+
def early_stopping_patience(self) -> Optional[pulumi.Input[int]]:
|
212
|
+
"""
|
213
|
+
Stop training if the loss metric does not improve beyond 'early_stopping_threshold' for this many times of evaluation.
|
214
|
+
"""
|
215
|
+
return pulumi.get(self, "early_stopping_patience")
|
216
|
+
|
217
|
+
@early_stopping_patience.setter
|
218
|
+
def early_stopping_patience(self, value: Optional[pulumi.Input[int]]):
|
219
|
+
pulumi.set(self, "early_stopping_patience", value)
|
220
|
+
|
221
|
+
@property
|
222
|
+
@pulumi.getter(name="earlyStoppingThreshold")
|
223
|
+
def early_stopping_threshold(self) -> Optional[pulumi.Input[float]]:
|
224
|
+
"""
|
225
|
+
How much the loss must improve to prevent early stopping.
|
226
|
+
"""
|
227
|
+
return pulumi.get(self, "early_stopping_threshold")
|
228
|
+
|
229
|
+
@early_stopping_threshold.setter
|
230
|
+
def early_stopping_threshold(self, value: Optional[pulumi.Input[float]]):
|
231
|
+
pulumi.set(self, "early_stopping_threshold", value)
|
232
|
+
|
233
|
+
@property
|
234
|
+
@pulumi.getter(name="learningRate")
|
235
|
+
def learning_rate(self) -> Optional[pulumi.Input[float]]:
|
236
|
+
"""
|
237
|
+
The initial learning rate to be used during training
|
238
|
+
"""
|
239
|
+
return pulumi.get(self, "learning_rate")
|
240
|
+
|
241
|
+
@learning_rate.setter
|
242
|
+
def learning_rate(self, value: Optional[pulumi.Input[float]]):
|
243
|
+
pulumi.set(self, "learning_rate", value)
|
244
|
+
|
245
|
+
@property
|
246
|
+
@pulumi.getter(name="logModelMetricsIntervalInSteps")
|
247
|
+
def log_model_metrics_interval_in_steps(self) -> Optional[pulumi.Input[int]]:
|
248
|
+
"""
|
249
|
+
Determines how frequently to log model metrics.
|
250
|
+
|
251
|
+
Every step is logged for the first 20 steps and then follows this parameter for log frequency. Set to 0 to disable logging the model metrics.
|
252
|
+
"""
|
253
|
+
return pulumi.get(self, "log_model_metrics_interval_in_steps")
|
254
|
+
|
255
|
+
@log_model_metrics_interval_in_steps.setter
|
256
|
+
def log_model_metrics_interval_in_steps(self, value: Optional[pulumi.Input[int]]):
|
257
|
+
pulumi.set(self, "log_model_metrics_interval_in_steps", value)
|
258
|
+
|
259
|
+
@property
|
260
|
+
@pulumi.getter(name="numOfLastLayers")
|
261
|
+
def num_of_last_layers(self) -> Optional[pulumi.Input[int]]:
|
262
|
+
"""
|
263
|
+
The number of last layers to be fine-tuned.
|
264
|
+
"""
|
265
|
+
return pulumi.get(self, "num_of_last_layers")
|
266
|
+
|
267
|
+
@num_of_last_layers.setter
|
268
|
+
def num_of_last_layers(self, value: Optional[pulumi.Input[int]]):
|
269
|
+
pulumi.set(self, "num_of_last_layers", value)
|
270
|
+
|
271
|
+
@property
|
272
|
+
@pulumi.getter(name="totalTrainingEpochs")
|
273
|
+
def total_training_epochs(self) -> Optional[pulumi.Input[int]]:
|
274
|
+
"""
|
275
|
+
The maximum number of training epochs to run for.
|
276
|
+
"""
|
277
|
+
return pulumi.get(self, "total_training_epochs")
|
278
|
+
|
279
|
+
@total_training_epochs.setter
|
280
|
+
def total_training_epochs(self, value: Optional[pulumi.Input[int]]):
|
281
|
+
pulumi.set(self, "total_training_epochs", value)
|
282
|
+
|
283
|
+
@property
|
284
|
+
@pulumi.getter(name="trainingBatchSize")
|
285
|
+
def training_batch_size(self) -> Optional[pulumi.Input[int]]:
|
286
|
+
"""
|
287
|
+
The batch size used during training.
|
288
|
+
"""
|
289
|
+
return pulumi.get(self, "training_batch_size")
|
290
|
+
|
291
|
+
@training_batch_size.setter
|
292
|
+
def training_batch_size(self, value: Optional[pulumi.Input[int]]):
|
293
|
+
pulumi.set(self, "training_batch_size", value)
|
294
|
+
|
295
|
+
|
296
|
+
@pulumi.input_type
|
297
|
+
class ModelFineTuneDetailsTrainingDatasetArgs:
|
298
|
+
def __init__(__self__, *,
|
299
|
+
bucket: pulumi.Input[str],
|
300
|
+
dataset_type: pulumi.Input[str],
|
301
|
+
namespace: pulumi.Input[str],
|
302
|
+
object: pulumi.Input[str]):
|
303
|
+
"""
|
304
|
+
:param pulumi.Input[str] bucket: The Object Storage bucket name.
|
305
|
+
:param pulumi.Input[str] dataset_type: The type of the data asset.
|
306
|
+
:param pulumi.Input[str] namespace: The Object Storage namespace.
|
307
|
+
:param pulumi.Input[str] object: The Object Storage object name.
|
308
|
+
"""
|
309
|
+
pulumi.set(__self__, "bucket", bucket)
|
310
|
+
pulumi.set(__self__, "dataset_type", dataset_type)
|
311
|
+
pulumi.set(__self__, "namespace", namespace)
|
312
|
+
pulumi.set(__self__, "object", object)
|
313
|
+
|
314
|
+
@property
|
315
|
+
@pulumi.getter
|
316
|
+
def bucket(self) -> pulumi.Input[str]:
|
317
|
+
"""
|
318
|
+
The Object Storage bucket name.
|
319
|
+
"""
|
320
|
+
return pulumi.get(self, "bucket")
|
321
|
+
|
322
|
+
@bucket.setter
|
323
|
+
def bucket(self, value: pulumi.Input[str]):
|
324
|
+
pulumi.set(self, "bucket", value)
|
325
|
+
|
326
|
+
@property
|
327
|
+
@pulumi.getter(name="datasetType")
|
328
|
+
def dataset_type(self) -> pulumi.Input[str]:
|
329
|
+
"""
|
330
|
+
The type of the data asset.
|
331
|
+
"""
|
332
|
+
return pulumi.get(self, "dataset_type")
|
333
|
+
|
334
|
+
@dataset_type.setter
|
335
|
+
def dataset_type(self, value: pulumi.Input[str]):
|
336
|
+
pulumi.set(self, "dataset_type", value)
|
337
|
+
|
338
|
+
@property
|
339
|
+
@pulumi.getter
|
340
|
+
def namespace(self) -> pulumi.Input[str]:
|
341
|
+
"""
|
342
|
+
The Object Storage namespace.
|
343
|
+
"""
|
344
|
+
return pulumi.get(self, "namespace")
|
345
|
+
|
346
|
+
@namespace.setter
|
347
|
+
def namespace(self, value: pulumi.Input[str]):
|
348
|
+
pulumi.set(self, "namespace", value)
|
349
|
+
|
350
|
+
@property
|
351
|
+
@pulumi.getter
|
352
|
+
def object(self) -> pulumi.Input[str]:
|
353
|
+
"""
|
354
|
+
The Object Storage object name.
|
355
|
+
"""
|
356
|
+
return pulumi.get(self, "object")
|
357
|
+
|
358
|
+
@object.setter
|
359
|
+
def object(self, value: pulumi.Input[str]):
|
360
|
+
pulumi.set(self, "object", value)
|
361
|
+
|
362
|
+
|
363
|
+
@pulumi.input_type
|
364
|
+
class ModelModelMetricArgs:
|
365
|
+
def __init__(__self__, *,
|
366
|
+
final_accuracy: Optional[pulumi.Input[float]] = None,
|
367
|
+
final_loss: Optional[pulumi.Input[float]] = None,
|
368
|
+
model_metrics_type: Optional[pulumi.Input[str]] = None):
|
369
|
+
"""
|
370
|
+
:param pulumi.Input[float] final_accuracy: Fine-tuned model accuracy.
|
371
|
+
:param pulumi.Input[float] final_loss: Fine-tuned model loss.
|
372
|
+
:param pulumi.Input[str] model_metrics_type: The type of the model metrics. Each type of model can expect a different set of model metrics.
|
373
|
+
"""
|
374
|
+
if final_accuracy is not None:
|
375
|
+
pulumi.set(__self__, "final_accuracy", final_accuracy)
|
376
|
+
if final_loss is not None:
|
377
|
+
pulumi.set(__self__, "final_loss", final_loss)
|
378
|
+
if model_metrics_type is not None:
|
379
|
+
pulumi.set(__self__, "model_metrics_type", model_metrics_type)
|
380
|
+
|
381
|
+
@property
|
382
|
+
@pulumi.getter(name="finalAccuracy")
|
383
|
+
def final_accuracy(self) -> Optional[pulumi.Input[float]]:
|
384
|
+
"""
|
385
|
+
Fine-tuned model accuracy.
|
386
|
+
"""
|
387
|
+
return pulumi.get(self, "final_accuracy")
|
388
|
+
|
389
|
+
@final_accuracy.setter
|
390
|
+
def final_accuracy(self, value: Optional[pulumi.Input[float]]):
|
391
|
+
pulumi.set(self, "final_accuracy", value)
|
392
|
+
|
393
|
+
@property
|
394
|
+
@pulumi.getter(name="finalLoss")
|
395
|
+
def final_loss(self) -> Optional[pulumi.Input[float]]:
|
396
|
+
"""
|
397
|
+
Fine-tuned model loss.
|
398
|
+
"""
|
399
|
+
return pulumi.get(self, "final_loss")
|
400
|
+
|
401
|
+
@final_loss.setter
|
402
|
+
def final_loss(self, value: Optional[pulumi.Input[float]]):
|
403
|
+
pulumi.set(self, "final_loss", value)
|
404
|
+
|
405
|
+
@property
|
406
|
+
@pulumi.getter(name="modelMetricsType")
|
407
|
+
def model_metrics_type(self) -> Optional[pulumi.Input[str]]:
|
408
|
+
"""
|
409
|
+
The type of the model metrics. Each type of model can expect a different set of model metrics.
|
410
|
+
"""
|
411
|
+
return pulumi.get(self, "model_metrics_type")
|
412
|
+
|
413
|
+
@model_metrics_type.setter
|
414
|
+
def model_metrics_type(self, value: Optional[pulumi.Input[str]]):
|
415
|
+
pulumi.set(self, "model_metrics_type", value)
|
416
|
+
|
417
|
+
|
418
|
+
@pulumi.input_type
|
419
|
+
class GetDedicatedAiClustersFilterArgs:
|
420
|
+
def __init__(__self__, *,
|
421
|
+
name: str,
|
422
|
+
values: Sequence[str],
|
423
|
+
regex: Optional[bool] = None):
|
424
|
+
pulumi.set(__self__, "name", name)
|
425
|
+
pulumi.set(__self__, "values", values)
|
426
|
+
if regex is not None:
|
427
|
+
pulumi.set(__self__, "regex", regex)
|
428
|
+
|
429
|
+
@property
|
430
|
+
@pulumi.getter
|
431
|
+
def name(self) -> str:
|
432
|
+
return pulumi.get(self, "name")
|
433
|
+
|
434
|
+
@name.setter
|
435
|
+
def name(self, value: str):
|
436
|
+
pulumi.set(self, "name", value)
|
437
|
+
|
438
|
+
@property
|
439
|
+
@pulumi.getter
|
440
|
+
def values(self) -> Sequence[str]:
|
441
|
+
return pulumi.get(self, "values")
|
442
|
+
|
443
|
+
@values.setter
|
444
|
+
def values(self, value: Sequence[str]):
|
445
|
+
pulumi.set(self, "values", value)
|
446
|
+
|
447
|
+
@property
|
448
|
+
@pulumi.getter
|
449
|
+
def regex(self) -> Optional[bool]:
|
450
|
+
return pulumi.get(self, "regex")
|
451
|
+
|
452
|
+
@regex.setter
|
453
|
+
def regex(self, value: Optional[bool]):
|
454
|
+
pulumi.set(self, "regex", value)
|
455
|
+
|
456
|
+
|
457
|
+
@pulumi.input_type
|
458
|
+
class GetEndpointsFilterArgs:
|
459
|
+
def __init__(__self__, *,
|
460
|
+
name: str,
|
461
|
+
values: Sequence[str],
|
462
|
+
regex: Optional[bool] = None):
|
463
|
+
pulumi.set(__self__, "name", name)
|
464
|
+
pulumi.set(__self__, "values", values)
|
465
|
+
if regex is not None:
|
466
|
+
pulumi.set(__self__, "regex", regex)
|
467
|
+
|
468
|
+
@property
|
469
|
+
@pulumi.getter
|
470
|
+
def name(self) -> str:
|
471
|
+
return pulumi.get(self, "name")
|
472
|
+
|
473
|
+
@name.setter
|
474
|
+
def name(self, value: str):
|
475
|
+
pulumi.set(self, "name", value)
|
476
|
+
|
477
|
+
@property
|
478
|
+
@pulumi.getter
|
479
|
+
def values(self) -> Sequence[str]:
|
480
|
+
return pulumi.get(self, "values")
|
481
|
+
|
482
|
+
@values.setter
|
483
|
+
def values(self, value: Sequence[str]):
|
484
|
+
pulumi.set(self, "values", value)
|
485
|
+
|
486
|
+
@property
|
487
|
+
@pulumi.getter
|
488
|
+
def regex(self) -> Optional[bool]:
|
489
|
+
return pulumi.get(self, "regex")
|
490
|
+
|
491
|
+
@regex.setter
|
492
|
+
def regex(self, value: Optional[bool]):
|
493
|
+
pulumi.set(self, "regex", value)
|
494
|
+
|
495
|
+
|
496
|
+
@pulumi.input_type
|
497
|
+
class GetModelsFilterArgs:
|
498
|
+
def __init__(__self__, *,
|
499
|
+
name: str,
|
500
|
+
values: Sequence[str],
|
501
|
+
regex: Optional[bool] = None):
|
502
|
+
pulumi.set(__self__, "name", name)
|
503
|
+
pulumi.set(__self__, "values", values)
|
504
|
+
if regex is not None:
|
505
|
+
pulumi.set(__self__, "regex", regex)
|
506
|
+
|
507
|
+
@property
|
508
|
+
@pulumi.getter
|
509
|
+
def name(self) -> str:
|
510
|
+
return pulumi.get(self, "name")
|
511
|
+
|
512
|
+
@name.setter
|
513
|
+
def name(self, value: str):
|
514
|
+
pulumi.set(self, "name", value)
|
515
|
+
|
516
|
+
@property
|
517
|
+
@pulumi.getter
|
518
|
+
def values(self) -> Sequence[str]:
|
519
|
+
return pulumi.get(self, "values")
|
520
|
+
|
521
|
+
@values.setter
|
522
|
+
def values(self, value: Sequence[str]):
|
523
|
+
pulumi.set(self, "values", value)
|
524
|
+
|
525
|
+
@property
|
526
|
+
@pulumi.getter
|
527
|
+
def regex(self) -> Optional[bool]:
|
528
|
+
return pulumi.get(self, "regex")
|
529
|
+
|
530
|
+
@regex.setter
|
531
|
+
def regex(self, value: Optional[bool]):
|
532
|
+
pulumi.set(self, "regex", value)
|
533
|
+
|
534
|
+
|