github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/networkmanager/transitGatewayConnectPeerAssociation.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 // Associates a transit gateway Connect peer with a device, and optionally, with a link. 16 // If you specify a link, it must be associated with the specified device. 17 // 18 // ## Example Usage 19 // 20 // <!--Start PulumiCodeChooser --> 21 // ```go 22 // package main 23 // 24 // import ( 25 // 26 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager" 27 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 28 // 29 // ) 30 // 31 // func main() { 32 // pulumi.Run(func(ctx *pulumi.Context) error { 33 // _, err := networkmanager.NewTransitGatewayConnectPeerAssociation(ctx, "example", &networkmanager.TransitGatewayConnectPeerAssociationArgs{ 34 // GlobalNetworkId: pulumi.Any(exampleAwsNetworkmanagerGlobalNetwork.Id), 35 // DeviceId: pulumi.Any(exampleAwsNetworkmanagerDevice.Id), 36 // TransitGatewayConnectPeerArn: pulumi.Any(exampleAwsEc2TransitGatewayConnectPeer.Arn), 37 // }) 38 // if err != nil { 39 // return err 40 // } 41 // return nil 42 // }) 43 // } 44 // 45 // ``` 46 // <!--End PulumiCodeChooser --> 47 // 48 // ## Import 49 // 50 // Using `pulumi import`, import `aws_networkmanager_transit_gateway_connect_peer_association` using the global network ID and customer gateway ARN. For example: 51 // 52 // ```sh 53 // $ pulumi import aws:networkmanager/transitGatewayConnectPeerAssociation:TransitGatewayConnectPeerAssociation example global-network-0d47f6t230mz46dy4,arn:aws:ec2:us-west-2:123456789012:transit-gateway-connect-peer/tgw-connect-peer-12345678 54 // ``` 55 type TransitGatewayConnectPeerAssociation struct { 56 pulumi.CustomResourceState 57 58 // The ID of the device. 59 DeviceId pulumi.StringOutput `pulumi:"deviceId"` 60 // The ID of the global network. 61 GlobalNetworkId pulumi.StringOutput `pulumi:"globalNetworkId"` 62 // The ID of the link. 63 LinkId pulumi.StringPtrOutput `pulumi:"linkId"` 64 // The Amazon Resource Name (ARN) of the Connect peer. 65 TransitGatewayConnectPeerArn pulumi.StringOutput `pulumi:"transitGatewayConnectPeerArn"` 66 } 67 68 // NewTransitGatewayConnectPeerAssociation registers a new resource with the given unique name, arguments, and options. 69 func NewTransitGatewayConnectPeerAssociation(ctx *pulumi.Context, 70 name string, args *TransitGatewayConnectPeerAssociationArgs, opts ...pulumi.ResourceOption) (*TransitGatewayConnectPeerAssociation, error) { 71 if args == nil { 72 return nil, errors.New("missing one or more required arguments") 73 } 74 75 if args.DeviceId == nil { 76 return nil, errors.New("invalid value for required argument 'DeviceId'") 77 } 78 if args.GlobalNetworkId == nil { 79 return nil, errors.New("invalid value for required argument 'GlobalNetworkId'") 80 } 81 if args.TransitGatewayConnectPeerArn == nil { 82 return nil, errors.New("invalid value for required argument 'TransitGatewayConnectPeerArn'") 83 } 84 opts = internal.PkgResourceDefaultOpts(opts) 85 var resource TransitGatewayConnectPeerAssociation 86 err := ctx.RegisterResource("aws:networkmanager/transitGatewayConnectPeerAssociation:TransitGatewayConnectPeerAssociation", name, args, &resource, opts...) 87 if err != nil { 88 return nil, err 89 } 90 return &resource, nil 91 } 92 93 // GetTransitGatewayConnectPeerAssociation gets an existing TransitGatewayConnectPeerAssociation resource's state with the given name, ID, and optional 94 // state properties that are used to uniquely qualify the lookup (nil if not required). 95 func GetTransitGatewayConnectPeerAssociation(ctx *pulumi.Context, 96 name string, id pulumi.IDInput, state *TransitGatewayConnectPeerAssociationState, opts ...pulumi.ResourceOption) (*TransitGatewayConnectPeerAssociation, error) { 97 var resource TransitGatewayConnectPeerAssociation 98 err := ctx.ReadResource("aws:networkmanager/transitGatewayConnectPeerAssociation:TransitGatewayConnectPeerAssociation", name, id, state, &resource, opts...) 99 if err != nil { 100 return nil, err 101 } 102 return &resource, nil 103 } 104 105 // Input properties used for looking up and filtering TransitGatewayConnectPeerAssociation resources. 106 type transitGatewayConnectPeerAssociationState struct { 107 // The ID of the device. 108 DeviceId *string `pulumi:"deviceId"` 109 // The ID of the global network. 110 GlobalNetworkId *string `pulumi:"globalNetworkId"` 111 // The ID of the link. 112 LinkId *string `pulumi:"linkId"` 113 // The Amazon Resource Name (ARN) of the Connect peer. 114 TransitGatewayConnectPeerArn *string `pulumi:"transitGatewayConnectPeerArn"` 115 } 116 117 type TransitGatewayConnectPeerAssociationState struct { 118 // The ID of the device. 119 DeviceId pulumi.StringPtrInput 120 // The ID of the global network. 121 GlobalNetworkId pulumi.StringPtrInput 122 // The ID of the link. 123 LinkId pulumi.StringPtrInput 124 // The Amazon Resource Name (ARN) of the Connect peer. 125 TransitGatewayConnectPeerArn pulumi.StringPtrInput 126 } 127 128 func (TransitGatewayConnectPeerAssociationState) ElementType() reflect.Type { 129 return reflect.TypeOf((*transitGatewayConnectPeerAssociationState)(nil)).Elem() 130 } 131 132 type transitGatewayConnectPeerAssociationArgs struct { 133 // The ID of the device. 134 DeviceId string `pulumi:"deviceId"` 135 // The ID of the global network. 136 GlobalNetworkId string `pulumi:"globalNetworkId"` 137 // The ID of the link. 138 LinkId *string `pulumi:"linkId"` 139 // The Amazon Resource Name (ARN) of the Connect peer. 140 TransitGatewayConnectPeerArn string `pulumi:"transitGatewayConnectPeerArn"` 141 } 142 143 // The set of arguments for constructing a TransitGatewayConnectPeerAssociation resource. 144 type TransitGatewayConnectPeerAssociationArgs struct { 145 // The ID of the device. 146 DeviceId pulumi.StringInput 147 // The ID of the global network. 148 GlobalNetworkId pulumi.StringInput 149 // The ID of the link. 150 LinkId pulumi.StringPtrInput 151 // The Amazon Resource Name (ARN) of the Connect peer. 152 TransitGatewayConnectPeerArn pulumi.StringInput 153 } 154 155 func (TransitGatewayConnectPeerAssociationArgs) ElementType() reflect.Type { 156 return reflect.TypeOf((*transitGatewayConnectPeerAssociationArgs)(nil)).Elem() 157 } 158 159 type TransitGatewayConnectPeerAssociationInput interface { 160 pulumi.Input 161 162 ToTransitGatewayConnectPeerAssociationOutput() TransitGatewayConnectPeerAssociationOutput 163 ToTransitGatewayConnectPeerAssociationOutputWithContext(ctx context.Context) TransitGatewayConnectPeerAssociationOutput 164 } 165 166 func (*TransitGatewayConnectPeerAssociation) ElementType() reflect.Type { 167 return reflect.TypeOf((**TransitGatewayConnectPeerAssociation)(nil)).Elem() 168 } 169 170 func (i *TransitGatewayConnectPeerAssociation) ToTransitGatewayConnectPeerAssociationOutput() TransitGatewayConnectPeerAssociationOutput { 171 return i.ToTransitGatewayConnectPeerAssociationOutputWithContext(context.Background()) 172 } 173 174 func (i *TransitGatewayConnectPeerAssociation) ToTransitGatewayConnectPeerAssociationOutputWithContext(ctx context.Context) TransitGatewayConnectPeerAssociationOutput { 175 return pulumi.ToOutputWithContext(ctx, i).(TransitGatewayConnectPeerAssociationOutput) 176 } 177 178 // TransitGatewayConnectPeerAssociationArrayInput is an input type that accepts TransitGatewayConnectPeerAssociationArray and TransitGatewayConnectPeerAssociationArrayOutput values. 179 // You can construct a concrete instance of `TransitGatewayConnectPeerAssociationArrayInput` via: 180 // 181 // TransitGatewayConnectPeerAssociationArray{ TransitGatewayConnectPeerAssociationArgs{...} } 182 type TransitGatewayConnectPeerAssociationArrayInput interface { 183 pulumi.Input 184 185 ToTransitGatewayConnectPeerAssociationArrayOutput() TransitGatewayConnectPeerAssociationArrayOutput 186 ToTransitGatewayConnectPeerAssociationArrayOutputWithContext(context.Context) TransitGatewayConnectPeerAssociationArrayOutput 187 } 188 189 type TransitGatewayConnectPeerAssociationArray []TransitGatewayConnectPeerAssociationInput 190 191 func (TransitGatewayConnectPeerAssociationArray) ElementType() reflect.Type { 192 return reflect.TypeOf((*[]*TransitGatewayConnectPeerAssociation)(nil)).Elem() 193 } 194 195 func (i TransitGatewayConnectPeerAssociationArray) ToTransitGatewayConnectPeerAssociationArrayOutput() TransitGatewayConnectPeerAssociationArrayOutput { 196 return i.ToTransitGatewayConnectPeerAssociationArrayOutputWithContext(context.Background()) 197 } 198 199 func (i TransitGatewayConnectPeerAssociationArray) ToTransitGatewayConnectPeerAssociationArrayOutputWithContext(ctx context.Context) TransitGatewayConnectPeerAssociationArrayOutput { 200 return pulumi.ToOutputWithContext(ctx, i).(TransitGatewayConnectPeerAssociationArrayOutput) 201 } 202 203 // TransitGatewayConnectPeerAssociationMapInput is an input type that accepts TransitGatewayConnectPeerAssociationMap and TransitGatewayConnectPeerAssociationMapOutput values. 204 // You can construct a concrete instance of `TransitGatewayConnectPeerAssociationMapInput` via: 205 // 206 // TransitGatewayConnectPeerAssociationMap{ "key": TransitGatewayConnectPeerAssociationArgs{...} } 207 type TransitGatewayConnectPeerAssociationMapInput interface { 208 pulumi.Input 209 210 ToTransitGatewayConnectPeerAssociationMapOutput() TransitGatewayConnectPeerAssociationMapOutput 211 ToTransitGatewayConnectPeerAssociationMapOutputWithContext(context.Context) TransitGatewayConnectPeerAssociationMapOutput 212 } 213 214 type TransitGatewayConnectPeerAssociationMap map[string]TransitGatewayConnectPeerAssociationInput 215 216 func (TransitGatewayConnectPeerAssociationMap) ElementType() reflect.Type { 217 return reflect.TypeOf((*map[string]*TransitGatewayConnectPeerAssociation)(nil)).Elem() 218 } 219 220 func (i TransitGatewayConnectPeerAssociationMap) ToTransitGatewayConnectPeerAssociationMapOutput() TransitGatewayConnectPeerAssociationMapOutput { 221 return i.ToTransitGatewayConnectPeerAssociationMapOutputWithContext(context.Background()) 222 } 223 224 func (i TransitGatewayConnectPeerAssociationMap) ToTransitGatewayConnectPeerAssociationMapOutputWithContext(ctx context.Context) TransitGatewayConnectPeerAssociationMapOutput { 225 return pulumi.ToOutputWithContext(ctx, i).(TransitGatewayConnectPeerAssociationMapOutput) 226 } 227 228 type TransitGatewayConnectPeerAssociationOutput struct{ *pulumi.OutputState } 229 230 func (TransitGatewayConnectPeerAssociationOutput) ElementType() reflect.Type { 231 return reflect.TypeOf((**TransitGatewayConnectPeerAssociation)(nil)).Elem() 232 } 233 234 func (o TransitGatewayConnectPeerAssociationOutput) ToTransitGatewayConnectPeerAssociationOutput() TransitGatewayConnectPeerAssociationOutput { 235 return o 236 } 237 238 func (o TransitGatewayConnectPeerAssociationOutput) ToTransitGatewayConnectPeerAssociationOutputWithContext(ctx context.Context) TransitGatewayConnectPeerAssociationOutput { 239 return o 240 } 241 242 // The ID of the device. 243 func (o TransitGatewayConnectPeerAssociationOutput) DeviceId() pulumi.StringOutput { 244 return o.ApplyT(func(v *TransitGatewayConnectPeerAssociation) pulumi.StringOutput { return v.DeviceId }).(pulumi.StringOutput) 245 } 246 247 // The ID of the global network. 248 func (o TransitGatewayConnectPeerAssociationOutput) GlobalNetworkId() pulumi.StringOutput { 249 return o.ApplyT(func(v *TransitGatewayConnectPeerAssociation) pulumi.StringOutput { return v.GlobalNetworkId }).(pulumi.StringOutput) 250 } 251 252 // The ID of the link. 253 func (o TransitGatewayConnectPeerAssociationOutput) LinkId() pulumi.StringPtrOutput { 254 return o.ApplyT(func(v *TransitGatewayConnectPeerAssociation) pulumi.StringPtrOutput { return v.LinkId }).(pulumi.StringPtrOutput) 255 } 256 257 // The Amazon Resource Name (ARN) of the Connect peer. 258 func (o TransitGatewayConnectPeerAssociationOutput) TransitGatewayConnectPeerArn() pulumi.StringOutput { 259 return o.ApplyT(func(v *TransitGatewayConnectPeerAssociation) pulumi.StringOutput { 260 return v.TransitGatewayConnectPeerArn 261 }).(pulumi.StringOutput) 262 } 263 264 type TransitGatewayConnectPeerAssociationArrayOutput struct{ *pulumi.OutputState } 265 266 func (TransitGatewayConnectPeerAssociationArrayOutput) ElementType() reflect.Type { 267 return reflect.TypeOf((*[]*TransitGatewayConnectPeerAssociation)(nil)).Elem() 268 } 269 270 func (o TransitGatewayConnectPeerAssociationArrayOutput) ToTransitGatewayConnectPeerAssociationArrayOutput() TransitGatewayConnectPeerAssociationArrayOutput { 271 return o 272 } 273 274 func (o TransitGatewayConnectPeerAssociationArrayOutput) ToTransitGatewayConnectPeerAssociationArrayOutputWithContext(ctx context.Context) TransitGatewayConnectPeerAssociationArrayOutput { 275 return o 276 } 277 278 func (o TransitGatewayConnectPeerAssociationArrayOutput) Index(i pulumi.IntInput) TransitGatewayConnectPeerAssociationOutput { 279 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *TransitGatewayConnectPeerAssociation { 280 return vs[0].([]*TransitGatewayConnectPeerAssociation)[vs[1].(int)] 281 }).(TransitGatewayConnectPeerAssociationOutput) 282 } 283 284 type TransitGatewayConnectPeerAssociationMapOutput struct{ *pulumi.OutputState } 285 286 func (TransitGatewayConnectPeerAssociationMapOutput) ElementType() reflect.Type { 287 return reflect.TypeOf((*map[string]*TransitGatewayConnectPeerAssociation)(nil)).Elem() 288 } 289 290 func (o TransitGatewayConnectPeerAssociationMapOutput) ToTransitGatewayConnectPeerAssociationMapOutput() TransitGatewayConnectPeerAssociationMapOutput { 291 return o 292 } 293 294 func (o TransitGatewayConnectPeerAssociationMapOutput) ToTransitGatewayConnectPeerAssociationMapOutputWithContext(ctx context.Context) TransitGatewayConnectPeerAssociationMapOutput { 295 return o 296 } 297 298 func (o TransitGatewayConnectPeerAssociationMapOutput) MapIndex(k pulumi.StringInput) TransitGatewayConnectPeerAssociationOutput { 299 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *TransitGatewayConnectPeerAssociation { 300 return vs[0].(map[string]*TransitGatewayConnectPeerAssociation)[vs[1].(string)] 301 }).(TransitGatewayConnectPeerAssociationOutput) 302 } 303 304 func init() { 305 pulumi.RegisterInputType(reflect.TypeOf((*TransitGatewayConnectPeerAssociationInput)(nil)).Elem(), &TransitGatewayConnectPeerAssociation{}) 306 pulumi.RegisterInputType(reflect.TypeOf((*TransitGatewayConnectPeerAssociationArrayInput)(nil)).Elem(), TransitGatewayConnectPeerAssociationArray{}) 307 pulumi.RegisterInputType(reflect.TypeOf((*TransitGatewayConnectPeerAssociationMapInput)(nil)).Elem(), TransitGatewayConnectPeerAssociationMap{}) 308 pulumi.RegisterOutputType(TransitGatewayConnectPeerAssociationOutput{}) 309 pulumi.RegisterOutputType(TransitGatewayConnectPeerAssociationArrayOutput{}) 310 pulumi.RegisterOutputType(TransitGatewayConnectPeerAssociationMapOutput{}) 311 }