github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/ec2/defaultVpcDhcpOptions.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 "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" 11 "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 12 ) 13 14 // Provides a resource to manage the [default AWS DHCP Options Set](http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html#AmazonDNS) 15 // in the current region. 16 // 17 // Each AWS region comes with a default set of DHCP options. 18 // **This is an advanced resource**, and has special caveats to be aware of when 19 // using it. Please read this document in its entirety before using this resource. 20 // 21 // The `ec2.DefaultVpcDhcpOptions` behaves differently from normal resources, in that 22 // this provider does not _create_ this resource, but instead "adopts" it 23 // into management. 24 // 25 // ## Example Usage 26 // 27 // Basic usage with tags: 28 // 29 // <!--Start PulumiCodeChooser --> 30 // ```go 31 // package main 32 // 33 // import ( 34 // 35 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2" 36 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 37 // 38 // ) 39 // 40 // func main() { 41 // pulumi.Run(func(ctx *pulumi.Context) error { 42 // _, err := ec2.NewDefaultVpcDhcpOptions(ctx, "default", &ec2.DefaultVpcDhcpOptionsArgs{ 43 // Tags: pulumi.StringMap{ 44 // "Name": pulumi.String("Default DHCP Option Set"), 45 // }, 46 // }) 47 // if err != nil { 48 // return err 49 // } 50 // return nil 51 // }) 52 // } 53 // 54 // ``` 55 // <!--End PulumiCodeChooser --> 56 // 57 // ## Import 58 // 59 // Using `pulumi import`, import VPC DHCP Options using the DHCP Options `id`. For example: 60 // 61 // ```sh 62 // $ pulumi import aws:ec2/defaultVpcDhcpOptions:DefaultVpcDhcpOptions default_options dopt-d9070ebb 63 // ``` 64 type DefaultVpcDhcpOptions struct { 65 pulumi.CustomResourceState 66 67 // The ARN of the DHCP Options Set. 68 Arn pulumi.StringOutput `pulumi:"arn"` 69 DomainName pulumi.StringOutput `pulumi:"domainName"` 70 DomainNameServers pulumi.StringOutput `pulumi:"domainNameServers"` 71 Ipv6AddressPreferredLeaseTime pulumi.StringOutput `pulumi:"ipv6AddressPreferredLeaseTime"` 72 // List of NETBIOS name servers. 73 NetbiosNameServers pulumi.StringOutput `pulumi:"netbiosNameServers"` 74 // The NetBIOS node type (1, 2, 4, or 8). AWS recommends to specify 2 since broadcast and multicast are not supported in their network. For more information about these node types, see [RFC 2132](http://www.ietf.org/rfc/rfc2132.txt). 75 NetbiosNodeType pulumi.StringOutput `pulumi:"netbiosNodeType"` 76 NtpServers pulumi.StringOutput `pulumi:"ntpServers"` 77 // The ID of the AWS account that owns the DHCP options set. 78 OwnerId pulumi.StringOutput `pulumi:"ownerId"` 79 // A map of tags to assign to the resource. 80 Tags pulumi.StringMapOutput `pulumi:"tags"` 81 // Deprecated: Please use `tags` instead. 82 TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` 83 } 84 85 // NewDefaultVpcDhcpOptions registers a new resource with the given unique name, arguments, and options. 86 func NewDefaultVpcDhcpOptions(ctx *pulumi.Context, 87 name string, args *DefaultVpcDhcpOptionsArgs, opts ...pulumi.ResourceOption) (*DefaultVpcDhcpOptions, error) { 88 if args == nil { 89 args = &DefaultVpcDhcpOptionsArgs{} 90 } 91 92 opts = internal.PkgResourceDefaultOpts(opts) 93 var resource DefaultVpcDhcpOptions 94 err := ctx.RegisterResource("aws:ec2/defaultVpcDhcpOptions:DefaultVpcDhcpOptions", name, args, &resource, opts...) 95 if err != nil { 96 return nil, err 97 } 98 return &resource, nil 99 } 100 101 // GetDefaultVpcDhcpOptions gets an existing DefaultVpcDhcpOptions resource's state with the given name, ID, and optional 102 // state properties that are used to uniquely qualify the lookup (nil if not required). 103 func GetDefaultVpcDhcpOptions(ctx *pulumi.Context, 104 name string, id pulumi.IDInput, state *DefaultVpcDhcpOptionsState, opts ...pulumi.ResourceOption) (*DefaultVpcDhcpOptions, error) { 105 var resource DefaultVpcDhcpOptions 106 err := ctx.ReadResource("aws:ec2/defaultVpcDhcpOptions:DefaultVpcDhcpOptions", name, id, state, &resource, opts...) 107 if err != nil { 108 return nil, err 109 } 110 return &resource, nil 111 } 112 113 // Input properties used for looking up and filtering DefaultVpcDhcpOptions resources. 114 type defaultVpcDhcpOptionsState struct { 115 // The ARN of the DHCP Options Set. 116 Arn *string `pulumi:"arn"` 117 DomainName *string `pulumi:"domainName"` 118 DomainNameServers *string `pulumi:"domainNameServers"` 119 Ipv6AddressPreferredLeaseTime *string `pulumi:"ipv6AddressPreferredLeaseTime"` 120 // List of NETBIOS name servers. 121 NetbiosNameServers *string `pulumi:"netbiosNameServers"` 122 // The NetBIOS node type (1, 2, 4, or 8). AWS recommends to specify 2 since broadcast and multicast are not supported in their network. For more information about these node types, see [RFC 2132](http://www.ietf.org/rfc/rfc2132.txt). 123 NetbiosNodeType *string `pulumi:"netbiosNodeType"` 124 NtpServers *string `pulumi:"ntpServers"` 125 // The ID of the AWS account that owns the DHCP options set. 126 OwnerId *string `pulumi:"ownerId"` 127 // A map of tags to assign to the resource. 128 Tags map[string]string `pulumi:"tags"` 129 // Deprecated: Please use `tags` instead. 130 TagsAll map[string]string `pulumi:"tagsAll"` 131 } 132 133 type DefaultVpcDhcpOptionsState struct { 134 // The ARN of the DHCP Options Set. 135 Arn pulumi.StringPtrInput 136 DomainName pulumi.StringPtrInput 137 DomainNameServers pulumi.StringPtrInput 138 Ipv6AddressPreferredLeaseTime pulumi.StringPtrInput 139 // List of NETBIOS name servers. 140 NetbiosNameServers pulumi.StringPtrInput 141 // The NetBIOS node type (1, 2, 4, or 8). AWS recommends to specify 2 since broadcast and multicast are not supported in their network. For more information about these node types, see [RFC 2132](http://www.ietf.org/rfc/rfc2132.txt). 142 NetbiosNodeType pulumi.StringPtrInput 143 NtpServers pulumi.StringPtrInput 144 // The ID of the AWS account that owns the DHCP options set. 145 OwnerId pulumi.StringPtrInput 146 // A map of tags to assign to the resource. 147 Tags pulumi.StringMapInput 148 // Deprecated: Please use `tags` instead. 149 TagsAll pulumi.StringMapInput 150 } 151 152 func (DefaultVpcDhcpOptionsState) ElementType() reflect.Type { 153 return reflect.TypeOf((*defaultVpcDhcpOptionsState)(nil)).Elem() 154 } 155 156 type defaultVpcDhcpOptionsArgs struct { 157 // The ID of the AWS account that owns the DHCP options set. 158 OwnerId *string `pulumi:"ownerId"` 159 // A map of tags to assign to the resource. 160 Tags map[string]string `pulumi:"tags"` 161 } 162 163 // The set of arguments for constructing a DefaultVpcDhcpOptions resource. 164 type DefaultVpcDhcpOptionsArgs struct { 165 // The ID of the AWS account that owns the DHCP options set. 166 OwnerId pulumi.StringPtrInput 167 // A map of tags to assign to the resource. 168 Tags pulumi.StringMapInput 169 } 170 171 func (DefaultVpcDhcpOptionsArgs) ElementType() reflect.Type { 172 return reflect.TypeOf((*defaultVpcDhcpOptionsArgs)(nil)).Elem() 173 } 174 175 type DefaultVpcDhcpOptionsInput interface { 176 pulumi.Input 177 178 ToDefaultVpcDhcpOptionsOutput() DefaultVpcDhcpOptionsOutput 179 ToDefaultVpcDhcpOptionsOutputWithContext(ctx context.Context) DefaultVpcDhcpOptionsOutput 180 } 181 182 func (*DefaultVpcDhcpOptions) ElementType() reflect.Type { 183 return reflect.TypeOf((**DefaultVpcDhcpOptions)(nil)).Elem() 184 } 185 186 func (i *DefaultVpcDhcpOptions) ToDefaultVpcDhcpOptionsOutput() DefaultVpcDhcpOptionsOutput { 187 return i.ToDefaultVpcDhcpOptionsOutputWithContext(context.Background()) 188 } 189 190 func (i *DefaultVpcDhcpOptions) ToDefaultVpcDhcpOptionsOutputWithContext(ctx context.Context) DefaultVpcDhcpOptionsOutput { 191 return pulumi.ToOutputWithContext(ctx, i).(DefaultVpcDhcpOptionsOutput) 192 } 193 194 // DefaultVpcDhcpOptionsArrayInput is an input type that accepts DefaultVpcDhcpOptionsArray and DefaultVpcDhcpOptionsArrayOutput values. 195 // You can construct a concrete instance of `DefaultVpcDhcpOptionsArrayInput` via: 196 // 197 // DefaultVpcDhcpOptionsArray{ DefaultVpcDhcpOptionsArgs{...} } 198 type DefaultVpcDhcpOptionsArrayInput interface { 199 pulumi.Input 200 201 ToDefaultVpcDhcpOptionsArrayOutput() DefaultVpcDhcpOptionsArrayOutput 202 ToDefaultVpcDhcpOptionsArrayOutputWithContext(context.Context) DefaultVpcDhcpOptionsArrayOutput 203 } 204 205 type DefaultVpcDhcpOptionsArray []DefaultVpcDhcpOptionsInput 206 207 func (DefaultVpcDhcpOptionsArray) ElementType() reflect.Type { 208 return reflect.TypeOf((*[]*DefaultVpcDhcpOptions)(nil)).Elem() 209 } 210 211 func (i DefaultVpcDhcpOptionsArray) ToDefaultVpcDhcpOptionsArrayOutput() DefaultVpcDhcpOptionsArrayOutput { 212 return i.ToDefaultVpcDhcpOptionsArrayOutputWithContext(context.Background()) 213 } 214 215 func (i DefaultVpcDhcpOptionsArray) ToDefaultVpcDhcpOptionsArrayOutputWithContext(ctx context.Context) DefaultVpcDhcpOptionsArrayOutput { 216 return pulumi.ToOutputWithContext(ctx, i).(DefaultVpcDhcpOptionsArrayOutput) 217 } 218 219 // DefaultVpcDhcpOptionsMapInput is an input type that accepts DefaultVpcDhcpOptionsMap and DefaultVpcDhcpOptionsMapOutput values. 220 // You can construct a concrete instance of `DefaultVpcDhcpOptionsMapInput` via: 221 // 222 // DefaultVpcDhcpOptionsMap{ "key": DefaultVpcDhcpOptionsArgs{...} } 223 type DefaultVpcDhcpOptionsMapInput interface { 224 pulumi.Input 225 226 ToDefaultVpcDhcpOptionsMapOutput() DefaultVpcDhcpOptionsMapOutput 227 ToDefaultVpcDhcpOptionsMapOutputWithContext(context.Context) DefaultVpcDhcpOptionsMapOutput 228 } 229 230 type DefaultVpcDhcpOptionsMap map[string]DefaultVpcDhcpOptionsInput 231 232 func (DefaultVpcDhcpOptionsMap) ElementType() reflect.Type { 233 return reflect.TypeOf((*map[string]*DefaultVpcDhcpOptions)(nil)).Elem() 234 } 235 236 func (i DefaultVpcDhcpOptionsMap) ToDefaultVpcDhcpOptionsMapOutput() DefaultVpcDhcpOptionsMapOutput { 237 return i.ToDefaultVpcDhcpOptionsMapOutputWithContext(context.Background()) 238 } 239 240 func (i DefaultVpcDhcpOptionsMap) ToDefaultVpcDhcpOptionsMapOutputWithContext(ctx context.Context) DefaultVpcDhcpOptionsMapOutput { 241 return pulumi.ToOutputWithContext(ctx, i).(DefaultVpcDhcpOptionsMapOutput) 242 } 243 244 type DefaultVpcDhcpOptionsOutput struct{ *pulumi.OutputState } 245 246 func (DefaultVpcDhcpOptionsOutput) ElementType() reflect.Type { 247 return reflect.TypeOf((**DefaultVpcDhcpOptions)(nil)).Elem() 248 } 249 250 func (o DefaultVpcDhcpOptionsOutput) ToDefaultVpcDhcpOptionsOutput() DefaultVpcDhcpOptionsOutput { 251 return o 252 } 253 254 func (o DefaultVpcDhcpOptionsOutput) ToDefaultVpcDhcpOptionsOutputWithContext(ctx context.Context) DefaultVpcDhcpOptionsOutput { 255 return o 256 } 257 258 // The ARN of the DHCP Options Set. 259 func (o DefaultVpcDhcpOptionsOutput) Arn() pulumi.StringOutput { 260 return o.ApplyT(func(v *DefaultVpcDhcpOptions) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 261 } 262 263 func (o DefaultVpcDhcpOptionsOutput) DomainName() pulumi.StringOutput { 264 return o.ApplyT(func(v *DefaultVpcDhcpOptions) pulumi.StringOutput { return v.DomainName }).(pulumi.StringOutput) 265 } 266 267 func (o DefaultVpcDhcpOptionsOutput) DomainNameServers() pulumi.StringOutput { 268 return o.ApplyT(func(v *DefaultVpcDhcpOptions) pulumi.StringOutput { return v.DomainNameServers }).(pulumi.StringOutput) 269 } 270 271 func (o DefaultVpcDhcpOptionsOutput) Ipv6AddressPreferredLeaseTime() pulumi.StringOutput { 272 return o.ApplyT(func(v *DefaultVpcDhcpOptions) pulumi.StringOutput { return v.Ipv6AddressPreferredLeaseTime }).(pulumi.StringOutput) 273 } 274 275 // List of NETBIOS name servers. 276 func (o DefaultVpcDhcpOptionsOutput) NetbiosNameServers() pulumi.StringOutput { 277 return o.ApplyT(func(v *DefaultVpcDhcpOptions) pulumi.StringOutput { return v.NetbiosNameServers }).(pulumi.StringOutput) 278 } 279 280 // The NetBIOS node type (1, 2, 4, or 8). AWS recommends to specify 2 since broadcast and multicast are not supported in their network. For more information about these node types, see [RFC 2132](http://www.ietf.org/rfc/rfc2132.txt). 281 func (o DefaultVpcDhcpOptionsOutput) NetbiosNodeType() pulumi.StringOutput { 282 return o.ApplyT(func(v *DefaultVpcDhcpOptions) pulumi.StringOutput { return v.NetbiosNodeType }).(pulumi.StringOutput) 283 } 284 285 func (o DefaultVpcDhcpOptionsOutput) NtpServers() pulumi.StringOutput { 286 return o.ApplyT(func(v *DefaultVpcDhcpOptions) pulumi.StringOutput { return v.NtpServers }).(pulumi.StringOutput) 287 } 288 289 // The ID of the AWS account that owns the DHCP options set. 290 func (o DefaultVpcDhcpOptionsOutput) OwnerId() pulumi.StringOutput { 291 return o.ApplyT(func(v *DefaultVpcDhcpOptions) pulumi.StringOutput { return v.OwnerId }).(pulumi.StringOutput) 292 } 293 294 // A map of tags to assign to the resource. 295 func (o DefaultVpcDhcpOptionsOutput) Tags() pulumi.StringMapOutput { 296 return o.ApplyT(func(v *DefaultVpcDhcpOptions) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) 297 } 298 299 // Deprecated: Please use `tags` instead. 300 func (o DefaultVpcDhcpOptionsOutput) TagsAll() pulumi.StringMapOutput { 301 return o.ApplyT(func(v *DefaultVpcDhcpOptions) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) 302 } 303 304 type DefaultVpcDhcpOptionsArrayOutput struct{ *pulumi.OutputState } 305 306 func (DefaultVpcDhcpOptionsArrayOutput) ElementType() reflect.Type { 307 return reflect.TypeOf((*[]*DefaultVpcDhcpOptions)(nil)).Elem() 308 } 309 310 func (o DefaultVpcDhcpOptionsArrayOutput) ToDefaultVpcDhcpOptionsArrayOutput() DefaultVpcDhcpOptionsArrayOutput { 311 return o 312 } 313 314 func (o DefaultVpcDhcpOptionsArrayOutput) ToDefaultVpcDhcpOptionsArrayOutputWithContext(ctx context.Context) DefaultVpcDhcpOptionsArrayOutput { 315 return o 316 } 317 318 func (o DefaultVpcDhcpOptionsArrayOutput) Index(i pulumi.IntInput) DefaultVpcDhcpOptionsOutput { 319 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *DefaultVpcDhcpOptions { 320 return vs[0].([]*DefaultVpcDhcpOptions)[vs[1].(int)] 321 }).(DefaultVpcDhcpOptionsOutput) 322 } 323 324 type DefaultVpcDhcpOptionsMapOutput struct{ *pulumi.OutputState } 325 326 func (DefaultVpcDhcpOptionsMapOutput) ElementType() reflect.Type { 327 return reflect.TypeOf((*map[string]*DefaultVpcDhcpOptions)(nil)).Elem() 328 } 329 330 func (o DefaultVpcDhcpOptionsMapOutput) ToDefaultVpcDhcpOptionsMapOutput() DefaultVpcDhcpOptionsMapOutput { 331 return o 332 } 333 334 func (o DefaultVpcDhcpOptionsMapOutput) ToDefaultVpcDhcpOptionsMapOutputWithContext(ctx context.Context) DefaultVpcDhcpOptionsMapOutput { 335 return o 336 } 337 338 func (o DefaultVpcDhcpOptionsMapOutput) MapIndex(k pulumi.StringInput) DefaultVpcDhcpOptionsOutput { 339 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *DefaultVpcDhcpOptions { 340 return vs[0].(map[string]*DefaultVpcDhcpOptions)[vs[1].(string)] 341 }).(DefaultVpcDhcpOptionsOutput) 342 } 343 344 func init() { 345 pulumi.RegisterInputType(reflect.TypeOf((*DefaultVpcDhcpOptionsInput)(nil)).Elem(), &DefaultVpcDhcpOptions{}) 346 pulumi.RegisterInputType(reflect.TypeOf((*DefaultVpcDhcpOptionsArrayInput)(nil)).Elem(), DefaultVpcDhcpOptionsArray{}) 347 pulumi.RegisterInputType(reflect.TypeOf((*DefaultVpcDhcpOptionsMapInput)(nil)).Elem(), DefaultVpcDhcpOptionsMap{}) 348 pulumi.RegisterOutputType(DefaultVpcDhcpOptionsOutput{}) 349 pulumi.RegisterOutputType(DefaultVpcDhcpOptionsArrayOutput{}) 350 pulumi.RegisterOutputType(DefaultVpcDhcpOptionsMapOutput{}) 351 }