github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/networkfirewall/firewall.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 networkfirewall 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 an AWS Network Firewall Firewall Resource 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/networkfirewall" 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 := networkfirewall.NewFirewall(ctx, "example", &networkfirewall.FirewallArgs{ 33 // Name: pulumi.String("example"), 34 // FirewallPolicyArn: pulumi.Any(exampleAwsNetworkfirewallFirewallPolicy.Arn), 35 // VpcId: pulumi.Any(exampleAwsVpc.Id), 36 // SubnetMappings: networkfirewall.FirewallSubnetMappingArray{ 37 // &networkfirewall.FirewallSubnetMappingArgs{ 38 // SubnetId: pulumi.Any(exampleAwsSubnet.Id), 39 // }, 40 // }, 41 // Tags: pulumi.StringMap{ 42 // "Tag1": pulumi.String("Value1"), 43 // "Tag2": pulumi.String("Value2"), 44 // }, 45 // }) 46 // if err != nil { 47 // return err 48 // } 49 // return nil 50 // }) 51 // } 52 // 53 // ``` 54 // <!--End PulumiCodeChooser --> 55 // 56 // ## Import 57 // 58 // Using `pulumi import`, import Network Firewall Firewalls using their `arn`. For example: 59 // 60 // ```sh 61 // $ pulumi import aws:networkfirewall/firewall:Firewall example arn:aws:network-firewall:us-west-1:123456789012:firewall/example 62 // ``` 63 type Firewall struct { 64 pulumi.CustomResourceState 65 66 // The Amazon Resource Name (ARN) that identifies the firewall. 67 Arn pulumi.StringOutput `pulumi:"arn"` 68 // A flag indicating whether the firewall is protected against deletion. Use this setting to protect against accidentally deleting a firewall that is in use. Defaults to `false`. 69 DeleteProtection pulumi.BoolPtrOutput `pulumi:"deleteProtection"` 70 // A friendly description of the firewall. 71 Description pulumi.StringPtrOutput `pulumi:"description"` 72 // KMS encryption configuration settings. See Encryption Configuration below for details. 73 EncryptionConfiguration FirewallEncryptionConfigurationPtrOutput `pulumi:"encryptionConfiguration"` 74 // The Amazon Resource Name (ARN) of the VPC Firewall policy. 75 FirewallPolicyArn pulumi.StringOutput `pulumi:"firewallPolicyArn"` 76 // A flag indicating whether the firewall is protected against a change to the firewall policy association. Use this setting to protect against accidentally modifying the firewall policy for a firewall that is in use. Defaults to `false`. 77 FirewallPolicyChangeProtection pulumi.BoolPtrOutput `pulumi:"firewallPolicyChangeProtection"` 78 // Nested list of information about the current status of the firewall. 79 FirewallStatuses FirewallFirewallStatusArrayOutput `pulumi:"firewallStatuses"` 80 // A friendly name of the firewall. 81 Name pulumi.StringOutput `pulumi:"name"` 82 // A flag indicating whether the firewall is protected against changes to the subnet associations. Use this setting to protect against accidentally modifying the subnet associations for a firewall that is in use. Defaults to `false`. 83 SubnetChangeProtection pulumi.BoolPtrOutput `pulumi:"subnetChangeProtection"` 84 // Set of configuration blocks describing the public subnets. Each subnet must belong to a different Availability Zone in the VPC. AWS Network Firewall creates a firewall endpoint in each subnet. See Subnet Mapping below for details. 85 SubnetMappings FirewallSubnetMappingArrayOutput `pulumi:"subnetMappings"` 86 // Map of resource tags to associate with the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 87 Tags pulumi.StringMapOutput `pulumi:"tags"` 88 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 89 // 90 // Deprecated: Please use `tags` instead. 91 TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` 92 // A string token used when updating a firewall. 93 UpdateToken pulumi.StringOutput `pulumi:"updateToken"` 94 // The unique identifier of the VPC where AWS Network Firewall should create the firewall. 95 VpcId pulumi.StringOutput `pulumi:"vpcId"` 96 } 97 98 // NewFirewall registers a new resource with the given unique name, arguments, and options. 99 func NewFirewall(ctx *pulumi.Context, 100 name string, args *FirewallArgs, opts ...pulumi.ResourceOption) (*Firewall, error) { 101 if args == nil { 102 return nil, errors.New("missing one or more required arguments") 103 } 104 105 if args.FirewallPolicyArn == nil { 106 return nil, errors.New("invalid value for required argument 'FirewallPolicyArn'") 107 } 108 if args.SubnetMappings == nil { 109 return nil, errors.New("invalid value for required argument 'SubnetMappings'") 110 } 111 if args.VpcId == nil { 112 return nil, errors.New("invalid value for required argument 'VpcId'") 113 } 114 opts = internal.PkgResourceDefaultOpts(opts) 115 var resource Firewall 116 err := ctx.RegisterResource("aws:networkfirewall/firewall:Firewall", name, args, &resource, opts...) 117 if err != nil { 118 return nil, err 119 } 120 return &resource, nil 121 } 122 123 // GetFirewall gets an existing Firewall resource's state with the given name, ID, and optional 124 // state properties that are used to uniquely qualify the lookup (nil if not required). 125 func GetFirewall(ctx *pulumi.Context, 126 name string, id pulumi.IDInput, state *FirewallState, opts ...pulumi.ResourceOption) (*Firewall, error) { 127 var resource Firewall 128 err := ctx.ReadResource("aws:networkfirewall/firewall:Firewall", name, id, state, &resource, opts...) 129 if err != nil { 130 return nil, err 131 } 132 return &resource, nil 133 } 134 135 // Input properties used for looking up and filtering Firewall resources. 136 type firewallState struct { 137 // The Amazon Resource Name (ARN) that identifies the firewall. 138 Arn *string `pulumi:"arn"` 139 // A flag indicating whether the firewall is protected against deletion. Use this setting to protect against accidentally deleting a firewall that is in use. Defaults to `false`. 140 DeleteProtection *bool `pulumi:"deleteProtection"` 141 // A friendly description of the firewall. 142 Description *string `pulumi:"description"` 143 // KMS encryption configuration settings. See Encryption Configuration below for details. 144 EncryptionConfiguration *FirewallEncryptionConfiguration `pulumi:"encryptionConfiguration"` 145 // The Amazon Resource Name (ARN) of the VPC Firewall policy. 146 FirewallPolicyArn *string `pulumi:"firewallPolicyArn"` 147 // A flag indicating whether the firewall is protected against a change to the firewall policy association. Use this setting to protect against accidentally modifying the firewall policy for a firewall that is in use. Defaults to `false`. 148 FirewallPolicyChangeProtection *bool `pulumi:"firewallPolicyChangeProtection"` 149 // Nested list of information about the current status of the firewall. 150 FirewallStatuses []FirewallFirewallStatus `pulumi:"firewallStatuses"` 151 // A friendly name of the firewall. 152 Name *string `pulumi:"name"` 153 // A flag indicating whether the firewall is protected against changes to the subnet associations. Use this setting to protect against accidentally modifying the subnet associations for a firewall that is in use. Defaults to `false`. 154 SubnetChangeProtection *bool `pulumi:"subnetChangeProtection"` 155 // Set of configuration blocks describing the public subnets. Each subnet must belong to a different Availability Zone in the VPC. AWS Network Firewall creates a firewall endpoint in each subnet. See Subnet Mapping below for details. 156 SubnetMappings []FirewallSubnetMapping `pulumi:"subnetMappings"` 157 // Map of resource tags to associate with the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 158 Tags map[string]string `pulumi:"tags"` 159 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 160 // 161 // Deprecated: Please use `tags` instead. 162 TagsAll map[string]string `pulumi:"tagsAll"` 163 // A string token used when updating a firewall. 164 UpdateToken *string `pulumi:"updateToken"` 165 // The unique identifier of the VPC where AWS Network Firewall should create the firewall. 166 VpcId *string `pulumi:"vpcId"` 167 } 168 169 type FirewallState struct { 170 // The Amazon Resource Name (ARN) that identifies the firewall. 171 Arn pulumi.StringPtrInput 172 // A flag indicating whether the firewall is protected against deletion. Use this setting to protect against accidentally deleting a firewall that is in use. Defaults to `false`. 173 DeleteProtection pulumi.BoolPtrInput 174 // A friendly description of the firewall. 175 Description pulumi.StringPtrInput 176 // KMS encryption configuration settings. See Encryption Configuration below for details. 177 EncryptionConfiguration FirewallEncryptionConfigurationPtrInput 178 // The Amazon Resource Name (ARN) of the VPC Firewall policy. 179 FirewallPolicyArn pulumi.StringPtrInput 180 // A flag indicating whether the firewall is protected against a change to the firewall policy association. Use this setting to protect against accidentally modifying the firewall policy for a firewall that is in use. Defaults to `false`. 181 FirewallPolicyChangeProtection pulumi.BoolPtrInput 182 // Nested list of information about the current status of the firewall. 183 FirewallStatuses FirewallFirewallStatusArrayInput 184 // A friendly name of the firewall. 185 Name pulumi.StringPtrInput 186 // A flag indicating whether the firewall is protected against changes to the subnet associations. Use this setting to protect against accidentally modifying the subnet associations for a firewall that is in use. Defaults to `false`. 187 SubnetChangeProtection pulumi.BoolPtrInput 188 // Set of configuration blocks describing the public subnets. Each subnet must belong to a different Availability Zone in the VPC. AWS Network Firewall creates a firewall endpoint in each subnet. See Subnet Mapping below for details. 189 SubnetMappings FirewallSubnetMappingArrayInput 190 // Map of resource tags to associate with the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 191 Tags pulumi.StringMapInput 192 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 193 // 194 // Deprecated: Please use `tags` instead. 195 TagsAll pulumi.StringMapInput 196 // A string token used when updating a firewall. 197 UpdateToken pulumi.StringPtrInput 198 // The unique identifier of the VPC where AWS Network Firewall should create the firewall. 199 VpcId pulumi.StringPtrInput 200 } 201 202 func (FirewallState) ElementType() reflect.Type { 203 return reflect.TypeOf((*firewallState)(nil)).Elem() 204 } 205 206 type firewallArgs struct { 207 // A flag indicating whether the firewall is protected against deletion. Use this setting to protect against accidentally deleting a firewall that is in use. Defaults to `false`. 208 DeleteProtection *bool `pulumi:"deleteProtection"` 209 // A friendly description of the firewall. 210 Description *string `pulumi:"description"` 211 // KMS encryption configuration settings. See Encryption Configuration below for details. 212 EncryptionConfiguration *FirewallEncryptionConfiguration `pulumi:"encryptionConfiguration"` 213 // The Amazon Resource Name (ARN) of the VPC Firewall policy. 214 FirewallPolicyArn string `pulumi:"firewallPolicyArn"` 215 // A flag indicating whether the firewall is protected against a change to the firewall policy association. Use this setting to protect against accidentally modifying the firewall policy for a firewall that is in use. Defaults to `false`. 216 FirewallPolicyChangeProtection *bool `pulumi:"firewallPolicyChangeProtection"` 217 // A friendly name of the firewall. 218 Name *string `pulumi:"name"` 219 // A flag indicating whether the firewall is protected against changes to the subnet associations. Use this setting to protect against accidentally modifying the subnet associations for a firewall that is in use. Defaults to `false`. 220 SubnetChangeProtection *bool `pulumi:"subnetChangeProtection"` 221 // Set of configuration blocks describing the public subnets. Each subnet must belong to a different Availability Zone in the VPC. AWS Network Firewall creates a firewall endpoint in each subnet. See Subnet Mapping below for details. 222 SubnetMappings []FirewallSubnetMapping `pulumi:"subnetMappings"` 223 // Map of resource tags to associate with the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 224 Tags map[string]string `pulumi:"tags"` 225 // The unique identifier of the VPC where AWS Network Firewall should create the firewall. 226 VpcId string `pulumi:"vpcId"` 227 } 228 229 // The set of arguments for constructing a Firewall resource. 230 type FirewallArgs struct { 231 // A flag indicating whether the firewall is protected against deletion. Use this setting to protect against accidentally deleting a firewall that is in use. Defaults to `false`. 232 DeleteProtection pulumi.BoolPtrInput 233 // A friendly description of the firewall. 234 Description pulumi.StringPtrInput 235 // KMS encryption configuration settings. See Encryption Configuration below for details. 236 EncryptionConfiguration FirewallEncryptionConfigurationPtrInput 237 // The Amazon Resource Name (ARN) of the VPC Firewall policy. 238 FirewallPolicyArn pulumi.StringInput 239 // A flag indicating whether the firewall is protected against a change to the firewall policy association. Use this setting to protect against accidentally modifying the firewall policy for a firewall that is in use. Defaults to `false`. 240 FirewallPolicyChangeProtection pulumi.BoolPtrInput 241 // A friendly name of the firewall. 242 Name pulumi.StringPtrInput 243 // A flag indicating whether the firewall is protected against changes to the subnet associations. Use this setting to protect against accidentally modifying the subnet associations for a firewall that is in use. Defaults to `false`. 244 SubnetChangeProtection pulumi.BoolPtrInput 245 // Set of configuration blocks describing the public subnets. Each subnet must belong to a different Availability Zone in the VPC. AWS Network Firewall creates a firewall endpoint in each subnet. See Subnet Mapping below for details. 246 SubnetMappings FirewallSubnetMappingArrayInput 247 // Map of resource tags to associate with the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 248 Tags pulumi.StringMapInput 249 // The unique identifier of the VPC where AWS Network Firewall should create the firewall. 250 VpcId pulumi.StringInput 251 } 252 253 func (FirewallArgs) ElementType() reflect.Type { 254 return reflect.TypeOf((*firewallArgs)(nil)).Elem() 255 } 256 257 type FirewallInput interface { 258 pulumi.Input 259 260 ToFirewallOutput() FirewallOutput 261 ToFirewallOutputWithContext(ctx context.Context) FirewallOutput 262 } 263 264 func (*Firewall) ElementType() reflect.Type { 265 return reflect.TypeOf((**Firewall)(nil)).Elem() 266 } 267 268 func (i *Firewall) ToFirewallOutput() FirewallOutput { 269 return i.ToFirewallOutputWithContext(context.Background()) 270 } 271 272 func (i *Firewall) ToFirewallOutputWithContext(ctx context.Context) FirewallOutput { 273 return pulumi.ToOutputWithContext(ctx, i).(FirewallOutput) 274 } 275 276 // FirewallArrayInput is an input type that accepts FirewallArray and FirewallArrayOutput values. 277 // You can construct a concrete instance of `FirewallArrayInput` via: 278 // 279 // FirewallArray{ FirewallArgs{...} } 280 type FirewallArrayInput interface { 281 pulumi.Input 282 283 ToFirewallArrayOutput() FirewallArrayOutput 284 ToFirewallArrayOutputWithContext(context.Context) FirewallArrayOutput 285 } 286 287 type FirewallArray []FirewallInput 288 289 func (FirewallArray) ElementType() reflect.Type { 290 return reflect.TypeOf((*[]*Firewall)(nil)).Elem() 291 } 292 293 func (i FirewallArray) ToFirewallArrayOutput() FirewallArrayOutput { 294 return i.ToFirewallArrayOutputWithContext(context.Background()) 295 } 296 297 func (i FirewallArray) ToFirewallArrayOutputWithContext(ctx context.Context) FirewallArrayOutput { 298 return pulumi.ToOutputWithContext(ctx, i).(FirewallArrayOutput) 299 } 300 301 // FirewallMapInput is an input type that accepts FirewallMap and FirewallMapOutput values. 302 // You can construct a concrete instance of `FirewallMapInput` via: 303 // 304 // FirewallMap{ "key": FirewallArgs{...} } 305 type FirewallMapInput interface { 306 pulumi.Input 307 308 ToFirewallMapOutput() FirewallMapOutput 309 ToFirewallMapOutputWithContext(context.Context) FirewallMapOutput 310 } 311 312 type FirewallMap map[string]FirewallInput 313 314 func (FirewallMap) ElementType() reflect.Type { 315 return reflect.TypeOf((*map[string]*Firewall)(nil)).Elem() 316 } 317 318 func (i FirewallMap) ToFirewallMapOutput() FirewallMapOutput { 319 return i.ToFirewallMapOutputWithContext(context.Background()) 320 } 321 322 func (i FirewallMap) ToFirewallMapOutputWithContext(ctx context.Context) FirewallMapOutput { 323 return pulumi.ToOutputWithContext(ctx, i).(FirewallMapOutput) 324 } 325 326 type FirewallOutput struct{ *pulumi.OutputState } 327 328 func (FirewallOutput) ElementType() reflect.Type { 329 return reflect.TypeOf((**Firewall)(nil)).Elem() 330 } 331 332 func (o FirewallOutput) ToFirewallOutput() FirewallOutput { 333 return o 334 } 335 336 func (o FirewallOutput) ToFirewallOutputWithContext(ctx context.Context) FirewallOutput { 337 return o 338 } 339 340 // The Amazon Resource Name (ARN) that identifies the firewall. 341 func (o FirewallOutput) Arn() pulumi.StringOutput { 342 return o.ApplyT(func(v *Firewall) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 343 } 344 345 // A flag indicating whether the firewall is protected against deletion. Use this setting to protect against accidentally deleting a firewall that is in use. Defaults to `false`. 346 func (o FirewallOutput) DeleteProtection() pulumi.BoolPtrOutput { 347 return o.ApplyT(func(v *Firewall) pulumi.BoolPtrOutput { return v.DeleteProtection }).(pulumi.BoolPtrOutput) 348 } 349 350 // A friendly description of the firewall. 351 func (o FirewallOutput) Description() pulumi.StringPtrOutput { 352 return o.ApplyT(func(v *Firewall) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) 353 } 354 355 // KMS encryption configuration settings. See Encryption Configuration below for details. 356 func (o FirewallOutput) EncryptionConfiguration() FirewallEncryptionConfigurationPtrOutput { 357 return o.ApplyT(func(v *Firewall) FirewallEncryptionConfigurationPtrOutput { return v.EncryptionConfiguration }).(FirewallEncryptionConfigurationPtrOutput) 358 } 359 360 // The Amazon Resource Name (ARN) of the VPC Firewall policy. 361 func (o FirewallOutput) FirewallPolicyArn() pulumi.StringOutput { 362 return o.ApplyT(func(v *Firewall) pulumi.StringOutput { return v.FirewallPolicyArn }).(pulumi.StringOutput) 363 } 364 365 // A flag indicating whether the firewall is protected against a change to the firewall policy association. Use this setting to protect against accidentally modifying the firewall policy for a firewall that is in use. Defaults to `false`. 366 func (o FirewallOutput) FirewallPolicyChangeProtection() pulumi.BoolPtrOutput { 367 return o.ApplyT(func(v *Firewall) pulumi.BoolPtrOutput { return v.FirewallPolicyChangeProtection }).(pulumi.BoolPtrOutput) 368 } 369 370 // Nested list of information about the current status of the firewall. 371 func (o FirewallOutput) FirewallStatuses() FirewallFirewallStatusArrayOutput { 372 return o.ApplyT(func(v *Firewall) FirewallFirewallStatusArrayOutput { return v.FirewallStatuses }).(FirewallFirewallStatusArrayOutput) 373 } 374 375 // A friendly name of the firewall. 376 func (o FirewallOutput) Name() pulumi.StringOutput { 377 return o.ApplyT(func(v *Firewall) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) 378 } 379 380 // A flag indicating whether the firewall is protected against changes to the subnet associations. Use this setting to protect against accidentally modifying the subnet associations for a firewall that is in use. Defaults to `false`. 381 func (o FirewallOutput) SubnetChangeProtection() pulumi.BoolPtrOutput { 382 return o.ApplyT(func(v *Firewall) pulumi.BoolPtrOutput { return v.SubnetChangeProtection }).(pulumi.BoolPtrOutput) 383 } 384 385 // Set of configuration blocks describing the public subnets. Each subnet must belong to a different Availability Zone in the VPC. AWS Network Firewall creates a firewall endpoint in each subnet. See Subnet Mapping below for details. 386 func (o FirewallOutput) SubnetMappings() FirewallSubnetMappingArrayOutput { 387 return o.ApplyT(func(v *Firewall) FirewallSubnetMappingArrayOutput { return v.SubnetMappings }).(FirewallSubnetMappingArrayOutput) 388 } 389 390 // Map of resource tags to associate with the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 391 func (o FirewallOutput) Tags() pulumi.StringMapOutput { 392 return o.ApplyT(func(v *Firewall) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) 393 } 394 395 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 396 // 397 // Deprecated: Please use `tags` instead. 398 func (o FirewallOutput) TagsAll() pulumi.StringMapOutput { 399 return o.ApplyT(func(v *Firewall) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) 400 } 401 402 // A string token used when updating a firewall. 403 func (o FirewallOutput) UpdateToken() pulumi.StringOutput { 404 return o.ApplyT(func(v *Firewall) pulumi.StringOutput { return v.UpdateToken }).(pulumi.StringOutput) 405 } 406 407 // The unique identifier of the VPC where AWS Network Firewall should create the firewall. 408 func (o FirewallOutput) VpcId() pulumi.StringOutput { 409 return o.ApplyT(func(v *Firewall) pulumi.StringOutput { return v.VpcId }).(pulumi.StringOutput) 410 } 411 412 type FirewallArrayOutput struct{ *pulumi.OutputState } 413 414 func (FirewallArrayOutput) ElementType() reflect.Type { 415 return reflect.TypeOf((*[]*Firewall)(nil)).Elem() 416 } 417 418 func (o FirewallArrayOutput) ToFirewallArrayOutput() FirewallArrayOutput { 419 return o 420 } 421 422 func (o FirewallArrayOutput) ToFirewallArrayOutputWithContext(ctx context.Context) FirewallArrayOutput { 423 return o 424 } 425 426 func (o FirewallArrayOutput) Index(i pulumi.IntInput) FirewallOutput { 427 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Firewall { 428 return vs[0].([]*Firewall)[vs[1].(int)] 429 }).(FirewallOutput) 430 } 431 432 type FirewallMapOutput struct{ *pulumi.OutputState } 433 434 func (FirewallMapOutput) ElementType() reflect.Type { 435 return reflect.TypeOf((*map[string]*Firewall)(nil)).Elem() 436 } 437 438 func (o FirewallMapOutput) ToFirewallMapOutput() FirewallMapOutput { 439 return o 440 } 441 442 func (o FirewallMapOutput) ToFirewallMapOutputWithContext(ctx context.Context) FirewallMapOutput { 443 return o 444 } 445 446 func (o FirewallMapOutput) MapIndex(k pulumi.StringInput) FirewallOutput { 447 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Firewall { 448 return vs[0].(map[string]*Firewall)[vs[1].(string)] 449 }).(FirewallOutput) 450 } 451 452 func init() { 453 pulumi.RegisterInputType(reflect.TypeOf((*FirewallInput)(nil)).Elem(), &Firewall{}) 454 pulumi.RegisterInputType(reflect.TypeOf((*FirewallArrayInput)(nil)).Elem(), FirewallArray{}) 455 pulumi.RegisterInputType(reflect.TypeOf((*FirewallMapInput)(nil)).Elem(), FirewallMap{}) 456 pulumi.RegisterOutputType(FirewallOutput{}) 457 pulumi.RegisterOutputType(FirewallArrayOutput{}) 458 pulumi.RegisterOutputType(FirewallMapOutput{}) 459 }