github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/autoscaling/pulumiEnums.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 autoscaling
     5  
     6  import (
     7  	"context"
     8  	"reflect"
     9  
    10  	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    11  )
    12  
    13  // See https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_EnableMetricsCollection.html
    14  type Metric string
    15  
    16  const (
    17  	MetricGroupMinSize                    = Metric("GroupMinSize")
    18  	MetricGroupMaxSize                    = Metric("GroupMaxSize")
    19  	MetricGroupDesiredCapacity            = Metric("GroupDesiredCapacity")
    20  	MetricGroupInServiceInstances         = Metric("GroupInServiceInstances")
    21  	MetricGroupInServiceCapacity          = Metric("GroupInServiceCapacity")
    22  	MetricGroupPendingInstances           = Metric("GroupPendingInstances")
    23  	MetricGroupPendingCapacity            = Metric("GroupPendingCapacity")
    24  	MetricGroupStandbyInstances           = Metric("GroupStandbyInstances")
    25  	MetricGroupStandbyCapacity            = Metric("GroupStandbyCapacity")
    26  	MetricGroupTerminatingInstances       = Metric("GroupTerminatingInstances")
    27  	MetricGroupTerminatingCapacity        = Metric("GroupTerminatingCapacity")
    28  	MetricGroupTotalInstances             = Metric("GroupTotalInstances")
    29  	MetricGroupTotalCapacity              = Metric("GroupTotalCapacity")
    30  	MetricWarmPoolDesiredCapacity         = Metric("WarmPoolDesiredCapacity")
    31  	MetricWarmPoolWarmedCapacity          = Metric("WarmPoolWarmedCapacity")
    32  	MetricWarmPoolPendingCapacity         = Metric("WarmPoolPendingCapacity")
    33  	MetricWarmPoolTerminatingCapacity     = Metric("WarmPoolTerminatingCapacity")
    34  	MetricWarmPoolTotalCapacity           = Metric("WarmPoolTotalCapacity")
    35  	MetricGroupAndWarmPoolDesiredCapacity = Metric("GroupAndWarmPoolDesiredCapacity")
    36  	MetricGroupAndWarmPoolTotalCapacity   = Metric("GroupAndWarmPoolTotalCapacity")
    37  )
    38  
    39  func (Metric) ElementType() reflect.Type {
    40  	return reflect.TypeOf((*Metric)(nil)).Elem()
    41  }
    42  
    43  func (e Metric) ToMetricOutput() MetricOutput {
    44  	return pulumi.ToOutput(e).(MetricOutput)
    45  }
    46  
    47  func (e Metric) ToMetricOutputWithContext(ctx context.Context) MetricOutput {
    48  	return pulumi.ToOutputWithContext(ctx, e).(MetricOutput)
    49  }
    50  
    51  func (e Metric) ToMetricPtrOutput() MetricPtrOutput {
    52  	return e.ToMetricPtrOutputWithContext(context.Background())
    53  }
    54  
    55  func (e Metric) ToMetricPtrOutputWithContext(ctx context.Context) MetricPtrOutput {
    56  	return Metric(e).ToMetricOutputWithContext(ctx).ToMetricPtrOutputWithContext(ctx)
    57  }
    58  
    59  func (e Metric) ToStringOutput() pulumi.StringOutput {
    60  	return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput)
    61  }
    62  
    63  func (e Metric) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput {
    64  	return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput)
    65  }
    66  
    67  func (e Metric) ToStringPtrOutput() pulumi.StringPtrOutput {
    68  	return pulumi.String(e).ToStringPtrOutputWithContext(context.Background())
    69  }
    70  
    71  func (e Metric) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput {
    72  	return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx)
    73  }
    74  
    75  type MetricOutput struct{ *pulumi.OutputState }
    76  
    77  func (MetricOutput) ElementType() reflect.Type {
    78  	return reflect.TypeOf((*Metric)(nil)).Elem()
    79  }
    80  
    81  func (o MetricOutput) ToMetricOutput() MetricOutput {
    82  	return o
    83  }
    84  
    85  func (o MetricOutput) ToMetricOutputWithContext(ctx context.Context) MetricOutput {
    86  	return o
    87  }
    88  
    89  func (o MetricOutput) ToMetricPtrOutput() MetricPtrOutput {
    90  	return o.ToMetricPtrOutputWithContext(context.Background())
    91  }
    92  
    93  func (o MetricOutput) ToMetricPtrOutputWithContext(ctx context.Context) MetricPtrOutput {
    94  	return o.ApplyTWithContext(ctx, func(_ context.Context, v Metric) *Metric {
    95  		return &v
    96  	}).(MetricPtrOutput)
    97  }
    98  
    99  func (o MetricOutput) ToStringOutput() pulumi.StringOutput {
   100  	return o.ToStringOutputWithContext(context.Background())
   101  }
   102  
   103  func (o MetricOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput {
   104  	return o.ApplyTWithContext(ctx, func(_ context.Context, e Metric) string {
   105  		return string(e)
   106  	}).(pulumi.StringOutput)
   107  }
   108  
   109  func (o MetricOutput) ToStringPtrOutput() pulumi.StringPtrOutput {
   110  	return o.ToStringPtrOutputWithContext(context.Background())
   111  }
   112  
   113  func (o MetricOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput {
   114  	return o.ApplyTWithContext(ctx, func(_ context.Context, e Metric) *string {
   115  		v := string(e)
   116  		return &v
   117  	}).(pulumi.StringPtrOutput)
   118  }
   119  
   120  type MetricPtrOutput struct{ *pulumi.OutputState }
   121  
   122  func (MetricPtrOutput) ElementType() reflect.Type {
   123  	return reflect.TypeOf((**Metric)(nil)).Elem()
   124  }
   125  
   126  func (o MetricPtrOutput) ToMetricPtrOutput() MetricPtrOutput {
   127  	return o
   128  }
   129  
   130  func (o MetricPtrOutput) ToMetricPtrOutputWithContext(ctx context.Context) MetricPtrOutput {
   131  	return o
   132  }
   133  
   134  func (o MetricPtrOutput) Elem() MetricOutput {
   135  	return o.ApplyT(func(v *Metric) Metric {
   136  		if v != nil {
   137  			return *v
   138  		}
   139  		var ret Metric
   140  		return ret
   141  	}).(MetricOutput)
   142  }
   143  
   144  func (o MetricPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput {
   145  	return o.ToStringPtrOutputWithContext(context.Background())
   146  }
   147  
   148  func (o MetricPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput {
   149  	return o.ApplyTWithContext(ctx, func(_ context.Context, e *Metric) *string {
   150  		if e == nil {
   151  			return nil
   152  		}
   153  		v := string(*e)
   154  		return &v
   155  	}).(pulumi.StringPtrOutput)
   156  }
   157  
   158  // MetricInput is an input type that accepts values of the Metric enum
   159  // A concrete instance of `MetricInput` can be one of the following:
   160  //
   161  //	MetricGroupMinSize
   162  //	MetricGroupMaxSize
   163  //	MetricGroupDesiredCapacity
   164  //	MetricGroupInServiceInstances
   165  //	MetricGroupInServiceCapacity
   166  //	MetricGroupPendingInstances
   167  //	MetricGroupPendingCapacity
   168  //	MetricGroupStandbyInstances
   169  //	MetricGroupStandbyCapacity
   170  //	MetricGroupTerminatingInstances
   171  //	MetricGroupTerminatingCapacity
   172  //	MetricGroupTotalInstances
   173  //	MetricGroupTotalCapacity
   174  //	MetricWarmPoolDesiredCapacity
   175  //	MetricWarmPoolWarmedCapacity
   176  //	MetricWarmPoolPendingCapacity
   177  //	MetricWarmPoolTerminatingCapacity
   178  //	MetricWarmPoolTotalCapacity
   179  //	MetricGroupAndWarmPoolDesiredCapacity
   180  //	MetricGroupAndWarmPoolTotalCapacity
   181  type MetricInput interface {
   182  	pulumi.Input
   183  
   184  	ToMetricOutput() MetricOutput
   185  	ToMetricOutputWithContext(context.Context) MetricOutput
   186  }
   187  
   188  var metricPtrType = reflect.TypeOf((**Metric)(nil)).Elem()
   189  
   190  type MetricPtrInput interface {
   191  	pulumi.Input
   192  
   193  	ToMetricPtrOutput() MetricPtrOutput
   194  	ToMetricPtrOutputWithContext(context.Context) MetricPtrOutput
   195  }
   196  
   197  type metricPtr string
   198  
   199  func MetricPtr(v string) MetricPtrInput {
   200  	return (*metricPtr)(&v)
   201  }
   202  
   203  func (*metricPtr) ElementType() reflect.Type {
   204  	return metricPtrType
   205  }
   206  
   207  func (in *metricPtr) ToMetricPtrOutput() MetricPtrOutput {
   208  	return pulumi.ToOutput(in).(MetricPtrOutput)
   209  }
   210  
   211  func (in *metricPtr) ToMetricPtrOutputWithContext(ctx context.Context) MetricPtrOutput {
   212  	return pulumi.ToOutputWithContext(ctx, in).(MetricPtrOutput)
   213  }
   214  
   215  // See https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_EnableMetricsCollection.html
   216  type MetricsGranularity string
   217  
   218  const (
   219  	MetricsGranularityOneMinute = MetricsGranularity("1Minute")
   220  )
   221  
   222  func (MetricsGranularity) ElementType() reflect.Type {
   223  	return reflect.TypeOf((*MetricsGranularity)(nil)).Elem()
   224  }
   225  
   226  func (e MetricsGranularity) ToMetricsGranularityOutput() MetricsGranularityOutput {
   227  	return pulumi.ToOutput(e).(MetricsGranularityOutput)
   228  }
   229  
   230  func (e MetricsGranularity) ToMetricsGranularityOutputWithContext(ctx context.Context) MetricsGranularityOutput {
   231  	return pulumi.ToOutputWithContext(ctx, e).(MetricsGranularityOutput)
   232  }
   233  
   234  func (e MetricsGranularity) ToMetricsGranularityPtrOutput() MetricsGranularityPtrOutput {
   235  	return e.ToMetricsGranularityPtrOutputWithContext(context.Background())
   236  }
   237  
   238  func (e MetricsGranularity) ToMetricsGranularityPtrOutputWithContext(ctx context.Context) MetricsGranularityPtrOutput {
   239  	return MetricsGranularity(e).ToMetricsGranularityOutputWithContext(ctx).ToMetricsGranularityPtrOutputWithContext(ctx)
   240  }
   241  
   242  func (e MetricsGranularity) ToStringOutput() pulumi.StringOutput {
   243  	return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput)
   244  }
   245  
   246  func (e MetricsGranularity) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput {
   247  	return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput)
   248  }
   249  
   250  func (e MetricsGranularity) ToStringPtrOutput() pulumi.StringPtrOutput {
   251  	return pulumi.String(e).ToStringPtrOutputWithContext(context.Background())
   252  }
   253  
   254  func (e MetricsGranularity) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput {
   255  	return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx)
   256  }
   257  
   258  type MetricsGranularityOutput struct{ *pulumi.OutputState }
   259  
   260  func (MetricsGranularityOutput) ElementType() reflect.Type {
   261  	return reflect.TypeOf((*MetricsGranularity)(nil)).Elem()
   262  }
   263  
   264  func (o MetricsGranularityOutput) ToMetricsGranularityOutput() MetricsGranularityOutput {
   265  	return o
   266  }
   267  
   268  func (o MetricsGranularityOutput) ToMetricsGranularityOutputWithContext(ctx context.Context) MetricsGranularityOutput {
   269  	return o
   270  }
   271  
   272  func (o MetricsGranularityOutput) ToMetricsGranularityPtrOutput() MetricsGranularityPtrOutput {
   273  	return o.ToMetricsGranularityPtrOutputWithContext(context.Background())
   274  }
   275  
   276  func (o MetricsGranularityOutput) ToMetricsGranularityPtrOutputWithContext(ctx context.Context) MetricsGranularityPtrOutput {
   277  	return o.ApplyTWithContext(ctx, func(_ context.Context, v MetricsGranularity) *MetricsGranularity {
   278  		return &v
   279  	}).(MetricsGranularityPtrOutput)
   280  }
   281  
   282  func (o MetricsGranularityOutput) ToStringOutput() pulumi.StringOutput {
   283  	return o.ToStringOutputWithContext(context.Background())
   284  }
   285  
   286  func (o MetricsGranularityOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput {
   287  	return o.ApplyTWithContext(ctx, func(_ context.Context, e MetricsGranularity) string {
   288  		return string(e)
   289  	}).(pulumi.StringOutput)
   290  }
   291  
   292  func (o MetricsGranularityOutput) ToStringPtrOutput() pulumi.StringPtrOutput {
   293  	return o.ToStringPtrOutputWithContext(context.Background())
   294  }
   295  
   296  func (o MetricsGranularityOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput {
   297  	return o.ApplyTWithContext(ctx, func(_ context.Context, e MetricsGranularity) *string {
   298  		v := string(e)
   299  		return &v
   300  	}).(pulumi.StringPtrOutput)
   301  }
   302  
   303  type MetricsGranularityPtrOutput struct{ *pulumi.OutputState }
   304  
   305  func (MetricsGranularityPtrOutput) ElementType() reflect.Type {
   306  	return reflect.TypeOf((**MetricsGranularity)(nil)).Elem()
   307  }
   308  
   309  func (o MetricsGranularityPtrOutput) ToMetricsGranularityPtrOutput() MetricsGranularityPtrOutput {
   310  	return o
   311  }
   312  
   313  func (o MetricsGranularityPtrOutput) ToMetricsGranularityPtrOutputWithContext(ctx context.Context) MetricsGranularityPtrOutput {
   314  	return o
   315  }
   316  
   317  func (o MetricsGranularityPtrOutput) Elem() MetricsGranularityOutput {
   318  	return o.ApplyT(func(v *MetricsGranularity) MetricsGranularity {
   319  		if v != nil {
   320  			return *v
   321  		}
   322  		var ret MetricsGranularity
   323  		return ret
   324  	}).(MetricsGranularityOutput)
   325  }
   326  
   327  func (o MetricsGranularityPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput {
   328  	return o.ToStringPtrOutputWithContext(context.Background())
   329  }
   330  
   331  func (o MetricsGranularityPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput {
   332  	return o.ApplyTWithContext(ctx, func(_ context.Context, e *MetricsGranularity) *string {
   333  		if e == nil {
   334  			return nil
   335  		}
   336  		v := string(*e)
   337  		return &v
   338  	}).(pulumi.StringPtrOutput)
   339  }
   340  
   341  // MetricsGranularityInput is an input type that accepts values of the MetricsGranularity enum
   342  // A concrete instance of `MetricsGranularityInput` can be one of the following:
   343  //
   344  //	MetricsGranularityOneMinute
   345  type MetricsGranularityInput interface {
   346  	pulumi.Input
   347  
   348  	ToMetricsGranularityOutput() MetricsGranularityOutput
   349  	ToMetricsGranularityOutputWithContext(context.Context) MetricsGranularityOutput
   350  }
   351  
   352  var metricsGranularityPtrType = reflect.TypeOf((**MetricsGranularity)(nil)).Elem()
   353  
   354  type MetricsGranularityPtrInput interface {
   355  	pulumi.Input
   356  
   357  	ToMetricsGranularityPtrOutput() MetricsGranularityPtrOutput
   358  	ToMetricsGranularityPtrOutputWithContext(context.Context) MetricsGranularityPtrOutput
   359  }
   360  
   361  type metricsGranularityPtr string
   362  
   363  func MetricsGranularityPtr(v string) MetricsGranularityPtrInput {
   364  	return (*metricsGranularityPtr)(&v)
   365  }
   366  
   367  func (*metricsGranularityPtr) ElementType() reflect.Type {
   368  	return metricsGranularityPtrType
   369  }
   370  
   371  func (in *metricsGranularityPtr) ToMetricsGranularityPtrOutput() MetricsGranularityPtrOutput {
   372  	return pulumi.ToOutput(in).(MetricsGranularityPtrOutput)
   373  }
   374  
   375  func (in *metricsGranularityPtr) ToMetricsGranularityPtrOutputWithContext(ctx context.Context) MetricsGranularityPtrOutput {
   376  	return pulumi.ToOutputWithContext(ctx, in).(MetricsGranularityPtrOutput)
   377  }
   378  
   379  // See https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_NotificationConfiguration.html
   380  type NotificationType string
   381  
   382  const (
   383  	NotificationTypeInstanceLaunch         = NotificationType("autoscaling:EC2_INSTANCE_LAUNCH")
   384  	NotificationTypeInstanceTerminate      = NotificationType("autoscaling:EC2_INSTANCE_TERMINATE")
   385  	NotificationTypeInstanceLaunchError    = NotificationType("autoscaling:EC2_INSTANCE_LAUNCH_ERROR")
   386  	NotificationTypeInstanceTerminateError = NotificationType("autoscaling:EC2_INSTANCE_TERMINATE_ERROR")
   387  	NotificationTypeTestNotification       = NotificationType("autoscaling:TEST_NOTIFICATION")
   388  )
   389  
   390  func (NotificationType) ElementType() reflect.Type {
   391  	return reflect.TypeOf((*NotificationType)(nil)).Elem()
   392  }
   393  
   394  func (e NotificationType) ToNotificationTypeOutput() NotificationTypeOutput {
   395  	return pulumi.ToOutput(e).(NotificationTypeOutput)
   396  }
   397  
   398  func (e NotificationType) ToNotificationTypeOutputWithContext(ctx context.Context) NotificationTypeOutput {
   399  	return pulumi.ToOutputWithContext(ctx, e).(NotificationTypeOutput)
   400  }
   401  
   402  func (e NotificationType) ToNotificationTypePtrOutput() NotificationTypePtrOutput {
   403  	return e.ToNotificationTypePtrOutputWithContext(context.Background())
   404  }
   405  
   406  func (e NotificationType) ToNotificationTypePtrOutputWithContext(ctx context.Context) NotificationTypePtrOutput {
   407  	return NotificationType(e).ToNotificationTypeOutputWithContext(ctx).ToNotificationTypePtrOutputWithContext(ctx)
   408  }
   409  
   410  func (e NotificationType) ToStringOutput() pulumi.StringOutput {
   411  	return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput)
   412  }
   413  
   414  func (e NotificationType) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput {
   415  	return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput)
   416  }
   417  
   418  func (e NotificationType) ToStringPtrOutput() pulumi.StringPtrOutput {
   419  	return pulumi.String(e).ToStringPtrOutputWithContext(context.Background())
   420  }
   421  
   422  func (e NotificationType) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput {
   423  	return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx)
   424  }
   425  
   426  type NotificationTypeOutput struct{ *pulumi.OutputState }
   427  
   428  func (NotificationTypeOutput) ElementType() reflect.Type {
   429  	return reflect.TypeOf((*NotificationType)(nil)).Elem()
   430  }
   431  
   432  func (o NotificationTypeOutput) ToNotificationTypeOutput() NotificationTypeOutput {
   433  	return o
   434  }
   435  
   436  func (o NotificationTypeOutput) ToNotificationTypeOutputWithContext(ctx context.Context) NotificationTypeOutput {
   437  	return o
   438  }
   439  
   440  func (o NotificationTypeOutput) ToNotificationTypePtrOutput() NotificationTypePtrOutput {
   441  	return o.ToNotificationTypePtrOutputWithContext(context.Background())
   442  }
   443  
   444  func (o NotificationTypeOutput) ToNotificationTypePtrOutputWithContext(ctx context.Context) NotificationTypePtrOutput {
   445  	return o.ApplyTWithContext(ctx, func(_ context.Context, v NotificationType) *NotificationType {
   446  		return &v
   447  	}).(NotificationTypePtrOutput)
   448  }
   449  
   450  func (o NotificationTypeOutput) ToStringOutput() pulumi.StringOutput {
   451  	return o.ToStringOutputWithContext(context.Background())
   452  }
   453  
   454  func (o NotificationTypeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput {
   455  	return o.ApplyTWithContext(ctx, func(_ context.Context, e NotificationType) string {
   456  		return string(e)
   457  	}).(pulumi.StringOutput)
   458  }
   459  
   460  func (o NotificationTypeOutput) ToStringPtrOutput() pulumi.StringPtrOutput {
   461  	return o.ToStringPtrOutputWithContext(context.Background())
   462  }
   463  
   464  func (o NotificationTypeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput {
   465  	return o.ApplyTWithContext(ctx, func(_ context.Context, e NotificationType) *string {
   466  		v := string(e)
   467  		return &v
   468  	}).(pulumi.StringPtrOutput)
   469  }
   470  
   471  type NotificationTypePtrOutput struct{ *pulumi.OutputState }
   472  
   473  func (NotificationTypePtrOutput) ElementType() reflect.Type {
   474  	return reflect.TypeOf((**NotificationType)(nil)).Elem()
   475  }
   476  
   477  func (o NotificationTypePtrOutput) ToNotificationTypePtrOutput() NotificationTypePtrOutput {
   478  	return o
   479  }
   480  
   481  func (o NotificationTypePtrOutput) ToNotificationTypePtrOutputWithContext(ctx context.Context) NotificationTypePtrOutput {
   482  	return o
   483  }
   484  
   485  func (o NotificationTypePtrOutput) Elem() NotificationTypeOutput {
   486  	return o.ApplyT(func(v *NotificationType) NotificationType {
   487  		if v != nil {
   488  			return *v
   489  		}
   490  		var ret NotificationType
   491  		return ret
   492  	}).(NotificationTypeOutput)
   493  }
   494  
   495  func (o NotificationTypePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput {
   496  	return o.ToStringPtrOutputWithContext(context.Background())
   497  }
   498  
   499  func (o NotificationTypePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput {
   500  	return o.ApplyTWithContext(ctx, func(_ context.Context, e *NotificationType) *string {
   501  		if e == nil {
   502  			return nil
   503  		}
   504  		v := string(*e)
   505  		return &v
   506  	}).(pulumi.StringPtrOutput)
   507  }
   508  
   509  // NotificationTypeInput is an input type that accepts values of the NotificationType enum
   510  // A concrete instance of `NotificationTypeInput` can be one of the following:
   511  //
   512  //	NotificationTypeInstanceLaunch
   513  //	NotificationTypeInstanceTerminate
   514  //	NotificationTypeInstanceLaunchError
   515  //	NotificationTypeInstanceTerminateError
   516  //	NotificationTypeTestNotification
   517  type NotificationTypeInput interface {
   518  	pulumi.Input
   519  
   520  	ToNotificationTypeOutput() NotificationTypeOutput
   521  	ToNotificationTypeOutputWithContext(context.Context) NotificationTypeOutput
   522  }
   523  
   524  var notificationTypePtrType = reflect.TypeOf((**NotificationType)(nil)).Elem()
   525  
   526  type NotificationTypePtrInput interface {
   527  	pulumi.Input
   528  
   529  	ToNotificationTypePtrOutput() NotificationTypePtrOutput
   530  	ToNotificationTypePtrOutputWithContext(context.Context) NotificationTypePtrOutput
   531  }
   532  
   533  type notificationTypePtr string
   534  
   535  func NotificationTypePtr(v string) NotificationTypePtrInput {
   536  	return (*notificationTypePtr)(&v)
   537  }
   538  
   539  func (*notificationTypePtr) ElementType() reflect.Type {
   540  	return notificationTypePtrType
   541  }
   542  
   543  func (in *notificationTypePtr) ToNotificationTypePtrOutput() NotificationTypePtrOutput {
   544  	return pulumi.ToOutput(in).(NotificationTypePtrOutput)
   545  }
   546  
   547  func (in *notificationTypePtr) ToNotificationTypePtrOutputWithContext(ctx context.Context) NotificationTypePtrOutput {
   548  	return pulumi.ToOutputWithContext(ctx, in).(NotificationTypePtrOutput)
   549  }
   550  
   551  func init() {
   552  	pulumi.RegisterInputType(reflect.TypeOf((*MetricInput)(nil)).Elem(), Metric("GroupMinSize"))
   553  	pulumi.RegisterInputType(reflect.TypeOf((*MetricPtrInput)(nil)).Elem(), Metric("GroupMinSize"))
   554  	pulumi.RegisterInputType(reflect.TypeOf((*MetricsGranularityInput)(nil)).Elem(), MetricsGranularity("1Minute"))
   555  	pulumi.RegisterInputType(reflect.TypeOf((*MetricsGranularityPtrInput)(nil)).Elem(), MetricsGranularity("1Minute"))
   556  	pulumi.RegisterInputType(reflect.TypeOf((*NotificationTypeInput)(nil)).Elem(), NotificationType("autoscaling:EC2_INSTANCE_LAUNCH"))
   557  	pulumi.RegisterInputType(reflect.TypeOf((*NotificationTypePtrInput)(nil)).Elem(), NotificationType("autoscaling:EC2_INSTANCE_LAUNCH"))
   558  	pulumi.RegisterOutputType(MetricOutput{})
   559  	pulumi.RegisterOutputType(MetricPtrOutput{})
   560  	pulumi.RegisterOutputType(MetricsGranularityOutput{})
   561  	pulumi.RegisterOutputType(MetricsGranularityPtrOutput{})
   562  	pulumi.RegisterOutputType(NotificationTypeOutput{})
   563  	pulumi.RegisterOutputType(NotificationTypePtrOutput{})
   564  }