github.com/pulumi/pulumi-kubernetes/sdk/v3@v3.30.2/go/kubernetes/certificates/v1/certificateSigningRequest.go (about) 1 // Code generated by pulumigen DO NOT EDIT. 2 // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** 3 4 package v1 5 6 import ( 7 "context" 8 "reflect" 9 10 "errors" 11 metav1 "github.com/pulumi/pulumi-kubernetes/sdk/v3/go/kubernetes/meta/v1" 12 "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 13 ) 14 15 // CertificateSigningRequest objects provide a mechanism to obtain x509 certificates by submitting a certificate signing request, and having it asynchronously approved and issued. 16 // 17 // Kubelets use this API to obtain: 18 // 1. client certificates to authenticate to kube-apiserver (with the "kubernetes.io/kube-apiserver-client-kubelet" signerName). 19 // 2. serving certificates for TLS endpoints kube-apiserver can connect to securely (with the "kubernetes.io/kubelet-serving" signerName). 20 // 21 // This API can be used to request client certificates to authenticate to kube-apiserver (with the "kubernetes.io/kube-apiserver-client" signerName), or to obtain certificates from custom non-Kubernetes signers. 22 type CertificateSigningRequest struct { 23 pulumi.CustomResourceState 24 25 // APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources 26 ApiVersion pulumi.StringPtrOutput `pulumi:"apiVersion"` 27 // Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 28 Kind pulumi.StringPtrOutput `pulumi:"kind"` 29 Metadata metav1.ObjectMetaPtrOutput `pulumi:"metadata"` 30 // spec contains the certificate request, and is immutable after creation. Only the request, signerName, expirationSeconds, and usages fields can be set on creation. Other fields are derived by Kubernetes and cannot be modified by users. 31 Spec CertificateSigningRequestSpecOutput `pulumi:"spec"` 32 // status contains information about whether the request is approved or denied, and the certificate issued by the signer, or the failure condition indicating signer failure. 33 Status CertificateSigningRequestStatusPtrOutput `pulumi:"status"` 34 } 35 36 // NewCertificateSigningRequest registers a new resource with the given unique name, arguments, and options. 37 func NewCertificateSigningRequest(ctx *pulumi.Context, 38 name string, args *CertificateSigningRequestArgs, opts ...pulumi.ResourceOption) (*CertificateSigningRequest, error) { 39 if args == nil { 40 return nil, errors.New("missing one or more required arguments") 41 } 42 43 if args.Spec == nil { 44 return nil, errors.New("invalid value for required argument 'Spec'") 45 } 46 args.ApiVersion = pulumi.StringPtr("certificates.k8s.io/v1") 47 args.Kind = pulumi.StringPtr("CertificateSigningRequest") 48 aliases := pulumi.Aliases([]pulumi.Alias{ 49 { 50 Type: pulumi.String("kubernetes:certificates.k8s.io/v1beta1:CertificateSigningRequest"), 51 }, 52 }) 53 opts = append(opts, aliases) 54 var resource CertificateSigningRequest 55 err := ctx.RegisterResource("kubernetes:certificates.k8s.io/v1:CertificateSigningRequest", name, args, &resource, opts...) 56 if err != nil { 57 return nil, err 58 } 59 return &resource, nil 60 } 61 62 // GetCertificateSigningRequest gets an existing CertificateSigningRequest resource's state with the given name, ID, and optional 63 // state properties that are used to uniquely qualify the lookup (nil if not required). 64 func GetCertificateSigningRequest(ctx *pulumi.Context, 65 name string, id pulumi.IDInput, state *CertificateSigningRequestState, opts ...pulumi.ResourceOption) (*CertificateSigningRequest, error) { 66 var resource CertificateSigningRequest 67 err := ctx.ReadResource("kubernetes:certificates.k8s.io/v1:CertificateSigningRequest", name, id, state, &resource, opts...) 68 if err != nil { 69 return nil, err 70 } 71 return &resource, nil 72 } 73 74 // Input properties used for looking up and filtering CertificateSigningRequest resources. 75 type certificateSigningRequestState struct { 76 } 77 78 type CertificateSigningRequestState struct { 79 } 80 81 func (CertificateSigningRequestState) ElementType() reflect.Type { 82 return reflect.TypeOf((*certificateSigningRequestState)(nil)).Elem() 83 } 84 85 type certificateSigningRequestArgs struct { 86 // APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources 87 ApiVersion *string `pulumi:"apiVersion"` 88 // Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 89 Kind *string `pulumi:"kind"` 90 Metadata *metav1.ObjectMeta `pulumi:"metadata"` 91 // spec contains the certificate request, and is immutable after creation. Only the request, signerName, expirationSeconds, and usages fields can be set on creation. Other fields are derived by Kubernetes and cannot be modified by users. 92 Spec CertificateSigningRequestSpec `pulumi:"spec"` 93 } 94 95 // The set of arguments for constructing a CertificateSigningRequest resource. 96 type CertificateSigningRequestArgs struct { 97 // APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources 98 ApiVersion pulumi.StringPtrInput 99 // Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 100 Kind pulumi.StringPtrInput 101 Metadata metav1.ObjectMetaPtrInput 102 // spec contains the certificate request, and is immutable after creation. Only the request, signerName, expirationSeconds, and usages fields can be set on creation. Other fields are derived by Kubernetes and cannot be modified by users. 103 Spec CertificateSigningRequestSpecInput 104 } 105 106 func (CertificateSigningRequestArgs) ElementType() reflect.Type { 107 return reflect.TypeOf((*certificateSigningRequestArgs)(nil)).Elem() 108 } 109 110 type CertificateSigningRequestInput interface { 111 pulumi.Input 112 113 ToCertificateSigningRequestOutput() CertificateSigningRequestOutput 114 ToCertificateSigningRequestOutputWithContext(ctx context.Context) CertificateSigningRequestOutput 115 } 116 117 func (*CertificateSigningRequest) ElementType() reflect.Type { 118 return reflect.TypeOf((**CertificateSigningRequest)(nil)).Elem() 119 } 120 121 func (i *CertificateSigningRequest) ToCertificateSigningRequestOutput() CertificateSigningRequestOutput { 122 return i.ToCertificateSigningRequestOutputWithContext(context.Background()) 123 } 124 125 func (i *CertificateSigningRequest) ToCertificateSigningRequestOutputWithContext(ctx context.Context) CertificateSigningRequestOutput { 126 return pulumi.ToOutputWithContext(ctx, i).(CertificateSigningRequestOutput) 127 } 128 129 // CertificateSigningRequestArrayInput is an input type that accepts CertificateSigningRequestArray and CertificateSigningRequestArrayOutput values. 130 // You can construct a concrete instance of `CertificateSigningRequestArrayInput` via: 131 // 132 // CertificateSigningRequestArray{ CertificateSigningRequestArgs{...} } 133 type CertificateSigningRequestArrayInput interface { 134 pulumi.Input 135 136 ToCertificateSigningRequestArrayOutput() CertificateSigningRequestArrayOutput 137 ToCertificateSigningRequestArrayOutputWithContext(context.Context) CertificateSigningRequestArrayOutput 138 } 139 140 type CertificateSigningRequestArray []CertificateSigningRequestInput 141 142 func (CertificateSigningRequestArray) ElementType() reflect.Type { 143 return reflect.TypeOf((*[]*CertificateSigningRequest)(nil)).Elem() 144 } 145 146 func (i CertificateSigningRequestArray) ToCertificateSigningRequestArrayOutput() CertificateSigningRequestArrayOutput { 147 return i.ToCertificateSigningRequestArrayOutputWithContext(context.Background()) 148 } 149 150 func (i CertificateSigningRequestArray) ToCertificateSigningRequestArrayOutputWithContext(ctx context.Context) CertificateSigningRequestArrayOutput { 151 return pulumi.ToOutputWithContext(ctx, i).(CertificateSigningRequestArrayOutput) 152 } 153 154 // CertificateSigningRequestMapInput is an input type that accepts CertificateSigningRequestMap and CertificateSigningRequestMapOutput values. 155 // You can construct a concrete instance of `CertificateSigningRequestMapInput` via: 156 // 157 // CertificateSigningRequestMap{ "key": CertificateSigningRequestArgs{...} } 158 type CertificateSigningRequestMapInput interface { 159 pulumi.Input 160 161 ToCertificateSigningRequestMapOutput() CertificateSigningRequestMapOutput 162 ToCertificateSigningRequestMapOutputWithContext(context.Context) CertificateSigningRequestMapOutput 163 } 164 165 type CertificateSigningRequestMap map[string]CertificateSigningRequestInput 166 167 func (CertificateSigningRequestMap) ElementType() reflect.Type { 168 return reflect.TypeOf((*map[string]*CertificateSigningRequest)(nil)).Elem() 169 } 170 171 func (i CertificateSigningRequestMap) ToCertificateSigningRequestMapOutput() CertificateSigningRequestMapOutput { 172 return i.ToCertificateSigningRequestMapOutputWithContext(context.Background()) 173 } 174 175 func (i CertificateSigningRequestMap) ToCertificateSigningRequestMapOutputWithContext(ctx context.Context) CertificateSigningRequestMapOutput { 176 return pulumi.ToOutputWithContext(ctx, i).(CertificateSigningRequestMapOutput) 177 } 178 179 type CertificateSigningRequestOutput struct{ *pulumi.OutputState } 180 181 func (CertificateSigningRequestOutput) ElementType() reflect.Type { 182 return reflect.TypeOf((**CertificateSigningRequest)(nil)).Elem() 183 } 184 185 func (o CertificateSigningRequestOutput) ToCertificateSigningRequestOutput() CertificateSigningRequestOutput { 186 return o 187 } 188 189 func (o CertificateSigningRequestOutput) ToCertificateSigningRequestOutputWithContext(ctx context.Context) CertificateSigningRequestOutput { 190 return o 191 } 192 193 // APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources 194 func (o CertificateSigningRequestOutput) ApiVersion() pulumi.StringPtrOutput { 195 return o.ApplyT(func(v *CertificateSigningRequest) pulumi.StringPtrOutput { return v.ApiVersion }).(pulumi.StringPtrOutput) 196 } 197 198 // Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 199 func (o CertificateSigningRequestOutput) Kind() pulumi.StringPtrOutput { 200 return o.ApplyT(func(v *CertificateSigningRequest) pulumi.StringPtrOutput { return v.Kind }).(pulumi.StringPtrOutput) 201 } 202 203 func (o CertificateSigningRequestOutput) Metadata() metav1.ObjectMetaPtrOutput { 204 return o.ApplyT(func(v *CertificateSigningRequest) metav1.ObjectMetaPtrOutput { return v.Metadata }).(metav1.ObjectMetaPtrOutput) 205 } 206 207 // spec contains the certificate request, and is immutable after creation. Only the request, signerName, expirationSeconds, and usages fields can be set on creation. Other fields are derived by Kubernetes and cannot be modified by users. 208 func (o CertificateSigningRequestOutput) Spec() CertificateSigningRequestSpecOutput { 209 return o.ApplyT(func(v *CertificateSigningRequest) CertificateSigningRequestSpecOutput { return v.Spec }).(CertificateSigningRequestSpecOutput) 210 } 211 212 // status contains information about whether the request is approved or denied, and the certificate issued by the signer, or the failure condition indicating signer failure. 213 func (o CertificateSigningRequestOutput) Status() CertificateSigningRequestStatusPtrOutput { 214 return o.ApplyT(func(v *CertificateSigningRequest) CertificateSigningRequestStatusPtrOutput { return v.Status }).(CertificateSigningRequestStatusPtrOutput) 215 } 216 217 type CertificateSigningRequestArrayOutput struct{ *pulumi.OutputState } 218 219 func (CertificateSigningRequestArrayOutput) ElementType() reflect.Type { 220 return reflect.TypeOf((*[]*CertificateSigningRequest)(nil)).Elem() 221 } 222 223 func (o CertificateSigningRequestArrayOutput) ToCertificateSigningRequestArrayOutput() CertificateSigningRequestArrayOutput { 224 return o 225 } 226 227 func (o CertificateSigningRequestArrayOutput) ToCertificateSigningRequestArrayOutputWithContext(ctx context.Context) CertificateSigningRequestArrayOutput { 228 return o 229 } 230 231 func (o CertificateSigningRequestArrayOutput) Index(i pulumi.IntInput) CertificateSigningRequestOutput { 232 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *CertificateSigningRequest { 233 return vs[0].([]*CertificateSigningRequest)[vs[1].(int)] 234 }).(CertificateSigningRequestOutput) 235 } 236 237 type CertificateSigningRequestMapOutput struct{ *pulumi.OutputState } 238 239 func (CertificateSigningRequestMapOutput) ElementType() reflect.Type { 240 return reflect.TypeOf((*map[string]*CertificateSigningRequest)(nil)).Elem() 241 } 242 243 func (o CertificateSigningRequestMapOutput) ToCertificateSigningRequestMapOutput() CertificateSigningRequestMapOutput { 244 return o 245 } 246 247 func (o CertificateSigningRequestMapOutput) ToCertificateSigningRequestMapOutputWithContext(ctx context.Context) CertificateSigningRequestMapOutput { 248 return o 249 } 250 251 func (o CertificateSigningRequestMapOutput) MapIndex(k pulumi.StringInput) CertificateSigningRequestOutput { 252 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *CertificateSigningRequest { 253 return vs[0].(map[string]*CertificateSigningRequest)[vs[1].(string)] 254 }).(CertificateSigningRequestOutput) 255 } 256 257 func init() { 258 pulumi.RegisterInputType(reflect.TypeOf((*CertificateSigningRequestInput)(nil)).Elem(), &CertificateSigningRequest{}) 259 pulumi.RegisterInputType(reflect.TypeOf((*CertificateSigningRequestArrayInput)(nil)).Elem(), CertificateSigningRequestArray{}) 260 pulumi.RegisterInputType(reflect.TypeOf((*CertificateSigningRequestMapInput)(nil)).Elem(), CertificateSigningRequestMap{}) 261 pulumi.RegisterOutputType(CertificateSigningRequestOutput{}) 262 pulumi.RegisterOutputType(CertificateSigningRequestArrayOutput{}) 263 pulumi.RegisterOutputType(CertificateSigningRequestMapOutput{}) 264 }