-
Notifications
You must be signed in to change notification settings - Fork 17
/
Inventory.go
70 lines (67 loc) · 2.54 KB
/
Inventory.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
package awss3
// Specifies the inventory configuration of an S3 Bucket.
//
// Example:
// // The code below shows an example of how to instantiate this type.
// // The values are placeholders you should change.
// import "github.com/aws/aws-cdk-go/awscdk"
//
// var bucket bucket
//
// inventory := &Inventory{
// Destination: &InventoryDestination{
// Bucket: bucket,
//
// // the properties below are optional
// BucketOwner: jsii.String("bucketOwner"),
// Prefix: jsii.String("prefix"),
// },
//
// // the properties below are optional
// Enabled: jsii.Boolean(false),
// Format: awscdk.Aws_s3.InventoryFormat_CSV,
// Frequency: awscdk.*Aws_s3.InventoryFrequency_DAILY,
// IncludeObjectVersions: awscdk.*Aws_s3.InventoryObjectVersion_ALL,
// InventoryId: jsii.String("inventoryId"),
// ObjectsPrefix: jsii.String("objectsPrefix"),
// OptionalFields: []*string{
// jsii.String("optionalFields"),
// },
// }
//
// See: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html
//
type Inventory struct {
// The destination of the inventory.
Destination *InventoryDestination `field:"required" json:"destination" yaml:"destination"`
// Whether the inventory is enabled or disabled.
// Default: true.
//
Enabled *bool `field:"optional" json:"enabled" yaml:"enabled"`
// The format of the inventory.
// Default: InventoryFormat.CSV
//
Format InventoryFormat `field:"optional" json:"format" yaml:"format"`
// Frequency at which the inventory should be generated.
// Default: InventoryFrequency.WEEKLY
//
Frequency InventoryFrequency `field:"optional" json:"frequency" yaml:"frequency"`
// If the inventory should contain all the object versions or only the current one.
// Default: InventoryObjectVersion.ALL
//
IncludeObjectVersions InventoryObjectVersion `field:"optional" json:"includeObjectVersions" yaml:"includeObjectVersions"`
// The inventory configuration ID.
//
// Should be limited to 64 characters and can only contain letters, numbers, periods, dashes, and underscores.
// Default: - generated ID.
//
InventoryId *string `field:"optional" json:"inventoryId" yaml:"inventoryId"`
// The inventory will only include objects that meet the prefix filter criteria.
// Default: - No objects prefix.
//
ObjectsPrefix *string `field:"optional" json:"objectsPrefix" yaml:"objectsPrefix"`
// A list of optional fields to be included in the inventory result.
// Default: - No optional fields.
//
OptionalFields *[]*string `field:"optional" json:"optionalFields" yaml:"optionalFields"`
}