github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/globalaccelerator/customRoutingAccelerator.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 globalaccelerator 5 6 import ( 7 "context" 8 "reflect" 9 10 "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" 11 "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 12 ) 13 14 // Creates a Global Accelerator custom routing accelerator. 15 // 16 // ## Example Usage 17 // 18 // <!--Start PulumiCodeChooser --> 19 // ```go 20 // package main 21 // 22 // import ( 23 // 24 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/globalaccelerator" 25 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 26 // 27 // ) 28 // 29 // func main() { 30 // pulumi.Run(func(ctx *pulumi.Context) error { 31 // _, err := globalaccelerator.NewCustomRoutingAccelerator(ctx, "example", &globalaccelerator.CustomRoutingAcceleratorArgs{ 32 // Name: pulumi.String("Example"), 33 // IpAddressType: pulumi.String("IPV4"), 34 // IpAddresses: pulumi.StringArray{ 35 // pulumi.String("1.2.3.4"), 36 // }, 37 // Enabled: pulumi.Bool(true), 38 // Attributes: &globalaccelerator.CustomRoutingAcceleratorAttributesArgs{ 39 // FlowLogsEnabled: pulumi.Bool(true), 40 // FlowLogsS3Bucket: pulumi.String("example-bucket"), 41 // FlowLogsS3Prefix: pulumi.String("flow-logs/"), 42 // }, 43 // }) 44 // if err != nil { 45 // return err 46 // } 47 // return nil 48 // }) 49 // } 50 // 51 // ``` 52 // <!--End PulumiCodeChooser --> 53 // 54 // ## Import 55 // 56 // Using `pulumi import`, import Global Accelerator custom routing accelerators using the `arn`. For example: 57 // 58 // ```sh 59 // $ pulumi import aws:globalaccelerator/customRoutingAccelerator:CustomRoutingAccelerator example arn:aws:globalaccelerator::111111111111:accelerator/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx 60 // ``` 61 type CustomRoutingAccelerator struct { 62 pulumi.CustomResourceState 63 64 // The attributes of the accelerator. Fields documented below. 65 Attributes CustomRoutingAcceleratorAttributesPtrOutput `pulumi:"attributes"` 66 // The DNS name of the accelerator. For example, `a5d53ff5ee6bca4ce.awsglobalaccelerator.com`. 67 DnsName pulumi.StringOutput `pulumi:"dnsName"` 68 // Indicates whether the accelerator is enabled. Defaults to `true`. Valid values: `true`, `false`. 69 Enabled pulumi.BoolPtrOutput `pulumi:"enabled"` 70 // - The Global Accelerator Route 53 zone ID that can be used to 71 // route an [Alias Resource Record Set](https://docs.aws.amazon.com/Route53/latest/APIReference/API_AliasTarget.html) to the Global Accelerator. This attribute 72 // is simply an alias for the zone ID `Z2BJ6XQ5FK7U4H`. 73 HostedZoneId pulumi.StringOutput `pulumi:"hostedZoneId"` 74 // The IP address type that an accelerator supports. For a custom routing accelerator, the value must be `"IPV4"`. 75 IpAddressType pulumi.StringPtrOutput `pulumi:"ipAddressType"` 76 // The IP addresses to use for BYOIP accelerators. If not specified, the service assigns IP addresses. Valid values: 1 or 2 IPv4 addresses. 77 IpAddresses pulumi.StringArrayOutput `pulumi:"ipAddresses"` 78 // IP address set associated with the accelerator. 79 IpSets CustomRoutingAcceleratorIpSetArrayOutput `pulumi:"ipSets"` 80 // The name of a custom routing accelerator. 81 Name pulumi.StringOutput `pulumi:"name"` 82 // 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. 83 Tags pulumi.StringMapOutput `pulumi:"tags"` 84 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 85 // 86 // Deprecated: Please use `tags` instead. 87 TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` 88 } 89 90 // NewCustomRoutingAccelerator registers a new resource with the given unique name, arguments, and options. 91 func NewCustomRoutingAccelerator(ctx *pulumi.Context, 92 name string, args *CustomRoutingAcceleratorArgs, opts ...pulumi.ResourceOption) (*CustomRoutingAccelerator, error) { 93 if args == nil { 94 args = &CustomRoutingAcceleratorArgs{} 95 } 96 97 opts = internal.PkgResourceDefaultOpts(opts) 98 var resource CustomRoutingAccelerator 99 err := ctx.RegisterResource("aws:globalaccelerator/customRoutingAccelerator:CustomRoutingAccelerator", name, args, &resource, opts...) 100 if err != nil { 101 return nil, err 102 } 103 return &resource, nil 104 } 105 106 // GetCustomRoutingAccelerator gets an existing CustomRoutingAccelerator resource's state with the given name, ID, and optional 107 // state properties that are used to uniquely qualify the lookup (nil if not required). 108 func GetCustomRoutingAccelerator(ctx *pulumi.Context, 109 name string, id pulumi.IDInput, state *CustomRoutingAcceleratorState, opts ...pulumi.ResourceOption) (*CustomRoutingAccelerator, error) { 110 var resource CustomRoutingAccelerator 111 err := ctx.ReadResource("aws:globalaccelerator/customRoutingAccelerator:CustomRoutingAccelerator", name, id, state, &resource, opts...) 112 if err != nil { 113 return nil, err 114 } 115 return &resource, nil 116 } 117 118 // Input properties used for looking up and filtering CustomRoutingAccelerator resources. 119 type customRoutingAcceleratorState struct { 120 // The attributes of the accelerator. Fields documented below. 121 Attributes *CustomRoutingAcceleratorAttributes `pulumi:"attributes"` 122 // The DNS name of the accelerator. For example, `a5d53ff5ee6bca4ce.awsglobalaccelerator.com`. 123 DnsName *string `pulumi:"dnsName"` 124 // Indicates whether the accelerator is enabled. Defaults to `true`. Valid values: `true`, `false`. 125 Enabled *bool `pulumi:"enabled"` 126 // - The Global Accelerator Route 53 zone ID that can be used to 127 // route an [Alias Resource Record Set](https://docs.aws.amazon.com/Route53/latest/APIReference/API_AliasTarget.html) to the Global Accelerator. This attribute 128 // is simply an alias for the zone ID `Z2BJ6XQ5FK7U4H`. 129 HostedZoneId *string `pulumi:"hostedZoneId"` 130 // The IP address type that an accelerator supports. For a custom routing accelerator, the value must be `"IPV4"`. 131 IpAddressType *string `pulumi:"ipAddressType"` 132 // The IP addresses to use for BYOIP accelerators. If not specified, the service assigns IP addresses. Valid values: 1 or 2 IPv4 addresses. 133 IpAddresses []string `pulumi:"ipAddresses"` 134 // IP address set associated with the accelerator. 135 IpSets []CustomRoutingAcceleratorIpSet `pulumi:"ipSets"` 136 // The name of a custom routing accelerator. 137 Name *string `pulumi:"name"` 138 // 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. 139 Tags map[string]string `pulumi:"tags"` 140 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 141 // 142 // Deprecated: Please use `tags` instead. 143 TagsAll map[string]string `pulumi:"tagsAll"` 144 } 145 146 type CustomRoutingAcceleratorState struct { 147 // The attributes of the accelerator. Fields documented below. 148 Attributes CustomRoutingAcceleratorAttributesPtrInput 149 // The DNS name of the accelerator. For example, `a5d53ff5ee6bca4ce.awsglobalaccelerator.com`. 150 DnsName pulumi.StringPtrInput 151 // Indicates whether the accelerator is enabled. Defaults to `true`. Valid values: `true`, `false`. 152 Enabled pulumi.BoolPtrInput 153 // - The Global Accelerator Route 53 zone ID that can be used to 154 // route an [Alias Resource Record Set](https://docs.aws.amazon.com/Route53/latest/APIReference/API_AliasTarget.html) to the Global Accelerator. This attribute 155 // is simply an alias for the zone ID `Z2BJ6XQ5FK7U4H`. 156 HostedZoneId pulumi.StringPtrInput 157 // The IP address type that an accelerator supports. For a custom routing accelerator, the value must be `"IPV4"`. 158 IpAddressType pulumi.StringPtrInput 159 // The IP addresses to use for BYOIP accelerators. If not specified, the service assigns IP addresses. Valid values: 1 or 2 IPv4 addresses. 160 IpAddresses pulumi.StringArrayInput 161 // IP address set associated with the accelerator. 162 IpSets CustomRoutingAcceleratorIpSetArrayInput 163 // The name of a custom routing accelerator. 164 Name pulumi.StringPtrInput 165 // 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. 166 Tags pulumi.StringMapInput 167 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 168 // 169 // Deprecated: Please use `tags` instead. 170 TagsAll pulumi.StringMapInput 171 } 172 173 func (CustomRoutingAcceleratorState) ElementType() reflect.Type { 174 return reflect.TypeOf((*customRoutingAcceleratorState)(nil)).Elem() 175 } 176 177 type customRoutingAcceleratorArgs struct { 178 // The attributes of the accelerator. Fields documented below. 179 Attributes *CustomRoutingAcceleratorAttributes `pulumi:"attributes"` 180 // Indicates whether the accelerator is enabled. Defaults to `true`. Valid values: `true`, `false`. 181 Enabled *bool `pulumi:"enabled"` 182 // The IP address type that an accelerator supports. For a custom routing accelerator, the value must be `"IPV4"`. 183 IpAddressType *string `pulumi:"ipAddressType"` 184 // The IP addresses to use for BYOIP accelerators. If not specified, the service assigns IP addresses. Valid values: 1 or 2 IPv4 addresses. 185 IpAddresses []string `pulumi:"ipAddresses"` 186 // The name of a custom routing accelerator. 187 Name *string `pulumi:"name"` 188 // 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. 189 Tags map[string]string `pulumi:"tags"` 190 } 191 192 // The set of arguments for constructing a CustomRoutingAccelerator resource. 193 type CustomRoutingAcceleratorArgs struct { 194 // The attributes of the accelerator. Fields documented below. 195 Attributes CustomRoutingAcceleratorAttributesPtrInput 196 // Indicates whether the accelerator is enabled. Defaults to `true`. Valid values: `true`, `false`. 197 Enabled pulumi.BoolPtrInput 198 // The IP address type that an accelerator supports. For a custom routing accelerator, the value must be `"IPV4"`. 199 IpAddressType pulumi.StringPtrInput 200 // The IP addresses to use for BYOIP accelerators. If not specified, the service assigns IP addresses. Valid values: 1 or 2 IPv4 addresses. 201 IpAddresses pulumi.StringArrayInput 202 // The name of a custom routing accelerator. 203 Name pulumi.StringPtrInput 204 // 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. 205 Tags pulumi.StringMapInput 206 } 207 208 func (CustomRoutingAcceleratorArgs) ElementType() reflect.Type { 209 return reflect.TypeOf((*customRoutingAcceleratorArgs)(nil)).Elem() 210 } 211 212 type CustomRoutingAcceleratorInput interface { 213 pulumi.Input 214 215 ToCustomRoutingAcceleratorOutput() CustomRoutingAcceleratorOutput 216 ToCustomRoutingAcceleratorOutputWithContext(ctx context.Context) CustomRoutingAcceleratorOutput 217 } 218 219 func (*CustomRoutingAccelerator) ElementType() reflect.Type { 220 return reflect.TypeOf((**CustomRoutingAccelerator)(nil)).Elem() 221 } 222 223 func (i *CustomRoutingAccelerator) ToCustomRoutingAcceleratorOutput() CustomRoutingAcceleratorOutput { 224 return i.ToCustomRoutingAcceleratorOutputWithContext(context.Background()) 225 } 226 227 func (i *CustomRoutingAccelerator) ToCustomRoutingAcceleratorOutputWithContext(ctx context.Context) CustomRoutingAcceleratorOutput { 228 return pulumi.ToOutputWithContext(ctx, i).(CustomRoutingAcceleratorOutput) 229 } 230 231 // CustomRoutingAcceleratorArrayInput is an input type that accepts CustomRoutingAcceleratorArray and CustomRoutingAcceleratorArrayOutput values. 232 // You can construct a concrete instance of `CustomRoutingAcceleratorArrayInput` via: 233 // 234 // CustomRoutingAcceleratorArray{ CustomRoutingAcceleratorArgs{...} } 235 type CustomRoutingAcceleratorArrayInput interface { 236 pulumi.Input 237 238 ToCustomRoutingAcceleratorArrayOutput() CustomRoutingAcceleratorArrayOutput 239 ToCustomRoutingAcceleratorArrayOutputWithContext(context.Context) CustomRoutingAcceleratorArrayOutput 240 } 241 242 type CustomRoutingAcceleratorArray []CustomRoutingAcceleratorInput 243 244 func (CustomRoutingAcceleratorArray) ElementType() reflect.Type { 245 return reflect.TypeOf((*[]*CustomRoutingAccelerator)(nil)).Elem() 246 } 247 248 func (i CustomRoutingAcceleratorArray) ToCustomRoutingAcceleratorArrayOutput() CustomRoutingAcceleratorArrayOutput { 249 return i.ToCustomRoutingAcceleratorArrayOutputWithContext(context.Background()) 250 } 251 252 func (i CustomRoutingAcceleratorArray) ToCustomRoutingAcceleratorArrayOutputWithContext(ctx context.Context) CustomRoutingAcceleratorArrayOutput { 253 return pulumi.ToOutputWithContext(ctx, i).(CustomRoutingAcceleratorArrayOutput) 254 } 255 256 // CustomRoutingAcceleratorMapInput is an input type that accepts CustomRoutingAcceleratorMap and CustomRoutingAcceleratorMapOutput values. 257 // You can construct a concrete instance of `CustomRoutingAcceleratorMapInput` via: 258 // 259 // CustomRoutingAcceleratorMap{ "key": CustomRoutingAcceleratorArgs{...} } 260 type CustomRoutingAcceleratorMapInput interface { 261 pulumi.Input 262 263 ToCustomRoutingAcceleratorMapOutput() CustomRoutingAcceleratorMapOutput 264 ToCustomRoutingAcceleratorMapOutputWithContext(context.Context) CustomRoutingAcceleratorMapOutput 265 } 266 267 type CustomRoutingAcceleratorMap map[string]CustomRoutingAcceleratorInput 268 269 func (CustomRoutingAcceleratorMap) ElementType() reflect.Type { 270 return reflect.TypeOf((*map[string]*CustomRoutingAccelerator)(nil)).Elem() 271 } 272 273 func (i CustomRoutingAcceleratorMap) ToCustomRoutingAcceleratorMapOutput() CustomRoutingAcceleratorMapOutput { 274 return i.ToCustomRoutingAcceleratorMapOutputWithContext(context.Background()) 275 } 276 277 func (i CustomRoutingAcceleratorMap) ToCustomRoutingAcceleratorMapOutputWithContext(ctx context.Context) CustomRoutingAcceleratorMapOutput { 278 return pulumi.ToOutputWithContext(ctx, i).(CustomRoutingAcceleratorMapOutput) 279 } 280 281 type CustomRoutingAcceleratorOutput struct{ *pulumi.OutputState } 282 283 func (CustomRoutingAcceleratorOutput) ElementType() reflect.Type { 284 return reflect.TypeOf((**CustomRoutingAccelerator)(nil)).Elem() 285 } 286 287 func (o CustomRoutingAcceleratorOutput) ToCustomRoutingAcceleratorOutput() CustomRoutingAcceleratorOutput { 288 return o 289 } 290 291 func (o CustomRoutingAcceleratorOutput) ToCustomRoutingAcceleratorOutputWithContext(ctx context.Context) CustomRoutingAcceleratorOutput { 292 return o 293 } 294 295 // The attributes of the accelerator. Fields documented below. 296 func (o CustomRoutingAcceleratorOutput) Attributes() CustomRoutingAcceleratorAttributesPtrOutput { 297 return o.ApplyT(func(v *CustomRoutingAccelerator) CustomRoutingAcceleratorAttributesPtrOutput { return v.Attributes }).(CustomRoutingAcceleratorAttributesPtrOutput) 298 } 299 300 // The DNS name of the accelerator. For example, `a5d53ff5ee6bca4ce.awsglobalaccelerator.com`. 301 func (o CustomRoutingAcceleratorOutput) DnsName() pulumi.StringOutput { 302 return o.ApplyT(func(v *CustomRoutingAccelerator) pulumi.StringOutput { return v.DnsName }).(pulumi.StringOutput) 303 } 304 305 // Indicates whether the accelerator is enabled. Defaults to `true`. Valid values: `true`, `false`. 306 func (o CustomRoutingAcceleratorOutput) Enabled() pulumi.BoolPtrOutput { 307 return o.ApplyT(func(v *CustomRoutingAccelerator) pulumi.BoolPtrOutput { return v.Enabled }).(pulumi.BoolPtrOutput) 308 } 309 310 // - The Global Accelerator Route 53 zone ID that can be used to 311 // route an [Alias Resource Record Set](https://docs.aws.amazon.com/Route53/latest/APIReference/API_AliasTarget.html) to the Global Accelerator. This attribute 312 // is simply an alias for the zone ID `Z2BJ6XQ5FK7U4H`. 313 func (o CustomRoutingAcceleratorOutput) HostedZoneId() pulumi.StringOutput { 314 return o.ApplyT(func(v *CustomRoutingAccelerator) pulumi.StringOutput { return v.HostedZoneId }).(pulumi.StringOutput) 315 } 316 317 // The IP address type that an accelerator supports. For a custom routing accelerator, the value must be `"IPV4"`. 318 func (o CustomRoutingAcceleratorOutput) IpAddressType() pulumi.StringPtrOutput { 319 return o.ApplyT(func(v *CustomRoutingAccelerator) pulumi.StringPtrOutput { return v.IpAddressType }).(pulumi.StringPtrOutput) 320 } 321 322 // The IP addresses to use for BYOIP accelerators. If not specified, the service assigns IP addresses. Valid values: 1 or 2 IPv4 addresses. 323 func (o CustomRoutingAcceleratorOutput) IpAddresses() pulumi.StringArrayOutput { 324 return o.ApplyT(func(v *CustomRoutingAccelerator) pulumi.StringArrayOutput { return v.IpAddresses }).(pulumi.StringArrayOutput) 325 } 326 327 // IP address set associated with the accelerator. 328 func (o CustomRoutingAcceleratorOutput) IpSets() CustomRoutingAcceleratorIpSetArrayOutput { 329 return o.ApplyT(func(v *CustomRoutingAccelerator) CustomRoutingAcceleratorIpSetArrayOutput { return v.IpSets }).(CustomRoutingAcceleratorIpSetArrayOutput) 330 } 331 332 // The name of a custom routing accelerator. 333 func (o CustomRoutingAcceleratorOutput) Name() pulumi.StringOutput { 334 return o.ApplyT(func(v *CustomRoutingAccelerator) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) 335 } 336 337 // 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. 338 func (o CustomRoutingAcceleratorOutput) Tags() pulumi.StringMapOutput { 339 return o.ApplyT(func(v *CustomRoutingAccelerator) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) 340 } 341 342 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 343 // 344 // Deprecated: Please use `tags` instead. 345 func (o CustomRoutingAcceleratorOutput) TagsAll() pulumi.StringMapOutput { 346 return o.ApplyT(func(v *CustomRoutingAccelerator) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) 347 } 348 349 type CustomRoutingAcceleratorArrayOutput struct{ *pulumi.OutputState } 350 351 func (CustomRoutingAcceleratorArrayOutput) ElementType() reflect.Type { 352 return reflect.TypeOf((*[]*CustomRoutingAccelerator)(nil)).Elem() 353 } 354 355 func (o CustomRoutingAcceleratorArrayOutput) ToCustomRoutingAcceleratorArrayOutput() CustomRoutingAcceleratorArrayOutput { 356 return o 357 } 358 359 func (o CustomRoutingAcceleratorArrayOutput) ToCustomRoutingAcceleratorArrayOutputWithContext(ctx context.Context) CustomRoutingAcceleratorArrayOutput { 360 return o 361 } 362 363 func (o CustomRoutingAcceleratorArrayOutput) Index(i pulumi.IntInput) CustomRoutingAcceleratorOutput { 364 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *CustomRoutingAccelerator { 365 return vs[0].([]*CustomRoutingAccelerator)[vs[1].(int)] 366 }).(CustomRoutingAcceleratorOutput) 367 } 368 369 type CustomRoutingAcceleratorMapOutput struct{ *pulumi.OutputState } 370 371 func (CustomRoutingAcceleratorMapOutput) ElementType() reflect.Type { 372 return reflect.TypeOf((*map[string]*CustomRoutingAccelerator)(nil)).Elem() 373 } 374 375 func (o CustomRoutingAcceleratorMapOutput) ToCustomRoutingAcceleratorMapOutput() CustomRoutingAcceleratorMapOutput { 376 return o 377 } 378 379 func (o CustomRoutingAcceleratorMapOutput) ToCustomRoutingAcceleratorMapOutputWithContext(ctx context.Context) CustomRoutingAcceleratorMapOutput { 380 return o 381 } 382 383 func (o CustomRoutingAcceleratorMapOutput) MapIndex(k pulumi.StringInput) CustomRoutingAcceleratorOutput { 384 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *CustomRoutingAccelerator { 385 return vs[0].(map[string]*CustomRoutingAccelerator)[vs[1].(string)] 386 }).(CustomRoutingAcceleratorOutput) 387 } 388 389 func init() { 390 pulumi.RegisterInputType(reflect.TypeOf((*CustomRoutingAcceleratorInput)(nil)).Elem(), &CustomRoutingAccelerator{}) 391 pulumi.RegisterInputType(reflect.TypeOf((*CustomRoutingAcceleratorArrayInput)(nil)).Elem(), CustomRoutingAcceleratorArray{}) 392 pulumi.RegisterInputType(reflect.TypeOf((*CustomRoutingAcceleratorMapInput)(nil)).Elem(), CustomRoutingAcceleratorMap{}) 393 pulumi.RegisterOutputType(CustomRoutingAcceleratorOutput{}) 394 pulumi.RegisterOutputType(CustomRoutingAcceleratorArrayOutput{}) 395 pulumi.RegisterOutputType(CustomRoutingAcceleratorMapOutput{}) 396 }