-
Notifications
You must be signed in to change notification settings - Fork 597
/
types.go
3905 lines (3060 loc) · 137 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
import (
smithydocument "github.com/aws/smithy-go/document"
"time"
)
// Describes an access key for an Amazon Lightsail bucket. Access keys grant full
// programmatic access to the specified bucket and its objects. You can have a
// maximum of two access keys per bucket. Use the CreateBucketAccessKey
// (https://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_CreateBucketAccessKey.html)
// action to create an access key for a specific bucket. For more information about
// access keys, see Creating access keys for a bucket in Amazon Lightsail
// (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-creating-bucket-access-keys)
// in the Amazon Lightsail Developer Guide. The secretAccessKey value is returned
// only in response to the CreateBucketAccessKey action. You can get a secret
// access key only when you first create an access key; you cannot get the secret
// access key later. If you lose the secret access key, you must create a new
// access key.
type AccessKey struct {
// The ID of the access key.
AccessKeyId *string
// The timestamp when the access key was created.
CreatedAt *time.Time
// An object that describes the last time the access key was used. This object does
// not include data in the response of a CreateBucketAccessKey
// (https://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_CreateBucketAccessKey.html)
// action. If the access key has not been used, the region and serviceName values
// are N/A, and the lastUsedDate value is null.
LastUsed *AccessKeyLastUsed
// The secret access key used to sign requests. You should store the secret access
// key in a safe location. We recommend that you delete the access key if the
// secret access key is compromised.
SecretAccessKey *string
// The status of the access key. A status of Active means that the key is valid,
// while Inactive means it is not.
Status StatusType
noSmithyDocumentSerde
}
// Describes the last time an access key was used. This object does not include
// data in the response of a CreateBucketAccessKey
// (https://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_CreateBucketAccessKey.html)
// action.
type AccessKeyLastUsed struct {
// The date and time when the access key was most recently used. This value is null
// if the access key has not been used.
LastUsedDate *time.Time
// The AWS Region where this access key was most recently used. This value is N/A
// if the access key has not been used.
Region *string
// The name of the AWS service with which this access key was most recently used.
// This value is N/A if the access key has not been used.
ServiceName *string
noSmithyDocumentSerde
}
// Describes the anonymous access permissions for an Amazon Lightsail bucket and
// its objects. For more information about bucket access permissions, see
// Understanding bucket permissions in Amazon Lightsail
// (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-understanding-bucket-permissions)
// in the Amazon Lightsail Developer Guide.
type AccessRules struct {
// A Boolean value that indicates whether the access control list (ACL) permissions
// that are applied to individual objects override the getObject option that is
// currently specified. When this is true, you can use the PutObjectAcl
// (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectAcl.html) Amazon
// S3 API action to set individual objects to public (read-only) using the
// public-read ACL, or to private using the private ACL.
AllowPublicOverrides *bool
// Specifies the anonymous access to all objects in a bucket. The following options
// can be specified:
//
// * public - Sets all objects in the bucket to public
// (read-only), making them readable by anyone in the world. If the getObject value
// is set to public, then all objects in the bucket default to public regardless of
// the allowPublicOverrides value.
//
// * private - Sets all objects in the bucket to
// private, making them readable only by you or anyone you give access to. If the
// getObject value is set to private, and the allowPublicOverrides value is set to
// true, then all objects in the bucket default to private unless they are
// configured with a public-read ACL. Individual objects with a public-read ACL are
// readable by anyone in the world.
GetObject AccessType
noSmithyDocumentSerde
}
// Describes the synchronization status of the Amazon Simple Storage Service
// (Amazon S3) account-level block public access (BPA) feature for your Lightsail
// buckets. The account-level BPA feature of Amazon S3 provides centralized
// controls to limit public access to all Amazon S3 buckets in an account. BPA can
// make all Amazon S3 buckets in an Amazon Web Services account private regardless
// of the individual bucket and object permissions that are configured. Lightsail
// buckets take into account the Amazon S3 account-level BPA configuration when
// allowing or denying public access. To do this, Lightsail periodically fetches
// the account-level BPA configuration from Amazon S3. When the account-level BPA
// status is InSync, the Amazon S3 account-level BPA configuration is synchronized
// and it applies to your Lightsail buckets. For more information about Amazon
// Simple Storage Service account-level BPA and how it affects Lightsail buckets,
// see Block public access for buckets in Amazon Lightsail
// (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-block-public-access-for-buckets)
// in the Amazon Lightsail Developer Guide.
type AccountLevelBpaSync struct {
// A Boolean value that indicates whether account-level block public access is
// affecting your Lightsail buckets.
BpaImpactsLightsail *bool
// The timestamp of when the account-level BPA configuration was last synchronized.
// This value is null when the account-level BPA configuration has not been
// synchronized.
LastSyncedAt *time.Time
// A message that provides a reason for a Failed or Defaulted synchronization
// status. The following messages are possible:
//
// * SYNC_ON_HOLD - The
// synchronization has not yet happened. This status message occurs immediately
// after you create your first Lightsail bucket. This status message should change
// after the first synchronization happens, approximately 1 hour after the first
// bucket is created.
//
// * DEFAULTED_FOR_SLR_MISSING - The synchronization failed
// because the required service-linked role is missing from your Amazon Web
// Services account. The account-level BPA configuration for your Lightsail buckets
// is defaulted to active until the synchronization can occur. This means that all
// your buckets are private and not publicly accessible. For more information about
// how to create the required service-linked role to allow synchronization, see
// Using Service-Linked Roles for Amazon Lightsail
// (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-using-service-linked-roles)
// in the Amazon Lightsail Developer Guide.
//
// * DEFAULTED_FOR_SLR_MISSING_ON_HOLD -
// The synchronization failed because the required service-linked role is missing
// from your Amazon Web Services account. Account-level BPA is not yet configured
// for your Lightsail buckets. Therefore, only the bucket access permissions and
// individual object access permissions apply to your Lightsail buckets. For more
// information about how to create the required service-linked role to allow
// synchronization, see Using Service-Linked Roles for Amazon Lightsail
// (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-using-service-linked-roles)
// in the Amazon Lightsail Developer Guide.
//
// * Unknown - The reason that
// synchronization failed is unknown. Contact Amazon Web Services Support for more
// information.
Message BPAStatusMessage
// The status of the account-level BPA synchronization. The following statuses are
// possible:
//
// * InSync - Account-level BPA is synchronized. The Amazon S3
// account-level BPA configuration applies to your Lightsail buckets.
//
// *
// NeverSynced - Synchronization has not yet happened. The Amazon S3 account-level
// BPA configuration does not apply to your Lightsail buckets.
//
// * Failed -
// Synchronization failed. The Amazon S3 account-level BPA configuration does not
// apply to your Lightsail buckets.
//
// * Defaulted - Synchronization failed and
// account-level BPA for your Lightsail buckets is defaulted to active.
//
// You might
// need to complete further actions if the status is Failed or Defaulted. The
// message parameter provides more information for those statuses.
Status AccountLevelBpaSyncStatus
noSmithyDocumentSerde
}
// Describes an add-on that is enabled for an Amazon Lightsail resource.
type AddOn struct {
// The name of the add-on.
Name *string
// The next daily time an automatic snapshot will be created. The time shown is in
// HH:00 format, and in Coordinated Universal Time (UTC). The snapshot is
// automatically created between the time shown and up to 45 minutes after.
NextSnapshotTimeOfDay *string
// The daily time when an automatic snapshot is created. The time shown is in HH:00
// format, and in Coordinated Universal Time (UTC). The snapshot is automatically
// created between the time shown and up to 45 minutes after.
SnapshotTimeOfDay *string
// The status of the add-on.
Status *string
noSmithyDocumentSerde
}
// Describes a request to enable, modify, or disable an add-on for an Amazon
// Lightsail resource. An additional cost may be associated with enabling add-ons.
// For more information, see the Lightsail pricing page
// (https://aws.amazon.com/lightsail/pricing/).
type AddOnRequest struct {
// The add-on type.
//
// This member is required.
AddOnType AddOnType
// An object that represents additional parameters when enabling or modifying the
// automatic snapshot add-on.
AutoSnapshotAddOnRequest *AutoSnapshotAddOnRequest
noSmithyDocumentSerde
}
// Describes an alarm. An alarm is a way to monitor your Lightsail resource
// metrics. For more information, see Alarms in Amazon Lightsail
// (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-alarms).
type Alarm struct {
// The Amazon Resource Name (ARN) of the alarm.
Arn *string
// The arithmetic operation used when comparing the specified statistic and
// threshold.
ComparisonOperator ComparisonOperator
// The contact protocols for the alarm, such as Email, SMS (text messaging), or
// both.
ContactProtocols []ContactProtocol
// The timestamp when the alarm was created.
CreatedAt *time.Time
// The number of data points that must not within the specified threshold to
// trigger the alarm.
DatapointsToAlarm *int32
// The number of periods over which data is compared to the specified threshold.
EvaluationPeriods *int32
// An object that lists information about the location of the alarm.
Location *ResourceLocation
// The name of the metric associated with the alarm.
MetricName MetricName
// An object that lists information about the resource monitored by the alarm.
MonitoredResourceInfo *MonitoredResourceInfo
// The name of the alarm.
Name *string
// Indicates whether the alarm is enabled.
NotificationEnabled *bool
// The alarm states that trigger a notification.
NotificationTriggers []AlarmState
// The period, in seconds, over which the statistic is applied.
Period int32
// The Lightsail resource type (e.g., Alarm).
ResourceType ResourceType
// The current state of the alarm. An alarm has the following possible states:
//
// *
// ALARM - The metric is outside of the defined threshold.
//
// * INSUFFICIENT_DATA -
// The alarm has just started, the metric is not available, or not enough data is
// available for the metric to determine the alarm state.
//
// * OK - The metric is
// within the defined threshold.
State AlarmState
// The statistic for the metric associated with the alarm. The following statistics
// are available:
//
// * Minimum - The lowest value observed during the specified
// period. Use this value to determine low volumes of activity for your
// application.
//
// * Maximum - The highest value observed during the specified
// period. Use this value to determine high volumes of activity for your
// application.
//
// * Sum - All values submitted for the matching metric added
// together. You can use this statistic to determine the total volume of a
// metric.
//
// * Average - The value of Sum / SampleCount during the specified period.
// By comparing this statistic with the Minimum and Maximum values, you can
// determine the full scope of a metric and how close the average use is to the
// Minimum and Maximum values. This comparison helps you to know when to increase
// or decrease your resources.
//
// * SampleCount - The count, or number, of data
// points used for the statistical calculation.
Statistic MetricStatistic
// The support code. Include this code in your email to support when you have
// questions about your Lightsail alarm. This code enables our support team to look
// up your Lightsail information more easily.
SupportCode *string
// The value against which the specified statistic is compared.
Threshold *float64
// Specifies how the alarm handles missing data points. An alarm can treat missing
// data in the following ways:
//
// * breaching - Assume the missing data is not within
// the threshold. Missing data counts towards the number of times the metric is not
// within the threshold.
//
// * notBreaching - Assume the missing data is within the
// threshold. Missing data does not count towards the number of times the metric is
// not within the threshold.
//
// * ignore - Ignore the missing data. Maintains the
// current alarm state.
//
// * missing - Missing data is treated as missing.
TreatMissingData TreatMissingData
// The unit of the metric associated with the alarm.
Unit MetricUnit
noSmithyDocumentSerde
}
// Describes a block storage disk that is attached to an instance, and is included
// in an automatic snapshot.
type AttachedDisk struct {
// The path of the disk (e.g., /dev/xvdf).
Path *string
// The size of the disk in GB.
SizeInGb *int32
noSmithyDocumentSerde
}
// Describes a request to enable or modify the automatic snapshot add-on for an
// Amazon Lightsail instance or disk. When you modify the automatic snapshot time
// for a resource, it is typically effective immediately except under the following
// conditions:
//
// * If an automatic snapshot has been created for the current day,
// and you change the snapshot time to a later time of day, then the new snapshot
// time will be effective the following day. This ensures that two snapshots are
// not created for the current day.
//
// * If an automatic snapshot has not yet been
// created for the current day, and you change the snapshot time to an earlier time
// of day, then the new snapshot time will be effective the following day and a
// snapshot is automatically created at the previously set time for the current
// day. This ensures that a snapshot is created for the current day.
//
// * If an
// automatic snapshot has not yet been created for the current day, and you change
// the snapshot time to a time that is within 30 minutes from your current time,
// then the new snapshot time will be effective the following day and a snapshot is
// automatically created at the previously set time for the current day. This
// ensures that a snapshot is created for the current day, because 30 minutes is
// required between your current time and the new snapshot time that you
// specify.
//
// * If an automatic snapshot is scheduled to be created within 30
// minutes from your current time and you change the snapshot time, then the new
// snapshot time will be effective the following day and a snapshot is
// automatically created at the previously set time for the current day. This
// ensures that a snapshot is created for the current day, because 30 minutes is
// required between your current time and the new snapshot time that you specify.
type AutoSnapshotAddOnRequest struct {
// The daily time when an automatic snapshot will be created. Constraints:
//
// * Must
// be in HH:00 format, and in an hourly increment.
//
// * Specified in Coordinated
// Universal Time (UTC).
//
// * The snapshot will be automatically created between the
// time specified and up to 45 minutes after.
SnapshotTimeOfDay *string
noSmithyDocumentSerde
}
// Describes an automatic snapshot.
type AutoSnapshotDetails struct {
// The timestamp when the automatic snapshot was created.
CreatedAt *time.Time
// The date of the automatic snapshot in YYYY-MM-DD format.
Date *string
// An array of objects that describe the block storage disks attached to the
// instance when the automatic snapshot was created.
FromAttachedDisks []AttachedDisk
// The status of the automatic snapshot.
Status AutoSnapshotStatus
noSmithyDocumentSerde
}
// Describes an Availability Zone.
type AvailabilityZone struct {
// The state of the Availability Zone.
State *string
// The name of the Availability Zone. The format is us-east-2a (case-sensitive).
ZoneName *string
noSmithyDocumentSerde
}
// Describes a blueprint (a virtual private server image).
type Blueprint struct {
// The ID for the virtual private server image (e.g., app_wordpress_4_4 or
// app_lamp_7_0).
BlueprintId *string
// The description of the blueprint.
Description *string
// The group name of the blueprint (e.g., amazon-linux).
Group *string
// A Boolean value indicating whether the blueprint is active. Inactive blueprints
// are listed to support customers with existing instances but are not necessarily
// available for launch of new instances. Blueprints are marked inactive when they
// become outdated due to operating system updates or new application releases.
IsActive *bool
// The end-user license agreement URL for the image or blueprint.
LicenseUrl *string
// The minimum bundle power required to run this blueprint. For example, you need a
// bundle with a power value of 500 or more to create an instance that uses a
// blueprint with a minimum power value of 500. 0 indicates that the blueprint runs
// on all instance sizes.
MinPower *int32
// The friendly name of the blueprint (e.g., Amazon Linux).
Name *string
// The operating system platform (either Linux/Unix-based or Windows Server-based)
// of the blueprint.
Platform InstancePlatform
// The product URL to learn more about the image or blueprint.
ProductUrl *string
// The type of the blueprint (e.g., os or app).
Type BlueprintType
// The version number of the operating system, application, or stack (e.g.,
// 2016.03.0).
Version *string
// The version code.
VersionCode *string
noSmithyDocumentSerde
}
// Describes an Amazon Lightsail bucket.
type Bucket struct {
// Indicates whether the bundle that is currently applied to a bucket can be
// changed to another bundle. You can update a bucket's bundle only one time within
// a monthly Amazon Web Services billing cycle. Use the UpdateBucketBundle
// (https://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_UpdateBucketBundle.html)
// action to change a bucket's bundle.
AbleToUpdateBundle *bool
// An object that describes the access log configuration for the bucket.
AccessLogConfig *BucketAccessLogConfig
// An object that describes the access rules of the bucket.
AccessRules *AccessRules
// The Amazon Resource Name (ARN) of the bucket.
Arn *string
// The ID of the bundle currently applied to the bucket. A bucket bundle specifies
// the monthly cost, storage space, and data transfer quota for a bucket. Use the
// UpdateBucketBundle
// (https://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_UpdateBucketBundle.html)
// action to change the bundle of a bucket.
BundleId *string
// The timestamp when the distribution was created.
CreatedAt *time.Time
// An object that describes the location of the bucket, such as the Amazon Web
// Services Region and Availability Zone.
Location *ResourceLocation
// The name of the bucket.
Name *string
// Indicates whether object versioning is enabled for the bucket. The following
// options can be configured:
//
// * Enabled - Object versioning is enabled.
//
// *
// Suspended - Object versioning was previously enabled but is currently suspended.
// Existing object versions are retained.
//
// * NeverEnabled - Object versioning has
// never been enabled.
ObjectVersioning *string
// An array of strings that specify the Amazon Web Services account IDs that have
// read-only access to the bucket.
ReadonlyAccessAccounts []string
// The Lightsail resource type of the bucket (for example, Bucket).
ResourceType *string
// An array of objects that describe Lightsail instances that have access to the
// bucket. Use the SetResourceAccessForBucket
// (https://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_SetResourceAccessForBucket.html)
// action to update the instances that have access to a bucket.
ResourcesReceivingAccess []ResourceReceivingAccess
// An object that describes the state of the bucket.
State *BucketState
// The support code for a bucket. Include this code in your email to support when
// you have questions about a Lightsail bucket. This code enables our support team
// to look up your Lightsail information more easily.
SupportCode *string
// The tag keys and optional values for the bucket. For more information, see Tags
// in Amazon Lightsail
// (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags) in
// the Amazon Lightsail Developer Guide.
Tags []Tag
// The URL of the bucket.
Url *string
noSmithyDocumentSerde
}
// Describes the access log configuration for a bucket in the Amazon Lightsail
// object storage service. For more information about bucket access logs, see
// Logging bucket requests using access logging in Amazon Lightsail
// (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-bucket-access-logs)
// in the Amazon Lightsail Developer Guide.
type BucketAccessLogConfig struct {
// A Boolean value that indicates whether bucket access logging is enabled for the
// bucket.
//
// This member is required.
Enabled *bool
// The name of the bucket where the access logs are saved. The destination can be a
// Lightsail bucket in the same account, and in the same Amazon Web Services Region
// as the source bucket. This parameter is required when enabling the access log
// for a bucket, and should be omitted when disabling the access log.
Destination *string
// The optional object prefix for the bucket access log. The prefix is an optional
// addition to the object key that organizes your access log files in the
// destination bucket. For example, if you specify a logs/ prefix, then each log
// object will begin with the logs/ prefix in its key (for example,
// logs/2021-11-01-21-32-16-E568B2907131C0C0). This parameter can be optionally
// specified when enabling the access log for a bucket, and should be omitted when
// disabling the access log.
Prefix *string
noSmithyDocumentSerde
}
// Describes the specifications of a bundle that can be applied to an Amazon
// Lightsail bucket. A bucket bundle specifies the monthly cost, storage space, and
// data transfer quota for a bucket.
type BucketBundle struct {
// The ID of the bundle.
BundleId *string
// Indicates whether the bundle is active. Use for a new or existing bucket.
IsActive *bool
// The name of the bundle.
Name *string
// The monthly price of the bundle, in US dollars.
Price *float32
// The storage size of the bundle, in GB.
StoragePerMonthInGb *int32
// The monthly network transfer quota of the bundle.
TransferPerMonthInGb *int32
noSmithyDocumentSerde
}
// Describes the state of an Amazon Lightsail bucket.
type BucketState struct {
// The state code of the bucket. The following codes are possible:
//
// * OK - The
// bucket is in a running state.
//
// * Unknown - Creation of the bucket might have
// timed-out. You might want to delete the bucket and create a new one.
Code *string
// A message that describes the state of the bucket.
Message *string
noSmithyDocumentSerde
}
// Describes a bundle, which is a set of specs describing your virtual private
// server (or instance).
type Bundle struct {
// The bundle ID (e.g., micro_1_0).
BundleId *string
// The number of vCPUs included in the bundle (e.g., 2).
CpuCount *int32
// The size of the SSD (e.g., 30).
DiskSizeInGb *int32
// The Amazon EC2 instance type (e.g., t2.micro).
InstanceType *string
// A Boolean value indicating whether the bundle is active.
IsActive *bool
// A friendly name for the bundle (e.g., Micro).
Name *string
// A numeric value that represents the power of the bundle (e.g., 500). You can use
// the bundle's power value in conjunction with a blueprint's minimum power value
// to determine whether the blueprint will run on the bundle. For example, you need
// a bundle with a power value of 500 or more to create an instance that uses a
// blueprint with a minimum power value of 500.
Power *int32
// The price in US dollars (e.g., 5.0) of the bundle.
Price *float32
// The amount of RAM in GB (e.g., 2.0).
RamSizeInGb *float32
// The operating system platform (Linux/Unix-based or Windows Server-based) that
// the bundle supports. You can only launch a WINDOWS bundle on a blueprint that
// supports the WINDOWS platform. LINUX_UNIX blueprints require a LINUX_UNIX
// bundle.
SupportedPlatforms []InstancePlatform
// The data transfer rate per month in GB (e.g., 2000).
TransferPerMonthInGb *int32
noSmithyDocumentSerde
}
// Describes the default cache behavior of an Amazon Lightsail content delivery
// network (CDN) distribution.
type CacheBehavior struct {
// The cache behavior of the distribution. The following cache behaviors can be
// specified:
//
// * cache - This option is best for static sites. When specified, your
// distribution caches and serves your entire website as static content. This
// behavior is ideal for websites with static content that doesn't change depending
// on who views it, or for websites that don't use cookies, headers, or query
// strings to personalize content.
//
// * dont-cache - This option is best for sites
// that serve a mix of static and dynamic content. When specified, your
// distribution caches and serve only the content that is specified in the
// distribution's CacheBehaviorPerPath parameter. This behavior is ideal for
// websites or web applications that use cookies, headers, and query strings to
// personalize content for individual users.
Behavior BehaviorEnum
noSmithyDocumentSerde
}
// Describes the per-path cache behavior of an Amazon Lightsail content delivery
// network (CDN) distribution. A per-path cache behavior is used to override, or
// add an exception to, the default cache behavior of a distribution. For example,
// if the cacheBehavior is set to cache, then a per-path cache behavior can be used
// to specify a directory, file, or file type that your distribution will cache.
// Alternately, if the distribution's cacheBehavior is dont-cache, then a per-path
// cache behavior can be used to specify a directory, file, or file type that your
// distribution will not cache.
type CacheBehaviorPerPath struct {
// The cache behavior for the specified path. You can specify one of the following
// per-path cache behaviors:
//
// * cache - This behavior caches the specified path.
//
// *
// dont-cache - This behavior doesn't cache the specified path.
Behavior BehaviorEnum
// The path to a directory or file to cached, or not cache. Use an asterisk symbol
// to specify wildcard directories (path/to/assets/*), and file types (*.html,
// *jpg, *js). Directories and file paths are case-sensitive. Examples:
//
// * Specify
// the following to cache all files in the document root of an Apache web server
// running on a Lightsail instance. var/www/html/
//
// * Specify the following file to
// cache only the index page in the document root of an Apache web server.
// var/www/html/index.html
//
// * Specify the following to cache only the .html files
// in the document root of an Apache web server. var/www/html/*.html
//
// * Specify the
// following to cache only the .jpg, .png, and .gif files in the images
// sub-directory of the document root of an Apache web server.
// var/www/html/images/*.jpgvar/www/html/images/*.pngvar/www/html/images/*.gif
// Specify the following to cache all files in the images sub-directory of the
// document root of an Apache web server. var/www/html/images/
Path *string
noSmithyDocumentSerde
}
// Describes the cache settings of an Amazon Lightsail content delivery network
// (CDN) distribution. These settings apply only to your distribution's
// cacheBehaviors (including the defaultCacheBehavior) that have a behavior of
// cache.
type CacheSettings struct {
// The HTTP methods that are processed and forwarded to the distribution's origin.
// You can specify the following options:
//
// * GET,HEAD - The distribution forwards
// the GET and HEAD methods.
//
// * GET,HEAD,OPTIONS - The distribution forwards the
// GET, HEAD, and OPTIONS methods.
//
// * GET,HEAD,OPTIONS,PUT,PATCH,POST,DELETE - The
// distribution forwards the GET, HEAD, OPTIONS, PUT, PATCH, POST, and DELETE
// methods.
//
// If you specify the third option, you might need to restrict access to
// your distribution's origin so users can't perform operations that you don't want
// them to. For example, you might not want users to have permission to delete
// objects from your origin.
AllowedHTTPMethods *string
// The HTTP method responses that are cached by your distribution. You can specify
// the following options:
//
// * GET,HEAD - The distribution caches responses to the
// GET and HEAD methods.
//
// * GET,HEAD,OPTIONS - The distribution caches responses to
// the GET, HEAD, and OPTIONS methods.
CachedHTTPMethods *string
// The default amount of time that objects stay in the distribution's cache before
// the distribution forwards another request to the origin to determine whether the
// content has been updated. The value specified applies only when the origin does
// not add HTTP headers such as Cache-Control max-age, Cache-Control s-maxage, and
// Expires to objects.
DefaultTTL *int64
// An object that describes the cookies that are forwarded to the origin. Your
// content is cached based on the cookies that are forwarded.
ForwardedCookies *CookieObject
// An object that describes the headers that are forwarded to the origin. Your
// content is cached based on the headers that are forwarded.
ForwardedHeaders *HeaderObject
// An object that describes the query strings that are forwarded to the origin.
// Your content is cached based on the query strings that are forwarded.
ForwardedQueryStrings *QueryStringObject
// The maximum amount of time that objects stay in the distribution's cache before
// the distribution forwards another request to the origin to determine whether the
// object has been updated. The value specified applies only when the origin adds
// HTTP headers such as Cache-Control max-age, Cache-Control s-maxage, and Expires
// to objects.
MaximumTTL *int64
// The minimum amount of time that objects stay in the distribution's cache before
// the distribution forwards another request to the origin to determine whether the
// object has been updated. A value of 0 must be specified for minimumTTL if the
// distribution is configured to forward all headers to the origin.
MinimumTTL *int64
noSmithyDocumentSerde
}
// Describes the full details of an Amazon Lightsail SSL/TLS certificate. To get a
// summary of a certificate, use the GetCertificates action and ommit
// includeCertificateDetails from your request. The response will include only the
// certificate Amazon Resource Name (ARN), certificate name, domain name, and tags.
type Certificate struct {
// The Amazon Resource Name (ARN) of the certificate.
Arn *string
// The timestamp when the certificate was created.
CreatedAt *time.Time
// The domain name of the certificate.
DomainName *string
// An array of objects that describe the domain validation records of the
// certificate.
DomainValidationRecords []DomainValidationRecord
// The renewal eligibility of the certificate.
EligibleToRenew *string
// The number of Lightsail resources that the certificate is attached to.
InUseResourceCount int32
// The timestamp when the certificate was issued.
IssuedAt *time.Time
// The certificate authority that issued the certificate.
IssuerCA *string
// The algorithm used to generate the key pair (the public and private key) of the
// certificate.
KeyAlgorithm *string
// The name of the certificate (e.g., my-certificate).
Name *string
// The timestamp when the certificate expires.
NotAfter *time.Time
// The timestamp when the certificate is first valid.
NotBefore *time.Time
// An object that describes the status of the certificate renewal managed by
// Lightsail.
RenewalSummary *RenewalSummary
// The validation failure reason, if any, of the certificate. The following failure
// reasons are possible:
//
// * NO_AVAILABLE_CONTACTS - This failure applies to email
// validation, which is not available for Lightsail certificates.
//
// *
// ADDITIONAL_VERIFICATION_REQUIRED - Lightsail requires additional information to
// process this certificate request. This can happen as a fraud-protection measure,
// such as when the domain ranks within the Alexa top 1000 websites. To provide the
// required information, use the AWS Support Center
// (https://console.aws.amazon.com/support/home) to contact AWS Support. You cannot
// request a certificate for Amazon-owned domain names such as those ending in
// amazonaws.com, cloudfront.net, or elasticbeanstalk.com.
//
// * DOMAIN_NOT_ALLOWED -
// One or more of the domain names in the certificate request was reported as an
// unsafe domain by VirusTotal (https://www.virustotal.com/gui/home/url). To
// correct the problem, search for your domain name on the VirusTotal
// (https://www.virustotal.com/gui/home/url) website. If your domain is reported as
// suspicious, see Google Help for Hacked Websites
// (https://developers.google.com/web/fundamentals/security/hacked) to learn what
// you can do. If you believe that the result is a false positive, notify the
// organization that is reporting the domain. VirusTotal is an aggregate of several
// antivirus and URL scanners and cannot remove your domain from a block list
// itself. After you correct the problem and the VirusTotal registry has been
// updated, request a new certificate. If you see this error and your domain is not
// included in the VirusTotal list, visit the AWS Support Center
// (https://console.aws.amazon.com/support/home) and create a case.
//
// *
// INVALID_PUBLIC_DOMAIN - One or more of the domain names in the certificate
// request is not valid. Typically, this is because a domain name in the request is
// not a valid top-level domain. Try to request a certificate again, correcting any
// spelling errors or typos that were in the failed request, and ensure that all
// domain names in the request are for valid top-level domains. For example, you
// cannot request a certificate for example.invalidpublicdomain because
// invalidpublicdomain is not a valid top-level domain.
//
// * OTHER - Typically, this
// failure occurs when there is a typographical error in one or more of the domain
// names in the certificate request. Try to request a certificate again, correcting
// any spelling errors or typos that were in the failed request.
RequestFailureReason *string
// The reason the certificate was revoked. This value is present only when the
// certificate status is REVOKED.
RevocationReason *string
// The timestamp when the certificate was revoked. This value is present only when
// the certificate status is REVOKED.
RevokedAt *time.Time
// The serial number of the certificate.
SerialNumber *string
// The validation status of the certificate.
Status CertificateStatus
// An array of strings that specify the alternate domains (e.g., example2.com) and
// subdomains (e.g., blog.example.com) of the certificate.
SubjectAlternativeNames []string
// The support code. Include this code in your email to support when you have
// questions about your Lightsail certificate. This code enables our support team
// to look up your Lightsail information more easily.
SupportCode *string
// The tag keys and optional values for the resource. For more information about
// tags in Lightsail, see the Amazon Lightsail Developer Guide
// (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-tags).
Tags []Tag
noSmithyDocumentSerde
}
// Describes an Amazon Lightsail SSL/TLS certificate.
type CertificateSummary struct {
// The Amazon Resource Name (ARN) of the certificate.
CertificateArn *string
// An object that describes a certificate in detail.
CertificateDetail *Certificate
// The name of the certificate.
CertificateName *string
// The domain name of the certificate.
DomainName *string
// The tag keys and optional values for the resource. For more information about
// tags in Lightsail, see the Amazon Lightsail Developer Guide
// (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-tags).
Tags []Tag
noSmithyDocumentSerde
}
// Describes a CloudFormation stack record created as a result of the create cloud
// formation stack action. A CloudFormation stack record provides information about
// the AWS CloudFormation stack used to create a new Amazon Elastic Compute Cloud
// instance from an exported Lightsail instance snapshot.
type CloudFormationStackRecord struct {
// The Amazon Resource Name (ARN) of the CloudFormation stack record.
Arn *string
// The date when the CloudFormation stack record was created.
CreatedAt *time.Time
// A list of objects describing the destination service, which is AWS
// CloudFormation, and the Amazon Resource Name (ARN) of the AWS CloudFormation
// stack.
DestinationInfo *DestinationInfo
// A list of objects describing the Availability Zone and Amazon Web Services
// Region of the CloudFormation stack record.
Location *ResourceLocation