github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/directconnect/connection.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 directconnect 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 // Provides a Connection of Direct Connect. 16 // 17 // ## Example Usage 18 // 19 // ### Create a connection 20 // 21 // <!--Start PulumiCodeChooser --> 22 // ```go 23 // package main 24 // 25 // import ( 26 // 27 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect" 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 := directconnect.NewConnection(ctx, "hoge", &directconnect.ConnectionArgs{ 35 // Name: pulumi.String("tf-dx-connection"), 36 // Bandwidth: pulumi.String("1Gbps"), 37 // Location: pulumi.String("EqDC2"), 38 // }) 39 // if err != nil { 40 // return err 41 // } 42 // return nil 43 // }) 44 // } 45 // 46 // ``` 47 // <!--End PulumiCodeChooser --> 48 // 49 // ### Request a MACsec-capable connection 50 // 51 // <!--Start PulumiCodeChooser --> 52 // ```go 53 // package main 54 // 55 // import ( 56 // 57 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect" 58 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 59 // 60 // ) 61 // 62 // func main() { 63 // pulumi.Run(func(ctx *pulumi.Context) error { 64 // _, err := directconnect.NewConnection(ctx, "example", &directconnect.ConnectionArgs{ 65 // Name: pulumi.String("tf-dx-connection"), 66 // Bandwidth: pulumi.String("10Gbps"), 67 // Location: pulumi.String("EqDA2"), 68 // RequestMacsec: pulumi.Bool(true), 69 // }) 70 // if err != nil { 71 // return err 72 // } 73 // return nil 74 // }) 75 // } 76 // 77 // ``` 78 // <!--End PulumiCodeChooser --> 79 // 80 // ### Configure encryption mode for MACsec-capable connections 81 // 82 // > **NOTE:** You can only specify the `encryptionMode` argument once the connection is in an `Available` state. 83 // 84 // <!--Start PulumiCodeChooser --> 85 // ```go 86 // package main 87 // 88 // import ( 89 // 90 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect" 91 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 92 // 93 // ) 94 // 95 // func main() { 96 // pulumi.Run(func(ctx *pulumi.Context) error { 97 // _, err := directconnect.NewConnection(ctx, "example", &directconnect.ConnectionArgs{ 98 // Name: pulumi.String("tf-dx-connection"), 99 // Bandwidth: pulumi.String("10Gbps"), 100 // Location: pulumi.String("EqDC2"), 101 // RequestMacsec: pulumi.Bool(true), 102 // EncryptionMode: pulumi.String("must_encrypt"), 103 // }) 104 // if err != nil { 105 // return err 106 // } 107 // return nil 108 // }) 109 // } 110 // 111 // ``` 112 // <!--End PulumiCodeChooser --> 113 // 114 // ## Import 115 // 116 // Using `pulumi import`, import Direct Connect connections using the connection `id`. For example: 117 // 118 // ```sh 119 // $ pulumi import aws:directconnect/connection:Connection test_connection dxcon-ffre0ec3 120 // ``` 121 type Connection struct { 122 pulumi.CustomResourceState 123 124 // The ARN of the connection. 125 Arn pulumi.StringOutput `pulumi:"arn"` 126 // The Direct Connect endpoint on which the physical connection terminates. 127 AwsDevice pulumi.StringOutput `pulumi:"awsDevice"` 128 // The bandwidth of the connection. Valid values for dedicated connections: 1Gbps, 10Gbps. Valid values for hosted connections: 50Mbps, 100Mbps, 200Mbps, 300Mbps, 400Mbps, 500Mbps, 1Gbps, 2Gbps, 5Gbps, 10Gbps and 100Gbps. Case sensitive. 129 Bandwidth pulumi.StringOutput `pulumi:"bandwidth"` 130 // The connection MAC Security (MACsec) encryption mode. MAC Security (MACsec) is only available on dedicated connections. Valid values are `noEncrypt`, `shouldEncrypt`, and `mustEncrypt`. 131 EncryptionMode pulumi.StringOutput `pulumi:"encryptionMode"` 132 // Indicates whether the connection supports a secondary BGP peer in the same address family (IPv4/IPv6). 133 HasLogicalRedundancy pulumi.StringOutput `pulumi:"hasLogicalRedundancy"` 134 // Boolean value representing if jumbo frames have been enabled for this connection. 135 JumboFrameCapable pulumi.BoolOutput `pulumi:"jumboFrameCapable"` 136 // The AWS Direct Connect location where the connection is located. See [DescribeLocations](https://docs.aws.amazon.com/directconnect/latest/APIReference/API_DescribeLocations.html) for the list of AWS Direct Connect locations. Use `locationCode`. 137 Location pulumi.StringOutput `pulumi:"location"` 138 // Boolean value indicating whether the connection supports MAC Security (MACsec). 139 MacsecCapable pulumi.BoolOutput `pulumi:"macsecCapable"` 140 // The name of the connection. 141 Name pulumi.StringOutput `pulumi:"name"` 142 // The ID of the AWS account that owns the connection. 143 OwnerAccountId pulumi.StringOutput `pulumi:"ownerAccountId"` 144 // The name of the AWS Direct Connect service provider associated with the connection. 145 PartnerName pulumi.StringOutput `pulumi:"partnerName"` 146 // The MAC Security (MACsec) port link status of the connection. 147 PortEncryptionStatus pulumi.StringOutput `pulumi:"portEncryptionStatus"` 148 // The name of the service provider associated with the connection. 149 ProviderName pulumi.StringOutput `pulumi:"providerName"` 150 // Boolean value indicating whether you want the connection to support MAC Security (MACsec). MAC Security (MACsec) is only available on dedicated connections. See [MACsec prerequisites](https://docs.aws.amazon.com/directconnect/latest/UserGuide/direct-connect-mac-sec-getting-started.html#mac-sec-prerequisites) for more information about MAC Security (MACsec) prerequisites. Default value: `false`. 151 // 152 // > **NOTE:** Changing the value of `requestMacsec` will cause the resource to be destroyed and re-created. 153 RequestMacsec pulumi.BoolPtrOutput `pulumi:"requestMacsec"` 154 // Set to true if you do not wish the connection to be deleted at destroy time, and instead just removed from the state. 155 SkipDestroy pulumi.BoolPtrOutput `pulumi:"skipDestroy"` 156 // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 157 Tags pulumi.StringMapOutput `pulumi:"tags"` 158 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 159 // 160 // Deprecated: Please use `tags` instead. 161 TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` 162 // The VLAN ID. 163 VlanId pulumi.IntOutput `pulumi:"vlanId"` 164 } 165 166 // NewConnection registers a new resource with the given unique name, arguments, and options. 167 func NewConnection(ctx *pulumi.Context, 168 name string, args *ConnectionArgs, opts ...pulumi.ResourceOption) (*Connection, error) { 169 if args == nil { 170 return nil, errors.New("missing one or more required arguments") 171 } 172 173 if args.Bandwidth == nil { 174 return nil, errors.New("invalid value for required argument 'Bandwidth'") 175 } 176 if args.Location == nil { 177 return nil, errors.New("invalid value for required argument 'Location'") 178 } 179 opts = internal.PkgResourceDefaultOpts(opts) 180 var resource Connection 181 err := ctx.RegisterResource("aws:directconnect/connection:Connection", name, args, &resource, opts...) 182 if err != nil { 183 return nil, err 184 } 185 return &resource, nil 186 } 187 188 // GetConnection gets an existing Connection resource's state with the given name, ID, and optional 189 // state properties that are used to uniquely qualify the lookup (nil if not required). 190 func GetConnection(ctx *pulumi.Context, 191 name string, id pulumi.IDInput, state *ConnectionState, opts ...pulumi.ResourceOption) (*Connection, error) { 192 var resource Connection 193 err := ctx.ReadResource("aws:directconnect/connection:Connection", name, id, state, &resource, opts...) 194 if err != nil { 195 return nil, err 196 } 197 return &resource, nil 198 } 199 200 // Input properties used for looking up and filtering Connection resources. 201 type connectionState struct { 202 // The ARN of the connection. 203 Arn *string `pulumi:"arn"` 204 // The Direct Connect endpoint on which the physical connection terminates. 205 AwsDevice *string `pulumi:"awsDevice"` 206 // The bandwidth of the connection. Valid values for dedicated connections: 1Gbps, 10Gbps. Valid values for hosted connections: 50Mbps, 100Mbps, 200Mbps, 300Mbps, 400Mbps, 500Mbps, 1Gbps, 2Gbps, 5Gbps, 10Gbps and 100Gbps. Case sensitive. 207 Bandwidth *string `pulumi:"bandwidth"` 208 // The connection MAC Security (MACsec) encryption mode. MAC Security (MACsec) is only available on dedicated connections. Valid values are `noEncrypt`, `shouldEncrypt`, and `mustEncrypt`. 209 EncryptionMode *string `pulumi:"encryptionMode"` 210 // Indicates whether the connection supports a secondary BGP peer in the same address family (IPv4/IPv6). 211 HasLogicalRedundancy *string `pulumi:"hasLogicalRedundancy"` 212 // Boolean value representing if jumbo frames have been enabled for this connection. 213 JumboFrameCapable *bool `pulumi:"jumboFrameCapable"` 214 // The AWS Direct Connect location where the connection is located. See [DescribeLocations](https://docs.aws.amazon.com/directconnect/latest/APIReference/API_DescribeLocations.html) for the list of AWS Direct Connect locations. Use `locationCode`. 215 Location *string `pulumi:"location"` 216 // Boolean value indicating whether the connection supports MAC Security (MACsec). 217 MacsecCapable *bool `pulumi:"macsecCapable"` 218 // The name of the connection. 219 Name *string `pulumi:"name"` 220 // The ID of the AWS account that owns the connection. 221 OwnerAccountId *string `pulumi:"ownerAccountId"` 222 // The name of the AWS Direct Connect service provider associated with the connection. 223 PartnerName *string `pulumi:"partnerName"` 224 // The MAC Security (MACsec) port link status of the connection. 225 PortEncryptionStatus *string `pulumi:"portEncryptionStatus"` 226 // The name of the service provider associated with the connection. 227 ProviderName *string `pulumi:"providerName"` 228 // Boolean value indicating whether you want the connection to support MAC Security (MACsec). MAC Security (MACsec) is only available on dedicated connections. See [MACsec prerequisites](https://docs.aws.amazon.com/directconnect/latest/UserGuide/direct-connect-mac-sec-getting-started.html#mac-sec-prerequisites) for more information about MAC Security (MACsec) prerequisites. Default value: `false`. 229 // 230 // > **NOTE:** Changing the value of `requestMacsec` will cause the resource to be destroyed and re-created. 231 RequestMacsec *bool `pulumi:"requestMacsec"` 232 // Set to true if you do not wish the connection to be deleted at destroy time, and instead just removed from the state. 233 SkipDestroy *bool `pulumi:"skipDestroy"` 234 // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 235 Tags map[string]string `pulumi:"tags"` 236 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 237 // 238 // Deprecated: Please use `tags` instead. 239 TagsAll map[string]string `pulumi:"tagsAll"` 240 // The VLAN ID. 241 VlanId *int `pulumi:"vlanId"` 242 } 243 244 type ConnectionState struct { 245 // The ARN of the connection. 246 Arn pulumi.StringPtrInput 247 // The Direct Connect endpoint on which the physical connection terminates. 248 AwsDevice pulumi.StringPtrInput 249 // The bandwidth of the connection. Valid values for dedicated connections: 1Gbps, 10Gbps. Valid values for hosted connections: 50Mbps, 100Mbps, 200Mbps, 300Mbps, 400Mbps, 500Mbps, 1Gbps, 2Gbps, 5Gbps, 10Gbps and 100Gbps. Case sensitive. 250 Bandwidth pulumi.StringPtrInput 251 // The connection MAC Security (MACsec) encryption mode. MAC Security (MACsec) is only available on dedicated connections. Valid values are `noEncrypt`, `shouldEncrypt`, and `mustEncrypt`. 252 EncryptionMode pulumi.StringPtrInput 253 // Indicates whether the connection supports a secondary BGP peer in the same address family (IPv4/IPv6). 254 HasLogicalRedundancy pulumi.StringPtrInput 255 // Boolean value representing if jumbo frames have been enabled for this connection. 256 JumboFrameCapable pulumi.BoolPtrInput 257 // The AWS Direct Connect location where the connection is located. See [DescribeLocations](https://docs.aws.amazon.com/directconnect/latest/APIReference/API_DescribeLocations.html) for the list of AWS Direct Connect locations. Use `locationCode`. 258 Location pulumi.StringPtrInput 259 // Boolean value indicating whether the connection supports MAC Security (MACsec). 260 MacsecCapable pulumi.BoolPtrInput 261 // The name of the connection. 262 Name pulumi.StringPtrInput 263 // The ID of the AWS account that owns the connection. 264 OwnerAccountId pulumi.StringPtrInput 265 // The name of the AWS Direct Connect service provider associated with the connection. 266 PartnerName pulumi.StringPtrInput 267 // The MAC Security (MACsec) port link status of the connection. 268 PortEncryptionStatus pulumi.StringPtrInput 269 // The name of the service provider associated with the connection. 270 ProviderName pulumi.StringPtrInput 271 // Boolean value indicating whether you want the connection to support MAC Security (MACsec). MAC Security (MACsec) is only available on dedicated connections. See [MACsec prerequisites](https://docs.aws.amazon.com/directconnect/latest/UserGuide/direct-connect-mac-sec-getting-started.html#mac-sec-prerequisites) for more information about MAC Security (MACsec) prerequisites. Default value: `false`. 272 // 273 // > **NOTE:** Changing the value of `requestMacsec` will cause the resource to be destroyed and re-created. 274 RequestMacsec pulumi.BoolPtrInput 275 // Set to true if you do not wish the connection to be deleted at destroy time, and instead just removed from the state. 276 SkipDestroy pulumi.BoolPtrInput 277 // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 278 Tags pulumi.StringMapInput 279 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 280 // 281 // Deprecated: Please use `tags` instead. 282 TagsAll pulumi.StringMapInput 283 // The VLAN ID. 284 VlanId pulumi.IntPtrInput 285 } 286 287 func (ConnectionState) ElementType() reflect.Type { 288 return reflect.TypeOf((*connectionState)(nil)).Elem() 289 } 290 291 type connectionArgs struct { 292 // The bandwidth of the connection. Valid values for dedicated connections: 1Gbps, 10Gbps. Valid values for hosted connections: 50Mbps, 100Mbps, 200Mbps, 300Mbps, 400Mbps, 500Mbps, 1Gbps, 2Gbps, 5Gbps, 10Gbps and 100Gbps. Case sensitive. 293 Bandwidth string `pulumi:"bandwidth"` 294 // The connection MAC Security (MACsec) encryption mode. MAC Security (MACsec) is only available on dedicated connections. Valid values are `noEncrypt`, `shouldEncrypt`, and `mustEncrypt`. 295 EncryptionMode *string `pulumi:"encryptionMode"` 296 // The AWS Direct Connect location where the connection is located. See [DescribeLocations](https://docs.aws.amazon.com/directconnect/latest/APIReference/API_DescribeLocations.html) for the list of AWS Direct Connect locations. Use `locationCode`. 297 Location string `pulumi:"location"` 298 // The name of the connection. 299 Name *string `pulumi:"name"` 300 // The name of the service provider associated with the connection. 301 ProviderName *string `pulumi:"providerName"` 302 // Boolean value indicating whether you want the connection to support MAC Security (MACsec). MAC Security (MACsec) is only available on dedicated connections. See [MACsec prerequisites](https://docs.aws.amazon.com/directconnect/latest/UserGuide/direct-connect-mac-sec-getting-started.html#mac-sec-prerequisites) for more information about MAC Security (MACsec) prerequisites. Default value: `false`. 303 // 304 // > **NOTE:** Changing the value of `requestMacsec` will cause the resource to be destroyed and re-created. 305 RequestMacsec *bool `pulumi:"requestMacsec"` 306 // Set to true if you do not wish the connection to be deleted at destroy time, and instead just removed from the state. 307 SkipDestroy *bool `pulumi:"skipDestroy"` 308 // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 309 Tags map[string]string `pulumi:"tags"` 310 } 311 312 // The set of arguments for constructing a Connection resource. 313 type ConnectionArgs struct { 314 // The bandwidth of the connection. Valid values for dedicated connections: 1Gbps, 10Gbps. Valid values for hosted connections: 50Mbps, 100Mbps, 200Mbps, 300Mbps, 400Mbps, 500Mbps, 1Gbps, 2Gbps, 5Gbps, 10Gbps and 100Gbps. Case sensitive. 315 Bandwidth pulumi.StringInput 316 // The connection MAC Security (MACsec) encryption mode. MAC Security (MACsec) is only available on dedicated connections. Valid values are `noEncrypt`, `shouldEncrypt`, and `mustEncrypt`. 317 EncryptionMode pulumi.StringPtrInput 318 // The AWS Direct Connect location where the connection is located. See [DescribeLocations](https://docs.aws.amazon.com/directconnect/latest/APIReference/API_DescribeLocations.html) for the list of AWS Direct Connect locations. Use `locationCode`. 319 Location pulumi.StringInput 320 // The name of the connection. 321 Name pulumi.StringPtrInput 322 // The name of the service provider associated with the connection. 323 ProviderName pulumi.StringPtrInput 324 // Boolean value indicating whether you want the connection to support MAC Security (MACsec). MAC Security (MACsec) is only available on dedicated connections. See [MACsec prerequisites](https://docs.aws.amazon.com/directconnect/latest/UserGuide/direct-connect-mac-sec-getting-started.html#mac-sec-prerequisites) for more information about MAC Security (MACsec) prerequisites. Default value: `false`. 325 // 326 // > **NOTE:** Changing the value of `requestMacsec` will cause the resource to be destroyed and re-created. 327 RequestMacsec pulumi.BoolPtrInput 328 // Set to true if you do not wish the connection to be deleted at destroy time, and instead just removed from the state. 329 SkipDestroy pulumi.BoolPtrInput 330 // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 331 Tags pulumi.StringMapInput 332 } 333 334 func (ConnectionArgs) ElementType() reflect.Type { 335 return reflect.TypeOf((*connectionArgs)(nil)).Elem() 336 } 337 338 type ConnectionInput interface { 339 pulumi.Input 340 341 ToConnectionOutput() ConnectionOutput 342 ToConnectionOutputWithContext(ctx context.Context) ConnectionOutput 343 } 344 345 func (*Connection) ElementType() reflect.Type { 346 return reflect.TypeOf((**Connection)(nil)).Elem() 347 } 348 349 func (i *Connection) ToConnectionOutput() ConnectionOutput { 350 return i.ToConnectionOutputWithContext(context.Background()) 351 } 352 353 func (i *Connection) ToConnectionOutputWithContext(ctx context.Context) ConnectionOutput { 354 return pulumi.ToOutputWithContext(ctx, i).(ConnectionOutput) 355 } 356 357 // ConnectionArrayInput is an input type that accepts ConnectionArray and ConnectionArrayOutput values. 358 // You can construct a concrete instance of `ConnectionArrayInput` via: 359 // 360 // ConnectionArray{ ConnectionArgs{...} } 361 type ConnectionArrayInput interface { 362 pulumi.Input 363 364 ToConnectionArrayOutput() ConnectionArrayOutput 365 ToConnectionArrayOutputWithContext(context.Context) ConnectionArrayOutput 366 } 367 368 type ConnectionArray []ConnectionInput 369 370 func (ConnectionArray) ElementType() reflect.Type { 371 return reflect.TypeOf((*[]*Connection)(nil)).Elem() 372 } 373 374 func (i ConnectionArray) ToConnectionArrayOutput() ConnectionArrayOutput { 375 return i.ToConnectionArrayOutputWithContext(context.Background()) 376 } 377 378 func (i ConnectionArray) ToConnectionArrayOutputWithContext(ctx context.Context) ConnectionArrayOutput { 379 return pulumi.ToOutputWithContext(ctx, i).(ConnectionArrayOutput) 380 } 381 382 // ConnectionMapInput is an input type that accepts ConnectionMap and ConnectionMapOutput values. 383 // You can construct a concrete instance of `ConnectionMapInput` via: 384 // 385 // ConnectionMap{ "key": ConnectionArgs{...} } 386 type ConnectionMapInput interface { 387 pulumi.Input 388 389 ToConnectionMapOutput() ConnectionMapOutput 390 ToConnectionMapOutputWithContext(context.Context) ConnectionMapOutput 391 } 392 393 type ConnectionMap map[string]ConnectionInput 394 395 func (ConnectionMap) ElementType() reflect.Type { 396 return reflect.TypeOf((*map[string]*Connection)(nil)).Elem() 397 } 398 399 func (i ConnectionMap) ToConnectionMapOutput() ConnectionMapOutput { 400 return i.ToConnectionMapOutputWithContext(context.Background()) 401 } 402 403 func (i ConnectionMap) ToConnectionMapOutputWithContext(ctx context.Context) ConnectionMapOutput { 404 return pulumi.ToOutputWithContext(ctx, i).(ConnectionMapOutput) 405 } 406 407 type ConnectionOutput struct{ *pulumi.OutputState } 408 409 func (ConnectionOutput) ElementType() reflect.Type { 410 return reflect.TypeOf((**Connection)(nil)).Elem() 411 } 412 413 func (o ConnectionOutput) ToConnectionOutput() ConnectionOutput { 414 return o 415 } 416 417 func (o ConnectionOutput) ToConnectionOutputWithContext(ctx context.Context) ConnectionOutput { 418 return o 419 } 420 421 // The ARN of the connection. 422 func (o ConnectionOutput) Arn() pulumi.StringOutput { 423 return o.ApplyT(func(v *Connection) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 424 } 425 426 // The Direct Connect endpoint on which the physical connection terminates. 427 func (o ConnectionOutput) AwsDevice() pulumi.StringOutput { 428 return o.ApplyT(func(v *Connection) pulumi.StringOutput { return v.AwsDevice }).(pulumi.StringOutput) 429 } 430 431 // The bandwidth of the connection. Valid values for dedicated connections: 1Gbps, 10Gbps. Valid values for hosted connections: 50Mbps, 100Mbps, 200Mbps, 300Mbps, 400Mbps, 500Mbps, 1Gbps, 2Gbps, 5Gbps, 10Gbps and 100Gbps. Case sensitive. 432 func (o ConnectionOutput) Bandwidth() pulumi.StringOutput { 433 return o.ApplyT(func(v *Connection) pulumi.StringOutput { return v.Bandwidth }).(pulumi.StringOutput) 434 } 435 436 // The connection MAC Security (MACsec) encryption mode. MAC Security (MACsec) is only available on dedicated connections. Valid values are `noEncrypt`, `shouldEncrypt`, and `mustEncrypt`. 437 func (o ConnectionOutput) EncryptionMode() pulumi.StringOutput { 438 return o.ApplyT(func(v *Connection) pulumi.StringOutput { return v.EncryptionMode }).(pulumi.StringOutput) 439 } 440 441 // Indicates whether the connection supports a secondary BGP peer in the same address family (IPv4/IPv6). 442 func (o ConnectionOutput) HasLogicalRedundancy() pulumi.StringOutput { 443 return o.ApplyT(func(v *Connection) pulumi.StringOutput { return v.HasLogicalRedundancy }).(pulumi.StringOutput) 444 } 445 446 // Boolean value representing if jumbo frames have been enabled for this connection. 447 func (o ConnectionOutput) JumboFrameCapable() pulumi.BoolOutput { 448 return o.ApplyT(func(v *Connection) pulumi.BoolOutput { return v.JumboFrameCapable }).(pulumi.BoolOutput) 449 } 450 451 // The AWS Direct Connect location where the connection is located. See [DescribeLocations](https://docs.aws.amazon.com/directconnect/latest/APIReference/API_DescribeLocations.html) for the list of AWS Direct Connect locations. Use `locationCode`. 452 func (o ConnectionOutput) Location() pulumi.StringOutput { 453 return o.ApplyT(func(v *Connection) pulumi.StringOutput { return v.Location }).(pulumi.StringOutput) 454 } 455 456 // Boolean value indicating whether the connection supports MAC Security (MACsec). 457 func (o ConnectionOutput) MacsecCapable() pulumi.BoolOutput { 458 return o.ApplyT(func(v *Connection) pulumi.BoolOutput { return v.MacsecCapable }).(pulumi.BoolOutput) 459 } 460 461 // The name of the connection. 462 func (o ConnectionOutput) Name() pulumi.StringOutput { 463 return o.ApplyT(func(v *Connection) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) 464 } 465 466 // The ID of the AWS account that owns the connection. 467 func (o ConnectionOutput) OwnerAccountId() pulumi.StringOutput { 468 return o.ApplyT(func(v *Connection) pulumi.StringOutput { return v.OwnerAccountId }).(pulumi.StringOutput) 469 } 470 471 // The name of the AWS Direct Connect service provider associated with the connection. 472 func (o ConnectionOutput) PartnerName() pulumi.StringOutput { 473 return o.ApplyT(func(v *Connection) pulumi.StringOutput { return v.PartnerName }).(pulumi.StringOutput) 474 } 475 476 // The MAC Security (MACsec) port link status of the connection. 477 func (o ConnectionOutput) PortEncryptionStatus() pulumi.StringOutput { 478 return o.ApplyT(func(v *Connection) pulumi.StringOutput { return v.PortEncryptionStatus }).(pulumi.StringOutput) 479 } 480 481 // The name of the service provider associated with the connection. 482 func (o ConnectionOutput) ProviderName() pulumi.StringOutput { 483 return o.ApplyT(func(v *Connection) pulumi.StringOutput { return v.ProviderName }).(pulumi.StringOutput) 484 } 485 486 // Boolean value indicating whether you want the connection to support MAC Security (MACsec). MAC Security (MACsec) is only available on dedicated connections. See [MACsec prerequisites](https://docs.aws.amazon.com/directconnect/latest/UserGuide/direct-connect-mac-sec-getting-started.html#mac-sec-prerequisites) for more information about MAC Security (MACsec) prerequisites. Default value: `false`. 487 // 488 // > **NOTE:** Changing the value of `requestMacsec` will cause the resource to be destroyed and re-created. 489 func (o ConnectionOutput) RequestMacsec() pulumi.BoolPtrOutput { 490 return o.ApplyT(func(v *Connection) pulumi.BoolPtrOutput { return v.RequestMacsec }).(pulumi.BoolPtrOutput) 491 } 492 493 // Set to true if you do not wish the connection to be deleted at destroy time, and instead just removed from the state. 494 func (o ConnectionOutput) SkipDestroy() pulumi.BoolPtrOutput { 495 return o.ApplyT(func(v *Connection) pulumi.BoolPtrOutput { return v.SkipDestroy }).(pulumi.BoolPtrOutput) 496 } 497 498 // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 499 func (o ConnectionOutput) Tags() pulumi.StringMapOutput { 500 return o.ApplyT(func(v *Connection) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) 501 } 502 503 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 504 // 505 // Deprecated: Please use `tags` instead. 506 func (o ConnectionOutput) TagsAll() pulumi.StringMapOutput { 507 return o.ApplyT(func(v *Connection) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) 508 } 509 510 // The VLAN ID. 511 func (o ConnectionOutput) VlanId() pulumi.IntOutput { 512 return o.ApplyT(func(v *Connection) pulumi.IntOutput { return v.VlanId }).(pulumi.IntOutput) 513 } 514 515 type ConnectionArrayOutput struct{ *pulumi.OutputState } 516 517 func (ConnectionArrayOutput) ElementType() reflect.Type { 518 return reflect.TypeOf((*[]*Connection)(nil)).Elem() 519 } 520 521 func (o ConnectionArrayOutput) ToConnectionArrayOutput() ConnectionArrayOutput { 522 return o 523 } 524 525 func (o ConnectionArrayOutput) ToConnectionArrayOutputWithContext(ctx context.Context) ConnectionArrayOutput { 526 return o 527 } 528 529 func (o ConnectionArrayOutput) Index(i pulumi.IntInput) ConnectionOutput { 530 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Connection { 531 return vs[0].([]*Connection)[vs[1].(int)] 532 }).(ConnectionOutput) 533 } 534 535 type ConnectionMapOutput struct{ *pulumi.OutputState } 536 537 func (ConnectionMapOutput) ElementType() reflect.Type { 538 return reflect.TypeOf((*map[string]*Connection)(nil)).Elem() 539 } 540 541 func (o ConnectionMapOutput) ToConnectionMapOutput() ConnectionMapOutput { 542 return o 543 } 544 545 func (o ConnectionMapOutput) ToConnectionMapOutputWithContext(ctx context.Context) ConnectionMapOutput { 546 return o 547 } 548 549 func (o ConnectionMapOutput) MapIndex(k pulumi.StringInput) ConnectionOutput { 550 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Connection { 551 return vs[0].(map[string]*Connection)[vs[1].(string)] 552 }).(ConnectionOutput) 553 } 554 555 func init() { 556 pulumi.RegisterInputType(reflect.TypeOf((*ConnectionInput)(nil)).Elem(), &Connection{}) 557 pulumi.RegisterInputType(reflect.TypeOf((*ConnectionArrayInput)(nil)).Elem(), ConnectionArray{}) 558 pulumi.RegisterInputType(reflect.TypeOf((*ConnectionMapInput)(nil)).Elem(), ConnectionMap{}) 559 pulumi.RegisterOutputType(ConnectionOutput{}) 560 pulumi.RegisterOutputType(ConnectionArrayOutput{}) 561 pulumi.RegisterOutputType(ConnectionMapOutput{}) 562 }