oci 2.0.2 → 2.0.3
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.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/lib/oci/audit/models/audit_event.rb +3 -3
- data/lib/oci/audit/models/configuration.rb +3 -3
- data/lib/oci/audit/models/update_configuration_details.rb +3 -3
- data/lib/oci/core/blockstorage_client.rb +155 -0
- data/lib/oci/core/compute_client.rb +176 -12
- data/lib/oci/core/core.rb +11 -0
- data/lib/oci/core/models/attach_boot_volume_details.rb +143 -0
- data/lib/oci/core/models/attach_i_scsi_volume_details.rb +3 -3
- data/lib/oci/core/models/attach_vnic_details.rb +23 -7
- data/lib/oci/core/models/attach_volume_details.rb +3 -3
- data/lib/oci/core/models/boot_volume.rb +234 -0
- data/lib/oci/core/models/boot_volume_attachment.rb +224 -0
- data/lib/oci/core/models/capture_console_history_details.rb +3 -3
- data/lib/oci/core/models/connect_local_peering_gateways_details.rb +120 -0
- data/lib/oci/core/models/console_history.rb +3 -3
- data/lib/oci/core/models/cpe.rb +3 -3
- data/lib/oci/core/models/create_cpe_details.rb +3 -3
- data/lib/oci/core/models/create_cross_connect_details.rb +3 -3
- data/lib/oci/core/models/create_cross_connect_group_details.rb +3 -3
- data/lib/oci/core/models/create_dhcp_details.rb +3 -3
- data/lib/oci/core/models/create_drg_attachment_details.rb +3 -3
- data/lib/oci/core/models/create_drg_details.rb +3 -3
- data/lib/oci/core/models/create_image_details.rb +3 -3
- data/lib/oci/core/models/create_instance_console_connection_details.rb +5 -5
- data/lib/oci/core/models/create_internet_gateway_details.rb +3 -3
- data/lib/oci/core/models/create_ip_sec_connection_details.rb +3 -3
- data/lib/oci/core/models/create_local_peering_gateway_details.rb +144 -0
- data/lib/oci/core/models/create_private_ip_details.rb +3 -3
- data/lib/oci/core/models/create_route_table_details.rb +3 -3
- data/lib/oci/core/models/create_security_list_details.rb +3 -3
- data/lib/oci/core/models/create_subnet_details.rb +3 -3
- data/lib/oci/core/models/create_vcn_details.rb +3 -3
- data/lib/oci/core/models/create_virtual_circuit_details.rb +3 -3
- data/lib/oci/core/models/create_vnic_details.rb +3 -3
- data/lib/oci/core/models/create_volume_backup_details.rb +3 -3
- data/lib/oci/core/models/create_volume_details.rb +3 -3
- data/lib/oci/core/models/cross_connect.rb +3 -3
- data/lib/oci/core/models/cross_connect_group.rb +3 -3
- data/lib/oci/core/models/cross_connect_location.rb +3 -3
- data/lib/oci/core/models/cross_connect_mapping.rb +3 -3
- data/lib/oci/core/models/cross_connect_port_speed_shape.rb +3 -3
- data/lib/oci/core/models/cross_connect_status.rb +3 -3
- data/lib/oci/core/models/dhcp_dns_option.rb +3 -3
- data/lib/oci/core/models/dhcp_option.rb +3 -3
- data/lib/oci/core/models/dhcp_options.rb +3 -3
- data/lib/oci/core/models/dhcp_search_domain_option.rb +3 -3
- data/lib/oci/core/models/drg.rb +3 -3
- data/lib/oci/core/models/drg_attachment.rb +3 -3
- data/lib/oci/core/models/egress_security_rule.rb +3 -3
- data/lib/oci/core/models/export_image_details.rb +3 -3
- data/lib/oci/core/models/export_image_via_object_storage_tuple_details.rb +3 -3
- data/lib/oci/core/models/export_image_via_object_storage_uri_details.rb +3 -3
- data/lib/oci/core/models/fast_connect_provider_service.rb +3 -3
- data/lib/oci/core/models/i_scsi_volume_attachment.rb +3 -3
- data/lib/oci/core/models/icmp_options.rb +3 -3
- data/lib/oci/core/models/image.rb +3 -3
- data/lib/oci/core/models/image_source_details.rb +3 -3
- data/lib/oci/core/models/image_source_via_object_storage_tuple_details.rb +3 -3
- data/lib/oci/core/models/image_source_via_object_storage_uri_details.rb +3 -3
- data/lib/oci/core/models/ingress_security_rule.rb +3 -3
- data/lib/oci/core/models/instance.rb +16 -6
- data/lib/oci/core/models/instance_console_connection.rb +9 -9
- data/lib/oci/core/models/instance_credentials.rb +3 -3
- data/lib/oci/core/models/instance_source_details.rb +135 -0
- data/lib/oci/core/models/instance_source_via_boot_volume_details.rb +128 -0
- data/lib/oci/core/models/instance_source_via_image_details.rb +128 -0
- data/lib/oci/core/models/internet_gateway.rb +3 -3
- data/lib/oci/core/models/ip_sec_connection.rb +3 -3
- data/lib/oci/core/models/ip_sec_connection_device_config.rb +3 -3
- data/lib/oci/core/models/ip_sec_connection_device_status.rb +3 -3
- data/lib/oci/core/models/launch_instance_details.rb +19 -6
- data/lib/oci/core/models/letter_of_authority.rb +3 -3
- data/lib/oci/core/models/local_peering_gateway.rb +271 -0
- data/lib/oci/core/models/port_range.rb +3 -3
- data/lib/oci/core/models/private_ip.rb +3 -3
- data/lib/oci/core/models/route_rule.rb +3 -3
- data/lib/oci/core/models/route_table.rb +3 -3
- data/lib/oci/core/models/security_list.rb +3 -3
- data/lib/oci/core/models/shape.rb +3 -3
- data/lib/oci/core/models/subnet.rb +3 -3
- data/lib/oci/core/models/tcp_options.rb +3 -3
- data/lib/oci/core/models/tunnel_config.rb +3 -3
- data/lib/oci/core/models/tunnel_status.rb +3 -3
- data/lib/oci/core/models/udp_options.rb +3 -3
- data/lib/oci/core/models/update_boot_volume_details.rb +122 -0
- data/lib/oci/core/models/update_console_history_details.rb +3 -3
- data/lib/oci/core/models/update_cpe_details.rb +3 -3
- data/lib/oci/core/models/update_cross_connect_details.rb +3 -3
- data/lib/oci/core/models/update_cross_connect_group_details.rb +3 -3
- data/lib/oci/core/models/update_dhcp_details.rb +3 -3
- data/lib/oci/core/models/update_drg_attachment_details.rb +3 -3
- data/lib/oci/core/models/update_drg_details.rb +3 -3
- data/lib/oci/core/models/update_image_details.rb +3 -3
- data/lib/oci/core/models/update_instance_details.rb +3 -3
- data/lib/oci/core/models/update_internet_gateway_details.rb +3 -3
- data/lib/oci/core/models/update_ip_sec_connection_details.rb +3 -3
- data/lib/oci/core/models/update_local_peering_gateway_details.rb +122 -0
- data/lib/oci/core/models/update_private_ip_details.rb +3 -3
- data/lib/oci/core/models/update_route_table_details.rb +3 -3
- data/lib/oci/core/models/update_security_list_details.rb +3 -3
- data/lib/oci/core/models/update_subnet_details.rb +3 -3
- data/lib/oci/core/models/update_vcn_details.rb +3 -3
- data/lib/oci/core/models/update_virtual_circuit_details.rb +3 -3
- data/lib/oci/core/models/update_vnic_details.rb +3 -3
- data/lib/oci/core/models/update_volume_backup_details.rb +3 -3
- data/lib/oci/core/models/update_volume_details.rb +3 -3
- data/lib/oci/core/models/vcn.rb +3 -3
- data/lib/oci/core/models/virtual_circuit.rb +3 -3
- data/lib/oci/core/models/virtual_circuit_bandwidth_shape.rb +3 -3
- data/lib/oci/core/models/vnic.rb +3 -3
- data/lib/oci/core/models/vnic_attachment.rb +20 -4
- data/lib/oci/core/models/volume.rb +3 -3
- data/lib/oci/core/models/volume_attachment.rb +3 -3
- data/lib/oci/core/models/volume_backup.rb +3 -3
- data/lib/oci/core/models/volume_source_details.rb +3 -3
- data/lib/oci/core/models/volume_source_from_volume_backup_details.rb +3 -3
- data/lib/oci/core/models/volume_source_from_volume_details.rb +3 -3
- data/lib/oci/core/virtual_network_client.rb +233 -0
- data/lib/oci/database/database.rb +3 -0
- data/lib/oci/database/database_client.rb +1 -1
- data/lib/oci/database/models/backup.rb +3 -3
- data/lib/oci/database/models/backup_summary.rb +3 -3
- data/lib/oci/database/models/create_backup_details.rb +3 -3
- data/lib/oci/database/models/create_data_guard_association_details.rb +3 -3
- data/lib/oci/database/models/create_data_guard_association_to_existing_db_system_details.rb +3 -3
- data/lib/oci/database/models/create_database_details.rb +3 -3
- data/lib/oci/database/models/create_database_from_backup_details.rb +142 -0
- data/lib/oci/database/models/create_db_home_details.rb +3 -3
- data/lib/oci/database/models/create_db_home_with_db_system_id_base.rb +173 -0
- data/lib/oci/database/models/create_db_home_with_db_system_id_details.rb +22 -30
- data/lib/oci/database/models/create_db_home_with_db_system_id_from_backup_details.rb +133 -0
- data/lib/oci/database/models/data_guard_association.rb +3 -3
- data/lib/oci/database/models/data_guard_association_summary.rb +3 -3
- data/lib/oci/database/models/database.rb +3 -3
- data/lib/oci/database/models/database_summary.rb +3 -3
- data/lib/oci/database/models/db_backup_config.rb +3 -3
- data/lib/oci/database/models/db_home.rb +3 -3
- data/lib/oci/database/models/db_home_summary.rb +3 -3
- data/lib/oci/database/models/db_node.rb +3 -3
- data/lib/oci/database/models/db_node_summary.rb +3 -3
- data/lib/oci/database/models/db_system.rb +3 -3
- data/lib/oci/database/models/db_system_shape_summary.rb +3 -3
- data/lib/oci/database/models/db_system_summary.rb +3 -3
- data/lib/oci/database/models/db_version_summary.rb +3 -3
- data/lib/oci/database/models/failover_data_guard_association_details.rb +3 -3
- data/lib/oci/database/models/launch_db_system_details.rb +3 -3
- data/lib/oci/database/models/patch.rb +3 -3
- data/lib/oci/database/models/patch_details.rb +3 -3
- data/lib/oci/database/models/patch_history_entry.rb +3 -3
- data/lib/oci/database/models/patch_history_entry_summary.rb +3 -3
- data/lib/oci/database/models/patch_summary.rb +3 -3
- data/lib/oci/database/models/reinstate_data_guard_association_details.rb +3 -3
- data/lib/oci/database/models/restore_database_details.rb +3 -3
- data/lib/oci/database/models/switchover_data_guard_association_details.rb +3 -3
- data/lib/oci/database/models/update_database_details.rb +3 -3
- data/lib/oci/database/models/update_db_home_details.rb +3 -3
- data/lib/oci/database/models/update_db_system_details.rb +3 -3
- data/lib/oci/identity/models/add_user_to_group_details.rb +3 -3
- data/lib/oci/identity/models/api_key.rb +3 -3
- data/lib/oci/identity/models/availability_domain.rb +3 -3
- data/lib/oci/identity/models/compartment.rb +3 -3
- data/lib/oci/identity/models/create_api_key_details.rb +3 -3
- data/lib/oci/identity/models/create_compartment_details.rb +3 -3
- data/lib/oci/identity/models/create_customer_secret_key_details.rb +3 -3
- data/lib/oci/identity/models/create_group_details.rb +3 -3
- data/lib/oci/identity/models/create_identity_provider_details.rb +3 -3
- data/lib/oci/identity/models/create_idp_group_mapping_details.rb +3 -3
- data/lib/oci/identity/models/create_policy_details.rb +3 -3
- data/lib/oci/identity/models/create_region_subscription_details.rb +3 -3
- data/lib/oci/identity/models/create_saml2_identity_provider_details.rb +3 -3
- data/lib/oci/identity/models/create_swift_password_details.rb +3 -3
- data/lib/oci/identity/models/create_user_details.rb +3 -3
- data/lib/oci/identity/models/customer_secret_key.rb +3 -3
- data/lib/oci/identity/models/customer_secret_key_summary.rb +3 -3
- data/lib/oci/identity/models/group.rb +3 -3
- data/lib/oci/identity/models/identity_provider.rb +3 -3
- data/lib/oci/identity/models/idp_group_mapping.rb +3 -3
- data/lib/oci/identity/models/policy.rb +3 -3
- data/lib/oci/identity/models/region.rb +3 -3
- data/lib/oci/identity/models/region_subscription.rb +3 -3
- data/lib/oci/identity/models/saml2_identity_provider.rb +3 -3
- data/lib/oci/identity/models/swift_password.rb +3 -3
- data/lib/oci/identity/models/tenancy.rb +3 -3
- data/lib/oci/identity/models/ui_password.rb +3 -3
- data/lib/oci/identity/models/update_compartment_details.rb +3 -3
- data/lib/oci/identity/models/update_customer_secret_key_details.rb +3 -3
- data/lib/oci/identity/models/update_group_details.rb +3 -3
- data/lib/oci/identity/models/update_identity_provider_details.rb +3 -3
- data/lib/oci/identity/models/update_idp_group_mapping_details.rb +3 -3
- data/lib/oci/identity/models/update_policy_details.rb +3 -3
- data/lib/oci/identity/models/update_saml2_identity_provider_details.rb +3 -3
- data/lib/oci/identity/models/update_state_details.rb +3 -3
- data/lib/oci/identity/models/update_swift_password_details.rb +3 -3
- data/lib/oci/identity/models/update_user_details.rb +3 -3
- data/lib/oci/identity/models/user.rb +3 -3
- data/lib/oci/identity/models/user_group_membership.rb +3 -3
- data/lib/oci/load_balancer/load_balancer_client.rb +27 -1
- data/lib/oci/load_balancer/models/backend.rb +3 -3
- data/lib/oci/load_balancer/models/backend_details.rb +3 -3
- data/lib/oci/load_balancer/models/backend_health.rb +4 -4
- data/lib/oci/load_balancer/models/backend_set.rb +5 -6
- data/lib/oci/load_balancer/models/backend_set_details.rb +5 -6
- data/lib/oci/load_balancer/models/backend_set_health.rb +3 -3
- data/lib/oci/load_balancer/models/certificate.rb +3 -3
- data/lib/oci/load_balancer/models/certificate_details.rb +3 -3
- data/lib/oci/load_balancer/models/create_backend_details.rb +3 -3
- data/lib/oci/load_balancer/models/create_backend_set_details.rb +5 -5
- data/lib/oci/load_balancer/models/create_certificate_details.rb +3 -3
- data/lib/oci/load_balancer/models/create_listener_details.rb +3 -3
- data/lib/oci/load_balancer/models/create_load_balancer_details.rb +4 -4
- data/lib/oci/load_balancer/models/health_check_result.rb +3 -3
- data/lib/oci/load_balancer/models/health_checker.rb +3 -3
- data/lib/oci/load_balancer/models/health_checker_details.rb +3 -3
- data/lib/oci/load_balancer/models/ip_address.rb +3 -3
- data/lib/oci/load_balancer/models/listener.rb +3 -3
- data/lib/oci/load_balancer/models/listener_details.rb +3 -3
- data/lib/oci/load_balancer/models/load_balancer.rb +6 -4
- data/lib/oci/load_balancer/models/load_balancer_health.rb +5 -5
- data/lib/oci/load_balancer/models/load_balancer_health_summary.rb +3 -3
- data/lib/oci/load_balancer/models/load_balancer_policy.rb +3 -3
- data/lib/oci/load_balancer/models/load_balancer_protocol.rb +3 -3
- data/lib/oci/load_balancer/models/load_balancer_shape.rb +3 -3
- data/lib/oci/load_balancer/models/session_persistence_configuration_details.rb +3 -3
- data/lib/oci/load_balancer/models/ssl_configuration.rb +3 -3
- data/lib/oci/load_balancer/models/ssl_configuration_details.rb +3 -3
- data/lib/oci/load_balancer/models/update_backend_details.rb +3 -3
- data/lib/oci/load_balancer/models/update_backend_set_details.rb +5 -6
- data/lib/oci/load_balancer/models/update_health_checker_details.rb +3 -3
- data/lib/oci/load_balancer/models/update_listener_details.rb +3 -3
- data/lib/oci/load_balancer/models/update_load_balancer_details.rb +3 -3
- data/lib/oci/load_balancer/models/work_request.rb +5 -3
- data/lib/oci/load_balancer/models/work_request_error.rb +3 -3
- data/lib/oci/object_storage/models/bucket.rb +3 -3
- data/lib/oci/object_storage/models/bucket_summary.rb +3 -3
- data/lib/oci/object_storage/models/commit_multipart_upload_details.rb +3 -3
- data/lib/oci/object_storage/models/commit_multipart_upload_part_details.rb +3 -3
- data/lib/oci/object_storage/models/create_bucket_details.rb +3 -3
- data/lib/oci/object_storage/models/create_multipart_upload_details.rb +3 -3
- data/lib/oci/object_storage/models/create_preauthenticated_request_details.rb +3 -3
- data/lib/oci/object_storage/models/list_objects.rb +3 -3
- data/lib/oci/object_storage/models/multipart_upload.rb +3 -3
- data/lib/oci/object_storage/models/multipart_upload_part_summary.rb +3 -3
- data/lib/oci/object_storage/models/namespace_metadata.rb +3 -3
- data/lib/oci/object_storage/models/object_summary.rb +3 -3
- data/lib/oci/object_storage/models/preauthenticated_request.rb +3 -3
- data/lib/oci/object_storage/models/preauthenticated_request_summary.rb +3 -3
- data/lib/oci/object_storage/models/rename_object_details.rb +3 -3
- data/lib/oci/object_storage/models/restore_objects_details.rb +3 -3
- data/lib/oci/object_storage/models/update_bucket_details.rb +3 -3
- data/lib/oci/object_storage/models/update_namespace_metadata_details.rb +3 -3
- data/lib/oci/version.rb +1 -1
- metadata +16 -2
|
@@ -62,10 +62,10 @@ module OCI
|
|
|
62
62
|
# check to ensure the input is an array given that the the attribute
|
|
63
63
|
# is documented as an array but the input is not
|
|
64
64
|
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
|
65
|
-
self.
|
|
65
|
+
self.public_send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
|
|
66
66
|
end
|
|
67
67
|
elsif !attributes[self.class.attribute_map[key]].nil?
|
|
68
|
-
self.
|
|
68
|
+
self.public_send("#{key}=", OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
|
|
69
69
|
end # or else data not found in attributes(hash), not an issue as the data can be optional
|
|
70
70
|
end
|
|
71
71
|
|
|
@@ -83,7 +83,7 @@ module OCI
|
|
|
83
83
|
def to_hash
|
|
84
84
|
hash = {}
|
|
85
85
|
self.class.attribute_map.each_pair do |attr, param|
|
|
86
|
-
value =
|
|
86
|
+
value = public_send(attr)
|
|
87
87
|
next if value.nil? && !instance_variable_defined?("@#{attr}")
|
|
88
88
|
hash[param] = _to_hash(value)
|
|
89
89
|
end
|
|
@@ -162,10 +162,10 @@ module OCI
|
|
|
162
162
|
# check to ensure the input is an array given that the the attribute
|
|
163
163
|
# is documented as an array but the input is not
|
|
164
164
|
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
|
165
|
-
self.
|
|
165
|
+
self.public_send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
|
|
166
166
|
end
|
|
167
167
|
elsif !attributes[self.class.attribute_map[key]].nil?
|
|
168
|
-
self.
|
|
168
|
+
self.public_send("#{key}=", OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
|
|
169
169
|
end # or else data not found in attributes(hash), not an issue as the data can be optional
|
|
170
170
|
end
|
|
171
171
|
|
|
@@ -183,7 +183,7 @@ module OCI
|
|
|
183
183
|
def to_hash
|
|
184
184
|
hash = {}
|
|
185
185
|
self.class.attribute_map.each_pair do |attr, param|
|
|
186
|
-
value =
|
|
186
|
+
value = public_send(attr)
|
|
187
187
|
next if value.nil? && !instance_variable_defined?("@#{attr}")
|
|
188
188
|
hash[param] = _to_hash(value)
|
|
189
189
|
end
|
|
@@ -67,10 +67,10 @@ module OCI
|
|
|
67
67
|
# check to ensure the input is an array given that the the attribute
|
|
68
68
|
# is documented as an array but the input is not
|
|
69
69
|
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
|
70
|
-
self.
|
|
70
|
+
self.public_send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
|
|
71
71
|
end
|
|
72
72
|
elsif !attributes[self.class.attribute_map[key]].nil?
|
|
73
|
-
self.
|
|
73
|
+
self.public_send("#{key}=", OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
|
|
74
74
|
end # or else data not found in attributes(hash), not an issue as the data can be optional
|
|
75
75
|
end
|
|
76
76
|
|
|
@@ -88,7 +88,7 @@ module OCI
|
|
|
88
88
|
def to_hash
|
|
89
89
|
hash = {}
|
|
90
90
|
self.class.attribute_map.each_pair do |attr, param|
|
|
91
|
-
value =
|
|
91
|
+
value = public_send(attr)
|
|
92
92
|
next if value.nil? && !instance_variable_defined?("@#{attr}")
|
|
93
93
|
hash[param] = _to_hash(value)
|
|
94
94
|
end
|
|
@@ -77,10 +77,10 @@ module OCI
|
|
|
77
77
|
# check to ensure the input is an array given that the the attribute
|
|
78
78
|
# is documented as an array but the input is not
|
|
79
79
|
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
|
80
|
-
self.
|
|
80
|
+
self.public_send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
|
|
81
81
|
end
|
|
82
82
|
elsif !attributes[self.class.attribute_map[key]].nil?
|
|
83
|
-
self.
|
|
83
|
+
self.public_send("#{key}=", OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
|
|
84
84
|
end # or else data not found in attributes(hash), not an issue as the data can be optional
|
|
85
85
|
end
|
|
86
86
|
|
|
@@ -98,7 +98,7 @@ module OCI
|
|
|
98
98
|
def to_hash
|
|
99
99
|
hash = {}
|
|
100
100
|
self.class.attribute_map.each_pair do |attr, param|
|
|
101
|
-
value =
|
|
101
|
+
value = public_send(attr)
|
|
102
102
|
next if value.nil? && !instance_variable_defined?("@#{attr}")
|
|
103
103
|
hash[param] = _to_hash(value)
|
|
104
104
|
end
|
|
@@ -59,10 +59,10 @@ module OCI
|
|
|
59
59
|
# check to ensure the input is an array given that the the attribute
|
|
60
60
|
# is documented as an array but the input is not
|
|
61
61
|
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
|
62
|
-
self.
|
|
62
|
+
self.public_send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
|
|
63
63
|
end
|
|
64
64
|
elsif !attributes[self.class.attribute_map[key]].nil?
|
|
65
|
-
self.
|
|
65
|
+
self.public_send("#{key}=", OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
|
|
66
66
|
end # or else data not found in attributes(hash), not an issue as the data can be optional
|
|
67
67
|
end
|
|
68
68
|
|
|
@@ -80,7 +80,7 @@ module OCI
|
|
|
80
80
|
def to_hash
|
|
81
81
|
hash = {}
|
|
82
82
|
self.class.attribute_map.each_pair do |attr, param|
|
|
83
|
-
value =
|
|
83
|
+
value = public_send(attr)
|
|
84
84
|
next if value.nil? && !instance_variable_defined?("@#{attr}")
|
|
85
85
|
hash[param] = _to_hash(value)
|
|
86
86
|
end
|
|
@@ -121,10 +121,10 @@ module OCI
|
|
|
121
121
|
# check to ensure the input is an array given that the the attribute
|
|
122
122
|
# is documented as an array but the input is not
|
|
123
123
|
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
|
124
|
-
self.
|
|
124
|
+
self.public_send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
|
|
125
125
|
end
|
|
126
126
|
elsif !attributes[self.class.attribute_map[key]].nil?
|
|
127
|
-
self.
|
|
127
|
+
self.public_send("#{key}=", OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
|
|
128
128
|
end # or else data not found in attributes(hash), not an issue as the data can be optional
|
|
129
129
|
end
|
|
130
130
|
|
|
@@ -142,7 +142,7 @@ module OCI
|
|
|
142
142
|
def to_hash
|
|
143
143
|
hash = {}
|
|
144
144
|
self.class.attribute_map.each_pair do |attr, param|
|
|
145
|
-
value =
|
|
145
|
+
value = public_send(attr)
|
|
146
146
|
next if value.nil? && !instance_variable_defined?("@#{attr}")
|
|
147
147
|
hash[param] = _to_hash(value)
|
|
148
148
|
end
|
|
@@ -47,8 +47,7 @@ module OCI
|
|
|
47
47
|
# @return [String]
|
|
48
48
|
attr_accessor :id
|
|
49
49
|
|
|
50
|
-
#
|
|
51
|
-
# {#list_images list_images}.
|
|
50
|
+
# Deprecated. Use `sourceDetails` instead.
|
|
52
51
|
#
|
|
53
52
|
# @return [String]
|
|
54
53
|
attr_accessor :image_id
|
|
@@ -101,6 +100,10 @@ module OCI
|
|
|
101
100
|
# @return [String]
|
|
102
101
|
attr_accessor :shape
|
|
103
102
|
|
|
103
|
+
# Details for creating an instance
|
|
104
|
+
# @return [OCI::Core::Models::InstanceSourceDetails]
|
|
105
|
+
attr_accessor :source_details
|
|
106
|
+
|
|
104
107
|
# The date and time the instance was created, in the format defined by RFC3339.
|
|
105
108
|
#
|
|
106
109
|
# Example: `2016-08-25T21:10:29.600Z`
|
|
@@ -161,6 +164,10 @@ module OCI
|
|
|
161
164
|
self.shape = attributes[:'shape']
|
|
162
165
|
end
|
|
163
166
|
|
|
167
|
+
if attributes[:'sourceDetails']
|
|
168
|
+
self.source_details = attributes[:'sourceDetails']
|
|
169
|
+
end
|
|
170
|
+
|
|
164
171
|
if attributes[:'timeCreated']
|
|
165
172
|
self.time_created = attributes[:'timeCreated']
|
|
166
173
|
end
|
|
@@ -193,6 +200,7 @@ module OCI
|
|
|
193
200
|
metadata == other_object.metadata &&
|
|
194
201
|
region == other_object.region &&
|
|
195
202
|
shape == other_object.shape &&
|
|
203
|
+
source_details == other_object.source_details &&
|
|
196
204
|
time_created == other_object.time_created
|
|
197
205
|
end
|
|
198
206
|
|
|
@@ -205,7 +213,7 @@ module OCI
|
|
|
205
213
|
# Calculates hash code according to all attributes.
|
|
206
214
|
# @return [Fixnum] Hash code
|
|
207
215
|
def hash
|
|
208
|
-
[availability_domain, compartment_id, display_name, extended_metadata, id, image_id, ipxe_script, lifecycle_state, metadata, region, shape, time_created].hash
|
|
216
|
+
[availability_domain, compartment_id, display_name, extended_metadata, id, image_id, ipxe_script, lifecycle_state, metadata, region, shape, source_details, time_created].hash
|
|
209
217
|
end
|
|
210
218
|
|
|
211
219
|
# Builds the object from hash
|
|
@@ -218,10 +226,10 @@ module OCI
|
|
|
218
226
|
# check to ensure the input is an array given that the the attribute
|
|
219
227
|
# is documented as an array but the input is not
|
|
220
228
|
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
|
221
|
-
self.
|
|
229
|
+
self.public_send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
|
|
222
230
|
end
|
|
223
231
|
elsif !attributes[self.class.attribute_map[key]].nil?
|
|
224
|
-
self.
|
|
232
|
+
self.public_send("#{key}=", OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
|
|
225
233
|
end # or else data not found in attributes(hash), not an issue as the data can be optional
|
|
226
234
|
end
|
|
227
235
|
|
|
@@ -239,7 +247,7 @@ module OCI
|
|
|
239
247
|
def to_hash
|
|
240
248
|
hash = {}
|
|
241
249
|
self.class.attribute_map.each_pair do |attr, param|
|
|
242
|
-
value =
|
|
250
|
+
value = public_send(attr)
|
|
243
251
|
next if value.nil? && !instance_variable_defined?("@#{attr}")
|
|
244
252
|
hash[param] = _to_hash(value)
|
|
245
253
|
end
|
|
@@ -282,6 +290,7 @@ module OCI
|
|
|
282
290
|
:'metadata' => :'metadata',
|
|
283
291
|
:'region' => :'region',
|
|
284
292
|
:'shape' => :'shape',
|
|
293
|
+
:'source_details' => :'sourceDetails',
|
|
285
294
|
:'time_created' => :'timeCreated'
|
|
286
295
|
}
|
|
287
296
|
end
|
|
@@ -300,6 +309,7 @@ module OCI
|
|
|
300
309
|
:'metadata' => :'Hash<String, String>',
|
|
301
310
|
:'region' => :'String',
|
|
302
311
|
:'shape' => :'String',
|
|
312
|
+
:'source_details' => :'OCI::Core::Models::InstanceSourceDetails',
|
|
303
313
|
:'time_created' => :'DateTime'
|
|
304
314
|
}
|
|
305
315
|
end
|
|
@@ -12,27 +12,27 @@ module OCI
|
|
|
12
12
|
LIFECYCLE_STATE_FAILED = 'FAILED',
|
|
13
13
|
LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE']
|
|
14
14
|
|
|
15
|
-
# The OCID of the compartment to contain the
|
|
15
|
+
# The OCID of the compartment to contain the console connection.
|
|
16
16
|
# @return [String]
|
|
17
17
|
attr_accessor :compartment_id
|
|
18
18
|
|
|
19
|
-
# The SSH connection string for the
|
|
19
|
+
# The SSH connection string for the console connection.
|
|
20
20
|
# @return [String]
|
|
21
21
|
attr_accessor :connection_string
|
|
22
22
|
|
|
23
|
-
# The SSH public key fingerprint for the
|
|
23
|
+
# The SSH public key fingerprint for the console connection.
|
|
24
24
|
# @return [String]
|
|
25
25
|
attr_accessor :fingerprint
|
|
26
26
|
|
|
27
|
-
# The OCID of the
|
|
27
|
+
# The OCID of the console connection.
|
|
28
28
|
# @return [String]
|
|
29
29
|
attr_accessor :id
|
|
30
30
|
|
|
31
|
-
# The OCID of the instance the
|
|
31
|
+
# The OCID of the instance the console connection connects to.
|
|
32
32
|
# @return [String]
|
|
33
33
|
attr_accessor :instance_id
|
|
34
34
|
|
|
35
|
-
# The current state of the
|
|
35
|
+
# The current state of the console connection.
|
|
36
36
|
# @return [String]
|
|
37
37
|
attr_accessor :lifecycle_state
|
|
38
38
|
|
|
@@ -116,10 +116,10 @@ module OCI
|
|
|
116
116
|
# check to ensure the input is an array given that the the attribute
|
|
117
117
|
# is documented as an array but the input is not
|
|
118
118
|
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
|
119
|
-
self.
|
|
119
|
+
self.public_send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
|
|
120
120
|
end
|
|
121
121
|
elsif !attributes[self.class.attribute_map[key]].nil?
|
|
122
|
-
self.
|
|
122
|
+
self.public_send("#{key}=", OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
|
|
123
123
|
end # or else data not found in attributes(hash), not an issue as the data can be optional
|
|
124
124
|
end
|
|
125
125
|
|
|
@@ -137,7 +137,7 @@ module OCI
|
|
|
137
137
|
def to_hash
|
|
138
138
|
hash = {}
|
|
139
139
|
self.class.attribute_map.each_pair do |attr, param|
|
|
140
|
-
value =
|
|
140
|
+
value = public_send(attr)
|
|
141
141
|
next if value.nil? && !instance_variable_defined?("@#{attr}")
|
|
142
142
|
hash[param] = _to_hash(value)
|
|
143
143
|
end
|
|
@@ -62,10 +62,10 @@ module OCI
|
|
|
62
62
|
# check to ensure the input is an array given that the the attribute
|
|
63
63
|
# is documented as an array but the input is not
|
|
64
64
|
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
|
65
|
-
self.
|
|
65
|
+
self.public_send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
|
|
66
66
|
end
|
|
67
67
|
elsif !attributes[self.class.attribute_map[key]].nil?
|
|
68
|
-
self.
|
|
68
|
+
self.public_send("#{key}=", OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
|
|
69
69
|
end # or else data not found in attributes(hash), not an issue as the data can be optional
|
|
70
70
|
end
|
|
71
71
|
|
|
@@ -83,7 +83,7 @@ module OCI
|
|
|
83
83
|
def to_hash
|
|
84
84
|
hash = {}
|
|
85
85
|
self.class.attribute_map.each_pair do |attr, param|
|
|
86
|
-
value =
|
|
86
|
+
value = public_send(attr)
|
|
87
87
|
next if value.nil? && !instance_variable_defined?("@#{attr}")
|
|
88
88
|
hash[param] = _to_hash(value)
|
|
89
89
|
end
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
# Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
|
|
2
|
+
|
|
3
|
+
require 'date'
|
|
4
|
+
|
|
5
|
+
module OCI
|
|
6
|
+
class Core::Models::InstanceSourceDetails
|
|
7
|
+
# The source type for the instance.
|
|
8
|
+
# Use `image` when specifying the image OCID. Use `bootVolume` when specifying
|
|
9
|
+
# the boot volume OCID.
|
|
10
|
+
#
|
|
11
|
+
# @return [String]
|
|
12
|
+
attr_accessor :source_type
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
# Given the hash representation of a subtype of this class,
|
|
16
|
+
# use the info in the hash to return the class of the subtype.
|
|
17
|
+
def self.get_subtype(object_hash)
|
|
18
|
+
type = object_hash[:'sourceType']
|
|
19
|
+
|
|
20
|
+
return 'OCI::Core::Models::InstanceSourceViaImageDetails' if type == 'image'
|
|
21
|
+
return 'OCI::Core::Models::InstanceSourceViaBootVolumeDetails' if type == 'bootVolume'
|
|
22
|
+
|
|
23
|
+
# TODO: Log a warning when the subtype is not found.
|
|
24
|
+
return 'OCI::Core::Models::InstanceSourceDetails'
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
# Initializes the object
|
|
28
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
|
29
|
+
def initialize(attributes = {})
|
|
30
|
+
return unless attributes.is_a?(Hash)
|
|
31
|
+
|
|
32
|
+
# convert string to symbol for hash key
|
|
33
|
+
attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
|
|
34
|
+
|
|
35
|
+
if attributes[:'sourceType']
|
|
36
|
+
self.source_type = attributes[:'sourceType']
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
# Checks equality by comparing each attribute.
|
|
42
|
+
# @param [Object] other_object to be compared
|
|
43
|
+
def ==(other_object)
|
|
44
|
+
return true if self.equal?(other_object)
|
|
45
|
+
self.class == other_object.class &&
|
|
46
|
+
source_type == other_object.source_type
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
# @see the `==` method
|
|
50
|
+
# @param [Object] other_object to be compared
|
|
51
|
+
def eql?(other_object)
|
|
52
|
+
self == other_object
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
# Calculates hash code according to all attributes.
|
|
56
|
+
# @return [Fixnum] Hash code
|
|
57
|
+
def hash
|
|
58
|
+
[source_type].hash
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
# Builds the object from hash
|
|
62
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
|
63
|
+
# @return [Object] Returns the model itself
|
|
64
|
+
def build_from_hash(attributes)
|
|
65
|
+
return nil unless attributes.is_a?(Hash)
|
|
66
|
+
self.class.swagger_types.each_pair do |key, type|
|
|
67
|
+
if type =~ /^Array<(.*)>/i
|
|
68
|
+
# check to ensure the input is an array given that the the attribute
|
|
69
|
+
# is documented as an array but the input is not
|
|
70
|
+
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
|
71
|
+
self.public_send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
|
|
72
|
+
end
|
|
73
|
+
elsif !attributes[self.class.attribute_map[key]].nil?
|
|
74
|
+
self.public_send("#{key}=", OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
|
|
75
|
+
end # or else data not found in attributes(hash), not an issue as the data can be optional
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
self
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
# Returns the string representation of the object
|
|
82
|
+
# @return [String] String presentation of the object
|
|
83
|
+
def to_s
|
|
84
|
+
to_hash.to_s
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
# Returns the object in the form of hash
|
|
88
|
+
# @return [Hash] Returns the object in the form of hash
|
|
89
|
+
def to_hash
|
|
90
|
+
hash = {}
|
|
91
|
+
self.class.attribute_map.each_pair do |attr, param|
|
|
92
|
+
value = public_send(attr)
|
|
93
|
+
next if value.nil? && !instance_variable_defined?("@#{attr}")
|
|
94
|
+
hash[param] = _to_hash(value)
|
|
95
|
+
end
|
|
96
|
+
hash
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
private
|
|
100
|
+
|
|
101
|
+
# Outputs non-array value in the form of hash
|
|
102
|
+
# For object, use to_hash. Otherwise, just return the value
|
|
103
|
+
# @param [Object] value Any valid value
|
|
104
|
+
# @return [Hash] Returns the value in the form of hash
|
|
105
|
+
def _to_hash(value)
|
|
106
|
+
if value.is_a?(Array)
|
|
107
|
+
value.compact.map{ |v| _to_hash(v) }
|
|
108
|
+
elsif value.is_a?(Hash)
|
|
109
|
+
{}.tap do |hash|
|
|
110
|
+
value.each { |k, v| hash[k] = _to_hash(v) }
|
|
111
|
+
end
|
|
112
|
+
elsif value.respond_to? :to_hash
|
|
113
|
+
value.to_hash
|
|
114
|
+
else
|
|
115
|
+
value
|
|
116
|
+
end
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
# Attribute mapping from ruby-style variable name to JSON key.
|
|
122
|
+
def self.attribute_map
|
|
123
|
+
{
|
|
124
|
+
:'source_type' => :'sourceType'
|
|
125
|
+
}
|
|
126
|
+
end
|
|
127
|
+
|
|
128
|
+
# Attribute type mapping.
|
|
129
|
+
def self.swagger_types
|
|
130
|
+
{
|
|
131
|
+
:'source_type' => :'String'
|
|
132
|
+
}
|
|
133
|
+
end
|
|
134
|
+
end
|
|
135
|
+
end
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
# Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
|
|
2
|
+
|
|
3
|
+
require 'date'
|
|
4
|
+
require_relative 'instance_source_details'
|
|
5
|
+
|
|
6
|
+
module OCI
|
|
7
|
+
class Core::Models::InstanceSourceViaBootVolumeDetails < Core::Models::InstanceSourceDetails
|
|
8
|
+
# The OCID of the boot volume used to boot the instance.
|
|
9
|
+
# @return [String]
|
|
10
|
+
attr_accessor :boot_volume_id
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
# Initializes the object
|
|
14
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
|
15
|
+
def initialize(attributes = {})
|
|
16
|
+
return unless attributes.is_a?(Hash)
|
|
17
|
+
|
|
18
|
+
attributes['sourceType'] = 'bootVolume'
|
|
19
|
+
|
|
20
|
+
super(attributes)
|
|
21
|
+
|
|
22
|
+
# convert string to symbol for hash key
|
|
23
|
+
attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
|
|
24
|
+
|
|
25
|
+
if attributes[:'bootVolumeId']
|
|
26
|
+
self.boot_volume_id = attributes[:'bootVolumeId']
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
# Checks equality by comparing each attribute.
|
|
32
|
+
# @param [Object] other_object to be compared
|
|
33
|
+
def ==(other_object)
|
|
34
|
+
return true if self.equal?(other_object)
|
|
35
|
+
self.class == other_object.class &&
|
|
36
|
+
source_type == other_object.source_type &&
|
|
37
|
+
boot_volume_id == other_object.boot_volume_id
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
# @see the `==` method
|
|
41
|
+
# @param [Object] other_object to be compared
|
|
42
|
+
def eql?(other_object)
|
|
43
|
+
self == other_object
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
# Calculates hash code according to all attributes.
|
|
47
|
+
# @return [Fixnum] Hash code
|
|
48
|
+
def hash
|
|
49
|
+
[source_type, boot_volume_id].hash
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
# Builds the object from hash
|
|
53
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
|
54
|
+
# @return [Object] Returns the model itself
|
|
55
|
+
def build_from_hash(attributes)
|
|
56
|
+
return nil unless attributes.is_a?(Hash)
|
|
57
|
+
self.class.swagger_types.each_pair do |key, type|
|
|
58
|
+
if type =~ /^Array<(.*)>/i
|
|
59
|
+
# check to ensure the input is an array given that the the attribute
|
|
60
|
+
# is documented as an array but the input is not
|
|
61
|
+
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
|
62
|
+
self.public_send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
|
|
63
|
+
end
|
|
64
|
+
elsif !attributes[self.class.attribute_map[key]].nil?
|
|
65
|
+
self.public_send("#{key}=", OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
|
|
66
|
+
end # or else data not found in attributes(hash), not an issue as the data can be optional
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
self
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
# Returns the string representation of the object
|
|
73
|
+
# @return [String] String presentation of the object
|
|
74
|
+
def to_s
|
|
75
|
+
to_hash.to_s
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
# Returns the object in the form of hash
|
|
79
|
+
# @return [Hash] Returns the object in the form of hash
|
|
80
|
+
def to_hash
|
|
81
|
+
hash = {}
|
|
82
|
+
self.class.attribute_map.each_pair do |attr, param|
|
|
83
|
+
value = public_send(attr)
|
|
84
|
+
next if value.nil? && !instance_variable_defined?("@#{attr}")
|
|
85
|
+
hash[param] = _to_hash(value)
|
|
86
|
+
end
|
|
87
|
+
hash
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
private
|
|
91
|
+
|
|
92
|
+
# Outputs non-array value in the form of hash
|
|
93
|
+
# For object, use to_hash. Otherwise, just return the value
|
|
94
|
+
# @param [Object] value Any valid value
|
|
95
|
+
# @return [Hash] Returns the value in the form of hash
|
|
96
|
+
def _to_hash(value)
|
|
97
|
+
if value.is_a?(Array)
|
|
98
|
+
value.compact.map{ |v| _to_hash(v) }
|
|
99
|
+
elsif value.is_a?(Hash)
|
|
100
|
+
{}.tap do |hash|
|
|
101
|
+
value.each { |k, v| hash[k] = _to_hash(v) }
|
|
102
|
+
end
|
|
103
|
+
elsif value.respond_to? :to_hash
|
|
104
|
+
value.to_hash
|
|
105
|
+
else
|
|
106
|
+
value
|
|
107
|
+
end
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
# Attribute mapping from ruby-style variable name to JSON key.
|
|
113
|
+
def self.attribute_map
|
|
114
|
+
{
|
|
115
|
+
:'source_type' => :'sourceType',
|
|
116
|
+
:'boot_volume_id' => :'bootVolumeId'
|
|
117
|
+
}
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
# Attribute type mapping.
|
|
121
|
+
def self.swagger_types
|
|
122
|
+
{
|
|
123
|
+
:'source_type' => :'String',
|
|
124
|
+
:'boot_volume_id' => :'String'
|
|
125
|
+
}
|
|
126
|
+
end
|
|
127
|
+
end
|
|
128
|
+
end
|