github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/cloudtrail/eventDataStore.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 cloudtrail 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 CloudTrail Event Data Store. 15 // 16 // More information about event data stores can be found in the [Event Data Store User Guide](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/query-event-data-store.html). 17 // 18 // > **Tip:** For an organization event data store you must create this resource in the management account. 19 // 20 // ## Example Usage 21 // 22 // ### Basic 23 // 24 // The most simple event data store configuration requires us to only set the `name` attribute. The event data store will automatically capture all management events. To capture management events from all the regions, `multiRegionEnabled` must be `true`. 25 // 26 // <!--Start PulumiCodeChooser --> 27 // ```go 28 // package main 29 // 30 // import ( 31 // 32 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudtrail" 33 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 34 // 35 // ) 36 // 37 // func main() { 38 // pulumi.Run(func(ctx *pulumi.Context) error { 39 // _, err := cloudtrail.NewEventDataStore(ctx, "example", &cloudtrail.EventDataStoreArgs{ 40 // Name: pulumi.String("example-event-data-store"), 41 // }) 42 // if err != nil { 43 // return err 44 // } 45 // return nil 46 // }) 47 // } 48 // 49 // ``` 50 // <!--End PulumiCodeChooser --> 51 // 52 // ### Data Event Logging 53 // 54 // CloudTrail can log [Data Events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html) for certain services such as S3 bucket objects and Lambda function invocations. Additional information about data event configuration can be found in the following links: 55 // 56 // - [CloudTrail API AdvancedFieldSelector documentation](https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_AdvancedFieldSelector.html) 57 // 58 // ### Log all DynamoDB PutEvent actions for a specific DynamoDB table 59 // 60 // <!--Start PulumiCodeChooser --> 61 // ```go 62 // package main 63 // 64 // import ( 65 // 66 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudtrail" 67 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dynamodb" 68 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 69 // 70 // ) 71 // 72 // func main() { 73 // pulumi.Run(func(ctx *pulumi.Context) error { 74 // table, err := dynamodb.LookupTable(ctx, &dynamodb.LookupTableArgs{ 75 // Name: "not-important-dynamodb-table", 76 // }, nil) 77 // if err != nil { 78 // return err 79 // } 80 // _, err = cloudtrail.NewEventDataStore(ctx, "example", &cloudtrail.EventDataStoreArgs{ 81 // AdvancedEventSelectors: cloudtrail.EventDataStoreAdvancedEventSelectorArray{ 82 // &cloudtrail.EventDataStoreAdvancedEventSelectorArgs{ 83 // Name: pulumi.String("Log all DynamoDB PutEvent actions for a specific DynamoDB table"), 84 // FieldSelectors: cloudtrail.EventDataStoreAdvancedEventSelectorFieldSelectorArray{ 85 // &cloudtrail.EventDataStoreAdvancedEventSelectorFieldSelectorArgs{ 86 // Field: pulumi.String("eventCategory"), 87 // Equals: pulumi.StringArray{ 88 // pulumi.String("Data"), 89 // }, 90 // }, 91 // &cloudtrail.EventDataStoreAdvancedEventSelectorFieldSelectorArgs{ 92 // Field: pulumi.String("resources.type"), 93 // Equals: pulumi.StringArray{ 94 // pulumi.String("AWS::DynamoDB::Table"), 95 // }, 96 // }, 97 // &cloudtrail.EventDataStoreAdvancedEventSelectorFieldSelectorArgs{ 98 // Field: pulumi.String("eventName"), 99 // Equals: pulumi.StringArray{ 100 // pulumi.String("PutItem"), 101 // }, 102 // }, 103 // &cloudtrail.EventDataStoreAdvancedEventSelectorFieldSelectorArgs{ 104 // Field: pulumi.String("resources.ARN"), 105 // Equals: pulumi.StringArray{ 106 // pulumi.String(table.Arn), 107 // }, 108 // }, 109 // }, 110 // }, 111 // }, 112 // }) 113 // if err != nil { 114 // return err 115 // } 116 // return nil 117 // }) 118 // } 119 // 120 // ``` 121 // <!--End PulumiCodeChooser --> 122 // 123 // ## Import 124 // 125 // Using `pulumi import`, import event data stores using their `arn`. For example: 126 // 127 // ```sh 128 // $ pulumi import aws:cloudtrail/eventDataStore:EventDataStore example arn:aws:cloudtrail:us-east-1:123456789123:eventdatastore/22333815-4414-412c-b155-dd254033gfhf 129 // ``` 130 type EventDataStore struct { 131 pulumi.CustomResourceState 132 133 // The advanced event selectors to use to select the events for the data store. For more information about how to use advanced event selectors, see [Log events by using advanced event selectors](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#creating-data-event-selectors-advanced) in the CloudTrail User Guide. 134 AdvancedEventSelectors EventDataStoreAdvancedEventSelectorArrayOutput `pulumi:"advancedEventSelectors"` 135 // ARN of the event data store. 136 Arn pulumi.StringOutput `pulumi:"arn"` 137 // Specifies the AWS KMS key ID to use to encrypt the events delivered by CloudTrail. The value can be an alias name prefixed by alias/, a fully specified ARN to an alias, a fully specified ARN to a key, or a globally unique identifier. 138 KmsKeyId pulumi.StringPtrOutput `pulumi:"kmsKeyId"` 139 // Specifies whether the event data store includes events from all regions, or only from the region in which the event data store is created. Default: `true`. 140 MultiRegionEnabled pulumi.BoolPtrOutput `pulumi:"multiRegionEnabled"` 141 // The name of the event data store. 142 Name pulumi.StringOutput `pulumi:"name"` 143 // Specifies whether an event data store collects events logged for an organization in AWS Organizations. Default: `false`. 144 OrganizationEnabled pulumi.BoolPtrOutput `pulumi:"organizationEnabled"` 145 // The retention period of the event data store, in days. You can set a retention period of up to 2555 days, the equivalent of seven years. Default: `2555`. 146 RetentionPeriod pulumi.IntPtrOutput `pulumi:"retentionPeriod"` 147 // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 148 Tags pulumi.StringMapOutput `pulumi:"tags"` 149 // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 150 // 151 // Deprecated: Please use `tags` instead. 152 TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` 153 // Specifies whether termination protection is enabled for the event data store. If termination protection is enabled, you cannot delete the event data store until termination protection is disabled. Default: `true`. 154 TerminationProtectionEnabled pulumi.BoolPtrOutput `pulumi:"terminationProtectionEnabled"` 155 } 156 157 // NewEventDataStore registers a new resource with the given unique name, arguments, and options. 158 func NewEventDataStore(ctx *pulumi.Context, 159 name string, args *EventDataStoreArgs, opts ...pulumi.ResourceOption) (*EventDataStore, error) { 160 if args == nil { 161 args = &EventDataStoreArgs{} 162 } 163 164 opts = internal.PkgResourceDefaultOpts(opts) 165 var resource EventDataStore 166 err := ctx.RegisterResource("aws:cloudtrail/eventDataStore:EventDataStore", name, args, &resource, opts...) 167 if err != nil { 168 return nil, err 169 } 170 return &resource, nil 171 } 172 173 // GetEventDataStore gets an existing EventDataStore resource's state with the given name, ID, and optional 174 // state properties that are used to uniquely qualify the lookup (nil if not required). 175 func GetEventDataStore(ctx *pulumi.Context, 176 name string, id pulumi.IDInput, state *EventDataStoreState, opts ...pulumi.ResourceOption) (*EventDataStore, error) { 177 var resource EventDataStore 178 err := ctx.ReadResource("aws:cloudtrail/eventDataStore:EventDataStore", name, id, state, &resource, opts...) 179 if err != nil { 180 return nil, err 181 } 182 return &resource, nil 183 } 184 185 // Input properties used for looking up and filtering EventDataStore resources. 186 type eventDataStoreState struct { 187 // The advanced event selectors to use to select the events for the data store. For more information about how to use advanced event selectors, see [Log events by using advanced event selectors](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#creating-data-event-selectors-advanced) in the CloudTrail User Guide. 188 AdvancedEventSelectors []EventDataStoreAdvancedEventSelector `pulumi:"advancedEventSelectors"` 189 // ARN of the event data store. 190 Arn *string `pulumi:"arn"` 191 // Specifies the AWS KMS key ID to use to encrypt the events delivered by CloudTrail. The value can be an alias name prefixed by alias/, a fully specified ARN to an alias, a fully specified ARN to a key, or a globally unique identifier. 192 KmsKeyId *string `pulumi:"kmsKeyId"` 193 // Specifies whether the event data store includes events from all regions, or only from the region in which the event data store is created. Default: `true`. 194 MultiRegionEnabled *bool `pulumi:"multiRegionEnabled"` 195 // The name of the event data store. 196 Name *string `pulumi:"name"` 197 // Specifies whether an event data store collects events logged for an organization in AWS Organizations. Default: `false`. 198 OrganizationEnabled *bool `pulumi:"organizationEnabled"` 199 // The retention period of the event data store, in days. You can set a retention period of up to 2555 days, the equivalent of seven years. Default: `2555`. 200 RetentionPeriod *int `pulumi:"retentionPeriod"` 201 // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 202 Tags map[string]string `pulumi:"tags"` 203 // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 204 // 205 // Deprecated: Please use `tags` instead. 206 TagsAll map[string]string `pulumi:"tagsAll"` 207 // Specifies whether termination protection is enabled for the event data store. If termination protection is enabled, you cannot delete the event data store until termination protection is disabled. Default: `true`. 208 TerminationProtectionEnabled *bool `pulumi:"terminationProtectionEnabled"` 209 } 210 211 type EventDataStoreState struct { 212 // The advanced event selectors to use to select the events for the data store. For more information about how to use advanced event selectors, see [Log events by using advanced event selectors](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#creating-data-event-selectors-advanced) in the CloudTrail User Guide. 213 AdvancedEventSelectors EventDataStoreAdvancedEventSelectorArrayInput 214 // ARN of the event data store. 215 Arn pulumi.StringPtrInput 216 // Specifies the AWS KMS key ID to use to encrypt the events delivered by CloudTrail. The value can be an alias name prefixed by alias/, a fully specified ARN to an alias, a fully specified ARN to a key, or a globally unique identifier. 217 KmsKeyId pulumi.StringPtrInput 218 // Specifies whether the event data store includes events from all regions, or only from the region in which the event data store is created. Default: `true`. 219 MultiRegionEnabled pulumi.BoolPtrInput 220 // The name of the event data store. 221 Name pulumi.StringPtrInput 222 // Specifies whether an event data store collects events logged for an organization in AWS Organizations. Default: `false`. 223 OrganizationEnabled pulumi.BoolPtrInput 224 // The retention period of the event data store, in days. You can set a retention period of up to 2555 days, the equivalent of seven years. Default: `2555`. 225 RetentionPeriod pulumi.IntPtrInput 226 // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 227 Tags pulumi.StringMapInput 228 // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 229 // 230 // Deprecated: Please use `tags` instead. 231 TagsAll pulumi.StringMapInput 232 // Specifies whether termination protection is enabled for the event data store. If termination protection is enabled, you cannot delete the event data store until termination protection is disabled. Default: `true`. 233 TerminationProtectionEnabled pulumi.BoolPtrInput 234 } 235 236 func (EventDataStoreState) ElementType() reflect.Type { 237 return reflect.TypeOf((*eventDataStoreState)(nil)).Elem() 238 } 239 240 type eventDataStoreArgs struct { 241 // The advanced event selectors to use to select the events for the data store. For more information about how to use advanced event selectors, see [Log events by using advanced event selectors](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#creating-data-event-selectors-advanced) in the CloudTrail User Guide. 242 AdvancedEventSelectors []EventDataStoreAdvancedEventSelector `pulumi:"advancedEventSelectors"` 243 // Specifies the AWS KMS key ID to use to encrypt the events delivered by CloudTrail. The value can be an alias name prefixed by alias/, a fully specified ARN to an alias, a fully specified ARN to a key, or a globally unique identifier. 244 KmsKeyId *string `pulumi:"kmsKeyId"` 245 // Specifies whether the event data store includes events from all regions, or only from the region in which the event data store is created. Default: `true`. 246 MultiRegionEnabled *bool `pulumi:"multiRegionEnabled"` 247 // The name of the event data store. 248 Name *string `pulumi:"name"` 249 // Specifies whether an event data store collects events logged for an organization in AWS Organizations. Default: `false`. 250 OrganizationEnabled *bool `pulumi:"organizationEnabled"` 251 // The retention period of the event data store, in days. You can set a retention period of up to 2555 days, the equivalent of seven years. Default: `2555`. 252 RetentionPeriod *int `pulumi:"retentionPeriod"` 253 // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 254 Tags map[string]string `pulumi:"tags"` 255 // Specifies whether termination protection is enabled for the event data store. If termination protection is enabled, you cannot delete the event data store until termination protection is disabled. Default: `true`. 256 TerminationProtectionEnabled *bool `pulumi:"terminationProtectionEnabled"` 257 } 258 259 // The set of arguments for constructing a EventDataStore resource. 260 type EventDataStoreArgs struct { 261 // The advanced event selectors to use to select the events for the data store. For more information about how to use advanced event selectors, see [Log events by using advanced event selectors](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#creating-data-event-selectors-advanced) in the CloudTrail User Guide. 262 AdvancedEventSelectors EventDataStoreAdvancedEventSelectorArrayInput 263 // Specifies the AWS KMS key ID to use to encrypt the events delivered by CloudTrail. The value can be an alias name prefixed by alias/, a fully specified ARN to an alias, a fully specified ARN to a key, or a globally unique identifier. 264 KmsKeyId pulumi.StringPtrInput 265 // Specifies whether the event data store includes events from all regions, or only from the region in which the event data store is created. Default: `true`. 266 MultiRegionEnabled pulumi.BoolPtrInput 267 // The name of the event data store. 268 Name pulumi.StringPtrInput 269 // Specifies whether an event data store collects events logged for an organization in AWS Organizations. Default: `false`. 270 OrganizationEnabled pulumi.BoolPtrInput 271 // The retention period of the event data store, in days. You can set a retention period of up to 2555 days, the equivalent of seven years. Default: `2555`. 272 RetentionPeriod pulumi.IntPtrInput 273 // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 274 Tags pulumi.StringMapInput 275 // Specifies whether termination protection is enabled for the event data store. If termination protection is enabled, you cannot delete the event data store until termination protection is disabled. Default: `true`. 276 TerminationProtectionEnabled pulumi.BoolPtrInput 277 } 278 279 func (EventDataStoreArgs) ElementType() reflect.Type { 280 return reflect.TypeOf((*eventDataStoreArgs)(nil)).Elem() 281 } 282 283 type EventDataStoreInput interface { 284 pulumi.Input 285 286 ToEventDataStoreOutput() EventDataStoreOutput 287 ToEventDataStoreOutputWithContext(ctx context.Context) EventDataStoreOutput 288 } 289 290 func (*EventDataStore) ElementType() reflect.Type { 291 return reflect.TypeOf((**EventDataStore)(nil)).Elem() 292 } 293 294 func (i *EventDataStore) ToEventDataStoreOutput() EventDataStoreOutput { 295 return i.ToEventDataStoreOutputWithContext(context.Background()) 296 } 297 298 func (i *EventDataStore) ToEventDataStoreOutputWithContext(ctx context.Context) EventDataStoreOutput { 299 return pulumi.ToOutputWithContext(ctx, i).(EventDataStoreOutput) 300 } 301 302 // EventDataStoreArrayInput is an input type that accepts EventDataStoreArray and EventDataStoreArrayOutput values. 303 // You can construct a concrete instance of `EventDataStoreArrayInput` via: 304 // 305 // EventDataStoreArray{ EventDataStoreArgs{...} } 306 type EventDataStoreArrayInput interface { 307 pulumi.Input 308 309 ToEventDataStoreArrayOutput() EventDataStoreArrayOutput 310 ToEventDataStoreArrayOutputWithContext(context.Context) EventDataStoreArrayOutput 311 } 312 313 type EventDataStoreArray []EventDataStoreInput 314 315 func (EventDataStoreArray) ElementType() reflect.Type { 316 return reflect.TypeOf((*[]*EventDataStore)(nil)).Elem() 317 } 318 319 func (i EventDataStoreArray) ToEventDataStoreArrayOutput() EventDataStoreArrayOutput { 320 return i.ToEventDataStoreArrayOutputWithContext(context.Background()) 321 } 322 323 func (i EventDataStoreArray) ToEventDataStoreArrayOutputWithContext(ctx context.Context) EventDataStoreArrayOutput { 324 return pulumi.ToOutputWithContext(ctx, i).(EventDataStoreArrayOutput) 325 } 326 327 // EventDataStoreMapInput is an input type that accepts EventDataStoreMap and EventDataStoreMapOutput values. 328 // You can construct a concrete instance of `EventDataStoreMapInput` via: 329 // 330 // EventDataStoreMap{ "key": EventDataStoreArgs{...} } 331 type EventDataStoreMapInput interface { 332 pulumi.Input 333 334 ToEventDataStoreMapOutput() EventDataStoreMapOutput 335 ToEventDataStoreMapOutputWithContext(context.Context) EventDataStoreMapOutput 336 } 337 338 type EventDataStoreMap map[string]EventDataStoreInput 339 340 func (EventDataStoreMap) ElementType() reflect.Type { 341 return reflect.TypeOf((*map[string]*EventDataStore)(nil)).Elem() 342 } 343 344 func (i EventDataStoreMap) ToEventDataStoreMapOutput() EventDataStoreMapOutput { 345 return i.ToEventDataStoreMapOutputWithContext(context.Background()) 346 } 347 348 func (i EventDataStoreMap) ToEventDataStoreMapOutputWithContext(ctx context.Context) EventDataStoreMapOutput { 349 return pulumi.ToOutputWithContext(ctx, i).(EventDataStoreMapOutput) 350 } 351 352 type EventDataStoreOutput struct{ *pulumi.OutputState } 353 354 func (EventDataStoreOutput) ElementType() reflect.Type { 355 return reflect.TypeOf((**EventDataStore)(nil)).Elem() 356 } 357 358 func (o EventDataStoreOutput) ToEventDataStoreOutput() EventDataStoreOutput { 359 return o 360 } 361 362 func (o EventDataStoreOutput) ToEventDataStoreOutputWithContext(ctx context.Context) EventDataStoreOutput { 363 return o 364 } 365 366 // The advanced event selectors to use to select the events for the data store. For more information about how to use advanced event selectors, see [Log events by using advanced event selectors](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#creating-data-event-selectors-advanced) in the CloudTrail User Guide. 367 func (o EventDataStoreOutput) AdvancedEventSelectors() EventDataStoreAdvancedEventSelectorArrayOutput { 368 return o.ApplyT(func(v *EventDataStore) EventDataStoreAdvancedEventSelectorArrayOutput { 369 return v.AdvancedEventSelectors 370 }).(EventDataStoreAdvancedEventSelectorArrayOutput) 371 } 372 373 // ARN of the event data store. 374 func (o EventDataStoreOutput) Arn() pulumi.StringOutput { 375 return o.ApplyT(func(v *EventDataStore) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 376 } 377 378 // Specifies the AWS KMS key ID to use to encrypt the events delivered by CloudTrail. The value can be an alias name prefixed by alias/, a fully specified ARN to an alias, a fully specified ARN to a key, or a globally unique identifier. 379 func (o EventDataStoreOutput) KmsKeyId() pulumi.StringPtrOutput { 380 return o.ApplyT(func(v *EventDataStore) pulumi.StringPtrOutput { return v.KmsKeyId }).(pulumi.StringPtrOutput) 381 } 382 383 // Specifies whether the event data store includes events from all regions, or only from the region in which the event data store is created. Default: `true`. 384 func (o EventDataStoreOutput) MultiRegionEnabled() pulumi.BoolPtrOutput { 385 return o.ApplyT(func(v *EventDataStore) pulumi.BoolPtrOutput { return v.MultiRegionEnabled }).(pulumi.BoolPtrOutput) 386 } 387 388 // The name of the event data store. 389 func (o EventDataStoreOutput) Name() pulumi.StringOutput { 390 return o.ApplyT(func(v *EventDataStore) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) 391 } 392 393 // Specifies whether an event data store collects events logged for an organization in AWS Organizations. Default: `false`. 394 func (o EventDataStoreOutput) OrganizationEnabled() pulumi.BoolPtrOutput { 395 return o.ApplyT(func(v *EventDataStore) pulumi.BoolPtrOutput { return v.OrganizationEnabled }).(pulumi.BoolPtrOutput) 396 } 397 398 // The retention period of the event data store, in days. You can set a retention period of up to 2555 days, the equivalent of seven years. Default: `2555`. 399 func (o EventDataStoreOutput) RetentionPeriod() pulumi.IntPtrOutput { 400 return o.ApplyT(func(v *EventDataStore) pulumi.IntPtrOutput { return v.RetentionPeriod }).(pulumi.IntPtrOutput) 401 } 402 403 // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 404 func (o EventDataStoreOutput) Tags() pulumi.StringMapOutput { 405 return o.ApplyT(func(v *EventDataStore) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) 406 } 407 408 // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 409 // 410 // Deprecated: Please use `tags` instead. 411 func (o EventDataStoreOutput) TagsAll() pulumi.StringMapOutput { 412 return o.ApplyT(func(v *EventDataStore) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) 413 } 414 415 // Specifies whether termination protection is enabled for the event data store. If termination protection is enabled, you cannot delete the event data store until termination protection is disabled. Default: `true`. 416 func (o EventDataStoreOutput) TerminationProtectionEnabled() pulumi.BoolPtrOutput { 417 return o.ApplyT(func(v *EventDataStore) pulumi.BoolPtrOutput { return v.TerminationProtectionEnabled }).(pulumi.BoolPtrOutput) 418 } 419 420 type EventDataStoreArrayOutput struct{ *pulumi.OutputState } 421 422 func (EventDataStoreArrayOutput) ElementType() reflect.Type { 423 return reflect.TypeOf((*[]*EventDataStore)(nil)).Elem() 424 } 425 426 func (o EventDataStoreArrayOutput) ToEventDataStoreArrayOutput() EventDataStoreArrayOutput { 427 return o 428 } 429 430 func (o EventDataStoreArrayOutput) ToEventDataStoreArrayOutputWithContext(ctx context.Context) EventDataStoreArrayOutput { 431 return o 432 } 433 434 func (o EventDataStoreArrayOutput) Index(i pulumi.IntInput) EventDataStoreOutput { 435 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *EventDataStore { 436 return vs[0].([]*EventDataStore)[vs[1].(int)] 437 }).(EventDataStoreOutput) 438 } 439 440 type EventDataStoreMapOutput struct{ *pulumi.OutputState } 441 442 func (EventDataStoreMapOutput) ElementType() reflect.Type { 443 return reflect.TypeOf((*map[string]*EventDataStore)(nil)).Elem() 444 } 445 446 func (o EventDataStoreMapOutput) ToEventDataStoreMapOutput() EventDataStoreMapOutput { 447 return o 448 } 449 450 func (o EventDataStoreMapOutput) ToEventDataStoreMapOutputWithContext(ctx context.Context) EventDataStoreMapOutput { 451 return o 452 } 453 454 func (o EventDataStoreMapOutput) MapIndex(k pulumi.StringInput) EventDataStoreOutput { 455 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *EventDataStore { 456 return vs[0].(map[string]*EventDataStore)[vs[1].(string)] 457 }).(EventDataStoreOutput) 458 } 459 460 func init() { 461 pulumi.RegisterInputType(reflect.TypeOf((*EventDataStoreInput)(nil)).Elem(), &EventDataStore{}) 462 pulumi.RegisterInputType(reflect.TypeOf((*EventDataStoreArrayInput)(nil)).Elem(), EventDataStoreArray{}) 463 pulumi.RegisterInputType(reflect.TypeOf((*EventDataStoreMapInput)(nil)).Elem(), EventDataStoreMap{}) 464 pulumi.RegisterOutputType(EventDataStoreOutput{}) 465 pulumi.RegisterOutputType(EventDataStoreArrayOutput{}) 466 pulumi.RegisterOutputType(EventDataStoreMapOutput{}) 467 }