github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/ssm/maintenanceWindow.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 ssm
     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 SSM Maintenance Window resource
    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/ssm"
    26  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    27  //
    28  // )
    29  //
    30  //	func main() {
    31  //		pulumi.Run(func(ctx *pulumi.Context) error {
    32  //			_, err := ssm.NewMaintenanceWindow(ctx, "production", &ssm.MaintenanceWindowArgs{
    33  //				Name:     pulumi.String("maintenance-window-application"),
    34  //				Schedule: pulumi.String("cron(0 16 ? * TUE *)"),
    35  //				Duration: pulumi.Int(3),
    36  //				Cutoff:   pulumi.Int(1),
    37  //			})
    38  //			if err != nil {
    39  //				return err
    40  //			}
    41  //			return nil
    42  //		})
    43  //	}
    44  //
    45  // ```
    46  // <!--End PulumiCodeChooser -->
    47  //
    48  // ## Import
    49  //
    50  // Using `pulumi import`, import SSM  Maintenance Windows using the maintenance window `id`. For example:
    51  //
    52  // ```sh
    53  // $ pulumi import aws:ssm/maintenanceWindow:MaintenanceWindow imported-window mw-0123456789
    54  // ```
    55  type MaintenanceWindow struct {
    56  	pulumi.CustomResourceState
    57  
    58  	// Whether targets must be registered with the Maintenance Window before tasks can be defined for those targets.
    59  	AllowUnassociatedTargets pulumi.BoolPtrOutput `pulumi:"allowUnassociatedTargets"`
    60  	// The number of hours before the end of the Maintenance Window that Systems Manager stops scheduling new tasks for execution.
    61  	Cutoff pulumi.IntOutput `pulumi:"cutoff"`
    62  	// A description for the maintenance window.
    63  	Description pulumi.StringPtrOutput `pulumi:"description"`
    64  	// The duration of the Maintenance Window in hours.
    65  	Duration pulumi.IntOutput `pulumi:"duration"`
    66  	// Whether the maintenance window is enabled. Default: `true`.
    67  	Enabled pulumi.BoolPtrOutput `pulumi:"enabled"`
    68  	// Timestamp in [ISO-8601 extended format](https://www.iso.org/iso-8601-date-and-time-format.html) when to no longer run the maintenance window.
    69  	EndDate pulumi.StringPtrOutput `pulumi:"endDate"`
    70  	// The name of the maintenance window.
    71  	Name pulumi.StringOutput `pulumi:"name"`
    72  	// The schedule of the Maintenance Window in the form of a [cron or rate expression](https://docs.aws.amazon.com/systems-manager/latest/userguide/reference-cron-and-rate-expressions.html).
    73  	Schedule pulumi.StringOutput `pulumi:"schedule"`
    74  	// The number of days to wait after the date and time specified by a CRON expression before running the maintenance window.
    75  	ScheduleOffset pulumi.IntPtrOutput `pulumi:"scheduleOffset"`
    76  	// Timezone for schedule in [Internet Assigned Numbers Authority (IANA) Time Zone Database format](https://www.iana.org/time-zones). For example: `America/Los_Angeles`, `etc/UTC`, or `Asia/Seoul`.
    77  	ScheduleTimezone pulumi.StringPtrOutput `pulumi:"scheduleTimezone"`
    78  	// Timestamp in [ISO-8601 extended format](https://www.iso.org/iso-8601-date-and-time-format.html) when to begin the maintenance window.
    79  	StartDate pulumi.StringPtrOutput `pulumi:"startDate"`
    80  	// A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    81  	Tags pulumi.StringMapOutput `pulumi:"tags"`
    82  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
    83  	//
    84  	// Deprecated: Please use `tags` instead.
    85  	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
    86  }
    87  
    88  // NewMaintenanceWindow registers a new resource with the given unique name, arguments, and options.
    89  func NewMaintenanceWindow(ctx *pulumi.Context,
    90  	name string, args *MaintenanceWindowArgs, opts ...pulumi.ResourceOption) (*MaintenanceWindow, error) {
    91  	if args == nil {
    92  		return nil, errors.New("missing one or more required arguments")
    93  	}
    94  
    95  	if args.Cutoff == nil {
    96  		return nil, errors.New("invalid value for required argument 'Cutoff'")
    97  	}
    98  	if args.Duration == nil {
    99  		return nil, errors.New("invalid value for required argument 'Duration'")
   100  	}
   101  	if args.Schedule == nil {
   102  		return nil, errors.New("invalid value for required argument 'Schedule'")
   103  	}
   104  	opts = internal.PkgResourceDefaultOpts(opts)
   105  	var resource MaintenanceWindow
   106  	err := ctx.RegisterResource("aws:ssm/maintenanceWindow:MaintenanceWindow", name, args, &resource, opts...)
   107  	if err != nil {
   108  		return nil, err
   109  	}
   110  	return &resource, nil
   111  }
   112  
   113  // GetMaintenanceWindow gets an existing MaintenanceWindow resource's state with the given name, ID, and optional
   114  // state properties that are used to uniquely qualify the lookup (nil if not required).
   115  func GetMaintenanceWindow(ctx *pulumi.Context,
   116  	name string, id pulumi.IDInput, state *MaintenanceWindowState, opts ...pulumi.ResourceOption) (*MaintenanceWindow, error) {
   117  	var resource MaintenanceWindow
   118  	err := ctx.ReadResource("aws:ssm/maintenanceWindow:MaintenanceWindow", name, id, state, &resource, opts...)
   119  	if err != nil {
   120  		return nil, err
   121  	}
   122  	return &resource, nil
   123  }
   124  
   125  // Input properties used for looking up and filtering MaintenanceWindow resources.
   126  type maintenanceWindowState struct {
   127  	// Whether targets must be registered with the Maintenance Window before tasks can be defined for those targets.
   128  	AllowUnassociatedTargets *bool `pulumi:"allowUnassociatedTargets"`
   129  	// The number of hours before the end of the Maintenance Window that Systems Manager stops scheduling new tasks for execution.
   130  	Cutoff *int `pulumi:"cutoff"`
   131  	// A description for the maintenance window.
   132  	Description *string `pulumi:"description"`
   133  	// The duration of the Maintenance Window in hours.
   134  	Duration *int `pulumi:"duration"`
   135  	// Whether the maintenance window is enabled. Default: `true`.
   136  	Enabled *bool `pulumi:"enabled"`
   137  	// Timestamp in [ISO-8601 extended format](https://www.iso.org/iso-8601-date-and-time-format.html) when to no longer run the maintenance window.
   138  	EndDate *string `pulumi:"endDate"`
   139  	// The name of the maintenance window.
   140  	Name *string `pulumi:"name"`
   141  	// The schedule of the Maintenance Window in the form of a [cron or rate expression](https://docs.aws.amazon.com/systems-manager/latest/userguide/reference-cron-and-rate-expressions.html).
   142  	Schedule *string `pulumi:"schedule"`
   143  	// The number of days to wait after the date and time specified by a CRON expression before running the maintenance window.
   144  	ScheduleOffset *int `pulumi:"scheduleOffset"`
   145  	// Timezone for schedule in [Internet Assigned Numbers Authority (IANA) Time Zone Database format](https://www.iana.org/time-zones). For example: `America/Los_Angeles`, `etc/UTC`, or `Asia/Seoul`.
   146  	ScheduleTimezone *string `pulumi:"scheduleTimezone"`
   147  	// Timestamp in [ISO-8601 extended format](https://www.iso.org/iso-8601-date-and-time-format.html) when to begin the maintenance window.
   148  	StartDate *string `pulumi:"startDate"`
   149  	// A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   150  	Tags map[string]string `pulumi:"tags"`
   151  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   152  	//
   153  	// Deprecated: Please use `tags` instead.
   154  	TagsAll map[string]string `pulumi:"tagsAll"`
   155  }
   156  
   157  type MaintenanceWindowState struct {
   158  	// Whether targets must be registered with the Maintenance Window before tasks can be defined for those targets.
   159  	AllowUnassociatedTargets pulumi.BoolPtrInput
   160  	// The number of hours before the end of the Maintenance Window that Systems Manager stops scheduling new tasks for execution.
   161  	Cutoff pulumi.IntPtrInput
   162  	// A description for the maintenance window.
   163  	Description pulumi.StringPtrInput
   164  	// The duration of the Maintenance Window in hours.
   165  	Duration pulumi.IntPtrInput
   166  	// Whether the maintenance window is enabled. Default: `true`.
   167  	Enabled pulumi.BoolPtrInput
   168  	// Timestamp in [ISO-8601 extended format](https://www.iso.org/iso-8601-date-and-time-format.html) when to no longer run the maintenance window.
   169  	EndDate pulumi.StringPtrInput
   170  	// The name of the maintenance window.
   171  	Name pulumi.StringPtrInput
   172  	// The schedule of the Maintenance Window in the form of a [cron or rate expression](https://docs.aws.amazon.com/systems-manager/latest/userguide/reference-cron-and-rate-expressions.html).
   173  	Schedule pulumi.StringPtrInput
   174  	// The number of days to wait after the date and time specified by a CRON expression before running the maintenance window.
   175  	ScheduleOffset pulumi.IntPtrInput
   176  	// Timezone for schedule in [Internet Assigned Numbers Authority (IANA) Time Zone Database format](https://www.iana.org/time-zones). For example: `America/Los_Angeles`, `etc/UTC`, or `Asia/Seoul`.
   177  	ScheduleTimezone pulumi.StringPtrInput
   178  	// Timestamp in [ISO-8601 extended format](https://www.iso.org/iso-8601-date-and-time-format.html) when to begin the maintenance window.
   179  	StartDate pulumi.StringPtrInput
   180  	// A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   181  	Tags pulumi.StringMapInput
   182  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   183  	//
   184  	// Deprecated: Please use `tags` instead.
   185  	TagsAll pulumi.StringMapInput
   186  }
   187  
   188  func (MaintenanceWindowState) ElementType() reflect.Type {
   189  	return reflect.TypeOf((*maintenanceWindowState)(nil)).Elem()
   190  }
   191  
   192  type maintenanceWindowArgs struct {
   193  	// Whether targets must be registered with the Maintenance Window before tasks can be defined for those targets.
   194  	AllowUnassociatedTargets *bool `pulumi:"allowUnassociatedTargets"`
   195  	// The number of hours before the end of the Maintenance Window that Systems Manager stops scheduling new tasks for execution.
   196  	Cutoff int `pulumi:"cutoff"`
   197  	// A description for the maintenance window.
   198  	Description *string `pulumi:"description"`
   199  	// The duration of the Maintenance Window in hours.
   200  	Duration int `pulumi:"duration"`
   201  	// Whether the maintenance window is enabled. Default: `true`.
   202  	Enabled *bool `pulumi:"enabled"`
   203  	// Timestamp in [ISO-8601 extended format](https://www.iso.org/iso-8601-date-and-time-format.html) when to no longer run the maintenance window.
   204  	EndDate *string `pulumi:"endDate"`
   205  	// The name of the maintenance window.
   206  	Name *string `pulumi:"name"`
   207  	// The schedule of the Maintenance Window in the form of a [cron or rate expression](https://docs.aws.amazon.com/systems-manager/latest/userguide/reference-cron-and-rate-expressions.html).
   208  	Schedule string `pulumi:"schedule"`
   209  	// The number of days to wait after the date and time specified by a CRON expression before running the maintenance window.
   210  	ScheduleOffset *int `pulumi:"scheduleOffset"`
   211  	// Timezone for schedule in [Internet Assigned Numbers Authority (IANA) Time Zone Database format](https://www.iana.org/time-zones). For example: `America/Los_Angeles`, `etc/UTC`, or `Asia/Seoul`.
   212  	ScheduleTimezone *string `pulumi:"scheduleTimezone"`
   213  	// Timestamp in [ISO-8601 extended format](https://www.iso.org/iso-8601-date-and-time-format.html) when to begin the maintenance window.
   214  	StartDate *string `pulumi:"startDate"`
   215  	// A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   216  	Tags map[string]string `pulumi:"tags"`
   217  }
   218  
   219  // The set of arguments for constructing a MaintenanceWindow resource.
   220  type MaintenanceWindowArgs struct {
   221  	// Whether targets must be registered with the Maintenance Window before tasks can be defined for those targets.
   222  	AllowUnassociatedTargets pulumi.BoolPtrInput
   223  	// The number of hours before the end of the Maintenance Window that Systems Manager stops scheduling new tasks for execution.
   224  	Cutoff pulumi.IntInput
   225  	// A description for the maintenance window.
   226  	Description pulumi.StringPtrInput
   227  	// The duration of the Maintenance Window in hours.
   228  	Duration pulumi.IntInput
   229  	// Whether the maintenance window is enabled. Default: `true`.
   230  	Enabled pulumi.BoolPtrInput
   231  	// Timestamp in [ISO-8601 extended format](https://www.iso.org/iso-8601-date-and-time-format.html) when to no longer run the maintenance window.
   232  	EndDate pulumi.StringPtrInput
   233  	// The name of the maintenance window.
   234  	Name pulumi.StringPtrInput
   235  	// The schedule of the Maintenance Window in the form of a [cron or rate expression](https://docs.aws.amazon.com/systems-manager/latest/userguide/reference-cron-and-rate-expressions.html).
   236  	Schedule pulumi.StringInput
   237  	// The number of days to wait after the date and time specified by a CRON expression before running the maintenance window.
   238  	ScheduleOffset pulumi.IntPtrInput
   239  	// Timezone for schedule in [Internet Assigned Numbers Authority (IANA) Time Zone Database format](https://www.iana.org/time-zones). For example: `America/Los_Angeles`, `etc/UTC`, or `Asia/Seoul`.
   240  	ScheduleTimezone pulumi.StringPtrInput
   241  	// Timestamp in [ISO-8601 extended format](https://www.iso.org/iso-8601-date-and-time-format.html) when to begin the maintenance window.
   242  	StartDate pulumi.StringPtrInput
   243  	// A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   244  	Tags pulumi.StringMapInput
   245  }
   246  
   247  func (MaintenanceWindowArgs) ElementType() reflect.Type {
   248  	return reflect.TypeOf((*maintenanceWindowArgs)(nil)).Elem()
   249  }
   250  
   251  type MaintenanceWindowInput interface {
   252  	pulumi.Input
   253  
   254  	ToMaintenanceWindowOutput() MaintenanceWindowOutput
   255  	ToMaintenanceWindowOutputWithContext(ctx context.Context) MaintenanceWindowOutput
   256  }
   257  
   258  func (*MaintenanceWindow) ElementType() reflect.Type {
   259  	return reflect.TypeOf((**MaintenanceWindow)(nil)).Elem()
   260  }
   261  
   262  func (i *MaintenanceWindow) ToMaintenanceWindowOutput() MaintenanceWindowOutput {
   263  	return i.ToMaintenanceWindowOutputWithContext(context.Background())
   264  }
   265  
   266  func (i *MaintenanceWindow) ToMaintenanceWindowOutputWithContext(ctx context.Context) MaintenanceWindowOutput {
   267  	return pulumi.ToOutputWithContext(ctx, i).(MaintenanceWindowOutput)
   268  }
   269  
   270  // MaintenanceWindowArrayInput is an input type that accepts MaintenanceWindowArray and MaintenanceWindowArrayOutput values.
   271  // You can construct a concrete instance of `MaintenanceWindowArrayInput` via:
   272  //
   273  //	MaintenanceWindowArray{ MaintenanceWindowArgs{...} }
   274  type MaintenanceWindowArrayInput interface {
   275  	pulumi.Input
   276  
   277  	ToMaintenanceWindowArrayOutput() MaintenanceWindowArrayOutput
   278  	ToMaintenanceWindowArrayOutputWithContext(context.Context) MaintenanceWindowArrayOutput
   279  }
   280  
   281  type MaintenanceWindowArray []MaintenanceWindowInput
   282  
   283  func (MaintenanceWindowArray) ElementType() reflect.Type {
   284  	return reflect.TypeOf((*[]*MaintenanceWindow)(nil)).Elem()
   285  }
   286  
   287  func (i MaintenanceWindowArray) ToMaintenanceWindowArrayOutput() MaintenanceWindowArrayOutput {
   288  	return i.ToMaintenanceWindowArrayOutputWithContext(context.Background())
   289  }
   290  
   291  func (i MaintenanceWindowArray) ToMaintenanceWindowArrayOutputWithContext(ctx context.Context) MaintenanceWindowArrayOutput {
   292  	return pulumi.ToOutputWithContext(ctx, i).(MaintenanceWindowArrayOutput)
   293  }
   294  
   295  // MaintenanceWindowMapInput is an input type that accepts MaintenanceWindowMap and MaintenanceWindowMapOutput values.
   296  // You can construct a concrete instance of `MaintenanceWindowMapInput` via:
   297  //
   298  //	MaintenanceWindowMap{ "key": MaintenanceWindowArgs{...} }
   299  type MaintenanceWindowMapInput interface {
   300  	pulumi.Input
   301  
   302  	ToMaintenanceWindowMapOutput() MaintenanceWindowMapOutput
   303  	ToMaintenanceWindowMapOutputWithContext(context.Context) MaintenanceWindowMapOutput
   304  }
   305  
   306  type MaintenanceWindowMap map[string]MaintenanceWindowInput
   307  
   308  func (MaintenanceWindowMap) ElementType() reflect.Type {
   309  	return reflect.TypeOf((*map[string]*MaintenanceWindow)(nil)).Elem()
   310  }
   311  
   312  func (i MaintenanceWindowMap) ToMaintenanceWindowMapOutput() MaintenanceWindowMapOutput {
   313  	return i.ToMaintenanceWindowMapOutputWithContext(context.Background())
   314  }
   315  
   316  func (i MaintenanceWindowMap) ToMaintenanceWindowMapOutputWithContext(ctx context.Context) MaintenanceWindowMapOutput {
   317  	return pulumi.ToOutputWithContext(ctx, i).(MaintenanceWindowMapOutput)
   318  }
   319  
   320  type MaintenanceWindowOutput struct{ *pulumi.OutputState }
   321  
   322  func (MaintenanceWindowOutput) ElementType() reflect.Type {
   323  	return reflect.TypeOf((**MaintenanceWindow)(nil)).Elem()
   324  }
   325  
   326  func (o MaintenanceWindowOutput) ToMaintenanceWindowOutput() MaintenanceWindowOutput {
   327  	return o
   328  }
   329  
   330  func (o MaintenanceWindowOutput) ToMaintenanceWindowOutputWithContext(ctx context.Context) MaintenanceWindowOutput {
   331  	return o
   332  }
   333  
   334  // Whether targets must be registered with the Maintenance Window before tasks can be defined for those targets.
   335  func (o MaintenanceWindowOutput) AllowUnassociatedTargets() pulumi.BoolPtrOutput {
   336  	return o.ApplyT(func(v *MaintenanceWindow) pulumi.BoolPtrOutput { return v.AllowUnassociatedTargets }).(pulumi.BoolPtrOutput)
   337  }
   338  
   339  // The number of hours before the end of the Maintenance Window that Systems Manager stops scheduling new tasks for execution.
   340  func (o MaintenanceWindowOutput) Cutoff() pulumi.IntOutput {
   341  	return o.ApplyT(func(v *MaintenanceWindow) pulumi.IntOutput { return v.Cutoff }).(pulumi.IntOutput)
   342  }
   343  
   344  // A description for the maintenance window.
   345  func (o MaintenanceWindowOutput) Description() pulumi.StringPtrOutput {
   346  	return o.ApplyT(func(v *MaintenanceWindow) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput)
   347  }
   348  
   349  // The duration of the Maintenance Window in hours.
   350  func (o MaintenanceWindowOutput) Duration() pulumi.IntOutput {
   351  	return o.ApplyT(func(v *MaintenanceWindow) pulumi.IntOutput { return v.Duration }).(pulumi.IntOutput)
   352  }
   353  
   354  // Whether the maintenance window is enabled. Default: `true`.
   355  func (o MaintenanceWindowOutput) Enabled() pulumi.BoolPtrOutput {
   356  	return o.ApplyT(func(v *MaintenanceWindow) pulumi.BoolPtrOutput { return v.Enabled }).(pulumi.BoolPtrOutput)
   357  }
   358  
   359  // Timestamp in [ISO-8601 extended format](https://www.iso.org/iso-8601-date-and-time-format.html) when to no longer run the maintenance window.
   360  func (o MaintenanceWindowOutput) EndDate() pulumi.StringPtrOutput {
   361  	return o.ApplyT(func(v *MaintenanceWindow) pulumi.StringPtrOutput { return v.EndDate }).(pulumi.StringPtrOutput)
   362  }
   363  
   364  // The name of the maintenance window.
   365  func (o MaintenanceWindowOutput) Name() pulumi.StringOutput {
   366  	return o.ApplyT(func(v *MaintenanceWindow) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput)
   367  }
   368  
   369  // The schedule of the Maintenance Window in the form of a [cron or rate expression](https://docs.aws.amazon.com/systems-manager/latest/userguide/reference-cron-and-rate-expressions.html).
   370  func (o MaintenanceWindowOutput) Schedule() pulumi.StringOutput {
   371  	return o.ApplyT(func(v *MaintenanceWindow) pulumi.StringOutput { return v.Schedule }).(pulumi.StringOutput)
   372  }
   373  
   374  // The number of days to wait after the date and time specified by a CRON expression before running the maintenance window.
   375  func (o MaintenanceWindowOutput) ScheduleOffset() pulumi.IntPtrOutput {
   376  	return o.ApplyT(func(v *MaintenanceWindow) pulumi.IntPtrOutput { return v.ScheduleOffset }).(pulumi.IntPtrOutput)
   377  }
   378  
   379  // Timezone for schedule in [Internet Assigned Numbers Authority (IANA) Time Zone Database format](https://www.iana.org/time-zones). For example: `America/Los_Angeles`, `etc/UTC`, or `Asia/Seoul`.
   380  func (o MaintenanceWindowOutput) ScheduleTimezone() pulumi.StringPtrOutput {
   381  	return o.ApplyT(func(v *MaintenanceWindow) pulumi.StringPtrOutput { return v.ScheduleTimezone }).(pulumi.StringPtrOutput)
   382  }
   383  
   384  // Timestamp in [ISO-8601 extended format](https://www.iso.org/iso-8601-date-and-time-format.html) when to begin the maintenance window.
   385  func (o MaintenanceWindowOutput) StartDate() pulumi.StringPtrOutput {
   386  	return o.ApplyT(func(v *MaintenanceWindow) pulumi.StringPtrOutput { return v.StartDate }).(pulumi.StringPtrOutput)
   387  }
   388  
   389  // A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   390  func (o MaintenanceWindowOutput) Tags() pulumi.StringMapOutput {
   391  	return o.ApplyT(func(v *MaintenanceWindow) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput)
   392  }
   393  
   394  // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   395  //
   396  // Deprecated: Please use `tags` instead.
   397  func (o MaintenanceWindowOutput) TagsAll() pulumi.StringMapOutput {
   398  	return o.ApplyT(func(v *MaintenanceWindow) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput)
   399  }
   400  
   401  type MaintenanceWindowArrayOutput struct{ *pulumi.OutputState }
   402  
   403  func (MaintenanceWindowArrayOutput) ElementType() reflect.Type {
   404  	return reflect.TypeOf((*[]*MaintenanceWindow)(nil)).Elem()
   405  }
   406  
   407  func (o MaintenanceWindowArrayOutput) ToMaintenanceWindowArrayOutput() MaintenanceWindowArrayOutput {
   408  	return o
   409  }
   410  
   411  func (o MaintenanceWindowArrayOutput) ToMaintenanceWindowArrayOutputWithContext(ctx context.Context) MaintenanceWindowArrayOutput {
   412  	return o
   413  }
   414  
   415  func (o MaintenanceWindowArrayOutput) Index(i pulumi.IntInput) MaintenanceWindowOutput {
   416  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *MaintenanceWindow {
   417  		return vs[0].([]*MaintenanceWindow)[vs[1].(int)]
   418  	}).(MaintenanceWindowOutput)
   419  }
   420  
   421  type MaintenanceWindowMapOutput struct{ *pulumi.OutputState }
   422  
   423  func (MaintenanceWindowMapOutput) ElementType() reflect.Type {
   424  	return reflect.TypeOf((*map[string]*MaintenanceWindow)(nil)).Elem()
   425  }
   426  
   427  func (o MaintenanceWindowMapOutput) ToMaintenanceWindowMapOutput() MaintenanceWindowMapOutput {
   428  	return o
   429  }
   430  
   431  func (o MaintenanceWindowMapOutput) ToMaintenanceWindowMapOutputWithContext(ctx context.Context) MaintenanceWindowMapOutput {
   432  	return o
   433  }
   434  
   435  func (o MaintenanceWindowMapOutput) MapIndex(k pulumi.StringInput) MaintenanceWindowOutput {
   436  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *MaintenanceWindow {
   437  		return vs[0].(map[string]*MaintenanceWindow)[vs[1].(string)]
   438  	}).(MaintenanceWindowOutput)
   439  }
   440  
   441  func init() {
   442  	pulumi.RegisterInputType(reflect.TypeOf((*MaintenanceWindowInput)(nil)).Elem(), &MaintenanceWindow{})
   443  	pulumi.RegisterInputType(reflect.TypeOf((*MaintenanceWindowArrayInput)(nil)).Elem(), MaintenanceWindowArray{})
   444  	pulumi.RegisterInputType(reflect.TypeOf((*MaintenanceWindowMapInput)(nil)).Elem(), MaintenanceWindowMap{})
   445  	pulumi.RegisterOutputType(MaintenanceWindowOutput{})
   446  	pulumi.RegisterOutputType(MaintenanceWindowArrayOutput{})
   447  	pulumi.RegisterOutputType(MaintenanceWindowMapOutput{})
   448  }