1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260
|
// Code generated by smithy-go-codegen DO NOT EDIT.
package macie2
import (
"context"
"fmt"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
"github.com/aws/aws-sdk-go-v2/service/macie2/types"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
"time"
)
// Retrieves the status and settings for a classification job.
func (c *Client) DescribeClassificationJob(ctx context.Context, params *DescribeClassificationJobInput, optFns ...func(*Options)) (*DescribeClassificationJobOutput, error) {
if params == nil {
params = &DescribeClassificationJobInput{}
}
result, metadata, err := c.invokeOperation(ctx, "DescribeClassificationJob", params, optFns, c.addOperationDescribeClassificationJobMiddlewares)
if err != nil {
return nil, err
}
out := result.(*DescribeClassificationJobOutput)
out.ResultMetadata = metadata
return out, nil
}
type DescribeClassificationJobInput struct {
// The unique identifier for the classification job.
//
// This member is required.
JobId *string
noSmithyDocumentSerde
}
type DescribeClassificationJobOutput struct {
// An array of unique identifiers, one for each allow list that the job uses when
// it analyzes data.
AllowListIds []string
// The token that was provided to ensure the idempotency of the request to create
// the job.
ClientToken *string
// The date and time, in UTC and extended ISO 8601 format, when the job was
// created.
CreatedAt *time.Time
// An array of unique identifiers, one for each custom data identifier that the
// job uses when it analyzes data. This value is null if the job uses only managed
// data identifiers to analyze data.
CustomDataIdentifierIds []string
// The custom description of the job.
Description *string
// For a recurring job, specifies whether you configured the job to analyze all
// existing, eligible objects immediately after the job was created (true). If you
// configured the job to analyze only those objects that were created or changed
// after the job was created and before the job's first scheduled run, this value
// is false. This value is also false for a one-time job.
InitialRun *bool
// The Amazon Resource Name (ARN) of the job.
JobArn *string
// The unique identifier for the job.
JobId *string
// The current status of the job. Possible values are:
// - CANCELLED - You cancelled the job or, if it's a one-time job, you paused
// the job and didn't resume it within 30 days.
// - COMPLETE - For a one-time job, Amazon Macie finished processing the data
// specified for the job. This value doesn't apply to recurring jobs.
// - IDLE - For a recurring job, the previous scheduled run is complete and the
// next scheduled run is pending. This value doesn't apply to one-time jobs.
// - PAUSED - Macie started running the job but additional processing would
// exceed the monthly sensitive data discovery quota for your account or one or
// more member accounts that the job analyzes data for.
// - RUNNING - For a one-time job, the job is in progress. For a recurring job,
// a scheduled run is in progress.
// - USER_PAUSED - You paused the job. If you paused the job while it had a
// status of RUNNING and you don't resume it within 30 days of pausing it, the job
// or job run will expire and be cancelled, depending on the job's type. To check
// the expiration date, refer to the UserPausedDetails.jobExpiresAt property.
JobStatus types.JobStatus
// The schedule for running the job. Possible values are:
// - ONE_TIME - The job runs only once.
// - SCHEDULED - The job runs on a daily, weekly, or monthly basis. The
// scheduleFrequency property indicates the recurrence pattern for the job.
JobType types.JobType
// Specifies whether any account- or bucket-level access errors occurred when the
// job ran. For a recurring job, this value indicates the error status of the job's
// most recent run.
LastRunErrorStatus *types.LastRunErrorStatus
// The date and time, in UTC and extended ISO 8601 format, when the job started.
// If the job is a recurring job, this value indicates when the most recent run
// started or, if the job hasn't run yet, when the job was created.
LastRunTime *time.Time
// An array of unique identifiers, one for each managed data identifier that the
// job is explicitly configured to include (use) or exclude (not use) when it
// analyzes data. Inclusion or exclusion depends on the managed data identifier
// selection type specified for the job (managedDataIdentifierSelector).This value
// is null if the job's managed data identifier selection type is ALL, NONE, or
// RECOMMENDED.
ManagedDataIdentifierIds []string
// The selection type that determines which managed data identifiers the job uses
// when it analyzes data. Possible values are:
// - ALL - Use all managed data identifiers.
// - EXCLUDE - Use all managed data identifiers except the ones specified by the
// managedDataIdentifierIds property.
// - INCLUDE - Use only the managed data identifiers specified by the
// managedDataIdentifierIds property.
// - NONE - Don't use any managed data identifiers. Use only custom data
// identifiers (customDataIdentifierIds).
// - RECOMMENDED (default) - Use the recommended set of managed data identifiers.
// If this value is null, the job uses the recommended set of managed data
// identifiers. If the job is a recurring job and this value is ALL or EXCLUDE,
// each job run automatically uses new managed data identifiers that are released.
// If this value is null or RECOMMENDED for a recurring job, each job run uses all
// the managed data identifiers that are in the recommended set when the run
// starts. For information about individual managed data identifiers or to
// determine which ones are in the recommended set, see Using managed data
// identifiers (https://docs.aws.amazon.com/macie/latest/user/managed-data-identifiers.html)
// and Recommended managed data identifiers (https://docs.aws.amazon.com/macie/latest/user/discovery-jobs-mdis-recommended.html)
// in the Amazon Macie User Guide.
ManagedDataIdentifierSelector types.ManagedDataIdentifierSelector
// The custom name of the job.
Name *string
// The S3 buckets that contain the objects to analyze, and the scope of that
// analysis.
S3JobDefinition *types.S3JobDefinition
// The sampling depth, as a percentage, that determines the percentage of eligible
// objects that the job analyzes.
SamplingPercentage *int32
// The recurrence pattern for running the job. This value is null if the job is
// configured to run only once.
ScheduleFrequency *types.JobScheduleFrequency
// The number of times that the job has run and processing statistics for the
// job's current run.
Statistics *types.Statistics
// A map of key-value pairs that specifies which tags (keys and values) are
// associated with the classification job.
Tags map[string]string
// 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 jobStatus is USER_PAUSED.
UserPausedDetails *types.UserPausedDetails
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
noSmithyDocumentSerde
}
func (c *Client) addOperationDescribeClassificationJobMiddlewares(stack *middleware.Stack, options Options) (err error) {
if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
return err
}
err = stack.Serialize.Add(&awsRestjson1_serializeOpDescribeClassificationJob{}, middleware.After)
if err != nil {
return err
}
err = stack.Deserialize.Add(&awsRestjson1_deserializeOpDescribeClassificationJob{}, middleware.After)
if err != nil {
return err
}
if err := addProtocolFinalizerMiddlewares(stack, options, "DescribeClassificationJob"); err != nil {
return fmt.Errorf("add protocol finalizers: %v", err)
}
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
if err = addSetLoggerMiddleware(stack, options); err != nil {
return err
}
if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil {
return err
}
if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil {
return err
}
if err = addResolveEndpointMiddleware(stack, options); err != nil {
return err
}
if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil {
return err
}
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil {
return err
}
if err = addClientUserAgent(stack, options); err != nil {
return err
}
if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil {
return err
}
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
if err = addOpDescribeClassificationJobValidationMiddleware(stack); err != nil {
return err
}
if err = stack.Initialize.Add(newServiceMetadataMiddleware_opDescribeClassificationJob(options.Region), middleware.Before); err != nil {
return err
}
if err = awsmiddleware.AddRecursionDetection(stack); err != nil {
return err
}
if err = addRequestIDRetrieverMiddleware(stack); err != nil {
return err
}
if err = addResponseErrorMiddleware(stack); err != nil {
return err
}
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
return nil
}
func newServiceMetadataMiddleware_opDescribeClassificationJob(region string) *awsmiddleware.RegisterServiceMetadata {
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
OperationName: "DescribeClassificationJob",
}
}
|