/
zz_policy.go
103 lines (87 loc) · 3.63 KB
/
zz_policy.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
/*
Copyright 2021 The Crossplane Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by ack-generate. DO NOT EDIT.
package v1alpha1
import (
xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime/schema"
)
// PolicyParameters defines the desired state of Policy
type PolicyParameters struct {
// Region is which region the Policy will be created.
// +kubebuilder:validation:Required
Region string `json:"region"`
// The JSON document that describes the policy. policyDocument must have a minimum
// length of 1, with a maximum length of 2048, excluding whitespace.
// +kubebuilder:validation:Required
PolicyDocument *string `json:"policyDocument"`
// Metadata which can be used to manage the policy.
//
// For URI Request parameters use format: ...key1=value1&key2=value2...
//
// For the CLI command-line parameter use format: &&tags "key1=value1&key2=value2..."
//
// For the cli-input-json file use format: "tags": "key1=value1&key2=value2..."
Tags []*Tag `json:"tags,omitempty"`
CustomPolicyParameters `json:",inline"`
}
// PolicySpec defines the desired state of Policy
type PolicySpec struct {
xpv1.ResourceSpec `json:",inline"`
ForProvider PolicyParameters `json:"forProvider"`
}
// PolicyObservation defines the observed state of Policy
type PolicyObservation struct {
// The policy ARN.
PolicyARN *string `json:"policyARN,omitempty"`
// The policy version ID.
PolicyVersionID *string `json:"policyVersionID,omitempty"`
}
// PolicyStatus defines the observed state of Policy.
type PolicyStatus struct {
xpv1.ResourceStatus `json:",inline"`
AtProvider PolicyObservation `json:"atProvider,omitempty"`
}
// +kubebuilder:object:root=true
// Policy is the Schema for the Policies API
// +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:storageversion
// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,aws}
type Policy struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec PolicySpec `json:"spec"`
Status PolicyStatus `json:"status,omitempty"`
}
// +kubebuilder:object:root=true
// PolicyList contains a list of Policies
type PolicyList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Policy `json:"items"`
}
// Repository type metadata.
var (
PolicyKind = "Policy"
PolicyGroupKind = schema.GroupKind{Group: CRDGroup, Kind: PolicyKind}.String()
PolicyKindAPIVersion = PolicyKind + "." + GroupVersion.String()
PolicyGroupVersionKind = GroupVersion.WithKind(PolicyKind)
)
func init() {
SchemeBuilder.Register(&Policy{}, &PolicyList{})
}