github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/networkmanager/transitGatewayRegistration.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 // Registers a transit gateway to a global network. The transit gateway can be in any AWS Region, 16 // but it must be owned by the same AWS account that owns the global network. 17 // You cannot register a transit gateway in more than one global network. 18 // 19 // ## Example Usage 20 // 21 // <!--Start PulumiCodeChooser --> 22 // ```go 23 // package main 24 // 25 // import ( 26 // 27 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway" 28 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager" 29 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 30 // 31 // ) 32 // 33 // func main() { 34 // pulumi.Run(func(ctx *pulumi.Context) error { 35 // example, err := networkmanager.NewGlobalNetwork(ctx, "example", &networkmanager.GlobalNetworkArgs{ 36 // Description: pulumi.String("example"), 37 // }) 38 // if err != nil { 39 // return err 40 // } 41 // exampleTransitGateway, err := ec2transitgateway.NewTransitGateway(ctx, "example", nil) 42 // if err != nil { 43 // return err 44 // } 45 // _, err = networkmanager.NewTransitGatewayRegistration(ctx, "example", &networkmanager.TransitGatewayRegistrationArgs{ 46 // GlobalNetworkId: example.ID(), 47 // TransitGatewayArn: exampleTransitGateway.Arn, 48 // }) 49 // if err != nil { 50 // return err 51 // } 52 // return nil 53 // }) 54 // } 55 // 56 // ``` 57 // <!--End PulumiCodeChooser --> 58 // 59 // ## Import 60 // 61 // Using `pulumi import`, import `aws_networkmanager_transit_gateway_registration` using the global network ID and transit gateway ARN. For example: 62 // 63 // ```sh 64 // $ pulumi import aws:networkmanager/transitGatewayRegistration:TransitGatewayRegistration example global-network-0d47f6t230mz46dy4,arn:aws:ec2:us-west-2:123456789012:transit-gateway/tgw-123abc05e04123abc 65 // ``` 66 type TransitGatewayRegistration struct { 67 pulumi.CustomResourceState 68 69 // The ID of the Global Network to register to. 70 GlobalNetworkId pulumi.StringOutput `pulumi:"globalNetworkId"` 71 // The ARN of the Transit Gateway to register. 72 TransitGatewayArn pulumi.StringOutput `pulumi:"transitGatewayArn"` 73 } 74 75 // NewTransitGatewayRegistration registers a new resource with the given unique name, arguments, and options. 76 func NewTransitGatewayRegistration(ctx *pulumi.Context, 77 name string, args *TransitGatewayRegistrationArgs, opts ...pulumi.ResourceOption) (*TransitGatewayRegistration, error) { 78 if args == nil { 79 return nil, errors.New("missing one or more required arguments") 80 } 81 82 if args.GlobalNetworkId == nil { 83 return nil, errors.New("invalid value for required argument 'GlobalNetworkId'") 84 } 85 if args.TransitGatewayArn == nil { 86 return nil, errors.New("invalid value for required argument 'TransitGatewayArn'") 87 } 88 opts = internal.PkgResourceDefaultOpts(opts) 89 var resource TransitGatewayRegistration 90 err := ctx.RegisterResource("aws:networkmanager/transitGatewayRegistration:TransitGatewayRegistration", name, args, &resource, opts...) 91 if err != nil { 92 return nil, err 93 } 94 return &resource, nil 95 } 96 97 // GetTransitGatewayRegistration gets an existing TransitGatewayRegistration resource's state with the given name, ID, and optional 98 // state properties that are used to uniquely qualify the lookup (nil if not required). 99 func GetTransitGatewayRegistration(ctx *pulumi.Context, 100 name string, id pulumi.IDInput, state *TransitGatewayRegistrationState, opts ...pulumi.ResourceOption) (*TransitGatewayRegistration, error) { 101 var resource TransitGatewayRegistration 102 err := ctx.ReadResource("aws:networkmanager/transitGatewayRegistration:TransitGatewayRegistration", name, id, state, &resource, opts...) 103 if err != nil { 104 return nil, err 105 } 106 return &resource, nil 107 } 108 109 // Input properties used for looking up and filtering TransitGatewayRegistration resources. 110 type transitGatewayRegistrationState struct { 111 // The ID of the Global Network to register to. 112 GlobalNetworkId *string `pulumi:"globalNetworkId"` 113 // The ARN of the Transit Gateway to register. 114 TransitGatewayArn *string `pulumi:"transitGatewayArn"` 115 } 116 117 type TransitGatewayRegistrationState struct { 118 // The ID of the Global Network to register to. 119 GlobalNetworkId pulumi.StringPtrInput 120 // The ARN of the Transit Gateway to register. 121 TransitGatewayArn pulumi.StringPtrInput 122 } 123 124 func (TransitGatewayRegistrationState) ElementType() reflect.Type { 125 return reflect.TypeOf((*transitGatewayRegistrationState)(nil)).Elem() 126 } 127 128 type transitGatewayRegistrationArgs struct { 129 // The ID of the Global Network to register to. 130 GlobalNetworkId string `pulumi:"globalNetworkId"` 131 // The ARN of the Transit Gateway to register. 132 TransitGatewayArn string `pulumi:"transitGatewayArn"` 133 } 134 135 // The set of arguments for constructing a TransitGatewayRegistration resource. 136 type TransitGatewayRegistrationArgs struct { 137 // The ID of the Global Network to register to. 138 GlobalNetworkId pulumi.StringInput 139 // The ARN of the Transit Gateway to register. 140 TransitGatewayArn pulumi.StringInput 141 } 142 143 func (TransitGatewayRegistrationArgs) ElementType() reflect.Type { 144 return reflect.TypeOf((*transitGatewayRegistrationArgs)(nil)).Elem() 145 } 146 147 type TransitGatewayRegistrationInput interface { 148 pulumi.Input 149 150 ToTransitGatewayRegistrationOutput() TransitGatewayRegistrationOutput 151 ToTransitGatewayRegistrationOutputWithContext(ctx context.Context) TransitGatewayRegistrationOutput 152 } 153 154 func (*TransitGatewayRegistration) ElementType() reflect.Type { 155 return reflect.TypeOf((**TransitGatewayRegistration)(nil)).Elem() 156 } 157 158 func (i *TransitGatewayRegistration) ToTransitGatewayRegistrationOutput() TransitGatewayRegistrationOutput { 159 return i.ToTransitGatewayRegistrationOutputWithContext(context.Background()) 160 } 161 162 func (i *TransitGatewayRegistration) ToTransitGatewayRegistrationOutputWithContext(ctx context.Context) TransitGatewayRegistrationOutput { 163 return pulumi.ToOutputWithContext(ctx, i).(TransitGatewayRegistrationOutput) 164 } 165 166 // TransitGatewayRegistrationArrayInput is an input type that accepts TransitGatewayRegistrationArray and TransitGatewayRegistrationArrayOutput values. 167 // You can construct a concrete instance of `TransitGatewayRegistrationArrayInput` via: 168 // 169 // TransitGatewayRegistrationArray{ TransitGatewayRegistrationArgs{...} } 170 type TransitGatewayRegistrationArrayInput interface { 171 pulumi.Input 172 173 ToTransitGatewayRegistrationArrayOutput() TransitGatewayRegistrationArrayOutput 174 ToTransitGatewayRegistrationArrayOutputWithContext(context.Context) TransitGatewayRegistrationArrayOutput 175 } 176 177 type TransitGatewayRegistrationArray []TransitGatewayRegistrationInput 178 179 func (TransitGatewayRegistrationArray) ElementType() reflect.Type { 180 return reflect.TypeOf((*[]*TransitGatewayRegistration)(nil)).Elem() 181 } 182 183 func (i TransitGatewayRegistrationArray) ToTransitGatewayRegistrationArrayOutput() TransitGatewayRegistrationArrayOutput { 184 return i.ToTransitGatewayRegistrationArrayOutputWithContext(context.Background()) 185 } 186 187 func (i TransitGatewayRegistrationArray) ToTransitGatewayRegistrationArrayOutputWithContext(ctx context.Context) TransitGatewayRegistrationArrayOutput { 188 return pulumi.ToOutputWithContext(ctx, i).(TransitGatewayRegistrationArrayOutput) 189 } 190 191 // TransitGatewayRegistrationMapInput is an input type that accepts TransitGatewayRegistrationMap and TransitGatewayRegistrationMapOutput values. 192 // You can construct a concrete instance of `TransitGatewayRegistrationMapInput` via: 193 // 194 // TransitGatewayRegistrationMap{ "key": TransitGatewayRegistrationArgs{...} } 195 type TransitGatewayRegistrationMapInput interface { 196 pulumi.Input 197 198 ToTransitGatewayRegistrationMapOutput() TransitGatewayRegistrationMapOutput 199 ToTransitGatewayRegistrationMapOutputWithContext(context.Context) TransitGatewayRegistrationMapOutput 200 } 201 202 type TransitGatewayRegistrationMap map[string]TransitGatewayRegistrationInput 203 204 func (TransitGatewayRegistrationMap) ElementType() reflect.Type { 205 return reflect.TypeOf((*map[string]*TransitGatewayRegistration)(nil)).Elem() 206 } 207 208 func (i TransitGatewayRegistrationMap) ToTransitGatewayRegistrationMapOutput() TransitGatewayRegistrationMapOutput { 209 return i.ToTransitGatewayRegistrationMapOutputWithContext(context.Background()) 210 } 211 212 func (i TransitGatewayRegistrationMap) ToTransitGatewayRegistrationMapOutputWithContext(ctx context.Context) TransitGatewayRegistrationMapOutput { 213 return pulumi.ToOutputWithContext(ctx, i).(TransitGatewayRegistrationMapOutput) 214 } 215 216 type TransitGatewayRegistrationOutput struct{ *pulumi.OutputState } 217 218 func (TransitGatewayRegistrationOutput) ElementType() reflect.Type { 219 return reflect.TypeOf((**TransitGatewayRegistration)(nil)).Elem() 220 } 221 222 func (o TransitGatewayRegistrationOutput) ToTransitGatewayRegistrationOutput() TransitGatewayRegistrationOutput { 223 return o 224 } 225 226 func (o TransitGatewayRegistrationOutput) ToTransitGatewayRegistrationOutputWithContext(ctx context.Context) TransitGatewayRegistrationOutput { 227 return o 228 } 229 230 // The ID of the Global Network to register to. 231 func (o TransitGatewayRegistrationOutput) GlobalNetworkId() pulumi.StringOutput { 232 return o.ApplyT(func(v *TransitGatewayRegistration) pulumi.StringOutput { return v.GlobalNetworkId }).(pulumi.StringOutput) 233 } 234 235 // The ARN of the Transit Gateway to register. 236 func (o TransitGatewayRegistrationOutput) TransitGatewayArn() pulumi.StringOutput { 237 return o.ApplyT(func(v *TransitGatewayRegistration) pulumi.StringOutput { return v.TransitGatewayArn }).(pulumi.StringOutput) 238 } 239 240 type TransitGatewayRegistrationArrayOutput struct{ *pulumi.OutputState } 241 242 func (TransitGatewayRegistrationArrayOutput) ElementType() reflect.Type { 243 return reflect.TypeOf((*[]*TransitGatewayRegistration)(nil)).Elem() 244 } 245 246 func (o TransitGatewayRegistrationArrayOutput) ToTransitGatewayRegistrationArrayOutput() TransitGatewayRegistrationArrayOutput { 247 return o 248 } 249 250 func (o TransitGatewayRegistrationArrayOutput) ToTransitGatewayRegistrationArrayOutputWithContext(ctx context.Context) TransitGatewayRegistrationArrayOutput { 251 return o 252 } 253 254 func (o TransitGatewayRegistrationArrayOutput) Index(i pulumi.IntInput) TransitGatewayRegistrationOutput { 255 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *TransitGatewayRegistration { 256 return vs[0].([]*TransitGatewayRegistration)[vs[1].(int)] 257 }).(TransitGatewayRegistrationOutput) 258 } 259 260 type TransitGatewayRegistrationMapOutput struct{ *pulumi.OutputState } 261 262 func (TransitGatewayRegistrationMapOutput) ElementType() reflect.Type { 263 return reflect.TypeOf((*map[string]*TransitGatewayRegistration)(nil)).Elem() 264 } 265 266 func (o TransitGatewayRegistrationMapOutput) ToTransitGatewayRegistrationMapOutput() TransitGatewayRegistrationMapOutput { 267 return o 268 } 269 270 func (o TransitGatewayRegistrationMapOutput) ToTransitGatewayRegistrationMapOutputWithContext(ctx context.Context) TransitGatewayRegistrationMapOutput { 271 return o 272 } 273 274 func (o TransitGatewayRegistrationMapOutput) MapIndex(k pulumi.StringInput) TransitGatewayRegistrationOutput { 275 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *TransitGatewayRegistration { 276 return vs[0].(map[string]*TransitGatewayRegistration)[vs[1].(string)] 277 }).(TransitGatewayRegistrationOutput) 278 } 279 280 func init() { 281 pulumi.RegisterInputType(reflect.TypeOf((*TransitGatewayRegistrationInput)(nil)).Elem(), &TransitGatewayRegistration{}) 282 pulumi.RegisterInputType(reflect.TypeOf((*TransitGatewayRegistrationArrayInput)(nil)).Elem(), TransitGatewayRegistrationArray{}) 283 pulumi.RegisterInputType(reflect.TypeOf((*TransitGatewayRegistrationMapInput)(nil)).Elem(), TransitGatewayRegistrationMap{}) 284 pulumi.RegisterOutputType(TransitGatewayRegistrationOutput{}) 285 pulumi.RegisterOutputType(TransitGatewayRegistrationArrayOutput{}) 286 pulumi.RegisterOutputType(TransitGatewayRegistrationMapOutput{}) 287 }