/
zz_workspacevulnerabilityassessment_types.go
executable file
·185 lines (142 loc) · 10.4 KB
/
zz_workspacevulnerabilityassessment_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
// SPDX-FileCopyrightText: 2024 The Crossplane Authors <https://crossplane.io>
//
// SPDX-License-Identifier: Apache-2.0
// 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 RecurringScansInitParameters struct {
// Boolean flag which specifies if the schedule scan notification will be sent to the subscription administrators. Defaults to false.
EmailSubscriptionAdminsEnabled *bool `json:"emailSubscriptionAdminsEnabled,omitempty" tf:"email_subscription_admins_enabled,omitempty"`
// Specifies an array of email addresses to which the scan notification is sent.
Emails []*string `json:"emails,omitempty" tf:"emails,omitempty"`
// Boolean flag which specifies if recurring scans is enabled or disabled. Defaults to false.
Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"`
}
type RecurringScansObservation struct {
// Boolean flag which specifies if the schedule scan notification will be sent to the subscription administrators. Defaults to false.
EmailSubscriptionAdminsEnabled *bool `json:"emailSubscriptionAdminsEnabled,omitempty" tf:"email_subscription_admins_enabled,omitempty"`
// Specifies an array of email addresses to which the scan notification is sent.
Emails []*string `json:"emails,omitempty" tf:"emails,omitempty"`
// Boolean flag which specifies if recurring scans is enabled or disabled. Defaults to false.
Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"`
}
type RecurringScansParameters struct {
// Boolean flag which specifies if the schedule scan notification will be sent to the subscription administrators. Defaults to false.
// +kubebuilder:validation:Optional
EmailSubscriptionAdminsEnabled *bool `json:"emailSubscriptionAdminsEnabled,omitempty" tf:"email_subscription_admins_enabled,omitempty"`
// Specifies an array of email addresses to which the scan notification is sent.
// +kubebuilder:validation:Optional
Emails []*string `json:"emails,omitempty" tf:"emails,omitempty"`
// Boolean flag which specifies if recurring scans is enabled or disabled. Defaults to false.
// +kubebuilder:validation:Optional
Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"`
}
type WorkspaceVulnerabilityAssessmentInitParameters struct {
// The recurring scans settings. The recurring_scans block supports fields documented below.
RecurringScans []RecurringScansInitParameters `json:"recurringScans,omitempty" tf:"recurring_scans,omitempty"`
// A blob storage container path to hold the scan results (e.g. https://example.blob.core.windows.net/VaScans/).
StorageContainerPath *string `json:"storageContainerPath,omitempty" tf:"storage_container_path,omitempty"`
// The ID of the security alert policy of the Synapse Workspace. Changing this forces a new resource to be created.
// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/synapse/v1beta1.WorkspaceSecurityAlertPolicy
// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
WorkspaceSecurityAlertPolicyID *string `json:"workspaceSecurityAlertPolicyId,omitempty" tf:"workspace_security_alert_policy_id,omitempty"`
// Reference to a WorkspaceSecurityAlertPolicy in synapse to populate workspaceSecurityAlertPolicyId.
// +kubebuilder:validation:Optional
WorkspaceSecurityAlertPolicyIDRef *v1.Reference `json:"workspaceSecurityAlertPolicyIdRef,omitempty" tf:"-"`
// Selector for a WorkspaceSecurityAlertPolicy in synapse to populate workspaceSecurityAlertPolicyId.
// +kubebuilder:validation:Optional
WorkspaceSecurityAlertPolicyIDSelector *v1.Selector `json:"workspaceSecurityAlertPolicyIdSelector,omitempty" tf:"-"`
}
type WorkspaceVulnerabilityAssessmentObservation struct {
// The ID of the Synapse Workspace Vulnerability Assessment.
ID *string `json:"id,omitempty" tf:"id,omitempty"`
// The recurring scans settings. The recurring_scans block supports fields documented below.
RecurringScans []RecurringScansObservation `json:"recurringScans,omitempty" tf:"recurring_scans,omitempty"`
// A blob storage container path to hold the scan results (e.g. https://example.blob.core.windows.net/VaScans/).
StorageContainerPath *string `json:"storageContainerPath,omitempty" tf:"storage_container_path,omitempty"`
// The ID of the security alert policy of the Synapse Workspace. Changing this forces a new resource to be created.
WorkspaceSecurityAlertPolicyID *string `json:"workspaceSecurityAlertPolicyId,omitempty" tf:"workspace_security_alert_policy_id,omitempty"`
}
type WorkspaceVulnerabilityAssessmentParameters struct {
// The recurring scans settings. The recurring_scans block supports fields documented below.
// +kubebuilder:validation:Optional
RecurringScans []RecurringScansParameters `json:"recurringScans,omitempty" tf:"recurring_scans,omitempty"`
// Specifies the identifier key of the storage account for vulnerability assessment scan results. If storage_container_sas_key isn't specified, storage_account_access_key is required.
// +kubebuilder:validation:Optional
StorageAccountAccessKeySecretRef *v1.SecretKeySelector `json:"storageAccountAccessKeySecretRef,omitempty" tf:"-"`
// A blob storage container path to hold the scan results (e.g. https://example.blob.core.windows.net/VaScans/).
// +kubebuilder:validation:Optional
StorageContainerPath *string `json:"storageContainerPath,omitempty" tf:"storage_container_path,omitempty"`
// A shared access signature (SAS Key) that has write access to the blob container specified in storage_container_path parameter. If storage_account_access_key isn't specified, storage_container_sas_key is required.
// +kubebuilder:validation:Optional
StorageContainerSASKeySecretRef *v1.SecretKeySelector `json:"storageContainerSasKeySecretRef,omitempty" tf:"-"`
// The ID of the security alert policy of the Synapse Workspace. Changing this forces a new resource to be created.
// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/synapse/v1beta1.WorkspaceSecurityAlertPolicy
// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
// +kubebuilder:validation:Optional
WorkspaceSecurityAlertPolicyID *string `json:"workspaceSecurityAlertPolicyId,omitempty" tf:"workspace_security_alert_policy_id,omitempty"`
// Reference to a WorkspaceSecurityAlertPolicy in synapse to populate workspaceSecurityAlertPolicyId.
// +kubebuilder:validation:Optional
WorkspaceSecurityAlertPolicyIDRef *v1.Reference `json:"workspaceSecurityAlertPolicyIdRef,omitempty" tf:"-"`
// Selector for a WorkspaceSecurityAlertPolicy in synapse to populate workspaceSecurityAlertPolicyId.
// +kubebuilder:validation:Optional
WorkspaceSecurityAlertPolicyIDSelector *v1.Selector `json:"workspaceSecurityAlertPolicyIdSelector,omitempty" tf:"-"`
}
// WorkspaceVulnerabilityAssessmentSpec defines the desired state of WorkspaceVulnerabilityAssessment
type WorkspaceVulnerabilityAssessmentSpec struct {
v1.ResourceSpec `json:",inline"`
ForProvider WorkspaceVulnerabilityAssessmentParameters `json:"forProvider"`
// THIS IS A BETA FIELD. It will be honored
// unless the Management Policies feature flag is disabled.
// InitProvider holds the same fields as ForProvider, with the exception
// of Identifier and other resource reference fields. The fields that are
// in InitProvider are merged into ForProvider when the resource is created.
// The same fields are also added to the terraform ignore_changes hook, to
// avoid updating them after creation. This is useful for fields that are
// required on creation, but we do not desire to update them after creation,
// for example because of an external controller is managing them, like an
// autoscaler.
InitProvider WorkspaceVulnerabilityAssessmentInitParameters `json:"initProvider,omitempty"`
}
// WorkspaceVulnerabilityAssessmentStatus defines the observed state of WorkspaceVulnerabilityAssessment.
type WorkspaceVulnerabilityAssessmentStatus struct {
v1.ResourceStatus `json:",inline"`
AtProvider WorkspaceVulnerabilityAssessmentObservation `json:"atProvider,omitempty"`
}
// +kubebuilder:object:root=true
// +kubebuilder:subresource:status
// +kubebuilder:storageversion
// WorkspaceVulnerabilityAssessment is the Schema for the WorkspaceVulnerabilityAssessments API. Manages the Vulnerability Assessment for a Synapse Workspace.
// +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status"
// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].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:resource:scope=Cluster,categories={crossplane,managed,azure}
type WorkspaceVulnerabilityAssessment struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.storageContainerPath) || (has(self.initProvider) && has(self.initProvider.storageContainerPath))",message="spec.forProvider.storageContainerPath is a required parameter"
Spec WorkspaceVulnerabilityAssessmentSpec `json:"spec"`
Status WorkspaceVulnerabilityAssessmentStatus `json:"status,omitempty"`
}
// +kubebuilder:object:root=true
// WorkspaceVulnerabilityAssessmentList contains a list of WorkspaceVulnerabilityAssessments
type WorkspaceVulnerabilityAssessmentList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []WorkspaceVulnerabilityAssessment `json:"items"`
}
// Repository type metadata.
var (
WorkspaceVulnerabilityAssessment_Kind = "WorkspaceVulnerabilityAssessment"
WorkspaceVulnerabilityAssessment_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: WorkspaceVulnerabilityAssessment_Kind}.String()
WorkspaceVulnerabilityAssessment_KindAPIVersion = WorkspaceVulnerabilityAssessment_Kind + "." + CRDGroupVersion.String()
WorkspaceVulnerabilityAssessment_GroupVersionKind = CRDGroupVersion.WithKind(WorkspaceVulnerabilityAssessment_Kind)
)
func init() {
SchemeBuilder.Register(&WorkspaceVulnerabilityAssessment{}, &WorkspaceVulnerabilityAssessmentList{})
}