github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/ec2/vpcEndpointRouteTableAssociation.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 ec2 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 a VPC Endpoint Route 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/ec2" 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 := ec2.NewVpcEndpointRouteTableAssociation(ctx, "example", &ec2.VpcEndpointRouteTableAssociationArgs{ 33 // RouteTableId: pulumi.Any(exampleAwsRouteTable.Id), 34 // VpcEndpointId: pulumi.Any(exampleAwsVpcEndpoint.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 VPC Endpoint Route Table Associations using `vpc_endpoint_id` together with `route_table_id`. For example: 49 // 50 // ```sh 51 // $ pulumi import aws:ec2/vpcEndpointRouteTableAssociation:VpcEndpointRouteTableAssociation example vpce-aaaaaaaa/rtb-bbbbbbbb 52 // ``` 53 type VpcEndpointRouteTableAssociation struct { 54 pulumi.CustomResourceState 55 56 // Identifier of the EC2 Route Table to be associated with the VPC Endpoint. 57 RouteTableId pulumi.StringOutput `pulumi:"routeTableId"` 58 // Identifier of the VPC Endpoint with which the EC2 Route Table will be associated. 59 VpcEndpointId pulumi.StringOutput `pulumi:"vpcEndpointId"` 60 } 61 62 // NewVpcEndpointRouteTableAssociation registers a new resource with the given unique name, arguments, and options. 63 func NewVpcEndpointRouteTableAssociation(ctx *pulumi.Context, 64 name string, args *VpcEndpointRouteTableAssociationArgs, opts ...pulumi.ResourceOption) (*VpcEndpointRouteTableAssociation, error) { 65 if args == nil { 66 return nil, errors.New("missing one or more required arguments") 67 } 68 69 if args.RouteTableId == nil { 70 return nil, errors.New("invalid value for required argument 'RouteTableId'") 71 } 72 if args.VpcEndpointId == nil { 73 return nil, errors.New("invalid value for required argument 'VpcEndpointId'") 74 } 75 opts = internal.PkgResourceDefaultOpts(opts) 76 var resource VpcEndpointRouteTableAssociation 77 err := ctx.RegisterResource("aws:ec2/vpcEndpointRouteTableAssociation:VpcEndpointRouteTableAssociation", name, args, &resource, opts...) 78 if err != nil { 79 return nil, err 80 } 81 return &resource, nil 82 } 83 84 // GetVpcEndpointRouteTableAssociation gets an existing VpcEndpointRouteTableAssociation resource's state with the given name, ID, and optional 85 // state properties that are used to uniquely qualify the lookup (nil if not required). 86 func GetVpcEndpointRouteTableAssociation(ctx *pulumi.Context, 87 name string, id pulumi.IDInput, state *VpcEndpointRouteTableAssociationState, opts ...pulumi.ResourceOption) (*VpcEndpointRouteTableAssociation, error) { 88 var resource VpcEndpointRouteTableAssociation 89 err := ctx.ReadResource("aws:ec2/vpcEndpointRouteTableAssociation:VpcEndpointRouteTableAssociation", name, id, state, &resource, opts...) 90 if err != nil { 91 return nil, err 92 } 93 return &resource, nil 94 } 95 96 // Input properties used for looking up and filtering VpcEndpointRouteTableAssociation resources. 97 type vpcEndpointRouteTableAssociationState struct { 98 // Identifier of the EC2 Route Table to be associated with the VPC Endpoint. 99 RouteTableId *string `pulumi:"routeTableId"` 100 // Identifier of the VPC Endpoint with which the EC2 Route Table will be associated. 101 VpcEndpointId *string `pulumi:"vpcEndpointId"` 102 } 103 104 type VpcEndpointRouteTableAssociationState struct { 105 // Identifier of the EC2 Route Table to be associated with the VPC Endpoint. 106 RouteTableId pulumi.StringPtrInput 107 // Identifier of the VPC Endpoint with which the EC2 Route Table will be associated. 108 VpcEndpointId pulumi.StringPtrInput 109 } 110 111 func (VpcEndpointRouteTableAssociationState) ElementType() reflect.Type { 112 return reflect.TypeOf((*vpcEndpointRouteTableAssociationState)(nil)).Elem() 113 } 114 115 type vpcEndpointRouteTableAssociationArgs struct { 116 // Identifier of the EC2 Route Table to be associated with the VPC Endpoint. 117 RouteTableId string `pulumi:"routeTableId"` 118 // Identifier of the VPC Endpoint with which the EC2 Route Table will be associated. 119 VpcEndpointId string `pulumi:"vpcEndpointId"` 120 } 121 122 // The set of arguments for constructing a VpcEndpointRouteTableAssociation resource. 123 type VpcEndpointRouteTableAssociationArgs struct { 124 // Identifier of the EC2 Route Table to be associated with the VPC Endpoint. 125 RouteTableId pulumi.StringInput 126 // Identifier of the VPC Endpoint with which the EC2 Route Table will be associated. 127 VpcEndpointId pulumi.StringInput 128 } 129 130 func (VpcEndpointRouteTableAssociationArgs) ElementType() reflect.Type { 131 return reflect.TypeOf((*vpcEndpointRouteTableAssociationArgs)(nil)).Elem() 132 } 133 134 type VpcEndpointRouteTableAssociationInput interface { 135 pulumi.Input 136 137 ToVpcEndpointRouteTableAssociationOutput() VpcEndpointRouteTableAssociationOutput 138 ToVpcEndpointRouteTableAssociationOutputWithContext(ctx context.Context) VpcEndpointRouteTableAssociationOutput 139 } 140 141 func (*VpcEndpointRouteTableAssociation) ElementType() reflect.Type { 142 return reflect.TypeOf((**VpcEndpointRouteTableAssociation)(nil)).Elem() 143 } 144 145 func (i *VpcEndpointRouteTableAssociation) ToVpcEndpointRouteTableAssociationOutput() VpcEndpointRouteTableAssociationOutput { 146 return i.ToVpcEndpointRouteTableAssociationOutputWithContext(context.Background()) 147 } 148 149 func (i *VpcEndpointRouteTableAssociation) ToVpcEndpointRouteTableAssociationOutputWithContext(ctx context.Context) VpcEndpointRouteTableAssociationOutput { 150 return pulumi.ToOutputWithContext(ctx, i).(VpcEndpointRouteTableAssociationOutput) 151 } 152 153 // VpcEndpointRouteTableAssociationArrayInput is an input type that accepts VpcEndpointRouteTableAssociationArray and VpcEndpointRouteTableAssociationArrayOutput values. 154 // You can construct a concrete instance of `VpcEndpointRouteTableAssociationArrayInput` via: 155 // 156 // VpcEndpointRouteTableAssociationArray{ VpcEndpointRouteTableAssociationArgs{...} } 157 type VpcEndpointRouteTableAssociationArrayInput interface { 158 pulumi.Input 159 160 ToVpcEndpointRouteTableAssociationArrayOutput() VpcEndpointRouteTableAssociationArrayOutput 161 ToVpcEndpointRouteTableAssociationArrayOutputWithContext(context.Context) VpcEndpointRouteTableAssociationArrayOutput 162 } 163 164 type VpcEndpointRouteTableAssociationArray []VpcEndpointRouteTableAssociationInput 165 166 func (VpcEndpointRouteTableAssociationArray) ElementType() reflect.Type { 167 return reflect.TypeOf((*[]*VpcEndpointRouteTableAssociation)(nil)).Elem() 168 } 169 170 func (i VpcEndpointRouteTableAssociationArray) ToVpcEndpointRouteTableAssociationArrayOutput() VpcEndpointRouteTableAssociationArrayOutput { 171 return i.ToVpcEndpointRouteTableAssociationArrayOutputWithContext(context.Background()) 172 } 173 174 func (i VpcEndpointRouteTableAssociationArray) ToVpcEndpointRouteTableAssociationArrayOutputWithContext(ctx context.Context) VpcEndpointRouteTableAssociationArrayOutput { 175 return pulumi.ToOutputWithContext(ctx, i).(VpcEndpointRouteTableAssociationArrayOutput) 176 } 177 178 // VpcEndpointRouteTableAssociationMapInput is an input type that accepts VpcEndpointRouteTableAssociationMap and VpcEndpointRouteTableAssociationMapOutput values. 179 // You can construct a concrete instance of `VpcEndpointRouteTableAssociationMapInput` via: 180 // 181 // VpcEndpointRouteTableAssociationMap{ "key": VpcEndpointRouteTableAssociationArgs{...} } 182 type VpcEndpointRouteTableAssociationMapInput interface { 183 pulumi.Input 184 185 ToVpcEndpointRouteTableAssociationMapOutput() VpcEndpointRouteTableAssociationMapOutput 186 ToVpcEndpointRouteTableAssociationMapOutputWithContext(context.Context) VpcEndpointRouteTableAssociationMapOutput 187 } 188 189 type VpcEndpointRouteTableAssociationMap map[string]VpcEndpointRouteTableAssociationInput 190 191 func (VpcEndpointRouteTableAssociationMap) ElementType() reflect.Type { 192 return reflect.TypeOf((*map[string]*VpcEndpointRouteTableAssociation)(nil)).Elem() 193 } 194 195 func (i VpcEndpointRouteTableAssociationMap) ToVpcEndpointRouteTableAssociationMapOutput() VpcEndpointRouteTableAssociationMapOutput { 196 return i.ToVpcEndpointRouteTableAssociationMapOutputWithContext(context.Background()) 197 } 198 199 func (i VpcEndpointRouteTableAssociationMap) ToVpcEndpointRouteTableAssociationMapOutputWithContext(ctx context.Context) VpcEndpointRouteTableAssociationMapOutput { 200 return pulumi.ToOutputWithContext(ctx, i).(VpcEndpointRouteTableAssociationMapOutput) 201 } 202 203 type VpcEndpointRouteTableAssociationOutput struct{ *pulumi.OutputState } 204 205 func (VpcEndpointRouteTableAssociationOutput) ElementType() reflect.Type { 206 return reflect.TypeOf((**VpcEndpointRouteTableAssociation)(nil)).Elem() 207 } 208 209 func (o VpcEndpointRouteTableAssociationOutput) ToVpcEndpointRouteTableAssociationOutput() VpcEndpointRouteTableAssociationOutput { 210 return o 211 } 212 213 func (o VpcEndpointRouteTableAssociationOutput) ToVpcEndpointRouteTableAssociationOutputWithContext(ctx context.Context) VpcEndpointRouteTableAssociationOutput { 214 return o 215 } 216 217 // Identifier of the EC2 Route Table to be associated with the VPC Endpoint. 218 func (o VpcEndpointRouteTableAssociationOutput) RouteTableId() pulumi.StringOutput { 219 return o.ApplyT(func(v *VpcEndpointRouteTableAssociation) pulumi.StringOutput { return v.RouteTableId }).(pulumi.StringOutput) 220 } 221 222 // Identifier of the VPC Endpoint with which the EC2 Route Table will be associated. 223 func (o VpcEndpointRouteTableAssociationOutput) VpcEndpointId() pulumi.StringOutput { 224 return o.ApplyT(func(v *VpcEndpointRouteTableAssociation) pulumi.StringOutput { return v.VpcEndpointId }).(pulumi.StringOutput) 225 } 226 227 type VpcEndpointRouteTableAssociationArrayOutput struct{ *pulumi.OutputState } 228 229 func (VpcEndpointRouteTableAssociationArrayOutput) ElementType() reflect.Type { 230 return reflect.TypeOf((*[]*VpcEndpointRouteTableAssociation)(nil)).Elem() 231 } 232 233 func (o VpcEndpointRouteTableAssociationArrayOutput) ToVpcEndpointRouteTableAssociationArrayOutput() VpcEndpointRouteTableAssociationArrayOutput { 234 return o 235 } 236 237 func (o VpcEndpointRouteTableAssociationArrayOutput) ToVpcEndpointRouteTableAssociationArrayOutputWithContext(ctx context.Context) VpcEndpointRouteTableAssociationArrayOutput { 238 return o 239 } 240 241 func (o VpcEndpointRouteTableAssociationArrayOutput) Index(i pulumi.IntInput) VpcEndpointRouteTableAssociationOutput { 242 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *VpcEndpointRouteTableAssociation { 243 return vs[0].([]*VpcEndpointRouteTableAssociation)[vs[1].(int)] 244 }).(VpcEndpointRouteTableAssociationOutput) 245 } 246 247 type VpcEndpointRouteTableAssociationMapOutput struct{ *pulumi.OutputState } 248 249 func (VpcEndpointRouteTableAssociationMapOutput) ElementType() reflect.Type { 250 return reflect.TypeOf((*map[string]*VpcEndpointRouteTableAssociation)(nil)).Elem() 251 } 252 253 func (o VpcEndpointRouteTableAssociationMapOutput) ToVpcEndpointRouteTableAssociationMapOutput() VpcEndpointRouteTableAssociationMapOutput { 254 return o 255 } 256 257 func (o VpcEndpointRouteTableAssociationMapOutput) ToVpcEndpointRouteTableAssociationMapOutputWithContext(ctx context.Context) VpcEndpointRouteTableAssociationMapOutput { 258 return o 259 } 260 261 func (o VpcEndpointRouteTableAssociationMapOutput) MapIndex(k pulumi.StringInput) VpcEndpointRouteTableAssociationOutput { 262 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *VpcEndpointRouteTableAssociation { 263 return vs[0].(map[string]*VpcEndpointRouteTableAssociation)[vs[1].(string)] 264 }).(VpcEndpointRouteTableAssociationOutput) 265 } 266 267 func init() { 268 pulumi.RegisterInputType(reflect.TypeOf((*VpcEndpointRouteTableAssociationInput)(nil)).Elem(), &VpcEndpointRouteTableAssociation{}) 269 pulumi.RegisterInputType(reflect.TypeOf((*VpcEndpointRouteTableAssociationArrayInput)(nil)).Elem(), VpcEndpointRouteTableAssociationArray{}) 270 pulumi.RegisterInputType(reflect.TypeOf((*VpcEndpointRouteTableAssociationMapInput)(nil)).Elem(), VpcEndpointRouteTableAssociationMap{}) 271 pulumi.RegisterOutputType(VpcEndpointRouteTableAssociationOutput{}) 272 pulumi.RegisterOutputType(VpcEndpointRouteTableAssociationArrayOutput{}) 273 pulumi.RegisterOutputType(VpcEndpointRouteTableAssociationMapOutput{}) 274 }