github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/redshift/dataShareConsumerAssociation.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 redshift 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 an AWS Redshift Data Share Consumer Association. 16 // 17 // ## Example Usage 18 // 19 // ### Basic Usage 20 // 21 // <!--Start PulumiCodeChooser --> 22 // ```go 23 // package main 24 // 25 // import ( 26 // 27 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift" 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 := redshift.NewDataShareConsumerAssociation(ctx, "example", &redshift.DataShareConsumerAssociationArgs{ 35 // DataShareArn: pulumi.String("arn:aws:redshift:us-west-2:012345678901:datashare:b3bfde75-73fd-408b-9086-d6fccfd6d588/example"), 36 // AssociateEntireAccount: pulumi.Bool(true), 37 // }) 38 // if err != nil { 39 // return err 40 // } 41 // return nil 42 // }) 43 // } 44 // 45 // ``` 46 // <!--End PulumiCodeChooser --> 47 // 48 // ### Consumer Region 49 // 50 // <!--Start PulumiCodeChooser --> 51 // ```go 52 // package main 53 // 54 // import ( 55 // 56 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift" 57 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 58 // 59 // ) 60 // 61 // func main() { 62 // pulumi.Run(func(ctx *pulumi.Context) error { 63 // _, err := redshift.NewDataShareConsumerAssociation(ctx, "example", &redshift.DataShareConsumerAssociationArgs{ 64 // DataShareArn: pulumi.String("arn:aws:redshift:us-west-2:012345678901:datashare:b3bfde75-73fd-408b-9086-d6fccfd6d588/example"), 65 // ConsumerRegion: pulumi.String("us-west-2"), 66 // }) 67 // if err != nil { 68 // return err 69 // } 70 // return nil 71 // }) 72 // } 73 // 74 // ``` 75 // <!--End PulumiCodeChooser --> 76 // 77 // ## Import 78 // 79 // Using `pulumi import`, import Redshift Data Share Consumer Association using the `id`. For example: 80 // 81 // ```sh 82 // $ pulumi import aws:redshift/dataShareConsumerAssociation:DataShareConsumerAssociation example arn:aws:redshift:us-west-2:012345678901:datashare:b3bfde75-73fd-408b-9086-d6fccfd6d588/example,,,us-west-2 83 // ``` 84 type DataShareConsumerAssociation struct { 85 pulumi.CustomResourceState 86 87 // Whether to allow write operations for a datashare. 88 AllowWrites pulumi.BoolPtrOutput `pulumi:"allowWrites"` 89 // Whether the datashare is associated with the entire account. Conflicts with `consumerArn` and `consumerRegion`. 90 AssociateEntireAccount pulumi.BoolPtrOutput `pulumi:"associateEntireAccount"` 91 // Amazon Resource Name (ARN) of the consumer that is associated with the datashare. Conflicts with `associateEntireAccount` and `consumerRegion`. 92 ConsumerArn pulumi.StringPtrOutput `pulumi:"consumerArn"` 93 // From a datashare consumer account, associates a datashare with all existing and future namespaces in the specified AWS Region. Conflicts with `associateEntireAccount` and `consumerArn`. 94 ConsumerRegion pulumi.StringPtrOutput `pulumi:"consumerRegion"` 95 // Amazon Resource Name (ARN) of the datashare that the consumer is to use with the account or the namespace. 96 // 97 // The following arguments are optional: 98 DataShareArn pulumi.StringOutput `pulumi:"dataShareArn"` 99 // Identifier of a datashare to show its managing entity. 100 ManagedBy pulumi.StringOutput `pulumi:"managedBy"` 101 // Amazon Resource Name (ARN) of the producer. 102 ProducerArn pulumi.StringOutput `pulumi:"producerArn"` 103 } 104 105 // NewDataShareConsumerAssociation registers a new resource with the given unique name, arguments, and options. 106 func NewDataShareConsumerAssociation(ctx *pulumi.Context, 107 name string, args *DataShareConsumerAssociationArgs, opts ...pulumi.ResourceOption) (*DataShareConsumerAssociation, error) { 108 if args == nil { 109 return nil, errors.New("missing one or more required arguments") 110 } 111 112 if args.DataShareArn == nil { 113 return nil, errors.New("invalid value for required argument 'DataShareArn'") 114 } 115 opts = internal.PkgResourceDefaultOpts(opts) 116 var resource DataShareConsumerAssociation 117 err := ctx.RegisterResource("aws:redshift/dataShareConsumerAssociation:DataShareConsumerAssociation", name, args, &resource, opts...) 118 if err != nil { 119 return nil, err 120 } 121 return &resource, nil 122 } 123 124 // GetDataShareConsumerAssociation gets an existing DataShareConsumerAssociation resource's state with the given name, ID, and optional 125 // state properties that are used to uniquely qualify the lookup (nil if not required). 126 func GetDataShareConsumerAssociation(ctx *pulumi.Context, 127 name string, id pulumi.IDInput, state *DataShareConsumerAssociationState, opts ...pulumi.ResourceOption) (*DataShareConsumerAssociation, error) { 128 var resource DataShareConsumerAssociation 129 err := ctx.ReadResource("aws:redshift/dataShareConsumerAssociation:DataShareConsumerAssociation", name, id, state, &resource, opts...) 130 if err != nil { 131 return nil, err 132 } 133 return &resource, nil 134 } 135 136 // Input properties used for looking up and filtering DataShareConsumerAssociation resources. 137 type dataShareConsumerAssociationState struct { 138 // Whether to allow write operations for a datashare. 139 AllowWrites *bool `pulumi:"allowWrites"` 140 // Whether the datashare is associated with the entire account. Conflicts with `consumerArn` and `consumerRegion`. 141 AssociateEntireAccount *bool `pulumi:"associateEntireAccount"` 142 // Amazon Resource Name (ARN) of the consumer that is associated with the datashare. Conflicts with `associateEntireAccount` and `consumerRegion`. 143 ConsumerArn *string `pulumi:"consumerArn"` 144 // From a datashare consumer account, associates a datashare with all existing and future namespaces in the specified AWS Region. Conflicts with `associateEntireAccount` and `consumerArn`. 145 ConsumerRegion *string `pulumi:"consumerRegion"` 146 // Amazon Resource Name (ARN) of the datashare that the consumer is to use with the account or the namespace. 147 // 148 // The following arguments are optional: 149 DataShareArn *string `pulumi:"dataShareArn"` 150 // Identifier of a datashare to show its managing entity. 151 ManagedBy *string `pulumi:"managedBy"` 152 // Amazon Resource Name (ARN) of the producer. 153 ProducerArn *string `pulumi:"producerArn"` 154 } 155 156 type DataShareConsumerAssociationState struct { 157 // Whether to allow write operations for a datashare. 158 AllowWrites pulumi.BoolPtrInput 159 // Whether the datashare is associated with the entire account. Conflicts with `consumerArn` and `consumerRegion`. 160 AssociateEntireAccount pulumi.BoolPtrInput 161 // Amazon Resource Name (ARN) of the consumer that is associated with the datashare. Conflicts with `associateEntireAccount` and `consumerRegion`. 162 ConsumerArn pulumi.StringPtrInput 163 // From a datashare consumer account, associates a datashare with all existing and future namespaces in the specified AWS Region. Conflicts with `associateEntireAccount` and `consumerArn`. 164 ConsumerRegion pulumi.StringPtrInput 165 // Amazon Resource Name (ARN) of the datashare that the consumer is to use with the account or the namespace. 166 // 167 // The following arguments are optional: 168 DataShareArn pulumi.StringPtrInput 169 // Identifier of a datashare to show its managing entity. 170 ManagedBy pulumi.StringPtrInput 171 // Amazon Resource Name (ARN) of the producer. 172 ProducerArn pulumi.StringPtrInput 173 } 174 175 func (DataShareConsumerAssociationState) ElementType() reflect.Type { 176 return reflect.TypeOf((*dataShareConsumerAssociationState)(nil)).Elem() 177 } 178 179 type dataShareConsumerAssociationArgs struct { 180 // Whether to allow write operations for a datashare. 181 AllowWrites *bool `pulumi:"allowWrites"` 182 // Whether the datashare is associated with the entire account. Conflicts with `consumerArn` and `consumerRegion`. 183 AssociateEntireAccount *bool `pulumi:"associateEntireAccount"` 184 // Amazon Resource Name (ARN) of the consumer that is associated with the datashare. Conflicts with `associateEntireAccount` and `consumerRegion`. 185 ConsumerArn *string `pulumi:"consumerArn"` 186 // From a datashare consumer account, associates a datashare with all existing and future namespaces in the specified AWS Region. Conflicts with `associateEntireAccount` and `consumerArn`. 187 ConsumerRegion *string `pulumi:"consumerRegion"` 188 // Amazon Resource Name (ARN) of the datashare that the consumer is to use with the account or the namespace. 189 // 190 // The following arguments are optional: 191 DataShareArn string `pulumi:"dataShareArn"` 192 } 193 194 // The set of arguments for constructing a DataShareConsumerAssociation resource. 195 type DataShareConsumerAssociationArgs struct { 196 // Whether to allow write operations for a datashare. 197 AllowWrites pulumi.BoolPtrInput 198 // Whether the datashare is associated with the entire account. Conflicts with `consumerArn` and `consumerRegion`. 199 AssociateEntireAccount pulumi.BoolPtrInput 200 // Amazon Resource Name (ARN) of the consumer that is associated with the datashare. Conflicts with `associateEntireAccount` and `consumerRegion`. 201 ConsumerArn pulumi.StringPtrInput 202 // From a datashare consumer account, associates a datashare with all existing and future namespaces in the specified AWS Region. Conflicts with `associateEntireAccount` and `consumerArn`. 203 ConsumerRegion pulumi.StringPtrInput 204 // Amazon Resource Name (ARN) of the datashare that the consumer is to use with the account or the namespace. 205 // 206 // The following arguments are optional: 207 DataShareArn pulumi.StringInput 208 } 209 210 func (DataShareConsumerAssociationArgs) ElementType() reflect.Type { 211 return reflect.TypeOf((*dataShareConsumerAssociationArgs)(nil)).Elem() 212 } 213 214 type DataShareConsumerAssociationInput interface { 215 pulumi.Input 216 217 ToDataShareConsumerAssociationOutput() DataShareConsumerAssociationOutput 218 ToDataShareConsumerAssociationOutputWithContext(ctx context.Context) DataShareConsumerAssociationOutput 219 } 220 221 func (*DataShareConsumerAssociation) ElementType() reflect.Type { 222 return reflect.TypeOf((**DataShareConsumerAssociation)(nil)).Elem() 223 } 224 225 func (i *DataShareConsumerAssociation) ToDataShareConsumerAssociationOutput() DataShareConsumerAssociationOutput { 226 return i.ToDataShareConsumerAssociationOutputWithContext(context.Background()) 227 } 228 229 func (i *DataShareConsumerAssociation) ToDataShareConsumerAssociationOutputWithContext(ctx context.Context) DataShareConsumerAssociationOutput { 230 return pulumi.ToOutputWithContext(ctx, i).(DataShareConsumerAssociationOutput) 231 } 232 233 // DataShareConsumerAssociationArrayInput is an input type that accepts DataShareConsumerAssociationArray and DataShareConsumerAssociationArrayOutput values. 234 // You can construct a concrete instance of `DataShareConsumerAssociationArrayInput` via: 235 // 236 // DataShareConsumerAssociationArray{ DataShareConsumerAssociationArgs{...} } 237 type DataShareConsumerAssociationArrayInput interface { 238 pulumi.Input 239 240 ToDataShareConsumerAssociationArrayOutput() DataShareConsumerAssociationArrayOutput 241 ToDataShareConsumerAssociationArrayOutputWithContext(context.Context) DataShareConsumerAssociationArrayOutput 242 } 243 244 type DataShareConsumerAssociationArray []DataShareConsumerAssociationInput 245 246 func (DataShareConsumerAssociationArray) ElementType() reflect.Type { 247 return reflect.TypeOf((*[]*DataShareConsumerAssociation)(nil)).Elem() 248 } 249 250 func (i DataShareConsumerAssociationArray) ToDataShareConsumerAssociationArrayOutput() DataShareConsumerAssociationArrayOutput { 251 return i.ToDataShareConsumerAssociationArrayOutputWithContext(context.Background()) 252 } 253 254 func (i DataShareConsumerAssociationArray) ToDataShareConsumerAssociationArrayOutputWithContext(ctx context.Context) DataShareConsumerAssociationArrayOutput { 255 return pulumi.ToOutputWithContext(ctx, i).(DataShareConsumerAssociationArrayOutput) 256 } 257 258 // DataShareConsumerAssociationMapInput is an input type that accepts DataShareConsumerAssociationMap and DataShareConsumerAssociationMapOutput values. 259 // You can construct a concrete instance of `DataShareConsumerAssociationMapInput` via: 260 // 261 // DataShareConsumerAssociationMap{ "key": DataShareConsumerAssociationArgs{...} } 262 type DataShareConsumerAssociationMapInput interface { 263 pulumi.Input 264 265 ToDataShareConsumerAssociationMapOutput() DataShareConsumerAssociationMapOutput 266 ToDataShareConsumerAssociationMapOutputWithContext(context.Context) DataShareConsumerAssociationMapOutput 267 } 268 269 type DataShareConsumerAssociationMap map[string]DataShareConsumerAssociationInput 270 271 func (DataShareConsumerAssociationMap) ElementType() reflect.Type { 272 return reflect.TypeOf((*map[string]*DataShareConsumerAssociation)(nil)).Elem() 273 } 274 275 func (i DataShareConsumerAssociationMap) ToDataShareConsumerAssociationMapOutput() DataShareConsumerAssociationMapOutput { 276 return i.ToDataShareConsumerAssociationMapOutputWithContext(context.Background()) 277 } 278 279 func (i DataShareConsumerAssociationMap) ToDataShareConsumerAssociationMapOutputWithContext(ctx context.Context) DataShareConsumerAssociationMapOutput { 280 return pulumi.ToOutputWithContext(ctx, i).(DataShareConsumerAssociationMapOutput) 281 } 282 283 type DataShareConsumerAssociationOutput struct{ *pulumi.OutputState } 284 285 func (DataShareConsumerAssociationOutput) ElementType() reflect.Type { 286 return reflect.TypeOf((**DataShareConsumerAssociation)(nil)).Elem() 287 } 288 289 func (o DataShareConsumerAssociationOutput) ToDataShareConsumerAssociationOutput() DataShareConsumerAssociationOutput { 290 return o 291 } 292 293 func (o DataShareConsumerAssociationOutput) ToDataShareConsumerAssociationOutputWithContext(ctx context.Context) DataShareConsumerAssociationOutput { 294 return o 295 } 296 297 // Whether to allow write operations for a datashare. 298 func (o DataShareConsumerAssociationOutput) AllowWrites() pulumi.BoolPtrOutput { 299 return o.ApplyT(func(v *DataShareConsumerAssociation) pulumi.BoolPtrOutput { return v.AllowWrites }).(pulumi.BoolPtrOutput) 300 } 301 302 // Whether the datashare is associated with the entire account. Conflicts with `consumerArn` and `consumerRegion`. 303 func (o DataShareConsumerAssociationOutput) AssociateEntireAccount() pulumi.BoolPtrOutput { 304 return o.ApplyT(func(v *DataShareConsumerAssociation) pulumi.BoolPtrOutput { return v.AssociateEntireAccount }).(pulumi.BoolPtrOutput) 305 } 306 307 // Amazon Resource Name (ARN) of the consumer that is associated with the datashare. Conflicts with `associateEntireAccount` and `consumerRegion`. 308 func (o DataShareConsumerAssociationOutput) ConsumerArn() pulumi.StringPtrOutput { 309 return o.ApplyT(func(v *DataShareConsumerAssociation) pulumi.StringPtrOutput { return v.ConsumerArn }).(pulumi.StringPtrOutput) 310 } 311 312 // From a datashare consumer account, associates a datashare with all existing and future namespaces in the specified AWS Region. Conflicts with `associateEntireAccount` and `consumerArn`. 313 func (o DataShareConsumerAssociationOutput) ConsumerRegion() pulumi.StringPtrOutput { 314 return o.ApplyT(func(v *DataShareConsumerAssociation) pulumi.StringPtrOutput { return v.ConsumerRegion }).(pulumi.StringPtrOutput) 315 } 316 317 // Amazon Resource Name (ARN) of the datashare that the consumer is to use with the account or the namespace. 318 // 319 // The following arguments are optional: 320 func (o DataShareConsumerAssociationOutput) DataShareArn() pulumi.StringOutput { 321 return o.ApplyT(func(v *DataShareConsumerAssociation) pulumi.StringOutput { return v.DataShareArn }).(pulumi.StringOutput) 322 } 323 324 // Identifier of a datashare to show its managing entity. 325 func (o DataShareConsumerAssociationOutput) ManagedBy() pulumi.StringOutput { 326 return o.ApplyT(func(v *DataShareConsumerAssociation) pulumi.StringOutput { return v.ManagedBy }).(pulumi.StringOutput) 327 } 328 329 // Amazon Resource Name (ARN) of the producer. 330 func (o DataShareConsumerAssociationOutput) ProducerArn() pulumi.StringOutput { 331 return o.ApplyT(func(v *DataShareConsumerAssociation) pulumi.StringOutput { return v.ProducerArn }).(pulumi.StringOutput) 332 } 333 334 type DataShareConsumerAssociationArrayOutput struct{ *pulumi.OutputState } 335 336 func (DataShareConsumerAssociationArrayOutput) ElementType() reflect.Type { 337 return reflect.TypeOf((*[]*DataShareConsumerAssociation)(nil)).Elem() 338 } 339 340 func (o DataShareConsumerAssociationArrayOutput) ToDataShareConsumerAssociationArrayOutput() DataShareConsumerAssociationArrayOutput { 341 return o 342 } 343 344 func (o DataShareConsumerAssociationArrayOutput) ToDataShareConsumerAssociationArrayOutputWithContext(ctx context.Context) DataShareConsumerAssociationArrayOutput { 345 return o 346 } 347 348 func (o DataShareConsumerAssociationArrayOutput) Index(i pulumi.IntInput) DataShareConsumerAssociationOutput { 349 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *DataShareConsumerAssociation { 350 return vs[0].([]*DataShareConsumerAssociation)[vs[1].(int)] 351 }).(DataShareConsumerAssociationOutput) 352 } 353 354 type DataShareConsumerAssociationMapOutput struct{ *pulumi.OutputState } 355 356 func (DataShareConsumerAssociationMapOutput) ElementType() reflect.Type { 357 return reflect.TypeOf((*map[string]*DataShareConsumerAssociation)(nil)).Elem() 358 } 359 360 func (o DataShareConsumerAssociationMapOutput) ToDataShareConsumerAssociationMapOutput() DataShareConsumerAssociationMapOutput { 361 return o 362 } 363 364 func (o DataShareConsumerAssociationMapOutput) ToDataShareConsumerAssociationMapOutputWithContext(ctx context.Context) DataShareConsumerAssociationMapOutput { 365 return o 366 } 367 368 func (o DataShareConsumerAssociationMapOutput) MapIndex(k pulumi.StringInput) DataShareConsumerAssociationOutput { 369 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *DataShareConsumerAssociation { 370 return vs[0].(map[string]*DataShareConsumerAssociation)[vs[1].(string)] 371 }).(DataShareConsumerAssociationOutput) 372 } 373 374 func init() { 375 pulumi.RegisterInputType(reflect.TypeOf((*DataShareConsumerAssociationInput)(nil)).Elem(), &DataShareConsumerAssociation{}) 376 pulumi.RegisterInputType(reflect.TypeOf((*DataShareConsumerAssociationArrayInput)(nil)).Elem(), DataShareConsumerAssociationArray{}) 377 pulumi.RegisterInputType(reflect.TypeOf((*DataShareConsumerAssociationMapInput)(nil)).Elem(), DataShareConsumerAssociationMap{}) 378 pulumi.RegisterOutputType(DataShareConsumerAssociationOutput{}) 379 pulumi.RegisterOutputType(DataShareConsumerAssociationArrayOutput{}) 380 pulumi.RegisterOutputType(DataShareConsumerAssociationMapOutput{}) 381 }