GitHub Access Token became invalid

It seems like the GitHub access token used for retrieving details about this repository from GitHub became invalid. This might prevent certain types of inspections from being run (in particular, everything related to pull requests).
Please ask an admin of your repository to re-new the access token on this website.

withDnsConfigNameServer()   A
last analyzed

Complexity

Conditions 2

Size

Total Lines 8
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 4
c 0
b 0
f 0
dl 0
loc 8
rs 10
cc 2
nop 1
1
<?php
2
3
namespace AlibabaCloud\Ess\V20140828;
4
5
use AlibabaCloud\Client\Resolver\ApiResolver;
6
7
/**
8
 * @method AttachAlbServerGroups attachAlbServerGroups(array $options = [])
9
 * @method AttachDBInstances attachDBInstances(array $options = [])
10
 * @method AttachInstances attachInstances(array $options = [])
11
 * @method AttachLoadBalancers attachLoadBalancers(array $options = [])
12
 * @method AttachServerGroups attachServerGroups(array $options = [])
13
 * @method AttachVServerGroups attachVServerGroups(array $options = [])
14
 * @method ChangeResourceGroup changeResourceGroup(array $options = [])
15
 * @method CompleteLifecycleAction completeLifecycleAction(array $options = [])
16
 * @method CreateAlarm createAlarm(array $options = [])
17
 * @method CreateEciScalingConfiguration createEciScalingConfiguration(array $options = [])
18
 * @method CreateLifecycleHook createLifecycleHook(array $options = [])
19
 * @method CreateNotificationConfiguration createNotificationConfiguration(array $options = [])
20
 * @method CreateScalingConfiguration createScalingConfiguration(array $options = [])
21
 * @method CreateScalingGroup createScalingGroup(array $options = [])
22
 * @method CreateScalingRule createScalingRule(array $options = [])
23
 * @method CreateScheduledTask createScheduledTask(array $options = [])
24
 * @method DeactivateScalingConfiguration deactivateScalingConfiguration(array $options = [])
25
 * @method DeleteAlarm deleteAlarm(array $options = [])
26
 * @method DeleteEciScalingConfiguration deleteEciScalingConfiguration(array $options = [])
27
 * @method DeleteLifecycleHook deleteLifecycleHook(array $options = [])
28
 * @method DeleteNotificationConfiguration deleteNotificationConfiguration(array $options = [])
29
 * @method DeleteScalingConfiguration deleteScalingConfiguration(array $options = [])
30
 * @method DeleteScalingGroup deleteScalingGroup(array $options = [])
31
 * @method DeleteScalingRule deleteScalingRule(array $options = [])
32
 * @method DeleteScheduledTask deleteScheduledTask(array $options = [])
33
 * @method DescribeAlarms describeAlarms(array $options = [])
34
 * @method DescribeEciScalingConfigurations describeEciScalingConfigurations(array $options = [])
35
 * @method DescribeElasticStrength describeElasticStrength(array $options = [])
36
 * @method DescribeLifecycleActions describeLifecycleActions(array $options = [])
37
 * @method DescribeLifecycleHooks describeLifecycleHooks(array $options = [])
38
 * @method DescribeLimitation describeLimitation(array $options = [])
39
 * @method DescribeNotificationConfigurations describeNotificationConfigurations(array $options = [])
40
 * @method DescribeNotificationTypes describeNotificationTypes(array $options = [])
41
 * @method DescribePatternTypes describePatternTypes(array $options = [])
42
 * @method DescribeRegions describeRegions(array $options = [])
43
 * @method DescribeScalingActivities describeScalingActivities(array $options = [])
44
 * @method DescribeScalingActivityDetail describeScalingActivityDetail(array $options = [])
45
 * @method DescribeScalingConfigurations describeScalingConfigurations(array $options = [])
46
 * @method DescribeScalingGroups describeScalingGroups(array $options = [])
47
 * @method DescribeScalingInstances describeScalingInstances(array $options = [])
48
 * @method DescribeScalingRules describeScalingRules(array $options = [])
49
 * @method DescribeScheduledTasks describeScheduledTasks(array $options = [])
50
 * @method DetachAlbServerGroups detachAlbServerGroups(array $options = [])
51
 * @method DetachDBInstances detachDBInstances(array $options = [])
52
 * @method DetachInstances detachInstances(array $options = [])
53
 * @method DetachLoadBalancers detachLoadBalancers(array $options = [])
54
 * @method DetachServerGroups detachServerGroups(array $options = [])
55
 * @method DetachVServerGroups detachVServerGroups(array $options = [])
56
 * @method DisableAlarm disableAlarm(array $options = [])
57
 * @method DisableScalingGroup disableScalingGroup(array $options = [])
58
 * @method EnableAlarm enableAlarm(array $options = [])
59
 * @method EnableScalingGroup enableScalingGroup(array $options = [])
60
 * @method EnterStandby enterStandby(array $options = [])
61
 * @method ExecuteScalingRule executeScalingRule(array $options = [])
62
 * @method ExitStandby exitStandby(array $options = [])
63
 * @method ListTagKeys listTagKeys(array $options = [])
64
 * @method ListTagResources listTagResources(array $options = [])
65
 * @method ListTagValues listTagValues(array $options = [])
66
 * @method ModifyAlarm modifyAlarm(array $options = [])
67
 * @method ModifyEciScalingConfiguration modifyEciScalingConfiguration(array $options = [])
68
 * @method ModifyInstanceAttribute modifyInstanceAttribute(array $options = [])
69
 * @method ModifyLifecycleHook modifyLifecycleHook(array $options = [])
70
 * @method ModifyNotificationConfiguration modifyNotificationConfiguration(array $options = [])
71
 * @method ModifyScalingConfiguration modifyScalingConfiguration(array $options = [])
72
 * @method ModifyScalingGroup modifyScalingGroup(array $options = [])
73
 * @method ModifyScalingRule modifyScalingRule(array $options = [])
74
 * @method ModifyScheduledTask modifyScheduledTask(array $options = [])
75
 * @method RebalanceInstances rebalanceInstances(array $options = [])
76
 * @method RecordLifecycleActionHeartbeat recordLifecycleActionHeartbeat(array $options = [])
77
 * @method RemoveInstances removeInstances(array $options = [])
78
 * @method ResumeProcesses resumeProcesses(array $options = [])
79
 * @method ScaleWithAdjustment scaleWithAdjustment(array $options = [])
80
 * @method SetGroupDeletionProtection setGroupDeletionProtection(array $options = [])
81
 * @method SetInstanceHealth setInstanceHealth(array $options = [])
82
 * @method SetInstancesProtection setInstancesProtection(array $options = [])
83
 * @method SuspendProcesses suspendProcesses(array $options = [])
84
 * @method TagResources tagResources(array $options = [])
85
 * @method UntagResources untagResources(array $options = [])
86
 * @method VerifyAuthentication verifyAuthentication(array $options = [])
87
 * @method VerifyUser verifyUser(array $options = [])
88
 */
89
class EssApiResolver extends ApiResolver
90
{
91
}
92
93
class Rpc extends \AlibabaCloud\Client\Resolver\Rpc
94
{
95
    /** @var string */
96
    public $product = 'Ess';
97
98
    /** @var string */
99
    public $version = '2014-08-28';
100
101
    /** @var string */
102
    public $method = 'POST';
103
104
    /** @var string */
105
    public $serviceCode = 'ess';
106
}
107
108
/**
109
 * @method string getClientToken()
110
 * @method $this withClientToken($value)
111
 * @method string getScalingGroupId()
112
 * @method $this withScalingGroupId($value)
113
 * @method string getForceAttach()
114
 * @method $this withForceAttach($value)
115
 * @method string getResourceOwnerAccount()
116
 * @method $this withResourceOwnerAccount($value)
117
 * @method string getOwnerId()
118
 * @method $this withOwnerId($value)
119
 * @method array getAlbServerGroup()
120
 */
121
class AttachAlbServerGroups extends Rpc
122
{
123
124
    /**
125
     * @param array $albServerGroup
126
     *
127
     * @return $this
128
     */
129
	public function withAlbServerGroup(array $albServerGroup)
130
	{
131
	    $this->data['AlbServerGroup'] = $albServerGroup;
132
		foreach ($albServerGroup as $depth1 => $depth1Value) {
133
			if(isset($depth1Value['AlbServerGroupId'])){
134
				$this->options['query']['AlbServerGroup.' . ($depth1 + 1) . '.AlbServerGroupId'] = $depth1Value['AlbServerGroupId'];
135
			}
136
			if(isset($depth1Value['Port'])){
137
				$this->options['query']['AlbServerGroup.' . ($depth1 + 1) . '.Port'] = $depth1Value['Port'];
138
			}
139
			if(isset($depth1Value['Weight'])){
140
				$this->options['query']['AlbServerGroup.' . ($depth1 + 1) . '.Weight'] = $depth1Value['Weight'];
141
			}
142
		}
143
144
		return $this;
145
    }
146
}
147
148
/**
149
 * @method string getClientToken()
150
 * @method $this withClientToken($value)
151
 * @method string getScalingGroupId()
152
 * @method $this withScalingGroupId($value)
153
 * @method string getForceAttach()
154
 * @method $this withForceAttach($value)
155
 * @method string getType()
156
 * @method $this withType($value)
157
 * @method string getAttachMode()
158
 * @method $this withAttachMode($value)
159
 * @method string getResourceOwnerAccount()
160
 * @method $this withResourceOwnerAccount($value)
161
 * @method array getDBInstance()
162
 * @method string getOwnerId()
163
 * @method $this withOwnerId($value)
164
 */
165
class AttachDBInstances extends Rpc
166
{
167
168
    /**
169
     * @param array $dBInstance
170
     *
171
     * @return $this
172
     */
173
	public function withDBInstance(array $dBInstance)
174
	{
175
	    $this->data['DBInstance'] = $dBInstance;
176
		foreach ($dBInstance as $i => $iValue) {
177
			$this->options['query']['DBInstance.' . ($i + 1)] = $iValue;
178
		}
179
180
		return $this;
181
    }
182
}
183
184
/**
185
 * @method string getResourceOwnerId()
186
 * @method $this withResourceOwnerId($value)
187
 * @method string getClientToken()
188
 * @method $this withClientToken($value)
189
 * @method string getScalingGroupId()
190
 * @method $this withScalingGroupId($value)
191
 * @method string getIgnoreInvalidInstance()
192
 * @method $this withIgnoreInvalidInstance($value)
193
 * @method string getResourceOwnerAccount()
194
 * @method $this withResourceOwnerAccount($value)
195
 * @method string getOwnerAccount()
196
 * @method $this withOwnerAccount($value)
197
 * @method string getOwnerId()
198
 * @method $this withOwnerId($value)
199
 * @method string getEntrusted()
200
 * @method $this withEntrusted($value)
201
 * @method array getInstanceId()
202
 * @method array getLoadBalancerWeight()
203
 * @method string getLifecycleHook()
204
 * @method $this withLifecycleHook($value)
205
 */
206
class AttachInstances extends Rpc
207
{
208
209
    /**
210
     * @param array $instanceId
211
     *
212
     * @return $this
213
     */
214
	public function withInstanceId(array $instanceId)
215
	{
216
	    $this->data['InstanceId'] = $instanceId;
217
		foreach ($instanceId as $i => $iValue) {
218
			$this->options['query']['InstanceId.' . ($i + 1)] = $iValue;
219
		}
220
221
		return $this;
222
    }
223
224
    /**
225
     * @param array $loadBalancerWeight
226
     *
227
     * @return $this
228
     */
229
	public function withLoadBalancerWeight(array $loadBalancerWeight)
230
	{
231
	    $this->data['LoadBalancerWeight'] = $loadBalancerWeight;
232
		foreach ($loadBalancerWeight as $i => $iValue) {
233
			$this->options['query']['LoadBalancerWeight.' . ($i + 1)] = $iValue;
234
		}
235
236
		return $this;
237
    }
238
}
239
240
/**
241
 * @method string getClientToken()
242
 * @method $this withClientToken($value)
243
 * @method string getScalingGroupId()
244
 * @method $this withScalingGroupId($value)
245
 * @method string getForceAttach()
246
 * @method $this withForceAttach($value)
247
 * @method array getLoadBalancerConfig()
248
 * @method array getLoadBalancer()
249
 * @method string getResourceOwnerAccount()
250
 * @method $this withResourceOwnerAccount($value)
251
 * @method string getOwnerId()
252
 * @method $this withOwnerId($value)
253
 * @method string getAsync()
254
 * @method $this withAsync($value)
255
 */
256
class AttachLoadBalancers extends Rpc
257
{
258
259
    /**
260
     * @param array $loadBalancerConfig
261
     *
262
     * @return $this
263
     */
264
	public function withLoadBalancerConfig(array $loadBalancerConfig)
265
	{
266
	    $this->data['LoadBalancerConfig'] = $loadBalancerConfig;
267
		foreach ($loadBalancerConfig as $depth1 => $depth1Value) {
268
			if(isset($depth1Value['LoadBalancerId'])){
269
				$this->options['query']['LoadBalancerConfig.' . ($depth1 + 1) . '.LoadBalancerId'] = $depth1Value['LoadBalancerId'];
270
			}
271
			if(isset($depth1Value['Weight'])){
272
				$this->options['query']['LoadBalancerConfig.' . ($depth1 + 1) . '.Weight'] = $depth1Value['Weight'];
273
			}
274
		}
275
276
		return $this;
277
    }
278
279
    /**
280
     * @param array $loadBalancer
281
     *
282
     * @return $this
283
     */
284
	public function withLoadBalancer(array $loadBalancer)
285
	{
286
	    $this->data['LoadBalancer'] = $loadBalancer;
287
		foreach ($loadBalancer as $i => $iValue) {
288
			$this->options['query']['LoadBalancer.' . ($i + 1)] = $iValue;
289
		}
290
291
		return $this;
292
    }
293
}
294
295
/**
296
 * @method string getClientToken()
297
 * @method $this withClientToken($value)
298
 * @method string getScalingGroupId()
299
 * @method $this withScalingGroupId($value)
300
 * @method string getForceAttach()
301
 * @method $this withForceAttach($value)
302
 * @method array getServerGroup()
303
 * @method string getResourceOwnerAccount()
304
 * @method $this withResourceOwnerAccount($value)
305
 * @method string getOwnerId()
306
 * @method $this withOwnerId($value)
307
 */
308
class AttachServerGroups extends Rpc
309
{
310
311
    /**
312
     * @param array $serverGroup
313
     *
314
     * @return $this
315
     */
316
	public function withServerGroup(array $serverGroup)
317
	{
318
	    $this->data['ServerGroup'] = $serverGroup;
319
		foreach ($serverGroup as $depth1 => $depth1Value) {
320
			if(isset($depth1Value['ServerGroupId'])){
321
				$this->options['query']['ServerGroup.' . ($depth1 + 1) . '.ServerGroupId'] = $depth1Value['ServerGroupId'];
322
			}
323
			if(isset($depth1Value['Port'])){
324
				$this->options['query']['ServerGroup.' . ($depth1 + 1) . '.Port'] = $depth1Value['Port'];
325
			}
326
			if(isset($depth1Value['Weight'])){
327
				$this->options['query']['ServerGroup.' . ($depth1 + 1) . '.Weight'] = $depth1Value['Weight'];
328
			}
329
			if(isset($depth1Value['Type'])){
330
				$this->options['query']['ServerGroup.' . ($depth1 + 1) . '.Type'] = $depth1Value['Type'];
331
			}
332
		}
333
334
		return $this;
335
    }
336
}
337
338
/**
339
 * @method string getClientToken()
340
 * @method $this withClientToken($value)
341
 * @method string getScalingGroupId()
342
 * @method $this withScalingGroupId($value)
343
 * @method string getForceAttach()
344
 * @method $this withForceAttach($value)
345
 * @method string getResourceOwnerAccount()
346
 * @method $this withResourceOwnerAccount($value)
347
 * @method string getOwnerId()
348
 * @method $this withOwnerId($value)
349
 * @method array getVServerGroup()
350
 */
351
class AttachVServerGroups extends Rpc
352
{
353
354
    /**
355
     * @param array $vServerGroup
356
     *
357
     * @return $this
358
     */
359
	public function withVServerGroup(array $vServerGroup)
360
	{
361
	    $this->data['VServerGroup'] = $vServerGroup;
362
		foreach ($vServerGroup as $depth1 => $depth1Value) {
363
			if(isset($depth1Value['LoadBalancerId'])){
364
				$this->options['query']['VServerGroup.' . ($depth1 + 1) . '.LoadBalancerId'] = $depth1Value['LoadBalancerId'];
365
			}
366
			foreach ($depth1Value['VServerGroupAttribute'] as $depth2 => $depth2Value) {
367
				if(isset($depth2Value['VServerGroupId'])){
368
					$this->options['query']['VServerGroup.' . ($depth1 + 1) . '.VServerGroupAttribute.' . ($depth2 + 1) . '.VServerGroupId'] = $depth2Value['VServerGroupId'];
369
				}
370
				if(isset($depth2Value['Port'])){
371
					$this->options['query']['VServerGroup.' . ($depth1 + 1) . '.VServerGroupAttribute.' . ($depth2 + 1) . '.Port'] = $depth2Value['Port'];
372
				}
373
				if(isset($depth2Value['Weight'])){
374
					$this->options['query']['VServerGroup.' . ($depth1 + 1) . '.VServerGroupAttribute.' . ($depth2 + 1) . '.Weight'] = $depth2Value['Weight'];
375
				}
376
			}
377
		}
378
379
		return $this;
380
    }
381
}
382
383
/**
384
 * @method string getResourceId()
385
 * @method $this withResourceId($value)
386
 * @method string getResourceOwnerAccount()
387
 * @method $this withResourceOwnerAccount($value)
388
 * @method string getOwnerId()
389
 * @method $this withOwnerId($value)
390
 * @method string getResourceType()
391
 * @method $this withResourceType($value)
392
 * @method string getNewResourceGroupId()
393
 * @method $this withNewResourceGroupId($value)
394
 */
395
class ChangeResourceGroup extends Rpc
396
{
397
}
398
399
/**
400
 * @method string getLifecycleActionToken()
401
 * @method $this withLifecycleActionToken($value)
402
 * @method string getClientToken()
403
 * @method $this withClientToken($value)
404
 * @method string getResourceOwnerAccount()
405
 * @method $this withResourceOwnerAccount($value)
406
 * @method string getLifecycleHookId()
407
 * @method $this withLifecycleHookId($value)
408
 * @method string getOwnerAccount()
409
 * @method $this withOwnerAccount($value)
410
 * @method string getOwnerId()
411
 * @method $this withOwnerId($value)
412
 * @method string getLifecycleActionResult()
413
 * @method $this withLifecycleActionResult($value)
414
 */
415
class CompleteLifecycleAction extends Rpc
416
{
417
}
418
419
/**
420
 * @method string getMetricType()
421
 * @method $this withMetricType($value)
422
 * @method string getScalingGroupId()
423
 * @method $this withScalingGroupId($value)
424
 * @method string getDescription()
425
 * @method $this withDescription($value)
426
 * @method string getExpressionsLogicOperator()
427
 * @method $this withExpressionsLogicOperator($value)
428
 * @method array getAlarmAction()
429
 * @method string getThreshold()
430
 * @method $this withThreshold($value)
431
 * @method string getEffective()
432
 * @method $this withEffective($value)
433
 * @method string getEvaluationCount()
434
 * @method $this withEvaluationCount($value)
435
 * @method string getMetricName()
436
 * @method $this withMetricName($value)
437
 * @method array getDimension()
438
 * @method string getPeriod()
439
 * @method $this withPeriod($value)
440
 * @method array getExpression()
441
 * @method string getResourceOwnerAccount()
442
 * @method $this withResourceOwnerAccount($value)
443
 * @method string getGroupId()
444
 * @method $this withGroupId($value)
445
 * @method string getOwnerId()
446
 * @method $this withOwnerId($value)
447
 * @method string getName()
448
 * @method $this withName($value)
449
 * @method string getComparisonOperator()
450
 * @method $this withComparisonOperator($value)
451
 * @method string getStatistics()
452
 * @method $this withStatistics($value)
453
 */
454
class CreateAlarm extends Rpc
455
{
456
457
    /**
458
     * @param array $alarmAction
459
     *
460
     * @return $this
461
     */
462
	public function withAlarmAction(array $alarmAction)
463
	{
464
	    $this->data['AlarmAction'] = $alarmAction;
465
		foreach ($alarmAction as $i => $iValue) {
466
			$this->options['query']['AlarmAction.' . ($i + 1)] = $iValue;
467
		}
468
469
		return $this;
470
    }
471
472
    /**
473
     * @param array $dimension
474
     *
475
     * @return $this
476
     */
477
	public function withDimension(array $dimension)
478
	{
479
	    $this->data['Dimension'] = $dimension;
480
		foreach ($dimension as $depth1 => $depth1Value) {
481
			if(isset($depth1Value['DimensionValue'])){
482
				$this->options['query']['Dimension.' . ($depth1 + 1) . '.DimensionValue'] = $depth1Value['DimensionValue'];
483
			}
484
			if(isset($depth1Value['DimensionKey'])){
485
				$this->options['query']['Dimension.' . ($depth1 + 1) . '.DimensionKey'] = $depth1Value['DimensionKey'];
486
			}
487
		}
488
489
		return $this;
490
    }
491
492
    /**
493
     * @param array $expression
494
     *
495
     * @return $this
496
     */
497
	public function withExpression(array $expression)
498
	{
499
	    $this->data['Expression'] = $expression;
500
		foreach ($expression as $depth1 => $depth1Value) {
501
			if(isset($depth1Value['Period'])){
502
				$this->options['query']['Expression.' . ($depth1 + 1) . '.Period'] = $depth1Value['Period'];
503
			}
504
			if(isset($depth1Value['Threshold'])){
505
				$this->options['query']['Expression.' . ($depth1 + 1) . '.Threshold'] = $depth1Value['Threshold'];
506
			}
507
			if(isset($depth1Value['MetricName'])){
508
				$this->options['query']['Expression.' . ($depth1 + 1) . '.MetricName'] = $depth1Value['MetricName'];
509
			}
510
			if(isset($depth1Value['ComparisonOperator'])){
511
				$this->options['query']['Expression.' . ($depth1 + 1) . '.ComparisonOperator'] = $depth1Value['ComparisonOperator'];
512
			}
513
			if(isset($depth1Value['Statistics'])){
514
				$this->options['query']['Expression.' . ($depth1 + 1) . '.Statistics'] = $depth1Value['Statistics'];
515
			}
516
		}
517
518
		return $this;
519
    }
520
}
521
522
/**
523
 * @method array getContainer()
524
 * @method array getNtpServer()
525
 * @method string getSpotPriceLimit()
526
 * @method $this withSpotPriceLimit($value)
527
 * @method string getEnableSls()
528
 * @method $this withEnableSls($value)
529
 * @method string getResourceGroupId()
530
 * @method $this withResourceGroupId($value)
531
 * @method string getHostName()
532
 * @method $this withHostName($value)
533
 * @method string getActiveDeadlineSeconds()
534
 * @method $this withActiveDeadlineSeconds($value)
535
 * @method string getEgressBandwidth()
536
 * @method $this withEgressBandwidth($value)
537
 * @method array getDnsConfigSearch()
538
 * @method array getHostAliase()
539
 * @method string getImageSnapshotId()
540
 * @method $this withImageSnapshotId($value)
541
 * @method array getTag()
542
 * @method string getCpuOptionsThreadsPerCore()
543
 * @method $this withCpuOptionsThreadsPerCore($value)
544
 * @method string getDataCachePL()
545
 * @method $this withDataCachePL($value)
546
 * @method string getIpv6AddressCount()
547
 * @method $this withIpv6AddressCount($value)
548
 * @method string getCpu()
549
 * @method $this withCpu($value)
550
 * @method string getOwnerId()
551
 * @method $this withOwnerId($value)
552
 * @method string getScalingConfigurationName()
553
 * @method $this withScalingConfigurationName($value)
554
 * @method string getSpotStrategy()
555
 * @method $this withSpotStrategy($value)
556
 * @method array getVolume()
557
 * @method string getInstanceFamilyLevel()
558
 * @method $this withInstanceFamilyLevel($value)
559
 * @method array getDnsConfigOption()
560
 * @method string getEphemeralStorage()
561
 * @method $this withEphemeralStorage($value)
562
 * @method string getDataCacheProvisionedIops()
563
 * @method $this withDataCacheProvisionedIops($value)
564
 * @method string getEipBandwidth()
565
 * @method $this withEipBandwidth($value)
566
 * @method string getGpuDriverVersion()
567
 * @method $this withGpuDriverVersion($value)
568
 * @method string getCostOptimization()
569
 * @method $this withCostOptimization($value)
570
 * @method string getDataCacheBurstingEnabled()
571
 * @method $this withDataCacheBurstingEnabled($value)
572
 * @method string getMemory()
573
 * @method $this withMemory($value)
574
 * @method string getScalingGroupId()
575
 * @method $this withScalingGroupId($value)
576
 * @method string getSecurityGroupId()
577
 * @method $this withSecurityGroupId($value)
578
 * @method string getDescription()
579
 * @method $this withDescription($value)
580
 * @method string getIngressBandwidth()
581
 * @method $this withIngressBandwidth($value)
582
 * @method string getDnsPolicy()
583
 * @method $this withDnsPolicy($value)
584
 * @method array getSecurityContextSysctl()
585
 * @method string getDataCacheBucket()
586
 * @method $this withDataCacheBucket($value)
587
 * @method array getDnsConfigNameServer()
588
 * @method array getInitContainer()
589
 * @method array getInstanceType()
590
 * @method string getTerminationGracePeriodSeconds()
591
 * @method $this withTerminationGracePeriodSeconds($value)
592
 * @method array getImageRegistryCredential()
593
 * @method string getResourceOwnerAccount()
594
 * @method $this withResourceOwnerAccount($value)
595
 * @method string getRestartPolicy()
596
 * @method $this withRestartPolicy($value)
597
 * @method string getCpuOptionsCore()
598
 * @method $this withCpuOptionsCore($value)
599
 * @method string getRamRoleName()
600
 * @method $this withRamRoleName($value)
601
 * @method array getAcrRegistryInfo()
602
 * @method string getAutoMatchImageCache()
603
 * @method $this withAutoMatchImageCache($value)
604
 * @method string getLoadBalancerWeight()
605
 * @method $this withLoadBalancerWeight($value)
606
 * @method string getContainerGroupName()
607
 * @method $this withContainerGroupName($value)
608
 * @method string getAutoCreateEip()
609
 * @method $this withAutoCreateEip($value)
610
 */
611
class CreateEciScalingConfiguration extends Rpc
612
{
613
614
    /**
615
     * @param array $container
616
     *
617
     * @return $this
618
     */
619
	public function withContainer(array $container)
620
	{
621
	    $this->data['Container'] = $container;
622
		foreach ($container as $depth1 => $depth1Value) {
623
			if(isset($depth1Value['Stdin'])){
624
				$this->options['query']['Container.' . ($depth1 + 1) . '.Stdin'] = $depth1Value['Stdin'];
625
			}
626
			foreach ($depth1Value['LivenessProbeExecCommand'] as $i => $iValue) {
627
				$this->options['query']['Container.' . ($depth1 + 1) . '.LivenessProbe.Exec.Command.' . ($i + 1)] = $iValue;
628
			}
629
			if(isset($depth1Value['LifecyclePostStartHandlerHttpGetPort'])){
630
				$this->options['query']['Container.' . ($depth1 + 1) . '.LifecyclePostStartHandlerHttpGetPort'] = $depth1Value['LifecyclePostStartHandlerHttpGetPort'];
631
			}
632
			if(isset($depth1Value['WorkingDir'])){
633
				$this->options['query']['Container.' . ($depth1 + 1) . '.WorkingDir'] = $depth1Value['WorkingDir'];
634
			}
635
			if(isset($depth1Value['ReadinessProbeHttpGetPort'])){
636
				$this->options['query']['Container.' . ($depth1 + 1) . '.ReadinessProbe.HttpGet.Port'] = $depth1Value['ReadinessProbeHttpGetPort'];
637
			}
638
			if(isset($depth1Value['LivenessProbeHttpGetPort'])){
639
				$this->options['query']['Container.' . ($depth1 + 1) . '.LivenessProbe.HttpGet.Port'] = $depth1Value['LivenessProbeHttpGetPort'];
640
			}
641
			if(isset($depth1Value['LifecyclePreStopHandlerTcpSocketPort'])){
642
				$this->options['query']['Container.' . ($depth1 + 1) . '.LifecyclePreStopHandlerTcpSocketPort'] = $depth1Value['LifecyclePreStopHandlerTcpSocketPort'];
643
			}
644
			foreach ($depth1Value['VolumeMount'] as $depth2 => $depth2Value) {
645
				if(isset($depth2Value['MountPath'])){
646
					$this->options['query']['Container.' . ($depth1 + 1) . '.VolumeMount.' . ($depth2 + 1) . '.MountPath'] = $depth2Value['MountPath'];
647
				}
648
				if(isset($depth2Value['ReadOnly'])){
649
					$this->options['query']['Container.' . ($depth1 + 1) . '.VolumeMount.' . ($depth2 + 1) . '.ReadOnly'] = $depth2Value['ReadOnly'];
650
				}
651
				if(isset($depth2Value['MountPropagation'])){
652
					$this->options['query']['Container.' . ($depth1 + 1) . '.VolumeMount.' . ($depth2 + 1) . '.MountPropagation'] = $depth2Value['MountPropagation'];
653
				}
654
				if(isset($depth2Value['Name'])){
655
					$this->options['query']['Container.' . ($depth1 + 1) . '.VolumeMount.' . ($depth2 + 1) . '.Name'] = $depth2Value['Name'];
656
				}
657
				if(isset($depth2Value['SubPath'])){
658
					$this->options['query']['Container.' . ($depth1 + 1) . '.VolumeMount.' . ($depth2 + 1) . '.SubPath'] = $depth2Value['SubPath'];
659
				}
660
			}
661
			if(isset($depth1Value['Image'])){
662
				$this->options['query']['Container.' . ($depth1 + 1) . '.Image'] = $depth1Value['Image'];
663
			}
664
			foreach ($depth1Value['LifecyclePostStartHandlerExec'] as $i => $iValue) {
665
				$this->options['query']['Container.' . ($depth1 + 1) . '.LifecyclePostStartHandlerExec.' . ($i + 1)] = $iValue;
666
			}
667
			if(isset($depth1Value['Cpu'])){
668
				$this->options['query']['Container.' . ($depth1 + 1) . '.Cpu'] = $depth1Value['Cpu'];
669
			}
670
			if(isset($depth1Value['ReadinessProbeHttpGetPath'])){
671
				$this->options['query']['Container.' . ($depth1 + 1) . '.ReadinessProbe.HttpGet.Path'] = $depth1Value['ReadinessProbeHttpGetPath'];
672
			}
673
			if(isset($depth1Value['Gpu'])){
674
				$this->options['query']['Container.' . ($depth1 + 1) . '.Gpu'] = $depth1Value['Gpu'];
675
			}
676
			if(isset($depth1Value['StdinOnce'])){
677
				$this->options['query']['Container.' . ($depth1 + 1) . '.StdinOnce'] = $depth1Value['StdinOnce'];
678
			}
679
			if(isset($depth1Value['LifecyclePostStartHandlerTcpSocketHost'])){
680
				$this->options['query']['Container.' . ($depth1 + 1) . '.LifecyclePostStartHandlerTcpSocketHost'] = $depth1Value['LifecyclePostStartHandlerTcpSocketHost'];
681
			}
682
			if(isset($depth1Value['LivenessProbeSuccessThreshold'])){
683
				$this->options['query']['Container.' . ($depth1 + 1) . '.LivenessProbe.SuccessThreshold'] = $depth1Value['LivenessProbeSuccessThreshold'];
684
			}
685
			if(isset($depth1Value['SecurityContextRunAsUser'])){
686
				$this->options['query']['Container.' . ($depth1 + 1) . '.SecurityContext.RunAsUser'] = $depth1Value['SecurityContextRunAsUser'];
687
			}
688
			if(isset($depth1Value['LivenessProbePeriodSeconds'])){
689
				$this->options['query']['Container.' . ($depth1 + 1) . '.LivenessProbe.PeriodSeconds'] = $depth1Value['LivenessProbePeriodSeconds'];
690
			}
691
			if(isset($depth1Value['LivenessProbeInitialDelaySeconds'])){
692
				$this->options['query']['Container.' . ($depth1 + 1) . '.LivenessProbe.InitialDelaySeconds'] = $depth1Value['LivenessProbeInitialDelaySeconds'];
693
			}
694
			foreach ($depth1Value['Port'] as $depth2 => $depth2Value) {
695
				if(isset($depth2Value['Protocol'])){
696
					$this->options['query']['Container.' . ($depth1 + 1) . '.Port.' . ($depth2 + 1) . '.Protocol'] = $depth2Value['Protocol'];
697
				}
698
				if(isset($depth2Value['Port'])){
699
					$this->options['query']['Container.' . ($depth1 + 1) . '.Port.' . ($depth2 + 1) . '.Port'] = $depth2Value['Port'];
700
				}
701
			}
702
			if(isset($depth1Value['Name'])){
703
				$this->options['query']['Container.' . ($depth1 + 1) . '.Name'] = $depth1Value['Name'];
704
			}
705
			if(isset($depth1Value['LifecyclePreStopHandlerTcpSocketHost'])){
706
				$this->options['query']['Container.' . ($depth1 + 1) . '.LifecyclePreStopHandlerTcpSocketHost'] = $depth1Value['LifecyclePreStopHandlerTcpSocketHost'];
707
			}
708
			if(isset($depth1Value['SecurityContextReadOnlyRootFilesystem'])){
709
				$this->options['query']['Container.' . ($depth1 + 1) . '.SecurityContext.ReadOnlyRootFilesystem'] = $depth1Value['SecurityContextReadOnlyRootFilesystem'];
710
			}
711
			if(isset($depth1Value['LifecyclePreStopHandlerHttpGetHost'])){
712
				$this->options['query']['Container.' . ($depth1 + 1) . '.LifecyclePreStopHandlerHttpGetHost'] = $depth1Value['LifecyclePreStopHandlerHttpGetHost'];
713
			}
714
			if(isset($depth1Value['Memory'])){
715
				$this->options['query']['Container.' . ($depth1 + 1) . '.Memory'] = $depth1Value['Memory'];
716
			}
717
			if(isset($depth1Value['LifecyclePreStopHandlerHttpGetScheme'])){
718
				$this->options['query']['Container.' . ($depth1 + 1) . '.LifecyclePreStopHandlerHttpGetScheme'] = $depth1Value['LifecyclePreStopHandlerHttpGetScheme'];
719
			}
720
			if(isset($depth1Value['LifecyclePostStartHandlerTcpSocketPort'])){
721
				$this->options['query']['Container.' . ($depth1 + 1) . '.LifecyclePostStartHandlerTcpSocketPort'] = $depth1Value['LifecyclePostStartHandlerTcpSocketPort'];
722
			}
723
			if(isset($depth1Value['LifecyclePreStopHandlerHttpGetPath'])){
724
				$this->options['query']['Container.' . ($depth1 + 1) . '.LifecyclePreStopHandlerHttpGetPath'] = $depth1Value['LifecyclePreStopHandlerHttpGetPath'];
725
			}
726
			if(isset($depth1Value['LifecyclePostStartHandlerHttpGetHost'])){
727
				$this->options['query']['Container.' . ($depth1 + 1) . '.LifecyclePostStartHandlerHttpGetHost'] = $depth1Value['LifecyclePostStartHandlerHttpGetHost'];
728
			}
729
			if(isset($depth1Value['ReadinessProbeFailureThreshold'])){
730
				$this->options['query']['Container.' . ($depth1 + 1) . '.ReadinessProbe.FailureThreshold'] = $depth1Value['ReadinessProbeFailureThreshold'];
731
			}
732
			foreach ($depth1Value['Arg'] as $i => $iValue) {
733
				$this->options['query']['Container.' . ($depth1 + 1) . '.Arg.' . ($i + 1)] = $iValue;
734
			}
735
			if(isset($depth1Value['ReadinessProbeSuccessThreshold'])){
736
				$this->options['query']['Container.' . ($depth1 + 1) . '.ReadinessProbe.SuccessThreshold'] = $depth1Value['ReadinessProbeSuccessThreshold'];
737
			}
738
			if(isset($depth1Value['LifecyclePostStartHandlerHttpGetPath'])){
739
				$this->options['query']['Container.' . ($depth1 + 1) . '.LifecyclePostStartHandlerHttpGetPath'] = $depth1Value['LifecyclePostStartHandlerHttpGetPath'];
740
			}
741
			foreach ($depth1Value['LifecyclePreStopHandlerExec'] as $i => $iValue) {
742
				$this->options['query']['Container.' . ($depth1 + 1) . '.LifecyclePreStopHandlerExec.' . ($i + 1)] = $iValue;
743
			}
744
			foreach ($depth1Value['SecurityContextCapabilityAdd'] as $i => $iValue) {
745
				$this->options['query']['Container.' . ($depth1 + 1) . '.SecurityContext.Capability.Add.' . ($i + 1)] = $iValue;
746
			}
747
			if(isset($depth1Value['ReadinessProbeInitialDelaySeconds'])){
748
				$this->options['query']['Container.' . ($depth1 + 1) . '.ReadinessProbe.InitialDelaySeconds'] = $depth1Value['ReadinessProbeInitialDelaySeconds'];
749
			}
750
			foreach ($depth1Value['ReadinessProbeExecCommand'] as $i => $iValue) {
751
				$this->options['query']['Container.' . ($depth1 + 1) . '.ReadinessProbe.Exec.Command.' . ($i + 1)] = $iValue;
752
			}
753
			if(isset($depth1Value['ReadinessProbeHttpGetScheme'])){
754
				$this->options['query']['Container.' . ($depth1 + 1) . '.ReadinessProbe.HttpGet.Scheme'] = $depth1Value['ReadinessProbeHttpGetScheme'];
755
			}
756
			if(isset($depth1Value['LifecyclePreStopHandlerHttpGetPort'])){
757
				$this->options['query']['Container.' . ($depth1 + 1) . '.LifecyclePreStopHandlerHttpGetPort'] = $depth1Value['LifecyclePreStopHandlerHttpGetPort'];
758
			}
759
			if(isset($depth1Value['ImagePullPolicy'])){
760
				$this->options['query']['Container.' . ($depth1 + 1) . '.ImagePullPolicy'] = $depth1Value['ImagePullPolicy'];
761
			}
762
			foreach ($depth1Value['Command'] as $i => $iValue) {
763
				$this->options['query']['Container.' . ($depth1 + 1) . '.Command.' . ($i + 1)] = $iValue;
764
			}
765
			if(isset($depth1Value['LivenessProbeHttpGetPath'])){
766
				$this->options['query']['Container.' . ($depth1 + 1) . '.LivenessProbe.HttpGet.Path'] = $depth1Value['LivenessProbeHttpGetPath'];
767
			}
768
			if(isset($depth1Value['LifecyclePostStartHandlerHttpGetScheme'])){
769
				$this->options['query']['Container.' . ($depth1 + 1) . '.LifecyclePostStartHandlerHttpGetScheme'] = $depth1Value['LifecyclePostStartHandlerHttpGetScheme'];
770
			}
771
			if(isset($depth1Value['LivenessProbeTimeoutSeconds'])){
772
				$this->options['query']['Container.' . ($depth1 + 1) . '.LivenessProbe.TimeoutSeconds'] = $depth1Value['LivenessProbeTimeoutSeconds'];
773
			}
774
			if(isset($depth1Value['LivenessProbeTcpSocketPort'])){
775
				$this->options['query']['Container.' . ($depth1 + 1) . '.LivenessProbe.TcpSocket.Port'] = $depth1Value['LivenessProbeTcpSocketPort'];
776
			}
777
			if(isset($depth1Value['ReadinessProbePeriodSeconds'])){
778
				$this->options['query']['Container.' . ($depth1 + 1) . '.ReadinessProbe.PeriodSeconds'] = $depth1Value['ReadinessProbePeriodSeconds'];
779
			}
780
			foreach ($depth1Value['EnvironmentVar'] as $depth2 => $depth2Value) {
781
				if(isset($depth2Value['FieldRefFieldPath'])){
782
					$this->options['query']['Container.' . ($depth1 + 1) . '.EnvironmentVar.' . ($depth2 + 1) . '.FieldRefFieldPath'] = $depth2Value['FieldRefFieldPath'];
783
				}
784
				if(isset($depth2Value['Value'])){
785
					$this->options['query']['Container.' . ($depth1 + 1) . '.EnvironmentVar.' . ($depth2 + 1) . '.Value'] = $depth2Value['Value'];
786
				}
787
				if(isset($depth2Value['Key'])){
788
					$this->options['query']['Container.' . ($depth1 + 1) . '.EnvironmentVar.' . ($depth2 + 1) . '.Key'] = $depth2Value['Key'];
789
				}
790
			}
791
			if(isset($depth1Value['Tty'])){
792
				$this->options['query']['Container.' . ($depth1 + 1) . '.Tty'] = $depth1Value['Tty'];
793
			}
794
			if(isset($depth1Value['LivenessProbeFailureThreshold'])){
795
				$this->options['query']['Container.' . ($depth1 + 1) . '.LivenessProbe.FailureThreshold'] = $depth1Value['LivenessProbeFailureThreshold'];
796
			}
797
			if(isset($depth1Value['ReadinessProbeTimeoutSeconds'])){
798
				$this->options['query']['Container.' . ($depth1 + 1) . '.ReadinessProbe.TimeoutSeconds'] = $depth1Value['ReadinessProbeTimeoutSeconds'];
799
			}
800
			if(isset($depth1Value['ReadinessProbeTcpSocketPort'])){
801
				$this->options['query']['Container.' . ($depth1 + 1) . '.ReadinessProbe.TcpSocket.Port'] = $depth1Value['ReadinessProbeTcpSocketPort'];
802
			}
803
			if(isset($depth1Value['LivenessProbeHttpGetScheme'])){
804
				$this->options['query']['Container.' . ($depth1 + 1) . '.LivenessProbe.HttpGet.Scheme'] = $depth1Value['LivenessProbeHttpGetScheme'];
805
			}
806
		}
807
808
		return $this;
809
    }
810
811
    /**
812
     * @param array $ntpServer
813
     *
814
     * @return $this
815
     */
816
	public function withNtpServer(array $ntpServer)
817
	{
818
	    $this->data['NtpServer'] = $ntpServer;
819
		foreach ($ntpServer as $i => $iValue) {
820
			$this->options['query']['NtpServer.' . ($i + 1)] = $iValue;
821
		}
822
823
		return $this;
824
    }
825
826
    /**
827
     * @param array $dnsConfigSearch
828
     *
829
     * @return $this
830
     */
831
	public function withDnsConfigSearch(array $dnsConfigSearch)
832
	{
833
	    $this->data['DnsConfigSearch'] = $dnsConfigSearch;
834
		foreach ($dnsConfigSearch as $i => $iValue) {
835
			$this->options['query']['DnsConfigSearch.' . ($i + 1)] = $iValue;
836
		}
837
838
		return $this;
839
    }
840
841
    /**
842
     * @param array $hostAliase
843
     *
844
     * @return $this
845
     */
846
	public function withHostAliase(array $hostAliase)
847
	{
848
	    $this->data['HostAliase'] = $hostAliase;
849
		foreach ($hostAliase as $depth1 => $depth1Value) {
850
			foreach ($depth1Value['Hostname'] as $i => $iValue) {
851
				$this->options['query']['HostAliase.' . ($depth1 + 1) . '.Hostname.' . ($i + 1)] = $iValue;
852
			}
853
			if(isset($depth1Value['Ip'])){
854
				$this->options['query']['HostAliase.' . ($depth1 + 1) . '.Ip'] = $depth1Value['Ip'];
855
			}
856
		}
857
858
		return $this;
859
    }
860
861
    /**
862
     * @param array $tag
863
     *
864
     * @return $this
865
     */
866
	public function withTag(array $tag)
867
	{
868
	    $this->data['Tag'] = $tag;
869
		foreach ($tag as $depth1 => $depth1Value) {
870
			if(isset($depth1Value['Value'])){
871
				$this->options['query']['Tag.' . ($depth1 + 1) . '.Value'] = $depth1Value['Value'];
872
			}
873
			if(isset($depth1Value['Key'])){
874
				$this->options['query']['Tag.' . ($depth1 + 1) . '.Key'] = $depth1Value['Key'];
875
			}
876
		}
877
878
		return $this;
879
    }
880
881
    /**
882
     * @param array $volume
883
     *
884
     * @return $this
885
     */
886
	public function withVolume(array $volume)
887
	{
888
	    $this->data['Volume'] = $volume;
889
		foreach ($volume as $depth1 => $depth1Value) {
890
			if(isset($depth1Value['DiskVolumeFsType'])){
891
				$this->options['query']['Volume.' . ($depth1 + 1) . '.DiskVolume.FsType'] = $depth1Value['DiskVolumeFsType'];
892
			}
893
			if(isset($depth1Value['EmptyDirVolumeSizeLimit'])){
894
				$this->options['query']['Volume.' . ($depth1 + 1) . '.EmptyDirVolume.SizeLimit'] = $depth1Value['EmptyDirVolumeSizeLimit'];
895
			}
896
			if(isset($depth1Value['NFSVolumePath'])){
897
				$this->options['query']['Volume.' . ($depth1 + 1) . '.NFSVolume.Path'] = $depth1Value['NFSVolumePath'];
898
			}
899
			if(isset($depth1Value['DiskVolumeDiskId'])){
900
				$this->options['query']['Volume.' . ($depth1 + 1) . '.DiskVolume.DiskId'] = $depth1Value['DiskVolumeDiskId'];
901
			}
902
			if(isset($depth1Value['FlexVolumeFsType'])){
903
				$this->options['query']['Volume.' . ($depth1 + 1) . '.FlexVolume.FsType'] = $depth1Value['FlexVolumeFsType'];
904
			}
905
			if(isset($depth1Value['Type'])){
906
				$this->options['query']['Volume.' . ($depth1 + 1) . '.Type'] = $depth1Value['Type'];
907
			}
908
			if(isset($depth1Value['FlexVolumeDriver'])){
909
				$this->options['query']['Volume.' . ($depth1 + 1) . '.FlexVolume.Driver'] = $depth1Value['FlexVolumeDriver'];
910
			}
911
			if(isset($depth1Value['FlexVolumeOptions'])){
912
				$this->options['query']['Volume.' . ($depth1 + 1) . '.FlexVolume.Options'] = $depth1Value['FlexVolumeOptions'];
913
			}
914
			if(isset($depth1Value['NFSVolumeServer'])){
915
				$this->options['query']['Volume.' . ($depth1 + 1) . '.NFSVolume.Server'] = $depth1Value['NFSVolumeServer'];
916
			}
917
			if(isset($depth1Value['EmptyDirVolumeMedium'])){
918
				$this->options['query']['Volume.' . ($depth1 + 1) . '.EmptyDirVolume.Medium'] = $depth1Value['EmptyDirVolumeMedium'];
919
			}
920
			if(isset($depth1Value['HostPathVolumePath'])){
921
				$this->options['query']['Volume.' . ($depth1 + 1) . '.HostPathVolume.Path'] = $depth1Value['HostPathVolumePath'];
922
			}
923
			if(isset($depth1Value['Name'])){
924
				$this->options['query']['Volume.' . ($depth1 + 1) . '.Name'] = $depth1Value['Name'];
925
			}
926
			foreach ($depth1Value['ConfigFileVolumeConfigFileToPath'] as $depth2 => $depth2Value) {
927
				if(isset($depth2Value['Mode'])){
928
					$this->options['query']['Volume.' . ($depth1 + 1) . '.ConfigFileVolumeConfigFileToPath.' . ($depth2 + 1) . '.Mode'] = $depth2Value['Mode'];
929
				}
930
				if(isset($depth2Value['Path'])){
931
					$this->options['query']['Volume.' . ($depth1 + 1) . '.ConfigFileVolumeConfigFileToPath.' . ($depth2 + 1) . '.Path'] = $depth2Value['Path'];
932
				}
933
				if(isset($depth2Value['Content'])){
934
					$this->options['query']['Volume.' . ($depth1 + 1) . '.ConfigFileVolumeConfigFileToPath.' . ($depth2 + 1) . '.Content'] = $depth2Value['Content'];
935
				}
936
			}
937
			if(isset($depth1Value['DiskVolumeDiskSize'])){
938
				$this->options['query']['Volume.' . ($depth1 + 1) . '.DiskVolume.DiskSize'] = $depth1Value['DiskVolumeDiskSize'];
939
			}
940
			if(isset($depth1Value['ConfigFileVolumeDefaultMode'])){
941
				$this->options['query']['Volume.' . ($depth1 + 1) . '.ConfigFileVolumeDefaultMode'] = $depth1Value['ConfigFileVolumeDefaultMode'];
942
			}
943
			if(isset($depth1Value['HostPathVolumeType'])){
944
				$this->options['query']['Volume.' . ($depth1 + 1) . '.HostPathVolume.Type'] = $depth1Value['HostPathVolumeType'];
945
			}
946
			if(isset($depth1Value['NFSVolumeReadOnly'])){
947
				$this->options['query']['Volume.' . ($depth1 + 1) . '.NFSVolume.ReadOnly'] = $depth1Value['NFSVolumeReadOnly'];
948
			}
949
		}
950
951
		return $this;
952
    }
953
954
    /**
955
     * @param array $dnsConfigOption
956
     *
957
     * @return $this
958
     */
959
	public function withDnsConfigOption(array $dnsConfigOption)
960
	{
961
	    $this->data['DnsConfigOption'] = $dnsConfigOption;
962
		foreach ($dnsConfigOption as $depth1 => $depth1Value) {
963
			if(isset($depth1Value['Name'])){
964
				$this->options['query']['DnsConfigOption.' . ($depth1 + 1) . '.Name'] = $depth1Value['Name'];
965
			}
966
			if(isset($depth1Value['Value'])){
967
				$this->options['query']['DnsConfigOption.' . ($depth1 + 1) . '.Value'] = $depth1Value['Value'];
968
			}
969
		}
970
971
		return $this;
972
    }
973
974
    /**
975
     * @param array $securityContextSysctl
976
     *
977
     * @return $this
978
     */
979
	public function withSecurityContextSysctl(array $securityContextSysctl)
980
	{
981
	    $this->data['SecurityContextSysctl'] = $securityContextSysctl;
982
		foreach ($securityContextSysctl as $depth1 => $depth1Value) {
983
			if(isset($depth1Value['Name'])){
984
				$this->options['query']['SecurityContextSysctl.' . ($depth1 + 1) . '.Name'] = $depth1Value['Name'];
985
			}
986
			if(isset($depth1Value['Value'])){
987
				$this->options['query']['SecurityContextSysctl.' . ($depth1 + 1) . '.Value'] = $depth1Value['Value'];
988
			}
989
		}
990
991
		return $this;
992
    }
993
994
    /**
995
     * @param array $dnsConfigNameServer
996
     *
997
     * @return $this
998
     */
999
	public function withDnsConfigNameServer(array $dnsConfigNameServer)
1000
	{
1001
	    $this->data['DnsConfigNameServer'] = $dnsConfigNameServer;
1002
		foreach ($dnsConfigNameServer as $i => $iValue) {
1003
			$this->options['query']['DnsConfigNameServer.' . ($i + 1)] = $iValue;
1004
		}
1005
1006
		return $this;
1007
    }
1008
1009
    /**
1010
     * @param array $initContainer
1011
     *
1012
     * @return $this
1013
     */
1014
	public function withInitContainer(array $initContainer)
1015
	{
1016
	    $this->data['InitContainer'] = $initContainer;
1017
		foreach ($initContainer as $depth1 => $depth1Value) {
1018
			if(isset($depth1Value['Image'])){
1019
				$this->options['query']['InitContainer.' . ($depth1 + 1) . '.Image'] = $depth1Value['Image'];
1020
			}
1021
			foreach ($depth1Value['InitContainerEnvironmentVar'] as $depth2 => $depth2Value) {
1022
				if(isset($depth2Value['FieldRefFieldPath'])){
1023
					$this->options['query']['InitContainer.' . ($depth1 + 1) . '.InitContainerEnvironmentVar.' . ($depth2 + 1) . '.FieldRefFieldPath'] = $depth2Value['FieldRefFieldPath'];
1024
				}
1025
				if(isset($depth2Value['Value'])){
1026
					$this->options['query']['InitContainer.' . ($depth1 + 1) . '.InitContainerEnvironmentVar.' . ($depth2 + 1) . '.Value'] = $depth2Value['Value'];
1027
				}
1028
				if(isset($depth2Value['Key'])){
1029
					$this->options['query']['InitContainer.' . ($depth1 + 1) . '.InitContainerEnvironmentVar.' . ($depth2 + 1) . '.Key'] = $depth2Value['Key'];
1030
				}
1031
			}
1032
			foreach ($depth1Value['SecurityContextCapabilityAdd'] as $i => $iValue) {
1033
				$this->options['query']['InitContainer.' . ($depth1 + 1) . '.SecurityContext.Capability.Add.' . ($i + 1)] = $iValue;
1034
			}
1035
			if(isset($depth1Value['Memory'])){
1036
				$this->options['query']['InitContainer.' . ($depth1 + 1) . '.Memory'] = $depth1Value['Memory'];
1037
			}
1038
			if(isset($depth1Value['WorkingDir'])){
1039
				$this->options['query']['InitContainer.' . ($depth1 + 1) . '.WorkingDir'] = $depth1Value['WorkingDir'];
1040
			}
1041
			if(isset($depth1Value['Cpu'])){
1042
				$this->options['query']['InitContainer.' . ($depth1 + 1) . '.Cpu'] = $depth1Value['Cpu'];
1043
			}
1044
			if(isset($depth1Value['Gpu'])){
1045
				$this->options['query']['InitContainer.' . ($depth1 + 1) . '.Gpu'] = $depth1Value['Gpu'];
1046
			}
1047
			if(isset($depth1Value['ImagePullPolicy'])){
1048
				$this->options['query']['InitContainer.' . ($depth1 + 1) . '.ImagePullPolicy'] = $depth1Value['ImagePullPolicy'];
1049
			}
1050
			foreach ($depth1Value['Command'] as $i => $iValue) {
1051
				$this->options['query']['InitContainer.' . ($depth1 + 1) . '.Command.' . ($i + 1)] = $iValue;
1052
			}
1053
			if(isset($depth1Value['SecurityContextRunAsUser'])){
1054
				$this->options['query']['InitContainer.' . ($depth1 + 1) . '.SecurityContext.RunAsUser'] = $depth1Value['SecurityContextRunAsUser'];
1055
			}
1056
			foreach ($depth1Value['InitContainerPort'] as $depth2 => $depth2Value) {
1057
				if(isset($depth2Value['Protocol'])){
1058
					$this->options['query']['InitContainer.' . ($depth1 + 1) . '.InitContainerPort.' . ($depth2 + 1) . '.Protocol'] = $depth2Value['Protocol'];
1059
				}
1060
				if(isset($depth2Value['Port'])){
1061
					$this->options['query']['InitContainer.' . ($depth1 + 1) . '.InitContainerPort.' . ($depth2 + 1) . '.Port'] = $depth2Value['Port'];
1062
				}
1063
			}
1064
			foreach ($depth1Value['Arg'] as $i => $iValue) {
1065
				$this->options['query']['InitContainer.' . ($depth1 + 1) . '.Arg.' . ($i + 1)] = $iValue;
1066
			}
1067
			if(isset($depth1Value['Name'])){
1068
				$this->options['query']['InitContainer.' . ($depth1 + 1) . '.Name'] = $depth1Value['Name'];
1069
			}
1070
			foreach ($depth1Value['InitContainerVolumeMount'] as $depth2 => $depth2Value) {
1071
				if(isset($depth2Value['MountPath'])){
1072
					$this->options['query']['InitContainer.' . ($depth1 + 1) . '.InitContainerVolumeMount.' . ($depth2 + 1) . '.MountPath'] = $depth2Value['MountPath'];
1073
				}
1074
				if(isset($depth2Value['ReadOnly'])){
1075
					$this->options['query']['InitContainer.' . ($depth1 + 1) . '.InitContainerVolumeMount.' . ($depth2 + 1) . '.ReadOnly'] = $depth2Value['ReadOnly'];
1076
				}
1077
				if(isset($depth2Value['MountPropagation'])){
1078
					$this->options['query']['InitContainer.' . ($depth1 + 1) . '.InitContainerVolumeMount.' . ($depth2 + 1) . '.MountPropagation'] = $depth2Value['MountPropagation'];
1079
				}
1080
				if(isset($depth2Value['Name'])){
1081
					$this->options['query']['InitContainer.' . ($depth1 + 1) . '.InitContainerVolumeMount.' . ($depth2 + 1) . '.Name'] = $depth2Value['Name'];
1082
				}
1083
				if(isset($depth2Value['SubPath'])){
1084
					$this->options['query']['InitContainer.' . ($depth1 + 1) . '.InitContainerVolumeMount.' . ($depth2 + 1) . '.SubPath'] = $depth2Value['SubPath'];
1085
				}
1086
			}
1087
			if(isset($depth1Value['SecurityContextReadOnlyRootFilesystem'])){
1088
				$this->options['query']['InitContainer.' . ($depth1 + 1) . '.SecurityContext.ReadOnlyRootFilesystem'] = $depth1Value['SecurityContextReadOnlyRootFilesystem'];
1089
			}
1090
		}
1091
1092
		return $this;
1093
    }
1094
1095
    /**
1096
     * @param array $instanceType
1097
     *
1098
     * @return $this
1099
     */
1100
	public function withInstanceType(array $instanceType)
1101
	{
1102
	    $this->data['InstanceType'] = $instanceType;
1103
		foreach ($instanceType as $i => $iValue) {
1104
			$this->options['query']['InstanceType.' . ($i + 1)] = $iValue;
1105
		}
1106
1107
		return $this;
1108
    }
1109
1110
    /**
1111
     * @param array $imageRegistryCredential
1112
     *
1113
     * @return $this
1114
     */
1115
	public function withImageRegistryCredential(array $imageRegistryCredential)
1116
	{
1117
	    $this->data['ImageRegistryCredential'] = $imageRegistryCredential;
1118
		foreach ($imageRegistryCredential as $depth1 => $depth1Value) {
1119
			if(isset($depth1Value['Server'])){
1120
				$this->options['query']['ImageRegistryCredential.' . ($depth1 + 1) . '.Server'] = $depth1Value['Server'];
1121
			}
1122
			if(isset($depth1Value['Password'])){
1123
				$this->options['query']['ImageRegistryCredential.' . ($depth1 + 1) . '.Password'] = $depth1Value['Password'];
1124
			}
1125
			if(isset($depth1Value['UserName'])){
1126
				$this->options['query']['ImageRegistryCredential.' . ($depth1 + 1) . '.UserName'] = $depth1Value['UserName'];
1127
			}
1128
		}
1129
1130
		return $this;
1131
    }
1132
1133
    /**
1134
     * @param array $acrRegistryInfo
1135
     *
1136
     * @return $this
1137
     */
1138
	public function withAcrRegistryInfo(array $acrRegistryInfo)
1139
	{
1140
	    $this->data['AcrRegistryInfo'] = $acrRegistryInfo;
1141
		foreach ($acrRegistryInfo as $depth1 => $depth1Value) {
1142
			if(isset($depth1Value['InstanceName'])){
1143
				$this->options['query']['AcrRegistryInfo.' . ($depth1 + 1) . '.InstanceName'] = $depth1Value['InstanceName'];
1144
			}
1145
			if(isset($depth1Value['InstanceId'])){
1146
				$this->options['query']['AcrRegistryInfo.' . ($depth1 + 1) . '.InstanceId'] = $depth1Value['InstanceId'];
1147
			}
1148
			if(isset($depth1Value['RegionId'])){
1149
				$this->options['query']['AcrRegistryInfo.' . ($depth1 + 1) . '.RegionId'] = $depth1Value['RegionId'];
1150
			}
1151
			foreach ($depth1Value['Domain'] as $i => $iValue) {
1152
				$this->options['query']['AcrRegistryInfo.' . ($depth1 + 1) . '.Domain.' . ($i + 1)] = $iValue;
1153
			}
1154
		}
1155
1156
		return $this;
1157
    }
1158
}
1159
1160
/**
1161
 * @method string getDefaultResult()
1162
 * @method $this withDefaultResult($value)
1163
 * @method string getHeartbeatTimeout()
1164
 * @method $this withHeartbeatTimeout($value)
1165
 * @method string getScalingGroupId()
1166
 * @method $this withScalingGroupId($value)
1167
 * @method string getLifecycleTransition()
1168
 * @method $this withLifecycleTransition($value)
1169
 * @method string getLifecycleHookName()
1170
 * @method $this withLifecycleHookName($value)
1171
 * @method string getNotificationArn()
1172
 * @method $this withNotificationArn($value)
1173
 * @method string getResourceOwnerAccount()
1174
 * @method $this withResourceOwnerAccount($value)
1175
 * @method string getOwnerAccount()
1176
 * @method $this withOwnerAccount($value)
1177
 * @method string getNotificationMetadata()
1178
 * @method $this withNotificationMetadata($value)
1179
 * @method string getOwnerId()
1180
 * @method $this withOwnerId($value)
1181
 */
1182
class CreateLifecycleHook extends Rpc
1183
{
1184
}
1185
1186
/**
1187
 * @method string getScalingGroupId()
1188
 * @method $this withScalingGroupId($value)
1189
 * @method string getTimeZone()
1190
 * @method $this withTimeZone($value)
1191
 * @method string getNotificationArn()
1192
 * @method $this withNotificationArn($value)
1193
 * @method string getResourceOwnerAccount()
1194
 * @method $this withResourceOwnerAccount($value)
1195
 * @method string getOwnerId()
1196
 * @method $this withOwnerId($value)
1197
 * @method array getNotificationType()
1198
 */
1199
class CreateNotificationConfiguration extends Rpc
1200
{
1201
1202
    /**
1203
     * @param array $notificationType
1204
     *
1205
     * @return $this
1206
     */
1207
	public function withNotificationType(array $notificationType)
1208
	{
1209
	    $this->data['NotificationType'] = $notificationType;
1210
		foreach ($notificationType as $i => $iValue) {
1211
			$this->options['query']['NotificationType.' . ($i + 1)] = $iValue;
1212
		}
1213
1214
		return $this;
1215
    }
1216
}
1217
1218
/**
1219
 * @method string getHpcClusterId()
1220
 * @method $this withHpcClusterId($value)
1221
 * @method string getSecurityOptions()
1222
 * @method $this withSecurityOptions($value)
1223
 * @method string getSecurityEnhancementStrategy()
1224
 * @method $this withSecurityEnhancementStrategy($value)
1225
 * @method string getKeyPairName()
1226
 * @method $this withKeyPairName($value)
1227
 * @method array getSpotPriceLimit()
1228
 * @method string getDeletionProtection()
1229
 * @method $this withDeletionProtection($value)
1230
 * @method string getResourceGroupId()
1231
 * @method $this withResourceGroupId($value)
1232
 * @method string getPrivatePoolOptionsMatchCriteria()
1233
 * @method string getHostName()
1234
 * @method $this withHostName($value)
1235
 * @method string getPassword()
1236
 * @method $this withPassword($value)
1237
 * @method string getInstanceDescription()
1238
 * @method $this withInstanceDescription($value)
1239
 * @method string getStorageSetPartitionNumber()
1240
 * @method $this withStorageSetPartitionNumber($value)
1241
 * @method array getCustomPriorities()
1242
 * @method string getSystemDiskAutoSnapshotPolicyId()
1243
 * @method string getPrivatePoolOptionsId()
1244
 * @method string getImageOptionsLoginAsNonRoot()
1245
 * @method string getIpv6AddressCount()
1246
 * @method $this withIpv6AddressCount($value)
1247
 * @method string getCpu()
1248
 * @method $this withCpu($value)
1249
 * @method array getSystemDiskCategories()
1250
 * @method string getOwnerId()
1251
 * @method $this withOwnerId($value)
1252
 * @method string getScalingConfigurationName()
1253
 * @method $this withScalingConfigurationName($value)
1254
 * @method string getTags()
1255
 * @method $this withTags($value)
1256
 * @method string getSpotStrategy()
1257
 * @method $this withSpotStrategy($value)
1258
 * @method string getCpuOptions()
1259
 * @method $this withCpuOptions($value)
1260
 * @method string getSystemDiskBurstingEnabled()
1261
 * @method string getInstanceName()
1262
 * @method $this withInstanceName($value)
1263
 * @method string getInternetChargeType()
1264
 * @method $this withInternetChargeType($value)
1265
 * @method string getZoneId()
1266
 * @method $this withZoneId($value)
1267
 * @method string getInternetMaxBandwidthIn()
1268
 * @method $this withInternetMaxBandwidthIn($value)
1269
 * @method array getInstancePatternInfo()
1270
 * @method string getAffinity()
1271
 * @method $this withAffinity($value)
1272
 * @method array getNetworkInterfaces()
1273
 * @method string getImageId()
1274
 * @method $this withImageId($value)
1275
 * @method string getMemory()
1276
 * @method $this withMemory($value)
1277
 * @method string getClientToken()
1278
 * @method $this withClientToken($value)
1279
 * @method string getSpotInterruptionBehavior()
1280
 * @method $this withSpotInterruptionBehavior($value)
1281
 * @method string getScalingGroupId()
1282
 * @method $this withScalingGroupId($value)
1283
 * @method string getIoOptimized()
1284
 * @method $this withIoOptimized($value)
1285
 * @method array getInstanceTypes()
1286
 * @method string getSecurityGroupId()
1287
 * @method $this withSecurityGroupId($value)
1288
 * @method string getInternetMaxBandwidthOut()
1289
 * @method $this withInternetMaxBandwidthOut($value)
1290
 * @method string getSystemDiskKMSKeyId()
1291
 * @method string getSystemDiskCategory()
1292
 * @method string getSystemDiskPerformanceLevel()
1293
 * @method string getUserData()
1294
 * @method $this withUserData($value)
1295
 * @method string getPasswordInherit()
1296
 * @method $this withPasswordInherit($value)
1297
 * @method string getResourcePoolOptions()
1298
 * @method $this withResourcePoolOptions($value)
1299
 * @method string getImageName()
1300
 * @method $this withImageName($value)
1301
 * @method string getHttpEndpoint()
1302
 * @method $this withHttpEndpoint($value)
1303
 * @method string getDedicatedHostClusterId()
1304
 * @method $this withDedicatedHostClusterId($value)
1305
 * @method string getInstanceType()
1306
 * @method $this withInstanceType($value)
1307
 * @method string getSchedulerOptions()
1308
 * @method $this withSchedulerOptions($value)
1309
 * @method string getDeploymentSetId()
1310
 * @method $this withDeploymentSetId($value)
1311
 * @method string getResourceOwnerAccount()
1312
 * @method $this withResourceOwnerAccount($value)
1313
 * @method string getOwnerAccount()
1314
 * @method $this withOwnerAccount($value)
1315
 * @method string getTenancy()
1316
 * @method $this withTenancy($value)
1317
 * @method string getSystemDiskDiskName()
1318
 * @method string getRamRoleName()
1319
 * @method $this withRamRoleName($value)
1320
 * @method string getSystemDiskEncryptAlgorithm()
1321
 * @method string getDedicatedHostId()
1322
 * @method $this withDedicatedHostId($value)
1323
 * @method string getCreditSpecification()
1324
 * @method $this withCreditSpecification($value)
1325
 * @method string getSpotDuration()
1326
 * @method $this withSpotDuration($value)
1327
 * @method array getSecurityGroupIds()
1328
 * @method array getDataDisk()
1329
 * @method array getInstanceTypeOverride()
1330
 * @method string getSystemDiskProvisionedIops()
1331
 * @method string getLoadBalancerWeight()
1332
 * @method $this withLoadBalancerWeight($value)
1333
 * @method string getStorageSetId()
1334
 * @method $this withStorageSetId($value)
1335
 * @method string getSystemDiskSize()
1336
 * @method string getImageFamily()
1337
 * @method $this withImageFamily($value)
1338
 * @method string getHttpTokens()
1339
 * @method $this withHttpTokens($value)
1340
 * @method string getSystemDiskDescription()
1341
 * @method string getSystemDiskEncrypted()
1342
 */
1343
class CreateScalingConfiguration extends Rpc
1344
{
1345
1346
    /**
1347
     * @param array $spotPriceLimit
1348
     *
1349
     * @return $this
1350
     */
1351
	public function withSpotPriceLimit(array $spotPriceLimit)
1352
	{
1353
	    $this->data['SpotPriceLimit'] = $spotPriceLimit;
1354
		foreach ($spotPriceLimit as $depth1 => $depth1Value) {
1355
			if(isset($depth1Value['InstanceType'])){
1356
				$this->options['query']['SpotPriceLimit.' . ($depth1 + 1) . '.InstanceType'] = $depth1Value['InstanceType'];
1357
			}
1358
			if(isset($depth1Value['PriceLimit'])){
1359
				$this->options['query']['SpotPriceLimit.' . ($depth1 + 1) . '.PriceLimit'] = $depth1Value['PriceLimit'];
1360
			}
1361
		}
1362
1363
		return $this;
1364
    }
1365
1366
    /**
1367
     * @param string $value
1368
     *
1369
     * @return $this
1370
     */
1371
    public function withPrivatePoolOptionsMatchCriteria($value)
1372
    {
1373
        $this->data['PrivatePoolOptionsMatchCriteria'] = $value;
1374
        $this->options['query']['PrivatePoolOptions.MatchCriteria'] = $value;
1375
1376
        return $this;
1377
    }
1378
1379
    /**
1380
     * @param array $customPriorities
1381
     *
1382
     * @return $this
1383
     */
1384
	public function withCustomPriorities(array $customPriorities)
1385
	{
1386
	    $this->data['CustomPriorities'] = $customPriorities;
1387
		foreach ($customPriorities as $depth1 => $depth1Value) {
1388
			if(isset($depth1Value['VswitchId'])){
1389
				$this->options['query']['CustomPriorities.' . ($depth1 + 1) . '.VswitchId'] = $depth1Value['VswitchId'];
1390
			}
1391
			if(isset($depth1Value['InstanceType'])){
1392
				$this->options['query']['CustomPriorities.' . ($depth1 + 1) . '.InstanceType'] = $depth1Value['InstanceType'];
1393
			}
1394
		}
1395
1396
		return $this;
1397
    }
1398
1399
    /**
1400
     * @param string $value
1401
     *
1402
     * @return $this
1403
     */
1404
    public function withSystemDiskAutoSnapshotPolicyId($value)
1405
    {
1406
        $this->data['SystemDiskAutoSnapshotPolicyId'] = $value;
1407
        $this->options['query']['SystemDisk.AutoSnapshotPolicyId'] = $value;
1408
1409
        return $this;
1410
    }
1411
1412
    /**
1413
     * @param string $value
1414
     *
1415
     * @return $this
1416
     */
1417
    public function withPrivatePoolOptionsId($value)
1418
    {
1419
        $this->data['PrivatePoolOptionsId'] = $value;
1420
        $this->options['query']['PrivatePoolOptions.Id'] = $value;
1421
1422
        return $this;
1423
    }
1424
1425
    /**
1426
     * @param string $value
1427
     *
1428
     * @return $this
1429
     */
1430
    public function withImageOptionsLoginAsNonRoot($value)
1431
    {
1432
        $this->data['ImageOptionsLoginAsNonRoot'] = $value;
1433
        $this->options['query']['ImageOptions.LoginAsNonRoot'] = $value;
1434
1435
        return $this;
1436
    }
1437
1438
    /**
1439
     * @param array $systemDiskCategories
1440
     *
1441
     * @return $this
1442
     */
1443
	public function withSystemDiskCategories(array $systemDiskCategories)
1444
	{
1445
	    $this->data['SystemDiskCategories'] = $systemDiskCategories;
1446
		foreach ($systemDiskCategories as $i => $iValue) {
1447
			$this->options['query']['SystemDiskCategories.' . ($i + 1)] = $iValue;
1448
		}
1449
1450
		return $this;
1451
    }
1452
1453
    /**
1454
     * @param string $value
1455
     *
1456
     * @return $this
1457
     */
1458
    public function withSystemDiskBurstingEnabled($value)
1459
    {
1460
        $this->data['SystemDiskBurstingEnabled'] = $value;
1461
        $this->options['query']['SystemDisk.BurstingEnabled'] = $value;
1462
1463
        return $this;
1464
    }
1465
1466
    /**
1467
     * @param array $instancePatternInfo
1468
     *
1469
     * @return $this
1470
     */
1471
	public function withInstancePatternInfo(array $instancePatternInfo)
1472
	{
1473
	    $this->data['InstancePatternInfo'] = $instancePatternInfo;
1474
		foreach ($instancePatternInfo as $depth1 => $depth1Value) {
1475
			foreach ($depth1Value['InstanceCategories'] as $i => $iValue) {
1476
				$this->options['query']['InstancePatternInfo.' . ($depth1 + 1) . '.InstanceCategories.' . ($i + 1)] = $iValue;
1477
			}
1478
			if(isset($depth1Value['Memory'])){
1479
				$this->options['query']['InstancePatternInfo.' . ($depth1 + 1) . '.Memory'] = $depth1Value['Memory'];
1480
			}
1481
			if(isset($depth1Value['MaximumCpuCoreCount'])){
1482
				$this->options['query']['InstancePatternInfo.' . ($depth1 + 1) . '.MaximumCpuCoreCount'] = $depth1Value['MaximumCpuCoreCount'];
1483
			}
1484
			if(isset($depth1Value['MaxPrice'])){
1485
				$this->options['query']['InstancePatternInfo.' . ($depth1 + 1) . '.MaxPrice'] = $depth1Value['MaxPrice'];
1486
			}
1487
			if(isset($depth1Value['MinimumGpuAmount'])){
1488
				$this->options['query']['InstancePatternInfo.' . ($depth1 + 1) . '.MinimumGpuAmount'] = $depth1Value['MinimumGpuAmount'];
1489
			}
1490
			if(isset($depth1Value['MaximumGpuAmount'])){
1491
				$this->options['query']['InstancePatternInfo.' . ($depth1 + 1) . '.MaximumGpuAmount'] = $depth1Value['MaximumGpuAmount'];
1492
			}
1493
			if(isset($depth1Value['MaximumMemorySize'])){
1494
				$this->options['query']['InstancePatternInfo.' . ($depth1 + 1) . '.MaximumMemorySize'] = $depth1Value['MaximumMemorySize'];
1495
			}
1496
			if(isset($depth1Value['MinimumInitialCredit'])){
1497
				$this->options['query']['InstancePatternInfo.' . ($depth1 + 1) . '.MinimumInitialCredit'] = $depth1Value['MinimumInitialCredit'];
1498
			}
1499
			foreach ($depth1Value['ExcludedInstanceType'] as $i => $iValue) {
1500
				$this->options['query']['InstancePatternInfo.' . ($depth1 + 1) . '.ExcludedInstanceType.' . ($i + 1)] = $iValue;
1501
			}
1502
			if(isset($depth1Value['MinimumEniIpv6AddressQuantity'])){
1503
				$this->options['query']['InstancePatternInfo.' . ($depth1 + 1) . '.MinimumEniIpv6AddressQuantity'] = $depth1Value['MinimumEniIpv6AddressQuantity'];
1504
			}
1505
			if(isset($depth1Value['MinimumEniPrivateIpAddressQuantity'])){
1506
				$this->options['query']['InstancePatternInfo.' . ($depth1 + 1) . '.MinimumEniPrivateIpAddressQuantity'] = $depth1Value['MinimumEniPrivateIpAddressQuantity'];
1507
			}
1508
			if(isset($depth1Value['BurstablePerformance'])){
1509
				$this->options['query']['InstancePatternInfo.' . ($depth1 + 1) . '.BurstablePerformance'] = $depth1Value['BurstablePerformance'];
1510
			}
1511
			foreach ($depth1Value['PhysicalProcessorModels'] as $i => $iValue) {
1512
				$this->options['query']['InstancePatternInfo.' . ($depth1 + 1) . '.PhysicalProcessorModels.' . ($i + 1)] = $iValue;
1513
			}
1514
			if(isset($depth1Value['MinimumCpuCoreCount'])){
1515
				$this->options['query']['InstancePatternInfo.' . ($depth1 + 1) . '.MinimumCpuCoreCount'] = $depth1Value['MinimumCpuCoreCount'];
1516
			}
1517
			foreach ($depth1Value['GpuSpecs'] as $i => $iValue) {
1518
				$this->options['query']['InstancePatternInfo.' . ($depth1 + 1) . '.GpuSpecs.' . ($i + 1)] = $iValue;
1519
			}
1520
			if(isset($depth1Value['MinimumEniQuantity'])){
1521
				$this->options['query']['InstancePatternInfo.' . ($depth1 + 1) . '.MinimumEniQuantity'] = $depth1Value['MinimumEniQuantity'];
1522
			}
1523
			if(isset($depth1Value['MinimumMemorySize'])){
1524
				$this->options['query']['InstancePatternInfo.' . ($depth1 + 1) . '.MinimumMemorySize'] = $depth1Value['MinimumMemorySize'];
1525
			}
1526
			if(isset($depth1Value['Cores'])){
1527
				$this->options['query']['InstancePatternInfo.' . ($depth1 + 1) . '.Cores'] = $depth1Value['Cores'];
1528
			}
1529
			if(isset($depth1Value['InstanceFamilyLevel'])){
1530
				$this->options['query']['InstancePatternInfo.' . ($depth1 + 1) . '.InstanceFamilyLevel'] = $depth1Value['InstanceFamilyLevel'];
1531
			}
1532
			foreach ($depth1Value['InstanceTypeFamilies'] as $i => $iValue) {
1533
				$this->options['query']['InstancePatternInfo.' . ($depth1 + 1) . '.InstanceTypeFamilies.' . ($i + 1)] = $iValue;
1534
			}
1535
			if(isset($depth1Value['MinimumBaselineCredit'])){
1536
				$this->options['query']['InstancePatternInfo.' . ($depth1 + 1) . '.MinimumBaselineCredit'] = $depth1Value['MinimumBaselineCredit'];
1537
			}
1538
			foreach ($depth1Value['CpuArchitectures'] as $i => $iValue) {
1539
				$this->options['query']['InstancePatternInfo.' . ($depth1 + 1) . '.CpuArchitectures.' . ($i + 1)] = $iValue;
1540
			}
1541
			foreach ($depth1Value['Architecture'] as $i => $iValue) {
1542
				$this->options['query']['InstancePatternInfo.' . ($depth1 + 1) . '.Architecture.' . ($i + 1)] = $iValue;
1543
			}
1544
		}
1545
1546
		return $this;
1547
    }
1548
1549
    /**
1550
     * @param array $networkInterfaces
1551
     *
1552
     * @return $this
1553
     */
1554
	public function withNetworkInterfaces(array $networkInterfaces)
1555
	{
1556
	    $this->data['NetworkInterfaces'] = $networkInterfaces;
1557
		foreach ($networkInterfaces as $depth1 => $depth1Value) {
1558
			if(isset($depth1Value['Ipv6AddressCount'])){
1559
				$this->options['query']['NetworkInterfaces.' . ($depth1 + 1) . '.Ipv6AddressCount'] = $depth1Value['Ipv6AddressCount'];
1560
			}
1561
			if(isset($depth1Value['InstanceType'])){
1562
				$this->options['query']['NetworkInterfaces.' . ($depth1 + 1) . '.InstanceType'] = $depth1Value['InstanceType'];
1563
			}
1564
			foreach ($depth1Value['SecurityGroupIds'] as $i => $iValue) {
1565
				$this->options['query']['NetworkInterfaces.' . ($depth1 + 1) . '.SecurityGroupIds.' . ($i + 1)] = $iValue;
1566
			}
1567
			if(isset($depth1Value['NetworkInterfaceTrafficMode'])){
1568
				$this->options['query']['NetworkInterfaces.' . ($depth1 + 1) . '.NetworkInterfaceTrafficMode'] = $depth1Value['NetworkInterfaceTrafficMode'];
1569
			}
1570
		}
1571
1572
		return $this;
1573
    }
1574
1575
    /**
1576
     * @param array $instanceTypes
1577
     *
1578
     * @return $this
1579
     */
1580
	public function withInstanceTypes(array $instanceTypes)
1581
	{
1582
	    $this->data['InstanceTypes'] = $instanceTypes;
1583
		foreach ($instanceTypes as $i => $iValue) {
1584
			$this->options['query']['InstanceTypes.' . ($i + 1)] = $iValue;
1585
		}
1586
1587
		return $this;
1588
    }
1589
1590
    /**
1591
     * @param string $value
1592
     *
1593
     * @return $this
1594
     */
1595
    public function withSystemDiskKMSKeyId($value)
1596
    {
1597
        $this->data['SystemDiskKMSKeyId'] = $value;
1598
        $this->options['query']['SystemDisk.KMSKeyId'] = $value;
1599
1600
        return $this;
1601
    }
1602
1603
    /**
1604
     * @param string $value
1605
     *
1606
     * @return $this
1607
     */
1608
    public function withSystemDiskCategory($value)
1609
    {
1610
        $this->data['SystemDiskCategory'] = $value;
1611
        $this->options['query']['SystemDisk.Category'] = $value;
1612
1613
        return $this;
1614
    }
1615
1616
    /**
1617
     * @param string $value
1618
     *
1619
     * @return $this
1620
     */
1621
    public function withSystemDiskPerformanceLevel($value)
1622
    {
1623
        $this->data['SystemDiskPerformanceLevel'] = $value;
1624
        $this->options['query']['SystemDisk.PerformanceLevel'] = $value;
1625
1626
        return $this;
1627
    }
1628
1629
    /**
1630
     * @param string $value
1631
     *
1632
     * @return $this
1633
     */
1634
    public function withSystemDiskDiskName($value)
1635
    {
1636
        $this->data['SystemDiskDiskName'] = $value;
1637
        $this->options['query']['SystemDisk.DiskName'] = $value;
1638
1639
        return $this;
1640
    }
1641
1642
    /**
1643
     * @param string $value
1644
     *
1645
     * @return $this
1646
     */
1647
    public function withSystemDiskEncryptAlgorithm($value)
1648
    {
1649
        $this->data['SystemDiskEncryptAlgorithm'] = $value;
1650
        $this->options['query']['SystemDisk.EncryptAlgorithm'] = $value;
1651
1652
        return $this;
1653
    }
1654
1655
    /**
1656
     * @param array $securityGroupIds
1657
     *
1658
     * @return $this
1659
     */
1660
	public function withSecurityGroupIds(array $securityGroupIds)
1661
	{
1662
	    $this->data['SecurityGroupIds'] = $securityGroupIds;
1663
		foreach ($securityGroupIds as $i => $iValue) {
1664
			$this->options['query']['SecurityGroupIds.' . ($i + 1)] = $iValue;
1665
		}
1666
1667
		return $this;
1668
    }
1669
1670
    /**
1671
     * @param array $dataDisk
1672
     *
1673
     * @return $this
1674
     */
1675
	public function withDataDisk(array $dataDisk)
1676
	{
1677
	    $this->data['DataDisk'] = $dataDisk;
1678
		foreach ($dataDisk as $depth1 => $depth1Value) {
1679
			if(isset($depth1Value['SnapshotId'])){
1680
				$this->options['query']['DataDisk.' . ($depth1 + 1) . '.SnapshotId'] = $depth1Value['SnapshotId'];
1681
			}
1682
			if(isset($depth1Value['PerformanceLevel'])){
1683
				$this->options['query']['DataDisk.' . ($depth1 + 1) . '.PerformanceLevel'] = $depth1Value['PerformanceLevel'];
1684
			}
1685
			if(isset($depth1Value['AutoSnapshotPolicyId'])){
1686
				$this->options['query']['DataDisk.' . ($depth1 + 1) . '.AutoSnapshotPolicyId'] = $depth1Value['AutoSnapshotPolicyId'];
1687
			}
1688
			if(isset($depth1Value['Description'])){
1689
				$this->options['query']['DataDisk.' . ($depth1 + 1) . '.Description'] = $depth1Value['Description'];
1690
			}
1691
			if(isset($depth1Value['BurstingEnabled'])){
1692
				$this->options['query']['DataDisk.' . ($depth1 + 1) . '.BurstingEnabled'] = $depth1Value['BurstingEnabled'];
1693
			}
1694
			if(isset($depth1Value['DiskName'])){
1695
				$this->options['query']['DataDisk.' . ($depth1 + 1) . '.DiskName'] = $depth1Value['DiskName'];
1696
			}
1697
			if(isset($depth1Value['ProvisionedIops'])){
1698
				$this->options['query']['DataDisk.' . ($depth1 + 1) . '.ProvisionedIops'] = $depth1Value['ProvisionedIops'];
1699
			}
1700
			if(isset($depth1Value['Encrypted'])){
1701
				$this->options['query']['DataDisk.' . ($depth1 + 1) . '.Encrypted'] = $depth1Value['Encrypted'];
1702
			}
1703
			if(isset($depth1Value['Size'])){
1704
				$this->options['query']['DataDisk.' . ($depth1 + 1) . '.Size'] = $depth1Value['Size'];
1705
			}
1706
			foreach ($depth1Value['Categories'] as $i => $iValue) {
1707
				$this->options['query']['DataDisk.' . ($depth1 + 1) . '.Categories.' . ($i + 1)] = $iValue;
1708
			}
1709
			if(isset($depth1Value['Category'])){
1710
				$this->options['query']['DataDisk.' . ($depth1 + 1) . '.Category'] = $depth1Value['Category'];
1711
			}
1712
			if(isset($depth1Value['KMSKeyId'])){
1713
				$this->options['query']['DataDisk.' . ($depth1 + 1) . '.KMSKeyId'] = $depth1Value['KMSKeyId'];
1714
			}
1715
			if(isset($depth1Value['Device'])){
1716
				$this->options['query']['DataDisk.' . ($depth1 + 1) . '.Device'] = $depth1Value['Device'];
1717
			}
1718
			if(isset($depth1Value['DeleteWithInstance'])){
1719
				$this->options['query']['DataDisk.' . ($depth1 + 1) . '.DeleteWithInstance'] = $depth1Value['DeleteWithInstance'];
1720
			}
1721
		}
1722
1723
		return $this;
1724
    }
1725
1726
    /**
1727
     * @param array $instanceTypeOverride
1728
     *
1729
     * @return $this
1730
     */
1731
	public function withInstanceTypeOverride(array $instanceTypeOverride)
1732
	{
1733
	    $this->data['InstanceTypeOverride'] = $instanceTypeOverride;
1734
		foreach ($instanceTypeOverride as $depth1 => $depth1Value) {
1735
			if(isset($depth1Value['WeightedCapacity'])){
1736
				$this->options['query']['InstanceTypeOverride.' . ($depth1 + 1) . '.WeightedCapacity'] = $depth1Value['WeightedCapacity'];
1737
			}
1738
			if(isset($depth1Value['InstanceType'])){
1739
				$this->options['query']['InstanceTypeOverride.' . ($depth1 + 1) . '.InstanceType'] = $depth1Value['InstanceType'];
1740
			}
1741
		}
1742
1743
		return $this;
1744
    }
1745
1746
    /**
1747
     * @param string $value
1748
     *
1749
     * @return $this
1750
     */
1751
    public function withSystemDiskProvisionedIops($value)
1752
    {
1753
        $this->data['SystemDiskProvisionedIops'] = $value;
1754
        $this->options['query']['SystemDisk.ProvisionedIops'] = $value;
1755
1756
        return $this;
1757
    }
1758
1759
    /**
1760
     * @param string $value
1761
     *
1762
     * @return $this
1763
     */
1764
    public function withSystemDiskSize($value)
1765
    {
1766
        $this->data['SystemDiskSize'] = $value;
1767
        $this->options['query']['SystemDisk.Size'] = $value;
1768
1769
        return $this;
1770
    }
1771
1772
    /**
1773
     * @param string $value
1774
     *
1775
     * @return $this
1776
     */
1777
    public function withSystemDiskDescription($value)
1778
    {
1779
        $this->data['SystemDiskDescription'] = $value;
1780
        $this->options['query']['SystemDisk.Description'] = $value;
1781
1782
        return $this;
1783
    }
1784
1785
    /**
1786
     * @param string $value
1787
     *
1788
     * @return $this
1789
     */
1790
    public function withSystemDiskEncrypted($value)
1791
    {
1792
        $this->data['SystemDiskEncrypted'] = $value;
1793
        $this->options['query']['SystemDisk.Encrypted'] = $value;
1794
1795
        return $this;
1796
    }
1797
}
1798
1799
/**
1800
 * @method string getAzBalance()
1801
 * @method $this withAzBalance($value)
1802
 * @method array getVSwitchIds()
1803
 * @method string getMaxInstanceLifetime()
1804
 * @method $this withMaxInstanceLifetime($value)
1805
 * @method string getSpotInstanceRemedy()
1806
 * @method $this withSpotInstanceRemedy($value)
1807
 * @method string getScaleOutAmountCheck()
1808
 * @method $this withScaleOutAmountCheck($value)
1809
 * @method string getResourceGroupId()
1810
 * @method $this withResourceGroupId($value)
1811
 * @method string getGroupType()
1812
 * @method $this withGroupType($value)
1813
 * @method string getSyncAlarmRuleToCms()
1814
 * @method $this withSyncAlarmRuleToCms($value)
1815
 * @method string getCustomPolicyARN()
1816
 * @method $this withCustomPolicyARN($value)
1817
 * @method array getTag()
1818
 * @method string getStopInstanceTimeout()
1819
 * @method $this withStopInstanceTimeout($value)
1820
 * @method string getDefaultCooldown()
1821
 * @method $this withDefaultCooldown($value)
1822
 * @method array getHealthCheckTypes()
1823
 * @method string getContainerGroupId()
1824
 * @method $this withContainerGroupId($value)
1825
 * @method string getMultiAZPolicy()
1826
 * @method $this withMultiAZPolicy($value)
1827
 * @method string getDBInstanceIds()
1828
 * @method $this withDBInstanceIds($value)
1829
 * @method string getLaunchTemplateId()
1830
 * @method $this withLaunchTemplateId($value)
1831
 * @method string getDesiredCapacity()
1832
 * @method $this withDesiredCapacity($value)
1833
 * @method array getServerGroup()
1834
 * @method array getLaunchTemplateOverride()
1835
 * @method string getCompensateWithOnDemand()
1836
 * @method $this withCompensateWithOnDemand($value)
1837
 * @method string getCapacityOptions()
1838
 * @method $this withCapacityOptions($value)
1839
 * @method string getMinSize()
1840
 * @method $this withMinSize($value)
1841
 * @method string getOwnerId()
1842
 * @method $this withOwnerId($value)
1843
 * @method array getAlbServerGroup()
1844
 * @method string getVSwitchId()
1845
 * @method $this withVSwitchId($value)
1846
 * @method string getInstanceId()
1847
 * @method $this withInstanceId($value)
1848
 * @method string getMaxSize()
1849
 * @method $this withMaxSize($value)
1850
 * @method array getLifecycleHook()
1851
 * @method string getLoadBalancerIds()
1852
 * @method $this withLoadBalancerIds($value)
1853
 * @method string getClientToken()
1854
 * @method $this withClientToken($value)
1855
 * @method array getSystemTag()
1856
 * @method array getLoadBalancerConfig()
1857
 * @method string getOnDemandBaseCapacity()
1858
 * @method $this withOnDemandBaseCapacity($value)
1859
 * @method string getOnDemandPercentageAboveBaseCapacity()
1860
 * @method $this withOnDemandPercentageAboveBaseCapacity($value)
1861
 * @method string getSpotAllocationStrategy()
1862
 * @method $this withSpotAllocationStrategy($value)
1863
 * @method string getRemovalPolicy1()
1864
 * @method string getRemovalPolicy2()
1865
 * @method string getRemovalPolicy3()
1866
 * @method string getHealthCheckType()
1867
 * @method $this withHealthCheckType($value)
1868
 * @method string getResourceOwnerAccount()
1869
 * @method $this withResourceOwnerAccount($value)
1870
 * @method string getScalingGroupName()
1871
 * @method $this withScalingGroupName($value)
1872
 * @method string getOwnerAccount()
1873
 * @method $this withOwnerAccount($value)
1874
 * @method string getSpotInstancePools()
1875
 * @method $this withSpotInstancePools($value)
1876
 * @method array getDBInstance()
1877
 * @method string getGroupDeletionProtection()
1878
 * @method $this withGroupDeletionProtection($value)
1879
 * @method string getLaunchTemplateVersion()
1880
 * @method $this withLaunchTemplateVersion($value)
1881
 * @method string getScalingPolicy()
1882
 * @method $this withScalingPolicy($value)
1883
 * @method string getAllocationStrategy()
1884
 * @method $this withAllocationStrategy($value)
1885
 * @method array getVServerGroup()
1886
 */
1887
class CreateScalingGroup extends Rpc
1888
{
1889
1890
    /**
1891
     * @param array $vSwitchIds
1892
     *
1893
     * @return $this
1894
     */
1895
	public function withVSwitchIds(array $vSwitchIds)
1896
	{
1897
	    $this->data['VSwitchIds'] = $vSwitchIds;
1898
		foreach ($vSwitchIds as $i => $iValue) {
1899
			$this->options['query']['VSwitchIds.' . ($i + 1)] = $iValue;
1900
		}
1901
1902
		return $this;
1903
    }
1904
1905
    /**
1906
     * @param array $tag
1907
     *
1908
     * @return $this
1909
     */
1910
	public function withTag(array $tag)
1911
	{
1912
	    $this->data['Tag'] = $tag;
1913
		foreach ($tag as $depth1 => $depth1Value) {
1914
			if(isset($depth1Value['Propagate'])){
1915
				$this->options['query']['Tag.' . ($depth1 + 1) . '.Propagate'] = $depth1Value['Propagate'];
1916
			}
1917
			if(isset($depth1Value['Value'])){
1918
				$this->options['query']['Tag.' . ($depth1 + 1) . '.Value'] = $depth1Value['Value'];
1919
			}
1920
			if(isset($depth1Value['Key'])){
1921
				$this->options['query']['Tag.' . ($depth1 + 1) . '.Key'] = $depth1Value['Key'];
1922
			}
1923
		}
1924
1925
		return $this;
1926
    }
1927
1928
    /**
1929
     * @param array $healthCheckTypes
1930
     *
1931
     * @return $this
1932
     */
1933
	public function withHealthCheckTypes(array $healthCheckTypes)
1934
	{
1935
	    $this->data['HealthCheckTypes'] = $healthCheckTypes;
1936
		foreach ($healthCheckTypes as $i => $iValue) {
1937
			$this->options['query']['HealthCheckTypes.' . ($i + 1)] = $iValue;
1938
		}
1939
1940
		return $this;
1941
    }
1942
1943
    /**
1944
     * @param array $serverGroup
1945
     *
1946
     * @return $this
1947
     */
1948
	public function withServerGroup(array $serverGroup)
1949
	{
1950
	    $this->data['ServerGroup'] = $serverGroup;
1951
		foreach ($serverGroup as $depth1 => $depth1Value) {
1952
			if(isset($depth1Value['ServerGroupId'])){
1953
				$this->options['query']['ServerGroup.' . ($depth1 + 1) . '.ServerGroupId'] = $depth1Value['ServerGroupId'];
1954
			}
1955
			if(isset($depth1Value['Port'])){
1956
				$this->options['query']['ServerGroup.' . ($depth1 + 1) . '.Port'] = $depth1Value['Port'];
1957
			}
1958
			if(isset($depth1Value['Weight'])){
1959
				$this->options['query']['ServerGroup.' . ($depth1 + 1) . '.Weight'] = $depth1Value['Weight'];
1960
			}
1961
			if(isset($depth1Value['Type'])){
1962
				$this->options['query']['ServerGroup.' . ($depth1 + 1) . '.Type'] = $depth1Value['Type'];
1963
			}
1964
		}
1965
1966
		return $this;
1967
    }
1968
1969
    /**
1970
     * @param array $launchTemplateOverride
1971
     *
1972
     * @return $this
1973
     */
1974
	public function withLaunchTemplateOverride(array $launchTemplateOverride)
1975
	{
1976
	    $this->data['LaunchTemplateOverride'] = $launchTemplateOverride;
1977
		foreach ($launchTemplateOverride as $depth1 => $depth1Value) {
1978
			if(isset($depth1Value['WeightedCapacity'])){
1979
				$this->options['query']['LaunchTemplateOverride.' . ($depth1 + 1) . '.WeightedCapacity'] = $depth1Value['WeightedCapacity'];
1980
			}
1981
			if(isset($depth1Value['InstanceType'])){
1982
				$this->options['query']['LaunchTemplateOverride.' . ($depth1 + 1) . '.InstanceType'] = $depth1Value['InstanceType'];
1983
			}
1984
			if(isset($depth1Value['SpotPriceLimit'])){
1985
				$this->options['query']['LaunchTemplateOverride.' . ($depth1 + 1) . '.SpotPriceLimit'] = $depth1Value['SpotPriceLimit'];
1986
			}
1987
		}
1988
1989
		return $this;
1990
    }
1991
1992
    /**
1993
     * @param array $albServerGroup
1994
     *
1995
     * @return $this
1996
     */
1997
	public function withAlbServerGroup(array $albServerGroup)
1998
	{
1999
	    $this->data['AlbServerGroup'] = $albServerGroup;
2000
		foreach ($albServerGroup as $depth1 => $depth1Value) {
2001
			if(isset($depth1Value['AlbServerGroupId'])){
2002
				$this->options['query']['AlbServerGroup.' . ($depth1 + 1) . '.AlbServerGroupId'] = $depth1Value['AlbServerGroupId'];
2003
			}
2004
			if(isset($depth1Value['Port'])){
2005
				$this->options['query']['AlbServerGroup.' . ($depth1 + 1) . '.Port'] = $depth1Value['Port'];
2006
			}
2007
			if(isset($depth1Value['Weight'])){
2008
				$this->options['query']['AlbServerGroup.' . ($depth1 + 1) . '.Weight'] = $depth1Value['Weight'];
2009
			}
2010
		}
2011
2012
		return $this;
2013
    }
2014
2015
    /**
2016
     * @param array $lifecycleHook
2017
     *
2018
     * @return $this
2019
     */
2020
	public function withLifecycleHook(array $lifecycleHook)
2021
	{
2022
	    $this->data['LifecycleHook'] = $lifecycleHook;
2023
		foreach ($lifecycleHook as $depth1 => $depth1Value) {
2024
			if(isset($depth1Value['DefaultResult'])){
2025
				$this->options['query']['LifecycleHook.' . ($depth1 + 1) . '.DefaultResult'] = $depth1Value['DefaultResult'];
2026
			}
2027
			if(isset($depth1Value['LifecycleHookName'])){
2028
				$this->options['query']['LifecycleHook.' . ($depth1 + 1) . '.LifecycleHookName'] = $depth1Value['LifecycleHookName'];
2029
			}
2030
			if(isset($depth1Value['HeartbeatTimeout'])){
2031
				$this->options['query']['LifecycleHook.' . ($depth1 + 1) . '.HeartbeatTimeout'] = $depth1Value['HeartbeatTimeout'];
2032
			}
2033
			if(isset($depth1Value['NotificationArn'])){
2034
				$this->options['query']['LifecycleHook.' . ($depth1 + 1) . '.NotificationArn'] = $depth1Value['NotificationArn'];
2035
			}
2036
			if(isset($depth1Value['NotificationMetadata'])){
2037
				$this->options['query']['LifecycleHook.' . ($depth1 + 1) . '.NotificationMetadata'] = $depth1Value['NotificationMetadata'];
2038
			}
2039
			if(isset($depth1Value['LifecycleTransition'])){
2040
				$this->options['query']['LifecycleHook.' . ($depth1 + 1) . '.LifecycleTransition'] = $depth1Value['LifecycleTransition'];
2041
			}
2042
		}
2043
2044
		return $this;
2045
    }
2046
2047
    /**
2048
     * @param array $systemTag
2049
     *
2050
     * @return $this
2051
     */
2052
	public function withSystemTag(array $systemTag)
2053
	{
2054
	    $this->data['SystemTag'] = $systemTag;
2055
		foreach ($systemTag as $depth1 => $depth1Value) {
2056
			if(isset($depth1Value['Scope'])){
2057
				$this->options['query']['SystemTag.' . ($depth1 + 1) . '.Scope'] = $depth1Value['Scope'];
2058
			}
2059
			if(isset($depth1Value['Value'])){
2060
				$this->options['query']['SystemTag.' . ($depth1 + 1) . '.Value'] = $depth1Value['Value'];
2061
			}
2062
			if(isset($depth1Value['Key'])){
2063
				$this->options['query']['SystemTag.' . ($depth1 + 1) . '.Key'] = $depth1Value['Key'];
2064
			}
2065
			if(isset($depth1Value['Spread'])){
2066
				$this->options['query']['SystemTag.' . ($depth1 + 1) . '.Spread'] = $depth1Value['Spread'];
2067
			}
2068
		}
2069
2070
		return $this;
2071
    }
2072
2073
    /**
2074
     * @param array $loadBalancerConfig
2075
     *
2076
     * @return $this
2077
     */
2078
	public function withLoadBalancerConfig(array $loadBalancerConfig)
2079
	{
2080
	    $this->data['LoadBalancerConfig'] = $loadBalancerConfig;
2081
		foreach ($loadBalancerConfig as $depth1 => $depth1Value) {
2082
			if(isset($depth1Value['LoadBalancerId'])){
2083
				$this->options['query']['LoadBalancerConfig.' . ($depth1 + 1) . '.LoadBalancerId'] = $depth1Value['LoadBalancerId'];
2084
			}
2085
			if(isset($depth1Value['Weight'])){
2086
				$this->options['query']['LoadBalancerConfig.' . ($depth1 + 1) . '.Weight'] = $depth1Value['Weight'];
2087
			}
2088
		}
2089
2090
		return $this;
2091
    }
2092
2093
    /**
2094
     * @param string $value
2095
     *
2096
     * @return $this
2097
     */
2098
    public function withRemovalPolicy1($value)
2099
    {
2100
        $this->data['RemovalPolicy1'] = $value;
2101
        $this->options['query']['RemovalPolicy.1'] = $value;
2102
2103
        return $this;
2104
    }
2105
2106
    /**
2107
     * @param string $value
2108
     *
2109
     * @return $this
2110
     */
2111
    public function withRemovalPolicy2($value)
2112
    {
2113
        $this->data['RemovalPolicy2'] = $value;
2114
        $this->options['query']['RemovalPolicy.2'] = $value;
2115
2116
        return $this;
2117
    }
2118
2119
    /**
2120
     * @param string $value
2121
     *
2122
     * @return $this
2123
     */
2124
    public function withRemovalPolicy3($value)
2125
    {
2126
        $this->data['RemovalPolicy3'] = $value;
2127
        $this->options['query']['RemovalPolicy.3'] = $value;
2128
2129
        return $this;
2130
    }
2131
2132
    /**
2133
     * @param array $dBInstance
2134
     *
2135
     * @return $this
2136
     */
2137
	public function withDBInstance(array $dBInstance)
2138
	{
2139
	    $this->data['DBInstance'] = $dBInstance;
2140
		foreach ($dBInstance as $depth1 => $depth1Value) {
2141
			if(isset($depth1Value['DBInstanceId'])){
2142
				$this->options['query']['DBInstance.' . ($depth1 + 1) . '.DBInstanceId'] = $depth1Value['DBInstanceId'];
2143
			}
2144
			if(isset($depth1Value['Type'])){
2145
				$this->options['query']['DBInstance.' . ($depth1 + 1) . '.Type'] = $depth1Value['Type'];
2146
			}
2147
			if(isset($depth1Value['AttachMode'])){
2148
				$this->options['query']['DBInstance.' . ($depth1 + 1) . '.AttachMode'] = $depth1Value['AttachMode'];
2149
			}
2150
		}
2151
2152
		return $this;
2153
    }
2154
2155
    /**
2156
     * @param array $vServerGroup
2157
     *
2158
     * @return $this
2159
     */
2160
	public function withVServerGroup(array $vServerGroup)
2161
	{
2162
	    $this->data['VServerGroup'] = $vServerGroup;
2163
		foreach ($vServerGroup as $depth1 => $depth1Value) {
2164
			if(isset($depth1Value['LoadBalancerId'])){
2165
				$this->options['query']['VServerGroup.' . ($depth1 + 1) . '.LoadBalancerId'] = $depth1Value['LoadBalancerId'];
2166
			}
2167
			foreach ($depth1Value['VServerGroupAttribute'] as $depth2 => $depth2Value) {
2168
				if(isset($depth2Value['VServerGroupId'])){
2169
					$this->options['query']['VServerGroup.' . ($depth1 + 1) . '.VServerGroupAttribute.' . ($depth2 + 1) . '.VServerGroupId'] = $depth2Value['VServerGroupId'];
2170
				}
2171
				if(isset($depth2Value['Port'])){
2172
					$this->options['query']['VServerGroup.' . ($depth1 + 1) . '.VServerGroupAttribute.' . ($depth2 + 1) . '.Port'] = $depth2Value['Port'];
2173
				}
2174
				if(isset($depth2Value['Weight'])){
2175
					$this->options['query']['VServerGroup.' . ($depth1 + 1) . '.VServerGroupAttribute.' . ($depth2 + 1) . '.Weight'] = $depth2Value['Weight'];
2176
				}
2177
			}
2178
		}
2179
2180
		return $this;
2181
    }
2182
}
2183
2184
/**
2185
 * @method string getMetricType()
2186
 * @method $this withMetricType($value)
2187
 * @method array getAlarmDimension()
2188
 * @method array getStepAdjustment()
2189
 * @method string getScalingGroupId()
2190
 * @method $this withScalingGroupId($value)
2191
 * @method string getDisableScaleIn()
2192
 * @method $this withDisableScaleIn($value)
2193
 * @method string getInitialMaxSize()
2194
 * @method $this withInitialMaxSize($value)
2195
 * @method string getScalingRuleName()
2196
 * @method $this withScalingRuleName($value)
2197
 * @method string getHybridMonitorNamespace()
2198
 * @method $this withHybridMonitorNamespace($value)
2199
 * @method string getCooldown()
2200
 * @method $this withCooldown($value)
2201
 * @method string getPredictiveValueBehavior()
2202
 * @method $this withPredictiveValueBehavior($value)
2203
 * @method string getScaleInEvaluationCount()
2204
 * @method $this withScaleInEvaluationCount($value)
2205
 * @method string getScalingRuleType()
2206
 * @method $this withScalingRuleType($value)
2207
 * @method string getMetricName()
2208
 * @method $this withMetricName($value)
2209
 * @method string getPredictiveScalingMode()
2210
 * @method $this withPredictiveScalingMode($value)
2211
 * @method string getResourceOwnerAccount()
2212
 * @method $this withResourceOwnerAccount($value)
2213
 * @method string getAdjustmentValue()
2214
 * @method $this withAdjustmentValue($value)
2215
 * @method string getEstimatedInstanceWarmup()
2216
 * @method $this withEstimatedInstanceWarmup($value)
2217
 * @method string getOwnerAccount()
2218
 * @method $this withOwnerAccount($value)
2219
 * @method string getPredictiveTaskBufferTime()
2220
 * @method $this withPredictiveTaskBufferTime($value)
2221
 * @method string getAdjustmentType()
2222
 * @method $this withAdjustmentType($value)
2223
 * @method string getOwnerId()
2224
 * @method $this withOwnerId($value)
2225
 * @method string getPredictiveValueBuffer()
2226
 * @method $this withPredictiveValueBuffer($value)
2227
 * @method array getHybridMetrics()
2228
 * @method string getScaleOutEvaluationCount()
2229
 * @method $this withScaleOutEvaluationCount($value)
2230
 * @method string getMinAdjustmentMagnitude()
2231
 * @method $this withMinAdjustmentMagnitude($value)
2232
 * @method string getTargetValue()
2233
 * @method $this withTargetValue($value)
2234
 */
2235
class CreateScalingRule extends Rpc
2236
{
2237
2238
    /**
2239
     * @param array $alarmDimension
2240
     *
2241
     * @return $this
2242
     */
2243
	public function withAlarmDimension(array $alarmDimension)
2244
	{
2245
	    $this->data['AlarmDimension'] = $alarmDimension;
2246
		foreach ($alarmDimension as $depth1 => $depth1Value) {
2247
			if(isset($depth1Value['DimensionValue'])){
2248
				$this->options['query']['AlarmDimension.' . ($depth1 + 1) . '.DimensionValue'] = $depth1Value['DimensionValue'];
2249
			}
2250
			if(isset($depth1Value['DimensionKey'])){
2251
				$this->options['query']['AlarmDimension.' . ($depth1 + 1) . '.DimensionKey'] = $depth1Value['DimensionKey'];
2252
			}
2253
		}
2254
2255
		return $this;
2256
    }
2257
2258
    /**
2259
     * @param array $stepAdjustment
2260
     *
2261
     * @return $this
2262
     */
2263
	public function withStepAdjustment(array $stepAdjustment)
2264
	{
2265
	    $this->data['StepAdjustment'] = $stepAdjustment;
2266
		foreach ($stepAdjustment as $depth1 => $depth1Value) {
2267
			if(isset($depth1Value['MetricIntervalUpperBound'])){
2268
				$this->options['query']['StepAdjustment.' . ($depth1 + 1) . '.MetricIntervalUpperBound'] = $depth1Value['MetricIntervalUpperBound'];
2269
			}
2270
			if(isset($depth1Value['MetricIntervalLowerBound'])){
2271
				$this->options['query']['StepAdjustment.' . ($depth1 + 1) . '.MetricIntervalLowerBound'] = $depth1Value['MetricIntervalLowerBound'];
2272
			}
2273
			if(isset($depth1Value['ScalingAdjustment'])){
2274
				$this->options['query']['StepAdjustment.' . ($depth1 + 1) . '.ScalingAdjustment'] = $depth1Value['ScalingAdjustment'];
2275
			}
2276
		}
2277
2278
		return $this;
2279
    }
2280
2281
    /**
2282
     * @param array $hybridMetrics
2283
     *
2284
     * @return $this
2285
     */
2286
	public function withHybridMetrics(array $hybridMetrics)
2287
	{
2288
	    $this->data['HybridMetrics'] = $hybridMetrics;
2289
		foreach ($hybridMetrics as $depth1 => $depth1Value) {
2290
			if(isset($depth1Value['Statistic'])){
2291
				$this->options['query']['HybridMetrics.' . ($depth1 + 1) . '.Statistic'] = $depth1Value['Statistic'];
2292
			}
2293
			if(isset($depth1Value['Expression'])){
2294
				$this->options['query']['HybridMetrics.' . ($depth1 + 1) . '.Expression'] = $depth1Value['Expression'];
2295
			}
2296
			if(isset($depth1Value['Id'])){
2297
				$this->options['query']['HybridMetrics.' . ($depth1 + 1) . '.Id'] = $depth1Value['Id'];
2298
			}
2299
			if(isset($depth1Value['MetricName'])){
2300
				$this->options['query']['HybridMetrics.' . ($depth1 + 1) . '.MetricName'] = $depth1Value['MetricName'];
2301
			}
2302
			foreach ($depth1Value['Dimensions'] as $depth2 => $depth2Value) {
2303
				if(isset($depth2Value['DimensionValue'])){
2304
					$this->options['query']['HybridMetrics.' . ($depth1 + 1) . '.Dimensions.' . ($depth2 + 1) . '.DimensionValue'] = $depth2Value['DimensionValue'];
2305
				}
2306
				if(isset($depth2Value['DimensionKey'])){
2307
					$this->options['query']['HybridMetrics.' . ($depth1 + 1) . '.Dimensions.' . ($depth2 + 1) . '.DimensionKey'] = $depth2Value['DimensionKey'];
2308
				}
2309
			}
2310
		}
2311
2312
		return $this;
2313
    }
2314
}
2315
2316
/**
2317
 * @method string getScheduledAction()
2318
 * @method $this withScheduledAction($value)
2319
 * @method string getMaxValue()
2320
 * @method $this withMaxValue($value)
2321
 * @method string getScalingGroupId()
2322
 * @method $this withScalingGroupId($value)
2323
 * @method string getDescription()
2324
 * @method $this withDescription($value)
2325
 * @method string getRecurrenceEndTime()
2326
 * @method $this withRecurrenceEndTime($value)
2327
 * @method string getLaunchTime()
2328
 * @method $this withLaunchTime($value)
2329
 * @method string getDesiredCapacity()
2330
 * @method $this withDesiredCapacity($value)
2331
 * @method string getResourceOwnerAccount()
2332
 * @method $this withResourceOwnerAccount($value)
2333
 * @method string getOwnerAccount()
2334
 * @method $this withOwnerAccount($value)
2335
 * @method string getOwnerId()
2336
 * @method $this withOwnerId($value)
2337
 * @method string getRecurrenceValue()
2338
 * @method $this withRecurrenceValue($value)
2339
 * @method string getLaunchExpirationTime()
2340
 * @method $this withLaunchExpirationTime($value)
2341
 * @method string getMinValue()
2342
 * @method $this withMinValue($value)
2343
 * @method string getScheduledTaskName()
2344
 * @method $this withScheduledTaskName($value)
2345
 * @method string getTaskEnabled()
2346
 * @method $this withTaskEnabled($value)
2347
 * @method string getRecurrenceType()
2348
 * @method $this withRecurrenceType($value)
2349
 */
2350
class CreateScheduledTask extends Rpc
2351
{
2352
}
2353
2354
/**
2355
 * @method string getResourceOwnerAccount()
2356
 * @method $this withResourceOwnerAccount($value)
2357
 * @method string getOwnerAccount()
2358
 * @method $this withOwnerAccount($value)
2359
 * @method string getOwnerId()
2360
 * @method $this withOwnerId($value)
2361
 * @method string getScalingConfigurationId()
2362
 * @method $this withScalingConfigurationId($value)
2363
 */
2364
class DeactivateScalingConfiguration extends Rpc
2365
{
2366
}
2367
2368
/**
2369
 * @method string getResourceOwnerAccount()
2370
 * @method $this withResourceOwnerAccount($value)
2371
 * @method string getOwnerId()
2372
 * @method $this withOwnerId($value)
2373
 * @method string getAlarmTaskId()
2374
 * @method $this withAlarmTaskId($value)
2375
 */
2376
class DeleteAlarm extends Rpc
2377
{
2378
}
2379
2380
/**
2381
 * @method string getResourceOwnerAccount()
2382
 * @method $this withResourceOwnerAccount($value)
2383
 * @method string getOwnerAccount()
2384
 * @method $this withOwnerAccount($value)
2385
 * @method string getOwnerId()
2386
 * @method $this withOwnerId($value)
2387
 * @method string getScalingConfigurationId()
2388
 * @method $this withScalingConfigurationId($value)
2389
 */
2390
class DeleteEciScalingConfiguration extends Rpc
2391
{
2392
}
2393
2394
/**
2395
 * @method string getScalingGroupId()
2396
 * @method $this withScalingGroupId($value)
2397
 * @method string getLifecycleHookName()
2398
 * @method $this withLifecycleHookName($value)
2399
 * @method string getResourceOwnerAccount()
2400
 * @method $this withResourceOwnerAccount($value)
2401
 * @method string getLifecycleHookId()
2402
 * @method $this withLifecycleHookId($value)
2403
 * @method string getOwnerAccount()
2404
 * @method $this withOwnerAccount($value)
2405
 * @method string getOwnerId()
2406
 * @method $this withOwnerId($value)
2407
 */
2408
class DeleteLifecycleHook extends Rpc
2409
{
2410
}
2411
2412
/**
2413
 * @method string getScalingGroupId()
2414
 * @method $this withScalingGroupId($value)
2415
 * @method string getNotificationArn()
2416
 * @method $this withNotificationArn($value)
2417
 * @method string getResourceOwnerAccount()
2418
 * @method $this withResourceOwnerAccount($value)
2419
 * @method string getOwnerId()
2420
 * @method $this withOwnerId($value)
2421
 */
2422
class DeleteNotificationConfiguration extends Rpc
2423
{
2424
}
2425
2426
/**
2427
 * @method string getResourceOwnerAccount()
2428
 * @method $this withResourceOwnerAccount($value)
2429
 * @method string getOwnerAccount()
2430
 * @method $this withOwnerAccount($value)
2431
 * @method string getOwnerId()
2432
 * @method $this withOwnerId($value)
2433
 * @method string getScalingConfigurationId()
2434
 * @method $this withScalingConfigurationId($value)
2435
 */
2436
class DeleteScalingConfiguration extends Rpc
2437
{
2438
}
2439
2440
/**
2441
 * @method string getScalingGroupId()
2442
 * @method $this withScalingGroupId($value)
2443
 * @method string getForceDelete()
2444
 * @method $this withForceDelete($value)
2445
 * @method string getResourceOwnerAccount()
2446
 * @method $this withResourceOwnerAccount($value)
2447
 * @method string getOwnerAccount()
2448
 * @method $this withOwnerAccount($value)
2449
 * @method string getOwnerId()
2450
 * @method $this withOwnerId($value)
2451
 */
2452
class DeleteScalingGroup extends Rpc
2453
{
2454
}
2455
2456
/**
2457
 * @method string getScalingRuleId()
2458
 * @method $this withScalingRuleId($value)
2459
 * @method string getResourceOwnerAccount()
2460
 * @method $this withResourceOwnerAccount($value)
2461
 * @method string getOwnerAccount()
2462
 * @method $this withOwnerAccount($value)
2463
 * @method string getOwnerId()
2464
 * @method $this withOwnerId($value)
2465
 */
2466
class DeleteScalingRule extends Rpc
2467
{
2468
}
2469
2470
/**
2471
 * @method string getResourceOwnerAccount()
2472
 * @method $this withResourceOwnerAccount($value)
2473
 * @method string getOwnerAccount()
2474
 * @method $this withOwnerAccount($value)
2475
 * @method string getOwnerId()
2476
 * @method $this withOwnerId($value)
2477
 * @method string getScheduledTaskId()
2478
 * @method $this withScheduledTaskId($value)
2479
 */
2480
class DeleteScheduledTask extends Rpc
2481
{
2482
}
2483
2484
/**
2485
 * @method string getMetricType()
2486
 * @method $this withMetricType($value)
2487
 * @method string getScalingGroupId()
2488
 * @method $this withScalingGroupId($value)
2489
 * @method string getPageNumber()
2490
 * @method $this withPageNumber($value)
2491
 * @method string getPageSize()
2492
 * @method $this withPageSize($value)
2493
 * @method string getState()
2494
 * @method $this withState($value)
2495
 * @method string getMetricName()
2496
 * @method $this withMetricName($value)
2497
 * @method string getResourceOwnerAccount()
2498
 * @method $this withResourceOwnerAccount($value)
2499
 * @method string getOwnerId()
2500
 * @method $this withOwnerId($value)
2501
 * @method string getAlarmTaskId()
2502
 * @method $this withAlarmTaskId($value)
2503
 * @method string getIsEnable()
2504
 * @method $this withIsEnable($value)
2505
 */
2506
class DescribeAlarms extends Rpc
2507
{
2508
}
2509
2510
/**
2511
 * @method string getResourceOwnerId()
2512
 * @method $this withResourceOwnerId($value)
2513
 * @method string getScalingGroupId()
2514
 * @method $this withScalingGroupId($value)
2515
 * @method string getPageNumber()
2516
 * @method $this withPageNumber($value)
2517
 * @method string getPageSize()
2518
 * @method $this withPageSize($value)
2519
 * @method string getResourceOwnerAccount()
2520
 * @method $this withResourceOwnerAccount($value)
2521
 * @method string getOwnerAccount()
2522
 * @method $this withOwnerAccount($value)
2523
 * @method string getOwnerId()
2524
 * @method $this withOwnerId($value)
2525
 * @method array getScalingConfigurationName()
2526
 * @method array getScalingConfigurationId()
2527
 */
2528
class DescribeEciScalingConfigurations extends Rpc
2529
{
2530
2531
    /**
2532
     * @param array $scalingConfigurationName
2533
     *
2534
     * @return $this
2535
     */
2536
	public function withScalingConfigurationName(array $scalingConfigurationName)
2537
	{
2538
	    $this->data['ScalingConfigurationName'] = $scalingConfigurationName;
2539
		foreach ($scalingConfigurationName as $i => $iValue) {
2540
			$this->options['query']['ScalingConfigurationName.' . ($i + 1)] = $iValue;
2541
		}
2542
2543
		return $this;
2544
    }
2545
2546
    /**
2547
     * @param array $scalingConfigurationId
2548
     *
2549
     * @return $this
2550
     */
2551
	public function withScalingConfigurationId(array $scalingConfigurationId)
2552
	{
2553
	    $this->data['ScalingConfigurationId'] = $scalingConfigurationId;
2554
		foreach ($scalingConfigurationId as $i => $iValue) {
2555
			$this->options['query']['ScalingConfigurationId.' . ($i + 1)] = $iValue;
2556
		}
2557
2558
		return $this;
2559
    }
2560
}
2561
2562
/**
2563
 * @method string getImageId()
2564
 * @method $this withImageId($value)
2565
 * @method array getDataDiskCategories()
2566
 * @method string getScalingGroupId()
2567
 * @method $this withScalingGroupId($value)
2568
 * @method array getVSwitchIds()
2569
 * @method array getInstanceTypes()
2570
 * @method string getImageName()
2571
 * @method $this withImageName($value)
2572
 * @method array getScalingGroupIds()
2573
 * @method string getIpv6AddressCount()
2574
 * @method $this withIpv6AddressCount($value)
2575
 * @method array getSystemDiskCategories()
2576
 * @method string getSpotStrategy()
2577
 * @method $this withSpotStrategy($value)
2578
 * @method string getPriorityStrategy()
2579
 * @method $this withPriorityStrategy($value)
2580
 * @method string getImageFamily()
2581
 * @method $this withImageFamily($value)
2582
 */
2583
class DescribeElasticStrength extends Rpc
2584
{
2585
2586
    /** @var string */
2587
    public $method = 'GET';
2588
2589
    /**
2590
     * @param array $dataDiskCategories
2591
     *
2592
     * @return $this
2593
     */
2594
	public function withDataDiskCategories(array $dataDiskCategories)
2595
	{
2596
	    $this->data['DataDiskCategories'] = $dataDiskCategories;
2597
		foreach ($dataDiskCategories as $i => $iValue) {
2598
			$this->options['query']['DataDiskCategories.' . ($i + 1)] = $iValue;
2599
		}
2600
2601
		return $this;
2602
    }
2603
2604
    /**
2605
     * @param array $vSwitchIds
2606
     *
2607
     * @return $this
2608
     */
2609
	public function withVSwitchIds(array $vSwitchIds)
2610
	{
2611
	    $this->data['VSwitchIds'] = $vSwitchIds;
2612
		foreach ($vSwitchIds as $i => $iValue) {
2613
			$this->options['query']['VSwitchIds.' . ($i + 1)] = $iValue;
2614
		}
2615
2616
		return $this;
2617
    }
2618
2619
    /**
2620
     * @param array $instanceTypes
2621
     *
2622
     * @return $this
2623
     */
2624
	public function withInstanceTypes(array $instanceTypes)
2625
	{
2626
	    $this->data['InstanceTypes'] = $instanceTypes;
2627
		foreach ($instanceTypes as $i => $iValue) {
2628
			$this->options['query']['InstanceTypes.' . ($i + 1)] = $iValue;
2629
		}
2630
2631
		return $this;
2632
    }
2633
2634
    /**
2635
     * @param array $scalingGroupIds
2636
     *
2637
     * @return $this
2638
     */
2639
	public function withScalingGroupIds(array $scalingGroupIds)
2640
	{
2641
	    $this->data['ScalingGroupIds'] = $scalingGroupIds;
2642
		foreach ($scalingGroupIds as $i => $iValue) {
2643
			$this->options['query']['ScalingGroupIds.' . ($i + 1)] = $iValue;
2644
		}
2645
2646
		return $this;
2647
    }
2648
2649
    /**
2650
     * @param array $systemDiskCategories
2651
     *
2652
     * @return $this
2653
     */
2654
	public function withSystemDiskCategories(array $systemDiskCategories)
2655
	{
2656
	    $this->data['SystemDiskCategories'] = $systemDiskCategories;
2657
		foreach ($systemDiskCategories as $i => $iValue) {
2658
			$this->options['query']['SystemDiskCategories.' . ($i + 1)] = $iValue;
2659
		}
2660
2661
		return $this;
2662
    }
2663
}
2664
2665
/**
2666
 * @method string getLifecycleActionStatus()
2667
 * @method $this withLifecycleActionStatus($value)
2668
 * @method string getNextToken()
2669
 * @method $this withNextToken($value)
2670
 * @method string getResourceOwnerAccount()
2671
 * @method $this withResourceOwnerAccount($value)
2672
 * @method string getOwnerId()
2673
 * @method $this withOwnerId($value)
2674
 * @method string getScalingActivityId()
2675
 * @method $this withScalingActivityId($value)
2676
 * @method string getMaxResults()
2677
 * @method $this withMaxResults($value)
2678
 */
2679
class DescribeLifecycleActions extends Rpc
2680
{
2681
}
2682
2683
/**
2684
 * @method string getScalingGroupId()
2685
 * @method $this withScalingGroupId($value)
2686
 * @method string getPageNumber()
2687
 * @method $this withPageNumber($value)
2688
 * @method string getLifecycleHookName()
2689
 * @method $this withLifecycleHookName($value)
2690
 * @method string getPageSize()
2691
 * @method $this withPageSize($value)
2692
 * @method string getResourceOwnerAccount()
2693
 * @method $this withResourceOwnerAccount($value)
2694
 * @method array getLifecycleHookId()
2695
 * @method string getOwnerAccount()
2696
 * @method $this withOwnerAccount($value)
2697
 * @method string getOwnerId()
2698
 * @method $this withOwnerId($value)
2699
 */
2700
class DescribeLifecycleHooks extends Rpc
2701
{
2702
2703
    /**
2704
     * @param array $lifecycleHookId
2705
     *
2706
     * @return $this
2707
     */
2708
	public function withLifecycleHookId(array $lifecycleHookId)
2709
	{
2710
	    $this->data['LifecycleHookId'] = $lifecycleHookId;
2711
		foreach ($lifecycleHookId as $i => $iValue) {
2712
			$this->options['query']['LifecycleHookId.' . ($i + 1)] = $iValue;
2713
		}
2714
2715
		return $this;
2716
    }
2717
}
2718
2719
/**
2720
 * @method string getResourceOwnerAccount()
2721
 * @method $this withResourceOwnerAccount($value)
2722
 * @method string getOwnerId()
2723
 * @method $this withOwnerId($value)
2724
 */
2725
class DescribeLimitation extends Rpc
2726
{
2727
}
2728
2729
/**
2730
 * @method string getScalingGroupId()
2731
 * @method $this withScalingGroupId($value)
2732
 * @method string getResourceOwnerAccount()
2733
 * @method $this withResourceOwnerAccount($value)
2734
 * @method string getOwnerId()
2735
 * @method $this withOwnerId($value)
2736
 */
2737
class DescribeNotificationConfigurations extends Rpc
2738
{
2739
}
2740
2741
/**
2742
 * @method string getResourceOwnerAccount()
2743
 * @method $this withResourceOwnerAccount($value)
2744
 * @method string getOwnerId()
2745
 * @method $this withOwnerId($value)
2746
 */
2747
class DescribeNotificationTypes extends Rpc
2748
{
2749
}
2750
2751
/**
2752
 * @method string getMaximumCpuCoreCount()
2753
 * @method $this withMaximumCpuCoreCount($value)
2754
 * @method string getMaximumGpuAmount()
2755
 * @method $this withMaximumGpuAmount($value)
2756
 * @method string getMaximumMemorySize()
2757
 * @method $this withMaximumMemorySize($value)
2758
 * @method string getMinimumCpuCoreCount()
2759
 * @method $this withMinimumCpuCoreCount($value)
2760
 * @method string getCores()
2761
 * @method $this withCores($value)
2762
 * @method array getInstanceTypeFamilies()
2763
 * @method string getMinimumBaselineCredit()
2764
 * @method $this withMinimumBaselineCredit($value)
2765
 * @method array getCpuArchitectures()
2766
 * @method array getInstanceCategories()
2767
 * @method string getMaxPrice()
2768
 * @method $this withMaxPrice($value)
2769
 * @method string getMinimumGpuAmount()
2770
 * @method $this withMinimumGpuAmount($value)
2771
 * @method string getBurstablePerformance()
2772
 * @method $this withBurstablePerformance($value)
2773
 * @method array getPhysicalProcessorModels()
2774
 * @method string getSpotStrategy()
2775
 * @method $this withSpotStrategy($value)
2776
 * @method array getVSwitchId()
2777
 * @method string getMinimumEniQuantity()
2778
 * @method $this withMinimumEniQuantity($value)
2779
 * @method string getMinimumMemorySize()
2780
 * @method $this withMinimumMemorySize($value)
2781
 * @method string getInstanceFamilyLevel()
2782
 * @method $this withInstanceFamilyLevel($value)
2783
 * @method array getZoneId()
2784
 * @method array getMemoryList()
2785
 * @method string getMemory()
2786
 * @method $this withMemory($value)
2787
 * @method string getMinimumEniIpv6AddressQuantity()
2788
 * @method $this withMinimumEniIpv6AddressQuantity($value)
2789
 * @method array getCoresList()
2790
 * @method array getArchitecture()
2791
 * @method string getMinimumInitialCredit()
2792
 * @method $this withMinimumInitialCredit($value)
2793
 * @method array getExcludedInstanceType()
2794
 * @method string getMinimumEniPrivateIpAddressQuantity()
2795
 * @method $this withMinimumEniPrivateIpAddressQuantity($value)
2796
 * @method array getGpuSpecs()
2797
 * @method string getChannelId()
2798
 * @method $this withChannelId($value)
2799
 */
2800
class DescribePatternTypes extends Rpc
2801
{
2802
2803
    /** @var string */
2804
    public $method = 'GET';
2805
2806
    /**
2807
     * @param array $instanceTypeFamilies
2808
     *
2809
     * @return $this
2810
     */
2811
	public function withInstanceTypeFamilies(array $instanceTypeFamilies)
2812
	{
2813
	    $this->data['InstanceTypeFamilies'] = $instanceTypeFamilies;
2814
		foreach ($instanceTypeFamilies as $i => $iValue) {
2815
			$this->options['query']['InstanceTypeFamilies.' . ($i + 1)] = $iValue;
2816
		}
2817
2818
		return $this;
2819
    }
2820
2821
    /**
2822
     * @param array $cpuArchitectures
2823
     *
2824
     * @return $this
2825
     */
2826
	public function withCpuArchitectures(array $cpuArchitectures)
2827
	{
2828
	    $this->data['CpuArchitectures'] = $cpuArchitectures;
2829
		foreach ($cpuArchitectures as $i => $iValue) {
2830
			$this->options['query']['CpuArchitectures.' . ($i + 1)] = $iValue;
2831
		}
2832
2833
		return $this;
2834
    }
2835
2836
    /**
2837
     * @param array $instanceCategories
2838
     *
2839
     * @return $this
2840
     */
2841
	public function withInstanceCategories(array $instanceCategories)
2842
	{
2843
	    $this->data['InstanceCategories'] = $instanceCategories;
2844
		foreach ($instanceCategories as $i => $iValue) {
2845
			$this->options['query']['InstanceCategories.' . ($i + 1)] = $iValue;
2846
		}
2847
2848
		return $this;
2849
    }
2850
2851
    /**
2852
     * @param array $physicalProcessorModels
2853
     *
2854
     * @return $this
2855
     */
2856
	public function withPhysicalProcessorModels(array $physicalProcessorModels)
2857
	{
2858
	    $this->data['PhysicalProcessorModels'] = $physicalProcessorModels;
2859
		foreach ($physicalProcessorModels as $i => $iValue) {
2860
			$this->options['query']['PhysicalProcessorModels.' . ($i + 1)] = $iValue;
2861
		}
2862
2863
		return $this;
2864
    }
2865
2866
    /**
2867
     * @param array $vSwitchId
2868
     *
2869
     * @return $this
2870
     */
2871
	public function withVSwitchId(array $vSwitchId)
2872
	{
2873
	    $this->data['VSwitchId'] = $vSwitchId;
2874
		foreach ($vSwitchId as $i => $iValue) {
2875
			$this->options['query']['VSwitchId.' . ($i + 1)] = $iValue;
2876
		}
2877
2878
		return $this;
2879
    }
2880
2881
    /**
2882
     * @param array $zoneId
2883
     *
2884
     * @return $this
2885
     */
2886
	public function withZoneId(array $zoneId)
2887
	{
2888
	    $this->data['ZoneId'] = $zoneId;
2889
		foreach ($zoneId as $i => $iValue) {
2890
			$this->options['query']['ZoneId.' . ($i + 1)] = $iValue;
2891
		}
2892
2893
		return $this;
2894
    }
2895
2896
    /**
2897
     * @param array $memoryList
2898
     *
2899
     * @return $this
2900
     */
2901
	public function withMemoryList(array $memoryList)
2902
	{
2903
	    $this->data['MemoryList'] = $memoryList;
2904
		foreach ($memoryList as $i => $iValue) {
2905
			$this->options['query']['MemoryList.' . ($i + 1)] = $iValue;
2906
		}
2907
2908
		return $this;
2909
    }
2910
2911
    /**
2912
     * @param array $coresList
2913
     *
2914
     * @return $this
2915
     */
2916
	public function withCoresList(array $coresList)
2917
	{
2918
	    $this->data['CoresList'] = $coresList;
2919
		foreach ($coresList as $i => $iValue) {
2920
			$this->options['query']['CoresList.' . ($i + 1)] = $iValue;
2921
		}
2922
2923
		return $this;
2924
    }
2925
2926
    /**
2927
     * @param array $architecture
2928
     *
2929
     * @return $this
2930
     */
2931
	public function withArchitecture(array $architecture)
2932
	{
2933
	    $this->data['Architecture'] = $architecture;
2934
		foreach ($architecture as $i => $iValue) {
2935
			$this->options['query']['Architecture.' . ($i + 1)] = $iValue;
2936
		}
2937
2938
		return $this;
2939
    }
2940
2941
    /**
2942
     * @param array $excludedInstanceType
2943
     *
2944
     * @return $this
2945
     */
2946
	public function withExcludedInstanceType(array $excludedInstanceType)
2947
	{
2948
	    $this->data['ExcludedInstanceType'] = $excludedInstanceType;
2949
		foreach ($excludedInstanceType as $i => $iValue) {
2950
			$this->options['query']['ExcludedInstanceType.' . ($i + 1)] = $iValue;
2951
		}
2952
2953
		return $this;
2954
    }
2955
2956
    /**
2957
     * @param array $gpuSpecs
2958
     *
2959
     * @return $this
2960
     */
2961
	public function withGpuSpecs(array $gpuSpecs)
2962
	{
2963
	    $this->data['GpuSpecs'] = $gpuSpecs;
2964
		foreach ($gpuSpecs as $i => $iValue) {
2965
			$this->options['query']['GpuSpecs.' . ($i + 1)] = $iValue;
2966
		}
2967
2968
		return $this;
2969
    }
2970
}
2971
2972
/**
2973
 * @method string getResourceOwnerId()
2974
 * @method $this withResourceOwnerId($value)
2975
 * @method string getResourceOwnerAccount()
2976
 * @method $this withResourceOwnerAccount($value)
2977
 * @method string getOwnerId()
2978
 * @method $this withOwnerId($value)
2979
 * @method string getAcceptLanguage()
2980
 * @method $this withAcceptLanguage($value)
2981
 */
2982
class DescribeRegions extends Rpc
2983
{
2984
}
2985
2986
/**
2987
 * @method string getResourceOwnerId()
2988
 * @method $this withResourceOwnerId($value)
2989
 * @method string getScalingGroupId()
2990
 * @method $this withScalingGroupId($value)
2991
 * @method string getInstanceRefreshTaskId()
2992
 * @method $this withInstanceRefreshTaskId($value)
2993
 * @method string getPageNumber()
2994
 * @method $this withPageNumber($value)
2995
 * @method string getStatusCode()
2996
 * @method $this withStatusCode($value)
2997
 * @method string getPageSize()
2998
 * @method $this withPageSize($value)
2999
 * @method string getResourceOwnerAccount()
3000
 * @method $this withResourceOwnerAccount($value)
3001
 * @method string getOwnerAccount()
3002
 * @method $this withOwnerAccount($value)
3003
 * @method string getOwnerId()
3004
 * @method $this withOwnerId($value)
3005
 * @method array getScalingActivityId()
3006
 */
3007
class DescribeScalingActivities extends Rpc
3008
{
3009
3010
    /**
3011
     * @param array $scalingActivityId
3012
     *
3013
     * @return $this
3014
     */
3015
	public function withScalingActivityId(array $scalingActivityId)
3016
	{
3017
	    $this->data['ScalingActivityId'] = $scalingActivityId;
3018
		foreach ($scalingActivityId as $i => $iValue) {
3019
			$this->options['query']['ScalingActivityId.' . ($i + 1)] = $iValue;
3020
		}
3021
3022
		return $this;
3023
    }
3024
}
3025
3026
/**
3027
 * @method string getResourceOwnerId()
3028
 * @method $this withResourceOwnerId($value)
3029
 * @method string getResourceOwnerAccount()
3030
 * @method $this withResourceOwnerAccount($value)
3031
 * @method string getOwnerId()
3032
 * @method $this withOwnerId($value)
3033
 * @method string getScalingActivityId()
3034
 * @method $this withScalingActivityId($value)
3035
 */
3036
class DescribeScalingActivityDetail extends Rpc
3037
{
3038
}
3039
3040
/**
3041
 * @method string getResourceOwnerId()
3042
 * @method $this withResourceOwnerId($value)
3043
 * @method string getScalingGroupId()
3044
 * @method $this withScalingGroupId($value)
3045
 * @method string getPageNumber()
3046
 * @method $this withPageNumber($value)
3047
 * @method string getPageSize()
3048
 * @method $this withPageSize($value)
3049
 * @method string getResourceOwnerAccount()
3050
 * @method $this withResourceOwnerAccount($value)
3051
 * @method string getOwnerAccount()
3052
 * @method $this withOwnerAccount($value)
3053
 * @method string getOwnerId()
3054
 * @method $this withOwnerId($value)
3055
 * @method array getScalingConfigurationName()
3056
 * @method array getScalingConfigurationId()
3057
 */
3058
class DescribeScalingConfigurations extends Rpc
3059
{
3060
3061
    /**
3062
     * @param array $scalingConfigurationName
3063
     *
3064
     * @return $this
3065
     */
3066
	public function withScalingConfigurationName(array $scalingConfigurationName)
3067
	{
3068
	    $this->data['ScalingConfigurationName'] = $scalingConfigurationName;
3069
		foreach ($scalingConfigurationName as $i => $iValue) {
3070
			$this->options['query']['ScalingConfigurationName.' . ($i + 1)] = $iValue;
3071
		}
3072
3073
		return $this;
3074
    }
3075
3076
    /**
3077
     * @param array $scalingConfigurationId
3078
     *
3079
     * @return $this
3080
     */
3081
	public function withScalingConfigurationId(array $scalingConfigurationId)
3082
	{
3083
	    $this->data['ScalingConfigurationId'] = $scalingConfigurationId;
3084
		foreach ($scalingConfigurationId as $i => $iValue) {
3085
			$this->options['query']['ScalingConfigurationId.' . ($i + 1)] = $iValue;
3086
		}
3087
3088
		return $this;
3089
    }
3090
}
3091
3092
/**
3093
 * @method string getResourceOwnerId()
3094
 * @method $this withResourceOwnerId($value)
3095
 * @method string getResourceGroupId()
3096
 * @method $this withResourceGroupId($value)
3097
 * @method string getGroupType()
3098
 * @method $this withGroupType($value)
3099
 * @method array getTag()
3100
 * @method string getOwnerId()
3101
 * @method $this withOwnerId($value)
3102
 * @method array getScalingGroupId()
3103
 * @method string getPageNumber()
3104
 * @method $this withPageNumber($value)
3105
 * @method string getPageSize()
3106
 * @method $this withPageSize($value)
3107
 * @method string getScalingGroupName20()
3108
 * @method string getScalingGroupName19()
3109
 * @method string getScalingGroupName18()
3110
 * @method string getScalingGroupName17()
3111
 * @method string getScalingGroupName16()
3112
 * @method string getResourceOwnerAccount()
3113
 * @method $this withResourceOwnerAccount($value)
3114
 * @method string getScalingGroupName()
3115
 * @method $this withScalingGroupName($value)
3116
 * @method string getOwnerAccount()
3117
 * @method $this withOwnerAccount($value)
3118
 * @method string getScalingGroupName1()
3119
 * @method string getScalingGroupName2()
3120
 * @method string getScalingGroupName7()
3121
 * @method string getScalingGroupName11()
3122
 * @method string getScalingGroupName8()
3123
 * @method string getScalingGroupName10()
3124
 * @method string getScalingGroupName9()
3125
 * @method string getScalingGroupName3()
3126
 * @method string getScalingGroupName15()
3127
 * @method string getScalingGroupName4()
3128
 * @method string getScalingGroupName14()
3129
 * @method string getScalingGroupName5()
3130
 * @method string getScalingGroupName13()
3131
 * @method string getScalingGroupName6()
3132
 * @method string getScalingGroupName12()
3133
 */
3134
class DescribeScalingGroups extends Rpc
3135
{
3136
3137
    /**
3138
     * @param array $tag
3139
     *
3140
     * @return $this
3141
     */
3142
	public function withTag(array $tag)
3143
	{
3144
	    $this->data['Tag'] = $tag;
3145
		foreach ($tag as $depth1 => $depth1Value) {
3146
			if(isset($depth1Value['Value'])){
3147
				$this->options['query']['Tag.' . ($depth1 + 1) . '.Value'] = $depth1Value['Value'];
3148
			}
3149
			if(isset($depth1Value['Key'])){
3150
				$this->options['query']['Tag.' . ($depth1 + 1) . '.Key'] = $depth1Value['Key'];
3151
			}
3152
		}
3153
3154
		return $this;
3155
    }
3156
3157
    /**
3158
     * @param array $scalingGroupId
3159
     *
3160
     * @return $this
3161
     */
3162
	public function withScalingGroupId(array $scalingGroupId)
3163
	{
3164
	    $this->data['ScalingGroupId'] = $scalingGroupId;
3165
		foreach ($scalingGroupId as $i => $iValue) {
3166
			$this->options['query']['ScalingGroupId.' . ($i + 1)] = $iValue;
3167
		}
3168
3169
		return $this;
3170
    }
3171
3172
    /**
3173
     * @param string $value
3174
     *
3175
     * @return $this
3176
     */
3177
    public function withScalingGroupName20($value)
3178
    {
3179
        $this->data['ScalingGroupName20'] = $value;
3180
        $this->options['query']['ScalingGroupName.20'] = $value;
3181
3182
        return $this;
3183
    }
3184
3185
    /**
3186
     * @param string $value
3187
     *
3188
     * @return $this
3189
     */
3190
    public function withScalingGroupName19($value)
3191
    {
3192
        $this->data['ScalingGroupName19'] = $value;
3193
        $this->options['query']['ScalingGroupName.19'] = $value;
3194
3195
        return $this;
3196
    }
3197
3198
    /**
3199
     * @param string $value
3200
     *
3201
     * @return $this
3202
     */
3203
    public function withScalingGroupName18($value)
3204
    {
3205
        $this->data['ScalingGroupName18'] = $value;
3206
        $this->options['query']['ScalingGroupName.18'] = $value;
3207
3208
        return $this;
3209
    }
3210
3211
    /**
3212
     * @param string $value
3213
     *
3214
     * @return $this
3215
     */
3216
    public function withScalingGroupName17($value)
3217
    {
3218
        $this->data['ScalingGroupName17'] = $value;
3219
        $this->options['query']['ScalingGroupName.17'] = $value;
3220
3221
        return $this;
3222
    }
3223
3224
    /**
3225
     * @param string $value
3226
     *
3227
     * @return $this
3228
     */
3229
    public function withScalingGroupName16($value)
3230
    {
3231
        $this->data['ScalingGroupName16'] = $value;
3232
        $this->options['query']['ScalingGroupName.16'] = $value;
3233
3234
        return $this;
3235
    }
3236
3237
    /**
3238
     * @param string $value
3239
     *
3240
     * @return $this
3241
     */
3242
    public function withScalingGroupName1($value)
3243
    {
3244
        $this->data['ScalingGroupName1'] = $value;
3245
        $this->options['query']['ScalingGroupName.1'] = $value;
3246
3247
        return $this;
3248
    }
3249
3250
    /**
3251
     * @param string $value
3252
     *
3253
     * @return $this
3254
     */
3255
    public function withScalingGroupName2($value)
3256
    {
3257
        $this->data['ScalingGroupName2'] = $value;
3258
        $this->options['query']['ScalingGroupName.2'] = $value;
3259
3260
        return $this;
3261
    }
3262
3263
    /**
3264
     * @param string $value
3265
     *
3266
     * @return $this
3267
     */
3268
    public function withScalingGroupName7($value)
3269
    {
3270
        $this->data['ScalingGroupName7'] = $value;
3271
        $this->options['query']['ScalingGroupName.7'] = $value;
3272
3273
        return $this;
3274
    }
3275
3276
    /**
3277
     * @param string $value
3278
     *
3279
     * @return $this
3280
     */
3281
    public function withScalingGroupName11($value)
3282
    {
3283
        $this->data['ScalingGroupName11'] = $value;
3284
        $this->options['query']['ScalingGroupName.11'] = $value;
3285
3286
        return $this;
3287
    }
3288
3289
    /**
3290
     * @param string $value
3291
     *
3292
     * @return $this
3293
     */
3294
    public function withScalingGroupName8($value)
3295
    {
3296
        $this->data['ScalingGroupName8'] = $value;
3297
        $this->options['query']['ScalingGroupName.8'] = $value;
3298
3299
        return $this;
3300
    }
3301
3302
    /**
3303
     * @param string $value
3304
     *
3305
     * @return $this
3306
     */
3307
    public function withScalingGroupName10($value)
3308
    {
3309
        $this->data['ScalingGroupName10'] = $value;
3310
        $this->options['query']['ScalingGroupName.10'] = $value;
3311
3312
        return $this;
3313
    }
3314
3315
    /**
3316
     * @param string $value
3317
     *
3318
     * @return $this
3319
     */
3320
    public function withScalingGroupName9($value)
3321
    {
3322
        $this->data['ScalingGroupName9'] = $value;
3323
        $this->options['query']['ScalingGroupName.9'] = $value;
3324
3325
        return $this;
3326
    }
3327
3328
    /**
3329
     * @param string $value
3330
     *
3331
     * @return $this
3332
     */
3333
    public function withScalingGroupName3($value)
3334
    {
3335
        $this->data['ScalingGroupName3'] = $value;
3336
        $this->options['query']['ScalingGroupName.3'] = $value;
3337
3338
        return $this;
3339
    }
3340
3341
    /**
3342
     * @param string $value
3343
     *
3344
     * @return $this
3345
     */
3346
    public function withScalingGroupName15($value)
3347
    {
3348
        $this->data['ScalingGroupName15'] = $value;
3349
        $this->options['query']['ScalingGroupName.15'] = $value;
3350
3351
        return $this;
3352
    }
3353
3354
    /**
3355
     * @param string $value
3356
     *
3357
     * @return $this
3358
     */
3359
    public function withScalingGroupName4($value)
3360
    {
3361
        $this->data['ScalingGroupName4'] = $value;
3362
        $this->options['query']['ScalingGroupName.4'] = $value;
3363
3364
        return $this;
3365
    }
3366
3367
    /**
3368
     * @param string $value
3369
     *
3370
     * @return $this
3371
     */
3372
    public function withScalingGroupName14($value)
3373
    {
3374
        $this->data['ScalingGroupName14'] = $value;
3375
        $this->options['query']['ScalingGroupName.14'] = $value;
3376
3377
        return $this;
3378
    }
3379
3380
    /**
3381
     * @param string $value
3382
     *
3383
     * @return $this
3384
     */
3385
    public function withScalingGroupName5($value)
3386
    {
3387
        $this->data['ScalingGroupName5'] = $value;
3388
        $this->options['query']['ScalingGroupName.5'] = $value;
3389
3390
        return $this;
3391
    }
3392
3393
    /**
3394
     * @param string $value
3395
     *
3396
     * @return $this
3397
     */
3398
    public function withScalingGroupName13($value)
3399
    {
3400
        $this->data['ScalingGroupName13'] = $value;
3401
        $this->options['query']['ScalingGroupName.13'] = $value;
3402
3403
        return $this;
3404
    }
3405
3406
    /**
3407
     * @param string $value
3408
     *
3409
     * @return $this
3410
     */
3411
    public function withScalingGroupName6($value)
3412
    {
3413
        $this->data['ScalingGroupName6'] = $value;
3414
        $this->options['query']['ScalingGroupName.6'] = $value;
3415
3416
        return $this;
3417
    }
3418
3419
    /**
3420
     * @param string $value
3421
     *
3422
     * @return $this
3423
     */
3424
    public function withScalingGroupName12($value)
3425
    {
3426
        $this->data['ScalingGroupName12'] = $value;
3427
        $this->options['query']['ScalingGroupName.12'] = $value;
3428
3429
        return $this;
3430
    }
3431
}
3432
3433
/**
3434
 * @method string getResourceOwnerId()
3435
 * @method $this withResourceOwnerId($value)
3436
 * @method string getScalingGroupId()
3437
 * @method $this withScalingGroupId($value)
3438
 * @method string getLifecycleState()
3439
 * @method $this withLifecycleState($value)
3440
 * @method string getCreationType()
3441
 * @method $this withCreationType($value)
3442
 * @method string getPageNumber()
3443
 * @method $this withPageNumber($value)
3444
 * @method string getPageSize()
3445
 * @method $this withPageSize($value)
3446
 * @method string getResourceOwnerAccount()
3447
 * @method $this withResourceOwnerAccount($value)
3448
 * @method string getOwnerAccount()
3449
 * @method $this withOwnerAccount($value)
3450
 * @method string getOwnerId()
3451
 * @method $this withOwnerId($value)
3452
 * @method string getScalingActivityId()
3453
 * @method $this withScalingActivityId($value)
3454
 * @method array getCreationTypes()
3455
 * @method string getScalingConfigurationId()
3456
 * @method $this withScalingConfigurationId($value)
3457
 * @method array getInstanceId()
3458
 * @method string getHealthStatus()
3459
 * @method $this withHealthStatus($value)
3460
 * @method array getLifecycleStates()
3461
 */
3462
class DescribeScalingInstances extends Rpc
3463
{
3464
3465
    /**
3466
     * @param array $creationTypes
3467
     *
3468
     * @return $this
3469
     */
3470
	public function withCreationTypes(array $creationTypes)
3471
	{
3472
	    $this->data['CreationTypes'] = $creationTypes;
3473
		foreach ($creationTypes as $i => $iValue) {
3474
			$this->options['query']['CreationTypes.' . ($i + 1)] = $iValue;
3475
		}
3476
3477
		return $this;
3478
    }
3479
3480
    /**
3481
     * @param array $instanceId
3482
     *
3483
     * @return $this
3484
     */
3485
	public function withInstanceId(array $instanceId)
3486
	{
3487
	    $this->data['InstanceId'] = $instanceId;
3488
		foreach ($instanceId as $i => $iValue) {
3489
			$this->options['query']['InstanceId.' . ($i + 1)] = $iValue;
3490
		}
3491
3492
		return $this;
3493
    }
3494
3495
    /**
3496
     * @param array $lifecycleStates
3497
     *
3498
     * @return $this
3499
     */
3500
	public function withLifecycleStates(array $lifecycleStates)
3501
	{
3502
	    $this->data['LifecycleStates'] = $lifecycleStates;
3503
		foreach ($lifecycleStates as $i => $iValue) {
3504
			$this->options['query']['LifecycleStates.' . ($i + 1)] = $iValue;
3505
		}
3506
3507
		return $this;
3508
    }
3509
}
3510
3511
/**
3512
 * @method string getResourceOwnerId()
3513
 * @method $this withResourceOwnerId($value)
3514
 * @method string getScalingGroupId()
3515
 * @method $this withScalingGroupId($value)
3516
 * @method array getScalingRuleId()
3517
 * @method string getPageNumber()
3518
 * @method $this withPageNumber($value)
3519
 * @method array getScalingRuleName()
3520
 * @method string getPageSize()
3521
 * @method $this withPageSize($value)
3522
 * @method string getScalingRuleType()
3523
 * @method $this withScalingRuleType($value)
3524
 * @method string getResourceOwnerAccount()
3525
 * @method $this withResourceOwnerAccount($value)
3526
 * @method string getOwnerAccount()
3527
 * @method $this withOwnerAccount($value)
3528
 * @method string getOwnerId()
3529
 * @method $this withOwnerId($value)
3530
 * @method array getScalingRuleAri()
3531
 * @method string getShowAlarmRules()
3532
 * @method $this withShowAlarmRules($value)
3533
 */
3534
class DescribeScalingRules extends Rpc
3535
{
3536
3537
    /**
3538
     * @param array $scalingRuleId
3539
     *
3540
     * @return $this
3541
     */
3542
	public function withScalingRuleId(array $scalingRuleId)
3543
	{
3544
	    $this->data['ScalingRuleId'] = $scalingRuleId;
3545
		foreach ($scalingRuleId as $i => $iValue) {
3546
			$this->options['query']['ScalingRuleId.' . ($i + 1)] = $iValue;
3547
		}
3548
3549
		return $this;
3550
    }
3551
3552
    /**
3553
     * @param array $scalingRuleName
3554
     *
3555
     * @return $this
3556
     */
3557
	public function withScalingRuleName(array $scalingRuleName)
3558
	{
3559
	    $this->data['ScalingRuleName'] = $scalingRuleName;
3560
		foreach ($scalingRuleName as $i => $iValue) {
3561
			$this->options['query']['ScalingRuleName.' . ($i + 1)] = $iValue;
3562
		}
3563
3564
		return $this;
3565
    }
3566
3567
    /**
3568
     * @param array $scalingRuleAri
3569
     *
3570
     * @return $this
3571
     */
3572
	public function withScalingRuleAri(array $scalingRuleAri)
3573
	{
3574
	    $this->data['ScalingRuleAri'] = $scalingRuleAri;
3575
		foreach ($scalingRuleAri as $i => $iValue) {
3576
			$this->options['query']['ScalingRuleAri.' . ($i + 1)] = $iValue;
3577
		}
3578
3579
		return $this;
3580
    }
3581
}
3582
3583
/**
3584
 * @method string getResourceOwnerId()
3585
 * @method $this withResourceOwnerId($value)
3586
 * @method array getScheduledAction()
3587
 * @method string getScalingGroupId()
3588
 * @method $this withScalingGroupId($value)
3589
 * @method string getTaskName()
3590
 * @method $this withTaskName($value)
3591
 * @method string getPageNumber()
3592
 * @method $this withPageNumber($value)
3593
 * @method string getPageSize()
3594
 * @method $this withPageSize($value)
3595
 * @method string getResourceOwnerAccount()
3596
 * @method $this withResourceOwnerAccount($value)
3597
 * @method string getOwnerAccount()
3598
 * @method $this withOwnerAccount($value)
3599
 * @method string getOwnerId()
3600
 * @method $this withOwnerId($value)
3601
 * @method string getRecurrenceValue()
3602
 * @method $this withRecurrenceValue($value)
3603
 * @method array getScheduledTaskName()
3604
 * @method string getTaskEnabled()
3605
 * @method $this withTaskEnabled($value)
3606
 * @method array getScheduledTaskId()
3607
 * @method string getRecurrenceType()
3608
 * @method $this withRecurrenceType($value)
3609
 */
3610
class DescribeScheduledTasks extends Rpc
3611
{
3612
3613
    /**
3614
     * @param array $scheduledAction
3615
     *
3616
     * @return $this
3617
     */
3618
	public function withScheduledAction(array $scheduledAction)
3619
	{
3620
	    $this->data['ScheduledAction'] = $scheduledAction;
3621
		foreach ($scheduledAction as $i => $iValue) {
3622
			$this->options['query']['ScheduledAction.' . ($i + 1)] = $iValue;
3623
		}
3624
3625
		return $this;
3626
    }
3627
3628
    /**
3629
     * @param array $scheduledTaskName
3630
     *
3631
     * @return $this
3632
     */
3633
	public function withScheduledTaskName(array $scheduledTaskName)
3634
	{
3635
	    $this->data['ScheduledTaskName'] = $scheduledTaskName;
3636
		foreach ($scheduledTaskName as $i => $iValue) {
3637
			$this->options['query']['ScheduledTaskName.' . ($i + 1)] = $iValue;
3638
		}
3639
3640
		return $this;
3641
    }
3642
3643
    /**
3644
     * @param array $scheduledTaskId
3645
     *
3646
     * @return $this
3647
     */
3648
	public function withScheduledTaskId(array $scheduledTaskId)
3649
	{
3650
	    $this->data['ScheduledTaskId'] = $scheduledTaskId;
3651
		foreach ($scheduledTaskId as $i => $iValue) {
3652
			$this->options['query']['ScheduledTaskId.' . ($i + 1)] = $iValue;
3653
		}
3654
3655
		return $this;
3656
    }
3657
}
3658
3659
/**
3660
 * @method string getClientToken()
3661
 * @method $this withClientToken($value)
3662
 * @method string getScalingGroupId()
3663
 * @method $this withScalingGroupId($value)
3664
 * @method string getResourceOwnerAccount()
3665
 * @method $this withResourceOwnerAccount($value)
3666
 * @method string getOwnerId()
3667
 * @method $this withOwnerId($value)
3668
 * @method array getAlbServerGroup()
3669
 * @method string getForceDetach()
3670
 * @method $this withForceDetach($value)
3671
 */
3672
class DetachAlbServerGroups extends Rpc
3673
{
3674
3675
    /**
3676
     * @param array $albServerGroup
3677
     *
3678
     * @return $this
3679
     */
3680
	public function withAlbServerGroup(array $albServerGroup)
3681
	{
3682
	    $this->data['AlbServerGroup'] = $albServerGroup;
3683
		foreach ($albServerGroup as $depth1 => $depth1Value) {
3684
			if(isset($depth1Value['AlbServerGroupId'])){
3685
				$this->options['query']['AlbServerGroup.' . ($depth1 + 1) . '.AlbServerGroupId'] = $depth1Value['AlbServerGroupId'];
3686
			}
3687
			if(isset($depth1Value['Port'])){
3688
				$this->options['query']['AlbServerGroup.' . ($depth1 + 1) . '.Port'] = $depth1Value['Port'];
3689
			}
3690
		}
3691
3692
		return $this;
3693
    }
3694
}
3695
3696
/**
3697
 * @method string getClientToken()
3698
 * @method $this withClientToken($value)
3699
 * @method string getScalingGroupId()
3700
 * @method $this withScalingGroupId($value)
3701
 * @method string getRemoveSecurityGroup()
3702
 * @method $this withRemoveSecurityGroup($value)
3703
 * @method string getResourceOwnerAccount()
3704
 * @method $this withResourceOwnerAccount($value)
3705
 * @method array getDBInstance()
3706
 * @method string getOwnerId()
3707
 * @method $this withOwnerId($value)
3708
 * @method string getForceDetach()
3709
 * @method $this withForceDetach($value)
3710
 */
3711
class DetachDBInstances extends Rpc
3712
{
3713
3714
    /**
3715
     * @param array $dBInstance
3716
     *
3717
     * @return $this
3718
     */
3719
	public function withDBInstance(array $dBInstance)
3720
	{
3721
	    $this->data['DBInstance'] = $dBInstance;
3722
		foreach ($dBInstance as $i => $iValue) {
3723
			$this->options['query']['DBInstance.' . ($i + 1)] = $iValue;
3724
		}
3725
3726
		return $this;
3727
    }
3728
}
3729
3730
/**
3731
 * @method string getResourceOwnerId()
3732
 * @method $this withResourceOwnerId($value)
3733
 * @method string getClientToken()
3734
 * @method $this withClientToken($value)
3735
 * @method string getScalingGroupId()
3736
 * @method $this withScalingGroupId($value)
3737
 * @method string getDecreaseDesiredCapacity()
3738
 * @method $this withDecreaseDesiredCapacity($value)
3739
 * @method string getIgnoreInvalidInstance()
3740
 * @method $this withIgnoreInvalidInstance($value)
3741
 * @method string getResourceOwnerAccount()
3742
 * @method $this withResourceOwnerAccount($value)
3743
 * @method string getOwnerAccount()
3744
 * @method $this withOwnerAccount($value)
3745
 * @method string getOwnerId()
3746
 * @method $this withOwnerId($value)
3747
 * @method string getDetachOption()
3748
 * @method $this withDetachOption($value)
3749
 * @method array getInstanceId()
3750
 * @method string getLifecycleHook()
3751
 * @method $this withLifecycleHook($value)
3752
 */
3753
class DetachInstances extends Rpc
3754
{
3755
3756
    /**
3757
     * @param array $instanceId
3758
     *
3759
     * @return $this
3760
     */
3761
	public function withInstanceId(array $instanceId)
3762
	{
3763
	    $this->data['InstanceId'] = $instanceId;
3764
		foreach ($instanceId as $i => $iValue) {
3765
			$this->options['query']['InstanceId.' . ($i + 1)] = $iValue;
3766
		}
3767
3768
		return $this;
3769
    }
3770
}
3771
3772
/**
3773
 * @method string getClientToken()
3774
 * @method $this withClientToken($value)
3775
 * @method string getScalingGroupId()
3776
 * @method $this withScalingGroupId($value)
3777
 * @method array getLoadBalancer()
3778
 * @method string getResourceOwnerAccount()
3779
 * @method $this withResourceOwnerAccount($value)
3780
 * @method string getOwnerId()
3781
 * @method $this withOwnerId($value)
3782
 * @method string getAsync()
3783
 * @method $this withAsync($value)
3784
 * @method string getForceDetach()
3785
 * @method $this withForceDetach($value)
3786
 */
3787
class DetachLoadBalancers extends Rpc
3788
{
3789
3790
    /**
3791
     * @param array $loadBalancer
3792
     *
3793
     * @return $this
3794
     */
3795
	public function withLoadBalancer(array $loadBalancer)
3796
	{
3797
	    $this->data['LoadBalancer'] = $loadBalancer;
3798
		foreach ($loadBalancer as $i => $iValue) {
3799
			$this->options['query']['LoadBalancer.' . ($i + 1)] = $iValue;
3800
		}
3801
3802
		return $this;
3803
    }
3804
}
3805
3806
/**
3807
 * @method string getClientToken()
3808
 * @method $this withClientToken($value)
3809
 * @method string getScalingGroupId()
3810
 * @method $this withScalingGroupId($value)
3811
 * @method array getServerGroup()
3812
 * @method string getResourceOwnerAccount()
3813
 * @method $this withResourceOwnerAccount($value)
3814
 * @method string getOwnerId()
3815
 * @method $this withOwnerId($value)
3816
 * @method string getForceDetach()
3817
 * @method $this withForceDetach($value)
3818
 */
3819
class DetachServerGroups extends Rpc
3820
{
3821
3822
    /**
3823
     * @param array $serverGroup
3824
     *
3825
     * @return $this
3826
     */
3827
	public function withServerGroup(array $serverGroup)
3828
	{
3829
	    $this->data['ServerGroup'] = $serverGroup;
3830
		foreach ($serverGroup as $depth1 => $depth1Value) {
3831
			if(isset($depth1Value['ServerGroupId'])){
3832
				$this->options['query']['ServerGroup.' . ($depth1 + 1) . '.ServerGroupId'] = $depth1Value['ServerGroupId'];
3833
			}
3834
			if(isset($depth1Value['Port'])){
3835
				$this->options['query']['ServerGroup.' . ($depth1 + 1) . '.Port'] = $depth1Value['Port'];
3836
			}
3837
			if(isset($depth1Value['Type'])){
3838
				$this->options['query']['ServerGroup.' . ($depth1 + 1) . '.Type'] = $depth1Value['Type'];
3839
			}
3840
		}
3841
3842
		return $this;
3843
    }
3844
}
3845
3846
/**
3847
 * @method string getClientToken()
3848
 * @method $this withClientToken($value)
3849
 * @method string getScalingGroupId()
3850
 * @method $this withScalingGroupId($value)
3851
 * @method string getResourceOwnerAccount()
3852
 * @method $this withResourceOwnerAccount($value)
3853
 * @method string getOwnerId()
3854
 * @method $this withOwnerId($value)
3855
 * @method string getForceDetach()
3856
 * @method $this withForceDetach($value)
3857
 * @method array getVServerGroup()
3858
 */
3859
class DetachVServerGroups extends Rpc
3860
{
3861
3862
    /**
3863
     * @param array $vServerGroup
3864
     *
3865
     * @return $this
3866
     */
3867
	public function withVServerGroup(array $vServerGroup)
3868
	{
3869
	    $this->data['VServerGroup'] = $vServerGroup;
3870
		foreach ($vServerGroup as $depth1 => $depth1Value) {
3871
			if(isset($depth1Value['LoadBalancerId'])){
3872
				$this->options['query']['VServerGroup.' . ($depth1 + 1) . '.LoadBalancerId'] = $depth1Value['LoadBalancerId'];
3873
			}
3874
			foreach ($depth1Value['VServerGroupAttribute'] as $depth2 => $depth2Value) {
3875
				if(isset($depth2Value['VServerGroupId'])){
3876
					$this->options['query']['VServerGroup.' . ($depth1 + 1) . '.VServerGroupAttribute.' . ($depth2 + 1) . '.VServerGroupId'] = $depth2Value['VServerGroupId'];
3877
				}
3878
				if(isset($depth2Value['Port'])){
3879
					$this->options['query']['VServerGroup.' . ($depth1 + 1) . '.VServerGroupAttribute.' . ($depth2 + 1) . '.Port'] = $depth2Value['Port'];
3880
				}
3881
			}
3882
		}
3883
3884
		return $this;
3885
    }
3886
}
3887
3888
/**
3889
 * @method string getResourceOwnerAccount()
3890
 * @method $this withResourceOwnerAccount($value)
3891
 * @method string getOwnerId()
3892
 * @method $this withOwnerId($value)
3893
 * @method string getAlarmTaskId()
3894
 * @method $this withAlarmTaskId($value)
3895
 */
3896
class DisableAlarm extends Rpc
3897
{
3898
}
3899
3900
/**
3901
 * @method string getResourceOwnerId()
3902
 * @method $this withResourceOwnerId($value)
3903
 * @method string getScalingGroupId()
3904
 * @method $this withScalingGroupId($value)
3905
 * @method string getResourceOwnerAccount()
3906
 * @method $this withResourceOwnerAccount($value)
3907
 * @method string getOwnerAccount()
3908
 * @method $this withOwnerAccount($value)
3909
 * @method string getOwnerId()
3910
 * @method $this withOwnerId($value)
3911
 */
3912
class DisableScalingGroup extends Rpc
3913
{
3914
}
3915
3916
/**
3917
 * @method string getResourceOwnerAccount()
3918
 * @method $this withResourceOwnerAccount($value)
3919
 * @method string getOwnerId()
3920
 * @method $this withOwnerId($value)
3921
 * @method string getAlarmTaskId()
3922
 * @method $this withAlarmTaskId($value)
3923
 */
3924
class EnableAlarm extends Rpc
3925
{
3926
}
3927
3928
/**
3929
 * @method string getResourceOwnerId()
3930
 * @method $this withResourceOwnerId($value)
3931
 * @method string getScalingGroupId()
3932
 * @method $this withScalingGroupId($value)
3933
 * @method string getActiveScalingConfigurationId()
3934
 * @method $this withActiveScalingConfigurationId($value)
3935
 * @method string getLaunchTemplateId()
3936
 * @method $this withLaunchTemplateId($value)
3937
 * @method string getResourceOwnerAccount()
3938
 * @method $this withResourceOwnerAccount($value)
3939
 * @method array getLaunchTemplateOverride()
3940
 * @method string getOwnerAccount()
3941
 * @method $this withOwnerAccount($value)
3942
 * @method string getOwnerId()
3943
 * @method $this withOwnerId($value)
3944
 * @method string getLaunchTemplateVersion()
3945
 * @method $this withLaunchTemplateVersion($value)
3946
 * @method array getInstanceId()
3947
 * @method array getLoadBalancerWeight()
3948
 */
3949
class EnableScalingGroup extends Rpc
3950
{
3951
3952
    /**
3953
     * @param array $launchTemplateOverride
3954
     *
3955
     * @return $this
3956
     */
3957
	public function withLaunchTemplateOverride(array $launchTemplateOverride)
3958
	{
3959
	    $this->data['LaunchTemplateOverride'] = $launchTemplateOverride;
3960
		foreach ($launchTemplateOverride as $depth1 => $depth1Value) {
3961
			if(isset($depth1Value['WeightedCapacity'])){
3962
				$this->options['query']['LaunchTemplateOverride.' . ($depth1 + 1) . '.WeightedCapacity'] = $depth1Value['WeightedCapacity'];
3963
			}
3964
			if(isset($depth1Value['InstanceType'])){
3965
				$this->options['query']['LaunchTemplateOverride.' . ($depth1 + 1) . '.InstanceType'] = $depth1Value['InstanceType'];
3966
			}
3967
		}
3968
3969
		return $this;
3970
    }
3971
3972
    /**
3973
     * @param array $instanceId
3974
     *
3975
     * @return $this
3976
     */
3977
	public function withInstanceId(array $instanceId)
3978
	{
3979
	    $this->data['InstanceId'] = $instanceId;
3980
		foreach ($instanceId as $i => $iValue) {
3981
			$this->options['query']['InstanceId.' . ($i + 1)] = $iValue;
3982
		}
3983
3984
		return $this;
3985
    }
3986
3987
    /**
3988
     * @param array $loadBalancerWeight
3989
     *
3990
     * @return $this
3991
     */
3992
	public function withLoadBalancerWeight(array $loadBalancerWeight)
3993
	{
3994
	    $this->data['LoadBalancerWeight'] = $loadBalancerWeight;
3995
		foreach ($loadBalancerWeight as $i => $iValue) {
3996
			$this->options['query']['LoadBalancerWeight.' . ($i + 1)] = $iValue;
3997
		}
3998
3999
		return $this;
4000
    }
4001
}
4002
4003
/**
4004
 * @method string getClientToken()
4005
 * @method $this withClientToken($value)
4006
 * @method string getScalingGroupId()
4007
 * @method $this withScalingGroupId($value)
4008
 * @method string getResourceOwnerAccount()
4009
 * @method $this withResourceOwnerAccount($value)
4010
 * @method string getOwnerId()
4011
 * @method $this withOwnerId($value)
4012
 * @method string getAsync()
4013
 * @method $this withAsync($value)
4014
 * @method array getInstanceId()
4015
 */
4016
class EnterStandby extends Rpc
4017
{
4018
4019
    /**
4020
     * @param array $instanceId
4021
     *
4022
     * @return $this
4023
     */
4024
	public function withInstanceId(array $instanceId)
4025
	{
4026
	    $this->data['InstanceId'] = $instanceId;
4027
		foreach ($instanceId as $i => $iValue) {
4028
			$this->options['query']['InstanceId.' . ($i + 1)] = $iValue;
4029
		}
4030
4031
		return $this;
4032
    }
4033
}
4034
4035
/**
4036
 * @method string getResourceOwnerId()
4037
 * @method $this withResourceOwnerId($value)
4038
 * @method string getClientToken()
4039
 * @method $this withClientToken($value)
4040
 * @method string getBreachThreshold()
4041
 * @method $this withBreachThreshold($value)
4042
 * @method string getResourceOwnerAccount()
4043
 * @method $this withResourceOwnerAccount($value)
4044
 * @method string getOwnerAccount()
4045
 * @method $this withOwnerAccount($value)
4046
 * @method string getOwnerId()
4047
 * @method $this withOwnerId($value)
4048
 * @method string getMetricValue()
4049
 * @method $this withMetricValue($value)
4050
 * @method string getScalingRuleAri()
4051
 * @method $this withScalingRuleAri($value)
4052
 */
4053
class ExecuteScalingRule extends Rpc
4054
{
4055
}
4056
4057
/**
4058
 * @method string getClientToken()
4059
 * @method $this withClientToken($value)
4060
 * @method string getScalingGroupId()
4061
 * @method $this withScalingGroupId($value)
4062
 * @method string getResourceOwnerAccount()
4063
 * @method $this withResourceOwnerAccount($value)
4064
 * @method string getOwnerId()
4065
 * @method $this withOwnerId($value)
4066
 * @method string getAsync()
4067
 * @method $this withAsync($value)
4068
 * @method array getInstanceId()
4069
 */
4070
class ExitStandby extends Rpc
4071
{
4072
4073
    /**
4074
     * @param array $instanceId
4075
     *
4076
     * @return $this
4077
     */
4078
	public function withInstanceId(array $instanceId)
4079
	{
4080
	    $this->data['InstanceId'] = $instanceId;
4081
		foreach ($instanceId as $i => $iValue) {
4082
			$this->options['query']['InstanceId.' . ($i + 1)] = $iValue;
4083
		}
4084
4085
		return $this;
4086
    }
4087
}
4088
4089
/**
4090
 * @method string getNextToken()
4091
 * @method $this withNextToken($value)
4092
 * @method string getPageSize()
4093
 * @method $this withPageSize($value)
4094
 * @method string getResourceOwnerAccount()
4095
 * @method $this withResourceOwnerAccount($value)
4096
 * @method string getOwnerId()
4097
 * @method $this withOwnerId($value)
4098
 * @method string getResourceType()
4099
 * @method $this withResourceType($value)
4100
 */
4101
class ListTagKeys extends Rpc
4102
{
4103
}
4104
4105
/**
4106
 * @method string getNextToken()
4107
 * @method $this withNextToken($value)
4108
 * @method array getTag()
4109
 * @method array getResourceId()
4110
 * @method string getResourceOwnerAccount()
4111
 * @method $this withResourceOwnerAccount($value)
4112
 * @method string getOwnerId()
4113
 * @method $this withOwnerId($value)
4114
 * @method string getResourceType()
4115
 * @method $this withResourceType($value)
4116
 */
4117
class ListTagResources extends Rpc
4118
{
4119
4120
    /**
4121
     * @param array $tag
4122
     *
4123
     * @return $this
4124
     */
4125
	public function withTag(array $tag)
4126
	{
4127
	    $this->data['Tag'] = $tag;
4128
		foreach ($tag as $depth1 => $depth1Value) {
4129
			if(isset($depth1Value['Value'])){
4130
				$this->options['query']['Tag.' . ($depth1 + 1) . '.Value'] = $depth1Value['Value'];
4131
			}
4132
			if(isset($depth1Value['Key'])){
4133
				$this->options['query']['Tag.' . ($depth1 + 1) . '.Key'] = $depth1Value['Key'];
4134
			}
4135
		}
4136
4137
		return $this;
4138
    }
4139
4140
    /**
4141
     * @param array $resourceId
4142
     *
4143
     * @return $this
4144
     */
4145
	public function withResourceId(array $resourceId)
4146
	{
4147
	    $this->data['ResourceId'] = $resourceId;
4148
		foreach ($resourceId as $i => $iValue) {
4149
			$this->options['query']['ResourceId.' . ($i + 1)] = $iValue;
4150
		}
4151
4152
		return $this;
4153
    }
4154
}
4155
4156
/**
4157
 * @method string getNextToken()
4158
 * @method $this withNextToken($value)
4159
 * @method string getPageSize()
4160
 * @method $this withPageSize($value)
4161
 * @method string getKey()
4162
 * @method $this withKey($value)
4163
 * @method string getResourceOwnerAccount()
4164
 * @method $this withResourceOwnerAccount($value)
4165
 * @method string getOwnerId()
4166
 * @method $this withOwnerId($value)
4167
 * @method string getResourceType()
4168
 * @method $this withResourceType($value)
4169
 */
4170
class ListTagValues extends Rpc
4171
{
4172
}
4173
4174
/**
4175
 * @method string getMetricType()
4176
 * @method $this withMetricType($value)
4177
 * @method string getDescription()
4178
 * @method $this withDescription($value)
4179
 * @method string getExpressionsLogicOperator()
4180
 * @method $this withExpressionsLogicOperator($value)
4181
 * @method array getAlarmAction()
4182
 * @method string getThreshold()
4183
 * @method $this withThreshold($value)
4184
 * @method string getEffective()
4185
 * @method $this withEffective($value)
4186
 * @method string getEvaluationCount()
4187
 * @method $this withEvaluationCount($value)
4188
 * @method string getMetricName()
4189
 * @method $this withMetricName($value)
4190
 * @method array getDimension()
4191
 * @method string getPeriod()
4192
 * @method $this withPeriod($value)
4193
 * @method array getExpression()
4194
 * @method string getResourceOwnerAccount()
4195
 * @method $this withResourceOwnerAccount($value)
4196
 * @method string getGroupId()
4197
 * @method $this withGroupId($value)
4198
 * @method string getOwnerId()
4199
 * @method $this withOwnerId($value)
4200
 * @method string getAlarmTaskId()
4201
 * @method $this withAlarmTaskId($value)
4202
 * @method string getName()
4203
 * @method $this withName($value)
4204
 * @method string getComparisonOperator()
4205
 * @method $this withComparisonOperator($value)
4206
 * @method string getStatistics()
4207
 * @method $this withStatistics($value)
4208
 */
4209
class ModifyAlarm extends Rpc
4210
{
4211
4212
    /**
4213
     * @param array $alarmAction
4214
     *
4215
     * @return $this
4216
     */
4217
	public function withAlarmAction(array $alarmAction)
4218
	{
4219
	    $this->data['AlarmAction'] = $alarmAction;
4220
		foreach ($alarmAction as $i => $iValue) {
4221
			$this->options['query']['AlarmAction.' . ($i + 1)] = $iValue;
4222
		}
4223
4224
		return $this;
4225
    }
4226
4227
    /**
4228
     * @param array $dimension
4229
     *
4230
     * @return $this
4231
     */
4232
	public function withDimension(array $dimension)
4233
	{
4234
	    $this->data['Dimension'] = $dimension;
4235
		foreach ($dimension as $depth1 => $depth1Value) {
4236
			if(isset($depth1Value['DimensionValue'])){
4237
				$this->options['query']['Dimension.' . ($depth1 + 1) . '.DimensionValue'] = $depth1Value['DimensionValue'];
4238
			}
4239
			if(isset($depth1Value['DimensionKey'])){
4240
				$this->options['query']['Dimension.' . ($depth1 + 1) . '.DimensionKey'] = $depth1Value['DimensionKey'];
4241
			}
4242
		}
4243
4244
		return $this;
4245
    }
4246
4247
    /**
4248
     * @param array $expression
4249
     *
4250
     * @return $this
4251
     */
4252
	public function withExpression(array $expression)
4253
	{
4254
	    $this->data['Expression'] = $expression;
4255
		foreach ($expression as $depth1 => $depth1Value) {
4256
			if(isset($depth1Value['Period'])){
4257
				$this->options['query']['Expression.' . ($depth1 + 1) . '.Period'] = $depth1Value['Period'];
4258
			}
4259
			if(isset($depth1Value['Threshold'])){
4260
				$this->options['query']['Expression.' . ($depth1 + 1) . '.Threshold'] = $depth1Value['Threshold'];
4261
			}
4262
			if(isset($depth1Value['MetricName'])){
4263
				$this->options['query']['Expression.' . ($depth1 + 1) . '.MetricName'] = $depth1Value['MetricName'];
4264
			}
4265
			if(isset($depth1Value['ComparisonOperator'])){
4266
				$this->options['query']['Expression.' . ($depth1 + 1) . '.ComparisonOperator'] = $depth1Value['ComparisonOperator'];
4267
			}
4268
			if(isset($depth1Value['Statistics'])){
4269
				$this->options['query']['Expression.' . ($depth1 + 1) . '.Statistics'] = $depth1Value['Statistics'];
4270
			}
4271
		}
4272
4273
		return $this;
4274
    }
4275
}
4276
4277
/**
4278
 * @method array getContainer()
4279
 * @method array getNtpServer()
4280
 * @method string getSpotPriceLimit()
4281
 * @method $this withSpotPriceLimit($value)
4282
 * @method string getEnableSls()
4283
 * @method $this withEnableSls($value)
4284
 * @method string getResourceGroupId()
4285
 * @method $this withResourceGroupId($value)
4286
 * @method string getHostName()
4287
 * @method $this withHostName($value)
4288
 * @method string getActiveDeadlineSeconds()
4289
 * @method $this withActiveDeadlineSeconds($value)
4290
 * @method string getEgressBandwidth()
4291
 * @method $this withEgressBandwidth($value)
4292
 * @method array getDnsConfigSearch()
4293
 * @method array getHostAliase()
4294
 * @method string getImageSnapshotId()
4295
 * @method $this withImageSnapshotId($value)
4296
 * @method array getTag()
4297
 * @method string getCpuOptionsThreadsPerCore()
4298
 * @method $this withCpuOptionsThreadsPerCore($value)
4299
 * @method string getDataCachePL()
4300
 * @method $this withDataCachePL($value)
4301
 * @method string getIpv6AddressCount()
4302
 * @method $this withIpv6AddressCount($value)
4303
 * @method string getCpu()
4304
 * @method $this withCpu($value)
4305
 * @method string getOwnerId()
4306
 * @method $this withOwnerId($value)
4307
 * @method string getScalingConfigurationName()
4308
 * @method $this withScalingConfigurationName($value)
4309
 * @method string getScalingConfigurationId()
4310
 * @method $this withScalingConfigurationId($value)
4311
 * @method string getSpotStrategy()
4312
 * @method $this withSpotStrategy($value)
4313
 * @method array getVolume()
4314
 * @method string getInstanceFamilyLevel()
4315
 * @method $this withInstanceFamilyLevel($value)
4316
 * @method array getDnsConfigOption()
4317
 * @method string getContainersUpdateType()
4318
 * @method $this withContainersUpdateType($value)
4319
 * @method string getEphemeralStorage()
4320
 * @method $this withEphemeralStorage($value)
4321
 * @method string getDataCacheProvisionedIops()
4322
 * @method $this withDataCacheProvisionedIops($value)
4323
 * @method string getEipBandwidth()
4324
 * @method $this withEipBandwidth($value)
4325
 * @method string getGpuDriverVersion()
4326
 * @method $this withGpuDriverVersion($value)
4327
 * @method string getCostOptimization()
4328
 * @method $this withCostOptimization($value)
4329
 * @method string getDataCacheBurstingEnabled()
4330
 * @method $this withDataCacheBurstingEnabled($value)
4331
 * @method string getMemory()
4332
 * @method $this withMemory($value)
4333
 * @method string getSecurityGroupId()
4334
 * @method $this withSecurityGroupId($value)
4335
 * @method string getDescription()
4336
 * @method $this withDescription($value)
4337
 * @method string getIngressBandwidth()
4338
 * @method $this withIngressBandwidth($value)
4339
 * @method string getDnsPolicy()
4340
 * @method $this withDnsPolicy($value)
4341
 * @method array getSecurityContextSysctl()
4342
 * @method string getDataCacheBucket()
4343
 * @method $this withDataCacheBucket($value)
4344
 * @method array getDnsConfigNameServer()
4345
 * @method array getInitContainer()
4346
 * @method array getInstanceType()
4347
 * @method string getTerminationGracePeriodSeconds()
4348
 * @method $this withTerminationGracePeriodSeconds($value)
4349
 * @method array getImageRegistryCredential()
4350
 * @method string getResourceOwnerAccount()
4351
 * @method $this withResourceOwnerAccount($value)
4352
 * @method string getRestartPolicy()
4353
 * @method $this withRestartPolicy($value)
4354
 * @method string getCpuOptionsCore()
4355
 * @method $this withCpuOptionsCore($value)
4356
 * @method string getRamRoleName()
4357
 * @method $this withRamRoleName($value)
4358
 * @method array getAcrRegistryInfo()
4359
 * @method string getAutoMatchImageCache()
4360
 * @method $this withAutoMatchImageCache($value)
4361
 * @method string getLoadBalancerWeight()
4362
 * @method $this withLoadBalancerWeight($value)
4363
 * @method string getContainerGroupName()
4364
 * @method $this withContainerGroupName($value)
4365
 * @method string getAutoCreateEip()
4366
 * @method $this withAutoCreateEip($value)
4367
 */
4368
class ModifyEciScalingConfiguration extends Rpc
4369
{
4370
4371
    /**
4372
     * @param array $container
4373
     *
4374
     * @return $this
4375
     */
4376
	public function withContainer(array $container)
4377
	{
4378
	    $this->data['Container'] = $container;
4379
		foreach ($container as $depth1 => $depth1Value) {
4380
			if(isset($depth1Value['Stdin'])){
4381
				$this->options['query']['Container.' . ($depth1 + 1) . '.Stdin'] = $depth1Value['Stdin'];
4382
			}
4383
			foreach ($depth1Value['LivenessProbeExecCommand'] as $i => $iValue) {
4384
				$this->options['query']['Container.' . ($depth1 + 1) . '.LivenessProbe.Exec.Command.' . ($i + 1)] = $iValue;
4385
			}
4386
			if(isset($depth1Value['LifecyclePostStartHandlerHttpGetPort'])){
4387
				$this->options['query']['Container.' . ($depth1 + 1) . '.LifecyclePostStartHandlerHttpGetPort'] = $depth1Value['LifecyclePostStartHandlerHttpGetPort'];
4388
			}
4389
			if(isset($depth1Value['WorkingDir'])){
4390
				$this->options['query']['Container.' . ($depth1 + 1) . '.WorkingDir'] = $depth1Value['WorkingDir'];
4391
			}
4392
			if(isset($depth1Value['ReadinessProbeHttpGetPort'])){
4393
				$this->options['query']['Container.' . ($depth1 + 1) . '.ReadinessProbe.HttpGet.Port'] = $depth1Value['ReadinessProbeHttpGetPort'];
4394
			}
4395
			if(isset($depth1Value['LivenessProbeHttpGetPort'])){
4396
				$this->options['query']['Container.' . ($depth1 + 1) . '.LivenessProbe.HttpGet.Port'] = $depth1Value['LivenessProbeHttpGetPort'];
4397
			}
4398
			if(isset($depth1Value['LifecyclePreStopHandlerTcpSocketPort'])){
4399
				$this->options['query']['Container.' . ($depth1 + 1) . '.LifecyclePreStopHandlerTcpSocketPort'] = $depth1Value['LifecyclePreStopHandlerTcpSocketPort'];
4400
			}
4401
			foreach ($depth1Value['VolumeMount'] as $depth2 => $depth2Value) {
4402
				if(isset($depth2Value['MountPath'])){
4403
					$this->options['query']['Container.' . ($depth1 + 1) . '.VolumeMount.' . ($depth2 + 1) . '.MountPath'] = $depth2Value['MountPath'];
4404
				}
4405
				if(isset($depth2Value['ReadOnly'])){
4406
					$this->options['query']['Container.' . ($depth1 + 1) . '.VolumeMount.' . ($depth2 + 1) . '.ReadOnly'] = $depth2Value['ReadOnly'];
4407
				}
4408
				if(isset($depth2Value['MountPropagation'])){
4409
					$this->options['query']['Container.' . ($depth1 + 1) . '.VolumeMount.' . ($depth2 + 1) . '.MountPropagation'] = $depth2Value['MountPropagation'];
4410
				}
4411
				if(isset($depth2Value['Name'])){
4412
					$this->options['query']['Container.' . ($depth1 + 1) . '.VolumeMount.' . ($depth2 + 1) . '.Name'] = $depth2Value['Name'];
4413
				}
4414
				if(isset($depth2Value['SubPath'])){
4415
					$this->options['query']['Container.' . ($depth1 + 1) . '.VolumeMount.' . ($depth2 + 1) . '.SubPath'] = $depth2Value['SubPath'];
4416
				}
4417
			}
4418
			if(isset($depth1Value['Image'])){
4419
				$this->options['query']['Container.' . ($depth1 + 1) . '.Image'] = $depth1Value['Image'];
4420
			}
4421
			foreach ($depth1Value['LifecyclePostStartHandlerExec'] as $i => $iValue) {
4422
				$this->options['query']['Container.' . ($depth1 + 1) . '.LifecyclePostStartHandlerExec.' . ($i + 1)] = $iValue;
4423
			}
4424
			if(isset($depth1Value['Cpu'])){
4425
				$this->options['query']['Container.' . ($depth1 + 1) . '.Cpu'] = $depth1Value['Cpu'];
4426
			}
4427
			if(isset($depth1Value['ReadinessProbeHttpGetPath'])){
4428
				$this->options['query']['Container.' . ($depth1 + 1) . '.ReadinessProbe.HttpGet.Path'] = $depth1Value['ReadinessProbeHttpGetPath'];
4429
			}
4430
			if(isset($depth1Value['Gpu'])){
4431
				$this->options['query']['Container.' . ($depth1 + 1) . '.Gpu'] = $depth1Value['Gpu'];
4432
			}
4433
			if(isset($depth1Value['StdinOnce'])){
4434
				$this->options['query']['Container.' . ($depth1 + 1) . '.StdinOnce'] = $depth1Value['StdinOnce'];
4435
			}
4436
			if(isset($depth1Value['LifecyclePostStartHandlerTcpSocketHost'])){
4437
				$this->options['query']['Container.' . ($depth1 + 1) . '.LifecyclePostStartHandlerTcpSocketHost'] = $depth1Value['LifecyclePostStartHandlerTcpSocketHost'];
4438
			}
4439
			if(isset($depth1Value['LivenessProbeSuccessThreshold'])){
4440
				$this->options['query']['Container.' . ($depth1 + 1) . '.LivenessProbe.SuccessThreshold'] = $depth1Value['LivenessProbeSuccessThreshold'];
4441
			}
4442
			if(isset($depth1Value['SecurityContextRunAsUser'])){
4443
				$this->options['query']['Container.' . ($depth1 + 1) . '.SecurityContext.RunAsUser'] = $depth1Value['SecurityContextRunAsUser'];
4444
			}
4445
			if(isset($depth1Value['LivenessProbePeriodSeconds'])){
4446
				$this->options['query']['Container.' . ($depth1 + 1) . '.LivenessProbe.PeriodSeconds'] = $depth1Value['LivenessProbePeriodSeconds'];
4447
			}
4448
			if(isset($depth1Value['LivenessProbeInitialDelaySeconds'])){
4449
				$this->options['query']['Container.' . ($depth1 + 1) . '.LivenessProbe.InitialDelaySeconds'] = $depth1Value['LivenessProbeInitialDelaySeconds'];
4450
			}
4451
			foreach ($depth1Value['Port'] as $depth2 => $depth2Value) {
4452
				if(isset($depth2Value['Protocol'])){
4453
					$this->options['query']['Container.' . ($depth1 + 1) . '.Port.' . ($depth2 + 1) . '.Protocol'] = $depth2Value['Protocol'];
4454
				}
4455
				if(isset($depth2Value['Port'])){
4456
					$this->options['query']['Container.' . ($depth1 + 1) . '.Port.' . ($depth2 + 1) . '.Port'] = $depth2Value['Port'];
4457
				}
4458
			}
4459
			if(isset($depth1Value['Name'])){
4460
				$this->options['query']['Container.' . ($depth1 + 1) . '.Name'] = $depth1Value['Name'];
4461
			}
4462
			if(isset($depth1Value['LifecyclePreStopHandlerTcpSocketHost'])){
4463
				$this->options['query']['Container.' . ($depth1 + 1) . '.LifecyclePreStopHandlerTcpSocketHost'] = $depth1Value['LifecyclePreStopHandlerTcpSocketHost'];
4464
			}
4465
			if(isset($depth1Value['SecurityContextReadOnlyRootFilesystem'])){
4466
				$this->options['query']['Container.' . ($depth1 + 1) . '.SecurityContext.ReadOnlyRootFilesystem'] = $depth1Value['SecurityContextReadOnlyRootFilesystem'];
4467
			}
4468
			if(isset($depth1Value['LifecyclePreStopHandlerHttpGetHost'])){
4469
				$this->options['query']['Container.' . ($depth1 + 1) . '.LifecyclePreStopHandlerHttpGetHost'] = $depth1Value['LifecyclePreStopHandlerHttpGetHost'];
4470
			}
4471
			if(isset($depth1Value['Memory'])){
4472
				$this->options['query']['Container.' . ($depth1 + 1) . '.Memory'] = $depth1Value['Memory'];
4473
			}
4474
			if(isset($depth1Value['LifecyclePreStopHandlerHttpGetScheme'])){
4475
				$this->options['query']['Container.' . ($depth1 + 1) . '.LifecyclePreStopHandlerHttpGetScheme'] = $depth1Value['LifecyclePreStopHandlerHttpGetScheme'];
4476
			}
4477
			if(isset($depth1Value['LifecyclePostStartHandlerTcpSocketPort'])){
4478
				$this->options['query']['Container.' . ($depth1 + 1) . '.LifecyclePostStartHandlerTcpSocketPort'] = $depth1Value['LifecyclePostStartHandlerTcpSocketPort'];
4479
			}
4480
			if(isset($depth1Value['LifecyclePreStopHandlerHttpGetPath'])){
4481
				$this->options['query']['Container.' . ($depth1 + 1) . '.LifecyclePreStopHandlerHttpGetPath'] = $depth1Value['LifecyclePreStopHandlerHttpGetPath'];
4482
			}
4483
			if(isset($depth1Value['LifecyclePostStartHandlerHttpGetHost'])){
4484
				$this->options['query']['Container.' . ($depth1 + 1) . '.LifecyclePostStartHandlerHttpGetHost'] = $depth1Value['LifecyclePostStartHandlerHttpGetHost'];
4485
			}
4486
			if(isset($depth1Value['ReadinessProbeFailureThreshold'])){
4487
				$this->options['query']['Container.' . ($depth1 + 1) . '.ReadinessProbe.FailureThreshold'] = $depth1Value['ReadinessProbeFailureThreshold'];
4488
			}
4489
			foreach ($depth1Value['Arg'] as $i => $iValue) {
4490
				$this->options['query']['Container.' . ($depth1 + 1) . '.Arg.' . ($i + 1)] = $iValue;
4491
			}
4492
			if(isset($depth1Value['ReadinessProbeSuccessThreshold'])){
4493
				$this->options['query']['Container.' . ($depth1 + 1) . '.ReadinessProbe.SuccessThreshold'] = $depth1Value['ReadinessProbeSuccessThreshold'];
4494
			}
4495
			if(isset($depth1Value['LifecyclePostStartHandlerHttpGetPath'])){
4496
				$this->options['query']['Container.' . ($depth1 + 1) . '.LifecyclePostStartHandlerHttpGetPath'] = $depth1Value['LifecyclePostStartHandlerHttpGetPath'];
4497
			}
4498
			foreach ($depth1Value['LifecyclePreStopHandlerExec'] as $i => $iValue) {
4499
				$this->options['query']['Container.' . ($depth1 + 1) . '.LifecyclePreStopHandlerExec.' . ($i + 1)] = $iValue;
4500
			}
4501
			foreach ($depth1Value['SecurityContextCapabilityAdd'] as $i => $iValue) {
4502
				$this->options['query']['Container.' . ($depth1 + 1) . '.SecurityContext.Capability.Add.' . ($i + 1)] = $iValue;
4503
			}
4504
			if(isset($depth1Value['ReadinessProbeInitialDelaySeconds'])){
4505
				$this->options['query']['Container.' . ($depth1 + 1) . '.ReadinessProbe.InitialDelaySeconds'] = $depth1Value['ReadinessProbeInitialDelaySeconds'];
4506
			}
4507
			foreach ($depth1Value['ReadinessProbeExecCommand'] as $i => $iValue) {
4508
				$this->options['query']['Container.' . ($depth1 + 1) . '.ReadinessProbe.Exec.Command.' . ($i + 1)] = $iValue;
4509
			}
4510
			if(isset($depth1Value['ReadinessProbeHttpGetScheme'])){
4511
				$this->options['query']['Container.' . ($depth1 + 1) . '.ReadinessProbe.HttpGet.Scheme'] = $depth1Value['ReadinessProbeHttpGetScheme'];
4512
			}
4513
			if(isset($depth1Value['LifecyclePreStopHandlerHttpGetPort'])){
4514
				$this->options['query']['Container.' . ($depth1 + 1) . '.LifecyclePreStopHandlerHttpGetPort'] = $depth1Value['LifecyclePreStopHandlerHttpGetPort'];
4515
			}
4516
			if(isset($depth1Value['ImagePullPolicy'])){
4517
				$this->options['query']['Container.' . ($depth1 + 1) . '.ImagePullPolicy'] = $depth1Value['ImagePullPolicy'];
4518
			}
4519
			foreach ($depth1Value['Command'] as $i => $iValue) {
4520
				$this->options['query']['Container.' . ($depth1 + 1) . '.Command.' . ($i + 1)] = $iValue;
4521
			}
4522
			if(isset($depth1Value['LivenessProbeHttpGetPath'])){
4523
				$this->options['query']['Container.' . ($depth1 + 1) . '.LivenessProbe.HttpGet.Path'] = $depth1Value['LivenessProbeHttpGetPath'];
4524
			}
4525
			if(isset($depth1Value['LifecyclePostStartHandlerHttpGetScheme'])){
4526
				$this->options['query']['Container.' . ($depth1 + 1) . '.LifecyclePostStartHandlerHttpGetScheme'] = $depth1Value['LifecyclePostStartHandlerHttpGetScheme'];
4527
			}
4528
			if(isset($depth1Value['LivenessProbeTimeoutSeconds'])){
4529
				$this->options['query']['Container.' . ($depth1 + 1) . '.LivenessProbe.TimeoutSeconds'] = $depth1Value['LivenessProbeTimeoutSeconds'];
4530
			}
4531
			if(isset($depth1Value['LivenessProbeTcpSocketPort'])){
4532
				$this->options['query']['Container.' . ($depth1 + 1) . '.LivenessProbe.TcpSocket.Port'] = $depth1Value['LivenessProbeTcpSocketPort'];
4533
			}
4534
			if(isset($depth1Value['ReadinessProbePeriodSeconds'])){
4535
				$this->options['query']['Container.' . ($depth1 + 1) . '.ReadinessProbe.PeriodSeconds'] = $depth1Value['ReadinessProbePeriodSeconds'];
4536
			}
4537
			foreach ($depth1Value['EnvironmentVar'] as $depth2 => $depth2Value) {
4538
				if(isset($depth2Value['FieldRefFieldPath'])){
4539
					$this->options['query']['Container.' . ($depth1 + 1) . '.EnvironmentVar.' . ($depth2 + 1) . '.FieldRef.FieldPath'] = $depth2Value['FieldRefFieldPath'];
4540
				}
4541
				if(isset($depth2Value['Value'])){
4542
					$this->options['query']['Container.' . ($depth1 + 1) . '.EnvironmentVar.' . ($depth2 + 1) . '.Value'] = $depth2Value['Value'];
4543
				}
4544
				if(isset($depth2Value['Key'])){
4545
					$this->options['query']['Container.' . ($depth1 + 1) . '.EnvironmentVar.' . ($depth2 + 1) . '.Key'] = $depth2Value['Key'];
4546
				}
4547
			}
4548
			if(isset($depth1Value['Tty'])){
4549
				$this->options['query']['Container.' . ($depth1 + 1) . '.Tty'] = $depth1Value['Tty'];
4550
			}
4551
			if(isset($depth1Value['LivenessProbeFailureThreshold'])){
4552
				$this->options['query']['Container.' . ($depth1 + 1) . '.LivenessProbe.FailureThreshold'] = $depth1Value['LivenessProbeFailureThreshold'];
4553
			}
4554
			if(isset($depth1Value['ReadinessProbeTimeoutSeconds'])){
4555
				$this->options['query']['Container.' . ($depth1 + 1) . '.ReadinessProbe.TimeoutSeconds'] = $depth1Value['ReadinessProbeTimeoutSeconds'];
4556
			}
4557
			if(isset($depth1Value['ReadinessProbeTcpSocketPort'])){
4558
				$this->options['query']['Container.' . ($depth1 + 1) . '.ReadinessProbe.TcpSocket.Port'] = $depth1Value['ReadinessProbeTcpSocketPort'];
4559
			}
4560
			if(isset($depth1Value['LivenessProbeHttpGetScheme'])){
4561
				$this->options['query']['Container.' . ($depth1 + 1) . '.LivenessProbe.HttpGet.Scheme'] = $depth1Value['LivenessProbeHttpGetScheme'];
4562
			}
4563
		}
4564
4565
		return $this;
4566
    }
4567
4568
    /**
4569
     * @param array $ntpServer
4570
     *
4571
     * @return $this
4572
     */
4573
	public function withNtpServer(array $ntpServer)
4574
	{
4575
	    $this->data['NtpServer'] = $ntpServer;
4576
		foreach ($ntpServer as $i => $iValue) {
4577
			$this->options['query']['NtpServer.' . ($i + 1)] = $iValue;
4578
		}
4579
4580
		return $this;
4581
    }
4582
4583
    /**
4584
     * @param array $dnsConfigSearch
4585
     *
4586
     * @return $this
4587
     */
4588
	public function withDnsConfigSearch(array $dnsConfigSearch)
4589
	{
4590
	    $this->data['DnsConfigSearch'] = $dnsConfigSearch;
4591
		foreach ($dnsConfigSearch as $i => $iValue) {
4592
			$this->options['query']['DnsConfigSearch.' . ($i + 1)] = $iValue;
4593
		}
4594
4595
		return $this;
4596
    }
4597
4598
    /**
4599
     * @param array $hostAliase
4600
     *
4601
     * @return $this
4602
     */
4603
	public function withHostAliase(array $hostAliase)
4604
	{
4605
	    $this->data['HostAliase'] = $hostAliase;
4606
		foreach ($hostAliase as $depth1 => $depth1Value) {
4607
			foreach ($depth1Value['Hostname'] as $i => $iValue) {
4608
				$this->options['query']['HostAliase.' . ($depth1 + 1) . '.Hostname.' . ($i + 1)] = $iValue;
4609
			}
4610
			if(isset($depth1Value['Ip'])){
4611
				$this->options['query']['HostAliase.' . ($depth1 + 1) . '.Ip'] = $depth1Value['Ip'];
4612
			}
4613
		}
4614
4615
		return $this;
4616
    }
4617
4618
    /**
4619
     * @param array $tag
4620
     *
4621
     * @return $this
4622
     */
4623
	public function withTag(array $tag)
4624
	{
4625
	    $this->data['Tag'] = $tag;
4626
		foreach ($tag as $depth1 => $depth1Value) {
4627
			if(isset($depth1Value['Value'])){
4628
				$this->options['query']['Tag.' . ($depth1 + 1) . '.Value'] = $depth1Value['Value'];
4629
			}
4630
			if(isset($depth1Value['Key'])){
4631
				$this->options['query']['Tag.' . ($depth1 + 1) . '.Key'] = $depth1Value['Key'];
4632
			}
4633
		}
4634
4635
		return $this;
4636
    }
4637
4638
    /**
4639
     * @param array $volume
4640
     *
4641
     * @return $this
4642
     */
4643
	public function withVolume(array $volume)
4644
	{
4645
	    $this->data['Volume'] = $volume;
4646
		foreach ($volume as $depth1 => $depth1Value) {
4647
			if(isset($depth1Value['DiskVolumeFsType'])){
4648
				$this->options['query']['Volume.' . ($depth1 + 1) . '.DiskVolume.FsType'] = $depth1Value['DiskVolumeFsType'];
4649
			}
4650
			if(isset($depth1Value['EmptyDirVolumeSizeLimit'])){
4651
				$this->options['query']['Volume.' . ($depth1 + 1) . '.EmptyDirVolume.SizeLimit'] = $depth1Value['EmptyDirVolumeSizeLimit'];
4652
			}
4653
			if(isset($depth1Value['NFSVolumePath'])){
4654
				$this->options['query']['Volume.' . ($depth1 + 1) . '.NFSVolume.Path'] = $depth1Value['NFSVolumePath'];
4655
			}
4656
			if(isset($depth1Value['DiskVolumeDiskId'])){
4657
				$this->options['query']['Volume.' . ($depth1 + 1) . '.DiskVolume.DiskId'] = $depth1Value['DiskVolumeDiskId'];
4658
			}
4659
			if(isset($depth1Value['FlexVolumeFsType'])){
4660
				$this->options['query']['Volume.' . ($depth1 + 1) . '.FlexVolume.FsType'] = $depth1Value['FlexVolumeFsType'];
4661
			}
4662
			if(isset($depth1Value['Type'])){
4663
				$this->options['query']['Volume.' . ($depth1 + 1) . '.Type'] = $depth1Value['Type'];
4664
			}
4665
			if(isset($depth1Value['FlexVolumeDriver'])){
4666
				$this->options['query']['Volume.' . ($depth1 + 1) . '.FlexVolume.Driver'] = $depth1Value['FlexVolumeDriver'];
4667
			}
4668
			if(isset($depth1Value['FlexVolumeOptions'])){
4669
				$this->options['query']['Volume.' . ($depth1 + 1) . '.FlexVolume.Options'] = $depth1Value['FlexVolumeOptions'];
4670
			}
4671
			if(isset($depth1Value['NFSVolumeServer'])){
4672
				$this->options['query']['Volume.' . ($depth1 + 1) . '.NFSVolume.Server'] = $depth1Value['NFSVolumeServer'];
4673
			}
4674
			if(isset($depth1Value['EmptyDirVolumeMedium'])){
4675
				$this->options['query']['Volume.' . ($depth1 + 1) . '.EmptyDirVolume.Medium'] = $depth1Value['EmptyDirVolumeMedium'];
4676
			}
4677
			if(isset($depth1Value['HostPathVolumePath'])){
4678
				$this->options['query']['Volume.' . ($depth1 + 1) . '.HostPathVolume.Path'] = $depth1Value['HostPathVolumePath'];
4679
			}
4680
			if(isset($depth1Value['Name'])){
4681
				$this->options['query']['Volume.' . ($depth1 + 1) . '.Name'] = $depth1Value['Name'];
4682
			}
4683
			foreach ($depth1Value['ConfigFileVolumeConfigFileToPath'] as $depth2 => $depth2Value) {
4684
				if(isset($depth2Value['Mode'])){
4685
					$this->options['query']['Volume.' . ($depth1 + 1) . '.ConfigFileVolumeConfigFileToPath.' . ($depth2 + 1) . '.Mode'] = $depth2Value['Mode'];
4686
				}
4687
				if(isset($depth2Value['Path'])){
4688
					$this->options['query']['Volume.' . ($depth1 + 1) . '.ConfigFileVolumeConfigFileToPath.' . ($depth2 + 1) . '.Path'] = $depth2Value['Path'];
4689
				}
4690
				if(isset($depth2Value['Content'])){
4691
					$this->options['query']['Volume.' . ($depth1 + 1) . '.ConfigFileVolumeConfigFileToPath.' . ($depth2 + 1) . '.Content'] = $depth2Value['Content'];
4692
				}
4693
			}
4694
			if(isset($depth1Value['DiskVolumeDiskSize'])){
4695
				$this->options['query']['Volume.' . ($depth1 + 1) . '.DiskVolume.DiskSize'] = $depth1Value['DiskVolumeDiskSize'];
4696
			}
4697
			if(isset($depth1Value['ConfigFileVolumeDefaultMode'])){
4698
				$this->options['query']['Volume.' . ($depth1 + 1) . '.ConfigFileVolumeDefaultMode'] = $depth1Value['ConfigFileVolumeDefaultMode'];
4699
			}
4700
			if(isset($depth1Value['HostPathVolumeType'])){
4701
				$this->options['query']['Volume.' . ($depth1 + 1) . '.HostPathVolume.Type'] = $depth1Value['HostPathVolumeType'];
4702
			}
4703
			if(isset($depth1Value['NFSVolumeReadOnly'])){
4704
				$this->options['query']['Volume.' . ($depth1 + 1) . '.NFSVolume.ReadOnly'] = $depth1Value['NFSVolumeReadOnly'];
4705
			}
4706
		}
4707
4708
		return $this;
4709
    }
4710
4711
    /**
4712
     * @param array $dnsConfigOption
4713
     *
4714
     * @return $this
4715
     */
4716
	public function withDnsConfigOption(array $dnsConfigOption)
4717
	{
4718
	    $this->data['DnsConfigOption'] = $dnsConfigOption;
4719
		foreach ($dnsConfigOption as $depth1 => $depth1Value) {
4720
			if(isset($depth1Value['Name'])){
4721
				$this->options['query']['DnsConfigOption.' . ($depth1 + 1) . '.Name'] = $depth1Value['Name'];
4722
			}
4723
			if(isset($depth1Value['Value'])){
4724
				$this->options['query']['DnsConfigOption.' . ($depth1 + 1) . '.Value'] = $depth1Value['Value'];
4725
			}
4726
		}
4727
4728
		return $this;
4729
    }
4730
4731
    /**
4732
     * @param array $securityContextSysctl
4733
     *
4734
     * @return $this
4735
     */
4736
	public function withSecurityContextSysctl(array $securityContextSysctl)
4737
	{
4738
	    $this->data['SecurityContextSysctl'] = $securityContextSysctl;
4739
		foreach ($securityContextSysctl as $depth1 => $depth1Value) {
4740
			if(isset($depth1Value['Name'])){
4741
				$this->options['query']['SecurityContextSysctl.' . ($depth1 + 1) . '.Name'] = $depth1Value['Name'];
4742
			}
4743
			if(isset($depth1Value['Value'])){
4744
				$this->options['query']['SecurityContextSysctl.' . ($depth1 + 1) . '.Value'] = $depth1Value['Value'];
4745
			}
4746
		}
4747
4748
		return $this;
4749
    }
4750
4751
    /**
4752
     * @param array $dnsConfigNameServer
4753
     *
4754
     * @return $this
4755
     */
4756
	public function withDnsConfigNameServer(array $dnsConfigNameServer)
4757
	{
4758
	    $this->data['DnsConfigNameServer'] = $dnsConfigNameServer;
4759
		foreach ($dnsConfigNameServer as $i => $iValue) {
4760
			$this->options['query']['DnsConfigNameServer.' . ($i + 1)] = $iValue;
4761
		}
4762
4763
		return $this;
4764
    }
4765
4766
    /**
4767
     * @param array $initContainer
4768
     *
4769
     * @return $this
4770
     */
4771
	public function withInitContainer(array $initContainer)
4772
	{
4773
	    $this->data['InitContainer'] = $initContainer;
4774
		foreach ($initContainer as $depth1 => $depth1Value) {
4775
			if(isset($depth1Value['Image'])){
4776
				$this->options['query']['InitContainer.' . ($depth1 + 1) . '.Image'] = $depth1Value['Image'];
4777
			}
4778
			foreach ($depth1Value['InitContainerEnvironmentVar'] as $depth2 => $depth2Value) {
4779
				if(isset($depth2Value['FieldRefFieldPath'])){
4780
					$this->options['query']['InitContainer.' . ($depth1 + 1) . '.InitContainerEnvironmentVar.' . ($depth2 + 1) . '.FieldRef.FieldPath'] = $depth2Value['FieldRefFieldPath'];
4781
				}
4782
				if(isset($depth2Value['Value'])){
4783
					$this->options['query']['InitContainer.' . ($depth1 + 1) . '.InitContainerEnvironmentVar.' . ($depth2 + 1) . '.Value'] = $depth2Value['Value'];
4784
				}
4785
				if(isset($depth2Value['Key'])){
4786
					$this->options['query']['InitContainer.' . ($depth1 + 1) . '.InitContainerEnvironmentVar.' . ($depth2 + 1) . '.Key'] = $depth2Value['Key'];
4787
				}
4788
			}
4789
			foreach ($depth1Value['SecurityContextCapabilityAdd'] as $i => $iValue) {
4790
				$this->options['query']['InitContainer.' . ($depth1 + 1) . '.SecurityContext.Capability.Add.' . ($i + 1)] = $iValue;
4791
			}
4792
			if(isset($depth1Value['Memory'])){
4793
				$this->options['query']['InitContainer.' . ($depth1 + 1) . '.Memory'] = $depth1Value['Memory'];
4794
			}
4795
			if(isset($depth1Value['WorkingDir'])){
4796
				$this->options['query']['InitContainer.' . ($depth1 + 1) . '.WorkingDir'] = $depth1Value['WorkingDir'];
4797
			}
4798
			if(isset($depth1Value['Cpu'])){
4799
				$this->options['query']['InitContainer.' . ($depth1 + 1) . '.Cpu'] = $depth1Value['Cpu'];
4800
			}
4801
			if(isset($depth1Value['Gpu'])){
4802
				$this->options['query']['InitContainer.' . ($depth1 + 1) . '.Gpu'] = $depth1Value['Gpu'];
4803
			}
4804
			if(isset($depth1Value['ImagePullPolicy'])){
4805
				$this->options['query']['InitContainer.' . ($depth1 + 1) . '.ImagePullPolicy'] = $depth1Value['ImagePullPolicy'];
4806
			}
4807
			foreach ($depth1Value['Command'] as $i => $iValue) {
4808
				$this->options['query']['InitContainer.' . ($depth1 + 1) . '.Command.' . ($i + 1)] = $iValue;
4809
			}
4810
			if(isset($depth1Value['SecurityContextRunAsUser'])){
4811
				$this->options['query']['InitContainer.' . ($depth1 + 1) . '.SecurityContext.RunAsUser'] = $depth1Value['SecurityContextRunAsUser'];
4812
			}
4813
			foreach ($depth1Value['InitContainerPort'] as $depth2 => $depth2Value) {
4814
				if(isset($depth2Value['Protocol'])){
4815
					$this->options['query']['InitContainer.' . ($depth1 + 1) . '.InitContainerPort.' . ($depth2 + 1) . '.Protocol'] = $depth2Value['Protocol'];
4816
				}
4817
				if(isset($depth2Value['Port'])){
4818
					$this->options['query']['InitContainer.' . ($depth1 + 1) . '.InitContainerPort.' . ($depth2 + 1) . '.Port'] = $depth2Value['Port'];
4819
				}
4820
			}
4821
			foreach ($depth1Value['Arg'] as $i => $iValue) {
4822
				$this->options['query']['InitContainer.' . ($depth1 + 1) . '.Arg.' . ($i + 1)] = $iValue;
4823
			}
4824
			if(isset($depth1Value['Name'])){
4825
				$this->options['query']['InitContainer.' . ($depth1 + 1) . '.Name'] = $depth1Value['Name'];
4826
			}
4827
			foreach ($depth1Value['InitContainerVolumeMount'] as $depth2 => $depth2Value) {
4828
				if(isset($depth2Value['MountPath'])){
4829
					$this->options['query']['InitContainer.' . ($depth1 + 1) . '.InitContainerVolumeMount.' . ($depth2 + 1) . '.MountPath'] = $depth2Value['MountPath'];
4830
				}
4831
				if(isset($depth2Value['ReadOnly'])){
4832
					$this->options['query']['InitContainer.' . ($depth1 + 1) . '.InitContainerVolumeMount.' . ($depth2 + 1) . '.ReadOnly'] = $depth2Value['ReadOnly'];
4833
				}
4834
				if(isset($depth2Value['MountPropagation'])){
4835
					$this->options['query']['InitContainer.' . ($depth1 + 1) . '.InitContainerVolumeMount.' . ($depth2 + 1) . '.MountPropagation'] = $depth2Value['MountPropagation'];
4836
				}
4837
				if(isset($depth2Value['Name'])){
4838
					$this->options['query']['InitContainer.' . ($depth1 + 1) . '.InitContainerVolumeMount.' . ($depth2 + 1) . '.Name'] = $depth2Value['Name'];
4839
				}
4840
				if(isset($depth2Value['SubPath'])){
4841
					$this->options['query']['InitContainer.' . ($depth1 + 1) . '.InitContainerVolumeMount.' . ($depth2 + 1) . '.SubPath'] = $depth2Value['SubPath'];
4842
				}
4843
			}
4844
			if(isset($depth1Value['SecurityContextReadOnlyRootFilesystem'])){
4845
				$this->options['query']['InitContainer.' . ($depth1 + 1) . '.SecurityContext.ReadOnlyRootFilesystem'] = $depth1Value['SecurityContextReadOnlyRootFilesystem'];
4846
			}
4847
		}
4848
4849
		return $this;
4850
    }
4851
4852
    /**
4853
     * @param array $instanceType
4854
     *
4855
     * @return $this
4856
     */
4857
	public function withInstanceType(array $instanceType)
4858
	{
4859
	    $this->data['InstanceType'] = $instanceType;
4860
		foreach ($instanceType as $i => $iValue) {
4861
			$this->options['query']['InstanceType.' . ($i + 1)] = $iValue;
4862
		}
4863
4864
		return $this;
4865
    }
4866
4867
    /**
4868
     * @param array $imageRegistryCredential
4869
     *
4870
     * @return $this
4871
     */
4872
	public function withImageRegistryCredential(array $imageRegistryCredential)
4873
	{
4874
	    $this->data['ImageRegistryCredential'] = $imageRegistryCredential;
4875
		foreach ($imageRegistryCredential as $depth1 => $depth1Value) {
4876
			if(isset($depth1Value['Server'])){
4877
				$this->options['query']['ImageRegistryCredential.' . ($depth1 + 1) . '.Server'] = $depth1Value['Server'];
4878
			}
4879
			if(isset($depth1Value['Password'])){
4880
				$this->options['query']['ImageRegistryCredential.' . ($depth1 + 1) . '.Password'] = $depth1Value['Password'];
4881
			}
4882
			if(isset($depth1Value['UserName'])){
4883
				$this->options['query']['ImageRegistryCredential.' . ($depth1 + 1) . '.UserName'] = $depth1Value['UserName'];
4884
			}
4885
		}
4886
4887
		return $this;
4888
    }
4889
4890
    /**
4891
     * @param array $acrRegistryInfo
4892
     *
4893
     * @return $this
4894
     */
4895
	public function withAcrRegistryInfo(array $acrRegistryInfo)
4896
	{
4897
	    $this->data['AcrRegistryInfo'] = $acrRegistryInfo;
4898
		foreach ($acrRegistryInfo as $depth1 => $depth1Value) {
4899
			if(isset($depth1Value['InstanceName'])){
4900
				$this->options['query']['AcrRegistryInfo.' . ($depth1 + 1) . '.InstanceName'] = $depth1Value['InstanceName'];
4901
			}
4902
			if(isset($depth1Value['InstanceId'])){
4903
				$this->options['query']['AcrRegistryInfo.' . ($depth1 + 1) . '.InstanceId'] = $depth1Value['InstanceId'];
4904
			}
4905
			if(isset($depth1Value['RegionId'])){
4906
				$this->options['query']['AcrRegistryInfo.' . ($depth1 + 1) . '.RegionId'] = $depth1Value['RegionId'];
4907
			}
4908
			foreach ($depth1Value['Domain'] as $i => $iValue) {
4909
				$this->options['query']['AcrRegistryInfo.' . ($depth1 + 1) . '.Domain.' . ($i + 1)] = $iValue;
4910
			}
4911
		}
4912
4913
		return $this;
4914
    }
4915
}
4916
4917
/**
4918
 * @method string getScalingGroupId()
4919
 * @method $this withScalingGroupId($value)
4920
 * @method string getResourceOwnerAccount()
4921
 * @method $this withResourceOwnerAccount($value)
4922
 * @method string getOwnerId()
4923
 * @method $this withOwnerId($value)
4924
 * @method string getEntrusted()
4925
 * @method $this withEntrusted($value)
4926
 * @method string getInstanceId()
4927
 * @method $this withInstanceId($value)
4928
 * @method array getInstanceIds()
4929
 */
4930
class ModifyInstanceAttribute extends Rpc
4931
{
4932
4933
    /**
4934
     * @param array $instanceIds
4935
     *
4936
     * @return $this
4937
     */
4938
	public function withInstanceIds(array $instanceIds)
4939
	{
4940
	    $this->data['InstanceIds'] = $instanceIds;
4941
		foreach ($instanceIds as $i => $iValue) {
4942
			$this->options['query']['InstanceIds.' . ($i + 1)] = $iValue;
4943
		}
4944
4945
		return $this;
4946
    }
4947
}
4948
4949
/**
4950
 * @method string getDefaultResult()
4951
 * @method $this withDefaultResult($value)
4952
 * @method string getHeartbeatTimeout()
4953
 * @method $this withHeartbeatTimeout($value)
4954
 * @method string getScalingGroupId()
4955
 * @method $this withScalingGroupId($value)
4956
 * @method string getLifecycleTransition()
4957
 * @method $this withLifecycleTransition($value)
4958
 * @method string getLifecycleHookName()
4959
 * @method $this withLifecycleHookName($value)
4960
 * @method string getNotificationArn()
4961
 * @method $this withNotificationArn($value)
4962
 * @method string getLifecycleHookStatus()
4963
 * @method $this withLifecycleHookStatus($value)
4964
 * @method string getResourceOwnerAccount()
4965
 * @method $this withResourceOwnerAccount($value)
4966
 * @method string getLifecycleHookId()
4967
 * @method $this withLifecycleHookId($value)
4968
 * @method string getOwnerAccount()
4969
 * @method $this withOwnerAccount($value)
4970
 * @method string getNotificationMetadata()
4971
 * @method $this withNotificationMetadata($value)
4972
 * @method string getOwnerId()
4973
 * @method $this withOwnerId($value)
4974
 */
4975
class ModifyLifecycleHook extends Rpc
4976
{
4977
}
4978
4979
/**
4980
 * @method string getScalingGroupId()
4981
 * @method $this withScalingGroupId($value)
4982
 * @method string getTimeZone()
4983
 * @method $this withTimeZone($value)
4984
 * @method string getNotificationArn()
4985
 * @method $this withNotificationArn($value)
4986
 * @method string getResourceOwnerAccount()
4987
 * @method $this withResourceOwnerAccount($value)
4988
 * @method string getOwnerId()
4989
 * @method $this withOwnerId($value)
4990
 * @method array getNotificationType()
4991
 */
4992
class ModifyNotificationConfiguration extends Rpc
4993
{
4994
4995
    /**
4996
     * @param array $notificationType
4997
     *
4998
     * @return $this
4999
     */
5000
	public function withNotificationType(array $notificationType)
5001
	{
5002
	    $this->data['NotificationType'] = $notificationType;
5003
		foreach ($notificationType as $i => $iValue) {
5004
			$this->options['query']['NotificationType.' . ($i + 1)] = $iValue;
5005
		}
5006
5007
		return $this;
5008
    }
5009
}
5010
5011
/**
5012
 * @method string getHpcClusterId()
5013
 * @method $this withHpcClusterId($value)
5014
 * @method string getSecurityOptions()
5015
 * @method $this withSecurityOptions($value)
5016
 * @method string getKeyPairName()
5017
 * @method $this withKeyPairName($value)
5018
 * @method array getSpotPriceLimit()
5019
 * @method string getDeletionProtection()
5020
 * @method $this withDeletionProtection($value)
5021
 * @method string getResourceGroupId()
5022
 * @method $this withResourceGroupId($value)
5023
 * @method string getPrivatePoolOptionsMatchCriteria()
5024
 * @method string getHostName()
5025
 * @method $this withHostName($value)
5026
 * @method string getPassword()
5027
 * @method $this withPassword($value)
5028
 * @method string getInstanceDescription()
5029
 * @method $this withInstanceDescription($value)
5030
 * @method string getStorageSetPartitionNumber()
5031
 * @method $this withStorageSetPartitionNumber($value)
5032
 * @method array getCustomPriorities()
5033
 * @method string getSystemDiskAutoSnapshotPolicyId()
5034
 * @method string getPrivatePoolOptionsId()
5035
 * @method string getImageOptionsLoginAsNonRoot()
5036
 * @method string getIpv6AddressCount()
5037
 * @method $this withIpv6AddressCount($value)
5038
 * @method string getCpu()
5039
 * @method $this withCpu($value)
5040
 * @method array getSystemDiskCategories()
5041
 * @method string getOwnerId()
5042
 * @method $this withOwnerId($value)
5043
 * @method string getScalingConfigurationName()
5044
 * @method $this withScalingConfigurationName($value)
5045
 * @method string getTags()
5046
 * @method $this withTags($value)
5047
 * @method string getScalingConfigurationId()
5048
 * @method $this withScalingConfigurationId($value)
5049
 * @method string getSpotStrategy()
5050
 * @method $this withSpotStrategy($value)
5051
 * @method string getCpuOptions()
5052
 * @method $this withCpuOptions($value)
5053
 * @method string getSystemDiskBurstingEnabled()
5054
 * @method string getInstanceName()
5055
 * @method $this withInstanceName($value)
5056
 * @method string getInternetChargeType()
5057
 * @method $this withInternetChargeType($value)
5058
 * @method string getZoneId()
5059
 * @method $this withZoneId($value)
5060
 * @method string getInternetMaxBandwidthIn()
5061
 * @method $this withInternetMaxBandwidthIn($value)
5062
 * @method array getInstancePatternInfo()
5063
 * @method string getAffinity()
5064
 * @method $this withAffinity($value)
5065
 * @method array getNetworkInterfaces()
5066
 * @method string getImageId()
5067
 * @method $this withImageId($value)
5068
 * @method string getMemory()
5069
 * @method $this withMemory($value)
5070
 * @method string getSpotInterruptionBehavior()
5071
 * @method $this withSpotInterruptionBehavior($value)
5072
 * @method string getIoOptimized()
5073
 * @method $this withIoOptimized($value)
5074
 * @method array getInstanceTypes()
5075
 * @method string getInternetMaxBandwidthOut()
5076
 * @method $this withInternetMaxBandwidthOut($value)
5077
 * @method string getSecurityGroupId()
5078
 * @method $this withSecurityGroupId($value)
5079
 * @method string getSystemDiskKMSKeyId()
5080
 * @method string getSystemDiskCategory()
5081
 * @method string getSystemDiskPerformanceLevel()
5082
 * @method string getUserData()
5083
 * @method $this withUserData($value)
5084
 * @method string getPasswordInherit()
5085
 * @method $this withPasswordInherit($value)
5086
 * @method string getResourcePoolOptions()
5087
 * @method $this withResourcePoolOptions($value)
5088
 * @method string getImageName()
5089
 * @method $this withImageName($value)
5090
 * @method string getHttpEndpoint()
5091
 * @method $this withHttpEndpoint($value)
5092
 * @method string getDedicatedHostClusterId()
5093
 * @method $this withDedicatedHostClusterId($value)
5094
 * @method string getOverride()
5095
 * @method $this withOverride($value)
5096
 * @method string getSchedulerOptions()
5097
 * @method $this withSchedulerOptions($value)
5098
 * @method string getDeploymentSetId()
5099
 * @method $this withDeploymentSetId($value)
5100
 * @method string getResourceOwnerAccount()
5101
 * @method $this withResourceOwnerAccount($value)
5102
 * @method string getOwnerAccount()
5103
 * @method $this withOwnerAccount($value)
5104
 * @method string getTenancy()
5105
 * @method $this withTenancy($value)
5106
 * @method string getSystemDiskDiskName()
5107
 * @method string getRamRoleName()
5108
 * @method $this withRamRoleName($value)
5109
 * @method string getSystemDiskEncryptAlgorithm()
5110
 * @method string getDedicatedHostId()
5111
 * @method $this withDedicatedHostId($value)
5112
 * @method string getCreditSpecification()
5113
 * @method $this withCreditSpecification($value)
5114
 * @method string getSpotDuration()
5115
 * @method $this withSpotDuration($value)
5116
 * @method array getSecurityGroupIds()
5117
 * @method array getDataDisk()
5118
 * @method array getInstanceTypeOverride()
5119
 * @method string getSystemDiskProvisionedIops()
5120
 * @method string getLoadBalancerWeight()
5121
 * @method $this withLoadBalancerWeight($value)
5122
 * @method string getStorageSetId()
5123
 * @method $this withStorageSetId($value)
5124
 * @method string getSystemDiskSize()
5125
 * @method string getImageFamily()
5126
 * @method $this withImageFamily($value)
5127
 * @method string getHttpTokens()
5128
 * @method $this withHttpTokens($value)
5129
 * @method string getSystemDiskDescription()
5130
 * @method string getSystemDiskEncrypted()
5131
 */
5132
class ModifyScalingConfiguration extends Rpc
5133
{
5134
5135
    /**
5136
     * @param array $spotPriceLimit
5137
     *
5138
     * @return $this
5139
     */
5140
	public function withSpotPriceLimit(array $spotPriceLimit)
5141
	{
5142
	    $this->data['SpotPriceLimit'] = $spotPriceLimit;
5143
		foreach ($spotPriceLimit as $depth1 => $depth1Value) {
5144
			if(isset($depth1Value['InstanceType'])){
5145
				$this->options['query']['SpotPriceLimit.' . ($depth1 + 1) . '.InstanceType'] = $depth1Value['InstanceType'];
5146
			}
5147
			if(isset($depth1Value['PriceLimit'])){
5148
				$this->options['query']['SpotPriceLimit.' . ($depth1 + 1) . '.PriceLimit'] = $depth1Value['PriceLimit'];
5149
			}
5150
		}
5151
5152
		return $this;
5153
    }
5154
5155
    /**
5156
     * @param string $value
5157
     *
5158
     * @return $this
5159
     */
5160
    public function withPrivatePoolOptionsMatchCriteria($value)
5161
    {
5162
        $this->data['PrivatePoolOptionsMatchCriteria'] = $value;
5163
        $this->options['query']['PrivatePoolOptions.MatchCriteria'] = $value;
5164
5165
        return $this;
5166
    }
5167
5168
    /**
5169
     * @param array $customPriorities
5170
     *
5171
     * @return $this
5172
     */
5173
	public function withCustomPriorities(array $customPriorities)
5174
	{
5175
	    $this->data['CustomPriorities'] = $customPriorities;
5176
		foreach ($customPriorities as $depth1 => $depth1Value) {
5177
			if(isset($depth1Value['VswitchId'])){
5178
				$this->options['query']['CustomPriorities.' . ($depth1 + 1) . '.VswitchId'] = $depth1Value['VswitchId'];
5179
			}
5180
			if(isset($depth1Value['InstanceType'])){
5181
				$this->options['query']['CustomPriorities.' . ($depth1 + 1) . '.InstanceType'] = $depth1Value['InstanceType'];
5182
			}
5183
		}
5184
5185
		return $this;
5186
    }
5187
5188
    /**
5189
     * @param string $value
5190
     *
5191
     * @return $this
5192
     */
5193
    public function withSystemDiskAutoSnapshotPolicyId($value)
5194
    {
5195
        $this->data['SystemDiskAutoSnapshotPolicyId'] = $value;
5196
        $this->options['query']['SystemDisk.AutoSnapshotPolicyId'] = $value;
5197
5198
        return $this;
5199
    }
5200
5201
    /**
5202
     * @param string $value
5203
     *
5204
     * @return $this
5205
     */
5206
    public function withPrivatePoolOptionsId($value)
5207
    {
5208
        $this->data['PrivatePoolOptionsId'] = $value;
5209
        $this->options['query']['PrivatePoolOptions.Id'] = $value;
5210
5211
        return $this;
5212
    }
5213
5214
    /**
5215
     * @param string $value
5216
     *
5217
     * @return $this
5218
     */
5219
    public function withImageOptionsLoginAsNonRoot($value)
5220
    {
5221
        $this->data['ImageOptionsLoginAsNonRoot'] = $value;
5222
        $this->options['query']['ImageOptions.LoginAsNonRoot'] = $value;
5223
5224
        return $this;
5225
    }
5226
5227
    /**
5228
     * @param array $systemDiskCategories
5229
     *
5230
     * @return $this
5231
     */
5232
	public function withSystemDiskCategories(array $systemDiskCategories)
5233
	{
5234
	    $this->data['SystemDiskCategories'] = $systemDiskCategories;
5235
		foreach ($systemDiskCategories as $i => $iValue) {
5236
			$this->options['query']['SystemDiskCategories.' . ($i + 1)] = $iValue;
5237
		}
5238
5239
		return $this;
5240
    }
5241
5242
    /**
5243
     * @param string $value
5244
     *
5245
     * @return $this
5246
     */
5247
    public function withSystemDiskBurstingEnabled($value)
5248
    {
5249
        $this->data['SystemDiskBurstingEnabled'] = $value;
5250
        $this->options['query']['SystemDisk.BurstingEnabled'] = $value;
5251
5252
        return $this;
5253
    }
5254
5255
    /**
5256
     * @param array $instancePatternInfo
5257
     *
5258
     * @return $this
5259
     */
5260
	public function withInstancePatternInfo(array $instancePatternInfo)
5261
	{
5262
	    $this->data['InstancePatternInfo'] = $instancePatternInfo;
5263
		foreach ($instancePatternInfo as $depth1 => $depth1Value) {
5264
			foreach ($depth1Value['InstanceCategories'] as $i => $iValue) {
5265
				$this->options['query']['InstancePatternInfo.' . ($depth1 + 1) . '.InstanceCategories.' . ($i + 1)] = $iValue;
5266
			}
5267
			if(isset($depth1Value['Memory'])){
5268
				$this->options['query']['InstancePatternInfo.' . ($depth1 + 1) . '.Memory'] = $depth1Value['Memory'];
5269
			}
5270
			if(isset($depth1Value['MaximumCpuCoreCount'])){
5271
				$this->options['query']['InstancePatternInfo.' . ($depth1 + 1) . '.MaximumCpuCoreCount'] = $depth1Value['MaximumCpuCoreCount'];
5272
			}
5273
			if(isset($depth1Value['MaxPrice'])){
5274
				$this->options['query']['InstancePatternInfo.' . ($depth1 + 1) . '.MaxPrice'] = $depth1Value['MaxPrice'];
5275
			}
5276
			if(isset($depth1Value['MinimumGpuAmount'])){
5277
				$this->options['query']['InstancePatternInfo.' . ($depth1 + 1) . '.MinimumGpuAmount'] = $depth1Value['MinimumGpuAmount'];
5278
			}
5279
			if(isset($depth1Value['MaximumGpuAmount'])){
5280
				$this->options['query']['InstancePatternInfo.' . ($depth1 + 1) . '.MaximumGpuAmount'] = $depth1Value['MaximumGpuAmount'];
5281
			}
5282
			if(isset($depth1Value['MaximumMemorySize'])){
5283
				$this->options['query']['InstancePatternInfo.' . ($depth1 + 1) . '.MaximumMemorySize'] = $depth1Value['MaximumMemorySize'];
5284
			}
5285
			if(isset($depth1Value['MinimumInitialCredit'])){
5286
				$this->options['query']['InstancePatternInfo.' . ($depth1 + 1) . '.MinimumInitialCredit'] = $depth1Value['MinimumInitialCredit'];
5287
			}
5288
			foreach ($depth1Value['ExcludedInstanceType'] as $i => $iValue) {
5289
				$this->options['query']['InstancePatternInfo.' . ($depth1 + 1) . '.ExcludedInstanceType.' . ($i + 1)] = $iValue;
5290
			}
5291
			if(isset($depth1Value['MinimumEniIpv6AddressQuantity'])){
5292
				$this->options['query']['InstancePatternInfo.' . ($depth1 + 1) . '.MinimumEniIpv6AddressQuantity'] = $depth1Value['MinimumEniIpv6AddressQuantity'];
5293
			}
5294
			if(isset($depth1Value['MinimumEniPrivateIpAddressQuantity'])){
5295
				$this->options['query']['InstancePatternInfo.' . ($depth1 + 1) . '.MinimumEniPrivateIpAddressQuantity'] = $depth1Value['MinimumEniPrivateIpAddressQuantity'];
5296
			}
5297
			if(isset($depth1Value['BurstablePerformance'])){
5298
				$this->options['query']['InstancePatternInfo.' . ($depth1 + 1) . '.BurstablePerformance'] = $depth1Value['BurstablePerformance'];
5299
			}
5300
			foreach ($depth1Value['PhysicalProcessorModels'] as $i => $iValue) {
5301
				$this->options['query']['InstancePatternInfo.' . ($depth1 + 1) . '.PhysicalProcessorModels.' . ($i + 1)] = $iValue;
5302
			}
5303
			if(isset($depth1Value['MinimumCpuCoreCount'])){
5304
				$this->options['query']['InstancePatternInfo.' . ($depth1 + 1) . '.MinimumCpuCoreCount'] = $depth1Value['MinimumCpuCoreCount'];
5305
			}
5306
			foreach ($depth1Value['GpuSpecs'] as $i => $iValue) {
5307
				$this->options['query']['InstancePatternInfo.' . ($depth1 + 1) . '.GpuSpecs.' . ($i + 1)] = $iValue;
5308
			}
5309
			if(isset($depth1Value['MinimumEniQuantity'])){
5310
				$this->options['query']['InstancePatternInfo.' . ($depth1 + 1) . '.MinimumEniQuantity'] = $depth1Value['MinimumEniQuantity'];
5311
			}
5312
			if(isset($depth1Value['MinimumMemorySize'])){
5313
				$this->options['query']['InstancePatternInfo.' . ($depth1 + 1) . '.MinimumMemorySize'] = $depth1Value['MinimumMemorySize'];
5314
			}
5315
			if(isset($depth1Value['Cores'])){
5316
				$this->options['query']['InstancePatternInfo.' . ($depth1 + 1) . '.Cores'] = $depth1Value['Cores'];
5317
			}
5318
			if(isset($depth1Value['InstanceFamilyLevel'])){
5319
				$this->options['query']['InstancePatternInfo.' . ($depth1 + 1) . '.InstanceFamilyLevel'] = $depth1Value['InstanceFamilyLevel'];
5320
			}
5321
			foreach ($depth1Value['InstanceTypeFamilies'] as $i => $iValue) {
5322
				$this->options['query']['InstancePatternInfo.' . ($depth1 + 1) . '.InstanceTypeFamilies.' . ($i + 1)] = $iValue;
5323
			}
5324
			if(isset($depth1Value['MinimumBaselineCredit'])){
5325
				$this->options['query']['InstancePatternInfo.' . ($depth1 + 1) . '.MinimumBaselineCredit'] = $depth1Value['MinimumBaselineCredit'];
5326
			}
5327
			foreach ($depth1Value['CpuArchitectures'] as $i => $iValue) {
5328
				$this->options['query']['InstancePatternInfo.' . ($depth1 + 1) . '.CpuArchitectures.' . ($i + 1)] = $iValue;
5329
			}
5330
			foreach ($depth1Value['Architecture'] as $i => $iValue) {
5331
				$this->options['query']['InstancePatternInfo.' . ($depth1 + 1) . '.Architecture.' . ($i + 1)] = $iValue;
5332
			}
5333
		}
5334
5335
		return $this;
5336
    }
5337
5338
    /**
5339
     * @param array $networkInterfaces
5340
     *
5341
     * @return $this
5342
     */
5343
	public function withNetworkInterfaces(array $networkInterfaces)
5344
	{
5345
	    $this->data['NetworkInterfaces'] = $networkInterfaces;
5346
		foreach ($networkInterfaces as $depth1 => $depth1Value) {
5347
			if(isset($depth1Value['Ipv6AddressCount'])){
5348
				$this->options['query']['NetworkInterfaces.' . ($depth1 + 1) . '.Ipv6AddressCount'] = $depth1Value['Ipv6AddressCount'];
5349
			}
5350
			if(isset($depth1Value['InstanceType'])){
5351
				$this->options['query']['NetworkInterfaces.' . ($depth1 + 1) . '.InstanceType'] = $depth1Value['InstanceType'];
5352
			}
5353
			foreach ($depth1Value['SecurityGroupIds'] as $i => $iValue) {
5354
				$this->options['query']['NetworkInterfaces.' . ($depth1 + 1) . '.SecurityGroupIds.' . ($i + 1)] = $iValue;
5355
			}
5356
			if(isset($depth1Value['NetworkInterfaceTrafficMode'])){
5357
				$this->options['query']['NetworkInterfaces.' . ($depth1 + 1) . '.NetworkInterfaceTrafficMode'] = $depth1Value['NetworkInterfaceTrafficMode'];
5358
			}
5359
		}
5360
5361
		return $this;
5362
    }
5363
5364
    /**
5365
     * @param array $instanceTypes
5366
     *
5367
     * @return $this
5368
     */
5369
	public function withInstanceTypes(array $instanceTypes)
5370
	{
5371
	    $this->data['InstanceTypes'] = $instanceTypes;
5372
		foreach ($instanceTypes as $i => $iValue) {
5373
			$this->options['query']['InstanceTypes.' . ($i + 1)] = $iValue;
5374
		}
5375
5376
		return $this;
5377
    }
5378
5379
    /**
5380
     * @param string $value
5381
     *
5382
     * @return $this
5383
     */
5384
    public function withSystemDiskKMSKeyId($value)
5385
    {
5386
        $this->data['SystemDiskKMSKeyId'] = $value;
5387
        $this->options['query']['SystemDisk.KMSKeyId'] = $value;
5388
5389
        return $this;
5390
    }
5391
5392
    /**
5393
     * @param string $value
5394
     *
5395
     * @return $this
5396
     */
5397
    public function withSystemDiskCategory($value)
5398
    {
5399
        $this->data['SystemDiskCategory'] = $value;
5400
        $this->options['query']['SystemDisk.Category'] = $value;
5401
5402
        return $this;
5403
    }
5404
5405
    /**
5406
     * @param string $value
5407
     *
5408
     * @return $this
5409
     */
5410
    public function withSystemDiskPerformanceLevel($value)
5411
    {
5412
        $this->data['SystemDiskPerformanceLevel'] = $value;
5413
        $this->options['query']['SystemDisk.PerformanceLevel'] = $value;
5414
5415
        return $this;
5416
    }
5417
5418
    /**
5419
     * @param string $value
5420
     *
5421
     * @return $this
5422
     */
5423
    public function withSystemDiskDiskName($value)
5424
    {
5425
        $this->data['SystemDiskDiskName'] = $value;
5426
        $this->options['query']['SystemDisk.DiskName'] = $value;
5427
5428
        return $this;
5429
    }
5430
5431
    /**
5432
     * @param string $value
5433
     *
5434
     * @return $this
5435
     */
5436
    public function withSystemDiskEncryptAlgorithm($value)
5437
    {
5438
        $this->data['SystemDiskEncryptAlgorithm'] = $value;
5439
        $this->options['query']['SystemDisk.EncryptAlgorithm'] = $value;
5440
5441
        return $this;
5442
    }
5443
5444
    /**
5445
     * @param array $securityGroupIds
5446
     *
5447
     * @return $this
5448
     */
5449
	public function withSecurityGroupIds(array $securityGroupIds)
5450
	{
5451
	    $this->data['SecurityGroupIds'] = $securityGroupIds;
5452
		foreach ($securityGroupIds as $i => $iValue) {
5453
			$this->options['query']['SecurityGroupIds.' . ($i + 1)] = $iValue;
5454
		}
5455
5456
		return $this;
5457
    }
5458
5459
    /**
5460
     * @param array $dataDisk
5461
     *
5462
     * @return $this
5463
     */
5464
	public function withDataDisk(array $dataDisk)
5465
	{
5466
	    $this->data['DataDisk'] = $dataDisk;
5467
		foreach ($dataDisk as $depth1 => $depth1Value) {
5468
			if(isset($depth1Value['SnapshotId'])){
5469
				$this->options['query']['DataDisk.' . ($depth1 + 1) . '.SnapshotId'] = $depth1Value['SnapshotId'];
5470
			}
5471
			if(isset($depth1Value['PerformanceLevel'])){
5472
				$this->options['query']['DataDisk.' . ($depth1 + 1) . '.PerformanceLevel'] = $depth1Value['PerformanceLevel'];
5473
			}
5474
			if(isset($depth1Value['AutoSnapshotPolicyId'])){
5475
				$this->options['query']['DataDisk.' . ($depth1 + 1) . '.AutoSnapshotPolicyId'] = $depth1Value['AutoSnapshotPolicyId'];
5476
			}
5477
			if(isset($depth1Value['Description'])){
5478
				$this->options['query']['DataDisk.' . ($depth1 + 1) . '.Description'] = $depth1Value['Description'];
5479
			}
5480
			if(isset($depth1Value['BurstingEnabled'])){
5481
				$this->options['query']['DataDisk.' . ($depth1 + 1) . '.BurstingEnabled'] = $depth1Value['BurstingEnabled'];
5482
			}
5483
			if(isset($depth1Value['DiskName'])){
5484
				$this->options['query']['DataDisk.' . ($depth1 + 1) . '.DiskName'] = $depth1Value['DiskName'];
5485
			}
5486
			if(isset($depth1Value['ProvisionedIops'])){
5487
				$this->options['query']['DataDisk.' . ($depth1 + 1) . '.ProvisionedIops'] = $depth1Value['ProvisionedIops'];
5488
			}
5489
			if(isset($depth1Value['Encrypted'])){
5490
				$this->options['query']['DataDisk.' . ($depth1 + 1) . '.Encrypted'] = $depth1Value['Encrypted'];
5491
			}
5492
			if(isset($depth1Value['Size'])){
5493
				$this->options['query']['DataDisk.' . ($depth1 + 1) . '.Size'] = $depth1Value['Size'];
5494
			}
5495
			foreach ($depth1Value['Categories'] as $i => $iValue) {
5496
				$this->options['query']['DataDisk.' . ($depth1 + 1) . '.Categories.' . ($i + 1)] = $iValue;
5497
			}
5498
			if(isset($depth1Value['Category'])){
5499
				$this->options['query']['DataDisk.' . ($depth1 + 1) . '.Category'] = $depth1Value['Category'];
5500
			}
5501
			if(isset($depth1Value['KMSKeyId'])){
5502
				$this->options['query']['DataDisk.' . ($depth1 + 1) . '.KMSKeyId'] = $depth1Value['KMSKeyId'];
5503
			}
5504
			if(isset($depth1Value['Device'])){
5505
				$this->options['query']['DataDisk.' . ($depth1 + 1) . '.Device'] = $depth1Value['Device'];
5506
			}
5507
			if(isset($depth1Value['DeleteWithInstance'])){
5508
				$this->options['query']['DataDisk.' . ($depth1 + 1) . '.DeleteWithInstance'] = $depth1Value['DeleteWithInstance'];
5509
			}
5510
		}
5511
5512
		return $this;
5513
    }
5514
5515
    /**
5516
     * @param array $instanceTypeOverride
5517
     *
5518
     * @return $this
5519
     */
5520
	public function withInstanceTypeOverride(array $instanceTypeOverride)
5521
	{
5522
	    $this->data['InstanceTypeOverride'] = $instanceTypeOverride;
5523
		foreach ($instanceTypeOverride as $depth1 => $depth1Value) {
5524
			if(isset($depth1Value['WeightedCapacity'])){
5525
				$this->options['query']['InstanceTypeOverride.' . ($depth1 + 1) . '.WeightedCapacity'] = $depth1Value['WeightedCapacity'];
5526
			}
5527
			if(isset($depth1Value['InstanceType'])){
5528
				$this->options['query']['InstanceTypeOverride.' . ($depth1 + 1) . '.InstanceType'] = $depth1Value['InstanceType'];
5529
			}
5530
		}
5531
5532
		return $this;
5533
    }
5534
5535
    /**
5536
     * @param string $value
5537
     *
5538
     * @return $this
5539
     */
5540
    public function withSystemDiskProvisionedIops($value)
5541
    {
5542
        $this->data['SystemDiskProvisionedIops'] = $value;
5543
        $this->options['query']['SystemDisk.ProvisionedIops'] = $value;
5544
5545
        return $this;
5546
    }
5547
5548
    /**
5549
     * @param string $value
5550
     *
5551
     * @return $this
5552
     */
5553
    public function withSystemDiskSize($value)
5554
    {
5555
        $this->data['SystemDiskSize'] = $value;
5556
        $this->options['query']['SystemDisk.Size'] = $value;
5557
5558
        return $this;
5559
    }
5560
5561
    /**
5562
     * @param string $value
5563
     *
5564
     * @return $this
5565
     */
5566
    public function withSystemDiskDescription($value)
5567
    {
5568
        $this->data['SystemDiskDescription'] = $value;
5569
        $this->options['query']['SystemDisk.Description'] = $value;
5570
5571
        return $this;
5572
    }
5573
5574
    /**
5575
     * @param string $value
5576
     *
5577
     * @return $this
5578
     */
5579
    public function withSystemDiskEncrypted($value)
5580
    {
5581
        $this->data['SystemDiskEncrypted'] = $value;
5582
        $this->options['query']['SystemDisk.Encrypted'] = $value;
5583
5584
        return $this;
5585
    }
5586
}
5587
5588
/**
5589
 * @method string getResourceOwnerId()
5590
 * @method $this withResourceOwnerId($value)
5591
 * @method string getAzBalance()
5592
 * @method $this withAzBalance($value)
5593
 * @method array getVSwitchIds()
5594
 * @method string getMaxInstanceLifetime()
5595
 * @method $this withMaxInstanceLifetime($value)
5596
 * @method string getActiveScalingConfigurationId()
5597
 * @method $this withActiveScalingConfigurationId($value)
5598
 * @method string getSpotInstanceRemedy()
5599
 * @method $this withSpotInstanceRemedy($value)
5600
 * @method string getScaleOutAmountCheck()
5601
 * @method $this withScaleOutAmountCheck($value)
5602
 * @method string getCustomPolicyARN()
5603
 * @method $this withCustomPolicyARN($value)
5604
 * @method string getStopInstanceTimeout()
5605
 * @method $this withStopInstanceTimeout($value)
5606
 * @method string getDefaultCooldown()
5607
 * @method $this withDefaultCooldown($value)
5608
 * @method array getHealthCheckTypes()
5609
 * @method string getMultiAZPolicy()
5610
 * @method $this withMultiAZPolicy($value)
5611
 * @method string getLaunchTemplateId()
5612
 * @method $this withLaunchTemplateId($value)
5613
 * @method string getDesiredCapacity()
5614
 * @method $this withDesiredCapacity($value)
5615
 * @method array getLaunchTemplateOverride()
5616
 * @method string getCompensateWithOnDemand()
5617
 * @method $this withCompensateWithOnDemand($value)
5618
 * @method string getCapacityOptions()
5619
 * @method $this withCapacityOptions($value)
5620
 * @method string getMinSize()
5621
 * @method $this withMinSize($value)
5622
 * @method string getOwnerId()
5623
 * @method $this withOwnerId($value)
5624
 * @method string getMaxSize()
5625
 * @method $this withMaxSize($value)
5626
 * @method string getScalingGroupId()
5627
 * @method $this withScalingGroupId($value)
5628
 * @method string getOnDemandBaseCapacity()
5629
 * @method $this withOnDemandBaseCapacity($value)
5630
 * @method string getOnDemandPercentageAboveBaseCapacity()
5631
 * @method $this withOnDemandPercentageAboveBaseCapacity($value)
5632
 * @method string getSpotAllocationStrategy()
5633
 * @method $this withSpotAllocationStrategy($value)
5634
 * @method string getDisableDesiredCapacity()
5635
 * @method $this withDisableDesiredCapacity($value)
5636
 * @method string getRemovalPolicy1()
5637
 * @method string getRemovalPolicy2()
5638
 * @method string getRemovalPolicy3()
5639
 * @method string getHealthCheckType()
5640
 * @method $this withHealthCheckType($value)
5641
 * @method string getResourceOwnerAccount()
5642
 * @method $this withResourceOwnerAccount($value)
5643
 * @method string getScalingGroupName()
5644
 * @method $this withScalingGroupName($value)
5645
 * @method string getOwnerAccount()
5646
 * @method $this withOwnerAccount($value)
5647
 * @method string getSpotInstancePools()
5648
 * @method $this withSpotInstancePools($value)
5649
 * @method string getGroupDeletionProtection()
5650
 * @method $this withGroupDeletionProtection($value)
5651
 * @method string getLaunchTemplateVersion()
5652
 * @method $this withLaunchTemplateVersion($value)
5653
 * @method string getScalingPolicy()
5654
 * @method $this withScalingPolicy($value)
5655
 * @method string getAllocationStrategy()
5656
 * @method $this withAllocationStrategy($value)
5657
 */
5658
class ModifyScalingGroup extends Rpc
5659
{
5660
5661
    /**
5662
     * @param array $vSwitchIds
5663
     *
5664
     * @return $this
5665
     */
5666
	public function withVSwitchIds(array $vSwitchIds)
5667
	{
5668
	    $this->data['VSwitchIds'] = $vSwitchIds;
5669
		foreach ($vSwitchIds as $i => $iValue) {
5670
			$this->options['query']['VSwitchIds.' . ($i + 1)] = $iValue;
5671
		}
5672
5673
		return $this;
5674
    }
5675
5676
    /**
5677
     * @param array $healthCheckTypes
5678
     *
5679
     * @return $this
5680
     */
5681
	public function withHealthCheckTypes(array $healthCheckTypes)
5682
	{
5683
	    $this->data['HealthCheckTypes'] = $healthCheckTypes;
5684
		foreach ($healthCheckTypes as $i => $iValue) {
5685
			$this->options['query']['HealthCheckTypes.' . ($i + 1)] = $iValue;
5686
		}
5687
5688
		return $this;
5689
    }
5690
5691
    /**
5692
     * @param array $launchTemplateOverride
5693
     *
5694
     * @return $this
5695
     */
5696
	public function withLaunchTemplateOverride(array $launchTemplateOverride)
5697
	{
5698
	    $this->data['LaunchTemplateOverride'] = $launchTemplateOverride;
5699
		foreach ($launchTemplateOverride as $depth1 => $depth1Value) {
5700
			if(isset($depth1Value['WeightedCapacity'])){
5701
				$this->options['query']['LaunchTemplateOverride.' . ($depth1 + 1) . '.WeightedCapacity'] = $depth1Value['WeightedCapacity'];
5702
			}
5703
			if(isset($depth1Value['InstanceType'])){
5704
				$this->options['query']['LaunchTemplateOverride.' . ($depth1 + 1) . '.InstanceType'] = $depth1Value['InstanceType'];
5705
			}
5706
			if(isset($depth1Value['SpotPriceLimit'])){
5707
				$this->options['query']['LaunchTemplateOverride.' . ($depth1 + 1) . '.SpotPriceLimit'] = $depth1Value['SpotPriceLimit'];
5708
			}
5709
		}
5710
5711
		return $this;
5712
    }
5713
5714
    /**
5715
     * @param string $value
5716
     *
5717
     * @return $this
5718
     */
5719
    public function withRemovalPolicy1($value)
5720
    {
5721
        $this->data['RemovalPolicy1'] = $value;
5722
        $this->options['query']['RemovalPolicy.1'] = $value;
5723
5724
        return $this;
5725
    }
5726
5727
    /**
5728
     * @param string $value
5729
     *
5730
     * @return $this
5731
     */
5732
    public function withRemovalPolicy2($value)
5733
    {
5734
        $this->data['RemovalPolicy2'] = $value;
5735
        $this->options['query']['RemovalPolicy.2'] = $value;
5736
5737
        return $this;
5738
    }
5739
5740
    /**
5741
     * @param string $value
5742
     *
5743
     * @return $this
5744
     */
5745
    public function withRemovalPolicy3($value)
5746
    {
5747
        $this->data['RemovalPolicy3'] = $value;
5748
        $this->options['query']['RemovalPolicy.3'] = $value;
5749
5750
        return $this;
5751
    }
5752
}
5753
5754
/**
5755
 * @method string getMetricType()
5756
 * @method $this withMetricType($value)
5757
 * @method string getResourceOwnerId()
5758
 * @method $this withResourceOwnerId($value)
5759
 * @method array getAlarmDimension()
5760
 * @method array getStepAdjustment()
5761
 * @method string getDisableScaleIn()
5762
 * @method $this withDisableScaleIn($value)
5763
 * @method string getScalingRuleId()
5764
 * @method $this withScalingRuleId($value)
5765
 * @method string getInitialMaxSize()
5766
 * @method $this withInitialMaxSize($value)
5767
 * @method string getScalingRuleName()
5768
 * @method $this withScalingRuleName($value)
5769
 * @method string getHybridMonitorNamespace()
5770
 * @method $this withHybridMonitorNamespace($value)
5771
 * @method string getCooldown()
5772
 * @method $this withCooldown($value)
5773
 * @method string getPredictiveValueBehavior()
5774
 * @method $this withPredictiveValueBehavior($value)
5775
 * @method string getScaleInEvaluationCount()
5776
 * @method $this withScaleInEvaluationCount($value)
5777
 * @method string getMetricName()
5778
 * @method $this withMetricName($value)
5779
 * @method string getPredictiveScalingMode()
5780
 * @method $this withPredictiveScalingMode($value)
5781
 * @method string getResourceOwnerAccount()
5782
 * @method $this withResourceOwnerAccount($value)
5783
 * @method string getAdjustmentValue()
5784
 * @method $this withAdjustmentValue($value)
5785
 * @method string getEstimatedInstanceWarmup()
5786
 * @method $this withEstimatedInstanceWarmup($value)
5787
 * @method string getOwnerAccount()
5788
 * @method $this withOwnerAccount($value)
5789
 * @method string getPredictiveTaskBufferTime()
5790
 * @method $this withPredictiveTaskBufferTime($value)
5791
 * @method string getAdjustmentType()
5792
 * @method $this withAdjustmentType($value)
5793
 * @method string getOwnerId()
5794
 * @method $this withOwnerId($value)
5795
 * @method string getPredictiveValueBuffer()
5796
 * @method $this withPredictiveValueBuffer($value)
5797
 * @method array getHybridMetrics()
5798
 * @method string getScaleOutEvaluationCount()
5799
 * @method $this withScaleOutEvaluationCount($value)
5800
 * @method string getMinAdjustmentMagnitude()
5801
 * @method $this withMinAdjustmentMagnitude($value)
5802
 * @method string getTargetValue()
5803
 * @method $this withTargetValue($value)
5804
 */
5805
class ModifyScalingRule extends Rpc
5806
{
5807
5808
    /**
5809
     * @param array $alarmDimension
5810
     *
5811
     * @return $this
5812
     */
5813
	public function withAlarmDimension(array $alarmDimension)
5814
	{
5815
	    $this->data['AlarmDimension'] = $alarmDimension;
5816
		foreach ($alarmDimension as $depth1 => $depth1Value) {
5817
			if(isset($depth1Value['DimensionValue'])){
5818
				$this->options['query']['AlarmDimension.' . ($depth1 + 1) . '.DimensionValue'] = $depth1Value['DimensionValue'];
5819
			}
5820
			if(isset($depth1Value['DimensionKey'])){
5821
				$this->options['query']['AlarmDimension.' . ($depth1 + 1) . '.DimensionKey'] = $depth1Value['DimensionKey'];
5822
			}
5823
		}
5824
5825
		return $this;
5826
    }
5827
5828
    /**
5829
     * @param array $stepAdjustment
5830
     *
5831
     * @return $this
5832
     */
5833
	public function withStepAdjustment(array $stepAdjustment)
5834
	{
5835
	    $this->data['StepAdjustment'] = $stepAdjustment;
5836
		foreach ($stepAdjustment as $depth1 => $depth1Value) {
5837
			if(isset($depth1Value['MetricIntervalUpperBound'])){
5838
				$this->options['query']['StepAdjustment.' . ($depth1 + 1) . '.MetricIntervalUpperBound'] = $depth1Value['MetricIntervalUpperBound'];
5839
			}
5840
			if(isset($depth1Value['MetricIntervalLowerBound'])){
5841
				$this->options['query']['StepAdjustment.' . ($depth1 + 1) . '.MetricIntervalLowerBound'] = $depth1Value['MetricIntervalLowerBound'];
5842
			}
5843
			if(isset($depth1Value['ScalingAdjustment'])){
5844
				$this->options['query']['StepAdjustment.' . ($depth1 + 1) . '.ScalingAdjustment'] = $depth1Value['ScalingAdjustment'];
5845
			}
5846
		}
5847
5848
		return $this;
5849
    }
5850
5851
    /**
5852
     * @param array $hybridMetrics
5853
     *
5854
     * @return $this
5855
     */
5856
	public function withHybridMetrics(array $hybridMetrics)
5857
	{
5858
	    $this->data['HybridMetrics'] = $hybridMetrics;
5859
		foreach ($hybridMetrics as $depth1 => $depth1Value) {
5860
			if(isset($depth1Value['Statistic'])){
5861
				$this->options['query']['HybridMetrics.' . ($depth1 + 1) . '.Statistic'] = $depth1Value['Statistic'];
5862
			}
5863
			if(isset($depth1Value['Expression'])){
5864
				$this->options['query']['HybridMetrics.' . ($depth1 + 1) . '.Expression'] = $depth1Value['Expression'];
5865
			}
5866
			if(isset($depth1Value['Id'])){
5867
				$this->options['query']['HybridMetrics.' . ($depth1 + 1) . '.Id'] = $depth1Value['Id'];
5868
			}
5869
			if(isset($depth1Value['MetricName'])){
5870
				$this->options['query']['HybridMetrics.' . ($depth1 + 1) . '.MetricName'] = $depth1Value['MetricName'];
5871
			}
5872
			foreach ($depth1Value['Dimensions'] as $depth2 => $depth2Value) {
5873
				if(isset($depth2Value['DimensionValue'])){
5874
					$this->options['query']['HybridMetrics.' . ($depth1 + 1) . '.Dimensions.' . ($depth2 + 1) . '.DimensionValue'] = $depth2Value['DimensionValue'];
5875
				}
5876
				if(isset($depth2Value['DimensionKey'])){
5877
					$this->options['query']['HybridMetrics.' . ($depth1 + 1) . '.Dimensions.' . ($depth2 + 1) . '.DimensionKey'] = $depth2Value['DimensionKey'];
5878
				}
5879
			}
5880
		}
5881
5882
		return $this;
5883
    }
5884
}
5885
5886
/**
5887
 * @method string getResourceOwnerId()
5888
 * @method $this withResourceOwnerId($value)
5889
 * @method string getScheduledAction()
5890
 * @method $this withScheduledAction($value)
5891
 * @method string getMaxValue()
5892
 * @method $this withMaxValue($value)
5893
 * @method string getScalingGroupId()
5894
 * @method $this withScalingGroupId($value)
5895
 * @method string getDescription()
5896
 * @method $this withDescription($value)
5897
 * @method string getRecurrenceEndTime()
5898
 * @method $this withRecurrenceEndTime($value)
5899
 * @method string getLaunchTime()
5900
 * @method $this withLaunchTime($value)
5901
 * @method string getDesiredCapacity()
5902
 * @method $this withDesiredCapacity($value)
5903
 * @method string getResourceOwnerAccount()
5904
 * @method $this withResourceOwnerAccount($value)
5905
 * @method string getOwnerAccount()
5906
 * @method $this withOwnerAccount($value)
5907
 * @method string getOwnerId()
5908
 * @method $this withOwnerId($value)
5909
 * @method string getRecurrenceValue()
5910
 * @method $this withRecurrenceValue($value)
5911
 * @method string getLaunchExpirationTime()
5912
 * @method $this withLaunchExpirationTime($value)
5913
 * @method string getMinValue()
5914
 * @method $this withMinValue($value)
5915
 * @method string getScheduledTaskName()
5916
 * @method $this withScheduledTaskName($value)
5917
 * @method string getTaskEnabled()
5918
 * @method $this withTaskEnabled($value)
5919
 * @method string getScheduledTaskId()
5920
 * @method $this withScheduledTaskId($value)
5921
 * @method string getRecurrenceType()
5922
 * @method $this withRecurrenceType($value)
5923
 */
5924
class ModifyScheduledTask extends Rpc
5925
{
5926
}
5927
5928
/**
5929
 * @method string getResourceOwnerId()
5930
 * @method $this withResourceOwnerId($value)
5931
 * @method string getScalingGroupId()
5932
 * @method $this withScalingGroupId($value)
5933
 * @method string getResourceOwnerAccount()
5934
 * @method $this withResourceOwnerAccount($value)
5935
 * @method string getOwnerAccount()
5936
 * @method $this withOwnerAccount($value)
5937
 * @method string getOwnerId()
5938
 * @method $this withOwnerId($value)
5939
 */
5940
class RebalanceInstances extends Rpc
5941
{
5942
}
5943
5944
/**
5945
 * @method string getLifecycleActionToken()
5946
 * @method string getHeartbeatTimeout()
5947
 * @method string getResourceOwnerAccount()
5948
 * @method $this withResourceOwnerAccount($value)
5949
 * @method string getLifecycleHookId()
5950
 * @method string getOwnerAccount()
5951
 * @method $this withOwnerAccount($value)
5952
 * @method string getOwnerId()
5953
 * @method $this withOwnerId($value)
5954
 */
5955
class RecordLifecycleActionHeartbeat extends Rpc
5956
{
5957
5958
    /**
5959
     * @param string $value
5960
     *
5961
     * @return $this
5962
     */
5963
    public function withLifecycleActionToken($value)
5964
    {
5965
        $this->data['LifecycleActionToken'] = $value;
5966
        $this->options['query']['lifecycleActionToken'] = $value;
5967
5968
        return $this;
5969
    }
5970
5971
    /**
5972
     * @param string $value
5973
     *
5974
     * @return $this
5975
     */
5976
    public function withHeartbeatTimeout($value)
5977
    {
5978
        $this->data['HeartbeatTimeout'] = $value;
5979
        $this->options['query']['heartbeatTimeout'] = $value;
5980
5981
        return $this;
5982
    }
5983
5984
    /**
5985
     * @param string $value
5986
     *
5987
     * @return $this
5988
     */
5989
    public function withLifecycleHookId($value)
5990
    {
5991
        $this->data['LifecycleHookId'] = $value;
5992
        $this->options['query']['lifecycleHookId'] = $value;
5993
5994
        return $this;
5995
    }
5996
}
5997
5998
/**
5999
 * @method string getResourceOwnerId()
6000
 * @method $this withResourceOwnerId($value)
6001
 * @method string getClientToken()
6002
 * @method $this withClientToken($value)
6003
 * @method string getScalingGroupId()
6004
 * @method $this withScalingGroupId($value)
6005
 * @method string getLifecycleHookContext()
6006
 * @method $this withLifecycleHookContext($value)
6007
 * @method string getDecreaseDesiredCapacity()
6008
 * @method $this withDecreaseDesiredCapacity($value)
6009
 * @method string getIgnoreInvalidInstance()
6010
 * @method $this withIgnoreInvalidInstance($value)
6011
 * @method string getStopInstanceTimeout()
6012
 * @method $this withStopInstanceTimeout($value)
6013
 * @method string getRemovePolicy()
6014
 * @method $this withRemovePolicy($value)
6015
 * @method string getResourceOwnerAccount()
6016
 * @method $this withResourceOwnerAccount($value)
6017
 * @method string getOwnerAccount()
6018
 * @method $this withOwnerAccount($value)
6019
 * @method string getOwnerId()
6020
 * @method $this withOwnerId($value)
6021
 * @method array getInstanceId()
6022
 */
6023
class RemoveInstances extends Rpc
6024
{
6025
6026
    /**
6027
     * @param array $instanceId
6028
     *
6029
     * @return $this
6030
     */
6031
	public function withInstanceId(array $instanceId)
6032
	{
6033
	    $this->data['InstanceId'] = $instanceId;
6034
		foreach ($instanceId as $i => $iValue) {
6035
			$this->options['query']['InstanceId.' . ($i + 1)] = $iValue;
6036
		}
6037
6038
		return $this;
6039
    }
6040
}
6041
6042
/**
6043
 * @method string getClientToken()
6044
 * @method $this withClientToken($value)
6045
 * @method string getScalingGroupId()
6046
 * @method $this withScalingGroupId($value)
6047
 * @method array getProcess()
6048
 * @method string getResourceOwnerAccount()
6049
 * @method $this withResourceOwnerAccount($value)
6050
 * @method string getOwnerId()
6051
 * @method $this withOwnerId($value)
6052
 */
6053
class ResumeProcesses extends Rpc
6054
{
6055
6056
    /**
6057
     * @param array $process
6058
     *
6059
     * @return $this
6060
     */
6061
	public function withProcess(array $process)
6062
	{
6063
	    $this->data['Process'] = $process;
6064
		foreach ($process as $i => $iValue) {
6065
			$this->options['query']['Process.' . ($i + 1)] = $iValue;
6066
		}
6067
6068
		return $this;
6069
    }
6070
}
6071
6072
/**
6073
 * @method string getClientToken()
6074
 * @method $this withClientToken($value)
6075
 * @method string getScalingGroupId()
6076
 * @method $this withScalingGroupId($value)
6077
 * @method string getLifecycleHookContext()
6078
 * @method $this withLifecycleHookContext($value)
6079
 * @method array getInstanceType()
6080
 * @method string getSyncActivity()
6081
 * @method $this withSyncActivity($value)
6082
 * @method array getAllocation()
6083
 * @method string getAdjustmentValue()
6084
 * @method $this withAdjustmentValue($value)
6085
 * @method string getResourceOwnerAccount()
6086
 * @method $this withResourceOwnerAccount($value)
6087
 * @method string getActivityMetadata()
6088
 * @method $this withActivityMetadata($value)
6089
 * @method string getAdjustmentType()
6090
 * @method $this withAdjustmentType($value)
6091
 * @method string getParallelTask()
6092
 * @method $this withParallelTask($value)
6093
 * @method string getOverrides()
6094
 * @method $this withOverrides($value)
6095
 * @method string getOwnerId()
6096
 * @method $this withOwnerId($value)
6097
 * @method string getSpotStrategy()
6098
 * @method $this withSpotStrategy($value)
6099
 * @method array getVSwitchId()
6100
 * @method string getMinAdjustmentMagnitude()
6101
 * @method $this withMinAdjustmentMagnitude($value)
6102
 */
6103
class ScaleWithAdjustment extends Rpc
6104
{
6105
6106
    /**
6107
     * @param array $instanceType
6108
     *
6109
     * @return $this
6110
     */
6111
	public function withInstanceType(array $instanceType)
6112
	{
6113
	    $this->data['InstanceType'] = $instanceType;
6114
		foreach ($instanceType as $i => $iValue) {
6115
			$this->options['query']['InstanceType.' . ($i + 1)] = $iValue;
6116
		}
6117
6118
		return $this;
6119
    }
6120
6121
    /**
6122
     * @param array $allocation
6123
     *
6124
     * @return $this
6125
     */
6126
	public function withAllocation(array $allocation)
6127
	{
6128
	    $this->data['Allocation'] = $allocation;
6129
		foreach ($allocation as $depth1 => $depth1Value) {
6130
			foreach ($depth1Value['VSwitchId'] as $i => $iValue) {
6131
				$this->options['query']['Allocation.' . ($depth1 + 1) . '.VSwitchId.' . ($i + 1)] = $iValue;
6132
			}
6133
			if(isset($depth1Value['Count'])){
6134
				$this->options['query']['Allocation.' . ($depth1 + 1) . '.Count'] = $depth1Value['Count'];
6135
			}
6136
		}
6137
6138
		return $this;
6139
    }
6140
6141
    /**
6142
     * @param array $vSwitchId
6143
     *
6144
     * @return $this
6145
     */
6146
	public function withVSwitchId(array $vSwitchId)
6147
	{
6148
	    $this->data['VSwitchId'] = $vSwitchId;
6149
		foreach ($vSwitchId as $i => $iValue) {
6150
			$this->options['query']['VSwitchId.' . ($i + 1)] = $iValue;
6151
		}
6152
6153
		return $this;
6154
    }
6155
}
6156
6157
/**
6158
 * @method string getScalingGroupId()
6159
 * @method $this withScalingGroupId($value)
6160
 * @method string getResourceOwnerAccount()
6161
 * @method $this withResourceOwnerAccount($value)
6162
 * @method string getGroupDeletionProtection()
6163
 * @method $this withGroupDeletionProtection($value)
6164
 * @method string getOwnerId()
6165
 * @method $this withOwnerId($value)
6166
 */
6167
class SetGroupDeletionProtection extends Rpc
6168
{
6169
}
6170
6171
/**
6172
 * @method string getResourceOwnerAccount()
6173
 * @method $this withResourceOwnerAccount($value)
6174
 * @method string getOwnerId()
6175
 * @method $this withOwnerId($value)
6176
 * @method string getInstanceId()
6177
 * @method $this withInstanceId($value)
6178
 * @method string getHealthStatus()
6179
 * @method $this withHealthStatus($value)
6180
 */
6181
class SetInstanceHealth extends Rpc
6182
{
6183
}
6184
6185
/**
6186
 * @method string getScalingGroupId()
6187
 * @method $this withScalingGroupId($value)
6188
 * @method string getResourceOwnerAccount()
6189
 * @method $this withResourceOwnerAccount($value)
6190
 * @method string getOwnerId()
6191
 * @method $this withOwnerId($value)
6192
 * @method array getInstanceId()
6193
 * @method string getProtectedFromScaleIn()
6194
 * @method $this withProtectedFromScaleIn($value)
6195
 */
6196
class SetInstancesProtection extends Rpc
6197
{
6198
6199
    /**
6200
     * @param array $instanceId
6201
     *
6202
     * @return $this
6203
     */
6204
	public function withInstanceId(array $instanceId)
6205
	{
6206
	    $this->data['InstanceId'] = $instanceId;
6207
		foreach ($instanceId as $i => $iValue) {
6208
			$this->options['query']['InstanceId.' . ($i + 1)] = $iValue;
6209
		}
6210
6211
		return $this;
6212
    }
6213
}
6214
6215
/**
6216
 * @method string getClientToken()
6217
 * @method $this withClientToken($value)
6218
 * @method string getScalingGroupId()
6219
 * @method $this withScalingGroupId($value)
6220
 * @method array getProcess()
6221
 * @method string getResourceOwnerAccount()
6222
 * @method $this withResourceOwnerAccount($value)
6223
 * @method string getOwnerId()
6224
 * @method $this withOwnerId($value)
6225
 */
6226
class SuspendProcesses extends Rpc
6227
{
6228
6229
    /**
6230
     * @param array $process
6231
     *
6232
     * @return $this
6233
     */
6234
	public function withProcess(array $process)
6235
	{
6236
	    $this->data['Process'] = $process;
6237
		foreach ($process as $i => $iValue) {
6238
			$this->options['query']['Process.' . ($i + 1)] = $iValue;
6239
		}
6240
6241
		return $this;
6242
    }
6243
}
6244
6245
/**
6246
 * @method array getTag()
6247
 * @method array getResourceId()
6248
 * @method string getResourceOwnerAccount()
6249
 * @method $this withResourceOwnerAccount($value)
6250
 * @method string getOwnerId()
6251
 * @method $this withOwnerId($value)
6252
 * @method string getResourceType()
6253
 * @method $this withResourceType($value)
6254
 */
6255
class TagResources extends Rpc
6256
{
6257
6258
    /**
6259
     * @param array $tag
6260
     *
6261
     * @return $this
6262
     */
6263
	public function withTag(array $tag)
6264
	{
6265
	    $this->data['Tag'] = $tag;
6266
		foreach ($tag as $depth1 => $depth1Value) {
6267
			if(isset($depth1Value['Propagate'])){
6268
				$this->options['query']['Tag.' . ($depth1 + 1) . '.Propagate'] = $depth1Value['Propagate'];
6269
			}
6270
			if(isset($depth1Value['Value'])){
6271
				$this->options['query']['Tag.' . ($depth1 + 1) . '.Value'] = $depth1Value['Value'];
6272
			}
6273
			if(isset($depth1Value['Key'])){
6274
				$this->options['query']['Tag.' . ($depth1 + 1) . '.Key'] = $depth1Value['Key'];
6275
			}
6276
		}
6277
6278
		return $this;
6279
    }
6280
6281
    /**
6282
     * @param array $resourceId
6283
     *
6284
     * @return $this
6285
     */
6286
	public function withResourceId(array $resourceId)
6287
	{
6288
	    $this->data['ResourceId'] = $resourceId;
6289
		foreach ($resourceId as $i => $iValue) {
6290
			$this->options['query']['ResourceId.' . ($i + 1)] = $iValue;
6291
		}
6292
6293
		return $this;
6294
    }
6295
}
6296
6297
/**
6298
 * @method string getAll()
6299
 * @method $this withAll($value)
6300
 * @method array getResourceId()
6301
 * @method string getResourceOwnerAccount()
6302
 * @method $this withResourceOwnerAccount($value)
6303
 * @method string getOwnerId()
6304
 * @method $this withOwnerId($value)
6305
 * @method string getResourceType()
6306
 * @method $this withResourceType($value)
6307
 * @method array getTagKey()
6308
 */
6309
class UntagResources extends Rpc
6310
{
6311
6312
    /**
6313
     * @param array $resourceId
6314
     *
6315
     * @return $this
6316
     */
6317
	public function withResourceId(array $resourceId)
6318
	{
6319
	    $this->data['ResourceId'] = $resourceId;
6320
		foreach ($resourceId as $i => $iValue) {
6321
			$this->options['query']['ResourceId.' . ($i + 1)] = $iValue;
6322
		}
6323
6324
		return $this;
6325
    }
6326
6327
    /**
6328
     * @param array $tagKey
6329
     *
6330
     * @return $this
6331
     */
6332
	public function withTagKey(array $tagKey)
6333
	{
6334
	    $this->data['TagKey'] = $tagKey;
6335
		foreach ($tagKey as $i => $iValue) {
6336
			$this->options['query']['TagKey.' . ($i + 1)] = $iValue;
6337
		}
6338
6339
		return $this;
6340
    }
6341
}
6342
6343
/**
6344
 * @method string getResourceOwnerId()
6345
 * @method $this withResourceOwnerId($value)
6346
 * @method string getUid()
6347
 * @method $this withUid($value)
6348
 * @method string getResourceOwnerAccount()
6349
 * @method $this withResourceOwnerAccount($value)
6350
 * @method string getOwnerId()
6351
 * @method $this withOwnerId($value)
6352
 * @method string getOnlyCheck()
6353
 * @method $this withOnlyCheck($value)
6354
 */
6355
class VerifyAuthentication extends Rpc
6356
{
6357
}
6358
6359
/**
6360
 * @method string getResourceOwnerId()
6361
 * @method $this withResourceOwnerId($value)
6362
 * @method string getResourceOwnerAccount()
6363
 * @method $this withResourceOwnerAccount($value)
6364
 * @method string getOwnerId()
6365
 * @method $this withOwnerId($value)
6366
 */
6367
class VerifyUser extends Rpc
6368
{
6369
}
6370