oci 2.5.1 → 2.5.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +17 -2
- data/lib/oci.rb +1 -0
- data/lib/oci/autoscaling/auto_scaling_client.rb +5 -5
- data/lib/oci/autoscaling/models/auto_scaling_configuration.rb +2 -2
- data/lib/oci/autoscaling/models/create_auto_scaling_configuration_details.rb +2 -2
- data/lib/oci/autoscaling/models/update_auto_scaling_configuration_details.rb +2 -2
- data/lib/oci/budget/budget.rb +33 -0
- data/lib/oci/budget/budget_client.rb +767 -0
- data/lib/oci/budget/budget_client_composite_operations.rb +224 -0
- data/lib/oci/budget/models/alert_rule.rb +398 -0
- data/lib/oci/budget/models/alert_rule_summary.rb +396 -0
- data/lib/oci/budget/models/alert_type.rb +10 -0
- data/lib/oci/budget/models/budget.rb +413 -0
- data/lib/oci/budget/models/budget_summary.rb +413 -0
- data/lib/oci/budget/models/create_alert_rule_details.rb +288 -0
- data/lib/oci/budget/models/create_budget_details.rb +267 -0
- data/lib/oci/budget/models/lifecycle_state.rb +10 -0
- data/lib/oci/budget/models/reset_period.rb +9 -0
- data/lib/oci/budget/models/sort_by.rb +10 -0
- data/lib/oci/budget/models/sort_order.rb +10 -0
- data/lib/oci/budget/models/threshold_type.rb +10 -0
- data/lib/oci/budget/models/update_alert_rule_details.rb +288 -0
- data/lib/oci/budget/models/update_budget_details.rb +239 -0
- data/lib/oci/budget/util.rb +2 -0
- data/lib/oci/core/blockstorage_client.rb +35 -35
- data/lib/oci/core/compute_client.rb +41 -41
- data/lib/oci/core/compute_management_client.rb +6 -6
- data/lib/oci/core/models/app_catalog_listing_resource_version.rb +1 -1
- data/lib/oci/core/models/attach_vnic_details.rb +1 -1
- data/lib/oci/core/models/boot_volume.rb +4 -4
- data/lib/oci/core/models/boot_volume_backup.rb +4 -4
- data/lib/oci/core/models/capture_console_history_details.rb +2 -2
- data/lib/oci/core/models/console_history.rb +2 -2
- data/lib/oci/core/models/cpe.rb +4 -4
- data/lib/oci/core/models/create_boot_volume_backup_details.rb +2 -2
- data/lib/oci/core/models/create_boot_volume_details.rb +2 -2
- data/lib/oci/core/models/create_cpe_details.rb +2 -2
- data/lib/oci/core/models/create_dhcp_details.rb +2 -2
- data/lib/oci/core/models/create_drg_attachment_details.rb +1 -1
- data/lib/oci/core/models/create_drg_details.rb +2 -2
- data/lib/oci/core/models/create_image_details.rb +2 -2
- data/lib/oci/core/models/create_instance_configuration_details.rb +2 -2
- data/lib/oci/core/models/create_instance_console_connection_details.rb +2 -2
- data/lib/oci/core/models/create_instance_pool_details.rb +2 -2
- data/lib/oci/core/models/create_internet_gateway_details.rb +2 -2
- data/lib/oci/core/models/create_ip_sec_connection_details.rb +2 -2
- data/lib/oci/core/models/create_local_peering_gateway_details.rb +3 -3
- data/lib/oci/core/models/create_nat_gateway_details.rb +4 -4
- data/lib/oci/core/models/create_private_ip_details.rb +3 -3
- data/lib/oci/core/models/create_public_ip_details.rb +3 -3
- data/lib/oci/core/models/create_route_table_details.rb +2 -2
- data/lib/oci/core/models/create_security_list_details.rb +2 -2
- data/lib/oci/core/models/create_service_gateway_details.rb +4 -4
- 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_vnic_details.rb +7 -7
- data/lib/oci/core/models/create_volume_backup_details.rb +2 -2
- data/lib/oci/core/models/create_volume_details.rb +2 -2
- data/lib/oci/core/models/create_volume_group_backup_details.rb +2 -2
- data/lib/oci/core/models/create_volume_group_details.rb +2 -2
- data/lib/oci/core/models/cross_connect.rb +2 -2
- data/lib/oci/core/models/cross_connect_group.rb +2 -2
- data/lib/oci/core/models/dhcp_dns_option.rb +2 -2
- data/lib/oci/core/models/dhcp_option.rb +2 -2
- data/lib/oci/core/models/dhcp_options.rb +5 -5
- data/lib/oci/core/models/dhcp_search_domain_option.rb +1 -1
- data/lib/oci/core/models/drg.rb +4 -4
- data/lib/oci/core/models/drg_attachment.rb +2 -2
- data/lib/oci/core/models/export_image_via_object_storage_uri_details.rb +2 -2
- data/lib/oci/core/models/fast_connect_provider_service.rb +1 -1
- data/lib/oci/core/models/image.rb +4 -4
- data/lib/oci/core/models/instance.rb +5 -5
- data/lib/oci/core/models/instance_configuration.rb +2 -2
- data/lib/oci/core/models/instance_configuration_attach_vnic_details.rb +1 -1
- data/lib/oci/core/models/instance_configuration_create_volume_details.rb +2 -2
- data/lib/oci/core/models/instance_configuration_launch_instance_details.rb +3 -3
- data/lib/oci/core/models/instance_console_connection.rb +3 -3
- data/lib/oci/core/models/instance_pool.rb +2 -2
- data/lib/oci/core/models/internet_gateway.rb +4 -4
- data/lib/oci/core/models/ip_sec_connection.rb +4 -4
- data/lib/oci/core/models/launch_instance_details.rb +3 -3
- data/lib/oci/core/models/local_peering_gateway.rb +5 -5
- data/lib/oci/core/models/nat_gateway.rb +7 -7
- data/lib/oci/core/models/peer_region_for_remote_peering.rb +1 -1
- data/lib/oci/core/models/private_ip.rb +5 -5
- data/lib/oci/core/models/public_ip.rb +4 -4
- data/lib/oci/core/models/remote_peering_connection.rb +2 -2
- data/lib/oci/core/models/route_rule.rb +1 -1
- data/lib/oci/core/models/route_table.rb +4 -4
- data/lib/oci/core/models/security_list.rb +4 -4
- data/lib/oci/core/models/service.rb +1 -1
- data/lib/oci/core/models/service_gateway.rb +7 -7
- data/lib/oci/core/models/service_id_request_details.rb +1 -1
- data/lib/oci/core/models/service_id_response_details.rb +1 -1
- data/lib/oci/core/models/shape.rb +1 -1
- data/lib/oci/core/models/subnet.rb +7 -7
- data/lib/oci/core/models/update_boot_volume_backup_details.rb +2 -2
- data/lib/oci/core/models/update_boot_volume_details.rb +2 -2
- data/lib/oci/core/models/update_console_history_details.rb +2 -2
- data/lib/oci/core/models/update_cpe_details.rb +2 -2
- data/lib/oci/core/models/update_dhcp_details.rb +2 -2
- data/lib/oci/core/models/update_drg_attachment_details.rb +1 -1
- data/lib/oci/core/models/update_drg_details.rb +2 -2
- data/lib/oci/core/models/update_image_details.rb +2 -2
- data/lib/oci/core/models/update_instance_configuration_details.rb +2 -2
- data/lib/oci/core/models/update_instance_details.rb +2 -2
- data/lib/oci/core/models/update_instance_pool_details.rb +2 -2
- data/lib/oci/core/models/update_internet_gateway_details.rb +2 -2
- data/lib/oci/core/models/update_ip_sec_connection_details.rb +2 -2
- data/lib/oci/core/models/update_local_peering_gateway_details.rb +3 -3
- data/lib/oci/core/models/update_nat_gateway_details.rb +2 -2
- data/lib/oci/core/models/update_private_ip_details.rb +3 -3
- data/lib/oci/core/models/update_public_ip_details.rb +2 -2
- data/lib/oci/core/models/update_route_table_details.rb +2 -2
- data/lib/oci/core/models/update_security_list_details.rb +2 -2
- data/lib/oci/core/models/update_service_gateway_details.rb +2 -2
- data/lib/oci/core/models/update_subnet_details.rb +2 -2
- data/lib/oci/core/models/update_vcn_details.rb +2 -2
- data/lib/oci/core/models/update_vnic_details.rb +4 -4
- data/lib/oci/core/models/update_volume_backup_details.rb +2 -2
- data/lib/oci/core/models/update_volume_details.rb +2 -2
- data/lib/oci/core/models/update_volume_group_backup_details.rb +2 -2
- data/lib/oci/core/models/update_volume_group_details.rb +2 -2
- data/lib/oci/core/models/vcn.rb +6 -6
- data/lib/oci/core/models/virtual_circuit.rb +4 -4
- data/lib/oci/core/models/virtual_circuit_public_prefix.rb +1 -1
- data/lib/oci/core/models/vnic.rb +7 -7
- data/lib/oci/core/models/vnic_attachment.rb +2 -2
- data/lib/oci/core/models/volume.rb +4 -4
- data/lib/oci/core/models/volume_attachment.rb +1 -1
- data/lib/oci/core/models/volume_backup.rb +4 -4
- data/lib/oci/core/models/volume_group.rb +3 -3
- data/lib/oci/core/models/volume_group_backup.rb +4 -4
- data/lib/oci/core/virtual_network_client.rb +121 -121
- data/lib/oci/core/virtual_network_client_composite_operations.rb +6 -6
- data/lib/oci/database/database.rb +4 -0
- data/lib/oci/database/database_client.rb +202 -78
- data/lib/oci/database/database_client_composite_operations.rb +65 -25
- data/lib/oci/database/models/autonomous_data_warehouse.rb +4 -4
- data/lib/oci/database/models/autonomous_data_warehouse_backup.rb +3 -3
- data/lib/oci/database/models/autonomous_data_warehouse_backup_summary.rb +4 -4
- data/lib/oci/database/models/autonomous_data_warehouse_summary.rb +4 -4
- data/lib/oci/database/models/autonomous_database.rb +43 -8
- data/lib/oci/database/models/autonomous_database_backup.rb +3 -3
- data/lib/oci/database/models/autonomous_database_backup_summary.rb +4 -4
- data/lib/oci/database/models/autonomous_database_summary.rb +43 -8
- data/lib/oci/database/models/backup.rb +3 -3
- data/lib/oci/database/models/backup_summary.rb +4 -4
- data/lib/oci/database/models/create_autonomous_data_warehouse_backup_details.rb +1 -1
- data/lib/oci/database/models/create_autonomous_data_warehouse_details.rb +3 -3
- data/lib/oci/database/models/create_autonomous_database_backup_details.rb +1 -1
- data/lib/oci/database/models/create_autonomous_database_details.rb +33 -4
- data/lib/oci/database/models/create_backup_details.rb +1 -1
- data/lib/oci/database/models/create_data_guard_association_to_existing_db_system_details.rb +1 -1
- data/lib/oci/database/models/create_data_guard_association_with_new_db_system_details.rb +1 -1
- data/lib/oci/database/models/create_database_details.rb +2 -2
- data/lib/oci/database/models/create_database_from_backup_details.rb +1 -1
- data/lib/oci/database/models/create_db_home_with_db_system_id_base.rb +1 -1
- data/lib/oci/database/models/create_external_backup_job_details.rb +1 -1
- data/lib/oci/database/models/data_guard_association.rb +6 -6
- data/lib/oci/database/models/data_guard_association_summary.rb +9 -9
- data/lib/oci/database/models/database.rb +5 -5
- data/lib/oci/database/models/database_summary.rb +7 -7
- data/lib/oci/database/models/db_backup_config.rb +1 -1
- data/lib/oci/database/models/db_home.rb +4 -4
- data/lib/oci/database/models/db_home_summary.rb +6 -6
- data/lib/oci/database/models/db_iorm_config.rb +181 -0
- data/lib/oci/database/models/db_iorm_config_update_detail.rb +166 -0
- data/lib/oci/database/models/db_node.rb +4 -4
- data/lib/oci/database/models/db_node_summary.rb +5 -5
- data/lib/oci/database/models/db_system.rb +41 -11
- data/lib/oci/database/models/db_system_shape_summary.rb +2 -2
- data/lib/oci/database/models/db_system_summary.rb +30 -16
- data/lib/oci/database/models/db_version_summary.rb +1 -1
- data/lib/oci/database/models/exadata_iorm_config.rb +247 -0
- data/lib/oci/database/models/exadata_iorm_config_update_details.rb +186 -0
- data/lib/oci/database/models/external_backup_job.rb +2 -2
- data/lib/oci/database/models/launch_db_system_base.rb +24 -10
- data/lib/oci/database/models/launch_db_system_details.rb +5 -1
- data/lib/oci/database/models/launch_db_system_from_backup_details.rb +5 -1
- data/lib/oci/database/models/patch.rb +1 -1
- data/lib/oci/database/models/patch_details.rb +1 -1
- data/lib/oci/database/models/patch_history_entry.rb +2 -2
- data/lib/oci/database/models/patch_history_entry_summary.rb +2 -2
- data/lib/oci/database/models/patch_summary.rb +2 -2
- data/lib/oci/database/models/update_autonomous_data_warehouse_details.rb +2 -2
- data/lib/oci/database/models/update_autonomous_database_details.rb +2 -2
- data/lib/oci/database/models/update_database_details.rb +2 -2
- data/lib/oci/database/models/update_db_system_details.rb +2 -2
- data/lib/oci/dns/dns_client.rb +1 -1
- data/lib/oci/dns/models/create_steering_policy_details.rb +1 -1
- data/lib/oci/dns/models/create_zone_details.rb +1 -1
- data/lib/oci/dns/models/record.rb +1 -1
- data/lib/oci/dns/models/record_details.rb +1 -1
- data/lib/oci/dns/models/record_operation.rb +1 -1
- data/lib/oci/dns/models/steering_policy.rb +1 -1
- data/lib/oci/dns/models/steering_policy_summary.rb +1 -1
- data/lib/oci/dns/models/update_steering_policy_details.rb +1 -1
- data/lib/oci/dns/models/update_zone_details.rb +1 -1
- data/lib/oci/dns/models/zone.rb +1 -1
- data/lib/oci/dns/models/zone_summary.rb +1 -1
- data/lib/oci/email/email_client.rb +3 -3
- data/lib/oci/email/models/create_sender_details.rb +2 -2
- data/lib/oci/email/models/sender.rb +2 -2
- data/lib/oci/email/models/sender_summary.rb +2 -2
- data/lib/oci/email/models/update_sender_details.rb +2 -2
- data/lib/oci/file_storage/file_storage_client.rb +14 -14
- data/lib/oci/file_storage/models/create_file_system_details.rb +2 -2
- data/lib/oci/file_storage/models/create_mount_target_details.rb +3 -3
- data/lib/oci/file_storage/models/create_snapshot_details.rb +2 -2
- data/lib/oci/file_storage/models/export.rb +1 -1
- data/lib/oci/file_storage/models/file_system.rb +3 -3
- data/lib/oci/file_storage/models/mount_target.rb +2 -2
- data/lib/oci/file_storage/models/snapshot.rb +2 -2
- data/lib/oci/file_storage/models/update_file_system_details.rb +2 -2
- data/lib/oci/file_storage/models/update_mount_target_details.rb +2 -2
- data/lib/oci/file_storage/models/update_snapshot_details.rb +2 -2
- data/lib/oci/healthchecks/models/create_http_monitor_details.rb +2 -2
- data/lib/oci/healthchecks/models/create_ping_monitor_details.rb +2 -2
- data/lib/oci/healthchecks/models/http_monitor.rb +2 -2
- data/lib/oci/healthchecks/models/http_monitor_summary.rb +2 -2
- data/lib/oci/healthchecks/models/ping_monitor.rb +2 -2
- data/lib/oci/healthchecks/models/ping_monitor_summary.rb +2 -2
- data/lib/oci/healthchecks/models/update_http_monitor_details.rb +2 -2
- data/lib/oci/healthchecks/models/update_ping_monitor_details.rb +2 -2
- data/lib/oci/identity/identity.rb +7 -0
- data/lib/oci/identity/identity_client.rb +461 -36
- data/lib/oci/identity/identity_client_composite_operations.rb +119 -0
- data/lib/oci/identity/models/api_key.rb +2 -2
- data/lib/oci/identity/models/auth_token.rb +1 -1
- data/lib/oci/identity/models/authentication_policy.rb +168 -0
- data/lib/oci/identity/models/availability_domain.rb +1 -1
- data/lib/oci/identity/models/compartment.rb +5 -5
- data/lib/oci/identity/models/create_compartment_details.rb +2 -2
- data/lib/oci/identity/models/create_dynamic_group_details.rb +1 -1
- data/lib/oci/identity/models/create_group_details.rb +2 -2
- data/lib/oci/identity/models/create_identity_provider_details.rb +2 -2
- data/lib/oci/identity/models/create_policy_details.rb +4 -4
- data/lib/oci/identity/models/create_tag_default_details.rb +180 -0
- data/lib/oci/identity/models/create_tag_details.rb +2 -2
- data/lib/oci/identity/models/create_tag_namespace_details.rb +2 -2
- data/lib/oci/identity/models/create_user_details.rb +13 -3
- data/lib/oci/identity/models/customer_secret_key.rb +2 -2
- data/lib/oci/identity/models/dynamic_group.rb +2 -2
- data/lib/oci/identity/models/group.rb +5 -5
- data/lib/oci/identity/models/identity_provider.rb +4 -4
- data/lib/oci/identity/models/idp_group_mapping.rb +1 -1
- data/lib/oci/identity/models/mfa_totp_device.rb +20 -9
- data/lib/oci/identity/models/mfa_totp_device_summary.rb +7 -1
- data/lib/oci/identity/models/password_policy.rb +234 -0
- data/lib/oci/identity/models/policy.rb +4 -4
- data/lib/oci/identity/models/region.rb +2 -2
- data/lib/oci/identity/models/region_subscription.rb +2 -2
- data/lib/oci/identity/models/saml2_identity_provider.rb +1 -1
- data/lib/oci/identity/models/smtp_credential.rb +1 -1
- data/lib/oci/identity/models/smtp_credential_summary.rb +1 -1
- data/lib/oci/identity/models/swift_password.rb +1 -1
- data/lib/oci/identity/models/tag.rb +4 -4
- data/lib/oci/identity/models/tag_default.rb +280 -0
- data/lib/oci/identity/models/tag_default_summary.rb +274 -0
- data/lib/oci/identity/models/tag_namespace.rb +4 -4
- data/lib/oci/identity/models/tag_namespace_summary.rb +3 -3
- data/lib/oci/identity/models/tag_summary.rb +3 -3
- data/lib/oci/identity/models/tenancy.rb +4 -4
- data/lib/oci/identity/models/ui_password.rb +1 -1
- data/lib/oci/identity/models/update_authentication_policy_details.rb +154 -0
- data/lib/oci/identity/models/update_compartment_details.rb +2 -2
- data/lib/oci/identity/models/update_dynamic_group_details.rb +1 -1
- data/lib/oci/identity/models/update_group_details.rb +2 -2
- data/lib/oci/identity/models/update_identity_provider_details.rb +2 -2
- data/lib/oci/identity/models/update_policy_details.rb +4 -4
- data/lib/oci/identity/models/update_tag_default_details.rb +150 -0
- data/lib/oci/identity/models/update_tag_details.rb +3 -3
- data/lib/oci/identity/models/update_tag_namespace_details.rb +3 -3
- data/lib/oci/identity/models/update_user_details.rb +13 -3
- data/lib/oci/identity/models/user.rb +19 -7
- data/lib/oci/load_balancer/load_balancer_client.rb +64 -64
- data/lib/oci/load_balancer/load_balancer_client_composite_operations.rb +23 -23
- data/lib/oci/load_balancer/models/backend.rb +2 -2
- data/lib/oci/load_balancer/models/backend_details.rb +1 -1
- data/lib/oci/load_balancer/models/backend_set.rb +1 -1
- data/lib/oci/load_balancer/models/backend_set_details.rb +1 -1
- data/lib/oci/load_balancer/models/certificate.rb +1 -1
- data/lib/oci/load_balancer/models/certificate_details.rb +1 -1
- data/lib/oci/load_balancer/models/connection_configuration.rb +1 -1
- data/lib/oci/load_balancer/models/create_backend_details.rb +2 -2
- data/lib/oci/load_balancer/models/create_backend_set_details.rb +1 -1
- data/lib/oci/load_balancer/models/create_certificate_details.rb +1 -1
- data/lib/oci/load_balancer/models/create_hostname_details.rb +1 -1
- data/lib/oci/load_balancer/models/create_listener_details.rb +1 -1
- data/lib/oci/load_balancer/models/create_load_balancer_details.rb +6 -6
- data/lib/oci/load_balancer/models/health_check_result.rb +1 -1
- data/lib/oci/load_balancer/models/health_checker.rb +1 -1
- data/lib/oci/load_balancer/models/hostname.rb +1 -1
- data/lib/oci/load_balancer/models/hostname_details.rb +1 -1
- data/lib/oci/load_balancer/models/listener.rb +1 -1
- data/lib/oci/load_balancer/models/load_balancer.rb +11 -11
- data/lib/oci/load_balancer/models/load_balancer_health_summary.rb +1 -1
- data/lib/oci/load_balancer/models/load_balancer_policy.rb +1 -1
- data/lib/oci/load_balancer/models/path_match_type.rb +1 -1
- data/lib/oci/load_balancer/models/path_route_set.rb +1 -1
- data/lib/oci/load_balancer/models/session_persistence_configuration_details.rb +1 -1
- data/lib/oci/load_balancer/models/update_backend_details.rb +1 -1
- data/lib/oci/load_balancer/models/update_backend_set_details.rb +1 -1
- data/lib/oci/load_balancer/models/update_hostname_details.rb +2 -2
- data/lib/oci/load_balancer/models/update_load_balancer_details.rb +2 -2
- data/lib/oci/load_balancer/models/work_request.rb +3 -3
- data/lib/oci/monitoring/models/alarm.rb +10 -10
- data/lib/oci/monitoring/models/alarm_history_collection.rb +1 -1
- data/lib/oci/monitoring/models/alarm_status_summary.rb +5 -5
- data/lib/oci/monitoring/models/alarm_summary.rb +10 -10
- data/lib/oci/monitoring/models/create_alarm_details.rb +5 -5
- data/lib/oci/monitoring/models/metric.rb +2 -2
- data/lib/oci/monitoring/models/metric_data.rb +2 -2
- data/lib/oci/monitoring/models/metric_data_details.rb +1 -1
- data/lib/oci/monitoring/models/summarize_metrics_data_details.rb +2 -2
- data/lib/oci/monitoring/models/suppression.rb +1 -1
- data/lib/oci/monitoring/models/update_alarm_details.rb +5 -5
- data/lib/oci/monitoring/monitoring_client.rb +20 -20
- data/lib/oci/monitoring/monitoring_client_composite_operations.rb +2 -2
- data/lib/oci/object_storage/models/bucket.rb +4 -4
- data/lib/oci/object_storage/models/bucket_summary.rb +3 -3
- data/lib/oci/object_storage/models/commit_multipart_upload_details.rb +1 -1
- data/lib/oci/object_storage/models/commit_multipart_upload_part_details.rb +1 -1
- data/lib/oci/object_storage/models/copy_object_details.rb +1 -1
- data/lib/oci/object_storage/models/create_bucket_details.rb +3 -3
- data/lib/oci/object_storage/models/create_multipart_upload_details.rb +1 -1
- data/lib/oci/object_storage/models/list_objects.rb +1 -1
- data/lib/oci/object_storage/models/multipart_upload.rb +2 -2
- data/lib/oci/object_storage/models/multipart_upload_part_summary.rb +1 -1
- data/lib/oci/object_storage/models/object_lifecycle_policy.rb +1 -1
- data/lib/oci/object_storage/models/object_lifecycle_rule.rb +2 -2
- data/lib/oci/object_storage/models/object_summary.rb +1 -1
- data/lib/oci/object_storage/models/preauthenticated_request.rb +2 -2
- data/lib/oci/object_storage/models/rename_object_details.rb +1 -1
- data/lib/oci/object_storage/models/update_bucket_details.rb +3 -3
- data/lib/oci/object_storage/object_storage_client.rb +3 -3
- data/lib/oci/ons/models/confirmation_result.rb +2 -2
- data/lib/oci/ons/models/create_subscription_details.rb +4 -4
- data/lib/oci/ons/models/create_topic_details.rb +3 -3
- data/lib/oci/ons/models/notification_topic.rb +4 -4
- data/lib/oci/ons/models/notification_topic_summary.rb +4 -4
- data/lib/oci/ons/models/subscription.rb +3 -3
- data/lib/oci/ons/models/subscription_summary.rb +4 -4
- data/lib/oci/ons/models/topic_attributes_details.rb +2 -2
- data/lib/oci/ons/models/update_subscription_details.rb +2 -2
- data/lib/oci/ons/notification_control_plane_client.rb +9 -9
- data/lib/oci/ons/notification_data_plane_client.rb +10 -10
- data/lib/oci/ons/notification_data_plane_client_composite_operations.rb +1 -1
- data/lib/oci/regions.rb +1 -0
- data/lib/oci/resource_manager/models/create_job_details.rb +2 -2
- data/lib/oci/resource_manager/models/create_stack_details.rb +2 -2
- data/lib/oci/resource_manager/models/job.rb +2 -2
- data/lib/oci/resource_manager/models/job_summary.rb +2 -2
- data/lib/oci/resource_manager/models/stack.rb +2 -2
- data/lib/oci/resource_manager/models/stack_summary.rb +2 -2
- data/lib/oci/resource_manager/models/update_job_details.rb +2 -2
- data/lib/oci/resource_manager/models/update_stack_details.rb +2 -2
- data/lib/oci/resource_manager/resource_manager_client.rb +6 -6
- data/lib/oci/streaming/models/create_stream_details.rb +2 -2
- data/lib/oci/streaming/models/stream.rb +2 -2
- data/lib/oci/streaming/models/stream_summary.rb +2 -2
- data/lib/oci/streaming/models/update_stream_details.rb +2 -2
- data/lib/oci/version.rb +1 -1
- data/lib/oci/waas/models/certificate.rb +2 -2
- data/lib/oci/waas/models/certificate_summary.rb +2 -2
- data/lib/oci/waas/models/create_certificate_details.rb +1 -1
- data/lib/oci/waas/models/create_waas_policy_details.rb +1 -1
- data/lib/oci/waas/models/update_waas_policy_details.rb +1 -1
- data/lib/oci/waas/models/waas_policy.rb +2 -2
- data/lib/oci/waas/models/waas_policy_summary.rb +2 -2
- data/lib/oci/waas/models/work_request.rb +3 -3
- data/lib/oci/waas/models/work_request_resource.rb +1 -1
- data/lib/oci/waas/models/work_request_summary.rb +2 -2
- data/lib/oci/waas/waas_client.rb +53 -53
- data/lib/oci/waas/waas_client_composite_operations.rb +18 -18
- metadata +31 -2
@@ -0,0 +1,396 @@
|
|
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
|
7
|
+
module OCI
|
8
|
+
# The alert rule.
|
9
|
+
class Budget::Models::AlertRuleSummary # rubocop:disable Metrics/LineLength
|
10
|
+
TYPE_ENUM = [
|
11
|
+
TYPE_ACTUAL = 'ACTUAL'.freeze,
|
12
|
+
TYPE_FORECAST = 'FORECAST'.freeze,
|
13
|
+
TYPE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
|
14
|
+
].freeze
|
15
|
+
|
16
|
+
THRESHOLD_TYPE_ENUM = [
|
17
|
+
THRESHOLD_TYPE_PERCENTAGE = 'PERCENTAGE'.freeze,
|
18
|
+
THRESHOLD_TYPE_ABSOLUTE = 'ABSOLUTE'.freeze,
|
19
|
+
THRESHOLD_TYPE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
|
20
|
+
].freeze
|
21
|
+
|
22
|
+
LIFECYCLE_STATE_ENUM = [
|
23
|
+
LIFECYCLE_STATE_ACTIVE = 'ACTIVE'.freeze,
|
24
|
+
LIFECYCLE_STATE_INACTIVE = 'INACTIVE'.freeze,
|
25
|
+
LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
|
26
|
+
].freeze
|
27
|
+
|
28
|
+
# **[Required]** The OCID of the alert rule
|
29
|
+
# @return [String]
|
30
|
+
attr_accessor :id
|
31
|
+
|
32
|
+
# **[Required]** The OCID of the budget
|
33
|
+
# @return [String]
|
34
|
+
attr_accessor :budget_id
|
35
|
+
|
36
|
+
# **[Required]** The name of the alert rule.
|
37
|
+
# @return [String]
|
38
|
+
attr_accessor :display_name
|
39
|
+
|
40
|
+
# **[Required]** ACTUAL means the alert will trigger based on actual usage.
|
41
|
+
# FORECAST means the alert will trigger based on predicted usage.
|
42
|
+
#
|
43
|
+
# @return [String]
|
44
|
+
attr_reader :type
|
45
|
+
|
46
|
+
# **[Required]** The threshold for triggering the alert. If thresholdType is PERCENTAGE, the maximum value is 10000.
|
47
|
+
#
|
48
|
+
# @return [Float]
|
49
|
+
attr_accessor :threshold
|
50
|
+
|
51
|
+
# **[Required]** The type of threshold.
|
52
|
+
# @return [String]
|
53
|
+
attr_reader :threshold_type
|
54
|
+
|
55
|
+
# **[Required]** The current state of the alert rule.
|
56
|
+
# @return [String]
|
57
|
+
attr_reader :lifecycle_state
|
58
|
+
|
59
|
+
# Custom message that will be sent when alert is triggered
|
60
|
+
# @return [String]
|
61
|
+
attr_accessor :message
|
62
|
+
|
63
|
+
# The description of the alert rule.
|
64
|
+
# @return [String]
|
65
|
+
attr_accessor :description
|
66
|
+
|
67
|
+
# Version of the alert rule. Starts from 1 and increments by 1.
|
68
|
+
# @return [Integer]
|
69
|
+
attr_accessor :version
|
70
|
+
|
71
|
+
# **[Required]** The audience that will received the alert when it triggers.
|
72
|
+
# @return [String]
|
73
|
+
attr_accessor :recipients
|
74
|
+
|
75
|
+
# **[Required]** Time when budget was created
|
76
|
+
# @return [DateTime]
|
77
|
+
attr_accessor :time_created
|
78
|
+
|
79
|
+
# **[Required]** Time when budget was updated
|
80
|
+
# @return [DateTime]
|
81
|
+
attr_accessor :time_updated
|
82
|
+
|
83
|
+
# Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace.
|
84
|
+
# For more information, see [Resource Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
|
85
|
+
#
|
86
|
+
# Example: `{\"Department\": \"Finance\"}`
|
87
|
+
#
|
88
|
+
# @return [Hash<String, String>]
|
89
|
+
attr_accessor :freeform_tags
|
90
|
+
|
91
|
+
# Defined tags for this resource. Each key is predefined and scoped to a namespace.
|
92
|
+
# For more information, see [Resource Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
|
93
|
+
#
|
94
|
+
# Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`
|
95
|
+
#
|
96
|
+
# @return [Hash<String, Hash<String, Object>>]
|
97
|
+
attr_accessor :defined_tags
|
98
|
+
|
99
|
+
# Attribute mapping from ruby-style variable name to JSON key.
|
100
|
+
def self.attribute_map
|
101
|
+
{
|
102
|
+
# rubocop:disable Style/SymbolLiteral
|
103
|
+
'id': :'id',
|
104
|
+
'budget_id': :'budgetId',
|
105
|
+
'display_name': :'displayName',
|
106
|
+
'type': :'type',
|
107
|
+
'threshold': :'threshold',
|
108
|
+
'threshold_type': :'thresholdType',
|
109
|
+
'lifecycle_state': :'lifecycleState',
|
110
|
+
'message': :'message',
|
111
|
+
'description': :'description',
|
112
|
+
'version': :'version',
|
113
|
+
'recipients': :'recipients',
|
114
|
+
'time_created': :'timeCreated',
|
115
|
+
'time_updated': :'timeUpdated',
|
116
|
+
'freeform_tags': :'freeformTags',
|
117
|
+
'defined_tags': :'definedTags'
|
118
|
+
# rubocop:enable Style/SymbolLiteral
|
119
|
+
}
|
120
|
+
end
|
121
|
+
|
122
|
+
# Attribute type mapping.
|
123
|
+
def self.swagger_types
|
124
|
+
{
|
125
|
+
# rubocop:disable Style/SymbolLiteral
|
126
|
+
'id': :'String',
|
127
|
+
'budget_id': :'String',
|
128
|
+
'display_name': :'String',
|
129
|
+
'type': :'String',
|
130
|
+
'threshold': :'Float',
|
131
|
+
'threshold_type': :'String',
|
132
|
+
'lifecycle_state': :'String',
|
133
|
+
'message': :'String',
|
134
|
+
'description': :'String',
|
135
|
+
'version': :'Integer',
|
136
|
+
'recipients': :'String',
|
137
|
+
'time_created': :'DateTime',
|
138
|
+
'time_updated': :'DateTime',
|
139
|
+
'freeform_tags': :'Hash<String, String>',
|
140
|
+
'defined_tags': :'Hash<String, Hash<String, Object>>'
|
141
|
+
# rubocop:enable Style/SymbolLiteral
|
142
|
+
}
|
143
|
+
end
|
144
|
+
|
145
|
+
# rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
|
146
|
+
# rubocop:disable Metrics/LineLength, Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
|
147
|
+
|
148
|
+
|
149
|
+
# Initializes the object
|
150
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
151
|
+
# @option attributes [String] :id The value to assign to the {#id} property
|
152
|
+
# @option attributes [String] :budget_id The value to assign to the {#budget_id} property
|
153
|
+
# @option attributes [String] :display_name The value to assign to the {#display_name} property
|
154
|
+
# @option attributes [String] :type The value to assign to the {#type} property
|
155
|
+
# @option attributes [Float] :threshold The value to assign to the {#threshold} property
|
156
|
+
# @option attributes [String] :threshold_type The value to assign to the {#threshold_type} property
|
157
|
+
# @option attributes [String] :lifecycle_state The value to assign to the {#lifecycle_state} property
|
158
|
+
# @option attributes [String] :message The value to assign to the {#message} property
|
159
|
+
# @option attributes [String] :description The value to assign to the {#description} property
|
160
|
+
# @option attributes [Integer] :version The value to assign to the {#version} property
|
161
|
+
# @option attributes [String] :recipients The value to assign to the {#recipients} property
|
162
|
+
# @option attributes [DateTime] :time_created The value to assign to the {#time_created} property
|
163
|
+
# @option attributes [DateTime] :time_updated The value to assign to the {#time_updated} property
|
164
|
+
# @option attributes [Hash<String, String>] :freeform_tags The value to assign to the {#freeform_tags} property
|
165
|
+
# @option attributes [Hash<String, Hash<String, Object>>] :defined_tags The value to assign to the {#defined_tags} property
|
166
|
+
def initialize(attributes = {})
|
167
|
+
return unless attributes.is_a?(Hash)
|
168
|
+
|
169
|
+
# convert string to symbol for hash key
|
170
|
+
attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
|
171
|
+
|
172
|
+
self.id = attributes[:'id'] if attributes[:'id']
|
173
|
+
|
174
|
+
self.budget_id = attributes[:'budgetId'] if attributes[:'budgetId']
|
175
|
+
|
176
|
+
raise 'You cannot provide both :budgetId and :budget_id' if attributes.key?(:'budgetId') && attributes.key?(:'budget_id')
|
177
|
+
|
178
|
+
self.budget_id = attributes[:'budget_id'] if attributes[:'budget_id']
|
179
|
+
|
180
|
+
self.display_name = attributes[:'displayName'] if attributes[:'displayName']
|
181
|
+
|
182
|
+
raise 'You cannot provide both :displayName and :display_name' if attributes.key?(:'displayName') && attributes.key?(:'display_name')
|
183
|
+
|
184
|
+
self.display_name = attributes[:'display_name'] if attributes[:'display_name']
|
185
|
+
|
186
|
+
self.type = attributes[:'type'] if attributes[:'type']
|
187
|
+
|
188
|
+
self.threshold = attributes[:'threshold'] if attributes[:'threshold']
|
189
|
+
|
190
|
+
self.threshold_type = attributes[:'thresholdType'] if attributes[:'thresholdType']
|
191
|
+
|
192
|
+
raise 'You cannot provide both :thresholdType and :threshold_type' if attributes.key?(:'thresholdType') && attributes.key?(:'threshold_type')
|
193
|
+
|
194
|
+
self.threshold_type = attributes[:'threshold_type'] if attributes[:'threshold_type']
|
195
|
+
|
196
|
+
self.lifecycle_state = attributes[:'lifecycleState'] if attributes[:'lifecycleState']
|
197
|
+
|
198
|
+
raise 'You cannot provide both :lifecycleState and :lifecycle_state' if attributes.key?(:'lifecycleState') && attributes.key?(:'lifecycle_state')
|
199
|
+
|
200
|
+
self.lifecycle_state = attributes[:'lifecycle_state'] if attributes[:'lifecycle_state']
|
201
|
+
|
202
|
+
self.message = attributes[:'message'] if attributes[:'message']
|
203
|
+
|
204
|
+
self.description = attributes[:'description'] if attributes[:'description']
|
205
|
+
|
206
|
+
self.version = attributes[:'version'] if attributes[:'version']
|
207
|
+
|
208
|
+
self.recipients = attributes[:'recipients'] if attributes[:'recipients']
|
209
|
+
|
210
|
+
self.time_created = attributes[:'timeCreated'] if attributes[:'timeCreated']
|
211
|
+
|
212
|
+
raise 'You cannot provide both :timeCreated and :time_created' if attributes.key?(:'timeCreated') && attributes.key?(:'time_created')
|
213
|
+
|
214
|
+
self.time_created = attributes[:'time_created'] if attributes[:'time_created']
|
215
|
+
|
216
|
+
self.time_updated = attributes[:'timeUpdated'] if attributes[:'timeUpdated']
|
217
|
+
|
218
|
+
raise 'You cannot provide both :timeUpdated and :time_updated' if attributes.key?(:'timeUpdated') && attributes.key?(:'time_updated')
|
219
|
+
|
220
|
+
self.time_updated = attributes[:'time_updated'] if attributes[:'time_updated']
|
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.defined_tags = attributes[:'definedTags'] if attributes[:'definedTags']
|
229
|
+
|
230
|
+
raise 'You cannot provide both :definedTags and :defined_tags' if attributes.key?(:'definedTags') && attributes.key?(:'defined_tags')
|
231
|
+
|
232
|
+
self.defined_tags = attributes[:'defined_tags'] if attributes[:'defined_tags']
|
233
|
+
end
|
234
|
+
# rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
|
235
|
+
# rubocop:enable Metrics/LineLength, Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
|
236
|
+
|
237
|
+
# Custom attribute writer method checking allowed values (enum).
|
238
|
+
# @param [Object] type Object to be assigned
|
239
|
+
def type=(type)
|
240
|
+
# rubocop:disable Style/ConditionalAssignment
|
241
|
+
if type && !TYPE_ENUM.include?(type)
|
242
|
+
# rubocop: disable Metrics/LineLength
|
243
|
+
OCI.logger.debug("Unknown value for 'type' [" + type + "]. Mapping to 'TYPE_UNKNOWN_ENUM_VALUE'") if OCI.logger
|
244
|
+
# rubocop: enable Metrics/LineLength
|
245
|
+
@type = TYPE_UNKNOWN_ENUM_VALUE
|
246
|
+
else
|
247
|
+
@type = type
|
248
|
+
end
|
249
|
+
# rubocop:enable Style/ConditionalAssignment
|
250
|
+
end
|
251
|
+
|
252
|
+
# Custom attribute writer method checking allowed values (enum).
|
253
|
+
# @param [Object] threshold_type Object to be assigned
|
254
|
+
def threshold_type=(threshold_type)
|
255
|
+
# rubocop:disable Style/ConditionalAssignment
|
256
|
+
if threshold_type && !THRESHOLD_TYPE_ENUM.include?(threshold_type)
|
257
|
+
# rubocop: disable Metrics/LineLength
|
258
|
+
OCI.logger.debug("Unknown value for 'threshold_type' [" + threshold_type + "]. Mapping to 'THRESHOLD_TYPE_UNKNOWN_ENUM_VALUE'") if OCI.logger
|
259
|
+
# rubocop: enable Metrics/LineLength
|
260
|
+
@threshold_type = THRESHOLD_TYPE_UNKNOWN_ENUM_VALUE
|
261
|
+
else
|
262
|
+
@threshold_type = threshold_type
|
263
|
+
end
|
264
|
+
# rubocop:enable Style/ConditionalAssignment
|
265
|
+
end
|
266
|
+
|
267
|
+
# Custom attribute writer method checking allowed values (enum).
|
268
|
+
# @param [Object] lifecycle_state Object to be assigned
|
269
|
+
def lifecycle_state=(lifecycle_state)
|
270
|
+
# rubocop:disable Style/ConditionalAssignment
|
271
|
+
if lifecycle_state && !LIFECYCLE_STATE_ENUM.include?(lifecycle_state)
|
272
|
+
# rubocop: disable Metrics/LineLength
|
273
|
+
OCI.logger.debug("Unknown value for 'lifecycle_state' [" + lifecycle_state + "]. Mapping to 'LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE'") if OCI.logger
|
274
|
+
# rubocop: enable Metrics/LineLength
|
275
|
+
@lifecycle_state = LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE
|
276
|
+
else
|
277
|
+
@lifecycle_state = lifecycle_state
|
278
|
+
end
|
279
|
+
# rubocop:enable Style/ConditionalAssignment
|
280
|
+
end
|
281
|
+
|
282
|
+
# rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Metrics/LineLength, Layout/EmptyLines
|
283
|
+
|
284
|
+
|
285
|
+
# Checks equality by comparing each attribute.
|
286
|
+
# @param [Object] other the other object to be compared
|
287
|
+
def ==(other)
|
288
|
+
return true if equal?(other)
|
289
|
+
|
290
|
+
self.class == other.class &&
|
291
|
+
id == other.id &&
|
292
|
+
budget_id == other.budget_id &&
|
293
|
+
display_name == other.display_name &&
|
294
|
+
type == other.type &&
|
295
|
+
threshold == other.threshold &&
|
296
|
+
threshold_type == other.threshold_type &&
|
297
|
+
lifecycle_state == other.lifecycle_state &&
|
298
|
+
message == other.message &&
|
299
|
+
description == other.description &&
|
300
|
+
version == other.version &&
|
301
|
+
recipients == other.recipients &&
|
302
|
+
time_created == other.time_created &&
|
303
|
+
time_updated == other.time_updated &&
|
304
|
+
freeform_tags == other.freeform_tags &&
|
305
|
+
defined_tags == other.defined_tags
|
306
|
+
end
|
307
|
+
# rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Metrics/LineLength, Layout/EmptyLines
|
308
|
+
|
309
|
+
# @see the `==` method
|
310
|
+
# @param [Object] other the other object to be compared
|
311
|
+
def eql?(other)
|
312
|
+
self == other
|
313
|
+
end
|
314
|
+
|
315
|
+
# rubocop:disable Metrics/AbcSize, Metrics/LineLength, Layout/EmptyLines
|
316
|
+
|
317
|
+
|
318
|
+
# Calculates hash code according to all attributes.
|
319
|
+
# @return [Fixnum] Hash code
|
320
|
+
def hash
|
321
|
+
[id, budget_id, display_name, type, threshold, threshold_type, lifecycle_state, message, description, version, recipients, time_created, time_updated, freeform_tags, defined_tags].hash
|
322
|
+
end
|
323
|
+
# rubocop:enable Metrics/AbcSize, Metrics/LineLength, Layout/EmptyLines
|
324
|
+
|
325
|
+
# rubocop:disable Metrics/AbcSize, Layout/EmptyLines
|
326
|
+
|
327
|
+
|
328
|
+
# Builds the object from hash
|
329
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
330
|
+
# @return [Object] Returns the model itself
|
331
|
+
def build_from_hash(attributes)
|
332
|
+
return nil unless attributes.is_a?(Hash)
|
333
|
+
|
334
|
+
self.class.swagger_types.each_pair do |key, type|
|
335
|
+
if type =~ /^Array<(.*)>/i
|
336
|
+
# check to ensure the input is an array given that the the attribute
|
337
|
+
# is documented as an array but the input is not
|
338
|
+
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
339
|
+
public_method("#{key}=").call(
|
340
|
+
attributes[self.class.attribute_map[key]]
|
341
|
+
.map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) }
|
342
|
+
)
|
343
|
+
end
|
344
|
+
elsif !attributes[self.class.attribute_map[key]].nil?
|
345
|
+
public_method("#{key}=").call(
|
346
|
+
OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]])
|
347
|
+
)
|
348
|
+
end
|
349
|
+
# or else data not found in attributes(hash), not an issue as the data can be optional
|
350
|
+
end
|
351
|
+
|
352
|
+
self
|
353
|
+
end
|
354
|
+
# rubocop:enable Metrics/AbcSize, Layout/EmptyLines
|
355
|
+
|
356
|
+
# Returns the string representation of the object
|
357
|
+
# @return [String] String presentation of the object
|
358
|
+
def to_s
|
359
|
+
to_hash.to_s
|
360
|
+
end
|
361
|
+
|
362
|
+
# Returns the object in the form of hash
|
363
|
+
# @return [Hash] Returns the object in the form of hash
|
364
|
+
def to_hash
|
365
|
+
hash = {}
|
366
|
+
self.class.attribute_map.each_pair do |attr, param|
|
367
|
+
value = public_method(attr).call
|
368
|
+
next if value.nil? && !instance_variable_defined?("@#{attr}")
|
369
|
+
|
370
|
+
hash[param] = _to_hash(value)
|
371
|
+
end
|
372
|
+
hash
|
373
|
+
end
|
374
|
+
|
375
|
+
private
|
376
|
+
|
377
|
+
# Outputs non-array value in the form of hash
|
378
|
+
# For object, use to_hash. Otherwise, just return the value
|
379
|
+
# @param [Object] value Any valid value
|
380
|
+
# @return [Hash] Returns the value in the form of hash
|
381
|
+
def _to_hash(value)
|
382
|
+
if value.is_a?(Array)
|
383
|
+
value.compact.map { |v| _to_hash(v) }
|
384
|
+
elsif value.is_a?(Hash)
|
385
|
+
{}.tap do |hash|
|
386
|
+
value.each { |k, v| hash[k] = _to_hash(v) }
|
387
|
+
end
|
388
|
+
elsif value.respond_to? :to_hash
|
389
|
+
value.to_hash
|
390
|
+
else
|
391
|
+
value
|
392
|
+
end
|
393
|
+
end
|
394
|
+
end
|
395
|
+
end
|
396
|
+
# rubocop:enable Lint/UnneededCopDisableDirective
|
@@ -0,0 +1,413 @@
|
|
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
|
7
|
+
module OCI
|
8
|
+
# A budget.
|
9
|
+
class Budget::Models::Budget # rubocop:disable Metrics/LineLength
|
10
|
+
RESET_PERIOD_ENUM = [
|
11
|
+
RESET_PERIOD_MONTHLY = 'MONTHLY'.freeze,
|
12
|
+
RESET_PERIOD_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
|
13
|
+
].freeze
|
14
|
+
|
15
|
+
LIFECYCLE_STATE_ENUM = [
|
16
|
+
LIFECYCLE_STATE_ACTIVE = 'ACTIVE'.freeze,
|
17
|
+
LIFECYCLE_STATE_INACTIVE = 'INACTIVE'.freeze,
|
18
|
+
LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
|
19
|
+
].freeze
|
20
|
+
|
21
|
+
# **[Required]** The OCID of the budget
|
22
|
+
# @return [String]
|
23
|
+
attr_accessor :id
|
24
|
+
|
25
|
+
# **[Required]** The OCID of the compartment
|
26
|
+
# @return [String]
|
27
|
+
attr_accessor :compartment_id
|
28
|
+
|
29
|
+
# **[Required]** The OCID of the compartment on which budget is applied
|
30
|
+
# @return [String]
|
31
|
+
attr_accessor :target_compartment_id
|
32
|
+
|
33
|
+
# **[Required]** The display name of the budget.
|
34
|
+
# @return [String]
|
35
|
+
attr_accessor :display_name
|
36
|
+
|
37
|
+
# The description of the budget.
|
38
|
+
# @return [String]
|
39
|
+
attr_accessor :description
|
40
|
+
|
41
|
+
# **[Required]** The amount of the budget expressed in the currency of the customer's rate card.
|
42
|
+
#
|
43
|
+
# @return [Float]
|
44
|
+
attr_accessor :amount
|
45
|
+
|
46
|
+
# **[Required]** The reset period for the budget.
|
47
|
+
#
|
48
|
+
# @return [String]
|
49
|
+
attr_reader :reset_period
|
50
|
+
|
51
|
+
# **[Required]** The current state of the budget.
|
52
|
+
# @return [String]
|
53
|
+
attr_reader :lifecycle_state
|
54
|
+
|
55
|
+
# **[Required]** Total number of alert rules in the budget
|
56
|
+
# @return [Integer]
|
57
|
+
attr_accessor :alert_rule_count
|
58
|
+
|
59
|
+
# Version of the budget. Starts from 1 and increments by 1.
|
60
|
+
# @return [Integer]
|
61
|
+
attr_accessor :version
|
62
|
+
|
63
|
+
# The actual spend in currency for the current budget cycle
|
64
|
+
# @return [Float]
|
65
|
+
attr_accessor :actual_spend
|
66
|
+
|
67
|
+
# The forecasted spend in currency by the end of the current budget cycle
|
68
|
+
# @return [Float]
|
69
|
+
attr_accessor :forecasted_spend
|
70
|
+
|
71
|
+
# The time that the budget spend was last computed
|
72
|
+
# @return [DateTime]
|
73
|
+
attr_accessor :time_spend_computed
|
74
|
+
|
75
|
+
# **[Required]** Time that budget was created
|
76
|
+
# @return [DateTime]
|
77
|
+
attr_accessor :time_created
|
78
|
+
|
79
|
+
# **[Required]** Time that budget was updated
|
80
|
+
# @return [DateTime]
|
81
|
+
attr_accessor :time_updated
|
82
|
+
|
83
|
+
# Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace.
|
84
|
+
# For more information, see [Resource Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
|
85
|
+
#
|
86
|
+
# Example: `{\"Department\": \"Finance\"}`
|
87
|
+
#
|
88
|
+
# @return [Hash<String, String>]
|
89
|
+
attr_accessor :freeform_tags
|
90
|
+
|
91
|
+
# Defined tags for this resource. Each key is predefined and scoped to a namespace.
|
92
|
+
# For more information, see [Resource Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
|
93
|
+
#
|
94
|
+
# Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`
|
95
|
+
#
|
96
|
+
# @return [Hash<String, Hash<String, Object>>]
|
97
|
+
attr_accessor :defined_tags
|
98
|
+
|
99
|
+
# Attribute mapping from ruby-style variable name to JSON key.
|
100
|
+
def self.attribute_map
|
101
|
+
{
|
102
|
+
# rubocop:disable Style/SymbolLiteral
|
103
|
+
'id': :'id',
|
104
|
+
'compartment_id': :'compartmentId',
|
105
|
+
'target_compartment_id': :'targetCompartmentId',
|
106
|
+
'display_name': :'displayName',
|
107
|
+
'description': :'description',
|
108
|
+
'amount': :'amount',
|
109
|
+
'reset_period': :'resetPeriod',
|
110
|
+
'lifecycle_state': :'lifecycleState',
|
111
|
+
'alert_rule_count': :'alertRuleCount',
|
112
|
+
'version': :'version',
|
113
|
+
'actual_spend': :'actualSpend',
|
114
|
+
'forecasted_spend': :'forecastedSpend',
|
115
|
+
'time_spend_computed': :'timeSpendComputed',
|
116
|
+
'time_created': :'timeCreated',
|
117
|
+
'time_updated': :'timeUpdated',
|
118
|
+
'freeform_tags': :'freeformTags',
|
119
|
+
'defined_tags': :'definedTags'
|
120
|
+
# rubocop:enable Style/SymbolLiteral
|
121
|
+
}
|
122
|
+
end
|
123
|
+
|
124
|
+
# Attribute type mapping.
|
125
|
+
def self.swagger_types
|
126
|
+
{
|
127
|
+
# rubocop:disable Style/SymbolLiteral
|
128
|
+
'id': :'String',
|
129
|
+
'compartment_id': :'String',
|
130
|
+
'target_compartment_id': :'String',
|
131
|
+
'display_name': :'String',
|
132
|
+
'description': :'String',
|
133
|
+
'amount': :'Float',
|
134
|
+
'reset_period': :'String',
|
135
|
+
'lifecycle_state': :'String',
|
136
|
+
'alert_rule_count': :'Integer',
|
137
|
+
'version': :'Integer',
|
138
|
+
'actual_spend': :'Float',
|
139
|
+
'forecasted_spend': :'Float',
|
140
|
+
'time_spend_computed': :'DateTime',
|
141
|
+
'time_created': :'DateTime',
|
142
|
+
'time_updated': :'DateTime',
|
143
|
+
'freeform_tags': :'Hash<String, String>',
|
144
|
+
'defined_tags': :'Hash<String, Hash<String, Object>>'
|
145
|
+
# rubocop:enable Style/SymbolLiteral
|
146
|
+
}
|
147
|
+
end
|
148
|
+
|
149
|
+
# rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
|
150
|
+
# rubocop:disable Metrics/LineLength, Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
|
151
|
+
|
152
|
+
|
153
|
+
# Initializes the object
|
154
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
155
|
+
# @option attributes [String] :id The value to assign to the {#id} property
|
156
|
+
# @option attributes [String] :compartment_id The value to assign to the {#compartment_id} property
|
157
|
+
# @option attributes [String] :target_compartment_id The value to assign to the {#target_compartment_id} property
|
158
|
+
# @option attributes [String] :display_name The value to assign to the {#display_name} property
|
159
|
+
# @option attributes [String] :description The value to assign to the {#description} property
|
160
|
+
# @option attributes [Float] :amount The value to assign to the {#amount} property
|
161
|
+
# @option attributes [String] :reset_period The value to assign to the {#reset_period} property
|
162
|
+
# @option attributes [String] :lifecycle_state The value to assign to the {#lifecycle_state} property
|
163
|
+
# @option attributes [Integer] :alert_rule_count The value to assign to the {#alert_rule_count} property
|
164
|
+
# @option attributes [Integer] :version The value to assign to the {#version} property
|
165
|
+
# @option attributes [Float] :actual_spend The value to assign to the {#actual_spend} property
|
166
|
+
# @option attributes [Float] :forecasted_spend The value to assign to the {#forecasted_spend} property
|
167
|
+
# @option attributes [DateTime] :time_spend_computed The value to assign to the {#time_spend_computed} property
|
168
|
+
# @option attributes [DateTime] :time_created The value to assign to the {#time_created} property
|
169
|
+
# @option attributes [DateTime] :time_updated The value to assign to the {#time_updated} property
|
170
|
+
# @option attributes [Hash<String, String>] :freeform_tags The value to assign to the {#freeform_tags} property
|
171
|
+
# @option attributes [Hash<String, Hash<String, Object>>] :defined_tags The value to assign to the {#defined_tags} property
|
172
|
+
def initialize(attributes = {})
|
173
|
+
return unless attributes.is_a?(Hash)
|
174
|
+
|
175
|
+
# convert string to symbol for hash key
|
176
|
+
attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
|
177
|
+
|
178
|
+
self.id = attributes[:'id'] if attributes[:'id']
|
179
|
+
|
180
|
+
self.compartment_id = attributes[:'compartmentId'] if attributes[:'compartmentId']
|
181
|
+
|
182
|
+
raise 'You cannot provide both :compartmentId and :compartment_id' if attributes.key?(:'compartmentId') && attributes.key?(:'compartment_id')
|
183
|
+
|
184
|
+
self.compartment_id = attributes[:'compartment_id'] if attributes[:'compartment_id']
|
185
|
+
|
186
|
+
self.target_compartment_id = attributes[:'targetCompartmentId'] if attributes[:'targetCompartmentId']
|
187
|
+
|
188
|
+
raise 'You cannot provide both :targetCompartmentId and :target_compartment_id' if attributes.key?(:'targetCompartmentId') && attributes.key?(:'target_compartment_id')
|
189
|
+
|
190
|
+
self.target_compartment_id = attributes[:'target_compartment_id'] if attributes[:'target_compartment_id']
|
191
|
+
|
192
|
+
self.display_name = attributes[:'displayName'] if attributes[:'displayName']
|
193
|
+
|
194
|
+
raise 'You cannot provide both :displayName and :display_name' if attributes.key?(:'displayName') && attributes.key?(:'display_name')
|
195
|
+
|
196
|
+
self.display_name = attributes[:'display_name'] if attributes[:'display_name']
|
197
|
+
|
198
|
+
self.description = attributes[:'description'] if attributes[:'description']
|
199
|
+
|
200
|
+
self.amount = attributes[:'amount'] if attributes[:'amount']
|
201
|
+
|
202
|
+
self.reset_period = attributes[:'resetPeriod'] if attributes[:'resetPeriod']
|
203
|
+
|
204
|
+
raise 'You cannot provide both :resetPeriod and :reset_period' if attributes.key?(:'resetPeriod') && attributes.key?(:'reset_period')
|
205
|
+
|
206
|
+
self.reset_period = attributes[:'reset_period'] if attributes[:'reset_period']
|
207
|
+
|
208
|
+
self.lifecycle_state = attributes[:'lifecycleState'] if attributes[:'lifecycleState']
|
209
|
+
|
210
|
+
raise 'You cannot provide both :lifecycleState and :lifecycle_state' if attributes.key?(:'lifecycleState') && attributes.key?(:'lifecycle_state')
|
211
|
+
|
212
|
+
self.lifecycle_state = attributes[:'lifecycle_state'] if attributes[:'lifecycle_state']
|
213
|
+
|
214
|
+
self.alert_rule_count = attributes[:'alertRuleCount'] if attributes[:'alertRuleCount']
|
215
|
+
|
216
|
+
raise 'You cannot provide both :alertRuleCount and :alert_rule_count' if attributes.key?(:'alertRuleCount') && attributes.key?(:'alert_rule_count')
|
217
|
+
|
218
|
+
self.alert_rule_count = attributes[:'alert_rule_count'] if attributes[:'alert_rule_count']
|
219
|
+
|
220
|
+
self.version = attributes[:'version'] if attributes[:'version']
|
221
|
+
|
222
|
+
self.actual_spend = attributes[:'actualSpend'] if attributes[:'actualSpend']
|
223
|
+
|
224
|
+
raise 'You cannot provide both :actualSpend and :actual_spend' if attributes.key?(:'actualSpend') && attributes.key?(:'actual_spend')
|
225
|
+
|
226
|
+
self.actual_spend = attributes[:'actual_spend'] if attributes[:'actual_spend']
|
227
|
+
|
228
|
+
self.forecasted_spend = attributes[:'forecastedSpend'] if attributes[:'forecastedSpend']
|
229
|
+
|
230
|
+
raise 'You cannot provide both :forecastedSpend and :forecasted_spend' if attributes.key?(:'forecastedSpend') && attributes.key?(:'forecasted_spend')
|
231
|
+
|
232
|
+
self.forecasted_spend = attributes[:'forecasted_spend'] if attributes[:'forecasted_spend']
|
233
|
+
|
234
|
+
self.time_spend_computed = attributes[:'timeSpendComputed'] if attributes[:'timeSpendComputed']
|
235
|
+
|
236
|
+
raise 'You cannot provide both :timeSpendComputed and :time_spend_computed' if attributes.key?(:'timeSpendComputed') && attributes.key?(:'time_spend_computed')
|
237
|
+
|
238
|
+
self.time_spend_computed = attributes[:'time_spend_computed'] if attributes[:'time_spend_computed']
|
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
|
+
|
252
|
+
self.freeform_tags = attributes[:'freeformTags'] if attributes[:'freeformTags']
|
253
|
+
|
254
|
+
raise 'You cannot provide both :freeformTags and :freeform_tags' if attributes.key?(:'freeformTags') && attributes.key?(:'freeform_tags')
|
255
|
+
|
256
|
+
self.freeform_tags = attributes[:'freeform_tags'] if attributes[:'freeform_tags']
|
257
|
+
|
258
|
+
self.defined_tags = attributes[:'definedTags'] if attributes[:'definedTags']
|
259
|
+
|
260
|
+
raise 'You cannot provide both :definedTags and :defined_tags' if attributes.key?(:'definedTags') && attributes.key?(:'defined_tags')
|
261
|
+
|
262
|
+
self.defined_tags = attributes[:'defined_tags'] if attributes[:'defined_tags']
|
263
|
+
end
|
264
|
+
# rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
|
265
|
+
# rubocop:enable Metrics/LineLength, Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
|
266
|
+
|
267
|
+
# Custom attribute writer method checking allowed values (enum).
|
268
|
+
# @param [Object] reset_period Object to be assigned
|
269
|
+
def reset_period=(reset_period)
|
270
|
+
# rubocop:disable Style/ConditionalAssignment
|
271
|
+
if reset_period && !RESET_PERIOD_ENUM.include?(reset_period)
|
272
|
+
# rubocop: disable Metrics/LineLength
|
273
|
+
OCI.logger.debug("Unknown value for 'reset_period' [" + reset_period + "]. Mapping to 'RESET_PERIOD_UNKNOWN_ENUM_VALUE'") if OCI.logger
|
274
|
+
# rubocop: enable Metrics/LineLength
|
275
|
+
@reset_period = RESET_PERIOD_UNKNOWN_ENUM_VALUE
|
276
|
+
else
|
277
|
+
@reset_period = reset_period
|
278
|
+
end
|
279
|
+
# rubocop:enable Style/ConditionalAssignment
|
280
|
+
end
|
281
|
+
|
282
|
+
# Custom attribute writer method checking allowed values (enum).
|
283
|
+
# @param [Object] lifecycle_state Object to be assigned
|
284
|
+
def lifecycle_state=(lifecycle_state)
|
285
|
+
# rubocop:disable Style/ConditionalAssignment
|
286
|
+
if lifecycle_state && !LIFECYCLE_STATE_ENUM.include?(lifecycle_state)
|
287
|
+
# rubocop: disable Metrics/LineLength
|
288
|
+
OCI.logger.debug("Unknown value for 'lifecycle_state' [" + lifecycle_state + "]. Mapping to 'LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE'") if OCI.logger
|
289
|
+
# rubocop: enable Metrics/LineLength
|
290
|
+
@lifecycle_state = LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE
|
291
|
+
else
|
292
|
+
@lifecycle_state = lifecycle_state
|
293
|
+
end
|
294
|
+
# rubocop:enable Style/ConditionalAssignment
|
295
|
+
end
|
296
|
+
|
297
|
+
# rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Metrics/LineLength, Layout/EmptyLines
|
298
|
+
|
299
|
+
|
300
|
+
# Checks equality by comparing each attribute.
|
301
|
+
# @param [Object] other the other object to be compared
|
302
|
+
def ==(other)
|
303
|
+
return true if equal?(other)
|
304
|
+
|
305
|
+
self.class == other.class &&
|
306
|
+
id == other.id &&
|
307
|
+
compartment_id == other.compartment_id &&
|
308
|
+
target_compartment_id == other.target_compartment_id &&
|
309
|
+
display_name == other.display_name &&
|
310
|
+
description == other.description &&
|
311
|
+
amount == other.amount &&
|
312
|
+
reset_period == other.reset_period &&
|
313
|
+
lifecycle_state == other.lifecycle_state &&
|
314
|
+
alert_rule_count == other.alert_rule_count &&
|
315
|
+
version == other.version &&
|
316
|
+
actual_spend == other.actual_spend &&
|
317
|
+
forecasted_spend == other.forecasted_spend &&
|
318
|
+
time_spend_computed == other.time_spend_computed &&
|
319
|
+
time_created == other.time_created &&
|
320
|
+
time_updated == other.time_updated &&
|
321
|
+
freeform_tags == other.freeform_tags &&
|
322
|
+
defined_tags == other.defined_tags
|
323
|
+
end
|
324
|
+
# rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Metrics/LineLength, Layout/EmptyLines
|
325
|
+
|
326
|
+
# @see the `==` method
|
327
|
+
# @param [Object] other the other object to be compared
|
328
|
+
def eql?(other)
|
329
|
+
self == other
|
330
|
+
end
|
331
|
+
|
332
|
+
# rubocop:disable Metrics/AbcSize, Metrics/LineLength, Layout/EmptyLines
|
333
|
+
|
334
|
+
|
335
|
+
# Calculates hash code according to all attributes.
|
336
|
+
# @return [Fixnum] Hash code
|
337
|
+
def hash
|
338
|
+
[id, compartment_id, target_compartment_id, display_name, description, amount, reset_period, lifecycle_state, alert_rule_count, version, actual_spend, forecasted_spend, time_spend_computed, time_created, time_updated, freeform_tags, defined_tags].hash
|
339
|
+
end
|
340
|
+
# rubocop:enable Metrics/AbcSize, Metrics/LineLength, Layout/EmptyLines
|
341
|
+
|
342
|
+
# rubocop:disable Metrics/AbcSize, Layout/EmptyLines
|
343
|
+
|
344
|
+
|
345
|
+
# Builds the object from hash
|
346
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
347
|
+
# @return [Object] Returns the model itself
|
348
|
+
def build_from_hash(attributes)
|
349
|
+
return nil unless attributes.is_a?(Hash)
|
350
|
+
|
351
|
+
self.class.swagger_types.each_pair do |key, type|
|
352
|
+
if type =~ /^Array<(.*)>/i
|
353
|
+
# check to ensure the input is an array given that the the attribute
|
354
|
+
# is documented as an array but the input is not
|
355
|
+
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
356
|
+
public_method("#{key}=").call(
|
357
|
+
attributes[self.class.attribute_map[key]]
|
358
|
+
.map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) }
|
359
|
+
)
|
360
|
+
end
|
361
|
+
elsif !attributes[self.class.attribute_map[key]].nil?
|
362
|
+
public_method("#{key}=").call(
|
363
|
+
OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]])
|
364
|
+
)
|
365
|
+
end
|
366
|
+
# or else data not found in attributes(hash), not an issue as the data can be optional
|
367
|
+
end
|
368
|
+
|
369
|
+
self
|
370
|
+
end
|
371
|
+
# rubocop:enable Metrics/AbcSize, Layout/EmptyLines
|
372
|
+
|
373
|
+
# Returns the string representation of the object
|
374
|
+
# @return [String] String presentation of the object
|
375
|
+
def to_s
|
376
|
+
to_hash.to_s
|
377
|
+
end
|
378
|
+
|
379
|
+
# Returns the object in the form of hash
|
380
|
+
# @return [Hash] Returns the object in the form of hash
|
381
|
+
def to_hash
|
382
|
+
hash = {}
|
383
|
+
self.class.attribute_map.each_pair do |attr, param|
|
384
|
+
value = public_method(attr).call
|
385
|
+
next if value.nil? && !instance_variable_defined?("@#{attr}")
|
386
|
+
|
387
|
+
hash[param] = _to_hash(value)
|
388
|
+
end
|
389
|
+
hash
|
390
|
+
end
|
391
|
+
|
392
|
+
private
|
393
|
+
|
394
|
+
# Outputs non-array value in the form of hash
|
395
|
+
# For object, use to_hash. Otherwise, just return the value
|
396
|
+
# @param [Object] value Any valid value
|
397
|
+
# @return [Hash] Returns the value in the form of hash
|
398
|
+
def _to_hash(value)
|
399
|
+
if value.is_a?(Array)
|
400
|
+
value.compact.map { |v| _to_hash(v) }
|
401
|
+
elsif value.is_a?(Hash)
|
402
|
+
{}.tap do |hash|
|
403
|
+
value.each { |k, v| hash[k] = _to_hash(v) }
|
404
|
+
end
|
405
|
+
elsif value.respond_to? :to_hash
|
406
|
+
value.to_hash
|
407
|
+
else
|
408
|
+
value
|
409
|
+
end
|
410
|
+
end
|
411
|
+
end
|
412
|
+
end
|
413
|
+
# rubocop:enable Lint/UnneededCopDisableDirective
|