github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/appautoscaling/scheduledAction.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 appautoscaling
     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 Application AutoScaling ScheduledAction resource.
    16  //
    17  // ## Example Usage
    18  //
    19  // ### DynamoDB Table Autoscaling
    20  //
    21  // <!--Start PulumiCodeChooser -->
    22  // ```go
    23  // package main
    24  //
    25  // import (
    26  //
    27  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appautoscaling"
    28  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    29  //
    30  // )
    31  //
    32  //	func main() {
    33  //		pulumi.Run(func(ctx *pulumi.Context) error {
    34  //			dynamodb, err := appautoscaling.NewTarget(ctx, "dynamodb", &appautoscaling.TargetArgs{
    35  //				MaxCapacity:       pulumi.Int(100),
    36  //				MinCapacity:       pulumi.Int(5),
    37  //				ResourceId:        pulumi.String("table/tableName"),
    38  //				ScalableDimension: pulumi.String("dynamodb:table:ReadCapacityUnits"),
    39  //				ServiceNamespace:  pulumi.String("dynamodb"),
    40  //			})
    41  //			if err != nil {
    42  //				return err
    43  //			}
    44  //			_, err = appautoscaling.NewScheduledAction(ctx, "dynamodb", &appautoscaling.ScheduledActionArgs{
    45  //				Name:              pulumi.String("dynamodb"),
    46  //				ServiceNamespace:  dynamodb.ServiceNamespace,
    47  //				ResourceId:        dynamodb.ResourceId,
    48  //				ScalableDimension: dynamodb.ScalableDimension,
    49  //				Schedule:          pulumi.String("at(2006-01-02T15:04:05)"),
    50  //				ScalableTargetAction: &appautoscaling.ScheduledActionScalableTargetActionArgs{
    51  //					MinCapacity: pulumi.Int(1),
    52  //					MaxCapacity: pulumi.Int(200),
    53  //				},
    54  //			})
    55  //			if err != nil {
    56  //				return err
    57  //			}
    58  //			return nil
    59  //		})
    60  //	}
    61  //
    62  // ```
    63  // <!--End PulumiCodeChooser -->
    64  //
    65  // ### ECS Service Autoscaling
    66  //
    67  // <!--Start PulumiCodeChooser -->
    68  // ```go
    69  // package main
    70  //
    71  // import (
    72  //
    73  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appautoscaling"
    74  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    75  //
    76  // )
    77  //
    78  //	func main() {
    79  //		pulumi.Run(func(ctx *pulumi.Context) error {
    80  //			ecs, err := appautoscaling.NewTarget(ctx, "ecs", &appautoscaling.TargetArgs{
    81  //				MaxCapacity:       pulumi.Int(4),
    82  //				MinCapacity:       pulumi.Int(1),
    83  //				ResourceId:        pulumi.String("service/clusterName/serviceName"),
    84  //				ScalableDimension: pulumi.String("ecs:service:DesiredCount"),
    85  //				ServiceNamespace:  pulumi.String("ecs"),
    86  //			})
    87  //			if err != nil {
    88  //				return err
    89  //			}
    90  //			_, err = appautoscaling.NewScheduledAction(ctx, "ecs", &appautoscaling.ScheduledActionArgs{
    91  //				Name:              pulumi.String("ecs"),
    92  //				ServiceNamespace:  ecs.ServiceNamespace,
    93  //				ResourceId:        ecs.ResourceId,
    94  //				ScalableDimension: ecs.ScalableDimension,
    95  //				Schedule:          pulumi.String("at(2006-01-02T15:04:05)"),
    96  //				ScalableTargetAction: &appautoscaling.ScheduledActionScalableTargetActionArgs{
    97  //					MinCapacity: pulumi.Int(1),
    98  //					MaxCapacity: pulumi.Int(10),
    99  //				},
   100  //			})
   101  //			if err != nil {
   102  //				return err
   103  //			}
   104  //			return nil
   105  //		})
   106  //	}
   107  //
   108  // ```
   109  // <!--End PulumiCodeChooser -->
   110  type ScheduledAction struct {
   111  	pulumi.CustomResourceState
   112  
   113  	// ARN of the scheduled action.
   114  	Arn pulumi.StringOutput `pulumi:"arn"`
   115  	// Date and time for the scheduled action to end in RFC 3339 format. The timezone is not affected by the setting of `timezone`.
   116  	EndTime pulumi.StringPtrOutput `pulumi:"endTime"`
   117  	// Name of the scheduled action.
   118  	Name pulumi.StringOutput `pulumi:"name"`
   119  	// Identifier of the resource associated with the scheduled action. Documentation can be found in the `ResourceId` parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PutScheduledAction.html)
   120  	ResourceId pulumi.StringOutput `pulumi:"resourceId"`
   121  	// Scalable dimension. Documentation can be found in the `ScalableDimension` parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PutScheduledAction.html) Example: ecs:service:DesiredCount
   122  	ScalableDimension pulumi.StringOutput `pulumi:"scalableDimension"`
   123  	// New minimum and maximum capacity. You can set both values or just one. See below
   124  	ScalableTargetAction ScheduledActionScalableTargetActionOutput `pulumi:"scalableTargetAction"`
   125  	// Schedule for this action. The following formats are supported: At expressions - at(yyyy-mm-ddThh:mm:ss), Rate expressions - rate(valueunit), Cron expressions - cron(fields). Times for at expressions and cron expressions are evaluated using the time zone configured in `timezone`. Documentation can be found in the `Timezone` parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PutScheduledAction.html)
   126  	Schedule pulumi.StringOutput `pulumi:"schedule"`
   127  	// Namespace of the AWS service. Documentation can be found in the `ServiceNamespace` parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PutScheduledAction.html) Example: ecs
   128  	ServiceNamespace pulumi.StringOutput `pulumi:"serviceNamespace"`
   129  	// Date and time for the scheduled action to start in RFC 3339 format. The timezone is not affected by the setting of `timezone`.
   130  	StartTime pulumi.StringPtrOutput `pulumi:"startTime"`
   131  	// Time zone used when setting a scheduled action by using an at or cron expression. Does not affect timezone for `startTime` and `endTime`. Valid values are the [canonical names of the IANA time zones supported by Joda-Time](https://www.joda.org/joda-time/timezones.html), such as `Etc/GMT+9` or `Pacific/Tahiti`. Default is `UTC`.
   132  	Timezone pulumi.StringPtrOutput `pulumi:"timezone"`
   133  }
   134  
   135  // NewScheduledAction registers a new resource with the given unique name, arguments, and options.
   136  func NewScheduledAction(ctx *pulumi.Context,
   137  	name string, args *ScheduledActionArgs, opts ...pulumi.ResourceOption) (*ScheduledAction, error) {
   138  	if args == nil {
   139  		return nil, errors.New("missing one or more required arguments")
   140  	}
   141  
   142  	if args.ResourceId == nil {
   143  		return nil, errors.New("invalid value for required argument 'ResourceId'")
   144  	}
   145  	if args.ScalableDimension == nil {
   146  		return nil, errors.New("invalid value for required argument 'ScalableDimension'")
   147  	}
   148  	if args.ScalableTargetAction == nil {
   149  		return nil, errors.New("invalid value for required argument 'ScalableTargetAction'")
   150  	}
   151  	if args.Schedule == nil {
   152  		return nil, errors.New("invalid value for required argument 'Schedule'")
   153  	}
   154  	if args.ServiceNamespace == nil {
   155  		return nil, errors.New("invalid value for required argument 'ServiceNamespace'")
   156  	}
   157  	opts = internal.PkgResourceDefaultOpts(opts)
   158  	var resource ScheduledAction
   159  	err := ctx.RegisterResource("aws:appautoscaling/scheduledAction:ScheduledAction", name, args, &resource, opts...)
   160  	if err != nil {
   161  		return nil, err
   162  	}
   163  	return &resource, nil
   164  }
   165  
   166  // GetScheduledAction gets an existing ScheduledAction resource's state with the given name, ID, and optional
   167  // state properties that are used to uniquely qualify the lookup (nil if not required).
   168  func GetScheduledAction(ctx *pulumi.Context,
   169  	name string, id pulumi.IDInput, state *ScheduledActionState, opts ...pulumi.ResourceOption) (*ScheduledAction, error) {
   170  	var resource ScheduledAction
   171  	err := ctx.ReadResource("aws:appautoscaling/scheduledAction:ScheduledAction", name, id, state, &resource, opts...)
   172  	if err != nil {
   173  		return nil, err
   174  	}
   175  	return &resource, nil
   176  }
   177  
   178  // Input properties used for looking up and filtering ScheduledAction resources.
   179  type scheduledActionState struct {
   180  	// ARN of the scheduled action.
   181  	Arn *string `pulumi:"arn"`
   182  	// Date and time for the scheduled action to end in RFC 3339 format. The timezone is not affected by the setting of `timezone`.
   183  	EndTime *string `pulumi:"endTime"`
   184  	// Name of the scheduled action.
   185  	Name *string `pulumi:"name"`
   186  	// Identifier of the resource associated with the scheduled action. Documentation can be found in the `ResourceId` parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PutScheduledAction.html)
   187  	ResourceId *string `pulumi:"resourceId"`
   188  	// Scalable dimension. Documentation can be found in the `ScalableDimension` parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PutScheduledAction.html) Example: ecs:service:DesiredCount
   189  	ScalableDimension *string `pulumi:"scalableDimension"`
   190  	// New minimum and maximum capacity. You can set both values or just one. See below
   191  	ScalableTargetAction *ScheduledActionScalableTargetAction `pulumi:"scalableTargetAction"`
   192  	// Schedule for this action. The following formats are supported: At expressions - at(yyyy-mm-ddThh:mm:ss), Rate expressions - rate(valueunit), Cron expressions - cron(fields). Times for at expressions and cron expressions are evaluated using the time zone configured in `timezone`. Documentation can be found in the `Timezone` parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PutScheduledAction.html)
   193  	Schedule *string `pulumi:"schedule"`
   194  	// Namespace of the AWS service. Documentation can be found in the `ServiceNamespace` parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PutScheduledAction.html) Example: ecs
   195  	ServiceNamespace *string `pulumi:"serviceNamespace"`
   196  	// Date and time for the scheduled action to start in RFC 3339 format. The timezone is not affected by the setting of `timezone`.
   197  	StartTime *string `pulumi:"startTime"`
   198  	// Time zone used when setting a scheduled action by using an at or cron expression. Does not affect timezone for `startTime` and `endTime`. Valid values are the [canonical names of the IANA time zones supported by Joda-Time](https://www.joda.org/joda-time/timezones.html), such as `Etc/GMT+9` or `Pacific/Tahiti`. Default is `UTC`.
   199  	Timezone *string `pulumi:"timezone"`
   200  }
   201  
   202  type ScheduledActionState struct {
   203  	// ARN of the scheduled action.
   204  	Arn pulumi.StringPtrInput
   205  	// Date and time for the scheduled action to end in RFC 3339 format. The timezone is not affected by the setting of `timezone`.
   206  	EndTime pulumi.StringPtrInput
   207  	// Name of the scheduled action.
   208  	Name pulumi.StringPtrInput
   209  	// Identifier of the resource associated with the scheduled action. Documentation can be found in the `ResourceId` parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PutScheduledAction.html)
   210  	ResourceId pulumi.StringPtrInput
   211  	// Scalable dimension. Documentation can be found in the `ScalableDimension` parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PutScheduledAction.html) Example: ecs:service:DesiredCount
   212  	ScalableDimension pulumi.StringPtrInput
   213  	// New minimum and maximum capacity. You can set both values or just one. See below
   214  	ScalableTargetAction ScheduledActionScalableTargetActionPtrInput
   215  	// Schedule for this action. The following formats are supported: At expressions - at(yyyy-mm-ddThh:mm:ss), Rate expressions - rate(valueunit), Cron expressions - cron(fields). Times for at expressions and cron expressions are evaluated using the time zone configured in `timezone`. Documentation can be found in the `Timezone` parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PutScheduledAction.html)
   216  	Schedule pulumi.StringPtrInput
   217  	// Namespace of the AWS service. Documentation can be found in the `ServiceNamespace` parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PutScheduledAction.html) Example: ecs
   218  	ServiceNamespace pulumi.StringPtrInput
   219  	// Date and time for the scheduled action to start in RFC 3339 format. The timezone is not affected by the setting of `timezone`.
   220  	StartTime pulumi.StringPtrInput
   221  	// Time zone used when setting a scheduled action by using an at or cron expression. Does not affect timezone for `startTime` and `endTime`. Valid values are the [canonical names of the IANA time zones supported by Joda-Time](https://www.joda.org/joda-time/timezones.html), such as `Etc/GMT+9` or `Pacific/Tahiti`. Default is `UTC`.
   222  	Timezone pulumi.StringPtrInput
   223  }
   224  
   225  func (ScheduledActionState) ElementType() reflect.Type {
   226  	return reflect.TypeOf((*scheduledActionState)(nil)).Elem()
   227  }
   228  
   229  type scheduledActionArgs struct {
   230  	// Date and time for the scheduled action to end in RFC 3339 format. The timezone is not affected by the setting of `timezone`.
   231  	EndTime *string `pulumi:"endTime"`
   232  	// Name of the scheduled action.
   233  	Name *string `pulumi:"name"`
   234  	// Identifier of the resource associated with the scheduled action. Documentation can be found in the `ResourceId` parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PutScheduledAction.html)
   235  	ResourceId string `pulumi:"resourceId"`
   236  	// Scalable dimension. Documentation can be found in the `ScalableDimension` parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PutScheduledAction.html) Example: ecs:service:DesiredCount
   237  	ScalableDimension string `pulumi:"scalableDimension"`
   238  	// New minimum and maximum capacity. You can set both values or just one. See below
   239  	ScalableTargetAction ScheduledActionScalableTargetAction `pulumi:"scalableTargetAction"`
   240  	// Schedule for this action. The following formats are supported: At expressions - at(yyyy-mm-ddThh:mm:ss), Rate expressions - rate(valueunit), Cron expressions - cron(fields). Times for at expressions and cron expressions are evaluated using the time zone configured in `timezone`. Documentation can be found in the `Timezone` parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PutScheduledAction.html)
   241  	Schedule string `pulumi:"schedule"`
   242  	// Namespace of the AWS service. Documentation can be found in the `ServiceNamespace` parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PutScheduledAction.html) Example: ecs
   243  	ServiceNamespace string `pulumi:"serviceNamespace"`
   244  	// Date and time for the scheduled action to start in RFC 3339 format. The timezone is not affected by the setting of `timezone`.
   245  	StartTime *string `pulumi:"startTime"`
   246  	// Time zone used when setting a scheduled action by using an at or cron expression. Does not affect timezone for `startTime` and `endTime`. Valid values are the [canonical names of the IANA time zones supported by Joda-Time](https://www.joda.org/joda-time/timezones.html), such as `Etc/GMT+9` or `Pacific/Tahiti`. Default is `UTC`.
   247  	Timezone *string `pulumi:"timezone"`
   248  }
   249  
   250  // The set of arguments for constructing a ScheduledAction resource.
   251  type ScheduledActionArgs struct {
   252  	// Date and time for the scheduled action to end in RFC 3339 format. The timezone is not affected by the setting of `timezone`.
   253  	EndTime pulumi.StringPtrInput
   254  	// Name of the scheduled action.
   255  	Name pulumi.StringPtrInput
   256  	// Identifier of the resource associated with the scheduled action. Documentation can be found in the `ResourceId` parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PutScheduledAction.html)
   257  	ResourceId pulumi.StringInput
   258  	// Scalable dimension. Documentation can be found in the `ScalableDimension` parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PutScheduledAction.html) Example: ecs:service:DesiredCount
   259  	ScalableDimension pulumi.StringInput
   260  	// New minimum and maximum capacity. You can set both values or just one. See below
   261  	ScalableTargetAction ScheduledActionScalableTargetActionInput
   262  	// Schedule for this action. The following formats are supported: At expressions - at(yyyy-mm-ddThh:mm:ss), Rate expressions - rate(valueunit), Cron expressions - cron(fields). Times for at expressions and cron expressions are evaluated using the time zone configured in `timezone`. Documentation can be found in the `Timezone` parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PutScheduledAction.html)
   263  	Schedule pulumi.StringInput
   264  	// Namespace of the AWS service. Documentation can be found in the `ServiceNamespace` parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PutScheduledAction.html) Example: ecs
   265  	ServiceNamespace pulumi.StringInput
   266  	// Date and time for the scheduled action to start in RFC 3339 format. The timezone is not affected by the setting of `timezone`.
   267  	StartTime pulumi.StringPtrInput
   268  	// Time zone used when setting a scheduled action by using an at or cron expression. Does not affect timezone for `startTime` and `endTime`. Valid values are the [canonical names of the IANA time zones supported by Joda-Time](https://www.joda.org/joda-time/timezones.html), such as `Etc/GMT+9` or `Pacific/Tahiti`. Default is `UTC`.
   269  	Timezone pulumi.StringPtrInput
   270  }
   271  
   272  func (ScheduledActionArgs) ElementType() reflect.Type {
   273  	return reflect.TypeOf((*scheduledActionArgs)(nil)).Elem()
   274  }
   275  
   276  type ScheduledActionInput interface {
   277  	pulumi.Input
   278  
   279  	ToScheduledActionOutput() ScheduledActionOutput
   280  	ToScheduledActionOutputWithContext(ctx context.Context) ScheduledActionOutput
   281  }
   282  
   283  func (*ScheduledAction) ElementType() reflect.Type {
   284  	return reflect.TypeOf((**ScheduledAction)(nil)).Elem()
   285  }
   286  
   287  func (i *ScheduledAction) ToScheduledActionOutput() ScheduledActionOutput {
   288  	return i.ToScheduledActionOutputWithContext(context.Background())
   289  }
   290  
   291  func (i *ScheduledAction) ToScheduledActionOutputWithContext(ctx context.Context) ScheduledActionOutput {
   292  	return pulumi.ToOutputWithContext(ctx, i).(ScheduledActionOutput)
   293  }
   294  
   295  // ScheduledActionArrayInput is an input type that accepts ScheduledActionArray and ScheduledActionArrayOutput values.
   296  // You can construct a concrete instance of `ScheduledActionArrayInput` via:
   297  //
   298  //	ScheduledActionArray{ ScheduledActionArgs{...} }
   299  type ScheduledActionArrayInput interface {
   300  	pulumi.Input
   301  
   302  	ToScheduledActionArrayOutput() ScheduledActionArrayOutput
   303  	ToScheduledActionArrayOutputWithContext(context.Context) ScheduledActionArrayOutput
   304  }
   305  
   306  type ScheduledActionArray []ScheduledActionInput
   307  
   308  func (ScheduledActionArray) ElementType() reflect.Type {
   309  	return reflect.TypeOf((*[]*ScheduledAction)(nil)).Elem()
   310  }
   311  
   312  func (i ScheduledActionArray) ToScheduledActionArrayOutput() ScheduledActionArrayOutput {
   313  	return i.ToScheduledActionArrayOutputWithContext(context.Background())
   314  }
   315  
   316  func (i ScheduledActionArray) ToScheduledActionArrayOutputWithContext(ctx context.Context) ScheduledActionArrayOutput {
   317  	return pulumi.ToOutputWithContext(ctx, i).(ScheduledActionArrayOutput)
   318  }
   319  
   320  // ScheduledActionMapInput is an input type that accepts ScheduledActionMap and ScheduledActionMapOutput values.
   321  // You can construct a concrete instance of `ScheduledActionMapInput` via:
   322  //
   323  //	ScheduledActionMap{ "key": ScheduledActionArgs{...} }
   324  type ScheduledActionMapInput interface {
   325  	pulumi.Input
   326  
   327  	ToScheduledActionMapOutput() ScheduledActionMapOutput
   328  	ToScheduledActionMapOutputWithContext(context.Context) ScheduledActionMapOutput
   329  }
   330  
   331  type ScheduledActionMap map[string]ScheduledActionInput
   332  
   333  func (ScheduledActionMap) ElementType() reflect.Type {
   334  	return reflect.TypeOf((*map[string]*ScheduledAction)(nil)).Elem()
   335  }
   336  
   337  func (i ScheduledActionMap) ToScheduledActionMapOutput() ScheduledActionMapOutput {
   338  	return i.ToScheduledActionMapOutputWithContext(context.Background())
   339  }
   340  
   341  func (i ScheduledActionMap) ToScheduledActionMapOutputWithContext(ctx context.Context) ScheduledActionMapOutput {
   342  	return pulumi.ToOutputWithContext(ctx, i).(ScheduledActionMapOutput)
   343  }
   344  
   345  type ScheduledActionOutput struct{ *pulumi.OutputState }
   346  
   347  func (ScheduledActionOutput) ElementType() reflect.Type {
   348  	return reflect.TypeOf((**ScheduledAction)(nil)).Elem()
   349  }
   350  
   351  func (o ScheduledActionOutput) ToScheduledActionOutput() ScheduledActionOutput {
   352  	return o
   353  }
   354  
   355  func (o ScheduledActionOutput) ToScheduledActionOutputWithContext(ctx context.Context) ScheduledActionOutput {
   356  	return o
   357  }
   358  
   359  // ARN of the scheduled action.
   360  func (o ScheduledActionOutput) Arn() pulumi.StringOutput {
   361  	return o.ApplyT(func(v *ScheduledAction) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput)
   362  }
   363  
   364  // Date and time for the scheduled action to end in RFC 3339 format. The timezone is not affected by the setting of `timezone`.
   365  func (o ScheduledActionOutput) EndTime() pulumi.StringPtrOutput {
   366  	return o.ApplyT(func(v *ScheduledAction) pulumi.StringPtrOutput { return v.EndTime }).(pulumi.StringPtrOutput)
   367  }
   368  
   369  // Name of the scheduled action.
   370  func (o ScheduledActionOutput) Name() pulumi.StringOutput {
   371  	return o.ApplyT(func(v *ScheduledAction) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput)
   372  }
   373  
   374  // Identifier of the resource associated with the scheduled action. Documentation can be found in the `ResourceId` parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PutScheduledAction.html)
   375  func (o ScheduledActionOutput) ResourceId() pulumi.StringOutput {
   376  	return o.ApplyT(func(v *ScheduledAction) pulumi.StringOutput { return v.ResourceId }).(pulumi.StringOutput)
   377  }
   378  
   379  // Scalable dimension. Documentation can be found in the `ScalableDimension` parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PutScheduledAction.html) Example: ecs:service:DesiredCount
   380  func (o ScheduledActionOutput) ScalableDimension() pulumi.StringOutput {
   381  	return o.ApplyT(func(v *ScheduledAction) pulumi.StringOutput { return v.ScalableDimension }).(pulumi.StringOutput)
   382  }
   383  
   384  // New minimum and maximum capacity. You can set both values or just one. See below
   385  func (o ScheduledActionOutput) ScalableTargetAction() ScheduledActionScalableTargetActionOutput {
   386  	return o.ApplyT(func(v *ScheduledAction) ScheduledActionScalableTargetActionOutput { return v.ScalableTargetAction }).(ScheduledActionScalableTargetActionOutput)
   387  }
   388  
   389  // Schedule for this action. The following formats are supported: At expressions - at(yyyy-mm-ddThh:mm:ss), Rate expressions - rate(valueunit), Cron expressions - cron(fields). Times for at expressions and cron expressions are evaluated using the time zone configured in `timezone`. Documentation can be found in the `Timezone` parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PutScheduledAction.html)
   390  func (o ScheduledActionOutput) Schedule() pulumi.StringOutput {
   391  	return o.ApplyT(func(v *ScheduledAction) pulumi.StringOutput { return v.Schedule }).(pulumi.StringOutput)
   392  }
   393  
   394  // Namespace of the AWS service. Documentation can be found in the `ServiceNamespace` parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PutScheduledAction.html) Example: ecs
   395  func (o ScheduledActionOutput) ServiceNamespace() pulumi.StringOutput {
   396  	return o.ApplyT(func(v *ScheduledAction) pulumi.StringOutput { return v.ServiceNamespace }).(pulumi.StringOutput)
   397  }
   398  
   399  // Date and time for the scheduled action to start in RFC 3339 format. The timezone is not affected by the setting of `timezone`.
   400  func (o ScheduledActionOutput) StartTime() pulumi.StringPtrOutput {
   401  	return o.ApplyT(func(v *ScheduledAction) pulumi.StringPtrOutput { return v.StartTime }).(pulumi.StringPtrOutput)
   402  }
   403  
   404  // Time zone used when setting a scheduled action by using an at or cron expression. Does not affect timezone for `startTime` and `endTime`. Valid values are the [canonical names of the IANA time zones supported by Joda-Time](https://www.joda.org/joda-time/timezones.html), such as `Etc/GMT+9` or `Pacific/Tahiti`. Default is `UTC`.
   405  func (o ScheduledActionOutput) Timezone() pulumi.StringPtrOutput {
   406  	return o.ApplyT(func(v *ScheduledAction) pulumi.StringPtrOutput { return v.Timezone }).(pulumi.StringPtrOutput)
   407  }
   408  
   409  type ScheduledActionArrayOutput struct{ *pulumi.OutputState }
   410  
   411  func (ScheduledActionArrayOutput) ElementType() reflect.Type {
   412  	return reflect.TypeOf((*[]*ScheduledAction)(nil)).Elem()
   413  }
   414  
   415  func (o ScheduledActionArrayOutput) ToScheduledActionArrayOutput() ScheduledActionArrayOutput {
   416  	return o
   417  }
   418  
   419  func (o ScheduledActionArrayOutput) ToScheduledActionArrayOutputWithContext(ctx context.Context) ScheduledActionArrayOutput {
   420  	return o
   421  }
   422  
   423  func (o ScheduledActionArrayOutput) Index(i pulumi.IntInput) ScheduledActionOutput {
   424  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ScheduledAction {
   425  		return vs[0].([]*ScheduledAction)[vs[1].(int)]
   426  	}).(ScheduledActionOutput)
   427  }
   428  
   429  type ScheduledActionMapOutput struct{ *pulumi.OutputState }
   430  
   431  func (ScheduledActionMapOutput) ElementType() reflect.Type {
   432  	return reflect.TypeOf((*map[string]*ScheduledAction)(nil)).Elem()
   433  }
   434  
   435  func (o ScheduledActionMapOutput) ToScheduledActionMapOutput() ScheduledActionMapOutput {
   436  	return o
   437  }
   438  
   439  func (o ScheduledActionMapOutput) ToScheduledActionMapOutputWithContext(ctx context.Context) ScheduledActionMapOutput {
   440  	return o
   441  }
   442  
   443  func (o ScheduledActionMapOutput) MapIndex(k pulumi.StringInput) ScheduledActionOutput {
   444  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ScheduledAction {
   445  		return vs[0].(map[string]*ScheduledAction)[vs[1].(string)]
   446  	}).(ScheduledActionOutput)
   447  }
   448  
   449  func init() {
   450  	pulumi.RegisterInputType(reflect.TypeOf((*ScheduledActionInput)(nil)).Elem(), &ScheduledAction{})
   451  	pulumi.RegisterInputType(reflect.TypeOf((*ScheduledActionArrayInput)(nil)).Elem(), ScheduledActionArray{})
   452  	pulumi.RegisterInputType(reflect.TypeOf((*ScheduledActionMapInput)(nil)).Elem(), ScheduledActionMap{})
   453  	pulumi.RegisterOutputType(ScheduledActionOutput{})
   454  	pulumi.RegisterOutputType(ScheduledActionArrayOutput{})
   455  	pulumi.RegisterOutputType(ScheduledActionMapOutput{})
   456  }