-
Notifications
You must be signed in to change notification settings - Fork 69
/
zz_serviceaccount_types.go
executable file
·134 lines (104 loc) · 5.38 KB
/
zz_serviceaccount_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
/*
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 ServiceAccountObservation struct {
// A text description of the service account.
// Must be less than or equal to 256 UTF-8 bytes.
Description *string `json:"description,omitempty" tf:"description,omitempty"`
// Whether a service account is disabled or not. Defaults to false. This field has no effect during creation.
// Must be set after creation to disable a service account.
Disabled *bool `json:"disabled,omitempty" tf:"disabled,omitempty"`
// The display name for the service account.
// Can be updated without creating a new resource.
DisplayName *string `json:"displayName,omitempty" tf:"display_name,omitempty"`
// The e-mail address of the service account. This value
// should be referenced from any google_iam_policy data sources
// that would grant the service account privileges.
Email *string `json:"email,omitempty" tf:"email,omitempty"`
// an identifier for the resource with format projects/{{project}}/serviceAccounts/{{email}}
ID *string `json:"id,omitempty" tf:"id,omitempty"`
// The Identity of the service account in the form serviceAccount:{email}. This value is often used to refer to the service account in order to grant IAM permissions.
Member *string `json:"member,omitempty" tf:"member,omitempty"`
// The fully-qualified name of the service account.
Name *string `json:"name,omitempty" tf:"name,omitempty"`
// The ID of the project that the service account will be created in.
// Defaults to the provider project configuration.
Project *string `json:"project,omitempty" tf:"project,omitempty"`
// The unique id of the service account.
UniqueID *string `json:"uniqueId,omitempty" tf:"unique_id,omitempty"`
}
type ServiceAccountParameters struct {
// A text description of the service account.
// Must be less than or equal to 256 UTF-8 bytes.
// +kubebuilder:validation:Optional
Description *string `json:"description,omitempty" tf:"description,omitempty"`
// Whether a service account is disabled or not. Defaults to false. This field has no effect during creation.
// Must be set after creation to disable a service account.
// +kubebuilder:validation:Optional
Disabled *bool `json:"disabled,omitempty" tf:"disabled,omitempty"`
// The display name for the service account.
// Can be updated without creating a new resource.
// +kubebuilder:validation:Optional
DisplayName *string `json:"displayName,omitempty" tf:"display_name,omitempty"`
// The ID of the project that the service account will be created in.
// Defaults to the provider project configuration.
// +kubebuilder:validation:Optional
Project *string `json:"project,omitempty" tf:"project,omitempty"`
}
// ServiceAccountSpec defines the desired state of ServiceAccount
type ServiceAccountSpec struct {
v1.ResourceSpec `json:",inline"`
ForProvider ServiceAccountParameters `json:"forProvider"`
}
// ServiceAccountStatus defines the observed state of ServiceAccount.
type ServiceAccountStatus struct {
v1.ResourceStatus `json:",inline"`
AtProvider ServiceAccountObservation `json:"atProvider,omitempty"`
}
// +kubebuilder:object:root=true
// ServiceAccount is the Schema for the ServiceAccounts API. Allows management of a Google Cloud Platform service account.
// +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 ServiceAccount struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ServiceAccountSpec `json:"spec"`
Status ServiceAccountStatus `json:"status,omitempty"`
}
// +kubebuilder:object:root=true
// ServiceAccountList contains a list of ServiceAccounts
type ServiceAccountList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ServiceAccount `json:"items"`
}
// Repository type metadata.
var (
ServiceAccount_Kind = "ServiceAccount"
ServiceAccount_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: ServiceAccount_Kind}.String()
ServiceAccount_KindAPIVersion = ServiceAccount_Kind + "." + CRDGroupVersion.String()
ServiceAccount_GroupVersionKind = CRDGroupVersion.WithKind(ServiceAccount_Kind)
)
func init() {
SchemeBuilder.Register(&ServiceAccount{}, &ServiceAccountList{})
}