-
Notifications
You must be signed in to change notification settings - Fork 597
/
types.go
1580 lines (1216 loc) · 46.7 KB
/
types.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
// Code generated by smithy-go-codegen DO NOT EDIT.
package types
// Describes an agent version.
type AgentVersion struct {
// The configuration manager.
ConfigurationManager *StackConfigurationManager
// The agent version.
Version *string
}
// A description of the app.
type App struct {
// The app ID.
AppId *string
// A Source object that describes the app repository.
AppSource *Source
// The stack attributes.
Attributes map[string]string
// When the app was created.
CreatedAt *string
// The app's data sources.
DataSources []DataSource
// A description of the app.
Description *string
// The app vhost settings with multiple domains separated by commas. For example:
// 'www.example.com, example.com'
Domains []string
// Whether to enable SSL for the app.
EnableSsl *bool
// An array of EnvironmentVariable objects that specify environment variables to be
// associated with the app. After you deploy the app, these variables are defined
// on the associated app server instances. For more information, see Environment
// Variables
// (https://docs.aws.amazon.com/opsworks/latest/userguide/workingapps-creating.html#workingapps-creating-environment).
// There is no specific limit on the number of environment variables. However, the
// size of the associated data structure - which includes the variable names,
// values, and protected flag values - cannot exceed 20 KB. This limit should
// accommodate most if not all use cases, but if you do exceed it, you will cause
// an exception (API) with an "Environment: is too large (maximum is 20 KB)"
// message.
Environment []EnvironmentVariable
// The app name.
Name *string
// The app's short name.
Shortname *string
// An SslConfiguration object with the SSL configuration.
SslConfiguration *SslConfiguration
// The app stack ID.
StackId *string
// The app type.
Type AppType
}
// Describes a load-based auto scaling upscaling or downscaling threshold
// configuration, which specifies when AWS OpsWorks Stacks starts or stops
// load-based instances.
type AutoScalingThresholds struct {
// Custom Cloudwatch auto scaling alarms, to be used as thresholds. This parameter
// takes a list of up to five alarm names, which are case sensitive and must be in
// the same region as the stack. To use custom alarms, you must update your service
// role to allow cloudwatch:DescribeAlarms. You can either have AWS OpsWorks Stacks
// update the role for you when you first use this feature or you can edit the role
// manually. For more information, see Allowing AWS OpsWorks Stacks to Act on Your
// Behalf
// (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-servicerole.html).
Alarms []string
// The CPU utilization threshold, as a percent of the available CPU. A value of -1
// disables the threshold.
CpuThreshold *float64
// The amount of time (in minutes) after a scaling event occurs that AWS OpsWorks
// Stacks should ignore metrics and suppress additional scaling events. For
// example, AWS OpsWorks Stacks adds new instances following an upscaling event but
// the instances won't start reducing the load until they have been booted and
// configured. There is no point in raising additional scaling events during that
// operation, which typically takes several minutes. IgnoreMetricsTime allows you
// to direct AWS OpsWorks Stacks to suppress scaling events long enough to get the
// new instances online.
IgnoreMetricsTime *int32
// The number of instances to add or remove when the load exceeds a threshold.
InstanceCount *int32
// The load threshold. A value of -1 disables the threshold. For more information
// about how load is computed, see Load (computing)
// (http://en.wikipedia.org/wiki/Load_%28computing%29).
LoadThreshold *float64
// The memory utilization threshold, as a percent of the available memory. A value
// of -1 disables the threshold.
MemoryThreshold *float64
// The amount of time, in minutes, that the load must exceed a threshold before
// more instances are added or removed.
ThresholdsWaitTime *int32
}
// Describes a block device mapping. This data type maps directly to the Amazon EC2
// BlockDeviceMapping
// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_BlockDeviceMapping.html)
// data type.
type BlockDeviceMapping struct {
// The device name that is exposed to the instance, such as /dev/sdh. For the root
// device, you can use the explicit device name or you can set this parameter to
// ROOT_DEVICE and AWS OpsWorks Stacks will provide the correct device name.
DeviceName *string
// An EBSBlockDevice that defines how to configure an Amazon EBS volume when the
// instance is launched.
Ebs *EbsBlockDevice
// Suppresses the specified device included in the AMI's block device mapping.
NoDevice *string
// The virtual device name. For more information, see BlockDeviceMapping
// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_BlockDeviceMapping.html).
VirtualName *string
}
// Describes the Chef configuration.
type ChefConfiguration struct {
// The Berkshelf version.
BerkshelfVersion *string
// Whether to enable Berkshelf.
ManageBerkshelf *bool
}
// Describes the Amazon CloudWatch logs configuration for a layer.
type CloudWatchLogsConfiguration struct {
// Whether CloudWatch Logs is enabled for a layer.
Enabled *bool
// A list of configuration options for CloudWatch Logs.
LogStreams []CloudWatchLogsLogStream
}
// Describes the Amazon CloudWatch logs configuration for a layer. For detailed
// information about members of this data type, see the CloudWatch Logs Agent
// Reference
// (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AgentReference.html).
type CloudWatchLogsLogStream struct {
// Specifies the max number of log events in a batch, up to 10000. The default
// value is 1000.
BatchCount *int32
// Specifies the maximum size of log events in a batch, in bytes, up to 1048576
// bytes. The default value is 32768 bytes. This size is calculated as the sum of
// all event messages in UTF-8, plus 26 bytes for each log event.
BatchSize *int32
// Specifies the time duration for the batching of log events. The minimum value is
// 5000ms and default value is 5000ms.
BufferDuration *int32
// Specifies how the time stamp is extracted from logs. For more information, see
// the CloudWatch Logs Agent Reference
// (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AgentReference.html).
DatetimeFormat *string
// Specifies the encoding of the log file so that the file can be read correctly.
// The default is utf_8. Encodings supported by Python codecs.decode() can be used
// here.
Encoding CloudWatchLogsEncoding
// Specifies log files that you want to push to CloudWatch Logs. File can point to
// a specific file or multiple files (by using wild card characters such as
// /var/log/system.log*). Only the latest file is pushed to CloudWatch Logs, based
// on file modification time. We recommend that you use wild card characters to
// specify a series of files of the same type, such as access_log.2014-06-01-01,
// access_log.2014-06-01-02, and so on by using a pattern like access_log.*. Don't
// use a wildcard to match multiple file types, such as access_log_80 and
// access_log_443. To specify multiple, different file types, add another log
// stream entry to the configuration file, so that each log file type is stored in
// a different log group. Zipped files are not supported.
File *string
// Specifies the range of lines for identifying a file. The valid values are one
// number, or two dash-delimited numbers, such as '1', '2-5'. The default value is
// '1', meaning the first line is used to calculate the fingerprint. Fingerprint
// lines are not sent to CloudWatch Logs unless all specified lines are available.
FileFingerprintLines *string
// Specifies where to start to read data (start_of_file or end_of_file). The
// default is start_of_file. This setting is only used if there is no state
// persisted for that log stream.
InitialPosition CloudWatchLogsInitialPosition
// Specifies the destination log group. A log group is created automatically if it
// doesn't already exist. Log group names can be between 1 and 512 characters long.
// Allowed characters include a-z, A-Z, 0-9, '_' (underscore), '-' (hyphen), '/'
// (forward slash), and '.' (period).
LogGroupName *string
// Specifies the pattern for identifying the start of a log message.
MultiLineStartPattern *string
// Specifies the time zone of log event time stamps.
TimeZone CloudWatchLogsTimeZone
}
// Describes a command.
type Command struct {
// Date and time when the command was acknowledged.
AcknowledgedAt *string
// The command ID.
CommandId *string
// Date when the command completed.
CompletedAt *string
// Date and time when the command was run.
CreatedAt *string
// The command deployment ID.
DeploymentId *string
// The command exit code.
ExitCode *int32
// The ID of the instance where the command was executed.
InstanceId *string
// The URL of the command log.
LogUrl *string
// The command status:
//
// * failed
//
// * successful
//
// * skipped
//
// * pending
Status *string
// The command type:
//
// * configure
//
// * deploy
//
// * execute_recipes
//
// *
// install_dependencies
//
// * restart
//
// * rollback
//
// * setup
//
// * start
//
// * stop
//
// *
// undeploy
//
// * update_custom_cookbooks
//
// * update_dependencies
Type *string
}
// Describes an app's data source.
type DataSource struct {
// The data source's ARN.
Arn *string
// The database name.
DatabaseName *string
// The data source's type, AutoSelectOpsworksMysqlInstance, OpsworksMysqlInstance,
// RdsDbInstance, or None.
Type *string
}
// Describes a deployment of a stack or app.
type Deployment struct {
// The app ID.
AppId *string
// Used to specify a stack or deployment command.
Command *DeploymentCommand
// A user-defined comment.
Comment *string
// Date when the deployment completed.
CompletedAt *string
// Date when the deployment was created.
CreatedAt *string
// A string that contains user-defined custom JSON. It can be used to override the
// corresponding default stack configuration attribute values for stack or to pass
// data to recipes. The string should be in the following format: "{\"key1\":
// \"value1\", \"key2\": \"value2\",...}" For more information on custom JSON, see
// Use Custom JSON to Modify the Stack Configuration Attributes
// (https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-json.html).
CustomJson *string
// The deployment ID.
DeploymentId *string
// The deployment duration.
Duration *int32
// The user's IAM ARN.
IamUserArn *string
// The IDs of the target instances.
InstanceIds []string
// The stack ID.
StackId *string
// The deployment status:
//
// * running
//
// * successful
//
// * failed
Status *string
}
// Used to specify a stack or deployment command.
type DeploymentCommand struct {
// Specifies the operation. You can specify only one command. For stacks, the
// following commands are available:
//
// * execute_recipes: Execute one or more
// recipes. To specify the recipes, set an Args parameter named recipes to the list
// of recipes to be executed. For example, to execute phpapp::appsetup, set Args to
// {"recipes":["phpapp::appsetup"]}.
//
// * install_dependencies: Install the stack's
// dependencies.
//
// * update_custom_cookbooks: Update the stack's custom
// cookbooks.
//
// * update_dependencies: Update the stack's dependencies.
//
// The
// update_dependencies and install_dependencies commands are supported only for
// Linux instances. You can run the commands successfully on Windows instances, but
// they do nothing. For apps, the following commands are available:
//
// * deploy:
// Deploy an app. Ruby on Rails apps have an optional Args parameter named migrate.
// Set Args to {"migrate":["true"]} to migrate the database. The default setting is
// {"migrate":["false"]}.
//
// * rollback Roll the app back to the previous version.
// When you update an app, AWS OpsWorks Stacks stores the previous version, up to a
// maximum of five versions. You can use this command to roll an app back as many
// as four versions.
//
// * start: Start the app's web or application server.
//
// * stop:
// Stop the app's web or application server.
//
// * restart: Restart the app's web or
// application server.
//
// * undeploy: Undeploy the app.
//
// This member is required.
Name DeploymentCommandName
// The arguments of those commands that take arguments. It should be set to a JSON
// object with the following format: {"arg_name1" : ["value1", "value2", ...],
// "arg_name2" : ["value1", "value2", ...], ...} The update_dependencies command
// takes two arguments:
//
// * upgrade_os_to - Specifies the desired Amazon Linux
// version for instances whose OS you want to upgrade, such as Amazon Linux
// 2016.09. You must also set the allow_reboot argument to true.
//
// * allow_reboot -
// Specifies whether to allow AWS OpsWorks Stacks to reboot the instances if
// necessary, after installing the updates. This argument can be set to either true
// or false. The default value is false.
//
// For example, to upgrade an instance to
// Amazon Linux 2016.09, set Args to the following. { "upgrade_os_to":["Amazon
// Linux 2016.09"], "allow_reboot":["true"] }
Args map[string][]string
}
// Describes an Amazon EBS volume. This data type maps directly to the Amazon EC2
// EbsBlockDevice
// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_EbsBlockDevice.html)
// data type.
type EbsBlockDevice struct {
// Whether the volume is deleted on instance termination.
DeleteOnTermination *bool
// The number of I/O operations per second (IOPS) that the volume supports. For
// more information, see EbsBlockDevice
// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_EbsBlockDevice.html).
Iops *int32
// The snapshot ID.
SnapshotId *string
// The volume size, in GiB. For more information, see EbsBlockDevice
// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_EbsBlockDevice.html).
VolumeSize *int32
// The volume type. gp2 for General Purpose (SSD) volumes, io1 for Provisioned IOPS
// (SSD) volumes, st1 for Throughput Optimized hard disk drives (HDD), sc1 for Cold
// HDD,and standard for Magnetic volumes. If you specify the io1 volume type, you
// must also specify a value for the Iops attribute. The maximum ratio of
// provisioned IOPS to requested volume size (in GiB) is 50:1. AWS uses the default
// volume size (in GiB) specified in the AMI attributes to set IOPS to 50 x (volume
// size).
VolumeType VolumeType
}
// Describes a registered Amazon ECS cluster.
type EcsCluster struct {
// The cluster's ARN.
EcsClusterArn *string
// The cluster name.
EcsClusterName *string
// The time and date that the cluster was registered with the stack.
RegisteredAt *string
// The stack ID.
StackId *string
}
// Describes an Elastic IP address.
type ElasticIp struct {
// The domain.
Domain *string
// The ID of the instance that the address is attached to.
InstanceId *string
// The IP address.
Ip *string
// The name.
Name *string
// The AWS region. For more information, see Regions and Endpoints
// (https://docs.aws.amazon.com/general/latest/gr/rande.html).
Region *string
}
// Describes an Elastic Load Balancing instance.
type ElasticLoadBalancer struct {
// A list of Availability Zones.
AvailabilityZones []string
// The instance's public DNS name.
DnsName *string
// A list of the EC2 instances that the Elastic Load Balancing instance is managing
// traffic for.
Ec2InstanceIds []string
// The Elastic Load Balancing instance's name.
ElasticLoadBalancerName *string
// The ID of the layer that the instance is attached to.
LayerId *string
// The instance's AWS region.
Region *string
// The ID of the stack that the instance is associated with.
StackId *string
// A list of subnet IDs, if the stack is running in a VPC.
SubnetIds []string
// The VPC ID.
VpcId *string
}
// Represents an app's environment variable.
type EnvironmentVariable struct {
// (Required) The environment variable's name, which can consist of up to 64
// characters and must be specified. The name can contain upper- and lowercase
// letters, numbers, and underscores (_), but it must start with a letter or
// underscore.
//
// This member is required.
Key *string
// (Optional) The environment variable's value, which can be left empty. If you
// specify a value, it can contain up to 256 characters, which must all be
// printable.
//
// This member is required.
Value *string
// (Optional) Whether the variable's value will be returned by the DescribeApps
// action. To conceal an environment variable's value, set Secure to true.
// DescribeApps then returns *****FILTERED***** instead of the actual value. The
// default value for Secure is false.
Secure *bool
}
// Describes an instance.
type Instance struct {
// The agent version. This parameter is set to INHERIT if the instance inherits the
// default stack setting or to a a version number for a fixed agent version.
AgentVersion *string
// A custom AMI ID to be used to create the instance. For more information, see
// Instances
// (https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html)
AmiId *string
// The instance architecture: "i386" or "x86_64".
Architecture Architecture
// The instance's Amazon Resource Number (ARN).
Arn *string
// For load-based or time-based instances, the type.
AutoScalingType AutoScalingType
// The instance Availability Zone. For more information, see Regions and Endpoints
// (https://docs.aws.amazon.com/general/latest/gr/rande.html).
AvailabilityZone *string
// An array of BlockDeviceMapping objects that specify the instance's block device
// mappings.
BlockDeviceMappings []BlockDeviceMapping
// The time that the instance was created.
CreatedAt *string
// Whether this is an Amazon EBS-optimized instance.
EbsOptimized *bool
// The ID of the associated Amazon EC2 instance.
Ec2InstanceId *string
// For container instances, the Amazon ECS cluster's ARN.
EcsClusterArn *string
// For container instances, the instance's ARN.
EcsContainerInstanceArn *string
// The instance Elastic IP address
// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html).
ElasticIp *string
// The instance host name.
Hostname *string
// For registered instances, the infrastructure class: ec2 or on-premises.
InfrastructureClass *string
// Whether to install operating system and package updates when the instance boots.
// The default value is true. If this value is set to false, you must then update
// your instances manually by using CreateDeployment to run the update_dependencies
// stack command or by manually running yum (Amazon Linux) or apt-get (Ubuntu) on
// the instances. We strongly recommend using the default value of true, to ensure
// that your instances have the latest security updates.
InstallUpdatesOnBoot *bool
// The instance ID.
InstanceId *string
// The ARN of the instance's IAM profile. For more information about IAM ARNs, see
// Using Identifiers
// (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html).
InstanceProfileArn *string
// The instance type, such as t2.micro.
InstanceType *string
// The ID of the last service error. For more information, call
// DescribeServiceErrors.
LastServiceErrorId *string
// An array containing the instance layer IDs.
LayerIds []string
// The instance's operating system.
Os *string
// The instance's platform.
Platform *string
// The instance's private DNS name.
PrivateDns *string
// The instance's private IP address.
PrivateIp *string
// The instance public DNS name.
PublicDns *string
// The instance public IP address.
PublicIp *string
// For registered instances, who performed the registration.
RegisteredBy *string
// The instance's reported AWS OpsWorks Stacks agent version.
ReportedAgentVersion *string
// For registered instances, the reported operating system.
ReportedOs *ReportedOs
// The instance's root device type. For more information, see Storage for the Root
// Device
// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ComponentsAMIs.html#storage-for-the-root-device).
RootDeviceType RootDeviceType
// The root device volume ID.
RootDeviceVolumeId *string
// An array containing the instance security group IDs.
SecurityGroupIds []string
// The SSH key's Deep Security Agent (DSA) fingerprint.
SshHostDsaKeyFingerprint *string
// The SSH key's RSA fingerprint.
SshHostRsaKeyFingerprint *string
// The instance's Amazon EC2 key-pair name.
SshKeyName *string
// The stack ID.
StackId *string
// The instance status:
//
// * booting
//
// * connection_lost
//
// * online
//
// * pending
//
// *
// rebooting
//
// * requested
//
// * running_setup
//
// * setup_failed
//
// * shutting_down
//
// *
// start_failed
//
// * stop_failed
//
// * stopped
//
// * stopping
//
// * terminated
//
// * terminating
Status *string
// The instance's subnet ID; applicable only if the stack is running in a VPC.
SubnetId *string
// The instance's tenancy option, such as dedicated or host.
Tenancy *string
// The instance's virtualization type: paravirtual or hvm.
VirtualizationType VirtualizationType
}
// Contains a description of an Amazon EC2 instance from the Amazon EC2 metadata
// service. For more information, see Instance Metadata and User Data
// (https://docs.aws.amazon.com/sdkfornet/latest/apidocs/Index.html).
type InstanceIdentity struct {
// A JSON document that contains the metadata.
Document *string
// A signature that can be used to verify the document's accuracy and authenticity.
Signature *string
}
// Describes how many instances a stack has for each status.
type InstancesCount struct {
// The number of instances in the Assigning state.
Assigning *int32
// The number of instances with booting status.
Booting *int32
// The number of instances with connection_lost status.
ConnectionLost *int32
// The number of instances in the Deregistering state.
Deregistering *int32
// The number of instances with online status.
Online *int32
// The number of instances with pending status.
Pending *int32
// The number of instances with rebooting status.
Rebooting *int32
// The number of instances in the Registered state.
Registered *int32
// The number of instances in the Registering state.
Registering *int32
// The number of instances with requested status.
Requested *int32
// The number of instances with running_setup status.
RunningSetup *int32
// The number of instances with setup_failed status.
SetupFailed *int32
// The number of instances with shutting_down status.
ShuttingDown *int32
// The number of instances with start_failed status.
StartFailed *int32
// The number of instances with stop_failed status.
StopFailed *int32
// The number of instances with stopped status.
Stopped *int32
// The number of instances with stopping status.
Stopping *int32
// The number of instances with terminated status.
Terminated *int32
// The number of instances with terminating status.
Terminating *int32
// The number of instances in the Unassigning state.
Unassigning *int32
}
// Describes a layer.
type Layer struct {
// The Amazon Resource Number (ARN) of a layer.
Arn *string
// The layer attributes. For the HaproxyStatsPassword, MysqlRootPassword, and
// GangliaPassword attributes, AWS OpsWorks Stacks returns *****FILTERED*****
// instead of the actual value For an ECS Cluster layer, AWS OpsWorks Stacks the
// EcsClusterArn attribute is set to the cluster's ARN.
Attributes map[string]string
// Whether to automatically assign an Elastic IP address
// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
// to the layer's instances. For more information, see How to Edit a Layer
// (https://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-basics-edit.html).
AutoAssignElasticIps *bool
// For stacks that are running in a VPC, whether to automatically assign a public
// IP address to the layer's instances. For more information, see How to Edit a
// Layer
// (https://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-basics-edit.html).
AutoAssignPublicIps *bool
// The Amazon CloudWatch Logs configuration settings for the layer.
CloudWatchLogsConfiguration *CloudWatchLogsConfiguration
// Date when the layer was created.
CreatedAt *string
// The ARN of the default IAM profile to be used for the layer's EC2 instances. For
// more information about IAM ARNs, see Using Identifiers
// (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html).
CustomInstanceProfileArn *string
// A JSON formatted string containing the layer's custom stack configuration and
// deployment attributes.
CustomJson *string
// A LayerCustomRecipes object that specifies the layer's custom recipes.
CustomRecipes *Recipes
// An array containing the layer's custom security group IDs.
CustomSecurityGroupIds []string
// AWS OpsWorks Stacks supports five lifecycle events: setup, configuration,
// deploy, undeploy, and shutdown. For each layer, AWS OpsWorks Stacks runs a set
// of standard recipes for each event. You can also provide custom recipes for any
// or all layers and events. AWS OpsWorks Stacks runs custom event recipes after
// the standard recipes. LayerCustomRecipes specifies the custom recipes for a
// particular layer to be run in response to each of the five events. To specify a
// recipe, use the cookbook's directory name in the repository followed by two
// colons and the recipe name, which is the recipe's file name without the .rb
// extension. For example: phpapp2::dbsetup specifies the dbsetup.rb recipe in the
// repository's phpapp2 folder.
DefaultRecipes *Recipes
// An array containing the layer's security group names.
DefaultSecurityGroupNames []string
// Whether auto healing is disabled for the layer.
EnableAutoHealing *bool
// Whether to install operating system and package updates when the instance boots.
// The default value is true. If this value is set to false, you must then update
// your instances manually by using CreateDeployment to run the update_dependencies
// stack command or manually running yum (Amazon Linux) or apt-get (Ubuntu) on the
// instances. We strongly recommend using the default value of true, to ensure that
// your instances have the latest security updates.
InstallUpdatesOnBoot *bool
// The layer ID.
LayerId *string
// A LifeCycleEventConfiguration object that specifies the Shutdown event
// configuration.
LifecycleEventConfiguration *LifecycleEventConfiguration
// The layer name.
Name *string
// An array of Package objects that describe the layer's packages.
Packages []string
// The layer short name.
Shortname *string
// The layer stack ID.
StackId *string
// The layer type.
Type LayerType
// Whether the layer uses Amazon EBS-optimized instances.
UseEbsOptimizedInstances *bool
// A VolumeConfigurations object that describes the layer's Amazon EBS volumes.
VolumeConfigurations []VolumeConfiguration
}
// Specifies the lifecycle event configuration
type LifecycleEventConfiguration struct {
// A ShutdownEventConfiguration object that specifies the Shutdown event
// configuration.
Shutdown *ShutdownEventConfiguration
}
// Describes a layer's load-based auto scaling configuration.
type LoadBasedAutoScalingConfiguration struct {
// An AutoScalingThresholds object that describes the downscaling configuration,
// which defines how and when AWS OpsWorks Stacks reduces the number of instances.
DownScaling *AutoScalingThresholds
// Whether load-based auto scaling is enabled for the layer.
Enable *bool
// The layer ID.
LayerId *string
// An AutoScalingThresholds object that describes the upscaling configuration,
// which defines how and when AWS OpsWorks Stacks increases the number of
// instances.
UpScaling *AutoScalingThresholds
}
// Describes supported operating systems in AWS OpsWorks Stacks.
type OperatingSystem struct {
// Supported configuration manager name and versions for an AWS OpsWorks Stacks
// operating system.
ConfigurationManagers []OperatingSystemConfigurationManager
// The ID of a supported operating system, such as Amazon Linux 2018.03.
Id *string
// The name of the operating system, such as Amazon Linux 2018.03.
Name *string
// A short name for the operating system manufacturer.
ReportedName *string
// The version of the operating system, including the release and edition, if
// applicable.
ReportedVersion *string
// Indicates that an operating system is not supported for new instances.
Supported *bool
// The type of a supported operating system, either Linux or Windows.
Type *string
}
// A block that contains information about the configuration manager (Chef) and the
// versions of the configuration manager that are supported for an operating
// system.
type OperatingSystemConfigurationManager struct {
// The name of the configuration manager, which is Chef.
Name *string
// The versions of the configuration manager that are supported by an operating
// system.
Version *string
}
// Describes stack or user permissions.
type Permission struct {
// Whether the user can use SSH.
AllowSsh *bool
// Whether the user can use sudo.
AllowSudo *bool
// The Amazon Resource Name (ARN) for an AWS Identity and Access Management (IAM)
// role. For more information about IAM ARNs, see Using Identifiers
// (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html).
IamUserArn *string
// The user's permission level, which must be the following:
//
// * deny
//
// * show
//
// *
// deploy
//
// * manage
//
// * iam_only
//
// For more information on the permissions associated
// with these levels, see Managing User Permissions
// (https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html)
Level *string
// A stack ID.