Class: Azure::ServiceFabric::V6_3_0_9::Models::ServiceUpdateDescription

Inherits:
Object
  • Object
show all
Includes:
MsRestAzure
Defined in:
lib/6.3.0.9/generated/azure_service_fabric/models/service_update_description.rb

Overview

A ServiceUpdateDescription contains all of the information necessary to update a service.

Constant Summary collapse

@@discriminatorMap =
Hash.new

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeServiceUpdateDescription

Returns a new instance of ServiceUpdateDescription.



20
21
22
# File 'lib/6.3.0.9/generated/azure_service_fabric/models/service_update_description.rb', line 20

def initialize
  @ServiceKind = "ServiceUpdateDescription"
end

Instance Attribute Details

#correlation_schemeArray<ServiceCorrelationDescription>

Returns The correlation scheme.

Returns:



69
70
71
# File 'lib/6.3.0.9/generated/azure_service_fabric/models/service_update_description.rb', line 69

def correlation_scheme
  @correlation_scheme
end

#default_move_costMoveCost

include: ‘Zero’, ‘Low’, ‘Medium’, ‘High’

Returns:

  • (MoveCost)

    The move cost for the service. Possible values



80
81
82
# File 'lib/6.3.0.9/generated/azure_service_fabric/models/service_update_description.rb', line 80

def default_move_cost
  @default_move_cost
end

#flagsString

Each of the associated properties corresponds to a flag, specified below, which, if set, indicate that the property is specified. This property can be a combination of those flags obtained using bitwise ‘OR’ operator. For example, if the provided value is 6 then the flags for ReplicaRestartWaitDuration (2) and QuorumLossWaitDuration (4) are set.

  • None - Does not indicate any other properties are set. The value is

zero.

  • TargetReplicaSetSize/InstanceCount - Indicates whether the

TargetReplicaSetSize property (for Stateful services) or the InstanceCount property (for Stateless services) is set. The value is 1.

  • ReplicaRestartWaitDuration - Indicates the ReplicaRestartWaitDuration

property is set. The value is 2.

  • QuorumLossWaitDuration - Indicates the QuorumLossWaitDuration

property is set. The value is 4.

  • StandByReplicaKeepDuration - Indicates the StandByReplicaKeepDuration

property is set. The value is 8.

  • MinReplicaSetSize - Indicates the MinReplicaSetSize property is set.

The value is 16.

  • PlacementConstraints - Indicates the PlacementConstraints property is

set. The value is 32.

  • PlacementPolicyList - Indicates the ServicePlacementPolicies property

is set. The value is 64.

  • Correlation - Indicates the CorrelationScheme property is set. The

value is 128.

  • Metrics - Indicates the ServiceLoadMetrics property is set. The value

is 256.

  • DefaultMoveCost - Indicates the DefaultMoveCost property is set. The

value is 512.

  • ScalingPolicy - Indicates the ScalingPolicies property is set. The

value is 1024.

Returns:

  • (String)

    Flags indicating whether other properties are set.



59
60
61
# File 'lib/6.3.0.9/generated/azure_service_fabric/models/service_update_description.rb', line 59

def flags
  @flags
end

#load_metricsArray<ServiceLoadMetricDescription>

Returns The service load metrics.

Returns:



72
73
74
# File 'lib/6.3.0.9/generated/azure_service_fabric/models/service_update_description.rb', line 72

def load_metrics
  @load_metrics
end

#placement_constraintsString

constraints are boolean expressions on node properties and allow for restricting a service to particular nodes based on the service requirements. For example, to place a service on nodes where NodeType is blue specify the following: “NodeColor == blue)”.

Returns:

  • (String)

    The placement constraints as a string. Placement



66
67
68
# File 'lib/6.3.0.9/generated/azure_service_fabric/models/service_update_description.rb', line 66

def placement_constraints
  @placement_constraints
end

#scaling_policiesArray<ScalingPolicyDescription>

service.

Returns:



84
85
86
# File 'lib/6.3.0.9/generated/azure_service_fabric/models/service_update_description.rb', line 84

def scaling_policies
  @scaling_policies
end

#service_placement_policiesArray<ServicePlacementPolicyDescription>

placement policies.

Returns:



76
77
78
# File 'lib/6.3.0.9/generated/azure_service_fabric/models/service_update_description.rb', line 76

def service_placement_policies
  @service_placement_policies
end

#ServiceKindObject

Returns the value of attribute ServiceKind.



24
25
26
# File 'lib/6.3.0.9/generated/azure_service_fabric/models/service_update_description.rb', line 24

def ServiceKind
  @ServiceKind
end

Class Method Details

.mapperObject

Mapper for ServiceUpdateDescription class as Ruby Hash. This will be used for serialization/deserialization.



91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
# File 'lib/6.3.0.9/generated/azure_service_fabric/models/service_update_description.rb', line 91

def self.mapper()
  {
    client_side_validation: true,
    required: false,
    serialized_name: 'ServiceUpdateDescription',
    type: {
      name: 'Composite',
      polymorphic_discriminator: 'ServiceKind',
      uber_parent: 'ServiceUpdateDescription',
      class_name: 'ServiceUpdateDescription',
      model_properties: {
        flags: {
          client_side_validation: true,
          required: false,
          serialized_name: 'Flags',
          type: {
            name: 'String'
          }
        },
        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'
                }
            }
          }
        },
        load_metrics: {
          client_side_validation: true,
          required: false,
          serialized_name: 'LoadMetrics',
          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'
          }
        },
        scaling_policies: {
          client_side_validation: true,
          required: false,
          serialized_name: 'ScalingPolicies',
          type: {
            name: 'Sequence',
            element: {
                client_side_validation: true,
                required: false,
                serialized_name: 'ScalingPolicyDescriptionElementType',
                type: {
                  name: 'Composite',
                  class_name: 'ScalingPolicyDescription'
                }
            }
          }
        }
      }
    }
  }
end