oci 2.5.10 → 2.5.11

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 (225) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +4 -1
  3. data/lib/oci.rb +3 -0
  4. data/lib/oci/budget/budget.rb +1 -0
  5. data/lib/oci/budget/budget_client.rb +21 -1
  6. data/lib/oci/budget/models/budget.rb +52 -2
  7. data/lib/oci/budget/models/budget_summary.rb +52 -2
  8. data/lib/oci/budget/models/create_budget_details.rb +55 -2
  9. data/lib/oci/budget/models/target_type.rb +10 -0
  10. data/lib/oci/core/blockstorage_client.rb +18 -6
  11. data/lib/oci/core/compute_client.rb +75 -0
  12. data/lib/oci/core/compute_management_client.rb +4 -1
  13. data/lib/oci/core/core.rb +12 -0
  14. data/lib/oci/core/models/add_security_rule_details.rb +2 -2
  15. data/lib/oci/core/models/boot_volume_backup.rb +19 -1
  16. data/lib/oci/core/models/change_boot_volume_backup_compartment_details.rb +2 -2
  17. data/lib/oci/core/models/change_boot_volume_compartment_details.rb +2 -2
  18. data/lib/oci/core/models/change_cpe_compartment_details.rb +155 -0
  19. data/lib/oci/core/models/change_cross_connect_compartment_details.rb +155 -0
  20. data/lib/oci/core/models/change_cross_connect_group_compartment_details.rb +155 -0
  21. data/lib/oci/core/models/change_instance_compartment_details.rb +154 -0
  22. data/lib/oci/core/models/change_ip_sec_connection_compartment_details.rb +155 -0
  23. data/lib/oci/core/models/change_remote_peering_connection_compartment_details.rb +155 -0
  24. data/lib/oci/core/models/change_virtual_circuit_compartment_details.rb +155 -0
  25. data/lib/oci/core/models/change_volume_backup_compartment_details.rb +2 -2
  26. data/lib/oci/core/models/change_volume_compartment_details.rb +2 -2
  27. data/lib/oci/core/models/change_volume_group_backup_compartment_details.rb +2 -2
  28. data/lib/oci/core/models/change_volume_group_compartment_details.rb +2 -2
  29. data/lib/oci/core/models/copy_volume_backup_details.rb +27 -4
  30. data/lib/oci/core/models/create_cross_connect_details.rb +37 -1
  31. data/lib/oci/core/models/create_cross_connect_group_details.rb +40 -4
  32. data/lib/oci/core/models/create_instance_configuration_base.rb +250 -0
  33. data/lib/oci/core/models/create_instance_configuration_details.rb +15 -57
  34. data/lib/oci/core/models/create_instance_configuration_from_instance_details.rb +179 -0
  35. data/lib/oci/core/models/create_ipv6_details.rb +249 -0
  36. data/lib/oci/core/models/create_remote_peering_connection_details.rb +40 -4
  37. data/lib/oci/core/models/create_service_gateway_details.rb +23 -1
  38. data/lib/oci/core/models/create_subnet_details.rb +24 -1
  39. data/lib/oci/core/models/create_vcn_details.rb +56 -4
  40. data/lib/oci/core/models/create_virtual_circuit_details.rb +38 -2
  41. data/lib/oci/core/models/cross_connect.rb +37 -1
  42. data/lib/oci/core/models/cross_connect_group.rb +37 -1
  43. data/lib/oci/core/models/cross_connect_mapping.rb +50 -1
  44. data/lib/oci/core/models/egress_security_rule.rb +10 -7
  45. data/lib/oci/core/models/ingress_security_rule.rb +10 -7
  46. data/lib/oci/core/models/instance.rb +1 -0
  47. data/lib/oci/core/models/ipv6.rb +375 -0
  48. data/lib/oci/core/models/private_ip.rb +1 -0
  49. data/lib/oci/core/models/remote_peering_connection.rb +37 -1
  50. data/lib/oci/core/models/route_rule.rb +4 -1
  51. data/lib/oci/core/models/security_rule.rb +2 -2
  52. data/lib/oci/core/models/service_gateway.rb +18 -1
  53. data/lib/oci/core/models/subnet.rb +56 -1
  54. data/lib/oci/core/models/update_cross_connect_details.rb +37 -1
  55. data/lib/oci/core/models/update_cross_connect_group_details.rb +40 -4
  56. data/lib/oci/core/models/update_ipv6_details.rb +229 -0
  57. data/lib/oci/core/models/update_remote_peering_connection_details.rb +40 -4
  58. data/lib/oci/core/models/update_security_rule_details.rb +2 -2
  59. data/lib/oci/core/models/update_service_gateway_details.rb +18 -1
  60. data/lib/oci/core/models/update_virtual_circuit_details.rb +37 -1
  61. data/lib/oci/core/models/vcn.rb +42 -1
  62. data/lib/oci/core/models/virtual_circuit.rb +37 -1
  63. data/lib/oci/core/models/volume_backup.rb +19 -1
  64. data/lib/oci/core/virtual_network_client.rb +744 -10
  65. data/lib/oci/core/virtual_network_client_composite_operations.rb +119 -0
  66. data/lib/oci/database/database.rb +3 -0
  67. data/lib/oci/database/database_client.rb +320 -36
  68. data/lib/oci/database/models/autonomous_data_warehouse.rb +1 -0
  69. data/lib/oci/database/models/autonomous_data_warehouse_console_token_details.rb +164 -0
  70. data/lib/oci/database/models/autonomous_data_warehouse_summary.rb +1 -0
  71. data/lib/oci/database/models/autonomous_database.rb +5 -3
  72. data/lib/oci/database/models/autonomous_database_connection_urls.rb +1 -1
  73. data/lib/oci/database/models/autonomous_database_console_token_details.rb +163 -0
  74. data/lib/oci/database/models/autonomous_database_summary.rb +5 -3
  75. data/lib/oci/database/models/autonomous_db_preview_version_summary.rb +1 -3
  76. data/lib/oci/database/models/change_compartment_details.rb +155 -0
  77. data/lib/oci/database/models/create_autonomous_database_base.rb +5 -4
  78. data/lib/oci/database/models/create_data_guard_association_with_new_db_system_details.rb +2 -5
  79. data/lib/oci/database/models/create_database_details.rb +1 -1
  80. data/lib/oci/database/models/create_db_home_with_db_system_id_details.rb +2 -1
  81. data/lib/oci/database/models/create_db_home_with_db_system_id_from_backup_details.rb +2 -1
  82. data/lib/oci/database/models/db_system.rb +2 -5
  83. data/lib/oci/database/models/db_system_summary.rb +2 -5
  84. data/lib/oci/database/models/launch_db_system_base.rb +3 -5
  85. data/lib/oci/database/models/maintenance_window.rb +2 -1
  86. data/lib/oci/database/models/update_autonomous_database_details.rb +5 -3
  87. data/lib/oci/database/models/update_db_system_details.rb +2 -5
  88. data/lib/oci/dns/dns.rb +2 -0
  89. data/lib/oci/dns/dns_client.rb +138 -1
  90. data/lib/oci/dns/models/change_steering_policy_compartment_details.rb +155 -0
  91. data/lib/oci/dns/models/change_zone_compartment_details.rb +155 -0
  92. data/lib/oci/events/events.rb +34 -0
  93. data/lib/oci/events/events_client.rb +537 -0
  94. data/lib/oci/events/events_client_composite_operations.rb +145 -0
  95. data/lib/oci/events/models/action.rb +275 -0
  96. data/lib/oci/events/models/action_details.rb +222 -0
  97. data/lib/oci/events/models/action_details_list.rb +150 -0
  98. data/lib/oci/events/models/action_list.rb +151 -0
  99. data/lib/oci/events/models/change_rule_compartment_details.rb +156 -0
  100. data/lib/oci/events/models/create_faa_s_action_details.rb +170 -0
  101. data/lib/oci/events/models/create_notification_service_action_details.rb +170 -0
  102. data/lib/oci/events/models/create_rule_details.rb +284 -0
  103. data/lib/oci/events/models/create_streaming_service_action_details.rb +170 -0
  104. data/lib/oci/events/models/faa_s_action.rb +178 -0
  105. data/lib/oci/events/models/notification_service_action.rb +179 -0
  106. data/lib/oci/events/models/rule.rb +372 -0
  107. data/lib/oci/events/models/rule_summary.rb +321 -0
  108. data/lib/oci/events/models/streaming_service_action.rb +178 -0
  109. data/lib/oci/events/models/update_rule_details.rb +266 -0
  110. data/lib/oci/events/util.rb +2 -0
  111. data/lib/oci/functions/functions.rb +29 -0
  112. data/lib/oci/functions/functions_invoke_client.rb +237 -0
  113. data/lib/oci/functions/functions_invoke_client_composite_operations.rb +24 -0
  114. data/lib/oci/functions/functions_management_client.rb +851 -0
  115. data/lib/oci/functions/functions_management_client_composite_operations.rb +266 -0
  116. data/lib/oci/functions/models/application.rb +322 -0
  117. data/lib/oci/functions/models/application_summary.rb +281 -0
  118. data/lib/oci/functions/models/change_application_compartment_details.rb +156 -0
  119. data/lib/oci/functions/models/create_application_details.rb +236 -0
  120. data/lib/oci/functions/models/create_function_details.rb +280 -0
  121. data/lib/oci/functions/models/function.rb +397 -0
  122. data/lib/oci/functions/models/function_summary.rb +381 -0
  123. data/lib/oci/functions/models/update_application_details.rb +191 -0
  124. data/lib/oci/functions/models/update_function_details.rb +250 -0
  125. data/lib/oci/functions/util.rb +2 -0
  126. data/lib/oci/healthchecks/health_checks_client.rb +147 -1
  127. data/lib/oci/healthchecks/healthchecks.rb +2 -0
  128. data/lib/oci/healthchecks/models/change_http_monitor_compartment_details.rb +155 -0
  129. data/lib/oci/healthchecks/models/change_ping_monitor_compartment_details.rb +155 -0
  130. data/lib/oci/healthchecks/models/create_http_monitor_details.rb +2 -1
  131. data/lib/oci/healthchecks/models/create_on_demand_http_probe_details.rb +2 -1
  132. data/lib/oci/healthchecks/models/create_on_demand_ping_probe_details.rb +2 -1
  133. data/lib/oci/healthchecks/models/create_ping_monitor_details.rb +2 -1
  134. data/lib/oci/healthchecks/models/http_monitor.rb +2 -0
  135. data/lib/oci/healthchecks/models/http_probe.rb +2 -0
  136. data/lib/oci/healthchecks/models/ping_monitor.rb +2 -0
  137. data/lib/oci/healthchecks/models/ping_probe.rb +2 -0
  138. data/lib/oci/healthchecks/models/update_http_monitor_details.rb +2 -0
  139. data/lib/oci/healthchecks/models/update_ping_monitor_details.rb +2 -0
  140. data/lib/oci/identity/identity.rb +1 -0
  141. data/lib/oci/identity/identity_client.rb +70 -0
  142. data/lib/oci/identity/identity_client_composite_operations.rb +50 -0
  143. data/lib/oci/identity/models/move_compartment_details.rb +155 -0
  144. data/lib/oci/key_management/key_management.rb +2 -0
  145. data/lib/oci/key_management/kms_management_client.rb +73 -0
  146. data/lib/oci/key_management/kms_vault_client.rb +73 -0
  147. data/lib/oci/key_management/models/change_key_compartment_details.rb +153 -0
  148. data/lib/oci/key_management/models/change_vault_compartment_details.rb +153 -0
  149. data/lib/oci/key_management/models/key.rb +1 -0
  150. data/lib/oci/key_management/models/key_summary.rb +1 -0
  151. data/lib/oci/key_management/models/vault.rb +1 -0
  152. data/lib/oci/key_management/models/vault_summary.rb +1 -0
  153. data/lib/oci/limits/limits.rb +23 -0
  154. data/lib/oci/limits/models/create_quota_details.rb +220 -0
  155. data/lib/oci/limits/models/quota.rb +287 -0
  156. data/lib/oci/limits/models/quota_summary.rb +273 -0
  157. data/lib/oci/limits/models/update_quota_details.rb +194 -0
  158. data/lib/oci/limits/quotas_client.rb +439 -0
  159. data/lib/oci/limits/quotas_client_composite_operations.rb +143 -0
  160. data/lib/oci/limits/util.rb +2 -0
  161. data/lib/oci/load_balancer/load_balancer.rb +9 -0
  162. data/lib/oci/load_balancer/load_balancer_client.rb +139 -0
  163. data/lib/oci/load_balancer/load_balancer_client_composite_operations.rb +50 -0
  164. data/lib/oci/load_balancer/models/allow_rule.rb +181 -0
  165. data/lib/oci/load_balancer/models/backend_set.rb +21 -4
  166. data/lib/oci/load_balancer/models/backend_set_details.rb +21 -4
  167. data/lib/oci/load_balancer/models/change_load_balancer_compartment_details.rb +156 -0
  168. data/lib/oci/load_balancer/models/control_access_using_http_methods_rule.rb +205 -0
  169. data/lib/oci/load_balancer/models/create_backend_set_details.rb +21 -4
  170. data/lib/oci/load_balancer/models/create_load_balancer_details.rb +37 -1
  171. data/lib/oci/load_balancer/models/lb_cookie_session_persistence_configuration_details.rb +334 -0
  172. data/lib/oci/load_balancer/models/listener_rule_summary.rb +166 -0
  173. data/lib/oci/load_balancer/models/rule.rb +4 -0
  174. data/lib/oci/load_balancer/models/rule_condition.rb +192 -0
  175. data/lib/oci/load_balancer/models/session_persistence_configuration_details.rb +6 -0
  176. data/lib/oci/load_balancer/models/source_ip_address_condition.rb +167 -0
  177. data/lib/oci/load_balancer/models/source_vcn_id_condition.rb +169 -0
  178. data/lib/oci/load_balancer/models/source_vcn_ip_address_condition.rb +171 -0
  179. data/lib/oci/load_balancer/models/update_backend_set_details.rb +21 -4
  180. data/lib/oci/monitoring/models/alarm.rb +4 -3
  181. data/lib/oci/monitoring/models/alarm_summary.rb +4 -3
  182. data/lib/oci/monitoring/models/change_alarm_compartment_details.rb +155 -0
  183. data/lib/oci/monitoring/models/create_alarm_details.rb +4 -3
  184. data/lib/oci/monitoring/models/datapoint.rb +1 -1
  185. data/lib/oci/monitoring/models/list_metrics_details.rb +4 -4
  186. data/lib/oci/monitoring/models/metric_data.rb +14 -0
  187. data/lib/oci/monitoring/models/metric_data_details.rb +6 -4
  188. data/lib/oci/monitoring/models/summarize_metrics_data_details.rb +3 -0
  189. data/lib/oci/monitoring/models/update_alarm_details.rb +4 -3
  190. data/lib/oci/monitoring/monitoring.rb +1 -0
  191. data/lib/oci/monitoring/monitoring_client.rb +140 -5
  192. data/lib/oci/ons/models/backoff_retry_policy.rb +2 -2
  193. data/lib/oci/ons/models/change_compartment_details.rb +156 -0
  194. data/lib/oci/ons/models/confirmation_result.rb +5 -6
  195. data/lib/oci/ons/models/create_topic_details.rb +1 -1
  196. data/lib/oci/ons/models/notification_topic.rb +2 -2
  197. data/lib/oci/ons/models/notification_topic_summary.rb +2 -2
  198. data/lib/oci/ons/models/subscription.rb +47 -4
  199. data/lib/oci/ons/models/subscription_summary.rb +19 -3
  200. data/lib/oci/ons/notification_control_plane_client.rb +95 -8
  201. data/lib/oci/ons/notification_data_plane_client.rb +109 -8
  202. data/lib/oci/ons/ons.rb +1 -0
  203. data/lib/oci/regions.rb +3 -0
  204. data/lib/oci/streaming/models/change_stream_compartment_details.rb +155 -0
  205. data/lib/oci/streaming/stream_admin_client.rb +58 -0
  206. data/lib/oci/streaming/streaming.rb +1 -0
  207. data/lib/oci/version.rb +1 -1
  208. data/lib/oci/waas/models/access_rule_criteria.rb +14 -2
  209. data/lib/oci/waas/models/change_certificate_compartment_details.rb +154 -0
  210. data/lib/oci/waas/models/change_waas_policy_compartment_details.rb +154 -0
  211. data/lib/oci/waas/models/create_certificate_details.rb +2 -2
  212. data/lib/oci/waas/models/protection_rule_exclusion.rb +16 -1
  213. data/lib/oci/waas/models/protection_settings.rb +9 -5
  214. data/lib/oci/waas/models/waas_policy.rb +1 -1
  215. data/lib/oci/waas/models/waf_config_details.rb +8 -8
  216. data/lib/oci/waas/models/waf_log.rb +40 -19
  217. data/lib/oci/waas/waas.rb +2 -0
  218. data/lib/oci/waas/waas_client.rb +155 -27
  219. data/lib/oci/work_requests/models/work_request.rb +14 -8
  220. data/lib/oci/work_requests/models/work_request_error.rb +3 -3
  221. data/lib/oci/work_requests/models/work_request_log_entry.rb +2 -2
  222. data/lib/oci/work_requests/models/work_request_resource.rb +9 -7
  223. data/lib/oci/work_requests/models/work_request_summary.rb +12 -6
  224. data/lib/oci/work_requests/work_request_client.rb +33 -16
  225. metadata +81 -2
@@ -0,0 +1,381 @@
1
+ # Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
2
+
3
+ require 'date'
4
+ require 'logger'
5
+
6
+ # rubocop:disable Lint/UnneededCopDisableDirective, Metrics/LineLength
7
+ module OCI
8
+ # Summary of a function.
9
+ #
10
+ class Functions::Models::FunctionSummary
11
+ LIFECYCLE_STATE_ENUM = [
12
+ LIFECYCLE_STATE_CREATING = 'CREATING'.freeze,
13
+ LIFECYCLE_STATE_ACTIVE = 'ACTIVE'.freeze,
14
+ LIFECYCLE_STATE_INACTIVE = 'INACTIVE'.freeze,
15
+ LIFECYCLE_STATE_UPDATING = 'UPDATING'.freeze,
16
+ LIFECYCLE_STATE_DELETING = 'DELETING'.freeze,
17
+ LIFECYCLE_STATE_DELETED = 'DELETED'.freeze,
18
+ LIFECYCLE_STATE_FAILED = 'FAILED'.freeze,
19
+ LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
20
+ ].freeze
21
+
22
+ # The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the function.
23
+ #
24
+ # @return [String]
25
+ attr_accessor :id
26
+
27
+ # The display name of the function. The display name is unique within the application containing the function.
28
+ #
29
+ # @return [String]
30
+ attr_accessor :display_name
31
+
32
+ # The OCID of the application the function belongs to.
33
+ # @return [String]
34
+ attr_accessor :application_id
35
+
36
+ # The OCID of the compartment that contains the function.
37
+ #
38
+ # @return [String]
39
+ attr_accessor :compartment_id
40
+
41
+ # The current state of the function.
42
+ #
43
+ # @return [String]
44
+ attr_reader :lifecycle_state
45
+
46
+ # The qualified name of the Docker image to use in the function, including the image tag.
47
+ # The image should be in the OCI Registry that is in the same region as the function itself.
48
+ # Example: `phx.ocir.io/ten/functions/function:0.0.1`
49
+ #
50
+ # @return [String]
51
+ attr_accessor :image
52
+
53
+ # The image digest for the version of the image that will be pulled when invoking this function.
54
+ # If no value is specified, the digest currently associated with the image in the OCI Registry will be used.
55
+ # Example: `sha256:ca0eeb6fb05351dfc8759c20733c91def84cb8007aa89a5bf606bc8b315b9fc7`
56
+ #
57
+ # @return [String]
58
+ attr_accessor :image_digest
59
+
60
+ # Maximum usable memory for the function (MiB).
61
+ # @return [Integer]
62
+ attr_accessor :memory_in_m_bs
63
+
64
+ # Timeout for executions of the function. Value in seconds.
65
+ # @return [Integer]
66
+ attr_accessor :timeout_in_seconds
67
+
68
+ # Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace.
69
+ # For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm).
70
+ #
71
+ # Example: `{\"Department\": \"Finance\"}`
72
+ #
73
+ # @return [Hash<String, String>]
74
+ attr_accessor :freeform_tags
75
+
76
+ # The base https invoke URL to set on a client in order to invoke a function. This URL will never change over the lifetime of the function and can be cached.
77
+ #
78
+ # @return [String]
79
+ attr_accessor :invoke_endpoint
80
+
81
+ # Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm).
82
+ #
83
+ # Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`
84
+ #
85
+ # @return [Hash<String, Hash<String, Object>>]
86
+ attr_accessor :defined_tags
87
+
88
+ # The time the function was created, expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339)
89
+ # timestamp format.
90
+ #
91
+ # Example: `2018-09-12T22:47:12.613Z`
92
+ #
93
+ # @return [DateTime]
94
+ attr_accessor :time_created
95
+
96
+ # The time the function was updated, expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339)
97
+ # timestamp format.
98
+ #
99
+ # Example: `2018-09-12T22:47:12.613Z`
100
+ #
101
+ # @return [DateTime]
102
+ attr_accessor :time_updated
103
+
104
+ # Attribute mapping from ruby-style variable name to JSON key.
105
+ def self.attribute_map
106
+ {
107
+ # rubocop:disable Style/SymbolLiteral
108
+ 'id': :'id',
109
+ 'display_name': :'displayName',
110
+ 'application_id': :'applicationId',
111
+ 'compartment_id': :'compartmentId',
112
+ 'lifecycle_state': :'lifecycleState',
113
+ 'image': :'image',
114
+ 'image_digest': :'imageDigest',
115
+ 'memory_in_m_bs': :'memoryInMBs',
116
+ 'timeout_in_seconds': :'timeoutInSeconds',
117
+ 'freeform_tags': :'freeformTags',
118
+ 'invoke_endpoint': :'invokeEndpoint',
119
+ 'defined_tags': :'definedTags',
120
+ 'time_created': :'timeCreated',
121
+ 'time_updated': :'timeUpdated'
122
+ # rubocop:enable Style/SymbolLiteral
123
+ }
124
+ end
125
+
126
+ # Attribute type mapping.
127
+ def self.swagger_types
128
+ {
129
+ # rubocop:disable Style/SymbolLiteral
130
+ 'id': :'String',
131
+ 'display_name': :'String',
132
+ 'application_id': :'String',
133
+ 'compartment_id': :'String',
134
+ 'lifecycle_state': :'String',
135
+ 'image': :'String',
136
+ 'image_digest': :'String',
137
+ 'memory_in_m_bs': :'Integer',
138
+ 'timeout_in_seconds': :'Integer',
139
+ 'freeform_tags': :'Hash<String, String>',
140
+ 'invoke_endpoint': :'String',
141
+ 'defined_tags': :'Hash<String, Hash<String, Object>>',
142
+ 'time_created': :'DateTime',
143
+ 'time_updated': :'DateTime'
144
+ # rubocop:enable Style/SymbolLiteral
145
+ }
146
+ end
147
+
148
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
149
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
150
+
151
+
152
+ # Initializes the object
153
+ # @param [Hash] attributes Model attributes in the form of hash
154
+ # @option attributes [String] :id The value to assign to the {#id} property
155
+ # @option attributes [String] :display_name The value to assign to the {#display_name} property
156
+ # @option attributes [String] :application_id The value to assign to the {#application_id} property
157
+ # @option attributes [String] :compartment_id The value to assign to the {#compartment_id} property
158
+ # @option attributes [String] :lifecycle_state The value to assign to the {#lifecycle_state} property
159
+ # @option attributes [String] :image The value to assign to the {#image} property
160
+ # @option attributes [String] :image_digest The value to assign to the {#image_digest} property
161
+ # @option attributes [Integer] :memory_in_m_bs The value to assign to the {#memory_in_m_bs} property
162
+ # @option attributes [Integer] :timeout_in_seconds The value to assign to the {#timeout_in_seconds} property
163
+ # @option attributes [Hash<String, String>] :freeform_tags The value to assign to the {#freeform_tags} property
164
+ # @option attributes [String] :invoke_endpoint The value to assign to the {#invoke_endpoint} property
165
+ # @option attributes [Hash<String, Hash<String, Object>>] :defined_tags The value to assign to the {#defined_tags} property
166
+ # @option attributes [DateTime] :time_created The value to assign to the {#time_created} property
167
+ # @option attributes [DateTime] :time_updated The value to assign to the {#time_updated} property
168
+ def initialize(attributes = {})
169
+ return unless attributes.is_a?(Hash)
170
+
171
+ # convert string to symbol for hash key
172
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
173
+
174
+ self.id = attributes[:'id'] if attributes[:'id']
175
+
176
+ self.display_name = attributes[:'displayName'] if attributes[:'displayName']
177
+
178
+ raise 'You cannot provide both :displayName and :display_name' if attributes.key?(:'displayName') && attributes.key?(:'display_name')
179
+
180
+ self.display_name = attributes[:'display_name'] if attributes[:'display_name']
181
+
182
+ self.application_id = attributes[:'applicationId'] if attributes[:'applicationId']
183
+
184
+ raise 'You cannot provide both :applicationId and :application_id' if attributes.key?(:'applicationId') && attributes.key?(:'application_id')
185
+
186
+ self.application_id = attributes[:'application_id'] if attributes[:'application_id']
187
+
188
+ self.compartment_id = attributes[:'compartmentId'] if attributes[:'compartmentId']
189
+
190
+ raise 'You cannot provide both :compartmentId and :compartment_id' if attributes.key?(:'compartmentId') && attributes.key?(:'compartment_id')
191
+
192
+ self.compartment_id = attributes[:'compartment_id'] if attributes[:'compartment_id']
193
+
194
+ self.lifecycle_state = attributes[:'lifecycleState'] if attributes[:'lifecycleState']
195
+
196
+ raise 'You cannot provide both :lifecycleState and :lifecycle_state' if attributes.key?(:'lifecycleState') && attributes.key?(:'lifecycle_state')
197
+
198
+ self.lifecycle_state = attributes[:'lifecycle_state'] if attributes[:'lifecycle_state']
199
+
200
+ self.image = attributes[:'image'] if attributes[:'image']
201
+
202
+ self.image_digest = attributes[:'imageDigest'] if attributes[:'imageDigest']
203
+
204
+ raise 'You cannot provide both :imageDigest and :image_digest' if attributes.key?(:'imageDigest') && attributes.key?(:'image_digest')
205
+
206
+ self.image_digest = attributes[:'image_digest'] if attributes[:'image_digest']
207
+
208
+ self.memory_in_m_bs = attributes[:'memoryInMBs'] if attributes[:'memoryInMBs']
209
+
210
+ raise 'You cannot provide both :memoryInMBs and :memory_in_m_bs' if attributes.key?(:'memoryInMBs') && attributes.key?(:'memory_in_m_bs')
211
+
212
+ self.memory_in_m_bs = attributes[:'memory_in_m_bs'] if attributes[:'memory_in_m_bs']
213
+
214
+ self.timeout_in_seconds = attributes[:'timeoutInSeconds'] if attributes[:'timeoutInSeconds']
215
+ self.timeout_in_seconds = 30 if timeout_in_seconds.nil? && !attributes.key?(:'timeoutInSeconds') # rubocop:disable Style/StringLiterals
216
+
217
+ raise 'You cannot provide both :timeoutInSeconds and :timeout_in_seconds' if attributes.key?(:'timeoutInSeconds') && attributes.key?(:'timeout_in_seconds')
218
+
219
+ self.timeout_in_seconds = attributes[:'timeout_in_seconds'] if attributes[:'timeout_in_seconds']
220
+ self.timeout_in_seconds = 30 if timeout_in_seconds.nil? && !attributes.key?(:'timeoutInSeconds') && !attributes.key?(:'timeout_in_seconds') # rubocop:disable Style/StringLiterals
221
+
222
+ self.freeform_tags = attributes[:'freeformTags'] if attributes[:'freeformTags']
223
+
224
+ raise 'You cannot provide both :freeformTags and :freeform_tags' if attributes.key?(:'freeformTags') && attributes.key?(:'freeform_tags')
225
+
226
+ self.freeform_tags = attributes[:'freeform_tags'] if attributes[:'freeform_tags']
227
+
228
+ self.invoke_endpoint = attributes[:'invokeEndpoint'] if attributes[:'invokeEndpoint']
229
+
230
+ raise 'You cannot provide both :invokeEndpoint and :invoke_endpoint' if attributes.key?(:'invokeEndpoint') && attributes.key?(:'invoke_endpoint')
231
+
232
+ self.invoke_endpoint = attributes[:'invoke_endpoint'] if attributes[:'invoke_endpoint']
233
+
234
+ self.defined_tags = attributes[:'definedTags'] if attributes[:'definedTags']
235
+
236
+ raise 'You cannot provide both :definedTags and :defined_tags' if attributes.key?(:'definedTags') && attributes.key?(:'defined_tags')
237
+
238
+ self.defined_tags = attributes[:'defined_tags'] if attributes[:'defined_tags']
239
+
240
+ self.time_created = attributes[:'timeCreated'] if attributes[:'timeCreated']
241
+
242
+ raise 'You cannot provide both :timeCreated and :time_created' if attributes.key?(:'timeCreated') && attributes.key?(:'time_created')
243
+
244
+ self.time_created = attributes[:'time_created'] if attributes[:'time_created']
245
+
246
+ self.time_updated = attributes[:'timeUpdated'] if attributes[:'timeUpdated']
247
+
248
+ raise 'You cannot provide both :timeUpdated and :time_updated' if attributes.key?(:'timeUpdated') && attributes.key?(:'time_updated')
249
+
250
+ self.time_updated = attributes[:'time_updated'] if attributes[:'time_updated']
251
+ end
252
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
253
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
254
+
255
+ # Custom attribute writer method checking allowed values (enum).
256
+ # @param [Object] lifecycle_state Object to be assigned
257
+ def lifecycle_state=(lifecycle_state)
258
+ # rubocop:disable Style/ConditionalAssignment
259
+ if lifecycle_state && !LIFECYCLE_STATE_ENUM.include?(lifecycle_state)
260
+ OCI.logger.debug("Unknown value for 'lifecycle_state' [" + lifecycle_state + "]. Mapping to 'LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE'") if OCI.logger
261
+ @lifecycle_state = LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE
262
+ else
263
+ @lifecycle_state = lifecycle_state
264
+ end
265
+ # rubocop:enable Style/ConditionalAssignment
266
+ end
267
+
268
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
269
+
270
+
271
+ # Checks equality by comparing each attribute.
272
+ # @param [Object] other the other object to be compared
273
+ def ==(other)
274
+ return true if equal?(other)
275
+
276
+ self.class == other.class &&
277
+ id == other.id &&
278
+ display_name == other.display_name &&
279
+ application_id == other.application_id &&
280
+ compartment_id == other.compartment_id &&
281
+ lifecycle_state == other.lifecycle_state &&
282
+ image == other.image &&
283
+ image_digest == other.image_digest &&
284
+ memory_in_m_bs == other.memory_in_m_bs &&
285
+ timeout_in_seconds == other.timeout_in_seconds &&
286
+ freeform_tags == other.freeform_tags &&
287
+ invoke_endpoint == other.invoke_endpoint &&
288
+ defined_tags == other.defined_tags &&
289
+ time_created == other.time_created &&
290
+ time_updated == other.time_updated
291
+ end
292
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
293
+
294
+ # @see the `==` method
295
+ # @param [Object] other the other object to be compared
296
+ def eql?(other)
297
+ self == other
298
+ end
299
+
300
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
301
+
302
+
303
+ # Calculates hash code according to all attributes.
304
+ # @return [Fixnum] Hash code
305
+ def hash
306
+ [id, display_name, application_id, compartment_id, lifecycle_state, image, image_digest, memory_in_m_bs, timeout_in_seconds, freeform_tags, invoke_endpoint, defined_tags, time_created, time_updated].hash
307
+ end
308
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
309
+
310
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
311
+
312
+
313
+ # Builds the object from hash
314
+ # @param [Hash] attributes Model attributes in the form of hash
315
+ # @return [Object] Returns the model itself
316
+ def build_from_hash(attributes)
317
+ return nil unless attributes.is_a?(Hash)
318
+
319
+ self.class.swagger_types.each_pair do |key, type|
320
+ if type =~ /^Array<(.*)>/i
321
+ # check to ensure the input is an array given that the the attribute
322
+ # is documented as an array but the input is not
323
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
324
+ public_method("#{key}=").call(
325
+ attributes[self.class.attribute_map[key]]
326
+ .map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) }
327
+ )
328
+ end
329
+ elsif !attributes[self.class.attribute_map[key]].nil?
330
+ public_method("#{key}=").call(
331
+ OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]])
332
+ )
333
+ end
334
+ # or else data not found in attributes(hash), not an issue as the data can be optional
335
+ end
336
+
337
+ self
338
+ end
339
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
340
+
341
+ # Returns the string representation of the object
342
+ # @return [String] String presentation of the object
343
+ def to_s
344
+ to_hash.to_s
345
+ end
346
+
347
+ # Returns the object in the form of hash
348
+ # @return [Hash] Returns the object in the form of hash
349
+ def to_hash
350
+ hash = {}
351
+ self.class.attribute_map.each_pair do |attr, param|
352
+ value = public_method(attr).call
353
+ next if value.nil? && !instance_variable_defined?("@#{attr}")
354
+
355
+ hash[param] = _to_hash(value)
356
+ end
357
+ hash
358
+ end
359
+
360
+ private
361
+
362
+ # Outputs non-array value in the form of hash
363
+ # For object, use to_hash. Otherwise, just return the value
364
+ # @param [Object] value Any valid value
365
+ # @return [Hash] Returns the value in the form of hash
366
+ def _to_hash(value)
367
+ if value.is_a?(Array)
368
+ value.compact.map { |v| _to_hash(v) }
369
+ elsif value.is_a?(Hash)
370
+ {}.tap do |hash|
371
+ value.each { |k, v| hash[k] = _to_hash(v) }
372
+ end
373
+ elsif value.respond_to? :to_hash
374
+ value.to_hash
375
+ else
376
+ value
377
+ end
378
+ end
379
+ end
380
+ end
381
+ # rubocop:enable Lint/UnneededCopDisableDirective, Metrics/LineLength
@@ -0,0 +1,191 @@
1
+ # Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
2
+
3
+ require 'date'
4
+
5
+ # rubocop:disable Lint/UnneededCopDisableDirective, Metrics/LineLength
6
+ module OCI
7
+ # Properties to update an application.
8
+ #
9
+ class Functions::Models::UpdateApplicationDetails
10
+ # Application configuration. These values are passed on to the function as environment variables, functions may override application configuration.
11
+ # Keys must be ASCII strings consisting solely of letters, digits, and the '_' (underscore) character, and must not begin with a digit. Values should be limited to printable unicode characters.
12
+ #
13
+ # Example: `{\"MY_FUNCTION_CONFIG\": \"ConfVal\"}`
14
+ #
15
+ # The maximum size for all configuration keys and values is limited to 4KB. This is measured as the sum of octets necessary to represent each key and value in UTF-8.
16
+ #
17
+ # @return [Hash<String, String>]
18
+ attr_accessor :config
19
+
20
+ # Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace.
21
+ # For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm).
22
+ #
23
+ # Example: `{\"Department\": \"Finance\"}`
24
+ #
25
+ # @return [Hash<String, String>]
26
+ attr_accessor :freeform_tags
27
+
28
+ # Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm).
29
+ #
30
+ # Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`
31
+ #
32
+ # @return [Hash<String, Hash<String, Object>>]
33
+ attr_accessor :defined_tags
34
+
35
+ # Attribute mapping from ruby-style variable name to JSON key.
36
+ def self.attribute_map
37
+ {
38
+ # rubocop:disable Style/SymbolLiteral
39
+ 'config': :'config',
40
+ 'freeform_tags': :'freeformTags',
41
+ 'defined_tags': :'definedTags'
42
+ # rubocop:enable Style/SymbolLiteral
43
+ }
44
+ end
45
+
46
+ # Attribute type mapping.
47
+ def self.swagger_types
48
+ {
49
+ # rubocop:disable Style/SymbolLiteral
50
+ 'config': :'Hash<String, String>',
51
+ 'freeform_tags': :'Hash<String, String>',
52
+ 'defined_tags': :'Hash<String, Hash<String, Object>>'
53
+ # rubocop:enable Style/SymbolLiteral
54
+ }
55
+ end
56
+
57
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
58
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
59
+
60
+
61
+ # Initializes the object
62
+ # @param [Hash] attributes Model attributes in the form of hash
63
+ # @option attributes [Hash<String, String>] :config The value to assign to the {#config} property
64
+ # @option attributes [Hash<String, String>] :freeform_tags The value to assign to the {#freeform_tags} property
65
+ # @option attributes [Hash<String, Hash<String, Object>>] :defined_tags The value to assign to the {#defined_tags} property
66
+ def initialize(attributes = {})
67
+ return unless attributes.is_a?(Hash)
68
+
69
+ # convert string to symbol for hash key
70
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
71
+
72
+ self.config = attributes[:'config'] if attributes[:'config']
73
+
74
+ self.freeform_tags = attributes[:'freeformTags'] if attributes[:'freeformTags']
75
+
76
+ raise 'You cannot provide both :freeformTags and :freeform_tags' if attributes.key?(:'freeformTags') && attributes.key?(:'freeform_tags')
77
+
78
+ self.freeform_tags = attributes[:'freeform_tags'] if attributes[:'freeform_tags']
79
+
80
+ self.defined_tags = attributes[:'definedTags'] if attributes[:'definedTags']
81
+
82
+ raise 'You cannot provide both :definedTags and :defined_tags' if attributes.key?(:'definedTags') && attributes.key?(:'defined_tags')
83
+
84
+ self.defined_tags = attributes[:'defined_tags'] if attributes[:'defined_tags']
85
+ end
86
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
87
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
88
+
89
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
90
+
91
+
92
+ # Checks equality by comparing each attribute.
93
+ # @param [Object] other the other object to be compared
94
+ def ==(other)
95
+ return true if equal?(other)
96
+
97
+ self.class == other.class &&
98
+ config == other.config &&
99
+ freeform_tags == other.freeform_tags &&
100
+ defined_tags == other.defined_tags
101
+ end
102
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
103
+
104
+ # @see the `==` method
105
+ # @param [Object] other the other object to be compared
106
+ def eql?(other)
107
+ self == other
108
+ end
109
+
110
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
111
+
112
+
113
+ # Calculates hash code according to all attributes.
114
+ # @return [Fixnum] Hash code
115
+ def hash
116
+ [config, freeform_tags, defined_tags].hash
117
+ end
118
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
119
+
120
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
121
+
122
+
123
+ # Builds the object from hash
124
+ # @param [Hash] attributes Model attributes in the form of hash
125
+ # @return [Object] Returns the model itself
126
+ def build_from_hash(attributes)
127
+ return nil unless attributes.is_a?(Hash)
128
+
129
+ self.class.swagger_types.each_pair do |key, type|
130
+ if type =~ /^Array<(.*)>/i
131
+ # check to ensure the input is an array given that the the attribute
132
+ # is documented as an array but the input is not
133
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
134
+ public_method("#{key}=").call(
135
+ attributes[self.class.attribute_map[key]]
136
+ .map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) }
137
+ )
138
+ end
139
+ elsif !attributes[self.class.attribute_map[key]].nil?
140
+ public_method("#{key}=").call(
141
+ OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]])
142
+ )
143
+ end
144
+ # or else data not found in attributes(hash), not an issue as the data can be optional
145
+ end
146
+
147
+ self
148
+ end
149
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
150
+
151
+ # Returns the string representation of the object
152
+ # @return [String] String presentation of the object
153
+ def to_s
154
+ to_hash.to_s
155
+ end
156
+
157
+ # Returns the object in the form of hash
158
+ # @return [Hash] Returns the object in the form of hash
159
+ def to_hash
160
+ hash = {}
161
+ self.class.attribute_map.each_pair do |attr, param|
162
+ value = public_method(attr).call
163
+ next if value.nil? && !instance_variable_defined?("@#{attr}")
164
+
165
+ hash[param] = _to_hash(value)
166
+ end
167
+ hash
168
+ end
169
+
170
+ private
171
+
172
+ # Outputs non-array value in the form of hash
173
+ # For object, use to_hash. Otherwise, just return the value
174
+ # @param [Object] value Any valid value
175
+ # @return [Hash] Returns the value in the form of hash
176
+ def _to_hash(value)
177
+ if value.is_a?(Array)
178
+ value.compact.map { |v| _to_hash(v) }
179
+ elsif value.is_a?(Hash)
180
+ {}.tap do |hash|
181
+ value.each { |k, v| hash[k] = _to_hash(v) }
182
+ end
183
+ elsif value.respond_to? :to_hash
184
+ value.to_hash
185
+ else
186
+ value
187
+ end
188
+ end
189
+ end
190
+ end
191
+ # rubocop:enable Lint/UnneededCopDisableDirective, Metrics/LineLength