github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/ec2transitgateway/policyTableAssociation.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 ec2transitgateway 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 // Manages an EC2 Transit Gateway Policy Table association. 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/ec2transitgateway" 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 := ec2transitgateway.NewPolicyTableAssociation(ctx, "example", &ec2transitgateway.PolicyTableAssociationArgs{ 33 // TransitGatewayAttachmentId: pulumi.Any(exampleAwsNetworkmanagerTransitGatewayPeering.TransitGatewayPeeringAttachmentId), 34 // TransitGatewayPolicyTableId: pulumi.Any(exampleAwsEc2TransitGatewayPolicyTable.Id), 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_ec2_transit_gateway_policy_table_association` using the EC2 Transit Gateway Policy Table identifier, an underscore, and the EC2 Transit Gateway Attachment identifier. For example: 49 // 50 // ```sh 51 // $ pulumi import aws:ec2transitgateway/policyTableAssociation:PolicyTableAssociation example tgw-rtb-12345678_tgw-attach-87654321 52 // ``` 53 type PolicyTableAssociation struct { 54 pulumi.CustomResourceState 55 56 // Identifier of the resource 57 ResourceId pulumi.StringOutput `pulumi:"resourceId"` 58 // Type of the resource 59 ResourceType pulumi.StringOutput `pulumi:"resourceType"` 60 // Identifier of EC2 Transit Gateway Attachment. 61 TransitGatewayAttachmentId pulumi.StringOutput `pulumi:"transitGatewayAttachmentId"` 62 // Identifier of EC2 Transit Gateway Policy Table. 63 TransitGatewayPolicyTableId pulumi.StringOutput `pulumi:"transitGatewayPolicyTableId"` 64 } 65 66 // NewPolicyTableAssociation registers a new resource with the given unique name, arguments, and options. 67 func NewPolicyTableAssociation(ctx *pulumi.Context, 68 name string, args *PolicyTableAssociationArgs, opts ...pulumi.ResourceOption) (*PolicyTableAssociation, error) { 69 if args == nil { 70 return nil, errors.New("missing one or more required arguments") 71 } 72 73 if args.TransitGatewayAttachmentId == nil { 74 return nil, errors.New("invalid value for required argument 'TransitGatewayAttachmentId'") 75 } 76 if args.TransitGatewayPolicyTableId == nil { 77 return nil, errors.New("invalid value for required argument 'TransitGatewayPolicyTableId'") 78 } 79 opts = internal.PkgResourceDefaultOpts(opts) 80 var resource PolicyTableAssociation 81 err := ctx.RegisterResource("aws:ec2transitgateway/policyTableAssociation:PolicyTableAssociation", name, args, &resource, opts...) 82 if err != nil { 83 return nil, err 84 } 85 return &resource, nil 86 } 87 88 // GetPolicyTableAssociation gets an existing PolicyTableAssociation resource's state with the given name, ID, and optional 89 // state properties that are used to uniquely qualify the lookup (nil if not required). 90 func GetPolicyTableAssociation(ctx *pulumi.Context, 91 name string, id pulumi.IDInput, state *PolicyTableAssociationState, opts ...pulumi.ResourceOption) (*PolicyTableAssociation, error) { 92 var resource PolicyTableAssociation 93 err := ctx.ReadResource("aws:ec2transitgateway/policyTableAssociation:PolicyTableAssociation", name, id, state, &resource, opts...) 94 if err != nil { 95 return nil, err 96 } 97 return &resource, nil 98 } 99 100 // Input properties used for looking up and filtering PolicyTableAssociation resources. 101 type policyTableAssociationState struct { 102 // Identifier of the resource 103 ResourceId *string `pulumi:"resourceId"` 104 // Type of the resource 105 ResourceType *string `pulumi:"resourceType"` 106 // Identifier of EC2 Transit Gateway Attachment. 107 TransitGatewayAttachmentId *string `pulumi:"transitGatewayAttachmentId"` 108 // Identifier of EC2 Transit Gateway Policy Table. 109 TransitGatewayPolicyTableId *string `pulumi:"transitGatewayPolicyTableId"` 110 } 111 112 type PolicyTableAssociationState struct { 113 // Identifier of the resource 114 ResourceId pulumi.StringPtrInput 115 // Type of the resource 116 ResourceType pulumi.StringPtrInput 117 // Identifier of EC2 Transit Gateway Attachment. 118 TransitGatewayAttachmentId pulumi.StringPtrInput 119 // Identifier of EC2 Transit Gateway Policy Table. 120 TransitGatewayPolicyTableId pulumi.StringPtrInput 121 } 122 123 func (PolicyTableAssociationState) ElementType() reflect.Type { 124 return reflect.TypeOf((*policyTableAssociationState)(nil)).Elem() 125 } 126 127 type policyTableAssociationArgs struct { 128 // Identifier of EC2 Transit Gateway Attachment. 129 TransitGatewayAttachmentId string `pulumi:"transitGatewayAttachmentId"` 130 // Identifier of EC2 Transit Gateway Policy Table. 131 TransitGatewayPolicyTableId string `pulumi:"transitGatewayPolicyTableId"` 132 } 133 134 // The set of arguments for constructing a PolicyTableAssociation resource. 135 type PolicyTableAssociationArgs struct { 136 // Identifier of EC2 Transit Gateway Attachment. 137 TransitGatewayAttachmentId pulumi.StringInput 138 // Identifier of EC2 Transit Gateway Policy Table. 139 TransitGatewayPolicyTableId pulumi.StringInput 140 } 141 142 func (PolicyTableAssociationArgs) ElementType() reflect.Type { 143 return reflect.TypeOf((*policyTableAssociationArgs)(nil)).Elem() 144 } 145 146 type PolicyTableAssociationInput interface { 147 pulumi.Input 148 149 ToPolicyTableAssociationOutput() PolicyTableAssociationOutput 150 ToPolicyTableAssociationOutputWithContext(ctx context.Context) PolicyTableAssociationOutput 151 } 152 153 func (*PolicyTableAssociation) ElementType() reflect.Type { 154 return reflect.TypeOf((**PolicyTableAssociation)(nil)).Elem() 155 } 156 157 func (i *PolicyTableAssociation) ToPolicyTableAssociationOutput() PolicyTableAssociationOutput { 158 return i.ToPolicyTableAssociationOutputWithContext(context.Background()) 159 } 160 161 func (i *PolicyTableAssociation) ToPolicyTableAssociationOutputWithContext(ctx context.Context) PolicyTableAssociationOutput { 162 return pulumi.ToOutputWithContext(ctx, i).(PolicyTableAssociationOutput) 163 } 164 165 // PolicyTableAssociationArrayInput is an input type that accepts PolicyTableAssociationArray and PolicyTableAssociationArrayOutput values. 166 // You can construct a concrete instance of `PolicyTableAssociationArrayInput` via: 167 // 168 // PolicyTableAssociationArray{ PolicyTableAssociationArgs{...} } 169 type PolicyTableAssociationArrayInput interface { 170 pulumi.Input 171 172 ToPolicyTableAssociationArrayOutput() PolicyTableAssociationArrayOutput 173 ToPolicyTableAssociationArrayOutputWithContext(context.Context) PolicyTableAssociationArrayOutput 174 } 175 176 type PolicyTableAssociationArray []PolicyTableAssociationInput 177 178 func (PolicyTableAssociationArray) ElementType() reflect.Type { 179 return reflect.TypeOf((*[]*PolicyTableAssociation)(nil)).Elem() 180 } 181 182 func (i PolicyTableAssociationArray) ToPolicyTableAssociationArrayOutput() PolicyTableAssociationArrayOutput { 183 return i.ToPolicyTableAssociationArrayOutputWithContext(context.Background()) 184 } 185 186 func (i PolicyTableAssociationArray) ToPolicyTableAssociationArrayOutputWithContext(ctx context.Context) PolicyTableAssociationArrayOutput { 187 return pulumi.ToOutputWithContext(ctx, i).(PolicyTableAssociationArrayOutput) 188 } 189 190 // PolicyTableAssociationMapInput is an input type that accepts PolicyTableAssociationMap and PolicyTableAssociationMapOutput values. 191 // You can construct a concrete instance of `PolicyTableAssociationMapInput` via: 192 // 193 // PolicyTableAssociationMap{ "key": PolicyTableAssociationArgs{...} } 194 type PolicyTableAssociationMapInput interface { 195 pulumi.Input 196 197 ToPolicyTableAssociationMapOutput() PolicyTableAssociationMapOutput 198 ToPolicyTableAssociationMapOutputWithContext(context.Context) PolicyTableAssociationMapOutput 199 } 200 201 type PolicyTableAssociationMap map[string]PolicyTableAssociationInput 202 203 func (PolicyTableAssociationMap) ElementType() reflect.Type { 204 return reflect.TypeOf((*map[string]*PolicyTableAssociation)(nil)).Elem() 205 } 206 207 func (i PolicyTableAssociationMap) ToPolicyTableAssociationMapOutput() PolicyTableAssociationMapOutput { 208 return i.ToPolicyTableAssociationMapOutputWithContext(context.Background()) 209 } 210 211 func (i PolicyTableAssociationMap) ToPolicyTableAssociationMapOutputWithContext(ctx context.Context) PolicyTableAssociationMapOutput { 212 return pulumi.ToOutputWithContext(ctx, i).(PolicyTableAssociationMapOutput) 213 } 214 215 type PolicyTableAssociationOutput struct{ *pulumi.OutputState } 216 217 func (PolicyTableAssociationOutput) ElementType() reflect.Type { 218 return reflect.TypeOf((**PolicyTableAssociation)(nil)).Elem() 219 } 220 221 func (o PolicyTableAssociationOutput) ToPolicyTableAssociationOutput() PolicyTableAssociationOutput { 222 return o 223 } 224 225 func (o PolicyTableAssociationOutput) ToPolicyTableAssociationOutputWithContext(ctx context.Context) PolicyTableAssociationOutput { 226 return o 227 } 228 229 // Identifier of the resource 230 func (o PolicyTableAssociationOutput) ResourceId() pulumi.StringOutput { 231 return o.ApplyT(func(v *PolicyTableAssociation) pulumi.StringOutput { return v.ResourceId }).(pulumi.StringOutput) 232 } 233 234 // Type of the resource 235 func (o PolicyTableAssociationOutput) ResourceType() pulumi.StringOutput { 236 return o.ApplyT(func(v *PolicyTableAssociation) pulumi.StringOutput { return v.ResourceType }).(pulumi.StringOutput) 237 } 238 239 // Identifier of EC2 Transit Gateway Attachment. 240 func (o PolicyTableAssociationOutput) TransitGatewayAttachmentId() pulumi.StringOutput { 241 return o.ApplyT(func(v *PolicyTableAssociation) pulumi.StringOutput { return v.TransitGatewayAttachmentId }).(pulumi.StringOutput) 242 } 243 244 // Identifier of EC2 Transit Gateway Policy Table. 245 func (o PolicyTableAssociationOutput) TransitGatewayPolicyTableId() pulumi.StringOutput { 246 return o.ApplyT(func(v *PolicyTableAssociation) pulumi.StringOutput { return v.TransitGatewayPolicyTableId }).(pulumi.StringOutput) 247 } 248 249 type PolicyTableAssociationArrayOutput struct{ *pulumi.OutputState } 250 251 func (PolicyTableAssociationArrayOutput) ElementType() reflect.Type { 252 return reflect.TypeOf((*[]*PolicyTableAssociation)(nil)).Elem() 253 } 254 255 func (o PolicyTableAssociationArrayOutput) ToPolicyTableAssociationArrayOutput() PolicyTableAssociationArrayOutput { 256 return o 257 } 258 259 func (o PolicyTableAssociationArrayOutput) ToPolicyTableAssociationArrayOutputWithContext(ctx context.Context) PolicyTableAssociationArrayOutput { 260 return o 261 } 262 263 func (o PolicyTableAssociationArrayOutput) Index(i pulumi.IntInput) PolicyTableAssociationOutput { 264 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *PolicyTableAssociation { 265 return vs[0].([]*PolicyTableAssociation)[vs[1].(int)] 266 }).(PolicyTableAssociationOutput) 267 } 268 269 type PolicyTableAssociationMapOutput struct{ *pulumi.OutputState } 270 271 func (PolicyTableAssociationMapOutput) ElementType() reflect.Type { 272 return reflect.TypeOf((*map[string]*PolicyTableAssociation)(nil)).Elem() 273 } 274 275 func (o PolicyTableAssociationMapOutput) ToPolicyTableAssociationMapOutput() PolicyTableAssociationMapOutput { 276 return o 277 } 278 279 func (o PolicyTableAssociationMapOutput) ToPolicyTableAssociationMapOutputWithContext(ctx context.Context) PolicyTableAssociationMapOutput { 280 return o 281 } 282 283 func (o PolicyTableAssociationMapOutput) MapIndex(k pulumi.StringInput) PolicyTableAssociationOutput { 284 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *PolicyTableAssociation { 285 return vs[0].(map[string]*PolicyTableAssociation)[vs[1].(string)] 286 }).(PolicyTableAssociationOutput) 287 } 288 289 func init() { 290 pulumi.RegisterInputType(reflect.TypeOf((*PolicyTableAssociationInput)(nil)).Elem(), &PolicyTableAssociation{}) 291 pulumi.RegisterInputType(reflect.TypeOf((*PolicyTableAssociationArrayInput)(nil)).Elem(), PolicyTableAssociationArray{}) 292 pulumi.RegisterInputType(reflect.TypeOf((*PolicyTableAssociationMapInput)(nil)).Elem(), PolicyTableAssociationMap{}) 293 pulumi.RegisterOutputType(PolicyTableAssociationOutput{}) 294 pulumi.RegisterOutputType(PolicyTableAssociationArrayOutput{}) 295 pulumi.RegisterOutputType(PolicyTableAssociationMapOutput{}) 296 }