github.com/pulumi/pulumi-kubernetes/sdk/v3@v3.30.2/go/kubernetes/apiextensions/v1/customResourceDefinition.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 // CustomResourceDefinition represents a resource that should be exposed on the API server. Its name MUST be in the format <.spec.name>.<.spec.group>. 16 type CustomResourceDefinition struct { 17 pulumi.CustomResourceState 18 19 // 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 20 ApiVersion pulumi.StringPtrOutput `pulumi:"apiVersion"` 21 // 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 22 Kind pulumi.StringPtrOutput `pulumi:"kind"` 23 // Standard object's metadata More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata 24 Metadata metav1.ObjectMetaPtrOutput `pulumi:"metadata"` 25 // spec describes how the user wants the resources to appear 26 Spec CustomResourceDefinitionSpecOutput `pulumi:"spec"` 27 // status indicates the actual state of the CustomResourceDefinition 28 Status CustomResourceDefinitionStatusPtrOutput `pulumi:"status"` 29 } 30 31 // NewCustomResourceDefinition registers a new resource with the given unique name, arguments, and options. 32 func NewCustomResourceDefinition(ctx *pulumi.Context, 33 name string, args *CustomResourceDefinitionArgs, opts ...pulumi.ResourceOption) (*CustomResourceDefinition, error) { 34 if args == nil { 35 return nil, errors.New("missing one or more required arguments") 36 } 37 38 if args.Spec == nil { 39 return nil, errors.New("invalid value for required argument 'Spec'") 40 } 41 args.ApiVersion = pulumi.StringPtr("apiextensions.k8s.io/v1") 42 args.Kind = pulumi.StringPtr("CustomResourceDefinition") 43 aliases := pulumi.Aliases([]pulumi.Alias{ 44 { 45 Type: pulumi.String("kubernetes:apiextensions.k8s.io/v1beta1:CustomResourceDefinition"), 46 }, 47 }) 48 opts = append(opts, aliases) 49 var resource CustomResourceDefinition 50 err := ctx.RegisterResource("kubernetes:apiextensions.k8s.io/v1:CustomResourceDefinition", name, args, &resource, opts...) 51 if err != nil { 52 return nil, err 53 } 54 return &resource, nil 55 } 56 57 // GetCustomResourceDefinition gets an existing CustomResourceDefinition resource's state with the given name, ID, and optional 58 // state properties that are used to uniquely qualify the lookup (nil if not required). 59 func GetCustomResourceDefinition(ctx *pulumi.Context, 60 name string, id pulumi.IDInput, state *CustomResourceDefinitionState, opts ...pulumi.ResourceOption) (*CustomResourceDefinition, error) { 61 var resource CustomResourceDefinition 62 err := ctx.ReadResource("kubernetes:apiextensions.k8s.io/v1:CustomResourceDefinition", name, id, state, &resource, opts...) 63 if err != nil { 64 return nil, err 65 } 66 return &resource, nil 67 } 68 69 // Input properties used for looking up and filtering CustomResourceDefinition resources. 70 type customResourceDefinitionState struct { 71 } 72 73 type CustomResourceDefinitionState struct { 74 } 75 76 func (CustomResourceDefinitionState) ElementType() reflect.Type { 77 return reflect.TypeOf((*customResourceDefinitionState)(nil)).Elem() 78 } 79 80 type customResourceDefinitionArgs struct { 81 // 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 82 ApiVersion *string `pulumi:"apiVersion"` 83 // 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 84 Kind *string `pulumi:"kind"` 85 // Standard object's metadata More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata 86 Metadata *metav1.ObjectMeta `pulumi:"metadata"` 87 // spec describes how the user wants the resources to appear 88 Spec CustomResourceDefinitionSpec `pulumi:"spec"` 89 } 90 91 // The set of arguments for constructing a CustomResourceDefinition resource. 92 type CustomResourceDefinitionArgs struct { 93 // 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 94 ApiVersion pulumi.StringPtrInput 95 // 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 96 Kind pulumi.StringPtrInput 97 // Standard object's metadata More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata 98 Metadata metav1.ObjectMetaPtrInput 99 // spec describes how the user wants the resources to appear 100 Spec CustomResourceDefinitionSpecInput 101 } 102 103 func (CustomResourceDefinitionArgs) ElementType() reflect.Type { 104 return reflect.TypeOf((*customResourceDefinitionArgs)(nil)).Elem() 105 } 106 107 type CustomResourceDefinitionInput interface { 108 pulumi.Input 109 110 ToCustomResourceDefinitionOutput() CustomResourceDefinitionOutput 111 ToCustomResourceDefinitionOutputWithContext(ctx context.Context) CustomResourceDefinitionOutput 112 } 113 114 func (*CustomResourceDefinition) ElementType() reflect.Type { 115 return reflect.TypeOf((**CustomResourceDefinition)(nil)).Elem() 116 } 117 118 func (i *CustomResourceDefinition) ToCustomResourceDefinitionOutput() CustomResourceDefinitionOutput { 119 return i.ToCustomResourceDefinitionOutputWithContext(context.Background()) 120 } 121 122 func (i *CustomResourceDefinition) ToCustomResourceDefinitionOutputWithContext(ctx context.Context) CustomResourceDefinitionOutput { 123 return pulumi.ToOutputWithContext(ctx, i).(CustomResourceDefinitionOutput) 124 } 125 126 // CustomResourceDefinitionArrayInput is an input type that accepts CustomResourceDefinitionArray and CustomResourceDefinitionArrayOutput values. 127 // You can construct a concrete instance of `CustomResourceDefinitionArrayInput` via: 128 // 129 // CustomResourceDefinitionArray{ CustomResourceDefinitionArgs{...} } 130 type CustomResourceDefinitionArrayInput interface { 131 pulumi.Input 132 133 ToCustomResourceDefinitionArrayOutput() CustomResourceDefinitionArrayOutput 134 ToCustomResourceDefinitionArrayOutputWithContext(context.Context) CustomResourceDefinitionArrayOutput 135 } 136 137 type CustomResourceDefinitionArray []CustomResourceDefinitionInput 138 139 func (CustomResourceDefinitionArray) ElementType() reflect.Type { 140 return reflect.TypeOf((*[]*CustomResourceDefinition)(nil)).Elem() 141 } 142 143 func (i CustomResourceDefinitionArray) ToCustomResourceDefinitionArrayOutput() CustomResourceDefinitionArrayOutput { 144 return i.ToCustomResourceDefinitionArrayOutputWithContext(context.Background()) 145 } 146 147 func (i CustomResourceDefinitionArray) ToCustomResourceDefinitionArrayOutputWithContext(ctx context.Context) CustomResourceDefinitionArrayOutput { 148 return pulumi.ToOutputWithContext(ctx, i).(CustomResourceDefinitionArrayOutput) 149 } 150 151 // CustomResourceDefinitionMapInput is an input type that accepts CustomResourceDefinitionMap and CustomResourceDefinitionMapOutput values. 152 // You can construct a concrete instance of `CustomResourceDefinitionMapInput` via: 153 // 154 // CustomResourceDefinitionMap{ "key": CustomResourceDefinitionArgs{...} } 155 type CustomResourceDefinitionMapInput interface { 156 pulumi.Input 157 158 ToCustomResourceDefinitionMapOutput() CustomResourceDefinitionMapOutput 159 ToCustomResourceDefinitionMapOutputWithContext(context.Context) CustomResourceDefinitionMapOutput 160 } 161 162 type CustomResourceDefinitionMap map[string]CustomResourceDefinitionInput 163 164 func (CustomResourceDefinitionMap) ElementType() reflect.Type { 165 return reflect.TypeOf((*map[string]*CustomResourceDefinition)(nil)).Elem() 166 } 167 168 func (i CustomResourceDefinitionMap) ToCustomResourceDefinitionMapOutput() CustomResourceDefinitionMapOutput { 169 return i.ToCustomResourceDefinitionMapOutputWithContext(context.Background()) 170 } 171 172 func (i CustomResourceDefinitionMap) ToCustomResourceDefinitionMapOutputWithContext(ctx context.Context) CustomResourceDefinitionMapOutput { 173 return pulumi.ToOutputWithContext(ctx, i).(CustomResourceDefinitionMapOutput) 174 } 175 176 type CustomResourceDefinitionOutput struct{ *pulumi.OutputState } 177 178 func (CustomResourceDefinitionOutput) ElementType() reflect.Type { 179 return reflect.TypeOf((**CustomResourceDefinition)(nil)).Elem() 180 } 181 182 func (o CustomResourceDefinitionOutput) ToCustomResourceDefinitionOutput() CustomResourceDefinitionOutput { 183 return o 184 } 185 186 func (o CustomResourceDefinitionOutput) ToCustomResourceDefinitionOutputWithContext(ctx context.Context) CustomResourceDefinitionOutput { 187 return o 188 } 189 190 // 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 191 func (o CustomResourceDefinitionOutput) ApiVersion() pulumi.StringPtrOutput { 192 return o.ApplyT(func(v *CustomResourceDefinition) pulumi.StringPtrOutput { return v.ApiVersion }).(pulumi.StringPtrOutput) 193 } 194 195 // 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 196 func (o CustomResourceDefinitionOutput) Kind() pulumi.StringPtrOutput { 197 return o.ApplyT(func(v *CustomResourceDefinition) pulumi.StringPtrOutput { return v.Kind }).(pulumi.StringPtrOutput) 198 } 199 200 // Standard object's metadata More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata 201 func (o CustomResourceDefinitionOutput) Metadata() metav1.ObjectMetaPtrOutput { 202 return o.ApplyT(func(v *CustomResourceDefinition) metav1.ObjectMetaPtrOutput { return v.Metadata }).(metav1.ObjectMetaPtrOutput) 203 } 204 205 // spec describes how the user wants the resources to appear 206 func (o CustomResourceDefinitionOutput) Spec() CustomResourceDefinitionSpecOutput { 207 return o.ApplyT(func(v *CustomResourceDefinition) CustomResourceDefinitionSpecOutput { return v.Spec }).(CustomResourceDefinitionSpecOutput) 208 } 209 210 // status indicates the actual state of the CustomResourceDefinition 211 func (o CustomResourceDefinitionOutput) Status() CustomResourceDefinitionStatusPtrOutput { 212 return o.ApplyT(func(v *CustomResourceDefinition) CustomResourceDefinitionStatusPtrOutput { return v.Status }).(CustomResourceDefinitionStatusPtrOutput) 213 } 214 215 type CustomResourceDefinitionArrayOutput struct{ *pulumi.OutputState } 216 217 func (CustomResourceDefinitionArrayOutput) ElementType() reflect.Type { 218 return reflect.TypeOf((*[]*CustomResourceDefinition)(nil)).Elem() 219 } 220 221 func (o CustomResourceDefinitionArrayOutput) ToCustomResourceDefinitionArrayOutput() CustomResourceDefinitionArrayOutput { 222 return o 223 } 224 225 func (o CustomResourceDefinitionArrayOutput) ToCustomResourceDefinitionArrayOutputWithContext(ctx context.Context) CustomResourceDefinitionArrayOutput { 226 return o 227 } 228 229 func (o CustomResourceDefinitionArrayOutput) Index(i pulumi.IntInput) CustomResourceDefinitionOutput { 230 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *CustomResourceDefinition { 231 return vs[0].([]*CustomResourceDefinition)[vs[1].(int)] 232 }).(CustomResourceDefinitionOutput) 233 } 234 235 type CustomResourceDefinitionMapOutput struct{ *pulumi.OutputState } 236 237 func (CustomResourceDefinitionMapOutput) ElementType() reflect.Type { 238 return reflect.TypeOf((*map[string]*CustomResourceDefinition)(nil)).Elem() 239 } 240 241 func (o CustomResourceDefinitionMapOutput) ToCustomResourceDefinitionMapOutput() CustomResourceDefinitionMapOutput { 242 return o 243 } 244 245 func (o CustomResourceDefinitionMapOutput) ToCustomResourceDefinitionMapOutputWithContext(ctx context.Context) CustomResourceDefinitionMapOutput { 246 return o 247 } 248 249 func (o CustomResourceDefinitionMapOutput) MapIndex(k pulumi.StringInput) CustomResourceDefinitionOutput { 250 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *CustomResourceDefinition { 251 return vs[0].(map[string]*CustomResourceDefinition)[vs[1].(string)] 252 }).(CustomResourceDefinitionOutput) 253 } 254 255 func init() { 256 pulumi.RegisterInputType(reflect.TypeOf((*CustomResourceDefinitionInput)(nil)).Elem(), &CustomResourceDefinition{}) 257 pulumi.RegisterInputType(reflect.TypeOf((*CustomResourceDefinitionArrayInput)(nil)).Elem(), CustomResourceDefinitionArray{}) 258 pulumi.RegisterInputType(reflect.TypeOf((*CustomResourceDefinitionMapInput)(nil)).Elem(), CustomResourceDefinitionMap{}) 259 pulumi.RegisterOutputType(CustomResourceDefinitionOutput{}) 260 pulumi.RegisterOutputType(CustomResourceDefinitionArrayOutput{}) 261 pulumi.RegisterOutputType(CustomResourceDefinitionMapOutput{}) 262 }