github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/ssm/maintenanceWindowTask.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 Task resource 16 // 17 // ## Example Usage 18 // 19 // ### Automation Tasks 20 // 21 // <!--Start PulumiCodeChooser --> 22 // ```go 23 // package main 24 // 25 // import ( 26 // 27 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm" 28 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 29 // 30 // ) 31 // 32 // func main() { 33 // pulumi.Run(func(ctx *pulumi.Context) error { 34 // _, err := ssm.NewMaintenanceWindowTask(ctx, "example", &ssm.MaintenanceWindowTaskArgs{ 35 // MaxConcurrency: pulumi.String("2"), 36 // MaxErrors: pulumi.String("1"), 37 // Priority: pulumi.Int(1), 38 // TaskArn: pulumi.String("AWS-RestartEC2Instance"), 39 // TaskType: pulumi.String("AUTOMATION"), 40 // WindowId: pulumi.Any(exampleAwsSsmMaintenanceWindow.Id), 41 // Targets: ssm.MaintenanceWindowTaskTargetArray{ 42 // &ssm.MaintenanceWindowTaskTargetArgs{ 43 // Key: pulumi.String("InstanceIds"), 44 // Values: pulumi.StringArray{ 45 // exampleAwsInstance.Id, 46 // }, 47 // }, 48 // }, 49 // TaskInvocationParameters: &ssm.MaintenanceWindowTaskTaskInvocationParametersArgs{ 50 // AutomationParameters: &ssm.MaintenanceWindowTaskTaskInvocationParametersAutomationParametersArgs{ 51 // DocumentVersion: pulumi.String("$LATEST"), 52 // Parameters: ssm.MaintenanceWindowTaskTaskInvocationParametersAutomationParametersParameterArray{ 53 // &ssm.MaintenanceWindowTaskTaskInvocationParametersAutomationParametersParameterArgs{ 54 // Name: pulumi.String("InstanceId"), 55 // Values: pulumi.StringArray{ 56 // exampleAwsInstance.Id, 57 // }, 58 // }, 59 // }, 60 // }, 61 // }, 62 // }) 63 // if err != nil { 64 // return err 65 // } 66 // return nil 67 // }) 68 // } 69 // 70 // ``` 71 // <!--End PulumiCodeChooser --> 72 // 73 // ### Lambda Tasks 74 // 75 // <!--Start PulumiCodeChooser --> 76 // ```go 77 // package main 78 // 79 // import ( 80 // 81 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm" 82 // "github.com/pulumi/pulumi-std/sdk/go/std" 83 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 84 // 85 // ) 86 // 87 // func main() { 88 // pulumi.Run(func(ctx *pulumi.Context) error { 89 // invokeBase64encode, err := std.Base64encode(ctx, &std.Base64encodeArgs{ 90 // Input: "{\"key1\":\"value1\"}", 91 // }, nil) 92 // if err != nil { 93 // return err 94 // } 95 // _, err = ssm.NewMaintenanceWindowTask(ctx, "example", &ssm.MaintenanceWindowTaskArgs{ 96 // MaxConcurrency: pulumi.String("2"), 97 // MaxErrors: pulumi.String("1"), 98 // Priority: pulumi.Int(1), 99 // TaskArn: pulumi.Any(exampleAwsLambdaFunction.Arn), 100 // TaskType: pulumi.String("LAMBDA"), 101 // WindowId: pulumi.Any(exampleAwsSsmMaintenanceWindow.Id), 102 // Targets: ssm.MaintenanceWindowTaskTargetArray{ 103 // &ssm.MaintenanceWindowTaskTargetArgs{ 104 // Key: pulumi.String("InstanceIds"), 105 // Values: pulumi.StringArray{ 106 // exampleAwsInstance.Id, 107 // }, 108 // }, 109 // }, 110 // TaskInvocationParameters: &ssm.MaintenanceWindowTaskTaskInvocationParametersArgs{ 111 // LambdaParameters: &ssm.MaintenanceWindowTaskTaskInvocationParametersLambdaParametersArgs{ 112 // ClientContext: invokeBase64encode.Result, 113 // Payload: pulumi.String("{\"key1\":\"value1\"}"), 114 // }, 115 // }, 116 // }) 117 // if err != nil { 118 // return err 119 // } 120 // return nil 121 // }) 122 // } 123 // 124 // ``` 125 // <!--End PulumiCodeChooser --> 126 // 127 // ### Run Command Tasks 128 // 129 // <!--Start PulumiCodeChooser --> 130 // ```go 131 // package main 132 // 133 // import ( 134 // 135 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm" 136 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 137 // 138 // ) 139 // 140 // func main() { 141 // pulumi.Run(func(ctx *pulumi.Context) error { 142 // _, err := ssm.NewMaintenanceWindowTask(ctx, "example", &ssm.MaintenanceWindowTaskArgs{ 143 // MaxConcurrency: pulumi.String("2"), 144 // MaxErrors: pulumi.String("1"), 145 // Priority: pulumi.Int(1), 146 // TaskArn: pulumi.String("AWS-RunShellScript"), 147 // TaskType: pulumi.String("RUN_COMMAND"), 148 // WindowId: pulumi.Any(exampleAwsSsmMaintenanceWindow.Id), 149 // Targets: ssm.MaintenanceWindowTaskTargetArray{ 150 // &ssm.MaintenanceWindowTaskTargetArgs{ 151 // Key: pulumi.String("InstanceIds"), 152 // Values: pulumi.StringArray{ 153 // exampleAwsInstance.Id, 154 // }, 155 // }, 156 // }, 157 // TaskInvocationParameters: &ssm.MaintenanceWindowTaskTaskInvocationParametersArgs{ 158 // RunCommandParameters: &ssm.MaintenanceWindowTaskTaskInvocationParametersRunCommandParametersArgs{ 159 // OutputS3Bucket: pulumi.Any(exampleAwsS3Bucket.Id), 160 // OutputS3KeyPrefix: pulumi.String("output"), 161 // ServiceRoleArn: pulumi.Any(exampleAwsIamRole.Arn), 162 // TimeoutSeconds: pulumi.Int(600), 163 // NotificationConfig: &ssm.MaintenanceWindowTaskTaskInvocationParametersRunCommandParametersNotificationConfigArgs{ 164 // NotificationArn: pulumi.Any(exampleAwsSnsTopic.Arn), 165 // NotificationEvents: pulumi.StringArray{ 166 // pulumi.String("All"), 167 // }, 168 // NotificationType: pulumi.String("Command"), 169 // }, 170 // Parameters: ssm.MaintenanceWindowTaskTaskInvocationParametersRunCommandParametersParameterArray{ 171 // &ssm.MaintenanceWindowTaskTaskInvocationParametersRunCommandParametersParameterArgs{ 172 // Name: pulumi.String("commands"), 173 // Values: pulumi.StringArray{ 174 // pulumi.String("date"), 175 // }, 176 // }, 177 // }, 178 // }, 179 // }, 180 // }) 181 // if err != nil { 182 // return err 183 // } 184 // return nil 185 // }) 186 // } 187 // 188 // ``` 189 // <!--End PulumiCodeChooser --> 190 // 191 // ### Step Function Tasks 192 // 193 // <!--Start PulumiCodeChooser --> 194 // ```go 195 // package main 196 // 197 // import ( 198 // 199 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm" 200 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 201 // 202 // ) 203 // 204 // func main() { 205 // pulumi.Run(func(ctx *pulumi.Context) error { 206 // _, err := ssm.NewMaintenanceWindowTask(ctx, "example", &ssm.MaintenanceWindowTaskArgs{ 207 // MaxConcurrency: pulumi.String("2"), 208 // MaxErrors: pulumi.String("1"), 209 // Priority: pulumi.Int(1), 210 // TaskArn: pulumi.Any(exampleAwsSfnActivity.Id), 211 // TaskType: pulumi.String("STEP_FUNCTIONS"), 212 // WindowId: pulumi.Any(exampleAwsSsmMaintenanceWindow.Id), 213 // Targets: ssm.MaintenanceWindowTaskTargetArray{ 214 // &ssm.MaintenanceWindowTaskTargetArgs{ 215 // Key: pulumi.String("InstanceIds"), 216 // Values: pulumi.StringArray{ 217 // exampleAwsInstance.Id, 218 // }, 219 // }, 220 // }, 221 // TaskInvocationParameters: &ssm.MaintenanceWindowTaskTaskInvocationParametersArgs{ 222 // StepFunctionsParameters: &ssm.MaintenanceWindowTaskTaskInvocationParametersStepFunctionsParametersArgs{ 223 // Input: pulumi.String("{\"key1\":\"value1\"}"), 224 // Name: pulumi.String("example"), 225 // }, 226 // }, 227 // }) 228 // if err != nil { 229 // return err 230 // } 231 // return nil 232 // }) 233 // } 234 // 235 // ``` 236 // <!--End PulumiCodeChooser --> 237 // 238 // ## Import 239 // 240 // Using `pulumi import`, import AWS Maintenance Window Task using the `window_id` and `window_task_id` separated by `/`. For example: 241 // 242 // ```sh 243 // $ pulumi import aws:ssm/maintenanceWindowTask:MaintenanceWindowTask task <window_id>/<window_task_id> 244 // ``` 245 type MaintenanceWindowTask struct { 246 pulumi.CustomResourceState 247 248 // The ARN of the maintenance window task. 249 Arn pulumi.StringOutput `pulumi:"arn"` 250 // Indicates whether tasks should continue to run after the cutoff time specified in the maintenance windows is reached. Valid values are `CONTINUE_TASK` and `CANCEL_TASK`. 251 CutoffBehavior pulumi.StringPtrOutput `pulumi:"cutoffBehavior"` 252 // The description of the maintenance window task. 253 Description pulumi.StringPtrOutput `pulumi:"description"` 254 // The maximum number of targets this task can be run for in parallel. 255 MaxConcurrency pulumi.StringOutput `pulumi:"maxConcurrency"` 256 // The maximum number of errors allowed before this task stops being scheduled. 257 MaxErrors pulumi.StringOutput `pulumi:"maxErrors"` 258 // The name of the maintenance window task. 259 Name pulumi.StringOutput `pulumi:"name"` 260 // The priority of the task in the Maintenance Window, the lower the number the higher the priority. Tasks in a Maintenance Window are scheduled in priority order with tasks that have the same priority scheduled in parallel. 261 Priority pulumi.IntPtrOutput `pulumi:"priority"` 262 // The role that should be assumed when executing the task. If a role is not provided, Systems Manager uses your account's service-linked role. If no service-linked role for Systems Manager exists in your account, it is created for you. 263 ServiceRoleArn pulumi.StringOutput `pulumi:"serviceRoleArn"` 264 // The targets (either instances or window target ids). Instances are specified using Key=InstanceIds,Values=instanceid1,instanceid2. Window target ids are specified using Key=WindowTargetIds,Values=window target id1, window target id2. 265 Targets MaintenanceWindowTaskTargetArrayOutput `pulumi:"targets"` 266 // The ARN of the task to execute. 267 TaskArn pulumi.StringOutput `pulumi:"taskArn"` 268 // Configuration block with parameters for task execution. 269 TaskInvocationParameters MaintenanceWindowTaskTaskInvocationParametersPtrOutput `pulumi:"taskInvocationParameters"` 270 // The type of task being registered. Valid values: `AUTOMATION`, `LAMBDA`, `RUN_COMMAND` or `STEP_FUNCTIONS`. 271 TaskType pulumi.StringOutput `pulumi:"taskType"` 272 // The Id of the maintenance window to register the task with. 273 WindowId pulumi.StringOutput `pulumi:"windowId"` 274 // The ID of the maintenance window task. 275 WindowTaskId pulumi.StringOutput `pulumi:"windowTaskId"` 276 } 277 278 // NewMaintenanceWindowTask registers a new resource with the given unique name, arguments, and options. 279 func NewMaintenanceWindowTask(ctx *pulumi.Context, 280 name string, args *MaintenanceWindowTaskArgs, opts ...pulumi.ResourceOption) (*MaintenanceWindowTask, error) { 281 if args == nil { 282 return nil, errors.New("missing one or more required arguments") 283 } 284 285 if args.TaskArn == nil { 286 return nil, errors.New("invalid value for required argument 'TaskArn'") 287 } 288 if args.TaskType == nil { 289 return nil, errors.New("invalid value for required argument 'TaskType'") 290 } 291 if args.WindowId == nil { 292 return nil, errors.New("invalid value for required argument 'WindowId'") 293 } 294 opts = internal.PkgResourceDefaultOpts(opts) 295 var resource MaintenanceWindowTask 296 err := ctx.RegisterResource("aws:ssm/maintenanceWindowTask:MaintenanceWindowTask", name, args, &resource, opts...) 297 if err != nil { 298 return nil, err 299 } 300 return &resource, nil 301 } 302 303 // GetMaintenanceWindowTask gets an existing MaintenanceWindowTask resource's state with the given name, ID, and optional 304 // state properties that are used to uniquely qualify the lookup (nil if not required). 305 func GetMaintenanceWindowTask(ctx *pulumi.Context, 306 name string, id pulumi.IDInput, state *MaintenanceWindowTaskState, opts ...pulumi.ResourceOption) (*MaintenanceWindowTask, error) { 307 var resource MaintenanceWindowTask 308 err := ctx.ReadResource("aws:ssm/maintenanceWindowTask:MaintenanceWindowTask", name, id, state, &resource, opts...) 309 if err != nil { 310 return nil, err 311 } 312 return &resource, nil 313 } 314 315 // Input properties used for looking up and filtering MaintenanceWindowTask resources. 316 type maintenanceWindowTaskState struct { 317 // The ARN of the maintenance window task. 318 Arn *string `pulumi:"arn"` 319 // Indicates whether tasks should continue to run after the cutoff time specified in the maintenance windows is reached. Valid values are `CONTINUE_TASK` and `CANCEL_TASK`. 320 CutoffBehavior *string `pulumi:"cutoffBehavior"` 321 // The description of the maintenance window task. 322 Description *string `pulumi:"description"` 323 // The maximum number of targets this task can be run for in parallel. 324 MaxConcurrency *string `pulumi:"maxConcurrency"` 325 // The maximum number of errors allowed before this task stops being scheduled. 326 MaxErrors *string `pulumi:"maxErrors"` 327 // The name of the maintenance window task. 328 Name *string `pulumi:"name"` 329 // The priority of the task in the Maintenance Window, the lower the number the higher the priority. Tasks in a Maintenance Window are scheduled in priority order with tasks that have the same priority scheduled in parallel. 330 Priority *int `pulumi:"priority"` 331 // The role that should be assumed when executing the task. If a role is not provided, Systems Manager uses your account's service-linked role. If no service-linked role for Systems Manager exists in your account, it is created for you. 332 ServiceRoleArn *string `pulumi:"serviceRoleArn"` 333 // The targets (either instances or window target ids). Instances are specified using Key=InstanceIds,Values=instanceid1,instanceid2. Window target ids are specified using Key=WindowTargetIds,Values=window target id1, window target id2. 334 Targets []MaintenanceWindowTaskTarget `pulumi:"targets"` 335 // The ARN of the task to execute. 336 TaskArn *string `pulumi:"taskArn"` 337 // Configuration block with parameters for task execution. 338 TaskInvocationParameters *MaintenanceWindowTaskTaskInvocationParameters `pulumi:"taskInvocationParameters"` 339 // The type of task being registered. Valid values: `AUTOMATION`, `LAMBDA`, `RUN_COMMAND` or `STEP_FUNCTIONS`. 340 TaskType *string `pulumi:"taskType"` 341 // The Id of the maintenance window to register the task with. 342 WindowId *string `pulumi:"windowId"` 343 // The ID of the maintenance window task. 344 WindowTaskId *string `pulumi:"windowTaskId"` 345 } 346 347 type MaintenanceWindowTaskState struct { 348 // The ARN of the maintenance window task. 349 Arn pulumi.StringPtrInput 350 // Indicates whether tasks should continue to run after the cutoff time specified in the maintenance windows is reached. Valid values are `CONTINUE_TASK` and `CANCEL_TASK`. 351 CutoffBehavior pulumi.StringPtrInput 352 // The description of the maintenance window task. 353 Description pulumi.StringPtrInput 354 // The maximum number of targets this task can be run for in parallel. 355 MaxConcurrency pulumi.StringPtrInput 356 // The maximum number of errors allowed before this task stops being scheduled. 357 MaxErrors pulumi.StringPtrInput 358 // The name of the maintenance window task. 359 Name pulumi.StringPtrInput 360 // The priority of the task in the Maintenance Window, the lower the number the higher the priority. Tasks in a Maintenance Window are scheduled in priority order with tasks that have the same priority scheduled in parallel. 361 Priority pulumi.IntPtrInput 362 // The role that should be assumed when executing the task. If a role is not provided, Systems Manager uses your account's service-linked role. If no service-linked role for Systems Manager exists in your account, it is created for you. 363 ServiceRoleArn pulumi.StringPtrInput 364 // The targets (either instances or window target ids). Instances are specified using Key=InstanceIds,Values=instanceid1,instanceid2. Window target ids are specified using Key=WindowTargetIds,Values=window target id1, window target id2. 365 Targets MaintenanceWindowTaskTargetArrayInput 366 // The ARN of the task to execute. 367 TaskArn pulumi.StringPtrInput 368 // Configuration block with parameters for task execution. 369 TaskInvocationParameters MaintenanceWindowTaskTaskInvocationParametersPtrInput 370 // The type of task being registered. Valid values: `AUTOMATION`, `LAMBDA`, `RUN_COMMAND` or `STEP_FUNCTIONS`. 371 TaskType pulumi.StringPtrInput 372 // The Id of the maintenance window to register the task with. 373 WindowId pulumi.StringPtrInput 374 // The ID of the maintenance window task. 375 WindowTaskId pulumi.StringPtrInput 376 } 377 378 func (MaintenanceWindowTaskState) ElementType() reflect.Type { 379 return reflect.TypeOf((*maintenanceWindowTaskState)(nil)).Elem() 380 } 381 382 type maintenanceWindowTaskArgs struct { 383 // Indicates whether tasks should continue to run after the cutoff time specified in the maintenance windows is reached. Valid values are `CONTINUE_TASK` and `CANCEL_TASK`. 384 CutoffBehavior *string `pulumi:"cutoffBehavior"` 385 // The description of the maintenance window task. 386 Description *string `pulumi:"description"` 387 // The maximum number of targets this task can be run for in parallel. 388 MaxConcurrency *string `pulumi:"maxConcurrency"` 389 // The maximum number of errors allowed before this task stops being scheduled. 390 MaxErrors *string `pulumi:"maxErrors"` 391 // The name of the maintenance window task. 392 Name *string `pulumi:"name"` 393 // The priority of the task in the Maintenance Window, the lower the number the higher the priority. Tasks in a Maintenance Window are scheduled in priority order with tasks that have the same priority scheduled in parallel. 394 Priority *int `pulumi:"priority"` 395 // The role that should be assumed when executing the task. If a role is not provided, Systems Manager uses your account's service-linked role. If no service-linked role for Systems Manager exists in your account, it is created for you. 396 ServiceRoleArn *string `pulumi:"serviceRoleArn"` 397 // The targets (either instances or window target ids). Instances are specified using Key=InstanceIds,Values=instanceid1,instanceid2. Window target ids are specified using Key=WindowTargetIds,Values=window target id1, window target id2. 398 Targets []MaintenanceWindowTaskTarget `pulumi:"targets"` 399 // The ARN of the task to execute. 400 TaskArn string `pulumi:"taskArn"` 401 // Configuration block with parameters for task execution. 402 TaskInvocationParameters *MaintenanceWindowTaskTaskInvocationParameters `pulumi:"taskInvocationParameters"` 403 // The type of task being registered. Valid values: `AUTOMATION`, `LAMBDA`, `RUN_COMMAND` or `STEP_FUNCTIONS`. 404 TaskType string `pulumi:"taskType"` 405 // The Id of the maintenance window to register the task with. 406 WindowId string `pulumi:"windowId"` 407 } 408 409 // The set of arguments for constructing a MaintenanceWindowTask resource. 410 type MaintenanceWindowTaskArgs struct { 411 // Indicates whether tasks should continue to run after the cutoff time specified in the maintenance windows is reached. Valid values are `CONTINUE_TASK` and `CANCEL_TASK`. 412 CutoffBehavior pulumi.StringPtrInput 413 // The description of the maintenance window task. 414 Description pulumi.StringPtrInput 415 // The maximum number of targets this task can be run for in parallel. 416 MaxConcurrency pulumi.StringPtrInput 417 // The maximum number of errors allowed before this task stops being scheduled. 418 MaxErrors pulumi.StringPtrInput 419 // The name of the maintenance window task. 420 Name pulumi.StringPtrInput 421 // The priority of the task in the Maintenance Window, the lower the number the higher the priority. Tasks in a Maintenance Window are scheduled in priority order with tasks that have the same priority scheduled in parallel. 422 Priority pulumi.IntPtrInput 423 // The role that should be assumed when executing the task. If a role is not provided, Systems Manager uses your account's service-linked role. If no service-linked role for Systems Manager exists in your account, it is created for you. 424 ServiceRoleArn pulumi.StringPtrInput 425 // The targets (either instances or window target ids). Instances are specified using Key=InstanceIds,Values=instanceid1,instanceid2. Window target ids are specified using Key=WindowTargetIds,Values=window target id1, window target id2. 426 Targets MaintenanceWindowTaskTargetArrayInput 427 // The ARN of the task to execute. 428 TaskArn pulumi.StringInput 429 // Configuration block with parameters for task execution. 430 TaskInvocationParameters MaintenanceWindowTaskTaskInvocationParametersPtrInput 431 // The type of task being registered. Valid values: `AUTOMATION`, `LAMBDA`, `RUN_COMMAND` or `STEP_FUNCTIONS`. 432 TaskType pulumi.StringInput 433 // The Id of the maintenance window to register the task with. 434 WindowId pulumi.StringInput 435 } 436 437 func (MaintenanceWindowTaskArgs) ElementType() reflect.Type { 438 return reflect.TypeOf((*maintenanceWindowTaskArgs)(nil)).Elem() 439 } 440 441 type MaintenanceWindowTaskInput interface { 442 pulumi.Input 443 444 ToMaintenanceWindowTaskOutput() MaintenanceWindowTaskOutput 445 ToMaintenanceWindowTaskOutputWithContext(ctx context.Context) MaintenanceWindowTaskOutput 446 } 447 448 func (*MaintenanceWindowTask) ElementType() reflect.Type { 449 return reflect.TypeOf((**MaintenanceWindowTask)(nil)).Elem() 450 } 451 452 func (i *MaintenanceWindowTask) ToMaintenanceWindowTaskOutput() MaintenanceWindowTaskOutput { 453 return i.ToMaintenanceWindowTaskOutputWithContext(context.Background()) 454 } 455 456 func (i *MaintenanceWindowTask) ToMaintenanceWindowTaskOutputWithContext(ctx context.Context) MaintenanceWindowTaskOutput { 457 return pulumi.ToOutputWithContext(ctx, i).(MaintenanceWindowTaskOutput) 458 } 459 460 // MaintenanceWindowTaskArrayInput is an input type that accepts MaintenanceWindowTaskArray and MaintenanceWindowTaskArrayOutput values. 461 // You can construct a concrete instance of `MaintenanceWindowTaskArrayInput` via: 462 // 463 // MaintenanceWindowTaskArray{ MaintenanceWindowTaskArgs{...} } 464 type MaintenanceWindowTaskArrayInput interface { 465 pulumi.Input 466 467 ToMaintenanceWindowTaskArrayOutput() MaintenanceWindowTaskArrayOutput 468 ToMaintenanceWindowTaskArrayOutputWithContext(context.Context) MaintenanceWindowTaskArrayOutput 469 } 470 471 type MaintenanceWindowTaskArray []MaintenanceWindowTaskInput 472 473 func (MaintenanceWindowTaskArray) ElementType() reflect.Type { 474 return reflect.TypeOf((*[]*MaintenanceWindowTask)(nil)).Elem() 475 } 476 477 func (i MaintenanceWindowTaskArray) ToMaintenanceWindowTaskArrayOutput() MaintenanceWindowTaskArrayOutput { 478 return i.ToMaintenanceWindowTaskArrayOutputWithContext(context.Background()) 479 } 480 481 func (i MaintenanceWindowTaskArray) ToMaintenanceWindowTaskArrayOutputWithContext(ctx context.Context) MaintenanceWindowTaskArrayOutput { 482 return pulumi.ToOutputWithContext(ctx, i).(MaintenanceWindowTaskArrayOutput) 483 } 484 485 // MaintenanceWindowTaskMapInput is an input type that accepts MaintenanceWindowTaskMap and MaintenanceWindowTaskMapOutput values. 486 // You can construct a concrete instance of `MaintenanceWindowTaskMapInput` via: 487 // 488 // MaintenanceWindowTaskMap{ "key": MaintenanceWindowTaskArgs{...} } 489 type MaintenanceWindowTaskMapInput interface { 490 pulumi.Input 491 492 ToMaintenanceWindowTaskMapOutput() MaintenanceWindowTaskMapOutput 493 ToMaintenanceWindowTaskMapOutputWithContext(context.Context) MaintenanceWindowTaskMapOutput 494 } 495 496 type MaintenanceWindowTaskMap map[string]MaintenanceWindowTaskInput 497 498 func (MaintenanceWindowTaskMap) ElementType() reflect.Type { 499 return reflect.TypeOf((*map[string]*MaintenanceWindowTask)(nil)).Elem() 500 } 501 502 func (i MaintenanceWindowTaskMap) ToMaintenanceWindowTaskMapOutput() MaintenanceWindowTaskMapOutput { 503 return i.ToMaintenanceWindowTaskMapOutputWithContext(context.Background()) 504 } 505 506 func (i MaintenanceWindowTaskMap) ToMaintenanceWindowTaskMapOutputWithContext(ctx context.Context) MaintenanceWindowTaskMapOutput { 507 return pulumi.ToOutputWithContext(ctx, i).(MaintenanceWindowTaskMapOutput) 508 } 509 510 type MaintenanceWindowTaskOutput struct{ *pulumi.OutputState } 511 512 func (MaintenanceWindowTaskOutput) ElementType() reflect.Type { 513 return reflect.TypeOf((**MaintenanceWindowTask)(nil)).Elem() 514 } 515 516 func (o MaintenanceWindowTaskOutput) ToMaintenanceWindowTaskOutput() MaintenanceWindowTaskOutput { 517 return o 518 } 519 520 func (o MaintenanceWindowTaskOutput) ToMaintenanceWindowTaskOutputWithContext(ctx context.Context) MaintenanceWindowTaskOutput { 521 return o 522 } 523 524 // The ARN of the maintenance window task. 525 func (o MaintenanceWindowTaskOutput) Arn() pulumi.StringOutput { 526 return o.ApplyT(func(v *MaintenanceWindowTask) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 527 } 528 529 // Indicates whether tasks should continue to run after the cutoff time specified in the maintenance windows is reached. Valid values are `CONTINUE_TASK` and `CANCEL_TASK`. 530 func (o MaintenanceWindowTaskOutput) CutoffBehavior() pulumi.StringPtrOutput { 531 return o.ApplyT(func(v *MaintenanceWindowTask) pulumi.StringPtrOutput { return v.CutoffBehavior }).(pulumi.StringPtrOutput) 532 } 533 534 // The description of the maintenance window task. 535 func (o MaintenanceWindowTaskOutput) Description() pulumi.StringPtrOutput { 536 return o.ApplyT(func(v *MaintenanceWindowTask) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) 537 } 538 539 // The maximum number of targets this task can be run for in parallel. 540 func (o MaintenanceWindowTaskOutput) MaxConcurrency() pulumi.StringOutput { 541 return o.ApplyT(func(v *MaintenanceWindowTask) pulumi.StringOutput { return v.MaxConcurrency }).(pulumi.StringOutput) 542 } 543 544 // The maximum number of errors allowed before this task stops being scheduled. 545 func (o MaintenanceWindowTaskOutput) MaxErrors() pulumi.StringOutput { 546 return o.ApplyT(func(v *MaintenanceWindowTask) pulumi.StringOutput { return v.MaxErrors }).(pulumi.StringOutput) 547 } 548 549 // The name of the maintenance window task. 550 func (o MaintenanceWindowTaskOutput) Name() pulumi.StringOutput { 551 return o.ApplyT(func(v *MaintenanceWindowTask) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) 552 } 553 554 // The priority of the task in the Maintenance Window, the lower the number the higher the priority. Tasks in a Maintenance Window are scheduled in priority order with tasks that have the same priority scheduled in parallel. 555 func (o MaintenanceWindowTaskOutput) Priority() pulumi.IntPtrOutput { 556 return o.ApplyT(func(v *MaintenanceWindowTask) pulumi.IntPtrOutput { return v.Priority }).(pulumi.IntPtrOutput) 557 } 558 559 // The role that should be assumed when executing the task. If a role is not provided, Systems Manager uses your account's service-linked role. If no service-linked role for Systems Manager exists in your account, it is created for you. 560 func (o MaintenanceWindowTaskOutput) ServiceRoleArn() pulumi.StringOutput { 561 return o.ApplyT(func(v *MaintenanceWindowTask) pulumi.StringOutput { return v.ServiceRoleArn }).(pulumi.StringOutput) 562 } 563 564 // The targets (either instances or window target ids). Instances are specified using Key=InstanceIds,Values=instanceid1,instanceid2. Window target ids are specified using Key=WindowTargetIds,Values=window target id1, window target id2. 565 func (o MaintenanceWindowTaskOutput) Targets() MaintenanceWindowTaskTargetArrayOutput { 566 return o.ApplyT(func(v *MaintenanceWindowTask) MaintenanceWindowTaskTargetArrayOutput { return v.Targets }).(MaintenanceWindowTaskTargetArrayOutput) 567 } 568 569 // The ARN of the task to execute. 570 func (o MaintenanceWindowTaskOutput) TaskArn() pulumi.StringOutput { 571 return o.ApplyT(func(v *MaintenanceWindowTask) pulumi.StringOutput { return v.TaskArn }).(pulumi.StringOutput) 572 } 573 574 // Configuration block with parameters for task execution. 575 func (o MaintenanceWindowTaskOutput) TaskInvocationParameters() MaintenanceWindowTaskTaskInvocationParametersPtrOutput { 576 return o.ApplyT(func(v *MaintenanceWindowTask) MaintenanceWindowTaskTaskInvocationParametersPtrOutput { 577 return v.TaskInvocationParameters 578 }).(MaintenanceWindowTaskTaskInvocationParametersPtrOutput) 579 } 580 581 // The type of task being registered. Valid values: `AUTOMATION`, `LAMBDA`, `RUN_COMMAND` or `STEP_FUNCTIONS`. 582 func (o MaintenanceWindowTaskOutput) TaskType() pulumi.StringOutput { 583 return o.ApplyT(func(v *MaintenanceWindowTask) pulumi.StringOutput { return v.TaskType }).(pulumi.StringOutput) 584 } 585 586 // The Id of the maintenance window to register the task with. 587 func (o MaintenanceWindowTaskOutput) WindowId() pulumi.StringOutput { 588 return o.ApplyT(func(v *MaintenanceWindowTask) pulumi.StringOutput { return v.WindowId }).(pulumi.StringOutput) 589 } 590 591 // The ID of the maintenance window task. 592 func (o MaintenanceWindowTaskOutput) WindowTaskId() pulumi.StringOutput { 593 return o.ApplyT(func(v *MaintenanceWindowTask) pulumi.StringOutput { return v.WindowTaskId }).(pulumi.StringOutput) 594 } 595 596 type MaintenanceWindowTaskArrayOutput struct{ *pulumi.OutputState } 597 598 func (MaintenanceWindowTaskArrayOutput) ElementType() reflect.Type { 599 return reflect.TypeOf((*[]*MaintenanceWindowTask)(nil)).Elem() 600 } 601 602 func (o MaintenanceWindowTaskArrayOutput) ToMaintenanceWindowTaskArrayOutput() MaintenanceWindowTaskArrayOutput { 603 return o 604 } 605 606 func (o MaintenanceWindowTaskArrayOutput) ToMaintenanceWindowTaskArrayOutputWithContext(ctx context.Context) MaintenanceWindowTaskArrayOutput { 607 return o 608 } 609 610 func (o MaintenanceWindowTaskArrayOutput) Index(i pulumi.IntInput) MaintenanceWindowTaskOutput { 611 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *MaintenanceWindowTask { 612 return vs[0].([]*MaintenanceWindowTask)[vs[1].(int)] 613 }).(MaintenanceWindowTaskOutput) 614 } 615 616 type MaintenanceWindowTaskMapOutput struct{ *pulumi.OutputState } 617 618 func (MaintenanceWindowTaskMapOutput) ElementType() reflect.Type { 619 return reflect.TypeOf((*map[string]*MaintenanceWindowTask)(nil)).Elem() 620 } 621 622 func (o MaintenanceWindowTaskMapOutput) ToMaintenanceWindowTaskMapOutput() MaintenanceWindowTaskMapOutput { 623 return o 624 } 625 626 func (o MaintenanceWindowTaskMapOutput) ToMaintenanceWindowTaskMapOutputWithContext(ctx context.Context) MaintenanceWindowTaskMapOutput { 627 return o 628 } 629 630 func (o MaintenanceWindowTaskMapOutput) MapIndex(k pulumi.StringInput) MaintenanceWindowTaskOutput { 631 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *MaintenanceWindowTask { 632 return vs[0].(map[string]*MaintenanceWindowTask)[vs[1].(string)] 633 }).(MaintenanceWindowTaskOutput) 634 } 635 636 func init() { 637 pulumi.RegisterInputType(reflect.TypeOf((*MaintenanceWindowTaskInput)(nil)).Elem(), &MaintenanceWindowTask{}) 638 pulumi.RegisterInputType(reflect.TypeOf((*MaintenanceWindowTaskArrayInput)(nil)).Elem(), MaintenanceWindowTaskArray{}) 639 pulumi.RegisterInputType(reflect.TypeOf((*MaintenanceWindowTaskMapInput)(nil)).Elem(), MaintenanceWindowTaskMap{}) 640 pulumi.RegisterOutputType(MaintenanceWindowTaskOutput{}) 641 pulumi.RegisterOutputType(MaintenanceWindowTaskArrayOutput{}) 642 pulumi.RegisterOutputType(MaintenanceWindowTaskMapOutput{}) 643 }