-
Notifications
You must be signed in to change notification settings - Fork 64
/
zz_tenantinboundsamlconfig_types.go
executable file
·194 lines (149 loc) · 7.82 KB
/
zz_tenantinboundsamlconfig_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
/*
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 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 IdPConfigIdPCertificatesObservation struct {
}
type IdPConfigIdPCertificatesParameters struct {
// The x509 certificate
// +kubebuilder:validation:Optional
X509CertificateSecretRef *v1.SecretKeySelector `json:"x509CertificateSecretRef,omitempty" tf:"-"`
}
type SpConfigSpCertificatesObservation struct {
// The x509 certificate
X509Certificate *string `json:"x509Certificate,omitempty" tf:"x509_certificate,omitempty"`
}
type SpConfigSpCertificatesParameters struct {
}
type TenantInboundSAMLConfigIdPConfigObservation struct {
}
type TenantInboundSAMLConfigIdPConfigParameters struct {
// The IDP's certificate data to verify the signature in the SAMLResponse issued by the IDP.
// Structure is documented below.
// +kubebuilder:validation:Required
IdPCertificates []IdPConfigIdPCertificatesParameters `json:"idpCertificates" tf:"idp_certificates,omitempty"`
// Unique identifier for all SAML entities
// +kubebuilder:validation:Required
IdPEntityID *string `json:"idpEntityId" tf:"idp_entity_id,omitempty"`
// Indicates if outbounding SAMLRequest should be signed.
// +kubebuilder:validation:Optional
SignRequest *bool `json:"signRequest,omitempty" tf:"sign_request,omitempty"`
// URL to send Authentication request to.
// +kubebuilder:validation:Required
SsoURL *string `json:"ssoUrl" tf:"sso_url,omitempty"`
}
type TenantInboundSAMLConfigObservation struct {
// an identifier for the resource with format projects/{{project}}/tenants/{{tenant}}/inboundSamlConfigs/{{name}}
ID *string `json:"id,omitempty" tf:"id,omitempty"`
// SAML SP (Service Provider) configuration when the project acts as the relying party to receive
// and accept an authentication assertion issued by a SAML identity provider.
// Structure is documented below.
// +kubebuilder:validation:Required
SpConfig []TenantInboundSAMLConfigSpConfigObservation `json:"spConfig,omitempty" tf:"sp_config,omitempty"`
}
type TenantInboundSAMLConfigParameters struct {
// Human friendly display name.
// +kubebuilder:validation:Required
DisplayName *string `json:"displayName" tf:"display_name,omitempty"`
// If this config allows users to sign in with the provider.
// +kubebuilder:validation:Optional
Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"`
// SAML IdP configuration when the project acts as the relying party
// Structure is documented below.
// +kubebuilder:validation:Required
IdPConfig []TenantInboundSAMLConfigIdPConfigParameters `json:"idpConfig" tf:"idp_config,omitempty"`
// The name of the InboundSamlConfig resource. Must start with 'saml.' and can only have alphanumeric characters,
// hyphens, underscores or periods. The part after 'saml.' must also start with a lowercase letter, end with an
// alphanumeric character, and have at least 2 characters.
// +kubebuilder:validation:Required
Name *string `json:"name" tf:"name,omitempty"`
// The ID of the project in which the resource belongs.
// If it is not provided, the provider project is used.
// +kubebuilder:validation:Optional
Project *string `json:"project,omitempty" tf:"project,omitempty"`
// SAML SP (Service Provider) configuration when the project acts as the relying party to receive
// and accept an authentication assertion issued by a SAML identity provider.
// Structure is documented below.
// +kubebuilder:validation:Required
SpConfig []TenantInboundSAMLConfigSpConfigParameters `json:"spConfig" tf:"sp_config,omitempty"`
// The name of the tenant where this inbound SAML config resource exists
// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/identityplatform/v1beta1.Tenant
// +crossplane:generate:reference:extractor=github.com/upbound/upjet/pkg/resource.ExtractParamPath("name",true)
// +kubebuilder:validation:Optional
Tenant *string `json:"tenant,omitempty" tf:"tenant,omitempty"`
// Reference to a Tenant in identityplatform to populate tenant.
// +kubebuilder:validation:Optional
TenantRef *v1.Reference `json:"tenantRef,omitempty" tf:"-"`
// Selector for a Tenant in identityplatform to populate tenant.
// +kubebuilder:validation:Optional
TenantSelector *v1.Selector `json:"tenantSelector,omitempty" tf:"-"`
}
type TenantInboundSAMLConfigSpConfigObservation struct {
// The IDP's certificate data to verify the signature in the SAMLResponse issued by the IDP.
// Structure is documented below.
SpCertificates []SpConfigSpCertificatesObservation `json:"spCertificates,omitempty" tf:"sp_certificates,omitempty"`
}
type TenantInboundSAMLConfigSpConfigParameters struct {
// Callback URI where responses from IDP are handled. Must start with https://.
// +kubebuilder:validation:Required
CallbackURI *string `json:"callbackUri" tf:"callback_uri,omitempty"`
// Unique identifier for all SAML entities.
// +kubebuilder:validation:Required
SpEntityID *string `json:"spEntityId" tf:"sp_entity_id,omitempty"`
}
// TenantInboundSAMLConfigSpec defines the desired state of TenantInboundSAMLConfig
type TenantInboundSAMLConfigSpec struct {
v1.ResourceSpec `json:",inline"`
ForProvider TenantInboundSAMLConfigParameters `json:"forProvider"`
}
// TenantInboundSAMLConfigStatus defines the observed state of TenantInboundSAMLConfig.
type TenantInboundSAMLConfigStatus struct {
v1.ResourceStatus `json:",inline"`
AtProvider TenantInboundSAMLConfigObservation `json:"atProvider,omitempty"`
}
// +kubebuilder:object:root=true
// TenantInboundSAMLConfig is the Schema for the TenantInboundSAMLConfigs API. Inbound SAML configuration for a Identity Toolkit tenant.
// +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,gcp}
type TenantInboundSAMLConfig struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec TenantInboundSAMLConfigSpec `json:"spec"`
Status TenantInboundSAMLConfigStatus `json:"status,omitempty"`
}
// +kubebuilder:object:root=true
// TenantInboundSAMLConfigList contains a list of TenantInboundSAMLConfigs
type TenantInboundSAMLConfigList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []TenantInboundSAMLConfig `json:"items"`
}
// Repository type metadata.
var (
TenantInboundSAMLConfig_Kind = "TenantInboundSAMLConfig"
TenantInboundSAMLConfig_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: TenantInboundSAMLConfig_Kind}.String()
TenantInboundSAMLConfig_KindAPIVersion = TenantInboundSAMLConfig_Kind + "." + CRDGroupVersion.String()
TenantInboundSAMLConfig_GroupVersionKind = CRDGroupVersion.WithKind(TenantInboundSAMLConfig_Kind)
)
func init() {
SchemeBuilder.Register(&TenantInboundSAMLConfig{}, &TenantInboundSAMLConfigList{})
}