-
Notifications
You must be signed in to change notification settings - Fork 82
/
work_request.go
121 lines (97 loc) · 6.3 KB
/
work_request.go
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
// Copyright (c) 2016, 2018, 2023, Oracle and/or its affiliates. All rights reserved.
// This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
// Code generated. DO NOT EDIT.
// Web Application Acceleration and Security Services API
//
// OCI Web Application Acceleration and Security Services
//
package waas
import (
"fmt"
"github.com/oracle/oci-go-sdk/v65/common"
"strings"
)
// WorkRequest Many of the API requests you use to create and configure WAAS policies do not take effect immediately. In these cases, the request spawns an asynchronous work flow to fulfill the request. `WorkRequest` objects provide visibility for in-progress work flows. For more information about work requests, see Viewing the State of a Work Request (https://docs.cloud.oracle.com/Content/Balance/Tasks/viewingworkrequest.htm).
type WorkRequest struct {
// The OCID (https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the work request.
Id *string `mandatory:"true" json:"id"`
// A description of the operation requested by the work request.
OperationType WorkRequestOperationTypesEnum `mandatory:"true" json:"operationType"`
// The current status of the work request.
Status WorkRequestStatusValuesEnum `mandatory:"true" json:"status"`
// The OCID (https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the compartment that contains the work request.
CompartmentId *string `mandatory:"true" json:"compartmentId"`
// The date and time the work request was created, in the format defined by RFC3339.
TimeAccepted *common.SDKTime `mandatory:"true" json:"timeAccepted"`
// The date and time the work request moved from the `ACCEPTED` state to the `IN_PROGRESS` state, expressed in RFC 3339 timestamp format.
TimeStarted *common.SDKTime `mandatory:"true" json:"timeStarted"`
// The date and time the work request was fulfilled or terminated, expressed in RFC 3339 timestamp format.
TimeFinished *common.SDKTime `mandatory:"true" json:"timeFinished"`
// The resources being used to complete the work request operation.
Resources []WorkRequestResource `mandatory:"false" json:"resources"`
// The percentage of work completed by the work request.
PercentComplete *int `mandatory:"false" json:"percentComplete"`
// The list of log entries from the work request workflow.
Logs []WorkRequestLogEntry `mandatory:"false" json:"logs"`
// The list of errors that occurred while fulfilling the work request.
Errors []WorkRequestError `mandatory:"false" json:"errors"`
}
func (m WorkRequest) String() string {
return common.PointerString(m)
}
// ValidateEnumValue returns an error when providing an unsupported enum value
// This function is being called during constructing API request process
// Not recommended for calling this function directly
func (m WorkRequest) ValidateEnumValue() (bool, error) {
errMessage := []string{}
if _, ok := GetMappingWorkRequestOperationTypesEnum(string(m.OperationType)); !ok && m.OperationType != "" {
errMessage = append(errMessage, fmt.Sprintf("unsupported enum value for OperationType: %s. Supported values are: %s.", m.OperationType, strings.Join(GetWorkRequestOperationTypesEnumStringValues(), ",")))
}
if _, ok := GetMappingWorkRequestStatusValuesEnum(string(m.Status)); !ok && m.Status != "" {
errMessage = append(errMessage, fmt.Sprintf("unsupported enum value for Status: %s. Supported values are: %s.", m.Status, strings.Join(GetWorkRequestStatusValuesEnumStringValues(), ",")))
}
if len(errMessage) > 0 {
return true, fmt.Errorf(strings.Join(errMessage, "\n"))
}
return false, nil
}
// WorkRequestOperationTypeEnum is an alias to type: WorkRequestOperationTypesEnum
// Consider using WorkRequestOperationTypesEnum instead
// Deprecated
type WorkRequestOperationTypeEnum = WorkRequestOperationTypesEnum
// Set of constants representing the allowable values for WorkRequestOperationTypesEnum
// Deprecated
const (
WorkRequestOperationTypeCreateWaasPolicy WorkRequestOperationTypesEnum = "CREATE_WAAS_POLICY"
WorkRequestOperationTypeUpdateWaasPolicy WorkRequestOperationTypesEnum = "UPDATE_WAAS_POLICY"
WorkRequestOperationTypeDeleteWaasPolicy WorkRequestOperationTypesEnum = "DELETE_WAAS_POLICY"
WorkRequestOperationTypeCreateHttpRedirect WorkRequestOperationTypesEnum = "CREATE_HTTP_REDIRECT"
WorkRequestOperationTypeUpdateHttpRedirect WorkRequestOperationTypesEnum = "UPDATE_HTTP_REDIRECT"
WorkRequestOperationTypeDeleteHttpRedirect WorkRequestOperationTypesEnum = "DELETE_HTTP_REDIRECT"
WorkRequestOperationTypePurgeWaasPolicyCache WorkRequestOperationTypesEnum = "PURGE_WAAS_POLICY_CACHE"
WorkRequestOperationTypeCreateCustomProtectionRule WorkRequestOperationTypesEnum = "CREATE_CUSTOM_PROTECTION_RULE"
WorkRequestOperationTypeUpdateCustomProtectionRule WorkRequestOperationTypesEnum = "UPDATE_CUSTOM_PROTECTION_RULE"
WorkRequestOperationTypeDeleteCustomProtectionRule WorkRequestOperationTypesEnum = "DELETE_CUSTOM_PROTECTION_RULE"
)
// GetWorkRequestOperationTypeEnumValues Enumerates the set of values for WorkRequestOperationTypesEnum
// Consider using GetWorkRequestOperationTypesEnumValue
// Deprecated
var GetWorkRequestOperationTypeEnumValues = GetWorkRequestOperationTypesEnumValues
// WorkRequestStatusEnum is an alias to type: WorkRequestStatusValuesEnum
// Consider using WorkRequestStatusValuesEnum instead
// Deprecated
type WorkRequestStatusEnum = WorkRequestStatusValuesEnum
// Set of constants representing the allowable values for WorkRequestStatusValuesEnum
// Deprecated
const (
WorkRequestStatusAccepted WorkRequestStatusValuesEnum = "ACCEPTED"
WorkRequestStatusInProgress WorkRequestStatusValuesEnum = "IN_PROGRESS"
WorkRequestStatusFailed WorkRequestStatusValuesEnum = "FAILED"
WorkRequestStatusSucceeded WorkRequestStatusValuesEnum = "SUCCEEDED"
WorkRequestStatusCanceling WorkRequestStatusValuesEnum = "CANCELING"
WorkRequestStatusCanceled WorkRequestStatusValuesEnum = "CANCELED"
)
// GetWorkRequestStatusEnumValues Enumerates the set of values for WorkRequestStatusValuesEnum
// Consider using GetWorkRequestStatusValuesEnumValue
// Deprecated
var GetWorkRequestStatusEnumValues = GetWorkRequestStatusValuesEnumValues