github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/glue/classifier.go (about) 1 // Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. 2 // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** 3 4 package glue 5 6 import ( 7 "context" 8 "reflect" 9 10 "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" 11 "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 12 ) 13 14 // Provides a Glue Classifier resource. 15 // 16 // > **NOTE:** It is only valid to create one type of classifier (csv, grok, JSON, or XML). Changing classifier types will recreate the classifier. 17 // 18 // ## Example Usage 19 // 20 // ### Csv Classifier 21 // 22 // <!--Start PulumiCodeChooser --> 23 // ```go 24 // package main 25 // 26 // import ( 27 // 28 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue" 29 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 30 // 31 // ) 32 // 33 // func main() { 34 // pulumi.Run(func(ctx *pulumi.Context) error { 35 // _, err := glue.NewClassifier(ctx, "example", &glue.ClassifierArgs{ 36 // Name: pulumi.String("example"), 37 // CsvClassifier: &glue.ClassifierCsvClassifierArgs{ 38 // AllowSingleColumn: pulumi.Bool(false), 39 // ContainsHeader: pulumi.String("PRESENT"), 40 // Delimiter: pulumi.String(","), 41 // DisableValueTrimming: pulumi.Bool(false), 42 // Headers: pulumi.StringArray{ 43 // pulumi.String("example1"), 44 // pulumi.String("example2"), 45 // }, 46 // QuoteSymbol: pulumi.String("'"), 47 // }, 48 // }) 49 // if err != nil { 50 // return err 51 // } 52 // return nil 53 // }) 54 // } 55 // 56 // ``` 57 // <!--End PulumiCodeChooser --> 58 // 59 // ### Grok Classifier 60 // 61 // <!--Start PulumiCodeChooser --> 62 // ```go 63 // package main 64 // 65 // import ( 66 // 67 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue" 68 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 69 // 70 // ) 71 // 72 // func main() { 73 // pulumi.Run(func(ctx *pulumi.Context) error { 74 // _, err := glue.NewClassifier(ctx, "example", &glue.ClassifierArgs{ 75 // Name: pulumi.String("example"), 76 // GrokClassifier: &glue.ClassifierGrokClassifierArgs{ 77 // Classification: pulumi.String("example"), 78 // GrokPattern: pulumi.String("example"), 79 // }, 80 // }) 81 // if err != nil { 82 // return err 83 // } 84 // return nil 85 // }) 86 // } 87 // 88 // ``` 89 // <!--End PulumiCodeChooser --> 90 // 91 // ### JSON Classifier 92 // 93 // <!--Start PulumiCodeChooser --> 94 // ```go 95 // package main 96 // 97 // import ( 98 // 99 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue" 100 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 101 // 102 // ) 103 // 104 // func main() { 105 // pulumi.Run(func(ctx *pulumi.Context) error { 106 // _, err := glue.NewClassifier(ctx, "example", &glue.ClassifierArgs{ 107 // Name: pulumi.String("example"), 108 // JsonClassifier: &glue.ClassifierJsonClassifierArgs{ 109 // JsonPath: pulumi.String("example"), 110 // }, 111 // }) 112 // if err != nil { 113 // return err 114 // } 115 // return nil 116 // }) 117 // } 118 // 119 // ``` 120 // <!--End PulumiCodeChooser --> 121 // 122 // ### XML Classifier 123 // 124 // <!--Start PulumiCodeChooser --> 125 // ```go 126 // package main 127 // 128 // import ( 129 // 130 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue" 131 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 132 // 133 // ) 134 // 135 // func main() { 136 // pulumi.Run(func(ctx *pulumi.Context) error { 137 // _, err := glue.NewClassifier(ctx, "example", &glue.ClassifierArgs{ 138 // Name: pulumi.String("example"), 139 // XmlClassifier: &glue.ClassifierXmlClassifierArgs{ 140 // Classification: pulumi.String("example"), 141 // RowTag: pulumi.String("example"), 142 // }, 143 // }) 144 // if err != nil { 145 // return err 146 // } 147 // return nil 148 // }) 149 // } 150 // 151 // ``` 152 // <!--End PulumiCodeChooser --> 153 // 154 // ## Import 155 // 156 // Using `pulumi import`, import Glue Classifiers using their name. For example: 157 // 158 // ```sh 159 // $ pulumi import aws:glue/classifier:Classifier MyClassifier MyClassifier 160 // ``` 161 type Classifier struct { 162 pulumi.CustomResourceState 163 164 // A classifier for Csv content. Defined below. 165 CsvClassifier ClassifierCsvClassifierPtrOutput `pulumi:"csvClassifier"` 166 // A classifier that uses grok patterns. Defined below. 167 GrokClassifier ClassifierGrokClassifierPtrOutput `pulumi:"grokClassifier"` 168 // A classifier for JSON content. Defined below. 169 JsonClassifier ClassifierJsonClassifierPtrOutput `pulumi:"jsonClassifier"` 170 // The name of the classifier. 171 Name pulumi.StringOutput `pulumi:"name"` 172 // A classifier for XML content. Defined below. 173 XmlClassifier ClassifierXmlClassifierPtrOutput `pulumi:"xmlClassifier"` 174 } 175 176 // NewClassifier registers a new resource with the given unique name, arguments, and options. 177 func NewClassifier(ctx *pulumi.Context, 178 name string, args *ClassifierArgs, opts ...pulumi.ResourceOption) (*Classifier, error) { 179 if args == nil { 180 args = &ClassifierArgs{} 181 } 182 183 opts = internal.PkgResourceDefaultOpts(opts) 184 var resource Classifier 185 err := ctx.RegisterResource("aws:glue/classifier:Classifier", name, args, &resource, opts...) 186 if err != nil { 187 return nil, err 188 } 189 return &resource, nil 190 } 191 192 // GetClassifier gets an existing Classifier resource's state with the given name, ID, and optional 193 // state properties that are used to uniquely qualify the lookup (nil if not required). 194 func GetClassifier(ctx *pulumi.Context, 195 name string, id pulumi.IDInput, state *ClassifierState, opts ...pulumi.ResourceOption) (*Classifier, error) { 196 var resource Classifier 197 err := ctx.ReadResource("aws:glue/classifier:Classifier", name, id, state, &resource, opts...) 198 if err != nil { 199 return nil, err 200 } 201 return &resource, nil 202 } 203 204 // Input properties used for looking up and filtering Classifier resources. 205 type classifierState struct { 206 // A classifier for Csv content. Defined below. 207 CsvClassifier *ClassifierCsvClassifier `pulumi:"csvClassifier"` 208 // A classifier that uses grok patterns. Defined below. 209 GrokClassifier *ClassifierGrokClassifier `pulumi:"grokClassifier"` 210 // A classifier for JSON content. Defined below. 211 JsonClassifier *ClassifierJsonClassifier `pulumi:"jsonClassifier"` 212 // The name of the classifier. 213 Name *string `pulumi:"name"` 214 // A classifier for XML content. Defined below. 215 XmlClassifier *ClassifierXmlClassifier `pulumi:"xmlClassifier"` 216 } 217 218 type ClassifierState struct { 219 // A classifier for Csv content. Defined below. 220 CsvClassifier ClassifierCsvClassifierPtrInput 221 // A classifier that uses grok patterns. Defined below. 222 GrokClassifier ClassifierGrokClassifierPtrInput 223 // A classifier for JSON content. Defined below. 224 JsonClassifier ClassifierJsonClassifierPtrInput 225 // The name of the classifier. 226 Name pulumi.StringPtrInput 227 // A classifier for XML content. Defined below. 228 XmlClassifier ClassifierXmlClassifierPtrInput 229 } 230 231 func (ClassifierState) ElementType() reflect.Type { 232 return reflect.TypeOf((*classifierState)(nil)).Elem() 233 } 234 235 type classifierArgs struct { 236 // A classifier for Csv content. Defined below. 237 CsvClassifier *ClassifierCsvClassifier `pulumi:"csvClassifier"` 238 // A classifier that uses grok patterns. Defined below. 239 GrokClassifier *ClassifierGrokClassifier `pulumi:"grokClassifier"` 240 // A classifier for JSON content. Defined below. 241 JsonClassifier *ClassifierJsonClassifier `pulumi:"jsonClassifier"` 242 // The name of the classifier. 243 Name *string `pulumi:"name"` 244 // A classifier for XML content. Defined below. 245 XmlClassifier *ClassifierXmlClassifier `pulumi:"xmlClassifier"` 246 } 247 248 // The set of arguments for constructing a Classifier resource. 249 type ClassifierArgs struct { 250 // A classifier for Csv content. Defined below. 251 CsvClassifier ClassifierCsvClassifierPtrInput 252 // A classifier that uses grok patterns. Defined below. 253 GrokClassifier ClassifierGrokClassifierPtrInput 254 // A classifier for JSON content. Defined below. 255 JsonClassifier ClassifierJsonClassifierPtrInput 256 // The name of the classifier. 257 Name pulumi.StringPtrInput 258 // A classifier for XML content. Defined below. 259 XmlClassifier ClassifierXmlClassifierPtrInput 260 } 261 262 func (ClassifierArgs) ElementType() reflect.Type { 263 return reflect.TypeOf((*classifierArgs)(nil)).Elem() 264 } 265 266 type ClassifierInput interface { 267 pulumi.Input 268 269 ToClassifierOutput() ClassifierOutput 270 ToClassifierOutputWithContext(ctx context.Context) ClassifierOutput 271 } 272 273 func (*Classifier) ElementType() reflect.Type { 274 return reflect.TypeOf((**Classifier)(nil)).Elem() 275 } 276 277 func (i *Classifier) ToClassifierOutput() ClassifierOutput { 278 return i.ToClassifierOutputWithContext(context.Background()) 279 } 280 281 func (i *Classifier) ToClassifierOutputWithContext(ctx context.Context) ClassifierOutput { 282 return pulumi.ToOutputWithContext(ctx, i).(ClassifierOutput) 283 } 284 285 // ClassifierArrayInput is an input type that accepts ClassifierArray and ClassifierArrayOutput values. 286 // You can construct a concrete instance of `ClassifierArrayInput` via: 287 // 288 // ClassifierArray{ ClassifierArgs{...} } 289 type ClassifierArrayInput interface { 290 pulumi.Input 291 292 ToClassifierArrayOutput() ClassifierArrayOutput 293 ToClassifierArrayOutputWithContext(context.Context) ClassifierArrayOutput 294 } 295 296 type ClassifierArray []ClassifierInput 297 298 func (ClassifierArray) ElementType() reflect.Type { 299 return reflect.TypeOf((*[]*Classifier)(nil)).Elem() 300 } 301 302 func (i ClassifierArray) ToClassifierArrayOutput() ClassifierArrayOutput { 303 return i.ToClassifierArrayOutputWithContext(context.Background()) 304 } 305 306 func (i ClassifierArray) ToClassifierArrayOutputWithContext(ctx context.Context) ClassifierArrayOutput { 307 return pulumi.ToOutputWithContext(ctx, i).(ClassifierArrayOutput) 308 } 309 310 // ClassifierMapInput is an input type that accepts ClassifierMap and ClassifierMapOutput values. 311 // You can construct a concrete instance of `ClassifierMapInput` via: 312 // 313 // ClassifierMap{ "key": ClassifierArgs{...} } 314 type ClassifierMapInput interface { 315 pulumi.Input 316 317 ToClassifierMapOutput() ClassifierMapOutput 318 ToClassifierMapOutputWithContext(context.Context) ClassifierMapOutput 319 } 320 321 type ClassifierMap map[string]ClassifierInput 322 323 func (ClassifierMap) ElementType() reflect.Type { 324 return reflect.TypeOf((*map[string]*Classifier)(nil)).Elem() 325 } 326 327 func (i ClassifierMap) ToClassifierMapOutput() ClassifierMapOutput { 328 return i.ToClassifierMapOutputWithContext(context.Background()) 329 } 330 331 func (i ClassifierMap) ToClassifierMapOutputWithContext(ctx context.Context) ClassifierMapOutput { 332 return pulumi.ToOutputWithContext(ctx, i).(ClassifierMapOutput) 333 } 334 335 type ClassifierOutput struct{ *pulumi.OutputState } 336 337 func (ClassifierOutput) ElementType() reflect.Type { 338 return reflect.TypeOf((**Classifier)(nil)).Elem() 339 } 340 341 func (o ClassifierOutput) ToClassifierOutput() ClassifierOutput { 342 return o 343 } 344 345 func (o ClassifierOutput) ToClassifierOutputWithContext(ctx context.Context) ClassifierOutput { 346 return o 347 } 348 349 // A classifier for Csv content. Defined below. 350 func (o ClassifierOutput) CsvClassifier() ClassifierCsvClassifierPtrOutput { 351 return o.ApplyT(func(v *Classifier) ClassifierCsvClassifierPtrOutput { return v.CsvClassifier }).(ClassifierCsvClassifierPtrOutput) 352 } 353 354 // A classifier that uses grok patterns. Defined below. 355 func (o ClassifierOutput) GrokClassifier() ClassifierGrokClassifierPtrOutput { 356 return o.ApplyT(func(v *Classifier) ClassifierGrokClassifierPtrOutput { return v.GrokClassifier }).(ClassifierGrokClassifierPtrOutput) 357 } 358 359 // A classifier for JSON content. Defined below. 360 func (o ClassifierOutput) JsonClassifier() ClassifierJsonClassifierPtrOutput { 361 return o.ApplyT(func(v *Classifier) ClassifierJsonClassifierPtrOutput { return v.JsonClassifier }).(ClassifierJsonClassifierPtrOutput) 362 } 363 364 // The name of the classifier. 365 func (o ClassifierOutput) Name() pulumi.StringOutput { 366 return o.ApplyT(func(v *Classifier) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) 367 } 368 369 // A classifier for XML content. Defined below. 370 func (o ClassifierOutput) XmlClassifier() ClassifierXmlClassifierPtrOutput { 371 return o.ApplyT(func(v *Classifier) ClassifierXmlClassifierPtrOutput { return v.XmlClassifier }).(ClassifierXmlClassifierPtrOutput) 372 } 373 374 type ClassifierArrayOutput struct{ *pulumi.OutputState } 375 376 func (ClassifierArrayOutput) ElementType() reflect.Type { 377 return reflect.TypeOf((*[]*Classifier)(nil)).Elem() 378 } 379 380 func (o ClassifierArrayOutput) ToClassifierArrayOutput() ClassifierArrayOutput { 381 return o 382 } 383 384 func (o ClassifierArrayOutput) ToClassifierArrayOutputWithContext(ctx context.Context) ClassifierArrayOutput { 385 return o 386 } 387 388 func (o ClassifierArrayOutput) Index(i pulumi.IntInput) ClassifierOutput { 389 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Classifier { 390 return vs[0].([]*Classifier)[vs[1].(int)] 391 }).(ClassifierOutput) 392 } 393 394 type ClassifierMapOutput struct{ *pulumi.OutputState } 395 396 func (ClassifierMapOutput) ElementType() reflect.Type { 397 return reflect.TypeOf((*map[string]*Classifier)(nil)).Elem() 398 } 399 400 func (o ClassifierMapOutput) ToClassifierMapOutput() ClassifierMapOutput { 401 return o 402 } 403 404 func (o ClassifierMapOutput) ToClassifierMapOutputWithContext(ctx context.Context) ClassifierMapOutput { 405 return o 406 } 407 408 func (o ClassifierMapOutput) MapIndex(k pulumi.StringInput) ClassifierOutput { 409 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Classifier { 410 return vs[0].(map[string]*Classifier)[vs[1].(string)] 411 }).(ClassifierOutput) 412 } 413 414 func init() { 415 pulumi.RegisterInputType(reflect.TypeOf((*ClassifierInput)(nil)).Elem(), &Classifier{}) 416 pulumi.RegisterInputType(reflect.TypeOf((*ClassifierArrayInput)(nil)).Elem(), ClassifierArray{}) 417 pulumi.RegisterInputType(reflect.TypeOf((*ClassifierMapInput)(nil)).Elem(), ClassifierMap{}) 418 pulumi.RegisterOutputType(ClassifierOutput{}) 419 pulumi.RegisterOutputType(ClassifierArrayOutput{}) 420 pulumi.RegisterOutputType(ClassifierMapOutput{}) 421 }