class OCI::ManagementDashboard::Models::CreateManagementDashboardDetails
Properties of a dashboard. ID of the dashboard must only be provided for Out-of-the-Box (OOB) dashboards.
Attributes
[Required] OCID of the compartment in which the dashboard resides. @return [String]
ID of the dashboard, which must only be provided for Out-of-the-Box (OOB) dashboards. @return [String]
[Required] Array of JSON that contain data source options. @return [Array<Object>]
[Required] Description of the dashboard. @return [String]
[Required] Display name of the dashboard. @return [String]
[Required] Determines whether the dashboard is set as favorite. @return [BOOLEAN]
[Required] Determines whether the dashboard is an Out-of-the-Box (OOB) dashboard. Note that OOB dashboards are only provided by Oracle and cannot be modified. @return [BOOLEAN]
[Required] Determines whether the description of the dashboard is displayed. @return [BOOLEAN]
[Required] Determines whether the dashboard will be displayed in Dashboard Home. @return [BOOLEAN]
[Required] Version of the metadata. @return [String]
[Required] JSON that contains internationalization options. @return [Object]
Defines parameters for the dashboard. @return [Array<Object>]
[Required] ID of the service (for example, log-analytics) that owns the dashboard. Each service has a unique ID. @return [String]
[Required] Version of the service that owns the dashboard. @return [String]
[Required] Screen image of the dashboard. @return [String]
[Required] Array of dashboard tiles. @return [Array<OCI::ManagementDashboard::Models::ManagementDashboardTileDetails>]
[Required] Type of dashboard. NORMAL denotes a single dashboard and SET denotes a dashboard set. @return [String]
[Required] JSON that contains user interface options. @return [Object]
Public Class Methods
Attribute mapping from ruby-style variable name to JSON key.
# File lib/oci/management_dashboard/models/create_management_dashboard_details.rb, line 99 def self.attribute_map { # rubocop:disable Style/SymbolLiteral 'dashboard_id': :'dashboardId', 'provider_id': :'providerId', 'provider_name': :'providerName', 'provider_version': :'providerVersion', 'tiles': :'tiles', 'display_name': :'displayName', 'description': :'description', 'compartment_id': :'compartmentId', 'is_oob_dashboard': :'isOobDashboard', 'is_show_in_home': :'isShowInHome', 'metadata_version': :'metadataVersion', 'is_show_description': :'isShowDescription', 'screen_image': :'screenImage', 'nls': :'nls', 'ui_config': :'uiConfig', 'data_config': :'dataConfig', 'type': :'type', 'is_favorite': :'isFavorite', 'parameters_config': :'parametersConfig', 'freeform_tags': :'freeformTags', 'defined_tags': :'definedTags' # rubocop:enable Style/SymbolLiteral } end
Initializes the object @param [Hash] attributes Model attributes in the form of hash @option attributes [String] :dashboard_id The value to assign to the {#dashboard_id} property @option attributes [String] :provider_id The value to assign to the {#provider_id} property @option attributes [String] :provider_name The value to assign to the {#provider_name} property @option attributes [String] :provider_version The value to assign to the {#provider_version} property @option attributes [Array<OCI::ManagementDashboard::Models::ManagementDashboardTileDetails>] :tiles The value to assign to the {#tiles} property @option attributes [String] :display_name The value to assign to the {#display_name} property @option attributes [String] :description The value to assign to the {#description} property @option attributes [String] :compartment_id The value to assign to the {#compartment_id} property @option attributes [BOOLEAN] :is_oob_dashboard The value to assign to the {#is_oob_dashboard} property @option attributes [BOOLEAN] :is_show_in_home The value to assign to the {#is_show_in_home} property @option attributes [String] :metadata_version The value to assign to the {#metadata_version} property @option attributes [BOOLEAN] :is_show_description The value to assign to the {#is_show_description} property @option attributes [String] :screen_image The value to assign to the {#screen_image} property @option attributes [Object] :nls The value to assign to the {#nls} property @option attributes [Object] :ui_config The value to assign to the {#ui_config} property @option attributes [Array<Object>] :data_config The value to assign to the {#data_config} property @option attributes [String] :type The value to assign to the {#type} property @option attributes [BOOLEAN] :is_favorite The value to assign to the {#is_favorite} property @option attributes [Array<Object>] :parameters_config The value to assign to the {#parameters_config} property @option attributes [Hash<String, String>] :freeform_tags The value to assign to the {#freeform_tags} property @option attributes [Hash<String, Hash<String, Object>>] :defined_tags The value to assign to the {#defined_tags} property
# File lib/oci/management_dashboard/models/create_management_dashboard_details.rb, line 183 def initialize(attributes = {}) return unless attributes.is_a?(Hash) # convert string to symbol for hash key attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } self.dashboard_id = attributes[:'dashboardId'] if attributes[:'dashboardId'] raise 'You cannot provide both :dashboardId and :dashboard_id' if attributes.key?(:'dashboardId') && attributes.key?(:'dashboard_id') self.dashboard_id = attributes[:'dashboard_id'] if attributes[:'dashboard_id'] self.provider_id = attributes[:'providerId'] if attributes[:'providerId'] raise 'You cannot provide both :providerId and :provider_id' if attributes.key?(:'providerId') && attributes.key?(:'provider_id') self.provider_id = attributes[:'provider_id'] if attributes[:'provider_id'] self.provider_name = attributes[:'providerName'] if attributes[:'providerName'] raise 'You cannot provide both :providerName and :provider_name' if attributes.key?(:'providerName') && attributes.key?(:'provider_name') self.provider_name = attributes[:'provider_name'] if attributes[:'provider_name'] self.provider_version = attributes[:'providerVersion'] if attributes[:'providerVersion'] raise 'You cannot provide both :providerVersion and :provider_version' if attributes.key?(:'providerVersion') && attributes.key?(:'provider_version') self.provider_version = attributes[:'provider_version'] if attributes[:'provider_version'] self.tiles = attributes[:'tiles'] if attributes[:'tiles'] self.display_name = attributes[:'displayName'] if attributes[:'displayName'] raise 'You cannot provide both :displayName and :display_name' if attributes.key?(:'displayName') && attributes.key?(:'display_name') self.display_name = attributes[:'display_name'] if attributes[:'display_name'] self.description = attributes[:'description'] if attributes[:'description'] self.compartment_id = attributes[:'compartmentId'] if attributes[:'compartmentId'] raise 'You cannot provide both :compartmentId and :compartment_id' if attributes.key?(:'compartmentId') && attributes.key?(:'compartment_id') self.compartment_id = attributes[:'compartment_id'] if attributes[:'compartment_id'] self.is_oob_dashboard = attributes[:'isOobDashboard'] unless attributes[:'isOobDashboard'].nil? raise 'You cannot provide both :isOobDashboard and :is_oob_dashboard' if attributes.key?(:'isOobDashboard') && attributes.key?(:'is_oob_dashboard') self.is_oob_dashboard = attributes[:'is_oob_dashboard'] unless attributes[:'is_oob_dashboard'].nil? self.is_show_in_home = attributes[:'isShowInHome'] unless attributes[:'isShowInHome'].nil? raise 'You cannot provide both :isShowInHome and :is_show_in_home' if attributes.key?(:'isShowInHome') && attributes.key?(:'is_show_in_home') self.is_show_in_home = attributes[:'is_show_in_home'] unless attributes[:'is_show_in_home'].nil? self.metadata_version = attributes[:'metadataVersion'] if attributes[:'metadataVersion'] raise 'You cannot provide both :metadataVersion and :metadata_version' if attributes.key?(:'metadataVersion') && attributes.key?(:'metadata_version') self.metadata_version = attributes[:'metadata_version'] if attributes[:'metadata_version'] self.is_show_description = attributes[:'isShowDescription'] unless attributes[:'isShowDescription'].nil? raise 'You cannot provide both :isShowDescription and :is_show_description' if attributes.key?(:'isShowDescription') && attributes.key?(:'is_show_description') self.is_show_description = attributes[:'is_show_description'] unless attributes[:'is_show_description'].nil? self.screen_image = attributes[:'screenImage'] if attributes[:'screenImage'] raise 'You cannot provide both :screenImage and :screen_image' if attributes.key?(:'screenImage') && attributes.key?(:'screen_image') self.screen_image = attributes[:'screen_image'] if attributes[:'screen_image'] self.nls = attributes[:'nls'] if attributes[:'nls'] self.ui_config = attributes[:'uiConfig'] if attributes[:'uiConfig'] raise 'You cannot provide both :uiConfig and :ui_config' if attributes.key?(:'uiConfig') && attributes.key?(:'ui_config') self.ui_config = attributes[:'ui_config'] if attributes[:'ui_config'] self.data_config = attributes[:'dataConfig'] if attributes[:'dataConfig'] raise 'You cannot provide both :dataConfig and :data_config' if attributes.key?(:'dataConfig') && attributes.key?(:'data_config') self.data_config = attributes[:'data_config'] if attributes[:'data_config'] self.type = attributes[:'type'] if attributes[:'type'] self.is_favorite = attributes[:'isFavorite'] unless attributes[:'isFavorite'].nil? raise 'You cannot provide both :isFavorite and :is_favorite' if attributes.key?(:'isFavorite') && attributes.key?(:'is_favorite') self.is_favorite = attributes[:'is_favorite'] unless attributes[:'is_favorite'].nil? self.parameters_config = attributes[:'parametersConfig'] if attributes[:'parametersConfig'] raise 'You cannot provide both :parametersConfig and :parameters_config' if attributes.key?(:'parametersConfig') && attributes.key?(:'parameters_config') self.parameters_config = attributes[:'parameters_config'] if attributes[:'parameters_config'] self.freeform_tags = attributes[:'freeformTags'] if attributes[:'freeformTags'] raise 'You cannot provide both :freeformTags and :freeform_tags' if attributes.key?(:'freeformTags') && attributes.key?(:'freeform_tags') self.freeform_tags = attributes[:'freeform_tags'] if attributes[:'freeform_tags'] self.defined_tags = attributes[:'definedTags'] if attributes[:'definedTags'] raise 'You cannot provide both :definedTags and :defined_tags' if attributes.key?(:'definedTags') && attributes.key?(:'defined_tags') self.defined_tags = attributes[:'defined_tags'] if attributes[:'defined_tags'] end
Attribute type mapping.
# File lib/oci/management_dashboard/models/create_management_dashboard_details.rb, line 128 def self.swagger_types { # rubocop:disable Style/SymbolLiteral 'dashboard_id': :'String', 'provider_id': :'String', 'provider_name': :'String', 'provider_version': :'String', 'tiles': :'Array<OCI::ManagementDashboard::Models::ManagementDashboardTileDetails>', 'display_name': :'String', 'description': :'String', 'compartment_id': :'String', 'is_oob_dashboard': :'BOOLEAN', 'is_show_in_home': :'BOOLEAN', 'metadata_version': :'String', 'is_show_description': :'BOOLEAN', 'screen_image': :'String', 'nls': :'Object', 'ui_config': :'Object', 'data_config': :'Array<Object>', 'type': :'String', 'is_favorite': :'BOOLEAN', 'parameters_config': :'Array<Object>', 'freeform_tags': :'Hash<String, String>', 'defined_tags': :'Hash<String, Hash<String, Object>>' # rubocop:enable Style/SymbolLiteral } end
Public Instance Methods
Checks equality by comparing each attribute. @param [Object] other the other object to be compared
# File lib/oci/management_dashboard/models/create_management_dashboard_details.rb, line 307 def ==(other) return true if equal?(other) self.class == other.class && dashboard_id == other.dashboard_id && provider_id == other.provider_id && provider_name == other.provider_name && provider_version == other.provider_version && tiles == other.tiles && display_name == other.display_name && description == other.description && compartment_id == other.compartment_id && is_oob_dashboard == other.is_oob_dashboard && is_show_in_home == other.is_show_in_home && metadata_version == other.metadata_version && is_show_description == other.is_show_description && screen_image == other.screen_image && nls == other.nls && ui_config == other.ui_config && data_config == other.data_config && type == other.type && is_favorite == other.is_favorite && parameters_config == other.parameters_config && freeform_tags == other.freeform_tags && defined_tags == other.defined_tags end
Builds the object from hash @param [Hash] attributes Model attributes in the form of hash @return [Object] Returns the model itself
# File lib/oci/management_dashboard/models/create_management_dashboard_details.rb, line 357 def build_from_hash(attributes) return nil unless attributes.is_a?(Hash) self.class.swagger_types.each_pair do |key, type| if type =~ /^Array<(.*)>/i # check to ensure the input is an array given that the the attribute # is documented as an array but the input is not if attributes[self.class.attribute_map[key]].is_a?(Array) public_method("#{key}=").call( attributes[self.class.attribute_map[key]] .map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) } ) end elsif !attributes[self.class.attribute_map[key]].nil? public_method("#{key}=").call( OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]) ) end # or else data not found in attributes(hash), not an issue as the data can be optional end self end
@see the `==` method @param [Object] other the other object to be compared
# File lib/oci/management_dashboard/models/create_management_dashboard_details.rb, line 337 def eql?(other) self == other end
Calculates hash code according to all attributes. @return [Fixnum] Hash code
# File lib/oci/management_dashboard/models/create_management_dashboard_details.rb, line 346 def hash [dashboard_id, provider_id, provider_name, provider_version, tiles, display_name, description, compartment_id, is_oob_dashboard, is_show_in_home, metadata_version, is_show_description, screen_image, nls, ui_config, data_config, type, is_favorite, parameters_config, freeform_tags, defined_tags].hash end
Returns the object in the form of hash @return [Hash] Returns the object in the form of hash
# File lib/oci/management_dashboard/models/create_management_dashboard_details.rb, line 390 def to_hash hash = {} self.class.attribute_map.each_pair do |attr, param| value = public_method(attr).call next if value.nil? && !instance_variable_defined?("@#{attr}") hash[param] = _to_hash(value) end hash end
Returns the string representation of the object @return [String] String presentation of the object
# File lib/oci/management_dashboard/models/create_management_dashboard_details.rb, line 384 def to_s to_hash.to_s end
Private Instance Methods
Outputs non-array value in the form of hash For object, use to_hash. Otherwise, just return the value @param [Object] value Any valid value @return [Hash] Returns the value in the form of hash
# File lib/oci/management_dashboard/models/create_management_dashboard_details.rb, line 407 def _to_hash(value) if value.is_a?(Array) value.compact.map { |v| _to_hash(v) } elsif value.is_a?(Hash) {}.tap do |hash| value.each { |k, v| hash[k] = _to_hash(v) } end elsif value.respond_to? :to_hash value.to_hash else value end end