github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/verifiedaccess/instanceLoggingConfiguration.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 verifiedaccess 5 6 import ( 7 "context" 8 "reflect" 9 10 "errors" 11 "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" 12 "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 13 ) 14 15 // Resource for managing a Verified Access Logging Configuration. 16 // 17 // ## Example Usage 18 // 19 // ### With CloudWatch Logging 20 // 21 // <!--Start PulumiCodeChooser --> 22 // ```go 23 // package main 24 // 25 // import ( 26 // 27 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/verifiedaccess" 28 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 29 // 30 // ) 31 // 32 // func main() { 33 // pulumi.Run(func(ctx *pulumi.Context) error { 34 // _, err := verifiedaccess.NewInstanceLoggingConfiguration(ctx, "example", &verifiedaccess.InstanceLoggingConfigurationArgs{ 35 // AccessLogs: &verifiedaccess.InstanceLoggingConfigurationAccessLogsArgs{ 36 // CloudwatchLogs: &verifiedaccess.InstanceLoggingConfigurationAccessLogsCloudwatchLogsArgs{ 37 // Enabled: pulumi.Bool(true), 38 // LogGroup: pulumi.Any(exampleAwsCloudwatchLogGroup.Id), 39 // }, 40 // }, 41 // VerifiedaccessInstanceId: pulumi.Any(exampleAwsVerifiedaccessInstance.Id), 42 // }) 43 // if err != nil { 44 // return err 45 // } 46 // return nil 47 // }) 48 // } 49 // 50 // ``` 51 // <!--End PulumiCodeChooser --> 52 // 53 // ### With Kinesis Data Firehose Logging 54 // 55 // <!--Start PulumiCodeChooser --> 56 // ```go 57 // package main 58 // 59 // import ( 60 // 61 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/verifiedaccess" 62 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 63 // 64 // ) 65 // 66 // func main() { 67 // pulumi.Run(func(ctx *pulumi.Context) error { 68 // _, err := verifiedaccess.NewInstanceLoggingConfiguration(ctx, "example", &verifiedaccess.InstanceLoggingConfigurationArgs{ 69 // AccessLogs: &verifiedaccess.InstanceLoggingConfigurationAccessLogsArgs{ 70 // KinesisDataFirehose: &verifiedaccess.InstanceLoggingConfigurationAccessLogsKinesisDataFirehoseArgs{ 71 // DeliveryStream: pulumi.Any(exampleAwsKinesisFirehoseDeliveryStream.Name), 72 // Enabled: pulumi.Bool(true), 73 // }, 74 // }, 75 // VerifiedaccessInstanceId: pulumi.Any(exampleAwsVerifiedaccessInstance.Id), 76 // }) 77 // if err != nil { 78 // return err 79 // } 80 // return nil 81 // }) 82 // } 83 // 84 // ``` 85 // <!--End PulumiCodeChooser --> 86 // 87 // ### With S3 logging 88 // 89 // <!--Start PulumiCodeChooser --> 90 // ```go 91 // package main 92 // 93 // import ( 94 // 95 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/verifiedaccess" 96 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 97 // 98 // ) 99 // 100 // func main() { 101 // pulumi.Run(func(ctx *pulumi.Context) error { 102 // _, err := verifiedaccess.NewInstanceLoggingConfiguration(ctx, "example", &verifiedaccess.InstanceLoggingConfigurationArgs{ 103 // AccessLogs: &verifiedaccess.InstanceLoggingConfigurationAccessLogsArgs{ 104 // S3: &verifiedaccess.InstanceLoggingConfigurationAccessLogsS3Args{ 105 // BucketName: pulumi.Any(exampleAwsS3Bucket.Id), 106 // Enabled: pulumi.Bool(true), 107 // Prefix: pulumi.String("example"), 108 // }, 109 // }, 110 // VerifiedaccessInstanceId: pulumi.Any(exampleAwsVerifiedaccessInstance.Id), 111 // }) 112 // if err != nil { 113 // return err 114 // } 115 // return nil 116 // }) 117 // } 118 // 119 // ``` 120 // <!--End PulumiCodeChooser --> 121 // 122 // ### With all three logging options 123 // 124 // <!--Start PulumiCodeChooser --> 125 // ```go 126 // package main 127 // 128 // import ( 129 // 130 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/verifiedaccess" 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 := verifiedaccess.NewInstanceLoggingConfiguration(ctx, "example", &verifiedaccess.InstanceLoggingConfigurationArgs{ 138 // AccessLogs: &verifiedaccess.InstanceLoggingConfigurationAccessLogsArgs{ 139 // CloudwatchLogs: &verifiedaccess.InstanceLoggingConfigurationAccessLogsCloudwatchLogsArgs{ 140 // Enabled: pulumi.Bool(true), 141 // LogGroup: pulumi.Any(exampleAwsCloudwatchLogGroup.Id), 142 // }, 143 // KinesisDataFirehose: &verifiedaccess.InstanceLoggingConfigurationAccessLogsKinesisDataFirehoseArgs{ 144 // DeliveryStream: pulumi.Any(exampleAwsKinesisFirehoseDeliveryStream.Name), 145 // Enabled: pulumi.Bool(true), 146 // }, 147 // S3: &verifiedaccess.InstanceLoggingConfigurationAccessLogsS3Args{ 148 // BucketName: pulumi.Any(exampleAwsS3Bucket.Id), 149 // Enabled: pulumi.Bool(true), 150 // }, 151 // }, 152 // VerifiedaccessInstanceId: pulumi.Any(exampleAwsVerifiedaccessInstance.Id), 153 // }) 154 // if err != nil { 155 // return err 156 // } 157 // return nil 158 // }) 159 // } 160 // 161 // ``` 162 // <!--End PulumiCodeChooser --> 163 // 164 // ### With `includeTrustContext` 165 // 166 // <!--Start PulumiCodeChooser --> 167 // ```go 168 // package main 169 // 170 // import ( 171 // 172 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/verifiedaccess" 173 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 174 // 175 // ) 176 // 177 // func main() { 178 // pulumi.Run(func(ctx *pulumi.Context) error { 179 // _, err := verifiedaccess.NewInstanceLoggingConfiguration(ctx, "example", &verifiedaccess.InstanceLoggingConfigurationArgs{ 180 // AccessLogs: &verifiedaccess.InstanceLoggingConfigurationAccessLogsArgs{ 181 // IncludeTrustContext: pulumi.Bool(true), 182 // }, 183 // VerifiedaccessInstanceId: pulumi.Any(exampleAwsVerifiedaccessInstance.Id), 184 // }) 185 // if err != nil { 186 // return err 187 // } 188 // return nil 189 // }) 190 // } 191 // 192 // ``` 193 // <!--End PulumiCodeChooser --> 194 // 195 // ### With `logVersion` 196 // 197 // <!--Start PulumiCodeChooser --> 198 // ```go 199 // package main 200 // 201 // import ( 202 // 203 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/verifiedaccess" 204 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 205 // 206 // ) 207 // 208 // func main() { 209 // pulumi.Run(func(ctx *pulumi.Context) error { 210 // _, err := verifiedaccess.NewInstanceLoggingConfiguration(ctx, "example", &verifiedaccess.InstanceLoggingConfigurationArgs{ 211 // AccessLogs: &verifiedaccess.InstanceLoggingConfigurationAccessLogsArgs{ 212 // LogVersion: pulumi.String("ocsf-1.0.0-rc.2"), 213 // }, 214 // VerifiedaccessInstanceId: pulumi.Any(exampleAwsVerifiedaccessInstance.Id), 215 // }) 216 // if err != nil { 217 // return err 218 // } 219 // return nil 220 // }) 221 // } 222 // 223 // ``` 224 // <!--End PulumiCodeChooser --> 225 // 226 // ## Import 227 // 228 // Using `pulumi import`, import Verified Access Logging Configuration using the Verified Access Instance `id`. For example: 229 // 230 // ```sh 231 // $ pulumi import aws:verifiedaccess/instanceLoggingConfiguration:InstanceLoggingConfiguration example vai-1234567890abcdef0 232 // ``` 233 type InstanceLoggingConfiguration struct { 234 pulumi.CustomResourceState 235 236 // A block that specifies the configuration options for Verified Access instances. Detailed below. 237 AccessLogs InstanceLoggingConfigurationAccessLogsOutput `pulumi:"accessLogs"` 238 // The ID of the Verified Access instance. 239 VerifiedaccessInstanceId pulumi.StringOutput `pulumi:"verifiedaccessInstanceId"` 240 } 241 242 // NewInstanceLoggingConfiguration registers a new resource with the given unique name, arguments, and options. 243 func NewInstanceLoggingConfiguration(ctx *pulumi.Context, 244 name string, args *InstanceLoggingConfigurationArgs, opts ...pulumi.ResourceOption) (*InstanceLoggingConfiguration, error) { 245 if args == nil { 246 return nil, errors.New("missing one or more required arguments") 247 } 248 249 if args.AccessLogs == nil { 250 return nil, errors.New("invalid value for required argument 'AccessLogs'") 251 } 252 if args.VerifiedaccessInstanceId == nil { 253 return nil, errors.New("invalid value for required argument 'VerifiedaccessInstanceId'") 254 } 255 opts = internal.PkgResourceDefaultOpts(opts) 256 var resource InstanceLoggingConfiguration 257 err := ctx.RegisterResource("aws:verifiedaccess/instanceLoggingConfiguration:InstanceLoggingConfiguration", name, args, &resource, opts...) 258 if err != nil { 259 return nil, err 260 } 261 return &resource, nil 262 } 263 264 // GetInstanceLoggingConfiguration gets an existing InstanceLoggingConfiguration resource's state with the given name, ID, and optional 265 // state properties that are used to uniquely qualify the lookup (nil if not required). 266 func GetInstanceLoggingConfiguration(ctx *pulumi.Context, 267 name string, id pulumi.IDInput, state *InstanceLoggingConfigurationState, opts ...pulumi.ResourceOption) (*InstanceLoggingConfiguration, error) { 268 var resource InstanceLoggingConfiguration 269 err := ctx.ReadResource("aws:verifiedaccess/instanceLoggingConfiguration:InstanceLoggingConfiguration", name, id, state, &resource, opts...) 270 if err != nil { 271 return nil, err 272 } 273 return &resource, nil 274 } 275 276 // Input properties used for looking up and filtering InstanceLoggingConfiguration resources. 277 type instanceLoggingConfigurationState struct { 278 // A block that specifies the configuration options for Verified Access instances. Detailed below. 279 AccessLogs *InstanceLoggingConfigurationAccessLogs `pulumi:"accessLogs"` 280 // The ID of the Verified Access instance. 281 VerifiedaccessInstanceId *string `pulumi:"verifiedaccessInstanceId"` 282 } 283 284 type InstanceLoggingConfigurationState struct { 285 // A block that specifies the configuration options for Verified Access instances. Detailed below. 286 AccessLogs InstanceLoggingConfigurationAccessLogsPtrInput 287 // The ID of the Verified Access instance. 288 VerifiedaccessInstanceId pulumi.StringPtrInput 289 } 290 291 func (InstanceLoggingConfigurationState) ElementType() reflect.Type { 292 return reflect.TypeOf((*instanceLoggingConfigurationState)(nil)).Elem() 293 } 294 295 type instanceLoggingConfigurationArgs struct { 296 // A block that specifies the configuration options for Verified Access instances. Detailed below. 297 AccessLogs InstanceLoggingConfigurationAccessLogs `pulumi:"accessLogs"` 298 // The ID of the Verified Access instance. 299 VerifiedaccessInstanceId string `pulumi:"verifiedaccessInstanceId"` 300 } 301 302 // The set of arguments for constructing a InstanceLoggingConfiguration resource. 303 type InstanceLoggingConfigurationArgs struct { 304 // A block that specifies the configuration options for Verified Access instances. Detailed below. 305 AccessLogs InstanceLoggingConfigurationAccessLogsInput 306 // The ID of the Verified Access instance. 307 VerifiedaccessInstanceId pulumi.StringInput 308 } 309 310 func (InstanceLoggingConfigurationArgs) ElementType() reflect.Type { 311 return reflect.TypeOf((*instanceLoggingConfigurationArgs)(nil)).Elem() 312 } 313 314 type InstanceLoggingConfigurationInput interface { 315 pulumi.Input 316 317 ToInstanceLoggingConfigurationOutput() InstanceLoggingConfigurationOutput 318 ToInstanceLoggingConfigurationOutputWithContext(ctx context.Context) InstanceLoggingConfigurationOutput 319 } 320 321 func (*InstanceLoggingConfiguration) ElementType() reflect.Type { 322 return reflect.TypeOf((**InstanceLoggingConfiguration)(nil)).Elem() 323 } 324 325 func (i *InstanceLoggingConfiguration) ToInstanceLoggingConfigurationOutput() InstanceLoggingConfigurationOutput { 326 return i.ToInstanceLoggingConfigurationOutputWithContext(context.Background()) 327 } 328 329 func (i *InstanceLoggingConfiguration) ToInstanceLoggingConfigurationOutputWithContext(ctx context.Context) InstanceLoggingConfigurationOutput { 330 return pulumi.ToOutputWithContext(ctx, i).(InstanceLoggingConfigurationOutput) 331 } 332 333 // InstanceLoggingConfigurationArrayInput is an input type that accepts InstanceLoggingConfigurationArray and InstanceLoggingConfigurationArrayOutput values. 334 // You can construct a concrete instance of `InstanceLoggingConfigurationArrayInput` via: 335 // 336 // InstanceLoggingConfigurationArray{ InstanceLoggingConfigurationArgs{...} } 337 type InstanceLoggingConfigurationArrayInput interface { 338 pulumi.Input 339 340 ToInstanceLoggingConfigurationArrayOutput() InstanceLoggingConfigurationArrayOutput 341 ToInstanceLoggingConfigurationArrayOutputWithContext(context.Context) InstanceLoggingConfigurationArrayOutput 342 } 343 344 type InstanceLoggingConfigurationArray []InstanceLoggingConfigurationInput 345 346 func (InstanceLoggingConfigurationArray) ElementType() reflect.Type { 347 return reflect.TypeOf((*[]*InstanceLoggingConfiguration)(nil)).Elem() 348 } 349 350 func (i InstanceLoggingConfigurationArray) ToInstanceLoggingConfigurationArrayOutput() InstanceLoggingConfigurationArrayOutput { 351 return i.ToInstanceLoggingConfigurationArrayOutputWithContext(context.Background()) 352 } 353 354 func (i InstanceLoggingConfigurationArray) ToInstanceLoggingConfigurationArrayOutputWithContext(ctx context.Context) InstanceLoggingConfigurationArrayOutput { 355 return pulumi.ToOutputWithContext(ctx, i).(InstanceLoggingConfigurationArrayOutput) 356 } 357 358 // InstanceLoggingConfigurationMapInput is an input type that accepts InstanceLoggingConfigurationMap and InstanceLoggingConfigurationMapOutput values. 359 // You can construct a concrete instance of `InstanceLoggingConfigurationMapInput` via: 360 // 361 // InstanceLoggingConfigurationMap{ "key": InstanceLoggingConfigurationArgs{...} } 362 type InstanceLoggingConfigurationMapInput interface { 363 pulumi.Input 364 365 ToInstanceLoggingConfigurationMapOutput() InstanceLoggingConfigurationMapOutput 366 ToInstanceLoggingConfigurationMapOutputWithContext(context.Context) InstanceLoggingConfigurationMapOutput 367 } 368 369 type InstanceLoggingConfigurationMap map[string]InstanceLoggingConfigurationInput 370 371 func (InstanceLoggingConfigurationMap) ElementType() reflect.Type { 372 return reflect.TypeOf((*map[string]*InstanceLoggingConfiguration)(nil)).Elem() 373 } 374 375 func (i InstanceLoggingConfigurationMap) ToInstanceLoggingConfigurationMapOutput() InstanceLoggingConfigurationMapOutput { 376 return i.ToInstanceLoggingConfigurationMapOutputWithContext(context.Background()) 377 } 378 379 func (i InstanceLoggingConfigurationMap) ToInstanceLoggingConfigurationMapOutputWithContext(ctx context.Context) InstanceLoggingConfigurationMapOutput { 380 return pulumi.ToOutputWithContext(ctx, i).(InstanceLoggingConfigurationMapOutput) 381 } 382 383 type InstanceLoggingConfigurationOutput struct{ *pulumi.OutputState } 384 385 func (InstanceLoggingConfigurationOutput) ElementType() reflect.Type { 386 return reflect.TypeOf((**InstanceLoggingConfiguration)(nil)).Elem() 387 } 388 389 func (o InstanceLoggingConfigurationOutput) ToInstanceLoggingConfigurationOutput() InstanceLoggingConfigurationOutput { 390 return o 391 } 392 393 func (o InstanceLoggingConfigurationOutput) ToInstanceLoggingConfigurationOutputWithContext(ctx context.Context) InstanceLoggingConfigurationOutput { 394 return o 395 } 396 397 // A block that specifies the configuration options for Verified Access instances. Detailed below. 398 func (o InstanceLoggingConfigurationOutput) AccessLogs() InstanceLoggingConfigurationAccessLogsOutput { 399 return o.ApplyT(func(v *InstanceLoggingConfiguration) InstanceLoggingConfigurationAccessLogsOutput { 400 return v.AccessLogs 401 }).(InstanceLoggingConfigurationAccessLogsOutput) 402 } 403 404 // The ID of the Verified Access instance. 405 func (o InstanceLoggingConfigurationOutput) VerifiedaccessInstanceId() pulumi.StringOutput { 406 return o.ApplyT(func(v *InstanceLoggingConfiguration) pulumi.StringOutput { return v.VerifiedaccessInstanceId }).(pulumi.StringOutput) 407 } 408 409 type InstanceLoggingConfigurationArrayOutput struct{ *pulumi.OutputState } 410 411 func (InstanceLoggingConfigurationArrayOutput) ElementType() reflect.Type { 412 return reflect.TypeOf((*[]*InstanceLoggingConfiguration)(nil)).Elem() 413 } 414 415 func (o InstanceLoggingConfigurationArrayOutput) ToInstanceLoggingConfigurationArrayOutput() InstanceLoggingConfigurationArrayOutput { 416 return o 417 } 418 419 func (o InstanceLoggingConfigurationArrayOutput) ToInstanceLoggingConfigurationArrayOutputWithContext(ctx context.Context) InstanceLoggingConfigurationArrayOutput { 420 return o 421 } 422 423 func (o InstanceLoggingConfigurationArrayOutput) Index(i pulumi.IntInput) InstanceLoggingConfigurationOutput { 424 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *InstanceLoggingConfiguration { 425 return vs[0].([]*InstanceLoggingConfiguration)[vs[1].(int)] 426 }).(InstanceLoggingConfigurationOutput) 427 } 428 429 type InstanceLoggingConfigurationMapOutput struct{ *pulumi.OutputState } 430 431 func (InstanceLoggingConfigurationMapOutput) ElementType() reflect.Type { 432 return reflect.TypeOf((*map[string]*InstanceLoggingConfiguration)(nil)).Elem() 433 } 434 435 func (o InstanceLoggingConfigurationMapOutput) ToInstanceLoggingConfigurationMapOutput() InstanceLoggingConfigurationMapOutput { 436 return o 437 } 438 439 func (o InstanceLoggingConfigurationMapOutput) ToInstanceLoggingConfigurationMapOutputWithContext(ctx context.Context) InstanceLoggingConfigurationMapOutput { 440 return o 441 } 442 443 func (o InstanceLoggingConfigurationMapOutput) MapIndex(k pulumi.StringInput) InstanceLoggingConfigurationOutput { 444 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *InstanceLoggingConfiguration { 445 return vs[0].(map[string]*InstanceLoggingConfiguration)[vs[1].(string)] 446 }).(InstanceLoggingConfigurationOutput) 447 } 448 449 func init() { 450 pulumi.RegisterInputType(reflect.TypeOf((*InstanceLoggingConfigurationInput)(nil)).Elem(), &InstanceLoggingConfiguration{}) 451 pulumi.RegisterInputType(reflect.TypeOf((*InstanceLoggingConfigurationArrayInput)(nil)).Elem(), InstanceLoggingConfigurationArray{}) 452 pulumi.RegisterInputType(reflect.TypeOf((*InstanceLoggingConfigurationMapInput)(nil)).Elem(), InstanceLoggingConfigurationMap{}) 453 pulumi.RegisterOutputType(InstanceLoggingConfigurationOutput{}) 454 pulumi.RegisterOutputType(InstanceLoggingConfigurationArrayOutput{}) 455 pulumi.RegisterOutputType(InstanceLoggingConfigurationMapOutput{}) 456 }