-
Notifications
You must be signed in to change notification settings - Fork 79
/
script.go
90 lines (70 loc) · 4.3 KB
/
script.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
// Copyright (c) 2016, 2018, 2022, 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.
// Application Performance Monitoring Synthetic Monitoring API
//
// Use the Application Performance Monitoring Synthetic Monitoring API to query synthetic scripts and monitors.
//
package apmsynthetics
import (
"fmt"
"github.com/oracle/oci-go-sdk/v60/common"
"strings"
)
// Script The information about the script.
type Script struct {
// The OCID (https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the script.
// scriptId is mandatory for creation of SCRIPTED_BROWSER and SCRIPTED_REST monitor types. For other monitor types, it should be set to null.
Id *string `mandatory:"true" json:"id"`
// Unique name that can be edited. The name should not contain any confidential information.
DisplayName *string `mandatory:"true" json:"displayName"`
// Content type of the script.
ContentType ContentTypesEnum `mandatory:"true" json:"contentType"`
MonitorStatusCountMap *MonitorStatusCountMap `mandatory:"true" json:"monitorStatusCountMap"`
// The content of the script. It may contain custom-defined tags that can be used for setting dynamic parameters.
// The format to set dynamic parameters is: `<ORAP><ON>param name</ON><OV>param value</OV><OS>isParamValueSecret(true/false)</OS></ORAP>`.
// Param value and isParamValueSecret are optional, the default value for isParamValueSecret is false.
// Examples:
// With mandatory param name : `<ORAP><ON>param name</ON></ORAP>`
// With parameter name and value : `<ORAP><ON>param name</ON><OV>param value</OV></ORAP>`
// Note that the content is valid if it matches the given content type. For example, if the content type is SIDE, then the content should be in Side script format. If the content type is JS, then the content should be in JavaScript format.
Content *string `mandatory:"false" json:"content"`
// The time when the script was uploaded.
TimeUploaded *common.SDKTime `mandatory:"false" json:"timeUploaded"`
// Size of the script content.
ContentSizeInBytes *int `mandatory:"false" json:"contentSizeInBytes"`
// File name of the uploaded script content.
ContentFileName *string `mandatory:"false" json:"contentFileName"`
// List of script parameters. Example: `[{"scriptParameter": {"paramName": "userid", "paramValue":"testuser", "isSecret": false}, "isOverwritten": false}]`
Parameters []ScriptParameterInfo `mandatory:"false" json:"parameters"`
// The time the resource was created, expressed in RFC 3339 (https://tools.ietf.org/html/rfc3339)
// timestamp format.
// Example: `2020-02-12T22:47:12.613Z`
TimeCreated *common.SDKTime `mandatory:"false" json:"timeCreated"`
// The time the resource was updated, expressed in RFC 3339 (https://tools.ietf.org/html/rfc3339)
// timestamp format.
// Example: `2020-02-13T22:47:12.613Z`
TimeUpdated *common.SDKTime `mandatory:"false" json:"timeUpdated"`
// Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only.
// Example: `{"bar-key": "value"}`
FreeformTags map[string]string `mandatory:"false" json:"freeformTags"`
// Defined tags for this resource. Each key is predefined and scoped to a namespace.
// Example: `{"foo-namespace": {"bar-key": "value"}}`
DefinedTags map[string]map[string]interface{} `mandatory:"false" json:"definedTags"`
}
func (m Script) 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 Script) ValidateEnumValue() (bool, error) {
errMessage := []string{}
if _, ok := GetMappingContentTypesEnum(string(m.ContentType)); !ok && m.ContentType != "" {
errMessage = append(errMessage, fmt.Sprintf("unsupported enum value for ContentType: %s. Supported values are: %s.", m.ContentType, strings.Join(GetContentTypesEnumStringValues(), ",")))
}
if len(errMessage) > 0 {
return true, fmt.Errorf(strings.Join(errMessage, "\n"))
}
return false, nil
}