github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/networkmanager/transitGatewayRouteTableAttachment.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 networkmanager 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 // Creates a transit gateway route table attachment. 16 // 17 // ## Example Usage 18 // 19 // <!--Start PulumiCodeChooser --> 20 // ```go 21 // package main 22 // 23 // import ( 24 // 25 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager" 26 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 27 // 28 // ) 29 // 30 // func main() { 31 // pulumi.Run(func(ctx *pulumi.Context) error { 32 // _, err := networkmanager.NewTransitGatewayRouteTableAttachment(ctx, "example", &networkmanager.TransitGatewayRouteTableAttachmentArgs{ 33 // PeeringId: pulumi.Any(exampleAwsNetworkmanagerTransitGatewayPeering.Id), 34 // TransitGatewayRouteTableArn: pulumi.Any(exampleAwsEc2TransitGatewayRouteTable.Arn), 35 // }) 36 // if err != nil { 37 // return err 38 // } 39 // return nil 40 // }) 41 // } 42 // 43 // ``` 44 // <!--End PulumiCodeChooser --> 45 // 46 // ## Import 47 // 48 // Using `pulumi import`, import `aws_networkmanager_transit_gateway_route_table_attachment` using the attachment ID. For example: 49 // 50 // ```sh 51 // $ pulumi import aws:networkmanager/transitGatewayRouteTableAttachment:TransitGatewayRouteTableAttachment example attachment-0f8fa60d2238d1bd8 52 // ``` 53 type TransitGatewayRouteTableAttachment struct { 54 pulumi.CustomResourceState 55 56 // Attachment Amazon Resource Name (ARN). 57 Arn pulumi.StringOutput `pulumi:"arn"` 58 // The policy rule number associated with the attachment. 59 AttachmentPolicyRuleNumber pulumi.IntOutput `pulumi:"attachmentPolicyRuleNumber"` 60 // The type of attachment. 61 AttachmentType pulumi.StringOutput `pulumi:"attachmentType"` 62 // The ARN of the core network. 63 CoreNetworkArn pulumi.StringOutput `pulumi:"coreNetworkArn"` 64 // The ID of the core network. 65 CoreNetworkId pulumi.StringOutput `pulumi:"coreNetworkId"` 66 // The edge location for the peer. 67 EdgeLocation pulumi.StringOutput `pulumi:"edgeLocation"` 68 // The ID of the attachment account owner. 69 OwnerAccountId pulumi.StringOutput `pulumi:"ownerAccountId"` 70 // The ID of the peer for the attachment. 71 PeeringId pulumi.StringOutput `pulumi:"peeringId"` 72 // The attachment resource ARN. 73 ResourceArn pulumi.StringOutput `pulumi:"resourceArn"` 74 // The name of the segment attachment. 75 SegmentName pulumi.StringOutput `pulumi:"segmentName"` 76 // The state of the attachment. 77 State pulumi.StringOutput `pulumi:"state"` 78 // Key-value tags for the attachment. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 79 Tags pulumi.StringMapOutput `pulumi:"tags"` 80 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 81 // 82 // Deprecated: Please use `tags` instead. 83 TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` 84 // The ARN of the transit gateway route table for the attachment. 85 TransitGatewayRouteTableArn pulumi.StringOutput `pulumi:"transitGatewayRouteTableArn"` 86 } 87 88 // NewTransitGatewayRouteTableAttachment registers a new resource with the given unique name, arguments, and options. 89 func NewTransitGatewayRouteTableAttachment(ctx *pulumi.Context, 90 name string, args *TransitGatewayRouteTableAttachmentArgs, opts ...pulumi.ResourceOption) (*TransitGatewayRouteTableAttachment, error) { 91 if args == nil { 92 return nil, errors.New("missing one or more required arguments") 93 } 94 95 if args.PeeringId == nil { 96 return nil, errors.New("invalid value for required argument 'PeeringId'") 97 } 98 if args.TransitGatewayRouteTableArn == nil { 99 return nil, errors.New("invalid value for required argument 'TransitGatewayRouteTableArn'") 100 } 101 opts = internal.PkgResourceDefaultOpts(opts) 102 var resource TransitGatewayRouteTableAttachment 103 err := ctx.RegisterResource("aws:networkmanager/transitGatewayRouteTableAttachment:TransitGatewayRouteTableAttachment", name, args, &resource, opts...) 104 if err != nil { 105 return nil, err 106 } 107 return &resource, nil 108 } 109 110 // GetTransitGatewayRouteTableAttachment gets an existing TransitGatewayRouteTableAttachment resource's state with the given name, ID, and optional 111 // state properties that are used to uniquely qualify the lookup (nil if not required). 112 func GetTransitGatewayRouteTableAttachment(ctx *pulumi.Context, 113 name string, id pulumi.IDInput, state *TransitGatewayRouteTableAttachmentState, opts ...pulumi.ResourceOption) (*TransitGatewayRouteTableAttachment, error) { 114 var resource TransitGatewayRouteTableAttachment 115 err := ctx.ReadResource("aws:networkmanager/transitGatewayRouteTableAttachment:TransitGatewayRouteTableAttachment", name, id, state, &resource, opts...) 116 if err != nil { 117 return nil, err 118 } 119 return &resource, nil 120 } 121 122 // Input properties used for looking up and filtering TransitGatewayRouteTableAttachment resources. 123 type transitGatewayRouteTableAttachmentState struct { 124 // Attachment Amazon Resource Name (ARN). 125 Arn *string `pulumi:"arn"` 126 // The policy rule number associated with the attachment. 127 AttachmentPolicyRuleNumber *int `pulumi:"attachmentPolicyRuleNumber"` 128 // The type of attachment. 129 AttachmentType *string `pulumi:"attachmentType"` 130 // The ARN of the core network. 131 CoreNetworkArn *string `pulumi:"coreNetworkArn"` 132 // The ID of the core network. 133 CoreNetworkId *string `pulumi:"coreNetworkId"` 134 // The edge location for the peer. 135 EdgeLocation *string `pulumi:"edgeLocation"` 136 // The ID of the attachment account owner. 137 OwnerAccountId *string `pulumi:"ownerAccountId"` 138 // The ID of the peer for the attachment. 139 PeeringId *string `pulumi:"peeringId"` 140 // The attachment resource ARN. 141 ResourceArn *string `pulumi:"resourceArn"` 142 // The name of the segment attachment. 143 SegmentName *string `pulumi:"segmentName"` 144 // The state of the attachment. 145 State *string `pulumi:"state"` 146 // Key-value tags for the attachment. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 147 Tags map[string]string `pulumi:"tags"` 148 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 149 // 150 // Deprecated: Please use `tags` instead. 151 TagsAll map[string]string `pulumi:"tagsAll"` 152 // The ARN of the transit gateway route table for the attachment. 153 TransitGatewayRouteTableArn *string `pulumi:"transitGatewayRouteTableArn"` 154 } 155 156 type TransitGatewayRouteTableAttachmentState struct { 157 // Attachment Amazon Resource Name (ARN). 158 Arn pulumi.StringPtrInput 159 // The policy rule number associated with the attachment. 160 AttachmentPolicyRuleNumber pulumi.IntPtrInput 161 // The type of attachment. 162 AttachmentType pulumi.StringPtrInput 163 // The ARN of the core network. 164 CoreNetworkArn pulumi.StringPtrInput 165 // The ID of the core network. 166 CoreNetworkId pulumi.StringPtrInput 167 // The edge location for the peer. 168 EdgeLocation pulumi.StringPtrInput 169 // The ID of the attachment account owner. 170 OwnerAccountId pulumi.StringPtrInput 171 // The ID of the peer for the attachment. 172 PeeringId pulumi.StringPtrInput 173 // The attachment resource ARN. 174 ResourceArn pulumi.StringPtrInput 175 // The name of the segment attachment. 176 SegmentName pulumi.StringPtrInput 177 // The state of the attachment. 178 State pulumi.StringPtrInput 179 // Key-value tags for the attachment. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 180 Tags pulumi.StringMapInput 181 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 182 // 183 // Deprecated: Please use `tags` instead. 184 TagsAll pulumi.StringMapInput 185 // The ARN of the transit gateway route table for the attachment. 186 TransitGatewayRouteTableArn pulumi.StringPtrInput 187 } 188 189 func (TransitGatewayRouteTableAttachmentState) ElementType() reflect.Type { 190 return reflect.TypeOf((*transitGatewayRouteTableAttachmentState)(nil)).Elem() 191 } 192 193 type transitGatewayRouteTableAttachmentArgs struct { 194 // The ID of the peer for the attachment. 195 PeeringId string `pulumi:"peeringId"` 196 // Key-value tags for the attachment. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 197 Tags map[string]string `pulumi:"tags"` 198 // The ARN of the transit gateway route table for the attachment. 199 TransitGatewayRouteTableArn string `pulumi:"transitGatewayRouteTableArn"` 200 } 201 202 // The set of arguments for constructing a TransitGatewayRouteTableAttachment resource. 203 type TransitGatewayRouteTableAttachmentArgs struct { 204 // The ID of the peer for the attachment. 205 PeeringId pulumi.StringInput 206 // Key-value tags for the attachment. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 207 Tags pulumi.StringMapInput 208 // The ARN of the transit gateway route table for the attachment. 209 TransitGatewayRouteTableArn pulumi.StringInput 210 } 211 212 func (TransitGatewayRouteTableAttachmentArgs) ElementType() reflect.Type { 213 return reflect.TypeOf((*transitGatewayRouteTableAttachmentArgs)(nil)).Elem() 214 } 215 216 type TransitGatewayRouteTableAttachmentInput interface { 217 pulumi.Input 218 219 ToTransitGatewayRouteTableAttachmentOutput() TransitGatewayRouteTableAttachmentOutput 220 ToTransitGatewayRouteTableAttachmentOutputWithContext(ctx context.Context) TransitGatewayRouteTableAttachmentOutput 221 } 222 223 func (*TransitGatewayRouteTableAttachment) ElementType() reflect.Type { 224 return reflect.TypeOf((**TransitGatewayRouteTableAttachment)(nil)).Elem() 225 } 226 227 func (i *TransitGatewayRouteTableAttachment) ToTransitGatewayRouteTableAttachmentOutput() TransitGatewayRouteTableAttachmentOutput { 228 return i.ToTransitGatewayRouteTableAttachmentOutputWithContext(context.Background()) 229 } 230 231 func (i *TransitGatewayRouteTableAttachment) ToTransitGatewayRouteTableAttachmentOutputWithContext(ctx context.Context) TransitGatewayRouteTableAttachmentOutput { 232 return pulumi.ToOutputWithContext(ctx, i).(TransitGatewayRouteTableAttachmentOutput) 233 } 234 235 // TransitGatewayRouteTableAttachmentArrayInput is an input type that accepts TransitGatewayRouteTableAttachmentArray and TransitGatewayRouteTableAttachmentArrayOutput values. 236 // You can construct a concrete instance of `TransitGatewayRouteTableAttachmentArrayInput` via: 237 // 238 // TransitGatewayRouteTableAttachmentArray{ TransitGatewayRouteTableAttachmentArgs{...} } 239 type TransitGatewayRouteTableAttachmentArrayInput interface { 240 pulumi.Input 241 242 ToTransitGatewayRouteTableAttachmentArrayOutput() TransitGatewayRouteTableAttachmentArrayOutput 243 ToTransitGatewayRouteTableAttachmentArrayOutputWithContext(context.Context) TransitGatewayRouteTableAttachmentArrayOutput 244 } 245 246 type TransitGatewayRouteTableAttachmentArray []TransitGatewayRouteTableAttachmentInput 247 248 func (TransitGatewayRouteTableAttachmentArray) ElementType() reflect.Type { 249 return reflect.TypeOf((*[]*TransitGatewayRouteTableAttachment)(nil)).Elem() 250 } 251 252 func (i TransitGatewayRouteTableAttachmentArray) ToTransitGatewayRouteTableAttachmentArrayOutput() TransitGatewayRouteTableAttachmentArrayOutput { 253 return i.ToTransitGatewayRouteTableAttachmentArrayOutputWithContext(context.Background()) 254 } 255 256 func (i TransitGatewayRouteTableAttachmentArray) ToTransitGatewayRouteTableAttachmentArrayOutputWithContext(ctx context.Context) TransitGatewayRouteTableAttachmentArrayOutput { 257 return pulumi.ToOutputWithContext(ctx, i).(TransitGatewayRouteTableAttachmentArrayOutput) 258 } 259 260 // TransitGatewayRouteTableAttachmentMapInput is an input type that accepts TransitGatewayRouteTableAttachmentMap and TransitGatewayRouteTableAttachmentMapOutput values. 261 // You can construct a concrete instance of `TransitGatewayRouteTableAttachmentMapInput` via: 262 // 263 // TransitGatewayRouteTableAttachmentMap{ "key": TransitGatewayRouteTableAttachmentArgs{...} } 264 type TransitGatewayRouteTableAttachmentMapInput interface { 265 pulumi.Input 266 267 ToTransitGatewayRouteTableAttachmentMapOutput() TransitGatewayRouteTableAttachmentMapOutput 268 ToTransitGatewayRouteTableAttachmentMapOutputWithContext(context.Context) TransitGatewayRouteTableAttachmentMapOutput 269 } 270 271 type TransitGatewayRouteTableAttachmentMap map[string]TransitGatewayRouteTableAttachmentInput 272 273 func (TransitGatewayRouteTableAttachmentMap) ElementType() reflect.Type { 274 return reflect.TypeOf((*map[string]*TransitGatewayRouteTableAttachment)(nil)).Elem() 275 } 276 277 func (i TransitGatewayRouteTableAttachmentMap) ToTransitGatewayRouteTableAttachmentMapOutput() TransitGatewayRouteTableAttachmentMapOutput { 278 return i.ToTransitGatewayRouteTableAttachmentMapOutputWithContext(context.Background()) 279 } 280 281 func (i TransitGatewayRouteTableAttachmentMap) ToTransitGatewayRouteTableAttachmentMapOutputWithContext(ctx context.Context) TransitGatewayRouteTableAttachmentMapOutput { 282 return pulumi.ToOutputWithContext(ctx, i).(TransitGatewayRouteTableAttachmentMapOutput) 283 } 284 285 type TransitGatewayRouteTableAttachmentOutput struct{ *pulumi.OutputState } 286 287 func (TransitGatewayRouteTableAttachmentOutput) ElementType() reflect.Type { 288 return reflect.TypeOf((**TransitGatewayRouteTableAttachment)(nil)).Elem() 289 } 290 291 func (o TransitGatewayRouteTableAttachmentOutput) ToTransitGatewayRouteTableAttachmentOutput() TransitGatewayRouteTableAttachmentOutput { 292 return o 293 } 294 295 func (o TransitGatewayRouteTableAttachmentOutput) ToTransitGatewayRouteTableAttachmentOutputWithContext(ctx context.Context) TransitGatewayRouteTableAttachmentOutput { 296 return o 297 } 298 299 // Attachment Amazon Resource Name (ARN). 300 func (o TransitGatewayRouteTableAttachmentOutput) Arn() pulumi.StringOutput { 301 return o.ApplyT(func(v *TransitGatewayRouteTableAttachment) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 302 } 303 304 // The policy rule number associated with the attachment. 305 func (o TransitGatewayRouteTableAttachmentOutput) AttachmentPolicyRuleNumber() pulumi.IntOutput { 306 return o.ApplyT(func(v *TransitGatewayRouteTableAttachment) pulumi.IntOutput { return v.AttachmentPolicyRuleNumber }).(pulumi.IntOutput) 307 } 308 309 // The type of attachment. 310 func (o TransitGatewayRouteTableAttachmentOutput) AttachmentType() pulumi.StringOutput { 311 return o.ApplyT(func(v *TransitGatewayRouteTableAttachment) pulumi.StringOutput { return v.AttachmentType }).(pulumi.StringOutput) 312 } 313 314 // The ARN of the core network. 315 func (o TransitGatewayRouteTableAttachmentOutput) CoreNetworkArn() pulumi.StringOutput { 316 return o.ApplyT(func(v *TransitGatewayRouteTableAttachment) pulumi.StringOutput { return v.CoreNetworkArn }).(pulumi.StringOutput) 317 } 318 319 // The ID of the core network. 320 func (o TransitGatewayRouteTableAttachmentOutput) CoreNetworkId() pulumi.StringOutput { 321 return o.ApplyT(func(v *TransitGatewayRouteTableAttachment) pulumi.StringOutput { return v.CoreNetworkId }).(pulumi.StringOutput) 322 } 323 324 // The edge location for the peer. 325 func (o TransitGatewayRouteTableAttachmentOutput) EdgeLocation() pulumi.StringOutput { 326 return o.ApplyT(func(v *TransitGatewayRouteTableAttachment) pulumi.StringOutput { return v.EdgeLocation }).(pulumi.StringOutput) 327 } 328 329 // The ID of the attachment account owner. 330 func (o TransitGatewayRouteTableAttachmentOutput) OwnerAccountId() pulumi.StringOutput { 331 return o.ApplyT(func(v *TransitGatewayRouteTableAttachment) pulumi.StringOutput { return v.OwnerAccountId }).(pulumi.StringOutput) 332 } 333 334 // The ID of the peer for the attachment. 335 func (o TransitGatewayRouteTableAttachmentOutput) PeeringId() pulumi.StringOutput { 336 return o.ApplyT(func(v *TransitGatewayRouteTableAttachment) pulumi.StringOutput { return v.PeeringId }).(pulumi.StringOutput) 337 } 338 339 // The attachment resource ARN. 340 func (o TransitGatewayRouteTableAttachmentOutput) ResourceArn() pulumi.StringOutput { 341 return o.ApplyT(func(v *TransitGatewayRouteTableAttachment) pulumi.StringOutput { return v.ResourceArn }).(pulumi.StringOutput) 342 } 343 344 // The name of the segment attachment. 345 func (o TransitGatewayRouteTableAttachmentOutput) SegmentName() pulumi.StringOutput { 346 return o.ApplyT(func(v *TransitGatewayRouteTableAttachment) pulumi.StringOutput { return v.SegmentName }).(pulumi.StringOutput) 347 } 348 349 // The state of the attachment. 350 func (o TransitGatewayRouteTableAttachmentOutput) State() pulumi.StringOutput { 351 return o.ApplyT(func(v *TransitGatewayRouteTableAttachment) pulumi.StringOutput { return v.State }).(pulumi.StringOutput) 352 } 353 354 // Key-value tags for the attachment. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 355 func (o TransitGatewayRouteTableAttachmentOutput) Tags() pulumi.StringMapOutput { 356 return o.ApplyT(func(v *TransitGatewayRouteTableAttachment) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) 357 } 358 359 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 360 // 361 // Deprecated: Please use `tags` instead. 362 func (o TransitGatewayRouteTableAttachmentOutput) TagsAll() pulumi.StringMapOutput { 363 return o.ApplyT(func(v *TransitGatewayRouteTableAttachment) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) 364 } 365 366 // The ARN of the transit gateway route table for the attachment. 367 func (o TransitGatewayRouteTableAttachmentOutput) TransitGatewayRouteTableArn() pulumi.StringOutput { 368 return o.ApplyT(func(v *TransitGatewayRouteTableAttachment) pulumi.StringOutput { return v.TransitGatewayRouteTableArn }).(pulumi.StringOutput) 369 } 370 371 type TransitGatewayRouteTableAttachmentArrayOutput struct{ *pulumi.OutputState } 372 373 func (TransitGatewayRouteTableAttachmentArrayOutput) ElementType() reflect.Type { 374 return reflect.TypeOf((*[]*TransitGatewayRouteTableAttachment)(nil)).Elem() 375 } 376 377 func (o TransitGatewayRouteTableAttachmentArrayOutput) ToTransitGatewayRouteTableAttachmentArrayOutput() TransitGatewayRouteTableAttachmentArrayOutput { 378 return o 379 } 380 381 func (o TransitGatewayRouteTableAttachmentArrayOutput) ToTransitGatewayRouteTableAttachmentArrayOutputWithContext(ctx context.Context) TransitGatewayRouteTableAttachmentArrayOutput { 382 return o 383 } 384 385 func (o TransitGatewayRouteTableAttachmentArrayOutput) Index(i pulumi.IntInput) TransitGatewayRouteTableAttachmentOutput { 386 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *TransitGatewayRouteTableAttachment { 387 return vs[0].([]*TransitGatewayRouteTableAttachment)[vs[1].(int)] 388 }).(TransitGatewayRouteTableAttachmentOutput) 389 } 390 391 type TransitGatewayRouteTableAttachmentMapOutput struct{ *pulumi.OutputState } 392 393 func (TransitGatewayRouteTableAttachmentMapOutput) ElementType() reflect.Type { 394 return reflect.TypeOf((*map[string]*TransitGatewayRouteTableAttachment)(nil)).Elem() 395 } 396 397 func (o TransitGatewayRouteTableAttachmentMapOutput) ToTransitGatewayRouteTableAttachmentMapOutput() TransitGatewayRouteTableAttachmentMapOutput { 398 return o 399 } 400 401 func (o TransitGatewayRouteTableAttachmentMapOutput) ToTransitGatewayRouteTableAttachmentMapOutputWithContext(ctx context.Context) TransitGatewayRouteTableAttachmentMapOutput { 402 return o 403 } 404 405 func (o TransitGatewayRouteTableAttachmentMapOutput) MapIndex(k pulumi.StringInput) TransitGatewayRouteTableAttachmentOutput { 406 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *TransitGatewayRouteTableAttachment { 407 return vs[0].(map[string]*TransitGatewayRouteTableAttachment)[vs[1].(string)] 408 }).(TransitGatewayRouteTableAttachmentOutput) 409 } 410 411 func init() { 412 pulumi.RegisterInputType(reflect.TypeOf((*TransitGatewayRouteTableAttachmentInput)(nil)).Elem(), &TransitGatewayRouteTableAttachment{}) 413 pulumi.RegisterInputType(reflect.TypeOf((*TransitGatewayRouteTableAttachmentArrayInput)(nil)).Elem(), TransitGatewayRouteTableAttachmentArray{}) 414 pulumi.RegisterInputType(reflect.TypeOf((*TransitGatewayRouteTableAttachmentMapInput)(nil)).Elem(), TransitGatewayRouteTableAttachmentMap{}) 415 pulumi.RegisterOutputType(TransitGatewayRouteTableAttachmentOutput{}) 416 pulumi.RegisterOutputType(TransitGatewayRouteTableAttachmentArrayOutput{}) 417 pulumi.RegisterOutputType(TransitGatewayRouteTableAttachmentMapOutput{}) 418 }