-
Notifications
You must be signed in to change notification settings - Fork 113
/
zz_bucketpublicaccessblock_types.go
executable file
·107 lines (84 loc) · 5.04 KB
/
zz_bucketpublicaccessblock_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
/*
Copyright 2022 Upbound Inc.
*/
// Code generated by upjet. DO NOT EDIT.
package v1beta1
import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime/schema"
v1 "github.com/crossplane/crossplane-runtime/apis/common/v1"
)
type BucketPublicAccessBlockObservation struct {
// Name of the S3 bucket the configuration is attached to
ID *string `json:"id,omitempty" tf:"id,omitempty"`
}
type BucketPublicAccessBlockParameters struct {
// Whether Amazon S3 should block public ACLs for this bucket. Defaults to false. Enabling this setting does not affect existing policies or ACLs. When set to true causes the following behavior:
// +kubebuilder:validation:Optional
BlockPublicAcls *bool `json:"blockPublicAcls,omitempty" tf:"block_public_acls,omitempty"`
// Whether Amazon S3 should block public bucket policies for this bucket. Defaults to false. Enabling this setting does not affect the existing bucket policy. When set to true causes Amazon S3 to:
// +kubebuilder:validation:Optional
BlockPublicPolicy *bool `json:"blockPublicPolicy,omitempty" tf:"block_public_policy,omitempty"`
// S3 Bucket to which this Public Access Block configuration should be applied.
// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/s3/v1beta1.Bucket
// +crossplane:generate:reference:extractor=github.com/upbound/upjet/pkg/resource.ExtractResourceID()
// +kubebuilder:validation:Optional
Bucket *string `json:"bucket,omitempty" tf:"bucket,omitempty"`
// Reference to a Bucket in s3 to populate bucket.
// +kubebuilder:validation:Optional
BucketRef *v1.Reference `json:"bucketRef,omitempty" tf:"-"`
// Selector for a Bucket in s3 to populate bucket.
// +kubebuilder:validation:Optional
BucketSelector *v1.Selector `json:"bucketSelector,omitempty" tf:"-"`
// Whether Amazon S3 should ignore public ACLs for this bucket. Defaults to false. Enabling this setting does not affect the persistence of any existing ACLs and doesn't prevent new public ACLs from being set. When set to true causes Amazon S3 to:
// +kubebuilder:validation:Optional
IgnorePublicAcls *bool `json:"ignorePublicAcls,omitempty" tf:"ignore_public_acls,omitempty"`
// Region is the region you'd like your resource to be created in.
// +upjet:crd:field:TFTag=-
// +kubebuilder:validation:Required
Region *string `json:"region" tf:"-"`
// Whether Amazon S3 should restrict public bucket policies for this bucket. Defaults to false. Enabling this setting does not affect the previously stored bucket policy, except that public and cross-account access within the public bucket policy, including non-public delegation to specific accounts, is blocked. When set to true:
// +kubebuilder:validation:Optional
RestrictPublicBuckets *bool `json:"restrictPublicBuckets,omitempty" tf:"restrict_public_buckets,omitempty"`
}
// BucketPublicAccessBlockSpec defines the desired state of BucketPublicAccessBlock
type BucketPublicAccessBlockSpec struct {
v1.ResourceSpec `json:",inline"`
ForProvider BucketPublicAccessBlockParameters `json:"forProvider"`
}
// BucketPublicAccessBlockStatus defines the observed state of BucketPublicAccessBlock.
type BucketPublicAccessBlockStatus struct {
v1.ResourceStatus `json:",inline"`
AtProvider BucketPublicAccessBlockObservation `json:"atProvider,omitempty"`
}
// +kubebuilder:object:root=true
// BucketPublicAccessBlock is the Schema for the BucketPublicAccessBlocks API. Manages S3 bucket-level Public Access Block Configuration
// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status"
// +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status"
// +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name"
// +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp"
// +kubebuilder:subresource:status
// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,aws}
type BucketPublicAccessBlock struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec BucketPublicAccessBlockSpec `json:"spec"`
Status BucketPublicAccessBlockStatus `json:"status,omitempty"`
}
// +kubebuilder:object:root=true
// BucketPublicAccessBlockList contains a list of BucketPublicAccessBlocks
type BucketPublicAccessBlockList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []BucketPublicAccessBlock `json:"items"`
}
// Repository type metadata.
var (
BucketPublicAccessBlock_Kind = "BucketPublicAccessBlock"
BucketPublicAccessBlock_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: BucketPublicAccessBlock_Kind}.String()
BucketPublicAccessBlock_KindAPIVersion = BucketPublicAccessBlock_Kind + "." + CRDGroupVersion.String()
BucketPublicAccessBlock_GroupVersionKind = CRDGroupVersion.WithKind(BucketPublicAccessBlock_Kind)
)
func init() {
SchemeBuilder.Register(&BucketPublicAccessBlock{}, &BucketPublicAccessBlockList{})
}