oci 2.142.0__py3-none-any.whl → 2.143.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 (321) hide show
  1. oci/access_governance_cp/access_governance_cp_client.py +8 -8
  2. oci/adm/application_dependency_management_client.py +36 -36
  3. oci/ai_anomaly_detection/anomaly_detection_client.py +36 -36
  4. oci/ai_document/ai_service_document_client.py +26 -26
  5. oci/ai_language/ai_service_language_client.py +44 -44
  6. oci/ai_speech/ai_service_speech_client.py +19 -19
  7. oci/ai_vision/ai_service_vision_client.py +28 -28
  8. oci/analytics/analytics_client.py +24 -24
  9. oci/announcements_service/announcement_client.py +5 -5
  10. oci/announcements_service/announcement_subscription_client.py +9 -9
  11. oci/announcements_service/announcements_preferences_client.py +4 -4
  12. oci/announcements_service/service_client.py +1 -1
  13. oci/apigateway/api_gateway_client.py +21 -21
  14. oci/apigateway/deployment_client.py +6 -6
  15. oci/apigateway/gateway_client.py +6 -6
  16. oci/apigateway/subscribers_client.py +6 -6
  17. oci/apigateway/usage_plans_client.py +6 -6
  18. oci/apigateway/work_requests_client.py +5 -5
  19. oci/apm_config/config_client.py +9 -9
  20. oci/apm_control_plane/apm_domain_client.py +14 -14
  21. oci/apm_synthetics/apm_synthetic_client.py +28 -28
  22. oci/apm_traces/attributes_client.py +8 -8
  23. oci/apm_traces/query_client.py +2 -2
  24. oci/apm_traces/trace_client.py +4 -4
  25. oci/appmgmt_control/appmgmt_control_client.py +8 -8
  26. oci/artifacts/artifacts_client.py +32 -32
  27. oci/audit/audit_client.py +3 -3
  28. oci/autoscaling/auto_scaling_client.py +11 -11
  29. oci/base_client.py +2 -2
  30. oci/bastion/bastion_client.py +15 -15
  31. oci/bds/bds_client.py +84 -84
  32. oci/blockchain/blockchain_platform_client.py +27 -27
  33. oci/budget/budget_client.py +10 -10
  34. oci/capacity_management/capacity_management_client.py +32 -32
  35. oci/certificates/certificates_client.py +5 -5
  36. oci/certificates_management/certificates_management_client.py +32 -32
  37. oci/cims/incident_client.py +6 -6
  38. oci/cloud_bridge/common_client.py +5 -5
  39. oci/cloud_bridge/discovery_client.py +15 -15
  40. oci/cloud_bridge/inventory_client.py +16 -16
  41. oci/cloud_bridge/ocb_agent_svc_client.py +23 -23
  42. oci/cloud_guard/cloud_guard_client.py +155 -155
  43. oci/cloud_migrations/migration_client.py +43 -43
  44. oci/cluster_placement_groups/cluster_placement_groups_cp_client.py +13 -13
  45. oci/compute_cloud_at_customer/compute_cloud_at_customer_client.py +12 -12
  46. oci/compute_instance_agent/compute_instance_agent_client.py +6 -6
  47. oci/compute_instance_agent/plugin_client.py +2 -2
  48. oci/compute_instance_agent/pluginconfig_client.py +1 -1
  49. oci/container_engine/container_engine_client.py +44 -44
  50. oci/container_instances/container_instance_client.py +18 -18
  51. oci/core/blockstorage_client.py +60 -60
  52. oci/core/compute_client.py +102 -102
  53. oci/core/compute_management_client.py +32 -32
  54. oci/core/models/__init__.py +18 -0
  55. oci/core/models/byoasn.py +501 -0
  56. oci/core/models/byoasn_byoip_range.py +173 -0
  57. oci/core/models/byoasn_collection.py +72 -0
  58. oci/core/models/byoasn_summary.py +360 -0
  59. oci/core/models/byoip_range.py +27 -0
  60. oci/core/models/byoip_range_origin_asn.py +138 -0
  61. oci/core/models/change_byoasn_compartment_details.py +76 -0
  62. oci/core/models/create_byoasn_details.py +222 -0
  63. oci/core/models/set_origin_asn_details.py +107 -0
  64. oci/core/models/update_byoasn_details.py +156 -0
  65. oci/core/virtual_network_client.py +1426 -379
  66. oci/core/virtual_network_client_composite_operations.py +229 -0
  67. oci/dashboard_service/dashboard_client.py +6 -6
  68. oci/dashboard_service/dashboard_group_client.py +6 -6
  69. oci/data_catalog/data_catalog_client.py +149 -149
  70. oci/data_flow/data_flow_client.py +45 -45
  71. oci/data_integration/data_integration_client.py +163 -163
  72. oci/data_labeling_service/data_labeling_management_client.py +17 -17
  73. oci/data_labeling_service_dataplane/data_labeling_client.py +15 -15
  74. oci/data_safe/data_safe_client.py +292 -292
  75. oci/data_science/data_science_client.py +92 -92
  76. oci/database/database_client.py +2127 -1266
  77. oci/database/database_client_composite_operations.py +573 -0
  78. oci/database/models/__init__.py +24 -0
  79. oci/database/models/autonomous_dw_database.py +4609 -0
  80. oci/database/models/backup.py +29 -2
  81. oci/database/models/backup_summary.py +29 -2
  82. oci/database/models/convert_to_standalone_details.py +76 -0
  83. oci/database/models/create_data_guard_association_details.py +27 -0
  84. oci/database/models/create_data_guard_association_to_existing_db_system_details.py +7 -0
  85. oci/database/models/create_data_guard_association_to_existing_vm_cluster_details.py +7 -0
  86. oci/database/models/create_data_guard_association_with_new_db_system_details.py +7 -0
  87. oci/database/models/create_database_base.py +13 -3
  88. oci/database/models/create_database_details.py +29 -2
  89. oci/database/models/create_database_from_backup.py +1 -1
  90. oci/database/models/create_database_from_backup_details.py +27 -0
  91. oci/database/models/create_new_database_details.py +1 -1
  92. oci/database/models/create_stand_by_database_details.py +108 -0
  93. oci/database/models/create_standby_details.py +396 -0
  94. oci/database/models/data_guard_group.py +132 -0
  95. oci/database/models/data_guard_group_member.py +406 -0
  96. oci/database/models/database.py +56 -2
  97. oci/database/models/database_summary.py +56 -2
  98. oci/database/models/encryption_key_location_details.py +101 -0
  99. oci/database/models/external_hsm_encryption_details.py +82 -0
  100. oci/database/models/failover_data_guard_details.py +76 -0
  101. oci/database/models/reinstate_data_guard_details.py +111 -0
  102. oci/database/models/switch_over_data_guard_details.py +76 -0
  103. oci/database/models/update_autonomous_database_details.py +37 -2
  104. oci/database/models/update_data_guard_details.py +241 -0
  105. oci/database_management/db_management_client.py +211 -211
  106. oci/database_management/diagnosability_client.py +4 -4
  107. oci/database_management/managed_my_sql_databases_client.py +7 -7
  108. oci/database_management/perfhub_client.py +1 -1
  109. oci/database_management/sql_tuning_client.py +17 -17
  110. oci/database_migration/database_migration_client.py +42 -42
  111. oci/database_tools/database_tools_client.py +23 -23
  112. oci/delegate_access_control/delegate_access_control_client.py +26 -26
  113. oci/delegate_access_control/work_request_client.py +4 -4
  114. oci/demand_signal/occ_demand_signal_client.py +7 -7
  115. oci/desktops/desktop_service_client.py +21 -21
  116. oci/devops/devops_client.py +141 -141
  117. oci/disaster_recovery/disaster_recovery_client.py +31 -31
  118. oci/dns/dns_client.py +54 -54
  119. oci/dts/appliance_export_job_client.py +6 -6
  120. oci/dts/shipping_vendors_client.py +1 -1
  121. oci/dts/transfer_appliance_client.py +8 -8
  122. oci/dts/transfer_appliance_entitlement_client.py +3 -3
  123. oci/dts/transfer_device_client.py +5 -5
  124. oci/dts/transfer_job_client.py +6 -6
  125. oci/dts/transfer_package_client.py +7 -7
  126. oci/em_warehouse/em_warehouse_client.py +13 -13
  127. oci/email/email_client.py +31 -31
  128. oci/email_data_plane/email_dp_client.py +1 -1
  129. oci/events/events_client.py +6 -6
  130. oci/file_storage/file_storage_client.py +68 -68
  131. oci/fleet_apps_management/fleet_apps_management_admin_client.py +25 -25
  132. oci/fleet_apps_management/fleet_apps_management_client.py +35 -35
  133. oci/fleet_apps_management/fleet_apps_management_maintenance_window_client.py +5 -5
  134. oci/fleet_apps_management/fleet_apps_management_operations_client.py +26 -26
  135. oci/fleet_apps_management/fleet_apps_management_runbooks_client.py +12 -12
  136. oci/fleet_software_update/fleet_software_update_client.py +46 -46
  137. oci/functions/functions_invoke_client.py +1 -1
  138. oci/functions/functions_management_client.py +16 -16
  139. oci/fusion_apps/fusion_applications_client.py +41 -41
  140. oci/generative_ai/generative_ai_client.py +22 -22
  141. oci/generative_ai_agent/generative_ai_agent_client.py +33 -33
  142. oci/generative_ai_agent_runtime/generative_ai_agent_runtime_client.py +5 -5
  143. oci/generative_ai_inference/generative_ai_inference_client.py +4 -4
  144. oci/generic_artifacts_content/generic_artifacts_content_client.py +3 -3
  145. oci/globally_distributed_database/sharded_database_service_client.py +30 -30
  146. oci/golden_gate/golden_gate_client.py +84 -84
  147. oci/governance_rules_control_plane/governance_rule_client.py +15 -15
  148. oci/governance_rules_control_plane/work_request_client.py +5 -5
  149. oci/healthchecks/health_checks_client.py +17 -17
  150. oci/identity/identity_client.py +145 -145
  151. oci/identity_data_plane/dataplane_client.py +2 -2
  152. oci/identity_domains/identity_domains_client.py +311 -311
  153. oci/integration/integration_instance_client.py +19 -19
  154. oci/jms/java_management_service_client.py +75 -75
  155. oci/jms_java_downloads/java_download_client.py +25 -25
  156. oci/key_management/ekm_client.py +5 -5
  157. oci/key_management/kms_crypto_client.py +6 -6
  158. oci/key_management/kms_hsm_cluster_client.py +12 -12
  159. oci/key_management/kms_management_client.py +21 -21
  160. oci/key_management/kms_vault_client.py +14 -14
  161. oci/license_manager/license_manager_client.py +18 -18
  162. oci/limits/limits_client.py +4 -4
  163. oci/limits/quotas_client.py +7 -7
  164. oci/load_balancer/load_balancer_client.py +61 -61
  165. oci/lockbox/lockbox_client.py +24 -24
  166. oci/log_analytics/log_analytics_client.py +193 -193
  167. oci/logging/logging_management_client.py +30 -30
  168. oci/loggingingestion/logging_client.py +1 -1
  169. oci/loggingsearch/log_search_client.py +1 -1
  170. oci/management_agent/management_agent_client.py +28 -28
  171. oci/management_dashboard/dashx_apis_client.py +14 -14
  172. oci/marketplace/account_client.py +2 -2
  173. oci/marketplace/marketplace_client.py +30 -30
  174. oci/marketplace_private_offer/attachment_client.py +5 -5
  175. oci/marketplace_private_offer/offer_client.py +6 -6
  176. oci/marketplace_publisher/attachment_client.py +5 -5
  177. oci/marketplace_publisher/marketplace_publisher_client.py +71 -71
  178. oci/marketplace_publisher/offer_client.py +6 -6
  179. oci/media_services/media_services_client.py +60 -60
  180. oci/media_services/media_stream_client.py +2 -2
  181. oci/monitoring/monitoring_client.py +18 -18
  182. oci/mysql/channels_client.py +7 -7
  183. oci/mysql/db_backups_client.py +7 -7
  184. oci/mysql/db_system_client.py +17 -17
  185. oci/mysql/mysqlaas_client.py +7 -7
  186. oci/mysql/replicas_client.py +5 -5
  187. oci/mysql/work_requests_client.py +4 -4
  188. oci/network_firewall/network_firewall_client.py +86 -86
  189. oci/network_load_balancer/models/__init__.py +2 -0
  190. oci/network_load_balancer/models/backend.py +8 -8
  191. oci/network_load_balancer/models/backend_details.py +4 -4
  192. oci/network_load_balancer/models/backend_operational_status.py +92 -0
  193. oci/network_load_balancer/models/backend_set.py +64 -2
  194. oci/network_load_balancer/models/backend_set_details.py +64 -2
  195. oci/network_load_balancer/models/backend_set_summary.py +64 -2
  196. oci/network_load_balancer/models/backend_summary.py +8 -8
  197. oci/network_load_balancer/models/create_backend_details.py +8 -8
  198. oci/network_load_balancer/models/create_backend_set_details.py +64 -2
  199. oci/network_load_balancer/models/create_listener_details.py +3 -3
  200. oci/network_load_balancer/models/create_network_load_balancer_details.py +6 -6
  201. oci/network_load_balancer/models/health_checker.py +2 -2
  202. oci/network_load_balancer/models/health_checker_details.py +2 -2
  203. oci/network_load_balancer/models/listener.py +3 -3
  204. oci/network_load_balancer/models/listener_details.py +3 -3
  205. oci/network_load_balancer/models/listener_summary.py +3 -3
  206. oci/network_load_balancer/models/network_load_balancer.py +6 -6
  207. oci/network_load_balancer/models/network_load_balancer_summary.py +4 -4
  208. oci/network_load_balancer/models/update_backend_details.py +6 -6
  209. oci/network_load_balancer/models/update_backend_set_details.py +64 -2
  210. oci/network_load_balancer/models/update_listener_details.py +3 -3
  211. oci/network_load_balancer/network_load_balancer_client.py +150 -34
  212. oci/nosql/nosql_client.py +24 -24
  213. oci/object_storage/object_storage_client.py +55 -55
  214. oci/oce/oce_instance_client.py +10 -10
  215. oci/oci_control_center/occ_metrics_client.py +3 -3
  216. oci/ocvp/cluster_client.py +5 -5
  217. oci/ocvp/esxi_host_client.py +8 -8
  218. oci/ocvp/sddc_client.py +14 -14
  219. oci/ocvp/work_request_client.py +4 -4
  220. oci/oda/management_client.py +59 -59
  221. oci/oda/oda_client.py +17 -17
  222. oci/oda/odapackage_client.py +7 -7
  223. oci/onesubscription/billing_schedule_client.py +1 -1
  224. oci/onesubscription/commitment_client.py +2 -2
  225. oci/onesubscription/computed_usage_client.py +3 -3
  226. oci/onesubscription/invoice_summary_client.py +2 -2
  227. oci/onesubscription/organization_subscription_client.py +1 -1
  228. oci/onesubscription/ratecard_client.py +1 -1
  229. oci/onesubscription/subscribed_service_client.py +2 -2
  230. oci/onesubscription/subscription_client.py +1 -1
  231. oci/ons/notification_control_plane_client.py +6 -6
  232. oci/ons/notification_data_plane_client.py +10 -10
  233. oci/opa/opa_instance_client.py +13 -13
  234. oci/opensearch/opensearch_cluster_backup_client.py +4 -4
  235. oci/opensearch/opensearch_cluster_client.py +16 -16
  236. oci/operator_access_control/access_requests_client.py +10 -10
  237. oci/operator_access_control/operator_actions_client.py +2 -2
  238. oci/operator_access_control/operator_control_assignment_client.py +8 -8
  239. oci/operator_access_control/operator_control_client.py +6 -6
  240. oci/opsi/operations_insights_client.py +180 -180
  241. oci/optimizer/optimizer_client.py +26 -26
  242. oci/os_management/event_client.py +8 -8
  243. oci/os_management/os_management_client.py +69 -69
  244. oci/os_management_hub/event_client.py +8 -8
  245. oci/os_management_hub/lifecycle_environment_client.py +12 -12
  246. oci/os_management_hub/managed_instance_client.py +31 -31
  247. oci/os_management_hub/managed_instance_group_client.py +25 -25
  248. oci/os_management_hub/management_station_client.py +10 -10
  249. oci/os_management_hub/onboarding_client.py +6 -6
  250. oci/os_management_hub/reporting_managed_instance_client.py +3 -3
  251. oci/os_management_hub/scheduled_job_client.py +7 -7
  252. oci/os_management_hub/software_source_client.py +27 -27
  253. oci/os_management_hub/work_request_client.py +4 -4
  254. oci/osp_gateway/address_rule_service_client.py +1 -1
  255. oci/osp_gateway/address_service_client.py +2 -2
  256. oci/osp_gateway/invoice_service_client.py +5 -5
  257. oci/osp_gateway/subscription_service_client.py +5 -5
  258. oci/osub_billing_schedule/billing_schedule_client.py +1 -1
  259. oci/osub_organization_subscription/organization_subscription_client.py +1 -1
  260. oci/osub_subscription/commitment_client.py +2 -2
  261. oci/osub_subscription/ratecard_client.py +1 -1
  262. oci/osub_subscription/subscription_client.py +1 -1
  263. oci/osub_usage/computed_usage_client.py +3 -3
  264. oci/psql/postgresql_client.py +33 -33
  265. oci/queue/queue_admin_client.py +11 -11
  266. oci/queue/queue_client.py +8 -8
  267. oci/recovery/database_recovery_client.py +26 -26
  268. oci/redis/redis_cluster_client.py +12 -12
  269. oci/resource_manager/resource_manager_client.py +52 -52
  270. oci/resource_scheduler/schedule_client.py +13 -13
  271. oci/resource_search/resource_search_client.py +3 -3
  272. oci/rover/rover_bundle_client.py +8 -8
  273. oci/rover/rover_cluster_client.py +8 -8
  274. oci/rover/rover_entitlement_client.py +6 -6
  275. oci/rover/rover_node_client.py +15 -15
  276. oci/rover/shape_client.py +1 -1
  277. oci/rover/work_requests_client.py +5 -5
  278. oci/sch/connector_plugins_client.py +2 -2
  279. oci/sch/service_connector_client.py +12 -12
  280. oci/secrets/secrets_client.py +3 -3
  281. oci/security_attribute/security_attribute_client.py +18 -18
  282. oci/service_catalog/service_catalog_client.py +26 -26
  283. oci/service_manager_proxy/service_manager_proxy_client.py +2 -2
  284. oci/service_mesh/service_mesh_client.py +48 -48
  285. oci/stack_monitoring/stack_monitoring_client.py +71 -71
  286. oci/streaming/stream_admin_client.py +18 -18
  287. oci/streaming/stream_client.py +8 -8
  288. oci/tenant_manager_control_plane/domain_client.py +5 -5
  289. oci/tenant_manager_control_plane/domain_governance_client.py +5 -5
  290. oci/tenant_manager_control_plane/governance_client.py +2 -2
  291. oci/tenant_manager_control_plane/link_client.py +3 -3
  292. oci/tenant_manager_control_plane/orders_client.py +2 -2
  293. oci/tenant_manager_control_plane/organization_client.py +10 -10
  294. oci/tenant_manager_control_plane/recipient_invitation_client.py +5 -5
  295. oci/tenant_manager_control_plane/sender_invitation_client.py +5 -5
  296. oci/tenant_manager_control_plane/subscription_client.py +11 -11
  297. oci/tenant_manager_control_plane/work_request_client.py +4 -4
  298. oci/threat_intelligence/threatintel_client.py +5 -5
  299. oci/usage/resources_client.py +2 -2
  300. oci/usage/rewards_client.py +6 -6
  301. oci/usage/usagelimits_client.py +1 -1
  302. oci/usage_api/usageapi_client.py +33 -33
  303. oci/vault/vaults_client.py +13 -13
  304. oci/vbs_inst/vbs_instance_client.py +10 -10
  305. oci/version.py +1 -1
  306. oci/visual_builder/vb_instance_client.py +14 -14
  307. oci/vn_monitoring/vn_monitoring_client.py +12 -12
  308. oci/vulnerability_scanning/vulnerability_scanning_client.py +58 -58
  309. oci/waa/waa_client.py +13 -13
  310. oci/waa/work_request_client.py +4 -4
  311. oci/waas/redirect_client.py +6 -6
  312. oci/waas/waas_client.py +66 -66
  313. oci/waf/waf_client.py +24 -24
  314. oci/work_requests/work_request_client.py +4 -4
  315. oci/zpr/zpr_client.py +15 -15
  316. {oci-2.142.0.dist-info → oci-2.143.0.dist-info}/METADATA +1 -1
  317. {oci-2.142.0.dist-info → oci-2.143.0.dist-info}/RECORD +321 -299
  318. {oci-2.142.0.dist-info → oci-2.143.0.dist-info}/LICENSE.txt +0 -0
  319. {oci-2.142.0.dist-info → oci-2.143.0.dist-info}/THIRD_PARTY_LICENSES.txt +0 -0
  320. {oci-2.142.0.dist-info → oci-2.143.0.dist-info}/WHEEL +0 -0
  321. {oci-2.142.0.dist-info → oci-2.143.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,406 @@
1
+ # coding: utf-8
2
+ # Copyright (c) 2016, 2025, Oracle and/or its affiliates. All rights reserved.
3
+ # This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
4
+
5
+ # NOTE: This class is auto generated by OracleSDKGenerator. DO NOT EDIT. API Version: 20160918
6
+
7
+
8
+ from oci.util import formatted_flat_dict, NONE_SENTINEL, value_allowed_none_or_none_sentinel # noqa: F401
9
+ from oci.decorators import init_model_state_from_kwargs
10
+
11
+
12
+ @init_model_state_from_kwargs
13
+ class DataGuardGroupMember(object):
14
+ """
15
+ The member of a Data Guard group. Represents either a PRIMARY or a STANDBY Data Guard instance.
16
+ """
17
+
18
+ #: A constant which can be used with the role property of a DataGuardGroupMember.
19
+ #: This constant has a value of "PRIMARY"
20
+ ROLE_PRIMARY = "PRIMARY"
21
+
22
+ #: A constant which can be used with the role property of a DataGuardGroupMember.
23
+ #: This constant has a value of "STANDBY"
24
+ ROLE_STANDBY = "STANDBY"
25
+
26
+ #: A constant which can be used with the role property of a DataGuardGroupMember.
27
+ #: This constant has a value of "DISABLED_STANDBY"
28
+ ROLE_DISABLED_STANDBY = "DISABLED_STANDBY"
29
+
30
+ #: A constant which can be used with the transport_type property of a DataGuardGroupMember.
31
+ #: This constant has a value of "SYNC"
32
+ TRANSPORT_TYPE_SYNC = "SYNC"
33
+
34
+ #: A constant which can be used with the transport_type property of a DataGuardGroupMember.
35
+ #: This constant has a value of "ASYNC"
36
+ TRANSPORT_TYPE_ASYNC = "ASYNC"
37
+
38
+ #: A constant which can be used with the transport_type property of a DataGuardGroupMember.
39
+ #: This constant has a value of "FASTSYNC"
40
+ TRANSPORT_TYPE_FASTSYNC = "FASTSYNC"
41
+
42
+ def __init__(self, **kwargs):
43
+ """
44
+ Initializes a new DataGuardGroupMember object with values from keyword arguments.
45
+ The following keyword arguments are supported (corresponding to the getters/setters of this class):
46
+
47
+ :param db_system_id:
48
+ The value to assign to the db_system_id property of this DataGuardGroupMember.
49
+ :type db_system_id: str
50
+
51
+ :param database_id:
52
+ The value to assign to the database_id property of this DataGuardGroupMember.
53
+ :type database_id: str
54
+
55
+ :param role:
56
+ The value to assign to the role property of this DataGuardGroupMember.
57
+ Allowed values for this property are: "PRIMARY", "STANDBY", "DISABLED_STANDBY", 'UNKNOWN_ENUM_VALUE'.
58
+ Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
59
+ :type role: str
60
+
61
+ :param apply_lag:
62
+ The value to assign to the apply_lag property of this DataGuardGroupMember.
63
+ :type apply_lag: str
64
+
65
+ :param apply_rate:
66
+ The value to assign to the apply_rate property of this DataGuardGroupMember.
67
+ :type apply_rate: str
68
+
69
+ :param transport_lag:
70
+ The value to assign to the transport_lag property of this DataGuardGroupMember.
71
+ :type transport_lag: str
72
+
73
+ :param transport_lag_refresh:
74
+ The value to assign to the transport_lag_refresh property of this DataGuardGroupMember.
75
+ :type transport_lag_refresh: str
76
+
77
+ :param transport_type:
78
+ The value to assign to the transport_type property of this DataGuardGroupMember.
79
+ Allowed values for this property are: "SYNC", "ASYNC", "FASTSYNC", 'UNKNOWN_ENUM_VALUE'.
80
+ Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
81
+ :type transport_type: str
82
+
83
+ :param is_active_data_guard_enabled:
84
+ The value to assign to the is_active_data_guard_enabled property of this DataGuardGroupMember.
85
+ :type is_active_data_guard_enabled: bool
86
+
87
+ """
88
+ self.swagger_types = {
89
+ 'db_system_id': 'str',
90
+ 'database_id': 'str',
91
+ 'role': 'str',
92
+ 'apply_lag': 'str',
93
+ 'apply_rate': 'str',
94
+ 'transport_lag': 'str',
95
+ 'transport_lag_refresh': 'str',
96
+ 'transport_type': 'str',
97
+ 'is_active_data_guard_enabled': 'bool'
98
+ }
99
+
100
+ self.attribute_map = {
101
+ 'db_system_id': 'dbSystemId',
102
+ 'database_id': 'databaseId',
103
+ 'role': 'role',
104
+ 'apply_lag': 'applyLag',
105
+ 'apply_rate': 'applyRate',
106
+ 'transport_lag': 'transportLag',
107
+ 'transport_lag_refresh': 'transportLagRefresh',
108
+ 'transport_type': 'transportType',
109
+ 'is_active_data_guard_enabled': 'isActiveDataGuardEnabled'
110
+ }
111
+
112
+ self._db_system_id = None
113
+ self._database_id = None
114
+ self._role = None
115
+ self._apply_lag = None
116
+ self._apply_rate = None
117
+ self._transport_lag = None
118
+ self._transport_lag_refresh = None
119
+ self._transport_type = None
120
+ self._is_active_data_guard_enabled = None
121
+
122
+ @property
123
+ def db_system_id(self):
124
+ """
125
+ **[Required]** Gets the db_system_id of this DataGuardGroupMember.
126
+ The `OCID`__ of the DB system, Cloud VM cluster or VM cluster.
127
+
128
+ __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm
129
+
130
+
131
+ :return: The db_system_id of this DataGuardGroupMember.
132
+ :rtype: str
133
+ """
134
+ return self._db_system_id
135
+
136
+ @db_system_id.setter
137
+ def db_system_id(self, db_system_id):
138
+ """
139
+ Sets the db_system_id of this DataGuardGroupMember.
140
+ The `OCID`__ of the DB system, Cloud VM cluster or VM cluster.
141
+
142
+ __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm
143
+
144
+
145
+ :param db_system_id: The db_system_id of this DataGuardGroupMember.
146
+ :type: str
147
+ """
148
+ self._db_system_id = db_system_id
149
+
150
+ @property
151
+ def database_id(self):
152
+ """
153
+ **[Required]** Gets the database_id of this DataGuardGroupMember.
154
+ The `OCID`__ of the Database.
155
+
156
+ __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm
157
+
158
+
159
+ :return: The database_id of this DataGuardGroupMember.
160
+ :rtype: str
161
+ """
162
+ return self._database_id
163
+
164
+ @database_id.setter
165
+ def database_id(self, database_id):
166
+ """
167
+ Sets the database_id of this DataGuardGroupMember.
168
+ The `OCID`__ of the Database.
169
+
170
+ __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm
171
+
172
+
173
+ :param database_id: The database_id of this DataGuardGroupMember.
174
+ :type: str
175
+ """
176
+ self._database_id = database_id
177
+
178
+ @property
179
+ def role(self):
180
+ """
181
+ **[Required]** Gets the role of this DataGuardGroupMember.
182
+ The role of the reporting database in this Data Guard association.
183
+
184
+ Allowed values for this property are: "PRIMARY", "STANDBY", "DISABLED_STANDBY", 'UNKNOWN_ENUM_VALUE'.
185
+ Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
186
+
187
+
188
+ :return: The role of this DataGuardGroupMember.
189
+ :rtype: str
190
+ """
191
+ return self._role
192
+
193
+ @role.setter
194
+ def role(self, role):
195
+ """
196
+ Sets the role of this DataGuardGroupMember.
197
+ The role of the reporting database in this Data Guard association.
198
+
199
+
200
+ :param role: The role of this DataGuardGroupMember.
201
+ :type: str
202
+ """
203
+ allowed_values = ["PRIMARY", "STANDBY", "DISABLED_STANDBY"]
204
+ if not value_allowed_none_or_none_sentinel(role, allowed_values):
205
+ role = 'UNKNOWN_ENUM_VALUE'
206
+ self._role = role
207
+
208
+ @property
209
+ def apply_lag(self):
210
+ """
211
+ Gets the apply_lag of this DataGuardGroupMember.
212
+ The lag time between updates to the primary database and application of the redo data on the standby database,
213
+ as computed by the reporting database.
214
+
215
+ Example: `1 second`
216
+
217
+
218
+ :return: The apply_lag of this DataGuardGroupMember.
219
+ :rtype: str
220
+ """
221
+ return self._apply_lag
222
+
223
+ @apply_lag.setter
224
+ def apply_lag(self, apply_lag):
225
+ """
226
+ Sets the apply_lag of this DataGuardGroupMember.
227
+ The lag time between updates to the primary database and application of the redo data on the standby database,
228
+ as computed by the reporting database.
229
+
230
+ Example: `1 second`
231
+
232
+
233
+ :param apply_lag: The apply_lag of this DataGuardGroupMember.
234
+ :type: str
235
+ """
236
+ self._apply_lag = apply_lag
237
+
238
+ @property
239
+ def apply_rate(self):
240
+ """
241
+ Gets the apply_rate of this DataGuardGroupMember.
242
+ The rate at which redo logs are synced between the associated databases.
243
+
244
+ Example: `102.96 MByte/s`
245
+
246
+
247
+ :return: The apply_rate of this DataGuardGroupMember.
248
+ :rtype: str
249
+ """
250
+ return self._apply_rate
251
+
252
+ @apply_rate.setter
253
+ def apply_rate(self, apply_rate):
254
+ """
255
+ Sets the apply_rate of this DataGuardGroupMember.
256
+ The rate at which redo logs are synced between the associated databases.
257
+
258
+ Example: `102.96 MByte/s`
259
+
260
+
261
+ :param apply_rate: The apply_rate of this DataGuardGroupMember.
262
+ :type: str
263
+ """
264
+ self._apply_rate = apply_rate
265
+
266
+ @property
267
+ def transport_lag(self):
268
+ """
269
+ Gets the transport_lag of this DataGuardGroupMember.
270
+ The rate at which redo logs are transported between the associated databases.
271
+
272
+ Example: `1 second`
273
+
274
+
275
+ :return: The transport_lag of this DataGuardGroupMember.
276
+ :rtype: str
277
+ """
278
+ return self._transport_lag
279
+
280
+ @transport_lag.setter
281
+ def transport_lag(self, transport_lag):
282
+ """
283
+ Sets the transport_lag of this DataGuardGroupMember.
284
+ The rate at which redo logs are transported between the associated databases.
285
+
286
+ Example: `1 second`
287
+
288
+
289
+ :param transport_lag: The transport_lag of this DataGuardGroupMember.
290
+ :type: str
291
+ """
292
+ self._transport_lag = transport_lag
293
+
294
+ @property
295
+ def transport_lag_refresh(self):
296
+ """
297
+ Gets the transport_lag_refresh of this DataGuardGroupMember.
298
+ The date and time when last redo transport has been done.
299
+
300
+
301
+ :return: The transport_lag_refresh of this DataGuardGroupMember.
302
+ :rtype: str
303
+ """
304
+ return self._transport_lag_refresh
305
+
306
+ @transport_lag_refresh.setter
307
+ def transport_lag_refresh(self, transport_lag_refresh):
308
+ """
309
+ Sets the transport_lag_refresh of this DataGuardGroupMember.
310
+ The date and time when last redo transport has been done.
311
+
312
+
313
+ :param transport_lag_refresh: The transport_lag_refresh of this DataGuardGroupMember.
314
+ :type: str
315
+ """
316
+ self._transport_lag_refresh = transport_lag_refresh
317
+
318
+ @property
319
+ def transport_type(self):
320
+ """
321
+ Gets the transport_type of this DataGuardGroupMember.
322
+ The redo transport type to use for this Data Guard association. Valid values depend on the specified `protectionMode`:
323
+
324
+ * MAXIMUM_AVAILABILITY - SYNC or FASTSYNC
325
+ * MAXIMUM_PERFORMANCE - ASYNC
326
+ * MAXIMUM_PROTECTION - SYNC
327
+
328
+ For more information, see
329
+ `Redo Transport Services`__
330
+ in the Oracle Data Guard documentation.
331
+
332
+ **IMPORTANT** - The only transport type currently supported by the Database service is ASYNC.
333
+
334
+ __ http://docs.oracle.com/database/122/SBYDB/oracle-data-guard-redo-transport-services.htm#SBYDB00400
335
+
336
+ Allowed values for this property are: "SYNC", "ASYNC", "FASTSYNC", 'UNKNOWN_ENUM_VALUE'.
337
+ Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
338
+
339
+
340
+ :return: The transport_type of this DataGuardGroupMember.
341
+ :rtype: str
342
+ """
343
+ return self._transport_type
344
+
345
+ @transport_type.setter
346
+ def transport_type(self, transport_type):
347
+ """
348
+ Sets the transport_type of this DataGuardGroupMember.
349
+ The redo transport type to use for this Data Guard association. Valid values depend on the specified `protectionMode`:
350
+
351
+ * MAXIMUM_AVAILABILITY - SYNC or FASTSYNC
352
+ * MAXIMUM_PERFORMANCE - ASYNC
353
+ * MAXIMUM_PROTECTION - SYNC
354
+
355
+ For more information, see
356
+ `Redo Transport Services`__
357
+ in the Oracle Data Guard documentation.
358
+
359
+ **IMPORTANT** - The only transport type currently supported by the Database service is ASYNC.
360
+
361
+ __ http://docs.oracle.com/database/122/SBYDB/oracle-data-guard-redo-transport-services.htm#SBYDB00400
362
+
363
+
364
+ :param transport_type: The transport_type of this DataGuardGroupMember.
365
+ :type: str
366
+ """
367
+ allowed_values = ["SYNC", "ASYNC", "FASTSYNC"]
368
+ if not value_allowed_none_or_none_sentinel(transport_type, allowed_values):
369
+ transport_type = 'UNKNOWN_ENUM_VALUE'
370
+ self._transport_type = transport_type
371
+
372
+ @property
373
+ def is_active_data_guard_enabled(self):
374
+ """
375
+ Gets the is_active_data_guard_enabled of this DataGuardGroupMember.
376
+ True if active Data Guard is enabled.
377
+
378
+
379
+ :return: The is_active_data_guard_enabled of this DataGuardGroupMember.
380
+ :rtype: bool
381
+ """
382
+ return self._is_active_data_guard_enabled
383
+
384
+ @is_active_data_guard_enabled.setter
385
+ def is_active_data_guard_enabled(self, is_active_data_guard_enabled):
386
+ """
387
+ Sets the is_active_data_guard_enabled of this DataGuardGroupMember.
388
+ True if active Data Guard is enabled.
389
+
390
+
391
+ :param is_active_data_guard_enabled: The is_active_data_guard_enabled of this DataGuardGroupMember.
392
+ :type: bool
393
+ """
394
+ self._is_active_data_guard_enabled = is_active_data_guard_enabled
395
+
396
+ def __repr__(self):
397
+ return formatted_flat_dict(self)
398
+
399
+ def __eq__(self, other):
400
+ if other is None:
401
+ return False
402
+
403
+ return self.__dict__ == other.__dict__
404
+
405
+ def __ne__(self, other):
406
+ return not self == other
@@ -186,6 +186,14 @@ class Database(object):
186
186
  The value to assign to the key_store_wallet_name property of this Database.
187
187
  :type key_store_wallet_name: str
188
188
 
189
+ :param data_guard_group:
190
+ The value to assign to the data_guard_group property of this Database.
191
+ :type data_guard_group: oci.database.models.DataGuardGroup
192
+
193
+ :param encryption_key_location_details:
194
+ The value to assign to the encryption_key_location_details property of this Database.
195
+ :type encryption_key_location_details: oci.database.models.EncryptionKeyLocationDetails
196
+
189
197
  """
190
198
  self.swagger_types = {
191
199
  'id': 'str',
@@ -218,7 +226,9 @@ class Database(object):
218
226
  'database_management_config': 'CloudDatabaseManagementConfig',
219
227
  'sid_prefix': 'str',
220
228
  'key_store_id': 'str',
221
- 'key_store_wallet_name': 'str'
229
+ 'key_store_wallet_name': 'str',
230
+ 'data_guard_group': 'DataGuardGroup',
231
+ 'encryption_key_location_details': 'EncryptionKeyLocationDetails'
222
232
  }
223
233
 
224
234
  self.attribute_map = {
@@ -252,7 +262,9 @@ class Database(object):
252
262
  'database_management_config': 'databaseManagementConfig',
253
263
  'sid_prefix': 'sidPrefix',
254
264
  'key_store_id': 'keyStoreId',
255
- 'key_store_wallet_name': 'keyStoreWalletName'
265
+ 'key_store_wallet_name': 'keyStoreWalletName',
266
+ 'data_guard_group': 'dataGuardGroup',
267
+ 'encryption_key_location_details': 'encryptionKeyLocationDetails'
256
268
  }
257
269
 
258
270
  self._id = None
@@ -286,6 +298,8 @@ class Database(object):
286
298
  self._sid_prefix = None
287
299
  self._key_store_id = None
288
300
  self._key_store_wallet_name = None
301
+ self._data_guard_group = None
302
+ self._encryption_key_location_details = None
289
303
 
290
304
  @property
291
305
  def id(self):
@@ -1089,6 +1103,46 @@ class Database(object):
1089
1103
  """
1090
1104
  self._key_store_wallet_name = key_store_wallet_name
1091
1105
 
1106
+ @property
1107
+ def data_guard_group(self):
1108
+ """
1109
+ Gets the data_guard_group of this Database.
1110
+
1111
+ :return: The data_guard_group of this Database.
1112
+ :rtype: oci.database.models.DataGuardGroup
1113
+ """
1114
+ return self._data_guard_group
1115
+
1116
+ @data_guard_group.setter
1117
+ def data_guard_group(self, data_guard_group):
1118
+ """
1119
+ Sets the data_guard_group of this Database.
1120
+
1121
+ :param data_guard_group: The data_guard_group of this Database.
1122
+ :type: oci.database.models.DataGuardGroup
1123
+ """
1124
+ self._data_guard_group = data_guard_group
1125
+
1126
+ @property
1127
+ def encryption_key_location_details(self):
1128
+ """
1129
+ Gets the encryption_key_location_details of this Database.
1130
+
1131
+ :return: The encryption_key_location_details of this Database.
1132
+ :rtype: oci.database.models.EncryptionKeyLocationDetails
1133
+ """
1134
+ return self._encryption_key_location_details
1135
+
1136
+ @encryption_key_location_details.setter
1137
+ def encryption_key_location_details(self, encryption_key_location_details):
1138
+ """
1139
+ Sets the encryption_key_location_details of this Database.
1140
+
1141
+ :param encryption_key_location_details: The encryption_key_location_details of this Database.
1142
+ :type: oci.database.models.EncryptionKeyLocationDetails
1143
+ """
1144
+ self._encryption_key_location_details = encryption_key_location_details
1145
+
1092
1146
  def __repr__(self):
1093
1147
  return formatted_flat_dict(self)
1094
1148
 
@@ -193,6 +193,14 @@ class DatabaseSummary(object):
193
193
  The value to assign to the key_store_wallet_name property of this DatabaseSummary.
194
194
  :type key_store_wallet_name: str
195
195
 
196
+ :param data_guard_group:
197
+ The value to assign to the data_guard_group property of this DatabaseSummary.
198
+ :type data_guard_group: oci.database.models.DataGuardGroup
199
+
200
+ :param encryption_key_location_details:
201
+ The value to assign to the encryption_key_location_details property of this DatabaseSummary.
202
+ :type encryption_key_location_details: oci.database.models.EncryptionKeyLocationDetails
203
+
196
204
  """
197
205
  self.swagger_types = {
198
206
  'id': 'str',
@@ -225,7 +233,9 @@ class DatabaseSummary(object):
225
233
  'database_management_config': 'CloudDatabaseManagementConfig',
226
234
  'sid_prefix': 'str',
227
235
  'key_store_id': 'str',
228
- 'key_store_wallet_name': 'str'
236
+ 'key_store_wallet_name': 'str',
237
+ 'data_guard_group': 'DataGuardGroup',
238
+ 'encryption_key_location_details': 'EncryptionKeyLocationDetails'
229
239
  }
230
240
 
231
241
  self.attribute_map = {
@@ -259,7 +269,9 @@ class DatabaseSummary(object):
259
269
  'database_management_config': 'databaseManagementConfig',
260
270
  'sid_prefix': 'sidPrefix',
261
271
  'key_store_id': 'keyStoreId',
262
- 'key_store_wallet_name': 'keyStoreWalletName'
272
+ 'key_store_wallet_name': 'keyStoreWalletName',
273
+ 'data_guard_group': 'dataGuardGroup',
274
+ 'encryption_key_location_details': 'encryptionKeyLocationDetails'
263
275
  }
264
276
 
265
277
  self._id = None
@@ -293,6 +305,8 @@ class DatabaseSummary(object):
293
305
  self._sid_prefix = None
294
306
  self._key_store_id = None
295
307
  self._key_store_wallet_name = None
308
+ self._data_guard_group = None
309
+ self._encryption_key_location_details = None
296
310
 
297
311
  @property
298
312
  def id(self):
@@ -1096,6 +1110,46 @@ class DatabaseSummary(object):
1096
1110
  """
1097
1111
  self._key_store_wallet_name = key_store_wallet_name
1098
1112
 
1113
+ @property
1114
+ def data_guard_group(self):
1115
+ """
1116
+ Gets the data_guard_group of this DatabaseSummary.
1117
+
1118
+ :return: The data_guard_group of this DatabaseSummary.
1119
+ :rtype: oci.database.models.DataGuardGroup
1120
+ """
1121
+ return self._data_guard_group
1122
+
1123
+ @data_guard_group.setter
1124
+ def data_guard_group(self, data_guard_group):
1125
+ """
1126
+ Sets the data_guard_group of this DatabaseSummary.
1127
+
1128
+ :param data_guard_group: The data_guard_group of this DatabaseSummary.
1129
+ :type: oci.database.models.DataGuardGroup
1130
+ """
1131
+ self._data_guard_group = data_guard_group
1132
+
1133
+ @property
1134
+ def encryption_key_location_details(self):
1135
+ """
1136
+ Gets the encryption_key_location_details of this DatabaseSummary.
1137
+
1138
+ :return: The encryption_key_location_details of this DatabaseSummary.
1139
+ :rtype: oci.database.models.EncryptionKeyLocationDetails
1140
+ """
1141
+ return self._encryption_key_location_details
1142
+
1143
+ @encryption_key_location_details.setter
1144
+ def encryption_key_location_details(self, encryption_key_location_details):
1145
+ """
1146
+ Sets the encryption_key_location_details of this DatabaseSummary.
1147
+
1148
+ :param encryption_key_location_details: The encryption_key_location_details of this DatabaseSummary.
1149
+ :type: oci.database.models.EncryptionKeyLocationDetails
1150
+ """
1151
+ self._encryption_key_location_details = encryption_key_location_details
1152
+
1099
1153
  def __repr__(self):
1100
1154
  return formatted_flat_dict(self)
1101
1155
 
@@ -0,0 +1,101 @@
1
+ # coding: utf-8
2
+ # Copyright (c) 2016, 2025, Oracle and/or its affiliates. All rights reserved.
3
+ # This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
4
+
5
+ # NOTE: This class is auto generated by OracleSDKGenerator. DO NOT EDIT. API Version: 20160918
6
+
7
+
8
+ from oci.util import formatted_flat_dict, NONE_SENTINEL, value_allowed_none_or_none_sentinel # noqa: F401
9
+ from oci.decorators import init_model_state_from_kwargs
10
+
11
+
12
+ @init_model_state_from_kwargs
13
+ class EncryptionKeyLocationDetails(object):
14
+ """
15
+ Types of providers supported for managing database encryption keys
16
+ """
17
+
18
+ #: A constant which can be used with the provider_type property of a EncryptionKeyLocationDetails.
19
+ #: This constant has a value of "EXTERNAL"
20
+ PROVIDER_TYPE_EXTERNAL = "EXTERNAL"
21
+
22
+ def __init__(self, **kwargs):
23
+ """
24
+ Initializes a new EncryptionKeyLocationDetails object with values from keyword arguments. This class has the following subclasses and if you are using this class as input
25
+ to a service operations then you should favor using a subclass over the base class:
26
+
27
+ * :class:`~oci.database.models.ExternalHsmEncryptionDetails`
28
+
29
+ The following keyword arguments are supported (corresponding to the getters/setters of this class):
30
+
31
+ :param provider_type:
32
+ The value to assign to the provider_type property of this EncryptionKeyLocationDetails.
33
+ Allowed values for this property are: "EXTERNAL", 'UNKNOWN_ENUM_VALUE'.
34
+ Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
35
+ :type provider_type: str
36
+
37
+ """
38
+ self.swagger_types = {
39
+ 'provider_type': 'str'
40
+ }
41
+
42
+ self.attribute_map = {
43
+ 'provider_type': 'providerType'
44
+ }
45
+
46
+ self._provider_type = None
47
+
48
+ @staticmethod
49
+ def get_subtype(object_dictionary):
50
+ """
51
+ Given the hash representation of a subtype of this class,
52
+ use the info in the hash to return the class of the subtype.
53
+ """
54
+ type = object_dictionary['providerType']
55
+
56
+ if type == 'EXTERNAL':
57
+ return 'ExternalHsmEncryptionDetails'
58
+ else:
59
+ return 'EncryptionKeyLocationDetails'
60
+
61
+ @property
62
+ def provider_type(self):
63
+ """
64
+ **[Required]** Gets the provider_type of this EncryptionKeyLocationDetails.
65
+ Use 'EXTERNAL' for creating a new database or migrate database key with External HSM.
66
+
67
+ Allowed values for this property are: "EXTERNAL", 'UNKNOWN_ENUM_VALUE'.
68
+ Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
69
+
70
+
71
+ :return: The provider_type of this EncryptionKeyLocationDetails.
72
+ :rtype: str
73
+ """
74
+ return self._provider_type
75
+
76
+ @provider_type.setter
77
+ def provider_type(self, provider_type):
78
+ """
79
+ Sets the provider_type of this EncryptionKeyLocationDetails.
80
+ Use 'EXTERNAL' for creating a new database or migrate database key with External HSM.
81
+
82
+
83
+ :param provider_type: The provider_type of this EncryptionKeyLocationDetails.
84
+ :type: str
85
+ """
86
+ allowed_values = ["EXTERNAL"]
87
+ if not value_allowed_none_or_none_sentinel(provider_type, allowed_values):
88
+ provider_type = 'UNKNOWN_ENUM_VALUE'
89
+ self._provider_type = provider_type
90
+
91
+ def __repr__(self):
92
+ return formatted_flat_dict(self)
93
+
94
+ def __eq__(self, other):
95
+ if other is None:
96
+ return False
97
+
98
+ return self.__dict__ == other.__dict__
99
+
100
+ def __ne__(self, other):
101
+ return not self == other