github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/location/routeCalculation.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 location 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 Location Service Route Calculator. 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/location" 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 := location.NewRouteCalculation(ctx, "example", &location.RouteCalculationArgs{ 33 // CalculatorName: pulumi.String("example"), 34 // DataSource: pulumi.String("Here"), 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_location_route_calculator` using the route calculator name. For example: 49 // 50 // ```sh 51 // $ pulumi import aws:location/routeCalculation:RouteCalculation example example 52 // ``` 53 type RouteCalculation struct { 54 pulumi.CustomResourceState 55 56 // The Amazon Resource Name (ARN) for the Route calculator resource. Use the ARN when you specify a resource across AWS. 57 CalculatorArn pulumi.StringOutput `pulumi:"calculatorArn"` 58 // The name of the route calculator resource. 59 CalculatorName pulumi.StringOutput `pulumi:"calculatorName"` 60 // The timestamp for when the route calculator resource was created in ISO 8601 format. 61 CreateTime pulumi.StringOutput `pulumi:"createTime"` 62 // Specifies the data provider of traffic and road network data. 63 // 64 // The following arguments are optional: 65 DataSource pulumi.StringOutput `pulumi:"dataSource"` 66 // The optional description for the route calculator resource. 67 Description pulumi.StringPtrOutput `pulumi:"description"` 68 // Key-value tags for the route calculator. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 69 Tags pulumi.StringMapOutput `pulumi:"tags"` 70 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 71 // 72 // Deprecated: Please use `tags` instead. 73 TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` 74 // The timestamp for when the route calculator resource was last update in ISO 8601. 75 UpdateTime pulumi.StringOutput `pulumi:"updateTime"` 76 } 77 78 // NewRouteCalculation registers a new resource with the given unique name, arguments, and options. 79 func NewRouteCalculation(ctx *pulumi.Context, 80 name string, args *RouteCalculationArgs, opts ...pulumi.ResourceOption) (*RouteCalculation, error) { 81 if args == nil { 82 return nil, errors.New("missing one or more required arguments") 83 } 84 85 if args.CalculatorName == nil { 86 return nil, errors.New("invalid value for required argument 'CalculatorName'") 87 } 88 if args.DataSource == nil { 89 return nil, errors.New("invalid value for required argument 'DataSource'") 90 } 91 opts = internal.PkgResourceDefaultOpts(opts) 92 var resource RouteCalculation 93 err := ctx.RegisterResource("aws:location/routeCalculation:RouteCalculation", name, args, &resource, opts...) 94 if err != nil { 95 return nil, err 96 } 97 return &resource, nil 98 } 99 100 // GetRouteCalculation gets an existing RouteCalculation resource's state with the given name, ID, and optional 101 // state properties that are used to uniquely qualify the lookup (nil if not required). 102 func GetRouteCalculation(ctx *pulumi.Context, 103 name string, id pulumi.IDInput, state *RouteCalculationState, opts ...pulumi.ResourceOption) (*RouteCalculation, error) { 104 var resource RouteCalculation 105 err := ctx.ReadResource("aws:location/routeCalculation:RouteCalculation", name, id, state, &resource, opts...) 106 if err != nil { 107 return nil, err 108 } 109 return &resource, nil 110 } 111 112 // Input properties used for looking up and filtering RouteCalculation resources. 113 type routeCalculationState struct { 114 // The Amazon Resource Name (ARN) for the Route calculator resource. Use the ARN when you specify a resource across AWS. 115 CalculatorArn *string `pulumi:"calculatorArn"` 116 // The name of the route calculator resource. 117 CalculatorName *string `pulumi:"calculatorName"` 118 // The timestamp for when the route calculator resource was created in ISO 8601 format. 119 CreateTime *string `pulumi:"createTime"` 120 // Specifies the data provider of traffic and road network data. 121 // 122 // The following arguments are optional: 123 DataSource *string `pulumi:"dataSource"` 124 // The optional description for the route calculator resource. 125 Description *string `pulumi:"description"` 126 // Key-value tags for the route calculator. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 127 Tags map[string]string `pulumi:"tags"` 128 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 129 // 130 // Deprecated: Please use `tags` instead. 131 TagsAll map[string]string `pulumi:"tagsAll"` 132 // The timestamp for when the route calculator resource was last update in ISO 8601. 133 UpdateTime *string `pulumi:"updateTime"` 134 } 135 136 type RouteCalculationState struct { 137 // The Amazon Resource Name (ARN) for the Route calculator resource. Use the ARN when you specify a resource across AWS. 138 CalculatorArn pulumi.StringPtrInput 139 // The name of the route calculator resource. 140 CalculatorName pulumi.StringPtrInput 141 // The timestamp for when the route calculator resource was created in ISO 8601 format. 142 CreateTime pulumi.StringPtrInput 143 // Specifies the data provider of traffic and road network data. 144 // 145 // The following arguments are optional: 146 DataSource pulumi.StringPtrInput 147 // The optional description for the route calculator resource. 148 Description pulumi.StringPtrInput 149 // Key-value tags for the route calculator. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 150 Tags pulumi.StringMapInput 151 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 152 // 153 // Deprecated: Please use `tags` instead. 154 TagsAll pulumi.StringMapInput 155 // The timestamp for when the route calculator resource was last update in ISO 8601. 156 UpdateTime pulumi.StringPtrInput 157 } 158 159 func (RouteCalculationState) ElementType() reflect.Type { 160 return reflect.TypeOf((*routeCalculationState)(nil)).Elem() 161 } 162 163 type routeCalculationArgs struct { 164 // The name of the route calculator resource. 165 CalculatorName string `pulumi:"calculatorName"` 166 // Specifies the data provider of traffic and road network data. 167 // 168 // The following arguments are optional: 169 DataSource string `pulumi:"dataSource"` 170 // The optional description for the route calculator resource. 171 Description *string `pulumi:"description"` 172 // Key-value tags for the route calculator. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 173 Tags map[string]string `pulumi:"tags"` 174 } 175 176 // The set of arguments for constructing a RouteCalculation resource. 177 type RouteCalculationArgs struct { 178 // The name of the route calculator resource. 179 CalculatorName pulumi.StringInput 180 // Specifies the data provider of traffic and road network data. 181 // 182 // The following arguments are optional: 183 DataSource pulumi.StringInput 184 // The optional description for the route calculator resource. 185 Description pulumi.StringPtrInput 186 // Key-value tags for the route calculator. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 187 Tags pulumi.StringMapInput 188 } 189 190 func (RouteCalculationArgs) ElementType() reflect.Type { 191 return reflect.TypeOf((*routeCalculationArgs)(nil)).Elem() 192 } 193 194 type RouteCalculationInput interface { 195 pulumi.Input 196 197 ToRouteCalculationOutput() RouteCalculationOutput 198 ToRouteCalculationOutputWithContext(ctx context.Context) RouteCalculationOutput 199 } 200 201 func (*RouteCalculation) ElementType() reflect.Type { 202 return reflect.TypeOf((**RouteCalculation)(nil)).Elem() 203 } 204 205 func (i *RouteCalculation) ToRouteCalculationOutput() RouteCalculationOutput { 206 return i.ToRouteCalculationOutputWithContext(context.Background()) 207 } 208 209 func (i *RouteCalculation) ToRouteCalculationOutputWithContext(ctx context.Context) RouteCalculationOutput { 210 return pulumi.ToOutputWithContext(ctx, i).(RouteCalculationOutput) 211 } 212 213 // RouteCalculationArrayInput is an input type that accepts RouteCalculationArray and RouteCalculationArrayOutput values. 214 // You can construct a concrete instance of `RouteCalculationArrayInput` via: 215 // 216 // RouteCalculationArray{ RouteCalculationArgs{...} } 217 type RouteCalculationArrayInput interface { 218 pulumi.Input 219 220 ToRouteCalculationArrayOutput() RouteCalculationArrayOutput 221 ToRouteCalculationArrayOutputWithContext(context.Context) RouteCalculationArrayOutput 222 } 223 224 type RouteCalculationArray []RouteCalculationInput 225 226 func (RouteCalculationArray) ElementType() reflect.Type { 227 return reflect.TypeOf((*[]*RouteCalculation)(nil)).Elem() 228 } 229 230 func (i RouteCalculationArray) ToRouteCalculationArrayOutput() RouteCalculationArrayOutput { 231 return i.ToRouteCalculationArrayOutputWithContext(context.Background()) 232 } 233 234 func (i RouteCalculationArray) ToRouteCalculationArrayOutputWithContext(ctx context.Context) RouteCalculationArrayOutput { 235 return pulumi.ToOutputWithContext(ctx, i).(RouteCalculationArrayOutput) 236 } 237 238 // RouteCalculationMapInput is an input type that accepts RouteCalculationMap and RouteCalculationMapOutput values. 239 // You can construct a concrete instance of `RouteCalculationMapInput` via: 240 // 241 // RouteCalculationMap{ "key": RouteCalculationArgs{...} } 242 type RouteCalculationMapInput interface { 243 pulumi.Input 244 245 ToRouteCalculationMapOutput() RouteCalculationMapOutput 246 ToRouteCalculationMapOutputWithContext(context.Context) RouteCalculationMapOutput 247 } 248 249 type RouteCalculationMap map[string]RouteCalculationInput 250 251 func (RouteCalculationMap) ElementType() reflect.Type { 252 return reflect.TypeOf((*map[string]*RouteCalculation)(nil)).Elem() 253 } 254 255 func (i RouteCalculationMap) ToRouteCalculationMapOutput() RouteCalculationMapOutput { 256 return i.ToRouteCalculationMapOutputWithContext(context.Background()) 257 } 258 259 func (i RouteCalculationMap) ToRouteCalculationMapOutputWithContext(ctx context.Context) RouteCalculationMapOutput { 260 return pulumi.ToOutputWithContext(ctx, i).(RouteCalculationMapOutput) 261 } 262 263 type RouteCalculationOutput struct{ *pulumi.OutputState } 264 265 func (RouteCalculationOutput) ElementType() reflect.Type { 266 return reflect.TypeOf((**RouteCalculation)(nil)).Elem() 267 } 268 269 func (o RouteCalculationOutput) ToRouteCalculationOutput() RouteCalculationOutput { 270 return o 271 } 272 273 func (o RouteCalculationOutput) ToRouteCalculationOutputWithContext(ctx context.Context) RouteCalculationOutput { 274 return o 275 } 276 277 // The Amazon Resource Name (ARN) for the Route calculator resource. Use the ARN when you specify a resource across AWS. 278 func (o RouteCalculationOutput) CalculatorArn() pulumi.StringOutput { 279 return o.ApplyT(func(v *RouteCalculation) pulumi.StringOutput { return v.CalculatorArn }).(pulumi.StringOutput) 280 } 281 282 // The name of the route calculator resource. 283 func (o RouteCalculationOutput) CalculatorName() pulumi.StringOutput { 284 return o.ApplyT(func(v *RouteCalculation) pulumi.StringOutput { return v.CalculatorName }).(pulumi.StringOutput) 285 } 286 287 // The timestamp for when the route calculator resource was created in ISO 8601 format. 288 func (o RouteCalculationOutput) CreateTime() pulumi.StringOutput { 289 return o.ApplyT(func(v *RouteCalculation) pulumi.StringOutput { return v.CreateTime }).(pulumi.StringOutput) 290 } 291 292 // Specifies the data provider of traffic and road network data. 293 // 294 // The following arguments are optional: 295 func (o RouteCalculationOutput) DataSource() pulumi.StringOutput { 296 return o.ApplyT(func(v *RouteCalculation) pulumi.StringOutput { return v.DataSource }).(pulumi.StringOutput) 297 } 298 299 // The optional description for the route calculator resource. 300 func (o RouteCalculationOutput) Description() pulumi.StringPtrOutput { 301 return o.ApplyT(func(v *RouteCalculation) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) 302 } 303 304 // Key-value tags for the route calculator. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 305 func (o RouteCalculationOutput) Tags() pulumi.StringMapOutput { 306 return o.ApplyT(func(v *RouteCalculation) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) 307 } 308 309 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 310 // 311 // Deprecated: Please use `tags` instead. 312 func (o RouteCalculationOutput) TagsAll() pulumi.StringMapOutput { 313 return o.ApplyT(func(v *RouteCalculation) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) 314 } 315 316 // The timestamp for when the route calculator resource was last update in ISO 8601. 317 func (o RouteCalculationOutput) UpdateTime() pulumi.StringOutput { 318 return o.ApplyT(func(v *RouteCalculation) pulumi.StringOutput { return v.UpdateTime }).(pulumi.StringOutput) 319 } 320 321 type RouteCalculationArrayOutput struct{ *pulumi.OutputState } 322 323 func (RouteCalculationArrayOutput) ElementType() reflect.Type { 324 return reflect.TypeOf((*[]*RouteCalculation)(nil)).Elem() 325 } 326 327 func (o RouteCalculationArrayOutput) ToRouteCalculationArrayOutput() RouteCalculationArrayOutput { 328 return o 329 } 330 331 func (o RouteCalculationArrayOutput) ToRouteCalculationArrayOutputWithContext(ctx context.Context) RouteCalculationArrayOutput { 332 return o 333 } 334 335 func (o RouteCalculationArrayOutput) Index(i pulumi.IntInput) RouteCalculationOutput { 336 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *RouteCalculation { 337 return vs[0].([]*RouteCalculation)[vs[1].(int)] 338 }).(RouteCalculationOutput) 339 } 340 341 type RouteCalculationMapOutput struct{ *pulumi.OutputState } 342 343 func (RouteCalculationMapOutput) ElementType() reflect.Type { 344 return reflect.TypeOf((*map[string]*RouteCalculation)(nil)).Elem() 345 } 346 347 func (o RouteCalculationMapOutput) ToRouteCalculationMapOutput() RouteCalculationMapOutput { 348 return o 349 } 350 351 func (o RouteCalculationMapOutput) ToRouteCalculationMapOutputWithContext(ctx context.Context) RouteCalculationMapOutput { 352 return o 353 } 354 355 func (o RouteCalculationMapOutput) MapIndex(k pulumi.StringInput) RouteCalculationOutput { 356 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *RouteCalculation { 357 return vs[0].(map[string]*RouteCalculation)[vs[1].(string)] 358 }).(RouteCalculationOutput) 359 } 360 361 func init() { 362 pulumi.RegisterInputType(reflect.TypeOf((*RouteCalculationInput)(nil)).Elem(), &RouteCalculation{}) 363 pulumi.RegisterInputType(reflect.TypeOf((*RouteCalculationArrayInput)(nil)).Elem(), RouteCalculationArray{}) 364 pulumi.RegisterInputType(reflect.TypeOf((*RouteCalculationMapInput)(nil)).Elem(), RouteCalculationMap{}) 365 pulumi.RegisterOutputType(RouteCalculationOutput{}) 366 pulumi.RegisterOutputType(RouteCalculationArrayOutput{}) 367 pulumi.RegisterOutputType(RouteCalculationMapOutput{}) 368 }