github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/securitylake/subscriber.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 securitylake 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 // Resource for managing an AWS Security Lake Subscriber. 15 // 16 // ## Import 17 // 18 // Using `pulumi import`, import Security Lake subscriber using the subscriber ID. For example: 19 // 20 // ```sh 21 // $ pulumi import aws:securitylake/subscriber:Subscriber example 9f3bfe79-d543-474d-a93c-f3846805d208 22 // ``` 23 type Subscriber struct { 24 pulumi.CustomResourceState 25 26 AccessType pulumi.StringOutput `pulumi:"accessType"` 27 // ARN of the Data Lake. 28 Arn pulumi.StringOutput `pulumi:"arn"` 29 // The Amazon Resource Name (ARN) which uniquely defines the AWS RAM resource share. Before accepting the RAM resource share invitation, you can view details related to the RAM resource share. 30 ResourceShareArn pulumi.StringOutput `pulumi:"resourceShareArn"` 31 // The name of the resource share. 32 ResourceShareName pulumi.StringOutput `pulumi:"resourceShareName"` 33 // The ARN of the IAM role to be used by the entity putting logs into your custom source partition. 34 RoleArn pulumi.StringOutput `pulumi:"roleArn"` 35 // The ARN for the Amazon Security Lake Amazon S3 bucket. 36 S3BucketArn pulumi.StringOutput `pulumi:"s3BucketArn"` 37 // The supported AWS services from which logs and events are collected. Security Lake supports log and event collection for natively supported AWS services. 38 Source SubscriberSourcePtrOutput `pulumi:"source"` 39 // The description for your subscriber account in Security Lake. 40 SubscriberDescription pulumi.StringPtrOutput `pulumi:"subscriberDescription"` 41 // The subscriber endpoint to which exception messages are posted. 42 SubscriberEndpoint pulumi.StringOutput `pulumi:"subscriberEndpoint"` 43 // The AWS identity used to access your data. 44 SubscriberIdentity SubscriberSubscriberIdentityPtrOutput `pulumi:"subscriberIdentity"` 45 // The name of your Security Lake subscriber account. 46 SubscriberName pulumi.StringPtrOutput `pulumi:"subscriberName"` 47 // The subscriber status of the Amazon Security Lake subscriber account. 48 SubscriberStatus pulumi.StringOutput `pulumi:"subscriberStatus"` 49 // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 50 Tags pulumi.StringMapOutput `pulumi:"tags"` 51 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 52 // 53 // Deprecated: Please use `tags` instead. 54 TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` 55 Timeouts SubscriberTimeoutsPtrOutput `pulumi:"timeouts"` 56 } 57 58 // NewSubscriber registers a new resource with the given unique name, arguments, and options. 59 func NewSubscriber(ctx *pulumi.Context, 60 name string, args *SubscriberArgs, opts ...pulumi.ResourceOption) (*Subscriber, error) { 61 if args == nil { 62 args = &SubscriberArgs{} 63 } 64 65 opts = internal.PkgResourceDefaultOpts(opts) 66 var resource Subscriber 67 err := ctx.RegisterResource("aws:securitylake/subscriber:Subscriber", name, args, &resource, opts...) 68 if err != nil { 69 return nil, err 70 } 71 return &resource, nil 72 } 73 74 // GetSubscriber gets an existing Subscriber resource's state with the given name, ID, and optional 75 // state properties that are used to uniquely qualify the lookup (nil if not required). 76 func GetSubscriber(ctx *pulumi.Context, 77 name string, id pulumi.IDInput, state *SubscriberState, opts ...pulumi.ResourceOption) (*Subscriber, error) { 78 var resource Subscriber 79 err := ctx.ReadResource("aws:securitylake/subscriber:Subscriber", name, id, state, &resource, opts...) 80 if err != nil { 81 return nil, err 82 } 83 return &resource, nil 84 } 85 86 // Input properties used for looking up and filtering Subscriber resources. 87 type subscriberState struct { 88 AccessType *string `pulumi:"accessType"` 89 // ARN of the Data Lake. 90 Arn *string `pulumi:"arn"` 91 // The Amazon Resource Name (ARN) which uniquely defines the AWS RAM resource share. Before accepting the RAM resource share invitation, you can view details related to the RAM resource share. 92 ResourceShareArn *string `pulumi:"resourceShareArn"` 93 // The name of the resource share. 94 ResourceShareName *string `pulumi:"resourceShareName"` 95 // The ARN of the IAM role to be used by the entity putting logs into your custom source partition. 96 RoleArn *string `pulumi:"roleArn"` 97 // The ARN for the Amazon Security Lake Amazon S3 bucket. 98 S3BucketArn *string `pulumi:"s3BucketArn"` 99 // The supported AWS services from which logs and events are collected. Security Lake supports log and event collection for natively supported AWS services. 100 Source *SubscriberSource `pulumi:"source"` 101 // The description for your subscriber account in Security Lake. 102 SubscriberDescription *string `pulumi:"subscriberDescription"` 103 // The subscriber endpoint to which exception messages are posted. 104 SubscriberEndpoint *string `pulumi:"subscriberEndpoint"` 105 // The AWS identity used to access your data. 106 SubscriberIdentity *SubscriberSubscriberIdentity `pulumi:"subscriberIdentity"` 107 // The name of your Security Lake subscriber account. 108 SubscriberName *string `pulumi:"subscriberName"` 109 // The subscriber status of the Amazon Security Lake subscriber account. 110 SubscriberStatus *string `pulumi:"subscriberStatus"` 111 // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 112 Tags map[string]string `pulumi:"tags"` 113 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 114 // 115 // Deprecated: Please use `tags` instead. 116 TagsAll map[string]string `pulumi:"tagsAll"` 117 Timeouts *SubscriberTimeouts `pulumi:"timeouts"` 118 } 119 120 type SubscriberState struct { 121 AccessType pulumi.StringPtrInput 122 // ARN of the Data Lake. 123 Arn pulumi.StringPtrInput 124 // The Amazon Resource Name (ARN) which uniquely defines the AWS RAM resource share. Before accepting the RAM resource share invitation, you can view details related to the RAM resource share. 125 ResourceShareArn pulumi.StringPtrInput 126 // The name of the resource share. 127 ResourceShareName pulumi.StringPtrInput 128 // The ARN of the IAM role to be used by the entity putting logs into your custom source partition. 129 RoleArn pulumi.StringPtrInput 130 // The ARN for the Amazon Security Lake Amazon S3 bucket. 131 S3BucketArn pulumi.StringPtrInput 132 // The supported AWS services from which logs and events are collected. Security Lake supports log and event collection for natively supported AWS services. 133 Source SubscriberSourcePtrInput 134 // The description for your subscriber account in Security Lake. 135 SubscriberDescription pulumi.StringPtrInput 136 // The subscriber endpoint to which exception messages are posted. 137 SubscriberEndpoint pulumi.StringPtrInput 138 // The AWS identity used to access your data. 139 SubscriberIdentity SubscriberSubscriberIdentityPtrInput 140 // The name of your Security Lake subscriber account. 141 SubscriberName pulumi.StringPtrInput 142 // The subscriber status of the Amazon Security Lake subscriber account. 143 SubscriberStatus pulumi.StringPtrInput 144 // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 145 Tags pulumi.StringMapInput 146 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 147 // 148 // Deprecated: Please use `tags` instead. 149 TagsAll pulumi.StringMapInput 150 Timeouts SubscriberTimeoutsPtrInput 151 } 152 153 func (SubscriberState) ElementType() reflect.Type { 154 return reflect.TypeOf((*subscriberState)(nil)).Elem() 155 } 156 157 type subscriberArgs struct { 158 AccessType *string `pulumi:"accessType"` 159 // The supported AWS services from which logs and events are collected. Security Lake supports log and event collection for natively supported AWS services. 160 Source *SubscriberSource `pulumi:"source"` 161 // The description for your subscriber account in Security Lake. 162 SubscriberDescription *string `pulumi:"subscriberDescription"` 163 // The AWS identity used to access your data. 164 SubscriberIdentity *SubscriberSubscriberIdentity `pulumi:"subscriberIdentity"` 165 // The name of your Security Lake subscriber account. 166 SubscriberName *string `pulumi:"subscriberName"` 167 // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 168 Tags map[string]string `pulumi:"tags"` 169 Timeouts *SubscriberTimeouts `pulumi:"timeouts"` 170 } 171 172 // The set of arguments for constructing a Subscriber resource. 173 type SubscriberArgs struct { 174 AccessType pulumi.StringPtrInput 175 // The supported AWS services from which logs and events are collected. Security Lake supports log and event collection for natively supported AWS services. 176 Source SubscriberSourcePtrInput 177 // The description for your subscriber account in Security Lake. 178 SubscriberDescription pulumi.StringPtrInput 179 // The AWS identity used to access your data. 180 SubscriberIdentity SubscriberSubscriberIdentityPtrInput 181 // The name of your Security Lake subscriber account. 182 SubscriberName pulumi.StringPtrInput 183 // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 184 Tags pulumi.StringMapInput 185 Timeouts SubscriberTimeoutsPtrInput 186 } 187 188 func (SubscriberArgs) ElementType() reflect.Type { 189 return reflect.TypeOf((*subscriberArgs)(nil)).Elem() 190 } 191 192 type SubscriberInput interface { 193 pulumi.Input 194 195 ToSubscriberOutput() SubscriberOutput 196 ToSubscriberOutputWithContext(ctx context.Context) SubscriberOutput 197 } 198 199 func (*Subscriber) ElementType() reflect.Type { 200 return reflect.TypeOf((**Subscriber)(nil)).Elem() 201 } 202 203 func (i *Subscriber) ToSubscriberOutput() SubscriberOutput { 204 return i.ToSubscriberOutputWithContext(context.Background()) 205 } 206 207 func (i *Subscriber) ToSubscriberOutputWithContext(ctx context.Context) SubscriberOutput { 208 return pulumi.ToOutputWithContext(ctx, i).(SubscriberOutput) 209 } 210 211 // SubscriberArrayInput is an input type that accepts SubscriberArray and SubscriberArrayOutput values. 212 // You can construct a concrete instance of `SubscriberArrayInput` via: 213 // 214 // SubscriberArray{ SubscriberArgs{...} } 215 type SubscriberArrayInput interface { 216 pulumi.Input 217 218 ToSubscriberArrayOutput() SubscriberArrayOutput 219 ToSubscriberArrayOutputWithContext(context.Context) SubscriberArrayOutput 220 } 221 222 type SubscriberArray []SubscriberInput 223 224 func (SubscriberArray) ElementType() reflect.Type { 225 return reflect.TypeOf((*[]*Subscriber)(nil)).Elem() 226 } 227 228 func (i SubscriberArray) ToSubscriberArrayOutput() SubscriberArrayOutput { 229 return i.ToSubscriberArrayOutputWithContext(context.Background()) 230 } 231 232 func (i SubscriberArray) ToSubscriberArrayOutputWithContext(ctx context.Context) SubscriberArrayOutput { 233 return pulumi.ToOutputWithContext(ctx, i).(SubscriberArrayOutput) 234 } 235 236 // SubscriberMapInput is an input type that accepts SubscriberMap and SubscriberMapOutput values. 237 // You can construct a concrete instance of `SubscriberMapInput` via: 238 // 239 // SubscriberMap{ "key": SubscriberArgs{...} } 240 type SubscriberMapInput interface { 241 pulumi.Input 242 243 ToSubscriberMapOutput() SubscriberMapOutput 244 ToSubscriberMapOutputWithContext(context.Context) SubscriberMapOutput 245 } 246 247 type SubscriberMap map[string]SubscriberInput 248 249 func (SubscriberMap) ElementType() reflect.Type { 250 return reflect.TypeOf((*map[string]*Subscriber)(nil)).Elem() 251 } 252 253 func (i SubscriberMap) ToSubscriberMapOutput() SubscriberMapOutput { 254 return i.ToSubscriberMapOutputWithContext(context.Background()) 255 } 256 257 func (i SubscriberMap) ToSubscriberMapOutputWithContext(ctx context.Context) SubscriberMapOutput { 258 return pulumi.ToOutputWithContext(ctx, i).(SubscriberMapOutput) 259 } 260 261 type SubscriberOutput struct{ *pulumi.OutputState } 262 263 func (SubscriberOutput) ElementType() reflect.Type { 264 return reflect.TypeOf((**Subscriber)(nil)).Elem() 265 } 266 267 func (o SubscriberOutput) ToSubscriberOutput() SubscriberOutput { 268 return o 269 } 270 271 func (o SubscriberOutput) ToSubscriberOutputWithContext(ctx context.Context) SubscriberOutput { 272 return o 273 } 274 275 func (o SubscriberOutput) AccessType() pulumi.StringOutput { 276 return o.ApplyT(func(v *Subscriber) pulumi.StringOutput { return v.AccessType }).(pulumi.StringOutput) 277 } 278 279 // ARN of the Data Lake. 280 func (o SubscriberOutput) Arn() pulumi.StringOutput { 281 return o.ApplyT(func(v *Subscriber) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 282 } 283 284 // The Amazon Resource Name (ARN) which uniquely defines the AWS RAM resource share. Before accepting the RAM resource share invitation, you can view details related to the RAM resource share. 285 func (o SubscriberOutput) ResourceShareArn() pulumi.StringOutput { 286 return o.ApplyT(func(v *Subscriber) pulumi.StringOutput { return v.ResourceShareArn }).(pulumi.StringOutput) 287 } 288 289 // The name of the resource share. 290 func (o SubscriberOutput) ResourceShareName() pulumi.StringOutput { 291 return o.ApplyT(func(v *Subscriber) pulumi.StringOutput { return v.ResourceShareName }).(pulumi.StringOutput) 292 } 293 294 // The ARN of the IAM role to be used by the entity putting logs into your custom source partition. 295 func (o SubscriberOutput) RoleArn() pulumi.StringOutput { 296 return o.ApplyT(func(v *Subscriber) pulumi.StringOutput { return v.RoleArn }).(pulumi.StringOutput) 297 } 298 299 // The ARN for the Amazon Security Lake Amazon S3 bucket. 300 func (o SubscriberOutput) S3BucketArn() pulumi.StringOutput { 301 return o.ApplyT(func(v *Subscriber) pulumi.StringOutput { return v.S3BucketArn }).(pulumi.StringOutput) 302 } 303 304 // The supported AWS services from which logs and events are collected. Security Lake supports log and event collection for natively supported AWS services. 305 func (o SubscriberOutput) Source() SubscriberSourcePtrOutput { 306 return o.ApplyT(func(v *Subscriber) SubscriberSourcePtrOutput { return v.Source }).(SubscriberSourcePtrOutput) 307 } 308 309 // The description for your subscriber account in Security Lake. 310 func (o SubscriberOutput) SubscriberDescription() pulumi.StringPtrOutput { 311 return o.ApplyT(func(v *Subscriber) pulumi.StringPtrOutput { return v.SubscriberDescription }).(pulumi.StringPtrOutput) 312 } 313 314 // The subscriber endpoint to which exception messages are posted. 315 func (o SubscriberOutput) SubscriberEndpoint() pulumi.StringOutput { 316 return o.ApplyT(func(v *Subscriber) pulumi.StringOutput { return v.SubscriberEndpoint }).(pulumi.StringOutput) 317 } 318 319 // The AWS identity used to access your data. 320 func (o SubscriberOutput) SubscriberIdentity() SubscriberSubscriberIdentityPtrOutput { 321 return o.ApplyT(func(v *Subscriber) SubscriberSubscriberIdentityPtrOutput { return v.SubscriberIdentity }).(SubscriberSubscriberIdentityPtrOutput) 322 } 323 324 // The name of your Security Lake subscriber account. 325 func (o SubscriberOutput) SubscriberName() pulumi.StringPtrOutput { 326 return o.ApplyT(func(v *Subscriber) pulumi.StringPtrOutput { return v.SubscriberName }).(pulumi.StringPtrOutput) 327 } 328 329 // The subscriber status of the Amazon Security Lake subscriber account. 330 func (o SubscriberOutput) SubscriberStatus() pulumi.StringOutput { 331 return o.ApplyT(func(v *Subscriber) pulumi.StringOutput { return v.SubscriberStatus }).(pulumi.StringOutput) 332 } 333 334 // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 335 func (o SubscriberOutput) Tags() pulumi.StringMapOutput { 336 return o.ApplyT(func(v *Subscriber) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) 337 } 338 339 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 340 // 341 // Deprecated: Please use `tags` instead. 342 func (o SubscriberOutput) TagsAll() pulumi.StringMapOutput { 343 return o.ApplyT(func(v *Subscriber) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) 344 } 345 346 func (o SubscriberOutput) Timeouts() SubscriberTimeoutsPtrOutput { 347 return o.ApplyT(func(v *Subscriber) SubscriberTimeoutsPtrOutput { return v.Timeouts }).(SubscriberTimeoutsPtrOutput) 348 } 349 350 type SubscriberArrayOutput struct{ *pulumi.OutputState } 351 352 func (SubscriberArrayOutput) ElementType() reflect.Type { 353 return reflect.TypeOf((*[]*Subscriber)(nil)).Elem() 354 } 355 356 func (o SubscriberArrayOutput) ToSubscriberArrayOutput() SubscriberArrayOutput { 357 return o 358 } 359 360 func (o SubscriberArrayOutput) ToSubscriberArrayOutputWithContext(ctx context.Context) SubscriberArrayOutput { 361 return o 362 } 363 364 func (o SubscriberArrayOutput) Index(i pulumi.IntInput) SubscriberOutput { 365 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Subscriber { 366 return vs[0].([]*Subscriber)[vs[1].(int)] 367 }).(SubscriberOutput) 368 } 369 370 type SubscriberMapOutput struct{ *pulumi.OutputState } 371 372 func (SubscriberMapOutput) ElementType() reflect.Type { 373 return reflect.TypeOf((*map[string]*Subscriber)(nil)).Elem() 374 } 375 376 func (o SubscriberMapOutput) ToSubscriberMapOutput() SubscriberMapOutput { 377 return o 378 } 379 380 func (o SubscriberMapOutput) ToSubscriberMapOutputWithContext(ctx context.Context) SubscriberMapOutput { 381 return o 382 } 383 384 func (o SubscriberMapOutput) MapIndex(k pulumi.StringInput) SubscriberOutput { 385 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Subscriber { 386 return vs[0].(map[string]*Subscriber)[vs[1].(string)] 387 }).(SubscriberOutput) 388 } 389 390 func init() { 391 pulumi.RegisterInputType(reflect.TypeOf((*SubscriberInput)(nil)).Elem(), &Subscriber{}) 392 pulumi.RegisterInputType(reflect.TypeOf((*SubscriberArrayInput)(nil)).Elem(), SubscriberArray{}) 393 pulumi.RegisterInputType(reflect.TypeOf((*SubscriberMapInput)(nil)).Elem(), SubscriberMap{}) 394 pulumi.RegisterOutputType(SubscriberOutput{}) 395 pulumi.RegisterOutputType(SubscriberArrayOutput{}) 396 pulumi.RegisterOutputType(SubscriberMapOutput{}) 397 }