# encoding: utf-8 # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is # regenerated. module Azure::ServiceFabric::Mgmt::V2017_07_01_preview module Models # # The service resource properties. # class ServiceProperties < ServicePropertiesBase include MsRestAzure def initialize @serviceKind = "ServiceProperties" end attr_accessor :serviceKind # @return [String] The current deployment or provisioning state, which # only appears in the response attr_accessor :provisioning_state # @return [String] The name of the service type attr_accessor :service_type_name # @return [PartitionSchemeDescription] attr_accessor :partition_description # # Mapper for ServiceProperties class as Ruby Hash. # This will be used for serialization/deserialization. # def self.mapper() { client_side_validation: true, required: false, serialized_name: 'ServiceProperties', type: { name: 'Composite', polymorphic_discriminator: 'serviceKind', uber_parent: 'ServicePropertiesBase', class_name: 'ServiceProperties', model_properties: { placement_constraints: { client_side_validation: true, required: false, serialized_name: 'placementConstraints', type: { name: 'String' } }, correlation_scheme: { client_side_validation: true, required: false, serialized_name: 'correlationScheme', type: { name: 'Sequence', element: { client_side_validation: true, required: false, serialized_name: 'ServiceCorrelationDescriptionElementType', type: { name: 'Composite', class_name: 'ServiceCorrelationDescription' } } } }, service_load_metrics: { client_side_validation: true, required: false, serialized_name: 'serviceLoadMetrics', type: { name: 'Sequence', element: { client_side_validation: true, required: false, serialized_name: 'ServiceLoadMetricDescriptionElementType', type: { name: 'Composite', class_name: 'ServiceLoadMetricDescription' } } } }, service_placement_policies: { client_side_validation: true, required: false, serialized_name: 'servicePlacementPolicies', type: { name: 'Sequence', element: { client_side_validation: true, required: false, serialized_name: 'ServicePlacementPolicyDescriptionElementType', type: { name: 'Composite', polymorphic_discriminator: 'Type', uber_parent: 'ServicePlacementPolicyDescription', class_name: 'ServicePlacementPolicyDescription' } } } }, default_move_cost: { client_side_validation: true, required: false, serialized_name: 'defaultMoveCost', type: { name: 'String' } }, provisioning_state: { client_side_validation: true, required: false, read_only: true, serialized_name: 'provisioningState', type: { name: 'String' } }, service_type_name: { client_side_validation: true, required: false, serialized_name: 'serviceTypeName', type: { name: 'String' } }, partition_description: { client_side_validation: true, required: false, serialized_name: 'partitionDescription', type: { name: 'Composite', polymorphic_discriminator: 'PartitionScheme', uber_parent: 'PartitionSchemeDescription', class_name: 'PartitionSchemeDescription' } } } } } end end end end