github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/ssm/contactsRotation.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  // ## Example Usage
    16  //
    17  // ### Basic 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.NewContactsRotation(ctx, "example", &ssm.ContactsRotationArgs{
    33  //				ContactIds: pulumi.StringArray{
    34  //					exampleAwsSsmcontactsContact.Arn,
    35  //				},
    36  //				Name: pulumi.String("rotation"),
    37  //				Recurrence: &ssm.ContactsRotationRecurrenceArgs{
    38  //					NumberOfOnCalls:      pulumi.Int(1),
    39  //					RecurrenceMultiplier: pulumi.Int(1),
    40  //					DailySettings: ssm.ContactsRotationRecurrenceDailySettingArray{
    41  //						&ssm.ContactsRotationRecurrenceDailySettingArgs{
    42  //							HourOfDay:    pulumi.Int(9),
    43  //							MinuteOfHour: pulumi.Int(0),
    44  //						},
    45  //					},
    46  //				},
    47  //				TimeZoneId: pulumi.String("Australia/Sydney"),
    48  //			}, pulumi.DependsOn([]pulumi.Resource{
    49  //				exampleAwsSsmincidentsReplicationSet,
    50  //			}))
    51  //			if err != nil {
    52  //				return err
    53  //			}
    54  //			return nil
    55  //		})
    56  //	}
    57  //
    58  // ```
    59  // <!--End PulumiCodeChooser -->
    60  //
    61  // ### Usage with Weekly Settings and Shift Coverages Fields
    62  //
    63  // <!--Start PulumiCodeChooser -->
    64  // ```go
    65  // package main
    66  //
    67  // import (
    68  //
    69  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm"
    70  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    71  //
    72  // )
    73  //
    74  //	func main() {
    75  //		pulumi.Run(func(ctx *pulumi.Context) error {
    76  //			_, err := ssm.NewContactsRotation(ctx, "example", &ssm.ContactsRotationArgs{
    77  //				ContactIds: pulumi.StringArray{
    78  //					exampleAwsSsmcontactsContact.Arn,
    79  //				},
    80  //				Name: pulumi.String("rotation"),
    81  //				Recurrence: &ssm.ContactsRotationRecurrenceArgs{
    82  //					NumberOfOnCalls:      pulumi.Int(1),
    83  //					RecurrenceMultiplier: pulumi.Int(1),
    84  //					WeeklySettings: ssm.ContactsRotationRecurrenceWeeklySettingArray{
    85  //						&ssm.ContactsRotationRecurrenceWeeklySettingArgs{
    86  //							DayOfWeek: pulumi.String("WED"),
    87  //							HandOffTime: &ssm.ContactsRotationRecurrenceWeeklySettingHandOffTimeArgs{
    88  //								HourOfDay:    pulumi.Int(4),
    89  //								MinuteOfHour: pulumi.Int(25),
    90  //							},
    91  //						},
    92  //						&ssm.ContactsRotationRecurrenceWeeklySettingArgs{
    93  //							DayOfWeek: pulumi.String("FRI"),
    94  //							HandOffTime: &ssm.ContactsRotationRecurrenceWeeklySettingHandOffTimeArgs{
    95  //								HourOfDay:    pulumi.Int(15),
    96  //								MinuteOfHour: pulumi.Int(57),
    97  //							},
    98  //						},
    99  //					},
   100  //					ShiftCoverages: ssm.ContactsRotationRecurrenceShiftCoverageArray{
   101  //						&ssm.ContactsRotationRecurrenceShiftCoverageArgs{
   102  //							MapBlockKey: pulumi.String("MON"),
   103  //							CoverageTimes: ssm.ContactsRotationRecurrenceShiftCoverageCoverageTimeArray{
   104  //								&ssm.ContactsRotationRecurrenceShiftCoverageCoverageTimeArgs{
   105  //									Start: &ssm.ContactsRotationRecurrenceShiftCoverageCoverageTimeStartArgs{
   106  //										HourOfDay:    pulumi.Int(1),
   107  //										MinuteOfHour: pulumi.Int(0),
   108  //									},
   109  //									End: &ssm.ContactsRotationRecurrenceShiftCoverageCoverageTimeEndArgs{
   110  //										HourOfDay:    pulumi.Int(23),
   111  //										MinuteOfHour: pulumi.Int(0),
   112  //									},
   113  //								},
   114  //							},
   115  //						},
   116  //					},
   117  //				},
   118  //				StartTime:  pulumi.String("2023-07-20T02:21:49+00:00"),
   119  //				TimeZoneId: pulumi.String("Australia/Sydney"),
   120  //				Tags: pulumi.StringMap{
   121  //					"key1": pulumi.String("tag1"),
   122  //					"key2": pulumi.String("tag2"),
   123  //				},
   124  //			}, pulumi.DependsOn([]pulumi.Resource{
   125  //				exampleAwsSsmincidentsReplicationSet,
   126  //			}))
   127  //			if err != nil {
   128  //				return err
   129  //			}
   130  //			return nil
   131  //		})
   132  //	}
   133  //
   134  // ```
   135  // <!--End PulumiCodeChooser -->
   136  //
   137  // ### Usage with Monthly Settings Fields
   138  //
   139  // <!--Start PulumiCodeChooser -->
   140  // ```go
   141  // package main
   142  //
   143  // import (
   144  //
   145  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm"
   146  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
   147  //
   148  // )
   149  //
   150  //	func main() {
   151  //		pulumi.Run(func(ctx *pulumi.Context) error {
   152  //			_, err := ssm.NewContactsRotation(ctx, "example", &ssm.ContactsRotationArgs{
   153  //				ContactIds: pulumi.StringArray{
   154  //					exampleAwsSsmcontactsContact.Arn,
   155  //				},
   156  //				Name: pulumi.String("rotation"),
   157  //				Recurrence: &ssm.ContactsRotationRecurrenceArgs{
   158  //					NumberOfOnCalls:      pulumi.Int(1),
   159  //					RecurrenceMultiplier: pulumi.Int(1),
   160  //					MonthlySettings: ssm.ContactsRotationRecurrenceMonthlySettingArray{
   161  //						&ssm.ContactsRotationRecurrenceMonthlySettingArgs{
   162  //							DayOfMonth: pulumi.Int(20),
   163  //							HandOffTime: &ssm.ContactsRotationRecurrenceMonthlySettingHandOffTimeArgs{
   164  //								HourOfDay:    pulumi.Int(8),
   165  //								MinuteOfHour: pulumi.Int(0),
   166  //							},
   167  //						},
   168  //						&ssm.ContactsRotationRecurrenceMonthlySettingArgs{
   169  //							DayOfMonth: pulumi.Int(13),
   170  //							HandOffTime: &ssm.ContactsRotationRecurrenceMonthlySettingHandOffTimeArgs{
   171  //								HourOfDay:    pulumi.Int(12),
   172  //								MinuteOfHour: pulumi.Int(34),
   173  //							},
   174  //						},
   175  //					},
   176  //				},
   177  //				TimeZoneId: pulumi.String("Australia/Sydney"),
   178  //			}, pulumi.DependsOn([]pulumi.Resource{
   179  //				exampleAwsSsmincidentsReplicationSet,
   180  //			}))
   181  //			if err != nil {
   182  //				return err
   183  //			}
   184  //			return nil
   185  //		})
   186  //	}
   187  //
   188  // ```
   189  // <!--End PulumiCodeChooser -->
   190  //
   191  // ## Import
   192  //
   193  // Using `pulumi import`, import CodeGuru Profiler Profiling Group using the `arn`. For example:
   194  //
   195  // ```sh
   196  // $ pulumi import aws:ssm/contactsRotation:ContactsRotation example arn:aws:ssm-contacts:us-east-1:012345678910:rotation/example
   197  // ```
   198  type ContactsRotation struct {
   199  	pulumi.CustomResourceState
   200  
   201  	// The Amazon Resource Name (ARN) of the rotation.
   202  	Arn pulumi.StringOutput `pulumi:"arn"`
   203  	// Amazon Resource Names (ARNs) of the contacts to add to the rotation. The order in which you list the contacts is their shift order in the rotation schedule.
   204  	ContactIds pulumi.StringArrayOutput `pulumi:"contactIds"`
   205  	// The name for the rotation.
   206  	Name pulumi.StringOutput `pulumi:"name"`
   207  	// Information about when an on-call rotation is in effect and how long the rotation period lasts. Exactly one of either `dailySettings`, `monthlySettings`, or `weeklySettings` must be populated. See Recurrence for more details.
   208  	//
   209  	// The following arguments are optional:
   210  	Recurrence ContactsRotationRecurrencePtrOutput `pulumi:"recurrence"`
   211  	// The date and time, in RFC 3339 format, that the rotation goes into effect.
   212  	StartTime pulumi.StringPtrOutput `pulumi:"startTime"`
   213  	// 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.
   214  	Tags pulumi.StringMapOutput `pulumi:"tags"`
   215  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   216  	//
   217  	// Deprecated: Please use `tags` instead.
   218  	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
   219  	// The time zone to base the rotation’s activity on in Internet Assigned Numbers Authority (IANA) format.
   220  	TimeZoneId pulumi.StringOutput `pulumi:"timeZoneId"`
   221  }
   222  
   223  // NewContactsRotation registers a new resource with the given unique name, arguments, and options.
   224  func NewContactsRotation(ctx *pulumi.Context,
   225  	name string, args *ContactsRotationArgs, opts ...pulumi.ResourceOption) (*ContactsRotation, error) {
   226  	if args == nil {
   227  		return nil, errors.New("missing one or more required arguments")
   228  	}
   229  
   230  	if args.ContactIds == nil {
   231  		return nil, errors.New("invalid value for required argument 'ContactIds'")
   232  	}
   233  	if args.TimeZoneId == nil {
   234  		return nil, errors.New("invalid value for required argument 'TimeZoneId'")
   235  	}
   236  	opts = internal.PkgResourceDefaultOpts(opts)
   237  	var resource ContactsRotation
   238  	err := ctx.RegisterResource("aws:ssm/contactsRotation:ContactsRotation", name, args, &resource, opts...)
   239  	if err != nil {
   240  		return nil, err
   241  	}
   242  	return &resource, nil
   243  }
   244  
   245  // GetContactsRotation gets an existing ContactsRotation resource's state with the given name, ID, and optional
   246  // state properties that are used to uniquely qualify the lookup (nil if not required).
   247  func GetContactsRotation(ctx *pulumi.Context,
   248  	name string, id pulumi.IDInput, state *ContactsRotationState, opts ...pulumi.ResourceOption) (*ContactsRotation, error) {
   249  	var resource ContactsRotation
   250  	err := ctx.ReadResource("aws:ssm/contactsRotation:ContactsRotation", name, id, state, &resource, opts...)
   251  	if err != nil {
   252  		return nil, err
   253  	}
   254  	return &resource, nil
   255  }
   256  
   257  // Input properties used for looking up and filtering ContactsRotation resources.
   258  type contactsRotationState struct {
   259  	// The Amazon Resource Name (ARN) of the rotation.
   260  	Arn *string `pulumi:"arn"`
   261  	// Amazon Resource Names (ARNs) of the contacts to add to the rotation. The order in which you list the contacts is their shift order in the rotation schedule.
   262  	ContactIds []string `pulumi:"contactIds"`
   263  	// The name for the rotation.
   264  	Name *string `pulumi:"name"`
   265  	// Information about when an on-call rotation is in effect and how long the rotation period lasts. Exactly one of either `dailySettings`, `monthlySettings`, or `weeklySettings` must be populated. See Recurrence for more details.
   266  	//
   267  	// The following arguments are optional:
   268  	Recurrence *ContactsRotationRecurrence `pulumi:"recurrence"`
   269  	// The date and time, in RFC 3339 format, that the rotation goes into effect.
   270  	StartTime *string `pulumi:"startTime"`
   271  	// 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.
   272  	Tags map[string]string `pulumi:"tags"`
   273  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   274  	//
   275  	// Deprecated: Please use `tags` instead.
   276  	TagsAll map[string]string `pulumi:"tagsAll"`
   277  	// The time zone to base the rotation’s activity on in Internet Assigned Numbers Authority (IANA) format.
   278  	TimeZoneId *string `pulumi:"timeZoneId"`
   279  }
   280  
   281  type ContactsRotationState struct {
   282  	// The Amazon Resource Name (ARN) of the rotation.
   283  	Arn pulumi.StringPtrInput
   284  	// Amazon Resource Names (ARNs) of the contacts to add to the rotation. The order in which you list the contacts is their shift order in the rotation schedule.
   285  	ContactIds pulumi.StringArrayInput
   286  	// The name for the rotation.
   287  	Name pulumi.StringPtrInput
   288  	// Information about when an on-call rotation is in effect and how long the rotation period lasts. Exactly one of either `dailySettings`, `monthlySettings`, or `weeklySettings` must be populated. See Recurrence for more details.
   289  	//
   290  	// The following arguments are optional:
   291  	Recurrence ContactsRotationRecurrencePtrInput
   292  	// The date and time, in RFC 3339 format, that the rotation goes into effect.
   293  	StartTime pulumi.StringPtrInput
   294  	// 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.
   295  	Tags pulumi.StringMapInput
   296  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   297  	//
   298  	// Deprecated: Please use `tags` instead.
   299  	TagsAll pulumi.StringMapInput
   300  	// The time zone to base the rotation’s activity on in Internet Assigned Numbers Authority (IANA) format.
   301  	TimeZoneId pulumi.StringPtrInput
   302  }
   303  
   304  func (ContactsRotationState) ElementType() reflect.Type {
   305  	return reflect.TypeOf((*contactsRotationState)(nil)).Elem()
   306  }
   307  
   308  type contactsRotationArgs struct {
   309  	// Amazon Resource Names (ARNs) of the contacts to add to the rotation. The order in which you list the contacts is their shift order in the rotation schedule.
   310  	ContactIds []string `pulumi:"contactIds"`
   311  	// The name for the rotation.
   312  	Name *string `pulumi:"name"`
   313  	// Information about when an on-call rotation is in effect and how long the rotation period lasts. Exactly one of either `dailySettings`, `monthlySettings`, or `weeklySettings` must be populated. See Recurrence for more details.
   314  	//
   315  	// The following arguments are optional:
   316  	Recurrence *ContactsRotationRecurrence `pulumi:"recurrence"`
   317  	// The date and time, in RFC 3339 format, that the rotation goes into effect.
   318  	StartTime *string `pulumi:"startTime"`
   319  	// 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.
   320  	Tags map[string]string `pulumi:"tags"`
   321  	// The time zone to base the rotation’s activity on in Internet Assigned Numbers Authority (IANA) format.
   322  	TimeZoneId string `pulumi:"timeZoneId"`
   323  }
   324  
   325  // The set of arguments for constructing a ContactsRotation resource.
   326  type ContactsRotationArgs struct {
   327  	// Amazon Resource Names (ARNs) of the contacts to add to the rotation. The order in which you list the contacts is their shift order in the rotation schedule.
   328  	ContactIds pulumi.StringArrayInput
   329  	// The name for the rotation.
   330  	Name pulumi.StringPtrInput
   331  	// Information about when an on-call rotation is in effect and how long the rotation period lasts. Exactly one of either `dailySettings`, `monthlySettings`, or `weeklySettings` must be populated. See Recurrence for more details.
   332  	//
   333  	// The following arguments are optional:
   334  	Recurrence ContactsRotationRecurrencePtrInput
   335  	// The date and time, in RFC 3339 format, that the rotation goes into effect.
   336  	StartTime pulumi.StringPtrInput
   337  	// 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.
   338  	Tags pulumi.StringMapInput
   339  	// The time zone to base the rotation’s activity on in Internet Assigned Numbers Authority (IANA) format.
   340  	TimeZoneId pulumi.StringInput
   341  }
   342  
   343  func (ContactsRotationArgs) ElementType() reflect.Type {
   344  	return reflect.TypeOf((*contactsRotationArgs)(nil)).Elem()
   345  }
   346  
   347  type ContactsRotationInput interface {
   348  	pulumi.Input
   349  
   350  	ToContactsRotationOutput() ContactsRotationOutput
   351  	ToContactsRotationOutputWithContext(ctx context.Context) ContactsRotationOutput
   352  }
   353  
   354  func (*ContactsRotation) ElementType() reflect.Type {
   355  	return reflect.TypeOf((**ContactsRotation)(nil)).Elem()
   356  }
   357  
   358  func (i *ContactsRotation) ToContactsRotationOutput() ContactsRotationOutput {
   359  	return i.ToContactsRotationOutputWithContext(context.Background())
   360  }
   361  
   362  func (i *ContactsRotation) ToContactsRotationOutputWithContext(ctx context.Context) ContactsRotationOutput {
   363  	return pulumi.ToOutputWithContext(ctx, i).(ContactsRotationOutput)
   364  }
   365  
   366  // ContactsRotationArrayInput is an input type that accepts ContactsRotationArray and ContactsRotationArrayOutput values.
   367  // You can construct a concrete instance of `ContactsRotationArrayInput` via:
   368  //
   369  //	ContactsRotationArray{ ContactsRotationArgs{...} }
   370  type ContactsRotationArrayInput interface {
   371  	pulumi.Input
   372  
   373  	ToContactsRotationArrayOutput() ContactsRotationArrayOutput
   374  	ToContactsRotationArrayOutputWithContext(context.Context) ContactsRotationArrayOutput
   375  }
   376  
   377  type ContactsRotationArray []ContactsRotationInput
   378  
   379  func (ContactsRotationArray) ElementType() reflect.Type {
   380  	return reflect.TypeOf((*[]*ContactsRotation)(nil)).Elem()
   381  }
   382  
   383  func (i ContactsRotationArray) ToContactsRotationArrayOutput() ContactsRotationArrayOutput {
   384  	return i.ToContactsRotationArrayOutputWithContext(context.Background())
   385  }
   386  
   387  func (i ContactsRotationArray) ToContactsRotationArrayOutputWithContext(ctx context.Context) ContactsRotationArrayOutput {
   388  	return pulumi.ToOutputWithContext(ctx, i).(ContactsRotationArrayOutput)
   389  }
   390  
   391  // ContactsRotationMapInput is an input type that accepts ContactsRotationMap and ContactsRotationMapOutput values.
   392  // You can construct a concrete instance of `ContactsRotationMapInput` via:
   393  //
   394  //	ContactsRotationMap{ "key": ContactsRotationArgs{...} }
   395  type ContactsRotationMapInput interface {
   396  	pulumi.Input
   397  
   398  	ToContactsRotationMapOutput() ContactsRotationMapOutput
   399  	ToContactsRotationMapOutputWithContext(context.Context) ContactsRotationMapOutput
   400  }
   401  
   402  type ContactsRotationMap map[string]ContactsRotationInput
   403  
   404  func (ContactsRotationMap) ElementType() reflect.Type {
   405  	return reflect.TypeOf((*map[string]*ContactsRotation)(nil)).Elem()
   406  }
   407  
   408  func (i ContactsRotationMap) ToContactsRotationMapOutput() ContactsRotationMapOutput {
   409  	return i.ToContactsRotationMapOutputWithContext(context.Background())
   410  }
   411  
   412  func (i ContactsRotationMap) ToContactsRotationMapOutputWithContext(ctx context.Context) ContactsRotationMapOutput {
   413  	return pulumi.ToOutputWithContext(ctx, i).(ContactsRotationMapOutput)
   414  }
   415  
   416  type ContactsRotationOutput struct{ *pulumi.OutputState }
   417  
   418  func (ContactsRotationOutput) ElementType() reflect.Type {
   419  	return reflect.TypeOf((**ContactsRotation)(nil)).Elem()
   420  }
   421  
   422  func (o ContactsRotationOutput) ToContactsRotationOutput() ContactsRotationOutput {
   423  	return o
   424  }
   425  
   426  func (o ContactsRotationOutput) ToContactsRotationOutputWithContext(ctx context.Context) ContactsRotationOutput {
   427  	return o
   428  }
   429  
   430  // The Amazon Resource Name (ARN) of the rotation.
   431  func (o ContactsRotationOutput) Arn() pulumi.StringOutput {
   432  	return o.ApplyT(func(v *ContactsRotation) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput)
   433  }
   434  
   435  // Amazon Resource Names (ARNs) of the contacts to add to the rotation. The order in which you list the contacts is their shift order in the rotation schedule.
   436  func (o ContactsRotationOutput) ContactIds() pulumi.StringArrayOutput {
   437  	return o.ApplyT(func(v *ContactsRotation) pulumi.StringArrayOutput { return v.ContactIds }).(pulumi.StringArrayOutput)
   438  }
   439  
   440  // The name for the rotation.
   441  func (o ContactsRotationOutput) Name() pulumi.StringOutput {
   442  	return o.ApplyT(func(v *ContactsRotation) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput)
   443  }
   444  
   445  // Information about when an on-call rotation is in effect and how long the rotation period lasts. Exactly one of either `dailySettings`, `monthlySettings`, or `weeklySettings` must be populated. See Recurrence for more details.
   446  //
   447  // The following arguments are optional:
   448  func (o ContactsRotationOutput) Recurrence() ContactsRotationRecurrencePtrOutput {
   449  	return o.ApplyT(func(v *ContactsRotation) ContactsRotationRecurrencePtrOutput { return v.Recurrence }).(ContactsRotationRecurrencePtrOutput)
   450  }
   451  
   452  // The date and time, in RFC 3339 format, that the rotation goes into effect.
   453  func (o ContactsRotationOutput) StartTime() pulumi.StringPtrOutput {
   454  	return o.ApplyT(func(v *ContactsRotation) pulumi.StringPtrOutput { return v.StartTime }).(pulumi.StringPtrOutput)
   455  }
   456  
   457  // 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.
   458  func (o ContactsRotationOutput) Tags() pulumi.StringMapOutput {
   459  	return o.ApplyT(func(v *ContactsRotation) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput)
   460  }
   461  
   462  // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   463  //
   464  // Deprecated: Please use `tags` instead.
   465  func (o ContactsRotationOutput) TagsAll() pulumi.StringMapOutput {
   466  	return o.ApplyT(func(v *ContactsRotation) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput)
   467  }
   468  
   469  // The time zone to base the rotation’s activity on in Internet Assigned Numbers Authority (IANA) format.
   470  func (o ContactsRotationOutput) TimeZoneId() pulumi.StringOutput {
   471  	return o.ApplyT(func(v *ContactsRotation) pulumi.StringOutput { return v.TimeZoneId }).(pulumi.StringOutput)
   472  }
   473  
   474  type ContactsRotationArrayOutput struct{ *pulumi.OutputState }
   475  
   476  func (ContactsRotationArrayOutput) ElementType() reflect.Type {
   477  	return reflect.TypeOf((*[]*ContactsRotation)(nil)).Elem()
   478  }
   479  
   480  func (o ContactsRotationArrayOutput) ToContactsRotationArrayOutput() ContactsRotationArrayOutput {
   481  	return o
   482  }
   483  
   484  func (o ContactsRotationArrayOutput) ToContactsRotationArrayOutputWithContext(ctx context.Context) ContactsRotationArrayOutput {
   485  	return o
   486  }
   487  
   488  func (o ContactsRotationArrayOutput) Index(i pulumi.IntInput) ContactsRotationOutput {
   489  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ContactsRotation {
   490  		return vs[0].([]*ContactsRotation)[vs[1].(int)]
   491  	}).(ContactsRotationOutput)
   492  }
   493  
   494  type ContactsRotationMapOutput struct{ *pulumi.OutputState }
   495  
   496  func (ContactsRotationMapOutput) ElementType() reflect.Type {
   497  	return reflect.TypeOf((*map[string]*ContactsRotation)(nil)).Elem()
   498  }
   499  
   500  func (o ContactsRotationMapOutput) ToContactsRotationMapOutput() ContactsRotationMapOutput {
   501  	return o
   502  }
   503  
   504  func (o ContactsRotationMapOutput) ToContactsRotationMapOutputWithContext(ctx context.Context) ContactsRotationMapOutput {
   505  	return o
   506  }
   507  
   508  func (o ContactsRotationMapOutput) MapIndex(k pulumi.StringInput) ContactsRotationOutput {
   509  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ContactsRotation {
   510  		return vs[0].(map[string]*ContactsRotation)[vs[1].(string)]
   511  	}).(ContactsRotationOutput)
   512  }
   513  
   514  func init() {
   515  	pulumi.RegisterInputType(reflect.TypeOf((*ContactsRotationInput)(nil)).Elem(), &ContactsRotation{})
   516  	pulumi.RegisterInputType(reflect.TypeOf((*ContactsRotationArrayInput)(nil)).Elem(), ContactsRotationArray{})
   517  	pulumi.RegisterInputType(reflect.TypeOf((*ContactsRotationMapInput)(nil)).Elem(), ContactsRotationMap{})
   518  	pulumi.RegisterOutputType(ContactsRotationOutput{})
   519  	pulumi.RegisterOutputType(ContactsRotationArrayOutput{})
   520  	pulumi.RegisterOutputType(ContactsRotationMapOutput{})
   521  }