pulumi-oci 2.12.0a1728593306__py3-none-any.whl → 2.12.0a1728642710__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 (170) hide show
  1. pulumi_oci/__init__.py +145 -0
  2. pulumi_oci/analytics/analytics_instance.py +54 -5
  3. pulumi_oci/analytics/get_analytics_instance.py +18 -4
  4. pulumi_oci/analytics/outputs.py +12 -1
  5. pulumi_oci/core/_inputs.py +648 -159
  6. pulumi_oci/core/cluster_network.py +7 -7
  7. pulumi_oci/core/get_instance.py +29 -1
  8. pulumi_oci/core/get_vcn.py +15 -1
  9. pulumi_oci/core/get_vnic.py +15 -1
  10. pulumi_oci/core/instance.py +87 -0
  11. pulumi_oci/core/instance_configuration.py +12 -0
  12. pulumi_oci/core/ipsec.py +183 -23
  13. pulumi_oci/core/network_security_group_security_rule.py +2 -2
  14. pulumi_oci/core/outputs.py +709 -107
  15. pulumi_oci/core/service_gateway.py +13 -7
  16. pulumi_oci/core/vcn.py +65 -23
  17. pulumi_oci/core/virtual_network.py +35 -1
  18. pulumi_oci/core/vnic_attachment.py +2 -0
  19. pulumi_oci/database/_inputs.py +905 -27
  20. pulumi_oci/database/autonomous_database.py +48 -28
  21. pulumi_oci/database/autonomous_database_backup.py +12 -12
  22. pulumi_oci/database/autonomous_exadata_infrastructure.py +2 -0
  23. pulumi_oci/database/autonomous_vm_cluster.py +2 -0
  24. pulumi_oci/database/backup.py +12 -12
  25. pulumi_oci/database/cloud_autonomous_vm_cluster.py +2 -0
  26. pulumi_oci/database/cloud_exadata_infrastructure.py +2 -0
  27. pulumi_oci/database/cloud_vm_cluster.py +71 -0
  28. pulumi_oci/database/database.py +15 -15
  29. pulumi_oci/database/database_upgrade.py +12 -12
  30. pulumi_oci/database/db_system.py +9 -9
  31. pulumi_oci/database/exadata_infrastructure.py +2 -0
  32. pulumi_oci/database/get_autonomous_container_database.py +1 -1
  33. pulumi_oci/database/get_autonomous_database.py +18 -4
  34. pulumi_oci/database/get_autonomous_database_backup.py +3 -3
  35. pulumi_oci/database/get_autonomous_databases.py +88 -5
  36. pulumi_oci/database/get_cloud_vm_cluster.py +15 -1
  37. pulumi_oci/database/get_database.py +3 -3
  38. pulumi_oci/database/get_pluggable_database.py +12 -1
  39. pulumi_oci/database/get_vm_cluster.py +15 -1
  40. pulumi_oci/database/outputs.py +1431 -74
  41. pulumi_oci/database/pluggable_database.py +34 -0
  42. pulumi_oci/database/vm_cluster.py +71 -0
  43. pulumi_oci/database/vm_cluster_add_virtual_network.py +28 -0
  44. pulumi_oci/database/vm_cluster_remove_virtual_machine.py +28 -0
  45. pulumi_oci/datasafe/__init__.py +12 -0
  46. pulumi_oci/datasafe/_inputs.py +441 -0
  47. pulumi_oci/datasafe/get_reports.py +23 -1
  48. pulumi_oci/datasafe/get_sql_collection.py +392 -0
  49. pulumi_oci/datasafe/get_sql_collection_analytics.py +309 -0
  50. pulumi_oci/datasafe/get_sql_collection_log_insights.py +207 -0
  51. pulumi_oci/datasafe/get_sql_collections.py +364 -0
  52. pulumi_oci/datasafe/get_sql_firewall_allowed_sql.py +337 -0
  53. pulumi_oci/datasafe/get_sql_firewall_allowed_sql_analytics.py +250 -0
  54. pulumi_oci/datasafe/get_sql_firewall_allowed_sqls.py +234 -0
  55. pulumi_oci/datasafe/get_sql_firewall_policies.py +386 -0
  56. pulumi_oci/datasafe/get_sql_firewall_policy.py +393 -0
  57. pulumi_oci/datasafe/get_sql_firewall_policy_analytics.py +305 -0
  58. pulumi_oci/datasafe/get_sql_firewall_violation_analytics.py +306 -0
  59. pulumi_oci/datasafe/get_sql_firewall_violations.py +208 -0
  60. pulumi_oci/datasafe/outputs.py +1808 -2
  61. pulumi_oci/desktops/_inputs.py +223 -7
  62. pulumi_oci/desktops/desktop_pool.py +186 -21
  63. pulumi_oci/desktops/get_desktop_pool.py +47 -5
  64. pulumi_oci/desktops/outputs.py +480 -19
  65. pulumi_oci/fleetappsmanagement/__init__.py +43 -0
  66. pulumi_oci/fleetappsmanagement/_inputs.py +2057 -0
  67. pulumi_oci/fleetappsmanagement/fleet.py +955 -0
  68. pulumi_oci/fleetappsmanagement/fleet_credential.py +615 -0
  69. pulumi_oci/fleetappsmanagement/fleet_property.py +585 -0
  70. pulumi_oci/fleetappsmanagement/fleet_resource.py +851 -0
  71. pulumi_oci/fleetappsmanagement/get_announcements.py +166 -0
  72. pulumi_oci/fleetappsmanagement/get_fleet.py +394 -0
  73. pulumi_oci/fleetappsmanagement/get_fleet_compliance_report.py +164 -0
  74. pulumi_oci/fleetappsmanagement/get_fleet_credential.py +273 -0
  75. pulumi_oci/fleetappsmanagement/get_fleet_credentials.py +240 -0
  76. pulumi_oci/fleetappsmanagement/get_fleet_products.py +232 -0
  77. pulumi_oci/fleetappsmanagement/get_fleet_properties.py +218 -0
  78. pulumi_oci/fleetappsmanagement/get_fleet_property.py +286 -0
  79. pulumi_oci/fleetappsmanagement/get_fleet_resource.py +398 -0
  80. pulumi_oci/fleetappsmanagement/get_fleet_resources.py +237 -0
  81. pulumi_oci/fleetappsmanagement/get_fleet_targets.py +232 -0
  82. pulumi_oci/fleetappsmanagement/get_fleets.py +284 -0
  83. pulumi_oci/fleetappsmanagement/get_inventory_resources.py +311 -0
  84. pulumi_oci/fleetappsmanagement/get_maintenance_window.py +365 -0
  85. pulumi_oci/fleetappsmanagement/get_maintenance_windows.py +199 -0
  86. pulumi_oci/fleetappsmanagement/get_onboarding_policies.py +123 -0
  87. pulumi_oci/fleetappsmanagement/get_onboardings.py +177 -0
  88. pulumi_oci/fleetappsmanagement/get_properties.py +221 -0
  89. pulumi_oci/fleetappsmanagement/get_property.py +323 -0
  90. pulumi_oci/fleetappsmanagement/get_runbook.py +377 -0
  91. pulumi_oci/fleetappsmanagement/get_runbooks.py +284 -0
  92. pulumi_oci/fleetappsmanagement/get_scheduler_definition.py +436 -0
  93. pulumi_oci/fleetappsmanagement/get_scheduler_definition_scheduled_fleets.py +185 -0
  94. pulumi_oci/fleetappsmanagement/get_scheduler_definitions.py +262 -0
  95. pulumi_oci/fleetappsmanagement/get_task_record.py +307 -0
  96. pulumi_oci/fleetappsmanagement/get_task_records.py +240 -0
  97. pulumi_oci/fleetappsmanagement/maintenance_window.py +935 -0
  98. pulumi_oci/fleetappsmanagement/onboarding.py +477 -0
  99. pulumi_oci/fleetappsmanagement/outputs.py +8128 -0
  100. pulumi_oci/fleetappsmanagement/property.py +697 -0
  101. pulumi_oci/fleetappsmanagement/scheduler_definition.py +1035 -0
  102. pulumi_oci/functions/get_fusion_environment_refresh_activity.py +15 -1
  103. pulumi_oci/functions/outputs.py +11 -0
  104. pulumi_oci/fusionapps/_inputs.py +21 -20
  105. pulumi_oci/fusionapps/fusion_environment.py +2 -2
  106. pulumi_oci/fusionapps/fusion_environment_admin_user.py +21 -22
  107. pulumi_oci/fusionapps/fusion_environment_refresh_activity.py +48 -51
  108. pulumi_oci/fusionapps/outputs.py +11 -10
  109. pulumi_oci/integration/__init__.py +1 -0
  110. pulumi_oci/integration/_inputs.py +289 -2
  111. pulumi_oci/integration/get_integration_instance.py +65 -1
  112. pulumi_oci/integration/integration_instance.py +172 -0
  113. pulumi_oci/integration/oracle_managed_custom_endpoint.py +307 -0
  114. pulumi_oci/integration/outputs.py +587 -19
  115. pulumi_oci/loadbalancer/_inputs.py +20 -0
  116. pulumi_oci/loadbalancer/listener.py +4 -2
  117. pulumi_oci/loadbalancer/outputs.py +16 -2
  118. pulumi_oci/monitoring/_inputs.py +137 -16
  119. pulumi_oci/monitoring/alarm_suppression.py +164 -35
  120. pulumi_oci/monitoring/get_alarm_statuses.py +5 -3
  121. pulumi_oci/monitoring/get_alarm_suppression.py +33 -3
  122. pulumi_oci/monitoring/get_alarm_suppressions.py +137 -14
  123. pulumi_oci/monitoring/outputs.py +291 -18
  124. pulumi_oci/mysql/mysql_db_system.py +7 -7
  125. pulumi_oci/objectstorage/__init__.py +3 -0
  126. pulumi_oci/objectstorage/_inputs.py +97 -0
  127. pulumi_oci/objectstorage/get_object_versions.py +6 -6
  128. pulumi_oci/objectstorage/get_objects.py +6 -6
  129. pulumi_oci/objectstorage/get_private_endpoint.py +263 -0
  130. pulumi_oci/objectstorage/get_private_endpoint_summaries.py +128 -0
  131. pulumi_oci/objectstorage/outputs.py +258 -0
  132. pulumi_oci/objectstorage/private_endpoint.py +630 -0
  133. pulumi_oci/objectstorage/storage_object.py +7 -7
  134. pulumi_oci/opsi/_inputs.py +268 -114
  135. pulumi_oci/opsi/database_insight.py +162 -21
  136. pulumi_oci/opsi/exadata_insight.py +44 -0
  137. pulumi_oci/opsi/get_database_insight.py +40 -1
  138. pulumi_oci/opsi/get_host_insights.py +2 -2
  139. pulumi_oci/opsi/host_insight.py +0 -48
  140. pulumi_oci/opsi/outputs.py +405 -109
  141. pulumi_oci/pulumi-plugin.json +1 -1
  142. pulumi_oci/securityattribute/__init__.py +15 -0
  143. pulumi_oci/securityattribute/_inputs.py +209 -0
  144. pulumi_oci/securityattribute/get_security_attribute.py +262 -0
  145. pulumi_oci/securityattribute/get_security_attribute_namespace.py +253 -0
  146. pulumi_oci/securityattribute/get_security_attribute_namespaces.py +210 -0
  147. pulumi_oci/securityattribute/get_security_attributes.py +169 -0
  148. pulumi_oci/securityattribute/outputs.py +466 -0
  149. pulumi_oci/securityattribute/security_attribute.py +588 -0
  150. pulumi_oci/securityattribute/security_attribute_namespace.py +609 -0
  151. pulumi_oci/stackmonitoring/__init__.py +5 -0
  152. pulumi_oci/stackmonitoring/_inputs.py +330 -0
  153. pulumi_oci/stackmonitoring/get_maintenance_window.py +254 -0
  154. pulumi_oci/stackmonitoring/get_maintenance_windows.py +210 -0
  155. pulumi_oci/stackmonitoring/maintenance_window.py +551 -0
  156. pulumi_oci/stackmonitoring/maintenance_windows_retry_failed_operation.py +217 -0
  157. pulumi_oci/stackmonitoring/maintenance_windows_stop.py +217 -0
  158. pulumi_oci/stackmonitoring/outputs.py +603 -0
  159. pulumi_oci/zpr/__init__.py +14 -0
  160. pulumi_oci/zpr/_inputs.py +79 -0
  161. pulumi_oci/zpr/configuration.py +516 -0
  162. pulumi_oci/zpr/get_configuration.py +230 -0
  163. pulumi_oci/zpr/get_zpr_policies.py +191 -0
  164. pulumi_oci/zpr/get_zpr_policy.py +264 -0
  165. pulumi_oci/zpr/outputs.py +203 -0
  166. pulumi_oci/zpr/zpr_policy.py +614 -0
  167. {pulumi_oci-2.12.0a1728593306.dist-info → pulumi_oci-2.12.0a1728642710.dist-info}/METADATA +1 -1
  168. {pulumi_oci-2.12.0a1728593306.dist-info → pulumi_oci-2.12.0a1728642710.dist-info}/RECORD +170 -95
  169. {pulumi_oci-2.12.0a1728593306.dist-info → pulumi_oci-2.12.0a1728642710.dist-info}/WHEEL +0 -0
  170. {pulumi_oci-2.12.0a1728593306.dist-info → pulumi_oci-2.12.0a1728642710.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,588 @@
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 sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from .. import _utilities
16
+ from . import outputs
17
+ from ._inputs import *
18
+
19
+ __all__ = ['SecurityAttributeArgs', 'SecurityAttribute']
20
+
21
+ @pulumi.input_type
22
+ class SecurityAttributeArgs:
23
+ def __init__(__self__, *,
24
+ description: pulumi.Input[str],
25
+ security_attribute_namespace_id: pulumi.Input[str],
26
+ is_retired: Optional[pulumi.Input[bool]] = None,
27
+ name: Optional[pulumi.Input[str]] = None,
28
+ validator: Optional[pulumi.Input['SecurityAttributeValidatorArgs']] = None):
29
+ """
30
+ The set of arguments for constructing a SecurityAttribute resource.
31
+ :param pulumi.Input[str] description: (Updatable) The description you assign to the security attribute during creation.
32
+ :param pulumi.Input[str] security_attribute_namespace_id: The OCID of the security attribute namespace.
33
+ :param pulumi.Input[bool] is_retired: Indicates whether the security attribute is retired. See [Managing Security Attribute Namespaces](https://docs.cloud.oracle.com/iaas/Content/zero-trust-packet-routing/managing-security-attribute-namespaces.htm).
34
+ :param pulumi.Input[str] name: The name you assign to the security attribute during creation. This is the security attribute key. The name must be unique within the namespace and cannot be changed.
35
+ :param pulumi.Input['SecurityAttributeValidatorArgs'] validator: (Updatable) Validates a security attribute value. Each validator performs validation steps in addition to the standard validation for security attribute values. For more information, see [Limits on Security Attributes](https://docs.cloud.oracle.com/iaas/Content/zero-trust-packet-routing/overview.htm).
36
+
37
+ If you define a validator after a value has been set for a security attribute, then any updates that attempt to change the value must pass the additional validation defined by the current rule. Previously set values (even those that would fail the current validation) are not updated. You can still update other attributes to resources that contain a non-valid security attribute.
38
+
39
+ To clear the validator call UpdateSecurityAttribute with [DefaultSecuirtyAttributeValidator](https://docs.cloud.oracle.com/iaas/api/#/en/securityattribute/latest/datatypes/DefaultTagDefinitionValidator).
40
+ """
41
+ pulumi.set(__self__, "description", description)
42
+ pulumi.set(__self__, "security_attribute_namespace_id", security_attribute_namespace_id)
43
+ if is_retired is not None:
44
+ pulumi.set(__self__, "is_retired", is_retired)
45
+ if name is not None:
46
+ pulumi.set(__self__, "name", name)
47
+ if validator is not None:
48
+ pulumi.set(__self__, "validator", validator)
49
+
50
+ @property
51
+ @pulumi.getter
52
+ def description(self) -> pulumi.Input[str]:
53
+ """
54
+ (Updatable) The description you assign to the security attribute during creation.
55
+ """
56
+ return pulumi.get(self, "description")
57
+
58
+ @description.setter
59
+ def description(self, value: pulumi.Input[str]):
60
+ pulumi.set(self, "description", value)
61
+
62
+ @property
63
+ @pulumi.getter(name="securityAttributeNamespaceId")
64
+ def security_attribute_namespace_id(self) -> pulumi.Input[str]:
65
+ """
66
+ The OCID of the security attribute namespace.
67
+ """
68
+ return pulumi.get(self, "security_attribute_namespace_id")
69
+
70
+ @security_attribute_namespace_id.setter
71
+ def security_attribute_namespace_id(self, value: pulumi.Input[str]):
72
+ pulumi.set(self, "security_attribute_namespace_id", value)
73
+
74
+ @property
75
+ @pulumi.getter(name="isRetired")
76
+ def is_retired(self) -> Optional[pulumi.Input[bool]]:
77
+ """
78
+ Indicates whether the security attribute is retired. See [Managing Security Attribute Namespaces](https://docs.cloud.oracle.com/iaas/Content/zero-trust-packet-routing/managing-security-attribute-namespaces.htm).
79
+ """
80
+ return pulumi.get(self, "is_retired")
81
+
82
+ @is_retired.setter
83
+ def is_retired(self, value: Optional[pulumi.Input[bool]]):
84
+ pulumi.set(self, "is_retired", value)
85
+
86
+ @property
87
+ @pulumi.getter
88
+ def name(self) -> Optional[pulumi.Input[str]]:
89
+ """
90
+ The name you assign to the security attribute during creation. This is the security attribute key. The name must be unique within the namespace and cannot be changed.
91
+ """
92
+ return pulumi.get(self, "name")
93
+
94
+ @name.setter
95
+ def name(self, value: Optional[pulumi.Input[str]]):
96
+ pulumi.set(self, "name", value)
97
+
98
+ @property
99
+ @pulumi.getter
100
+ def validator(self) -> Optional[pulumi.Input['SecurityAttributeValidatorArgs']]:
101
+ """
102
+ (Updatable) Validates a security attribute value. Each validator performs validation steps in addition to the standard validation for security attribute values. For more information, see [Limits on Security Attributes](https://docs.cloud.oracle.com/iaas/Content/zero-trust-packet-routing/overview.htm).
103
+
104
+ If you define a validator after a value has been set for a security attribute, then any updates that attempt to change the value must pass the additional validation defined by the current rule. Previously set values (even those that would fail the current validation) are not updated. You can still update other attributes to resources that contain a non-valid security attribute.
105
+
106
+ To clear the validator call UpdateSecurityAttribute with [DefaultSecuirtyAttributeValidator](https://docs.cloud.oracle.com/iaas/api/#/en/securityattribute/latest/datatypes/DefaultTagDefinitionValidator).
107
+ """
108
+ return pulumi.get(self, "validator")
109
+
110
+ @validator.setter
111
+ def validator(self, value: Optional[pulumi.Input['SecurityAttributeValidatorArgs']]):
112
+ pulumi.set(self, "validator", value)
113
+
114
+
115
+ @pulumi.input_type
116
+ class _SecurityAttributeState:
117
+ def __init__(__self__, *,
118
+ compartment_id: Optional[pulumi.Input[str]] = None,
119
+ description: Optional[pulumi.Input[str]] = None,
120
+ is_retired: Optional[pulumi.Input[bool]] = None,
121
+ name: Optional[pulumi.Input[str]] = None,
122
+ security_attribute_namespace_id: Optional[pulumi.Input[str]] = None,
123
+ security_attribute_namespace_name: Optional[pulumi.Input[str]] = None,
124
+ state: Optional[pulumi.Input[str]] = None,
125
+ time_created: Optional[pulumi.Input[str]] = None,
126
+ type: Optional[pulumi.Input[str]] = None,
127
+ validator: Optional[pulumi.Input['SecurityAttributeValidatorArgs']] = None):
128
+ """
129
+ Input properties used for looking up and filtering SecurityAttribute resources.
130
+ :param pulumi.Input[str] compartment_id: The OCID of the compartment that contains the security attribute definition.
131
+ :param pulumi.Input[str] description: (Updatable) The description you assign to the security attribute during creation.
132
+ :param pulumi.Input[bool] is_retired: Indicates whether the security attribute is retired. See [Managing Security Attribute Namespaces](https://docs.cloud.oracle.com/iaas/Content/zero-trust-packet-routing/managing-security-attribute-namespaces.htm).
133
+ :param pulumi.Input[str] name: The name you assign to the security attribute during creation. This is the security attribute key. The name must be unique within the namespace and cannot be changed.
134
+ :param pulumi.Input[str] security_attribute_namespace_id: The OCID of the security attribute namespace.
135
+ :param pulumi.Input[str] security_attribute_namespace_name: The name of the security attribute namespace that contains the security attribute.
136
+ :param pulumi.Input[str] state: The security attribute's current state. After creating a security attribute, make sure its `lifecycleState` is ACTIVE before using it. After retiring a security attribute, make sure its `lifecycleState` is INACTIVE before using it. If you delete a security attribute, you cannot delete another security attribute until the deleted security attribute's `lifecycleState` changes from DELETING to DELETED.
137
+ :param pulumi.Input[str] time_created: Date and time the security attribute was created, in the format defined by RFC3339. Example: `2016-08-25T21:10:29.600Z`
138
+ :param pulumi.Input[str] type: The data type of the security attribute.
139
+ :param pulumi.Input['SecurityAttributeValidatorArgs'] validator: (Updatable) Validates a security attribute value. Each validator performs validation steps in addition to the standard validation for security attribute values. For more information, see [Limits on Security Attributes](https://docs.cloud.oracle.com/iaas/Content/zero-trust-packet-routing/overview.htm).
140
+
141
+ If you define a validator after a value has been set for a security attribute, then any updates that attempt to change the value must pass the additional validation defined by the current rule. Previously set values (even those that would fail the current validation) are not updated. You can still update other attributes to resources that contain a non-valid security attribute.
142
+
143
+ To clear the validator call UpdateSecurityAttribute with [DefaultSecuirtyAttributeValidator](https://docs.cloud.oracle.com/iaas/api/#/en/securityattribute/latest/datatypes/DefaultTagDefinitionValidator).
144
+ """
145
+ if compartment_id is not None:
146
+ pulumi.set(__self__, "compartment_id", compartment_id)
147
+ if description is not None:
148
+ pulumi.set(__self__, "description", description)
149
+ if is_retired is not None:
150
+ pulumi.set(__self__, "is_retired", is_retired)
151
+ if name is not None:
152
+ pulumi.set(__self__, "name", name)
153
+ if security_attribute_namespace_id is not None:
154
+ pulumi.set(__self__, "security_attribute_namespace_id", security_attribute_namespace_id)
155
+ if security_attribute_namespace_name is not None:
156
+ pulumi.set(__self__, "security_attribute_namespace_name", security_attribute_namespace_name)
157
+ if state is not None:
158
+ pulumi.set(__self__, "state", state)
159
+ if time_created is not None:
160
+ pulumi.set(__self__, "time_created", time_created)
161
+ if type is not None:
162
+ pulumi.set(__self__, "type", type)
163
+ if validator is not None:
164
+ pulumi.set(__self__, "validator", validator)
165
+
166
+ @property
167
+ @pulumi.getter(name="compartmentId")
168
+ def compartment_id(self) -> Optional[pulumi.Input[str]]:
169
+ """
170
+ The OCID of the compartment that contains the security attribute definition.
171
+ """
172
+ return pulumi.get(self, "compartment_id")
173
+
174
+ @compartment_id.setter
175
+ def compartment_id(self, value: Optional[pulumi.Input[str]]):
176
+ pulumi.set(self, "compartment_id", value)
177
+
178
+ @property
179
+ @pulumi.getter
180
+ def description(self) -> Optional[pulumi.Input[str]]:
181
+ """
182
+ (Updatable) The description you assign to the security attribute during creation.
183
+ """
184
+ return pulumi.get(self, "description")
185
+
186
+ @description.setter
187
+ def description(self, value: Optional[pulumi.Input[str]]):
188
+ pulumi.set(self, "description", value)
189
+
190
+ @property
191
+ @pulumi.getter(name="isRetired")
192
+ def is_retired(self) -> Optional[pulumi.Input[bool]]:
193
+ """
194
+ Indicates whether the security attribute is retired. See [Managing Security Attribute Namespaces](https://docs.cloud.oracle.com/iaas/Content/zero-trust-packet-routing/managing-security-attribute-namespaces.htm).
195
+ """
196
+ return pulumi.get(self, "is_retired")
197
+
198
+ @is_retired.setter
199
+ def is_retired(self, value: Optional[pulumi.Input[bool]]):
200
+ pulumi.set(self, "is_retired", value)
201
+
202
+ @property
203
+ @pulumi.getter
204
+ def name(self) -> Optional[pulumi.Input[str]]:
205
+ """
206
+ The name you assign to the security attribute during creation. This is the security attribute key. The name must be unique within the namespace and cannot be changed.
207
+ """
208
+ return pulumi.get(self, "name")
209
+
210
+ @name.setter
211
+ def name(self, value: Optional[pulumi.Input[str]]):
212
+ pulumi.set(self, "name", value)
213
+
214
+ @property
215
+ @pulumi.getter(name="securityAttributeNamespaceId")
216
+ def security_attribute_namespace_id(self) -> Optional[pulumi.Input[str]]:
217
+ """
218
+ The OCID of the security attribute namespace.
219
+ """
220
+ return pulumi.get(self, "security_attribute_namespace_id")
221
+
222
+ @security_attribute_namespace_id.setter
223
+ def security_attribute_namespace_id(self, value: Optional[pulumi.Input[str]]):
224
+ pulumi.set(self, "security_attribute_namespace_id", value)
225
+
226
+ @property
227
+ @pulumi.getter(name="securityAttributeNamespaceName")
228
+ def security_attribute_namespace_name(self) -> Optional[pulumi.Input[str]]:
229
+ """
230
+ The name of the security attribute namespace that contains the security attribute.
231
+ """
232
+ return pulumi.get(self, "security_attribute_namespace_name")
233
+
234
+ @security_attribute_namespace_name.setter
235
+ def security_attribute_namespace_name(self, value: Optional[pulumi.Input[str]]):
236
+ pulumi.set(self, "security_attribute_namespace_name", value)
237
+
238
+ @property
239
+ @pulumi.getter
240
+ def state(self) -> Optional[pulumi.Input[str]]:
241
+ """
242
+ The security attribute's current state. After creating a security attribute, make sure its `lifecycleState` is ACTIVE before using it. After retiring a security attribute, make sure its `lifecycleState` is INACTIVE before using it. If you delete a security attribute, you cannot delete another security attribute until the deleted security attribute's `lifecycleState` changes from DELETING to DELETED.
243
+ """
244
+ return pulumi.get(self, "state")
245
+
246
+ @state.setter
247
+ def state(self, value: Optional[pulumi.Input[str]]):
248
+ pulumi.set(self, "state", value)
249
+
250
+ @property
251
+ @pulumi.getter(name="timeCreated")
252
+ def time_created(self) -> Optional[pulumi.Input[str]]:
253
+ """
254
+ Date and time the security attribute was created, in the format defined by RFC3339. Example: `2016-08-25T21:10:29.600Z`
255
+ """
256
+ return pulumi.get(self, "time_created")
257
+
258
+ @time_created.setter
259
+ def time_created(self, value: Optional[pulumi.Input[str]]):
260
+ pulumi.set(self, "time_created", value)
261
+
262
+ @property
263
+ @pulumi.getter
264
+ def type(self) -> Optional[pulumi.Input[str]]:
265
+ """
266
+ The data type of the security attribute.
267
+ """
268
+ return pulumi.get(self, "type")
269
+
270
+ @type.setter
271
+ def type(self, value: Optional[pulumi.Input[str]]):
272
+ pulumi.set(self, "type", value)
273
+
274
+ @property
275
+ @pulumi.getter
276
+ def validator(self) -> Optional[pulumi.Input['SecurityAttributeValidatorArgs']]:
277
+ """
278
+ (Updatable) Validates a security attribute value. Each validator performs validation steps in addition to the standard validation for security attribute values. For more information, see [Limits on Security Attributes](https://docs.cloud.oracle.com/iaas/Content/zero-trust-packet-routing/overview.htm).
279
+
280
+ If you define a validator after a value has been set for a security attribute, then any updates that attempt to change the value must pass the additional validation defined by the current rule. Previously set values (even those that would fail the current validation) are not updated. You can still update other attributes to resources that contain a non-valid security attribute.
281
+
282
+ To clear the validator call UpdateSecurityAttribute with [DefaultSecuirtyAttributeValidator](https://docs.cloud.oracle.com/iaas/api/#/en/securityattribute/latest/datatypes/DefaultTagDefinitionValidator).
283
+ """
284
+ return pulumi.get(self, "validator")
285
+
286
+ @validator.setter
287
+ def validator(self, value: Optional[pulumi.Input['SecurityAttributeValidatorArgs']]):
288
+ pulumi.set(self, "validator", value)
289
+
290
+
291
+ class SecurityAttribute(pulumi.CustomResource):
292
+ @overload
293
+ def __init__(__self__,
294
+ resource_name: str,
295
+ opts: Optional[pulumi.ResourceOptions] = None,
296
+ description: Optional[pulumi.Input[str]] = None,
297
+ is_retired: Optional[pulumi.Input[bool]] = None,
298
+ name: Optional[pulumi.Input[str]] = None,
299
+ security_attribute_namespace_id: Optional[pulumi.Input[str]] = None,
300
+ validator: Optional[pulumi.Input[Union['SecurityAttributeValidatorArgs', 'SecurityAttributeValidatorArgsDict']]] = None,
301
+ __props__=None):
302
+ """
303
+ This resource provides the Security Attribute resource in Oracle Cloud Infrastructure Security Attribute service.
304
+
305
+ Creates a new security attribute in the specified security attribute namespace.
306
+
307
+ The security attribute requires either the OCID or the name of the security attribute namespace that will contain this
308
+ security attribute.
309
+
310
+ You must specify a *name* for the attribute, which must be unique across all attributes in the security attribute namespace
311
+ and cannot be changed. The only valid characters for security attribute names are: 0-9, A-Z, a-z, -, _ characters.
312
+ Names are case insensitive. That means, for example, "mySecurityAttribute" and "mysecurityattribute" are not allowed in the same namespace.
313
+ If you specify a name that's already in use in the security attribute namespace, a 409 error is returned.
314
+
315
+ The security attribute must have a *description*. It does not have to be unique, and you can change it with
316
+ [UpdateSecurityAttribute](https://docs.cloud.oracle.com/iaas/api/#/en/securityattribute/latest/Tag/UpdateSecurityAttribute).
317
+
318
+ When a validator is specified, The security attribute must have a value type. Security attribute can use either a static value or a list of possible values. Static values are entered by a user when applying the security attribute to a resource. Lists are created by the user and the user must apply a value from the list. Lists are validated.
319
+
320
+ ## Example Usage
321
+
322
+ ```python
323
+ import pulumi
324
+ import pulumi_oci as oci
325
+
326
+ test_security_attribute = oci.security_attribute.SecurityAttribute("test_security_attribute",
327
+ description=security_attribute_description,
328
+ name=security_attribute_name,
329
+ security_attribute_namespace_id=test_security_attribute_namespace["id"],
330
+ validator={
331
+ "validator_type": security_attribute_validator_validator_type,
332
+ "values": security_attribute_validator_values,
333
+ })
334
+ ```
335
+
336
+ ## Import
337
+
338
+ SecurityAttributes can be imported using the `id`, e.g.
339
+
340
+ ```sh
341
+ $ pulumi import oci:SecurityAttribute/securityAttribute:SecurityAttribute test_security_attribute "securityAttributeNamespaces/{securityAttributeNamespaceId}/securityAttributes/{securityAttributeName}"
342
+ ```
343
+
344
+ :param str resource_name: The name of the resource.
345
+ :param pulumi.ResourceOptions opts: Options for the resource.
346
+ :param pulumi.Input[str] description: (Updatable) The description you assign to the security attribute during creation.
347
+ :param pulumi.Input[bool] is_retired: Indicates whether the security attribute is retired. See [Managing Security Attribute Namespaces](https://docs.cloud.oracle.com/iaas/Content/zero-trust-packet-routing/managing-security-attribute-namespaces.htm).
348
+ :param pulumi.Input[str] name: The name you assign to the security attribute during creation. This is the security attribute key. The name must be unique within the namespace and cannot be changed.
349
+ :param pulumi.Input[str] security_attribute_namespace_id: The OCID of the security attribute namespace.
350
+ :param pulumi.Input[Union['SecurityAttributeValidatorArgs', 'SecurityAttributeValidatorArgsDict']] validator: (Updatable) Validates a security attribute value. Each validator performs validation steps in addition to the standard validation for security attribute values. For more information, see [Limits on Security Attributes](https://docs.cloud.oracle.com/iaas/Content/zero-trust-packet-routing/overview.htm).
351
+
352
+ If you define a validator after a value has been set for a security attribute, then any updates that attempt to change the value must pass the additional validation defined by the current rule. Previously set values (even those that would fail the current validation) are not updated. You can still update other attributes to resources that contain a non-valid security attribute.
353
+
354
+ To clear the validator call UpdateSecurityAttribute with [DefaultSecuirtyAttributeValidator](https://docs.cloud.oracle.com/iaas/api/#/en/securityattribute/latest/datatypes/DefaultTagDefinitionValidator).
355
+ """
356
+ ...
357
+ @overload
358
+ def __init__(__self__,
359
+ resource_name: str,
360
+ args: SecurityAttributeArgs,
361
+ opts: Optional[pulumi.ResourceOptions] = None):
362
+ """
363
+ This resource provides the Security Attribute resource in Oracle Cloud Infrastructure Security Attribute service.
364
+
365
+ Creates a new security attribute in the specified security attribute namespace.
366
+
367
+ The security attribute requires either the OCID or the name of the security attribute namespace that will contain this
368
+ security attribute.
369
+
370
+ You must specify a *name* for the attribute, which must be unique across all attributes in the security attribute namespace
371
+ and cannot be changed. The only valid characters for security attribute names are: 0-9, A-Z, a-z, -, _ characters.
372
+ Names are case insensitive. That means, for example, "mySecurityAttribute" and "mysecurityattribute" are not allowed in the same namespace.
373
+ If you specify a name that's already in use in the security attribute namespace, a 409 error is returned.
374
+
375
+ The security attribute must have a *description*. It does not have to be unique, and you can change it with
376
+ [UpdateSecurityAttribute](https://docs.cloud.oracle.com/iaas/api/#/en/securityattribute/latest/Tag/UpdateSecurityAttribute).
377
+
378
+ When a validator is specified, The security attribute must have a value type. Security attribute can use either a static value or a list of possible values. Static values are entered by a user when applying the security attribute to a resource. Lists are created by the user and the user must apply a value from the list. Lists are validated.
379
+
380
+ ## Example Usage
381
+
382
+ ```python
383
+ import pulumi
384
+ import pulumi_oci as oci
385
+
386
+ test_security_attribute = oci.security_attribute.SecurityAttribute("test_security_attribute",
387
+ description=security_attribute_description,
388
+ name=security_attribute_name,
389
+ security_attribute_namespace_id=test_security_attribute_namespace["id"],
390
+ validator={
391
+ "validator_type": security_attribute_validator_validator_type,
392
+ "values": security_attribute_validator_values,
393
+ })
394
+ ```
395
+
396
+ ## Import
397
+
398
+ SecurityAttributes can be imported using the `id`, e.g.
399
+
400
+ ```sh
401
+ $ pulumi import oci:SecurityAttribute/securityAttribute:SecurityAttribute test_security_attribute "securityAttributeNamespaces/{securityAttributeNamespaceId}/securityAttributes/{securityAttributeName}"
402
+ ```
403
+
404
+ :param str resource_name: The name of the resource.
405
+ :param SecurityAttributeArgs args: The arguments to use to populate this resource's properties.
406
+ :param pulumi.ResourceOptions opts: Options for the resource.
407
+ """
408
+ ...
409
+ def __init__(__self__, resource_name: str, *args, **kwargs):
410
+ resource_args, opts = _utilities.get_resource_args_opts(SecurityAttributeArgs, pulumi.ResourceOptions, *args, **kwargs)
411
+ if resource_args is not None:
412
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
413
+ else:
414
+ __self__._internal_init(resource_name, *args, **kwargs)
415
+
416
+ def _internal_init(__self__,
417
+ resource_name: str,
418
+ opts: Optional[pulumi.ResourceOptions] = None,
419
+ description: Optional[pulumi.Input[str]] = None,
420
+ is_retired: Optional[pulumi.Input[bool]] = None,
421
+ name: Optional[pulumi.Input[str]] = None,
422
+ security_attribute_namespace_id: Optional[pulumi.Input[str]] = None,
423
+ validator: Optional[pulumi.Input[Union['SecurityAttributeValidatorArgs', 'SecurityAttributeValidatorArgsDict']]] = None,
424
+ __props__=None):
425
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
426
+ if not isinstance(opts, pulumi.ResourceOptions):
427
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
428
+ if opts.id is None:
429
+ if __props__ is not None:
430
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
431
+ __props__ = SecurityAttributeArgs.__new__(SecurityAttributeArgs)
432
+
433
+ if description is None and not opts.urn:
434
+ raise TypeError("Missing required property 'description'")
435
+ __props__.__dict__["description"] = description
436
+ __props__.__dict__["is_retired"] = is_retired
437
+ __props__.__dict__["name"] = name
438
+ if security_attribute_namespace_id is None and not opts.urn:
439
+ raise TypeError("Missing required property 'security_attribute_namespace_id'")
440
+ __props__.__dict__["security_attribute_namespace_id"] = security_attribute_namespace_id
441
+ __props__.__dict__["validator"] = validator
442
+ __props__.__dict__["compartment_id"] = None
443
+ __props__.__dict__["security_attribute_namespace_name"] = None
444
+ __props__.__dict__["state"] = None
445
+ __props__.__dict__["time_created"] = None
446
+ __props__.__dict__["type"] = None
447
+ super(SecurityAttribute, __self__).__init__(
448
+ 'oci:SecurityAttribute/securityAttribute:SecurityAttribute',
449
+ resource_name,
450
+ __props__,
451
+ opts)
452
+
453
+ @staticmethod
454
+ def get(resource_name: str,
455
+ id: pulumi.Input[str],
456
+ opts: Optional[pulumi.ResourceOptions] = None,
457
+ compartment_id: Optional[pulumi.Input[str]] = None,
458
+ description: Optional[pulumi.Input[str]] = None,
459
+ is_retired: Optional[pulumi.Input[bool]] = None,
460
+ name: Optional[pulumi.Input[str]] = None,
461
+ security_attribute_namespace_id: Optional[pulumi.Input[str]] = None,
462
+ security_attribute_namespace_name: Optional[pulumi.Input[str]] = None,
463
+ state: Optional[pulumi.Input[str]] = None,
464
+ time_created: Optional[pulumi.Input[str]] = None,
465
+ type: Optional[pulumi.Input[str]] = None,
466
+ validator: Optional[pulumi.Input[Union['SecurityAttributeValidatorArgs', 'SecurityAttributeValidatorArgsDict']]] = None) -> 'SecurityAttribute':
467
+ """
468
+ Get an existing SecurityAttribute resource's state with the given name, id, and optional extra
469
+ properties used to qualify the lookup.
470
+
471
+ :param str resource_name: The unique name of the resulting resource.
472
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
473
+ :param pulumi.ResourceOptions opts: Options for the resource.
474
+ :param pulumi.Input[str] compartment_id: The OCID of the compartment that contains the security attribute definition.
475
+ :param pulumi.Input[str] description: (Updatable) The description you assign to the security attribute during creation.
476
+ :param pulumi.Input[bool] is_retired: Indicates whether the security attribute is retired. See [Managing Security Attribute Namespaces](https://docs.cloud.oracle.com/iaas/Content/zero-trust-packet-routing/managing-security-attribute-namespaces.htm).
477
+ :param pulumi.Input[str] name: The name you assign to the security attribute during creation. This is the security attribute key. The name must be unique within the namespace and cannot be changed.
478
+ :param pulumi.Input[str] security_attribute_namespace_id: The OCID of the security attribute namespace.
479
+ :param pulumi.Input[str] security_attribute_namespace_name: The name of the security attribute namespace that contains the security attribute.
480
+ :param pulumi.Input[str] state: The security attribute's current state. After creating a security attribute, make sure its `lifecycleState` is ACTIVE before using it. After retiring a security attribute, make sure its `lifecycleState` is INACTIVE before using it. If you delete a security attribute, you cannot delete another security attribute until the deleted security attribute's `lifecycleState` changes from DELETING to DELETED.
481
+ :param pulumi.Input[str] time_created: Date and time the security attribute was created, in the format defined by RFC3339. Example: `2016-08-25T21:10:29.600Z`
482
+ :param pulumi.Input[str] type: The data type of the security attribute.
483
+ :param pulumi.Input[Union['SecurityAttributeValidatorArgs', 'SecurityAttributeValidatorArgsDict']] validator: (Updatable) Validates a security attribute value. Each validator performs validation steps in addition to the standard validation for security attribute values. For more information, see [Limits on Security Attributes](https://docs.cloud.oracle.com/iaas/Content/zero-trust-packet-routing/overview.htm).
484
+
485
+ If you define a validator after a value has been set for a security attribute, then any updates that attempt to change the value must pass the additional validation defined by the current rule. Previously set values (even those that would fail the current validation) are not updated. You can still update other attributes to resources that contain a non-valid security attribute.
486
+
487
+ To clear the validator call UpdateSecurityAttribute with [DefaultSecuirtyAttributeValidator](https://docs.cloud.oracle.com/iaas/api/#/en/securityattribute/latest/datatypes/DefaultTagDefinitionValidator).
488
+ """
489
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
490
+
491
+ __props__ = _SecurityAttributeState.__new__(_SecurityAttributeState)
492
+
493
+ __props__.__dict__["compartment_id"] = compartment_id
494
+ __props__.__dict__["description"] = description
495
+ __props__.__dict__["is_retired"] = is_retired
496
+ __props__.__dict__["name"] = name
497
+ __props__.__dict__["security_attribute_namespace_id"] = security_attribute_namespace_id
498
+ __props__.__dict__["security_attribute_namespace_name"] = security_attribute_namespace_name
499
+ __props__.__dict__["state"] = state
500
+ __props__.__dict__["time_created"] = time_created
501
+ __props__.__dict__["type"] = type
502
+ __props__.__dict__["validator"] = validator
503
+ return SecurityAttribute(resource_name, opts=opts, __props__=__props__)
504
+
505
+ @property
506
+ @pulumi.getter(name="compartmentId")
507
+ def compartment_id(self) -> pulumi.Output[str]:
508
+ """
509
+ The OCID of the compartment that contains the security attribute definition.
510
+ """
511
+ return pulumi.get(self, "compartment_id")
512
+
513
+ @property
514
+ @pulumi.getter
515
+ def description(self) -> pulumi.Output[str]:
516
+ """
517
+ (Updatable) The description you assign to the security attribute during creation.
518
+ """
519
+ return pulumi.get(self, "description")
520
+
521
+ @property
522
+ @pulumi.getter(name="isRetired")
523
+ def is_retired(self) -> pulumi.Output[bool]:
524
+ """
525
+ Indicates whether the security attribute is retired. See [Managing Security Attribute Namespaces](https://docs.cloud.oracle.com/iaas/Content/zero-trust-packet-routing/managing-security-attribute-namespaces.htm).
526
+ """
527
+ return pulumi.get(self, "is_retired")
528
+
529
+ @property
530
+ @pulumi.getter
531
+ def name(self) -> pulumi.Output[str]:
532
+ """
533
+ The name you assign to the security attribute during creation. This is the security attribute key. The name must be unique within the namespace and cannot be changed.
534
+ """
535
+ return pulumi.get(self, "name")
536
+
537
+ @property
538
+ @pulumi.getter(name="securityAttributeNamespaceId")
539
+ def security_attribute_namespace_id(self) -> pulumi.Output[str]:
540
+ """
541
+ The OCID of the security attribute namespace.
542
+ """
543
+ return pulumi.get(self, "security_attribute_namespace_id")
544
+
545
+ @property
546
+ @pulumi.getter(name="securityAttributeNamespaceName")
547
+ def security_attribute_namespace_name(self) -> pulumi.Output[str]:
548
+ """
549
+ The name of the security attribute namespace that contains the security attribute.
550
+ """
551
+ return pulumi.get(self, "security_attribute_namespace_name")
552
+
553
+ @property
554
+ @pulumi.getter
555
+ def state(self) -> pulumi.Output[str]:
556
+ """
557
+ The security attribute's current state. After creating a security attribute, make sure its `lifecycleState` is ACTIVE before using it. After retiring a security attribute, make sure its `lifecycleState` is INACTIVE before using it. If you delete a security attribute, you cannot delete another security attribute until the deleted security attribute's `lifecycleState` changes from DELETING to DELETED.
558
+ """
559
+ return pulumi.get(self, "state")
560
+
561
+ @property
562
+ @pulumi.getter(name="timeCreated")
563
+ def time_created(self) -> pulumi.Output[str]:
564
+ """
565
+ Date and time the security attribute was created, in the format defined by RFC3339. Example: `2016-08-25T21:10:29.600Z`
566
+ """
567
+ return pulumi.get(self, "time_created")
568
+
569
+ @property
570
+ @pulumi.getter
571
+ def type(self) -> pulumi.Output[str]:
572
+ """
573
+ The data type of the security attribute.
574
+ """
575
+ return pulumi.get(self, "type")
576
+
577
+ @property
578
+ @pulumi.getter
579
+ def validator(self) -> pulumi.Output[Optional['outputs.SecurityAttributeValidator']]:
580
+ """
581
+ (Updatable) Validates a security attribute value. Each validator performs validation steps in addition to the standard validation for security attribute values. For more information, see [Limits on Security Attributes](https://docs.cloud.oracle.com/iaas/Content/zero-trust-packet-routing/overview.htm).
582
+
583
+ If you define a validator after a value has been set for a security attribute, then any updates that attempt to change the value must pass the additional validation defined by the current rule. Previously set values (even those that would fail the current validation) are not updated. You can still update other attributes to resources that contain a non-valid security attribute.
584
+
585
+ To clear the validator call UpdateSecurityAttribute with [DefaultSecuirtyAttributeValidator](https://docs.cloud.oracle.com/iaas/api/#/en/securityattribute/latest/datatypes/DefaultTagDefinitionValidator).
586
+ """
587
+ return pulumi.get(self, "validator")
588
+