github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/ec2/dedicatedHost.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  // Provides an EC2 Host resource. This allows Dedicated Hosts to be allocated, modified, and released.
    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  //			// Create a new host with instance type of c5.18xlarge with Auto Placement
    33  //			// and Host Recovery enabled.
    34  //			_, err := ec2.NewDedicatedHost(ctx, "test", &ec2.DedicatedHostArgs{
    35  //				InstanceType:     pulumi.String("c5.18xlarge"),
    36  //				AvailabilityZone: pulumi.String("us-west-2a"),
    37  //				HostRecovery:     pulumi.String("on"),
    38  //				AutoPlacement:    pulumi.String("on"),
    39  //			})
    40  //			if err != nil {
    41  //				return err
    42  //			}
    43  //			return nil
    44  //		})
    45  //	}
    46  //
    47  // ```
    48  // <!--End PulumiCodeChooser -->
    49  //
    50  // ## Import
    51  //
    52  // Using `pulumi import`, import hosts using the host `id`. For example:
    53  //
    54  // ```sh
    55  // $ pulumi import aws:ec2/dedicatedHost:DedicatedHost example h-0385a99d0e4b20cbb
    56  // ```
    57  type DedicatedHost struct {
    58  	pulumi.CustomResourceState
    59  
    60  	// The ARN of the Dedicated Host.
    61  	Arn pulumi.StringOutput `pulumi:"arn"`
    62  	// The ID of the Outpost hardware asset on which to allocate the Dedicated Hosts. This parameter is supported only if you specify OutpostArn. If you are allocating the Dedicated Hosts in a Region, omit this parameter.
    63  	AssetId pulumi.StringOutput `pulumi:"assetId"`
    64  	// Indicates whether the host accepts any untargeted instance launches that match its instance type configuration, or if it only accepts Host tenancy instance launches that specify its unique host ID. Valid values: `on`, `off`. Default: `on`.
    65  	AutoPlacement pulumi.StringPtrOutput `pulumi:"autoPlacement"`
    66  	// The Availability Zone in which to allocate the Dedicated Host.
    67  	AvailabilityZone pulumi.StringOutput `pulumi:"availabilityZone"`
    68  	// Indicates whether to enable or disable host recovery for the Dedicated Host. Valid values: `on`, `off`. Default: `off`.
    69  	HostRecovery pulumi.StringPtrOutput `pulumi:"hostRecovery"`
    70  	// Specifies the instance family to be supported by the Dedicated Hosts. If you specify an instance family, the Dedicated Hosts support multiple instance types within that instance family. Exactly one of `instanceFamily` or `instanceType` must be specified.
    71  	InstanceFamily pulumi.StringPtrOutput `pulumi:"instanceFamily"`
    72  	// Specifies the instance type to be supported by the Dedicated Hosts. If you specify an instance type, the Dedicated Hosts support instances of the specified instance type only. Exactly one of `instanceFamily` or `instanceType` must be specified.
    73  	InstanceType pulumi.StringPtrOutput `pulumi:"instanceType"`
    74  	// The Amazon Resource Name (ARN) of the AWS Outpost on which to allocate the Dedicated Host.
    75  	OutpostArn pulumi.StringPtrOutput `pulumi:"outpostArn"`
    76  	// The ID of the AWS account that owns the Dedicated Host.
    77  	OwnerId pulumi.StringOutput `pulumi:"ownerId"`
    78  	// Map of tags to assign to this resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    79  	Tags pulumi.StringMapOutput `pulumi:"tags"`
    80  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
    81  	//
    82  	// Deprecated: Please use `tags` instead.
    83  	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
    84  }
    85  
    86  // NewDedicatedHost registers a new resource with the given unique name, arguments, and options.
    87  func NewDedicatedHost(ctx *pulumi.Context,
    88  	name string, args *DedicatedHostArgs, opts ...pulumi.ResourceOption) (*DedicatedHost, error) {
    89  	if args == nil {
    90  		return nil, errors.New("missing one or more required arguments")
    91  	}
    92  
    93  	if args.AvailabilityZone == nil {
    94  		return nil, errors.New("invalid value for required argument 'AvailabilityZone'")
    95  	}
    96  	opts = internal.PkgResourceDefaultOpts(opts)
    97  	var resource DedicatedHost
    98  	err := ctx.RegisterResource("aws:ec2/dedicatedHost:DedicatedHost", name, args, &resource, opts...)
    99  	if err != nil {
   100  		return nil, err
   101  	}
   102  	return &resource, nil
   103  }
   104  
   105  // GetDedicatedHost gets an existing DedicatedHost resource's state with the given name, ID, and optional
   106  // state properties that are used to uniquely qualify the lookup (nil if not required).
   107  func GetDedicatedHost(ctx *pulumi.Context,
   108  	name string, id pulumi.IDInput, state *DedicatedHostState, opts ...pulumi.ResourceOption) (*DedicatedHost, error) {
   109  	var resource DedicatedHost
   110  	err := ctx.ReadResource("aws:ec2/dedicatedHost:DedicatedHost", name, id, state, &resource, opts...)
   111  	if err != nil {
   112  		return nil, err
   113  	}
   114  	return &resource, nil
   115  }
   116  
   117  // Input properties used for looking up and filtering DedicatedHost resources.
   118  type dedicatedHostState struct {
   119  	// The ARN of the Dedicated Host.
   120  	Arn *string `pulumi:"arn"`
   121  	// The ID of the Outpost hardware asset on which to allocate the Dedicated Hosts. This parameter is supported only if you specify OutpostArn. If you are allocating the Dedicated Hosts in a Region, omit this parameter.
   122  	AssetId *string `pulumi:"assetId"`
   123  	// Indicates whether the host accepts any untargeted instance launches that match its instance type configuration, or if it only accepts Host tenancy instance launches that specify its unique host ID. Valid values: `on`, `off`. Default: `on`.
   124  	AutoPlacement *string `pulumi:"autoPlacement"`
   125  	// The Availability Zone in which to allocate the Dedicated Host.
   126  	AvailabilityZone *string `pulumi:"availabilityZone"`
   127  	// Indicates whether to enable or disable host recovery for the Dedicated Host. Valid values: `on`, `off`. Default: `off`.
   128  	HostRecovery *string `pulumi:"hostRecovery"`
   129  	// Specifies the instance family to be supported by the Dedicated Hosts. If you specify an instance family, the Dedicated Hosts support multiple instance types within that instance family. Exactly one of `instanceFamily` or `instanceType` must be specified.
   130  	InstanceFamily *string `pulumi:"instanceFamily"`
   131  	// Specifies the instance type to be supported by the Dedicated Hosts. If you specify an instance type, the Dedicated Hosts support instances of the specified instance type only. Exactly one of `instanceFamily` or `instanceType` must be specified.
   132  	InstanceType *string `pulumi:"instanceType"`
   133  	// The Amazon Resource Name (ARN) of the AWS Outpost on which to allocate the Dedicated Host.
   134  	OutpostArn *string `pulumi:"outpostArn"`
   135  	// The ID of the AWS account that owns the Dedicated Host.
   136  	OwnerId *string `pulumi:"ownerId"`
   137  	// Map of tags to assign to this resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   138  	Tags map[string]string `pulumi:"tags"`
   139  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   140  	//
   141  	// Deprecated: Please use `tags` instead.
   142  	TagsAll map[string]string `pulumi:"tagsAll"`
   143  }
   144  
   145  type DedicatedHostState struct {
   146  	// The ARN of the Dedicated Host.
   147  	Arn pulumi.StringPtrInput
   148  	// The ID of the Outpost hardware asset on which to allocate the Dedicated Hosts. This parameter is supported only if you specify OutpostArn. If you are allocating the Dedicated Hosts in a Region, omit this parameter.
   149  	AssetId pulumi.StringPtrInput
   150  	// Indicates whether the host accepts any untargeted instance launches that match its instance type configuration, or if it only accepts Host tenancy instance launches that specify its unique host ID. Valid values: `on`, `off`. Default: `on`.
   151  	AutoPlacement pulumi.StringPtrInput
   152  	// The Availability Zone in which to allocate the Dedicated Host.
   153  	AvailabilityZone pulumi.StringPtrInput
   154  	// Indicates whether to enable or disable host recovery for the Dedicated Host. Valid values: `on`, `off`. Default: `off`.
   155  	HostRecovery pulumi.StringPtrInput
   156  	// Specifies the instance family to be supported by the Dedicated Hosts. If you specify an instance family, the Dedicated Hosts support multiple instance types within that instance family. Exactly one of `instanceFamily` or `instanceType` must be specified.
   157  	InstanceFamily pulumi.StringPtrInput
   158  	// Specifies the instance type to be supported by the Dedicated Hosts. If you specify an instance type, the Dedicated Hosts support instances of the specified instance type only. Exactly one of `instanceFamily` or `instanceType` must be specified.
   159  	InstanceType pulumi.StringPtrInput
   160  	// The Amazon Resource Name (ARN) of the AWS Outpost on which to allocate the Dedicated Host.
   161  	OutpostArn pulumi.StringPtrInput
   162  	// The ID of the AWS account that owns the Dedicated Host.
   163  	OwnerId pulumi.StringPtrInput
   164  	// Map of tags to assign to this resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   165  	Tags pulumi.StringMapInput
   166  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   167  	//
   168  	// Deprecated: Please use `tags` instead.
   169  	TagsAll pulumi.StringMapInput
   170  }
   171  
   172  func (DedicatedHostState) ElementType() reflect.Type {
   173  	return reflect.TypeOf((*dedicatedHostState)(nil)).Elem()
   174  }
   175  
   176  type dedicatedHostArgs struct {
   177  	// The ID of the Outpost hardware asset on which to allocate the Dedicated Hosts. This parameter is supported only if you specify OutpostArn. If you are allocating the Dedicated Hosts in a Region, omit this parameter.
   178  	AssetId *string `pulumi:"assetId"`
   179  	// Indicates whether the host accepts any untargeted instance launches that match its instance type configuration, or if it only accepts Host tenancy instance launches that specify its unique host ID. Valid values: `on`, `off`. Default: `on`.
   180  	AutoPlacement *string `pulumi:"autoPlacement"`
   181  	// The Availability Zone in which to allocate the Dedicated Host.
   182  	AvailabilityZone string `pulumi:"availabilityZone"`
   183  	// Indicates whether to enable or disable host recovery for the Dedicated Host. Valid values: `on`, `off`. Default: `off`.
   184  	HostRecovery *string `pulumi:"hostRecovery"`
   185  	// Specifies the instance family to be supported by the Dedicated Hosts. If you specify an instance family, the Dedicated Hosts support multiple instance types within that instance family. Exactly one of `instanceFamily` or `instanceType` must be specified.
   186  	InstanceFamily *string `pulumi:"instanceFamily"`
   187  	// Specifies the instance type to be supported by the Dedicated Hosts. If you specify an instance type, the Dedicated Hosts support instances of the specified instance type only. Exactly one of `instanceFamily` or `instanceType` must be specified.
   188  	InstanceType *string `pulumi:"instanceType"`
   189  	// The Amazon Resource Name (ARN) of the AWS Outpost on which to allocate the Dedicated Host.
   190  	OutpostArn *string `pulumi:"outpostArn"`
   191  	// Map of tags to assign to this resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   192  	Tags map[string]string `pulumi:"tags"`
   193  }
   194  
   195  // The set of arguments for constructing a DedicatedHost resource.
   196  type DedicatedHostArgs struct {
   197  	// The ID of the Outpost hardware asset on which to allocate the Dedicated Hosts. This parameter is supported only if you specify OutpostArn. If you are allocating the Dedicated Hosts in a Region, omit this parameter.
   198  	AssetId pulumi.StringPtrInput
   199  	// Indicates whether the host accepts any untargeted instance launches that match its instance type configuration, or if it only accepts Host tenancy instance launches that specify its unique host ID. Valid values: `on`, `off`. Default: `on`.
   200  	AutoPlacement pulumi.StringPtrInput
   201  	// The Availability Zone in which to allocate the Dedicated Host.
   202  	AvailabilityZone pulumi.StringInput
   203  	// Indicates whether to enable or disable host recovery for the Dedicated Host. Valid values: `on`, `off`. Default: `off`.
   204  	HostRecovery pulumi.StringPtrInput
   205  	// Specifies the instance family to be supported by the Dedicated Hosts. If you specify an instance family, the Dedicated Hosts support multiple instance types within that instance family. Exactly one of `instanceFamily` or `instanceType` must be specified.
   206  	InstanceFamily pulumi.StringPtrInput
   207  	// Specifies the instance type to be supported by the Dedicated Hosts. If you specify an instance type, the Dedicated Hosts support instances of the specified instance type only. Exactly one of `instanceFamily` or `instanceType` must be specified.
   208  	InstanceType pulumi.StringPtrInput
   209  	// The Amazon Resource Name (ARN) of the AWS Outpost on which to allocate the Dedicated Host.
   210  	OutpostArn pulumi.StringPtrInput
   211  	// Map of tags to assign to this resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   212  	Tags pulumi.StringMapInput
   213  }
   214  
   215  func (DedicatedHostArgs) ElementType() reflect.Type {
   216  	return reflect.TypeOf((*dedicatedHostArgs)(nil)).Elem()
   217  }
   218  
   219  type DedicatedHostInput interface {
   220  	pulumi.Input
   221  
   222  	ToDedicatedHostOutput() DedicatedHostOutput
   223  	ToDedicatedHostOutputWithContext(ctx context.Context) DedicatedHostOutput
   224  }
   225  
   226  func (*DedicatedHost) ElementType() reflect.Type {
   227  	return reflect.TypeOf((**DedicatedHost)(nil)).Elem()
   228  }
   229  
   230  func (i *DedicatedHost) ToDedicatedHostOutput() DedicatedHostOutput {
   231  	return i.ToDedicatedHostOutputWithContext(context.Background())
   232  }
   233  
   234  func (i *DedicatedHost) ToDedicatedHostOutputWithContext(ctx context.Context) DedicatedHostOutput {
   235  	return pulumi.ToOutputWithContext(ctx, i).(DedicatedHostOutput)
   236  }
   237  
   238  // DedicatedHostArrayInput is an input type that accepts DedicatedHostArray and DedicatedHostArrayOutput values.
   239  // You can construct a concrete instance of `DedicatedHostArrayInput` via:
   240  //
   241  //	DedicatedHostArray{ DedicatedHostArgs{...} }
   242  type DedicatedHostArrayInput interface {
   243  	pulumi.Input
   244  
   245  	ToDedicatedHostArrayOutput() DedicatedHostArrayOutput
   246  	ToDedicatedHostArrayOutputWithContext(context.Context) DedicatedHostArrayOutput
   247  }
   248  
   249  type DedicatedHostArray []DedicatedHostInput
   250  
   251  func (DedicatedHostArray) ElementType() reflect.Type {
   252  	return reflect.TypeOf((*[]*DedicatedHost)(nil)).Elem()
   253  }
   254  
   255  func (i DedicatedHostArray) ToDedicatedHostArrayOutput() DedicatedHostArrayOutput {
   256  	return i.ToDedicatedHostArrayOutputWithContext(context.Background())
   257  }
   258  
   259  func (i DedicatedHostArray) ToDedicatedHostArrayOutputWithContext(ctx context.Context) DedicatedHostArrayOutput {
   260  	return pulumi.ToOutputWithContext(ctx, i).(DedicatedHostArrayOutput)
   261  }
   262  
   263  // DedicatedHostMapInput is an input type that accepts DedicatedHostMap and DedicatedHostMapOutput values.
   264  // You can construct a concrete instance of `DedicatedHostMapInput` via:
   265  //
   266  //	DedicatedHostMap{ "key": DedicatedHostArgs{...} }
   267  type DedicatedHostMapInput interface {
   268  	pulumi.Input
   269  
   270  	ToDedicatedHostMapOutput() DedicatedHostMapOutput
   271  	ToDedicatedHostMapOutputWithContext(context.Context) DedicatedHostMapOutput
   272  }
   273  
   274  type DedicatedHostMap map[string]DedicatedHostInput
   275  
   276  func (DedicatedHostMap) ElementType() reflect.Type {
   277  	return reflect.TypeOf((*map[string]*DedicatedHost)(nil)).Elem()
   278  }
   279  
   280  func (i DedicatedHostMap) ToDedicatedHostMapOutput() DedicatedHostMapOutput {
   281  	return i.ToDedicatedHostMapOutputWithContext(context.Background())
   282  }
   283  
   284  func (i DedicatedHostMap) ToDedicatedHostMapOutputWithContext(ctx context.Context) DedicatedHostMapOutput {
   285  	return pulumi.ToOutputWithContext(ctx, i).(DedicatedHostMapOutput)
   286  }
   287  
   288  type DedicatedHostOutput struct{ *pulumi.OutputState }
   289  
   290  func (DedicatedHostOutput) ElementType() reflect.Type {
   291  	return reflect.TypeOf((**DedicatedHost)(nil)).Elem()
   292  }
   293  
   294  func (o DedicatedHostOutput) ToDedicatedHostOutput() DedicatedHostOutput {
   295  	return o
   296  }
   297  
   298  func (o DedicatedHostOutput) ToDedicatedHostOutputWithContext(ctx context.Context) DedicatedHostOutput {
   299  	return o
   300  }
   301  
   302  // The ARN of the Dedicated Host.
   303  func (o DedicatedHostOutput) Arn() pulumi.StringOutput {
   304  	return o.ApplyT(func(v *DedicatedHost) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput)
   305  }
   306  
   307  // The ID of the Outpost hardware asset on which to allocate the Dedicated Hosts. This parameter is supported only if you specify OutpostArn. If you are allocating the Dedicated Hosts in a Region, omit this parameter.
   308  func (o DedicatedHostOutput) AssetId() pulumi.StringOutput {
   309  	return o.ApplyT(func(v *DedicatedHost) pulumi.StringOutput { return v.AssetId }).(pulumi.StringOutput)
   310  }
   311  
   312  // Indicates whether the host accepts any untargeted instance launches that match its instance type configuration, or if it only accepts Host tenancy instance launches that specify its unique host ID. Valid values: `on`, `off`. Default: `on`.
   313  func (o DedicatedHostOutput) AutoPlacement() pulumi.StringPtrOutput {
   314  	return o.ApplyT(func(v *DedicatedHost) pulumi.StringPtrOutput { return v.AutoPlacement }).(pulumi.StringPtrOutput)
   315  }
   316  
   317  // The Availability Zone in which to allocate the Dedicated Host.
   318  func (o DedicatedHostOutput) AvailabilityZone() pulumi.StringOutput {
   319  	return o.ApplyT(func(v *DedicatedHost) pulumi.StringOutput { return v.AvailabilityZone }).(pulumi.StringOutput)
   320  }
   321  
   322  // Indicates whether to enable or disable host recovery for the Dedicated Host. Valid values: `on`, `off`. Default: `off`.
   323  func (o DedicatedHostOutput) HostRecovery() pulumi.StringPtrOutput {
   324  	return o.ApplyT(func(v *DedicatedHost) pulumi.StringPtrOutput { return v.HostRecovery }).(pulumi.StringPtrOutput)
   325  }
   326  
   327  // Specifies the instance family to be supported by the Dedicated Hosts. If you specify an instance family, the Dedicated Hosts support multiple instance types within that instance family. Exactly one of `instanceFamily` or `instanceType` must be specified.
   328  func (o DedicatedHostOutput) InstanceFamily() pulumi.StringPtrOutput {
   329  	return o.ApplyT(func(v *DedicatedHost) pulumi.StringPtrOutput { return v.InstanceFamily }).(pulumi.StringPtrOutput)
   330  }
   331  
   332  // Specifies the instance type to be supported by the Dedicated Hosts. If you specify an instance type, the Dedicated Hosts support instances of the specified instance type only. Exactly one of `instanceFamily` or `instanceType` must be specified.
   333  func (o DedicatedHostOutput) InstanceType() pulumi.StringPtrOutput {
   334  	return o.ApplyT(func(v *DedicatedHost) pulumi.StringPtrOutput { return v.InstanceType }).(pulumi.StringPtrOutput)
   335  }
   336  
   337  // The Amazon Resource Name (ARN) of the AWS Outpost on which to allocate the Dedicated Host.
   338  func (o DedicatedHostOutput) OutpostArn() pulumi.StringPtrOutput {
   339  	return o.ApplyT(func(v *DedicatedHost) pulumi.StringPtrOutput { return v.OutpostArn }).(pulumi.StringPtrOutput)
   340  }
   341  
   342  // The ID of the AWS account that owns the Dedicated Host.
   343  func (o DedicatedHostOutput) OwnerId() pulumi.StringOutput {
   344  	return o.ApplyT(func(v *DedicatedHost) pulumi.StringOutput { return v.OwnerId }).(pulumi.StringOutput)
   345  }
   346  
   347  // Map of tags to assign to this resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   348  func (o DedicatedHostOutput) Tags() pulumi.StringMapOutput {
   349  	return o.ApplyT(func(v *DedicatedHost) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput)
   350  }
   351  
   352  // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   353  //
   354  // Deprecated: Please use `tags` instead.
   355  func (o DedicatedHostOutput) TagsAll() pulumi.StringMapOutput {
   356  	return o.ApplyT(func(v *DedicatedHost) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput)
   357  }
   358  
   359  type DedicatedHostArrayOutput struct{ *pulumi.OutputState }
   360  
   361  func (DedicatedHostArrayOutput) ElementType() reflect.Type {
   362  	return reflect.TypeOf((*[]*DedicatedHost)(nil)).Elem()
   363  }
   364  
   365  func (o DedicatedHostArrayOutput) ToDedicatedHostArrayOutput() DedicatedHostArrayOutput {
   366  	return o
   367  }
   368  
   369  func (o DedicatedHostArrayOutput) ToDedicatedHostArrayOutputWithContext(ctx context.Context) DedicatedHostArrayOutput {
   370  	return o
   371  }
   372  
   373  func (o DedicatedHostArrayOutput) Index(i pulumi.IntInput) DedicatedHostOutput {
   374  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *DedicatedHost {
   375  		return vs[0].([]*DedicatedHost)[vs[1].(int)]
   376  	}).(DedicatedHostOutput)
   377  }
   378  
   379  type DedicatedHostMapOutput struct{ *pulumi.OutputState }
   380  
   381  func (DedicatedHostMapOutput) ElementType() reflect.Type {
   382  	return reflect.TypeOf((*map[string]*DedicatedHost)(nil)).Elem()
   383  }
   384  
   385  func (o DedicatedHostMapOutput) ToDedicatedHostMapOutput() DedicatedHostMapOutput {
   386  	return o
   387  }
   388  
   389  func (o DedicatedHostMapOutput) ToDedicatedHostMapOutputWithContext(ctx context.Context) DedicatedHostMapOutput {
   390  	return o
   391  }
   392  
   393  func (o DedicatedHostMapOutput) MapIndex(k pulumi.StringInput) DedicatedHostOutput {
   394  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *DedicatedHost {
   395  		return vs[0].(map[string]*DedicatedHost)[vs[1].(string)]
   396  	}).(DedicatedHostOutput)
   397  }
   398  
   399  func init() {
   400  	pulumi.RegisterInputType(reflect.TypeOf((*DedicatedHostInput)(nil)).Elem(), &DedicatedHost{})
   401  	pulumi.RegisterInputType(reflect.TypeOf((*DedicatedHostArrayInput)(nil)).Elem(), DedicatedHostArray{})
   402  	pulumi.RegisterInputType(reflect.TypeOf((*DedicatedHostMapInput)(nil)).Elem(), DedicatedHostMap{})
   403  	pulumi.RegisterOutputType(DedicatedHostOutput{})
   404  	pulumi.RegisterOutputType(DedicatedHostArrayOutput{})
   405  	pulumi.RegisterOutputType(DedicatedHostMapOutput{})
   406  }