github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/macie2/classificationJob.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 macie2
     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 a resource to manage an [AWS Macie Classification Job](https://docs.aws.amazon.com/macie/latest/APIReference/jobs.html).
    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/macie2"
    26  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    27  //
    28  // )
    29  //
    30  //	func main() {
    31  //		pulumi.Run(func(ctx *pulumi.Context) error {
    32  //			test, err := macie2.NewAccount(ctx, "test", nil)
    33  //			if err != nil {
    34  //				return err
    35  //			}
    36  //			_, err = macie2.NewClassificationJob(ctx, "test", &macie2.ClassificationJobArgs{
    37  //				JobType: pulumi.String("ONE_TIME"),
    38  //				Name:    pulumi.String("NAME OF THE CLASSIFICATION JOB"),
    39  //				S3JobDefinition: &macie2.ClassificationJobS3JobDefinitionArgs{
    40  //					BucketDefinitions: macie2.ClassificationJobS3JobDefinitionBucketDefinitionArray{
    41  //						&macie2.ClassificationJobS3JobDefinitionBucketDefinitionArgs{
    42  //							AccountId: pulumi.String("ACCOUNT ID"),
    43  //							Buckets: pulumi.StringArray{
    44  //								pulumi.String("S3 BUCKET NAME"),
    45  //							},
    46  //						},
    47  //					},
    48  //				},
    49  //			}, pulumi.DependsOn([]pulumi.Resource{
    50  //				test,
    51  //			}))
    52  //			if err != nil {
    53  //				return err
    54  //			}
    55  //			return nil
    56  //		})
    57  //	}
    58  //
    59  // ```
    60  // <!--End PulumiCodeChooser -->
    61  //
    62  // ## Import
    63  //
    64  // Using `pulumi import`, import `aws_macie2_classification_job` using the id. For example:
    65  //
    66  // ```sh
    67  // $ pulumi import aws:macie2/classificationJob:ClassificationJob example abcd1
    68  // ```
    69  type ClassificationJob struct {
    70  	pulumi.CustomResourceState
    71  
    72  	// The date and time, in UTC and extended RFC 3339 format, when the job was created.
    73  	CreatedAt pulumi.StringOutput `pulumi:"createdAt"`
    74  	// The custom data identifiers to use for data analysis and classification.
    75  	CustomDataIdentifierIds pulumi.StringArrayOutput `pulumi:"customDataIdentifierIds"`
    76  	// A custom description of the job. The description can contain as many as 200 characters.
    77  	Description pulumi.StringOutput `pulumi:"description"`
    78  	// Specifies whether to analyze all existing, eligible objects immediately after the job is created.
    79  	InitialRun pulumi.BoolPtrOutput `pulumi:"initialRun"`
    80  	JobArn     pulumi.StringOutput  `pulumi:"jobArn"`
    81  	JobId      pulumi.StringOutput  `pulumi:"jobId"`
    82  	// The status for the job. Valid values are: `CANCELLED`, `RUNNING` and `USER_PAUSED`
    83  	JobStatus pulumi.StringOutput `pulumi:"jobStatus"`
    84  	// The schedule for running the job. Valid values are: `ONE_TIME` - Run the job only once. If you specify this value, don't specify a value for the `scheduleFrequency` property. `SCHEDULED` - Run the job on a daily, weekly, or monthly basis. If you specify this value, use the `scheduleFrequency` property to define the recurrence pattern for the job.
    85  	JobType pulumi.StringOutput `pulumi:"jobType"`
    86  	// A custom name for the job. The name can contain as many as 500 characters. If omitted, the provider will assign a random, unique name. Conflicts with `namePrefix`.
    87  	Name pulumi.StringOutput `pulumi:"name"`
    88  	// Creates a unique name beginning with the specified prefix. Conflicts with `name`.
    89  	NamePrefix pulumi.StringOutput `pulumi:"namePrefix"`
    90  	// The S3 buckets that contain the objects to analyze, and the scope of that analysis. (documented below)
    91  	S3JobDefinition ClassificationJobS3JobDefinitionOutput `pulumi:"s3JobDefinition"`
    92  	// The sampling depth, as a percentage, to apply when processing objects. This value determines the percentage of eligible objects that the job analyzes. If this value is less than 100, Amazon Macie selects the objects to analyze at random, up to the specified percentage, and analyzes all the data in those objects.
    93  	SamplingPercentage pulumi.IntOutput `pulumi:"samplingPercentage"`
    94  	// The recurrence pattern for running the job. To run the job only once, don't specify a value for this property and set the value for the `jobType` property to `ONE_TIME`. (documented below)
    95  	ScheduleFrequency ClassificationJobScheduleFrequencyOutput `pulumi:"scheduleFrequency"`
    96  	// A map of key-value pairs that specifies the tags to associate with the job. A job can have a maximum of 50 tags. Each tag consists of a tag key and an associated tag value. The maximum length of a tag key is 128 characters. The maximum length of a tag value is 256 characters.
    97  	Tags pulumi.StringMapOutput `pulumi:"tags"`
    98  	// Deprecated: Please use `tags` instead.
    99  	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
   100  	// If the current status of the job is `USER_PAUSED`, specifies when the job was paused and when the job or job run will expire and be cancelled if it isn't resumed. This value is present only if the value for `job-status` is `USER_PAUSED`.
   101  	UserPausedDetails ClassificationJobUserPausedDetailArrayOutput `pulumi:"userPausedDetails"`
   102  }
   103  
   104  // NewClassificationJob registers a new resource with the given unique name, arguments, and options.
   105  func NewClassificationJob(ctx *pulumi.Context,
   106  	name string, args *ClassificationJobArgs, opts ...pulumi.ResourceOption) (*ClassificationJob, error) {
   107  	if args == nil {
   108  		return nil, errors.New("missing one or more required arguments")
   109  	}
   110  
   111  	if args.JobType == nil {
   112  		return nil, errors.New("invalid value for required argument 'JobType'")
   113  	}
   114  	if args.S3JobDefinition == nil {
   115  		return nil, errors.New("invalid value for required argument 'S3JobDefinition'")
   116  	}
   117  	opts = internal.PkgResourceDefaultOpts(opts)
   118  	var resource ClassificationJob
   119  	err := ctx.RegisterResource("aws:macie2/classificationJob:ClassificationJob", name, args, &resource, opts...)
   120  	if err != nil {
   121  		return nil, err
   122  	}
   123  	return &resource, nil
   124  }
   125  
   126  // GetClassificationJob gets an existing ClassificationJob resource's state with the given name, ID, and optional
   127  // state properties that are used to uniquely qualify the lookup (nil if not required).
   128  func GetClassificationJob(ctx *pulumi.Context,
   129  	name string, id pulumi.IDInput, state *ClassificationJobState, opts ...pulumi.ResourceOption) (*ClassificationJob, error) {
   130  	var resource ClassificationJob
   131  	err := ctx.ReadResource("aws:macie2/classificationJob:ClassificationJob", name, id, state, &resource, opts...)
   132  	if err != nil {
   133  		return nil, err
   134  	}
   135  	return &resource, nil
   136  }
   137  
   138  // Input properties used for looking up and filtering ClassificationJob resources.
   139  type classificationJobState struct {
   140  	// The date and time, in UTC and extended RFC 3339 format, when the job was created.
   141  	CreatedAt *string `pulumi:"createdAt"`
   142  	// The custom data identifiers to use for data analysis and classification.
   143  	CustomDataIdentifierIds []string `pulumi:"customDataIdentifierIds"`
   144  	// A custom description of the job. The description can contain as many as 200 characters.
   145  	Description *string `pulumi:"description"`
   146  	// Specifies whether to analyze all existing, eligible objects immediately after the job is created.
   147  	InitialRun *bool   `pulumi:"initialRun"`
   148  	JobArn     *string `pulumi:"jobArn"`
   149  	JobId      *string `pulumi:"jobId"`
   150  	// The status for the job. Valid values are: `CANCELLED`, `RUNNING` and `USER_PAUSED`
   151  	JobStatus *string `pulumi:"jobStatus"`
   152  	// The schedule for running the job. Valid values are: `ONE_TIME` - Run the job only once. If you specify this value, don't specify a value for the `scheduleFrequency` property. `SCHEDULED` - Run the job on a daily, weekly, or monthly basis. If you specify this value, use the `scheduleFrequency` property to define the recurrence pattern for the job.
   153  	JobType *string `pulumi:"jobType"`
   154  	// A custom name for the job. The name can contain as many as 500 characters. If omitted, the provider will assign a random, unique name. Conflicts with `namePrefix`.
   155  	Name *string `pulumi:"name"`
   156  	// Creates a unique name beginning with the specified prefix. Conflicts with `name`.
   157  	NamePrefix *string `pulumi:"namePrefix"`
   158  	// The S3 buckets that contain the objects to analyze, and the scope of that analysis. (documented below)
   159  	S3JobDefinition *ClassificationJobS3JobDefinition `pulumi:"s3JobDefinition"`
   160  	// The sampling depth, as a percentage, to apply when processing objects. This value determines the percentage of eligible objects that the job analyzes. If this value is less than 100, Amazon Macie selects the objects to analyze at random, up to the specified percentage, and analyzes all the data in those objects.
   161  	SamplingPercentage *int `pulumi:"samplingPercentage"`
   162  	// The recurrence pattern for running the job. To run the job only once, don't specify a value for this property and set the value for the `jobType` property to `ONE_TIME`. (documented below)
   163  	ScheduleFrequency *ClassificationJobScheduleFrequency `pulumi:"scheduleFrequency"`
   164  	// A map of key-value pairs that specifies the tags to associate with the job. A job can have a maximum of 50 tags. Each tag consists of a tag key and an associated tag value. The maximum length of a tag key is 128 characters. The maximum length of a tag value is 256 characters.
   165  	Tags map[string]string `pulumi:"tags"`
   166  	// Deprecated: Please use `tags` instead.
   167  	TagsAll map[string]string `pulumi:"tagsAll"`
   168  	// If the current status of the job is `USER_PAUSED`, specifies when the job was paused and when the job or job run will expire and be cancelled if it isn't resumed. This value is present only if the value for `job-status` is `USER_PAUSED`.
   169  	UserPausedDetails []ClassificationJobUserPausedDetail `pulumi:"userPausedDetails"`
   170  }
   171  
   172  type ClassificationJobState struct {
   173  	// The date and time, in UTC and extended RFC 3339 format, when the job was created.
   174  	CreatedAt pulumi.StringPtrInput
   175  	// The custom data identifiers to use for data analysis and classification.
   176  	CustomDataIdentifierIds pulumi.StringArrayInput
   177  	// A custom description of the job. The description can contain as many as 200 characters.
   178  	Description pulumi.StringPtrInput
   179  	// Specifies whether to analyze all existing, eligible objects immediately after the job is created.
   180  	InitialRun pulumi.BoolPtrInput
   181  	JobArn     pulumi.StringPtrInput
   182  	JobId      pulumi.StringPtrInput
   183  	// The status for the job. Valid values are: `CANCELLED`, `RUNNING` and `USER_PAUSED`
   184  	JobStatus pulumi.StringPtrInput
   185  	// The schedule for running the job. Valid values are: `ONE_TIME` - Run the job only once. If you specify this value, don't specify a value for the `scheduleFrequency` property. `SCHEDULED` - Run the job on a daily, weekly, or monthly basis. If you specify this value, use the `scheduleFrequency` property to define the recurrence pattern for the job.
   186  	JobType pulumi.StringPtrInput
   187  	// A custom name for the job. The name can contain as many as 500 characters. If omitted, the provider will assign a random, unique name. Conflicts with `namePrefix`.
   188  	Name pulumi.StringPtrInput
   189  	// Creates a unique name beginning with the specified prefix. Conflicts with `name`.
   190  	NamePrefix pulumi.StringPtrInput
   191  	// The S3 buckets that contain the objects to analyze, and the scope of that analysis. (documented below)
   192  	S3JobDefinition ClassificationJobS3JobDefinitionPtrInput
   193  	// The sampling depth, as a percentage, to apply when processing objects. This value determines the percentage of eligible objects that the job analyzes. If this value is less than 100, Amazon Macie selects the objects to analyze at random, up to the specified percentage, and analyzes all the data in those objects.
   194  	SamplingPercentage pulumi.IntPtrInput
   195  	// The recurrence pattern for running the job. To run the job only once, don't specify a value for this property and set the value for the `jobType` property to `ONE_TIME`. (documented below)
   196  	ScheduleFrequency ClassificationJobScheduleFrequencyPtrInput
   197  	// A map of key-value pairs that specifies the tags to associate with the job. A job can have a maximum of 50 tags. Each tag consists of a tag key and an associated tag value. The maximum length of a tag key is 128 characters. The maximum length of a tag value is 256 characters.
   198  	Tags pulumi.StringMapInput
   199  	// Deprecated: Please use `tags` instead.
   200  	TagsAll pulumi.StringMapInput
   201  	// If the current status of the job is `USER_PAUSED`, specifies when the job was paused and when the job or job run will expire and be cancelled if it isn't resumed. This value is present only if the value for `job-status` is `USER_PAUSED`.
   202  	UserPausedDetails ClassificationJobUserPausedDetailArrayInput
   203  }
   204  
   205  func (ClassificationJobState) ElementType() reflect.Type {
   206  	return reflect.TypeOf((*classificationJobState)(nil)).Elem()
   207  }
   208  
   209  type classificationJobArgs struct {
   210  	// The custom data identifiers to use for data analysis and classification.
   211  	CustomDataIdentifierIds []string `pulumi:"customDataIdentifierIds"`
   212  	// A custom description of the job. The description can contain as many as 200 characters.
   213  	Description *string `pulumi:"description"`
   214  	// Specifies whether to analyze all existing, eligible objects immediately after the job is created.
   215  	InitialRun *bool `pulumi:"initialRun"`
   216  	// The status for the job. Valid values are: `CANCELLED`, `RUNNING` and `USER_PAUSED`
   217  	JobStatus *string `pulumi:"jobStatus"`
   218  	// The schedule for running the job. Valid values are: `ONE_TIME` - Run the job only once. If you specify this value, don't specify a value for the `scheduleFrequency` property. `SCHEDULED` - Run the job on a daily, weekly, or monthly basis. If you specify this value, use the `scheduleFrequency` property to define the recurrence pattern for the job.
   219  	JobType string `pulumi:"jobType"`
   220  	// A custom name for the job. The name can contain as many as 500 characters. If omitted, the provider will assign a random, unique name. Conflicts with `namePrefix`.
   221  	Name *string `pulumi:"name"`
   222  	// Creates a unique name beginning with the specified prefix. Conflicts with `name`.
   223  	NamePrefix *string `pulumi:"namePrefix"`
   224  	// The S3 buckets that contain the objects to analyze, and the scope of that analysis. (documented below)
   225  	S3JobDefinition ClassificationJobS3JobDefinition `pulumi:"s3JobDefinition"`
   226  	// The sampling depth, as a percentage, to apply when processing objects. This value determines the percentage of eligible objects that the job analyzes. If this value is less than 100, Amazon Macie selects the objects to analyze at random, up to the specified percentage, and analyzes all the data in those objects.
   227  	SamplingPercentage *int `pulumi:"samplingPercentage"`
   228  	// The recurrence pattern for running the job. To run the job only once, don't specify a value for this property and set the value for the `jobType` property to `ONE_TIME`. (documented below)
   229  	ScheduleFrequency *ClassificationJobScheduleFrequency `pulumi:"scheduleFrequency"`
   230  	// A map of key-value pairs that specifies the tags to associate with the job. A job can have a maximum of 50 tags. Each tag consists of a tag key and an associated tag value. The maximum length of a tag key is 128 characters. The maximum length of a tag value is 256 characters.
   231  	Tags map[string]string `pulumi:"tags"`
   232  }
   233  
   234  // The set of arguments for constructing a ClassificationJob resource.
   235  type ClassificationJobArgs struct {
   236  	// The custom data identifiers to use for data analysis and classification.
   237  	CustomDataIdentifierIds pulumi.StringArrayInput
   238  	// A custom description of the job. The description can contain as many as 200 characters.
   239  	Description pulumi.StringPtrInput
   240  	// Specifies whether to analyze all existing, eligible objects immediately after the job is created.
   241  	InitialRun pulumi.BoolPtrInput
   242  	// The status for the job. Valid values are: `CANCELLED`, `RUNNING` and `USER_PAUSED`
   243  	JobStatus pulumi.StringPtrInput
   244  	// The schedule for running the job. Valid values are: `ONE_TIME` - Run the job only once. If you specify this value, don't specify a value for the `scheduleFrequency` property. `SCHEDULED` - Run the job on a daily, weekly, or monthly basis. If you specify this value, use the `scheduleFrequency` property to define the recurrence pattern for the job.
   245  	JobType pulumi.StringInput
   246  	// A custom name for the job. The name can contain as many as 500 characters. If omitted, the provider will assign a random, unique name. Conflicts with `namePrefix`.
   247  	Name pulumi.StringPtrInput
   248  	// Creates a unique name beginning with the specified prefix. Conflicts with `name`.
   249  	NamePrefix pulumi.StringPtrInput
   250  	// The S3 buckets that contain the objects to analyze, and the scope of that analysis. (documented below)
   251  	S3JobDefinition ClassificationJobS3JobDefinitionInput
   252  	// The sampling depth, as a percentage, to apply when processing objects. This value determines the percentage of eligible objects that the job analyzes. If this value is less than 100, Amazon Macie selects the objects to analyze at random, up to the specified percentage, and analyzes all the data in those objects.
   253  	SamplingPercentage pulumi.IntPtrInput
   254  	// The recurrence pattern for running the job. To run the job only once, don't specify a value for this property and set the value for the `jobType` property to `ONE_TIME`. (documented below)
   255  	ScheduleFrequency ClassificationJobScheduleFrequencyPtrInput
   256  	// A map of key-value pairs that specifies the tags to associate with the job. A job can have a maximum of 50 tags. Each tag consists of a tag key and an associated tag value. The maximum length of a tag key is 128 characters. The maximum length of a tag value is 256 characters.
   257  	Tags pulumi.StringMapInput
   258  }
   259  
   260  func (ClassificationJobArgs) ElementType() reflect.Type {
   261  	return reflect.TypeOf((*classificationJobArgs)(nil)).Elem()
   262  }
   263  
   264  type ClassificationJobInput interface {
   265  	pulumi.Input
   266  
   267  	ToClassificationJobOutput() ClassificationJobOutput
   268  	ToClassificationJobOutputWithContext(ctx context.Context) ClassificationJobOutput
   269  }
   270  
   271  func (*ClassificationJob) ElementType() reflect.Type {
   272  	return reflect.TypeOf((**ClassificationJob)(nil)).Elem()
   273  }
   274  
   275  func (i *ClassificationJob) ToClassificationJobOutput() ClassificationJobOutput {
   276  	return i.ToClassificationJobOutputWithContext(context.Background())
   277  }
   278  
   279  func (i *ClassificationJob) ToClassificationJobOutputWithContext(ctx context.Context) ClassificationJobOutput {
   280  	return pulumi.ToOutputWithContext(ctx, i).(ClassificationJobOutput)
   281  }
   282  
   283  // ClassificationJobArrayInput is an input type that accepts ClassificationJobArray and ClassificationJobArrayOutput values.
   284  // You can construct a concrete instance of `ClassificationJobArrayInput` via:
   285  //
   286  //	ClassificationJobArray{ ClassificationJobArgs{...} }
   287  type ClassificationJobArrayInput interface {
   288  	pulumi.Input
   289  
   290  	ToClassificationJobArrayOutput() ClassificationJobArrayOutput
   291  	ToClassificationJobArrayOutputWithContext(context.Context) ClassificationJobArrayOutput
   292  }
   293  
   294  type ClassificationJobArray []ClassificationJobInput
   295  
   296  func (ClassificationJobArray) ElementType() reflect.Type {
   297  	return reflect.TypeOf((*[]*ClassificationJob)(nil)).Elem()
   298  }
   299  
   300  func (i ClassificationJobArray) ToClassificationJobArrayOutput() ClassificationJobArrayOutput {
   301  	return i.ToClassificationJobArrayOutputWithContext(context.Background())
   302  }
   303  
   304  func (i ClassificationJobArray) ToClassificationJobArrayOutputWithContext(ctx context.Context) ClassificationJobArrayOutput {
   305  	return pulumi.ToOutputWithContext(ctx, i).(ClassificationJobArrayOutput)
   306  }
   307  
   308  // ClassificationJobMapInput is an input type that accepts ClassificationJobMap and ClassificationJobMapOutput values.
   309  // You can construct a concrete instance of `ClassificationJobMapInput` via:
   310  //
   311  //	ClassificationJobMap{ "key": ClassificationJobArgs{...} }
   312  type ClassificationJobMapInput interface {
   313  	pulumi.Input
   314  
   315  	ToClassificationJobMapOutput() ClassificationJobMapOutput
   316  	ToClassificationJobMapOutputWithContext(context.Context) ClassificationJobMapOutput
   317  }
   318  
   319  type ClassificationJobMap map[string]ClassificationJobInput
   320  
   321  func (ClassificationJobMap) ElementType() reflect.Type {
   322  	return reflect.TypeOf((*map[string]*ClassificationJob)(nil)).Elem()
   323  }
   324  
   325  func (i ClassificationJobMap) ToClassificationJobMapOutput() ClassificationJobMapOutput {
   326  	return i.ToClassificationJobMapOutputWithContext(context.Background())
   327  }
   328  
   329  func (i ClassificationJobMap) ToClassificationJobMapOutputWithContext(ctx context.Context) ClassificationJobMapOutput {
   330  	return pulumi.ToOutputWithContext(ctx, i).(ClassificationJobMapOutput)
   331  }
   332  
   333  type ClassificationJobOutput struct{ *pulumi.OutputState }
   334  
   335  func (ClassificationJobOutput) ElementType() reflect.Type {
   336  	return reflect.TypeOf((**ClassificationJob)(nil)).Elem()
   337  }
   338  
   339  func (o ClassificationJobOutput) ToClassificationJobOutput() ClassificationJobOutput {
   340  	return o
   341  }
   342  
   343  func (o ClassificationJobOutput) ToClassificationJobOutputWithContext(ctx context.Context) ClassificationJobOutput {
   344  	return o
   345  }
   346  
   347  // The date and time, in UTC and extended RFC 3339 format, when the job was created.
   348  func (o ClassificationJobOutput) CreatedAt() pulumi.StringOutput {
   349  	return o.ApplyT(func(v *ClassificationJob) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput)
   350  }
   351  
   352  // The custom data identifiers to use for data analysis and classification.
   353  func (o ClassificationJobOutput) CustomDataIdentifierIds() pulumi.StringArrayOutput {
   354  	return o.ApplyT(func(v *ClassificationJob) pulumi.StringArrayOutput { return v.CustomDataIdentifierIds }).(pulumi.StringArrayOutput)
   355  }
   356  
   357  // A custom description of the job. The description can contain as many as 200 characters.
   358  func (o ClassificationJobOutput) Description() pulumi.StringOutput {
   359  	return o.ApplyT(func(v *ClassificationJob) pulumi.StringOutput { return v.Description }).(pulumi.StringOutput)
   360  }
   361  
   362  // Specifies whether to analyze all existing, eligible objects immediately after the job is created.
   363  func (o ClassificationJobOutput) InitialRun() pulumi.BoolPtrOutput {
   364  	return o.ApplyT(func(v *ClassificationJob) pulumi.BoolPtrOutput { return v.InitialRun }).(pulumi.BoolPtrOutput)
   365  }
   366  
   367  func (o ClassificationJobOutput) JobArn() pulumi.StringOutput {
   368  	return o.ApplyT(func(v *ClassificationJob) pulumi.StringOutput { return v.JobArn }).(pulumi.StringOutput)
   369  }
   370  
   371  func (o ClassificationJobOutput) JobId() pulumi.StringOutput {
   372  	return o.ApplyT(func(v *ClassificationJob) pulumi.StringOutput { return v.JobId }).(pulumi.StringOutput)
   373  }
   374  
   375  // The status for the job. Valid values are: `CANCELLED`, `RUNNING` and `USER_PAUSED`
   376  func (o ClassificationJobOutput) JobStatus() pulumi.StringOutput {
   377  	return o.ApplyT(func(v *ClassificationJob) pulumi.StringOutput { return v.JobStatus }).(pulumi.StringOutput)
   378  }
   379  
   380  // The schedule for running the job. Valid values are: `ONE_TIME` - Run the job only once. If you specify this value, don't specify a value for the `scheduleFrequency` property. `SCHEDULED` - Run the job on a daily, weekly, or monthly basis. If you specify this value, use the `scheduleFrequency` property to define the recurrence pattern for the job.
   381  func (o ClassificationJobOutput) JobType() pulumi.StringOutput {
   382  	return o.ApplyT(func(v *ClassificationJob) pulumi.StringOutput { return v.JobType }).(pulumi.StringOutput)
   383  }
   384  
   385  // A custom name for the job. The name can contain as many as 500 characters. If omitted, the provider will assign a random, unique name. Conflicts with `namePrefix`.
   386  func (o ClassificationJobOutput) Name() pulumi.StringOutput {
   387  	return o.ApplyT(func(v *ClassificationJob) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput)
   388  }
   389  
   390  // Creates a unique name beginning with the specified prefix. Conflicts with `name`.
   391  func (o ClassificationJobOutput) NamePrefix() pulumi.StringOutput {
   392  	return o.ApplyT(func(v *ClassificationJob) pulumi.StringOutput { return v.NamePrefix }).(pulumi.StringOutput)
   393  }
   394  
   395  // The S3 buckets that contain the objects to analyze, and the scope of that analysis. (documented below)
   396  func (o ClassificationJobOutput) S3JobDefinition() ClassificationJobS3JobDefinitionOutput {
   397  	return o.ApplyT(func(v *ClassificationJob) ClassificationJobS3JobDefinitionOutput { return v.S3JobDefinition }).(ClassificationJobS3JobDefinitionOutput)
   398  }
   399  
   400  // The sampling depth, as a percentage, to apply when processing objects. This value determines the percentage of eligible objects that the job analyzes. If this value is less than 100, Amazon Macie selects the objects to analyze at random, up to the specified percentage, and analyzes all the data in those objects.
   401  func (o ClassificationJobOutput) SamplingPercentage() pulumi.IntOutput {
   402  	return o.ApplyT(func(v *ClassificationJob) pulumi.IntOutput { return v.SamplingPercentage }).(pulumi.IntOutput)
   403  }
   404  
   405  // The recurrence pattern for running the job. To run the job only once, don't specify a value for this property and set the value for the `jobType` property to `ONE_TIME`. (documented below)
   406  func (o ClassificationJobOutput) ScheduleFrequency() ClassificationJobScheduleFrequencyOutput {
   407  	return o.ApplyT(func(v *ClassificationJob) ClassificationJobScheduleFrequencyOutput { return v.ScheduleFrequency }).(ClassificationJobScheduleFrequencyOutput)
   408  }
   409  
   410  // A map of key-value pairs that specifies the tags to associate with the job. A job can have a maximum of 50 tags. Each tag consists of a tag key and an associated tag value. The maximum length of a tag key is 128 characters. The maximum length of a tag value is 256 characters.
   411  func (o ClassificationJobOutput) Tags() pulumi.StringMapOutput {
   412  	return o.ApplyT(func(v *ClassificationJob) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput)
   413  }
   414  
   415  // Deprecated: Please use `tags` instead.
   416  func (o ClassificationJobOutput) TagsAll() pulumi.StringMapOutput {
   417  	return o.ApplyT(func(v *ClassificationJob) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput)
   418  }
   419  
   420  // If the current status of the job is `USER_PAUSED`, specifies when the job was paused and when the job or job run will expire and be cancelled if it isn't resumed. This value is present only if the value for `job-status` is `USER_PAUSED`.
   421  func (o ClassificationJobOutput) UserPausedDetails() ClassificationJobUserPausedDetailArrayOutput {
   422  	return o.ApplyT(func(v *ClassificationJob) ClassificationJobUserPausedDetailArrayOutput { return v.UserPausedDetails }).(ClassificationJobUserPausedDetailArrayOutput)
   423  }
   424  
   425  type ClassificationJobArrayOutput struct{ *pulumi.OutputState }
   426  
   427  func (ClassificationJobArrayOutput) ElementType() reflect.Type {
   428  	return reflect.TypeOf((*[]*ClassificationJob)(nil)).Elem()
   429  }
   430  
   431  func (o ClassificationJobArrayOutput) ToClassificationJobArrayOutput() ClassificationJobArrayOutput {
   432  	return o
   433  }
   434  
   435  func (o ClassificationJobArrayOutput) ToClassificationJobArrayOutputWithContext(ctx context.Context) ClassificationJobArrayOutput {
   436  	return o
   437  }
   438  
   439  func (o ClassificationJobArrayOutput) Index(i pulumi.IntInput) ClassificationJobOutput {
   440  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ClassificationJob {
   441  		return vs[0].([]*ClassificationJob)[vs[1].(int)]
   442  	}).(ClassificationJobOutput)
   443  }
   444  
   445  type ClassificationJobMapOutput struct{ *pulumi.OutputState }
   446  
   447  func (ClassificationJobMapOutput) ElementType() reflect.Type {
   448  	return reflect.TypeOf((*map[string]*ClassificationJob)(nil)).Elem()
   449  }
   450  
   451  func (o ClassificationJobMapOutput) ToClassificationJobMapOutput() ClassificationJobMapOutput {
   452  	return o
   453  }
   454  
   455  func (o ClassificationJobMapOutput) ToClassificationJobMapOutputWithContext(ctx context.Context) ClassificationJobMapOutput {
   456  	return o
   457  }
   458  
   459  func (o ClassificationJobMapOutput) MapIndex(k pulumi.StringInput) ClassificationJobOutput {
   460  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ClassificationJob {
   461  		return vs[0].(map[string]*ClassificationJob)[vs[1].(string)]
   462  	}).(ClassificationJobOutput)
   463  }
   464  
   465  func init() {
   466  	pulumi.RegisterInputType(reflect.TypeOf((*ClassificationJobInput)(nil)).Elem(), &ClassificationJob{})
   467  	pulumi.RegisterInputType(reflect.TypeOf((*ClassificationJobArrayInput)(nil)).Elem(), ClassificationJobArray{})
   468  	pulumi.RegisterInputType(reflect.TypeOf((*ClassificationJobMapInput)(nil)).Elem(), ClassificationJobMap{})
   469  	pulumi.RegisterOutputType(ClassificationJobOutput{})
   470  	pulumi.RegisterOutputType(ClassificationJobArrayOutput{})
   471  	pulumi.RegisterOutputType(ClassificationJobMapOutput{})
   472  }