in internal/kibana/synthetics/schema.go [315:409]
func httpMonitorFieldsSchema() schema.Attribute {
return schema.SingleNestedAttribute{
Optional: true,
MarkdownDescription: "HTTP Monitor specific fields",
Attributes: map[string]schema.Attribute{
"url": schema.StringAttribute{
Optional: false,
Required: true,
MarkdownDescription: "URL to monitor.",
},
"ssl_verification_mode": schema.StringAttribute{
Optional: true,
MarkdownDescription: "Controls the verification of server certificates. ",
Computed: true,
PlanModifiers: []planmodifier.String{stringplanmodifier.UseStateForUnknown()},
},
"ssl_supported_protocols": schema.ListAttribute{
ElementType: types.StringType,
Optional: true,
MarkdownDescription: "List of allowed SSL/TLS versions.",
Computed: true,
PlanModifiers: []planmodifier.List{listplanmodifier.UseStateForUnknown()},
},
"ssl_certificate_authorities": schema.ListAttribute{
ElementType: types.StringType,
Optional: true,
MarkdownDescription: "The list of root certificates for verifications is required.",
},
"ssl_certificate": schema.StringAttribute{
Optional: true,
MarkdownDescription: "Certificate.",
Computed: true,
PlanModifiers: []planmodifier.String{stringplanmodifier.UseStateForUnknown()},
},
"ssl_key": schema.StringAttribute{
Optional: true,
MarkdownDescription: "Certificate key.",
Computed: true,
PlanModifiers: []planmodifier.String{stringplanmodifier.UseStateForUnknown()},
Sensitive: true,
},
"ssl_key_passphrase": schema.StringAttribute{
Optional: true,
MarkdownDescription: "Key passphrase.",
Computed: true,
PlanModifiers: []planmodifier.String{stringplanmodifier.UseStateForUnknown()},
Sensitive: true,
},
"max_redirects": schema.Int64Attribute{
Optional: true,
MarkdownDescription: "The maximum number of redirects to follow. Default: `0`",
PlanModifiers: []planmodifier.Int64{int64planmodifier.UseStateForUnknown()},
Computed: true,
},
"mode": schema.StringAttribute{
Optional: true,
MarkdownDescription: "The mode of the monitor. Can be \"all\" or \"any\". If you’re using a DNS-load balancer and want to ping every IP address for the specified hostname, you should use all.",
Validators: []validator.String{
stringvalidator.OneOf("any", "all"),
},
Computed: true,
PlanModifiers: []planmodifier.String{stringplanmodifier.UseStateForUnknown()},
},
"ipv4": schema.BoolAttribute{
Optional: true,
MarkdownDescription: "Whether to ping using the ipv4 protocol.",
Computed: true,
PlanModifiers: []planmodifier.Bool{boolplanmodifier.UseStateForUnknown()},
},
"ipv6": schema.BoolAttribute{
Optional: true,
MarkdownDescription: "Whether to ping using the ipv6 protocol.",
Computed: true,
PlanModifiers: []planmodifier.Bool{boolplanmodifier.UseStateForUnknown()},
},
"username": schema.StringAttribute{
Optional: true,
MarkdownDescription: "The username for authenticating with the server. The credentials are passed with the request.",
},
"password": schema.StringAttribute{
Optional: true,
MarkdownDescription: "The password for authenticating with the server. The credentials are passed with the request.",
},
"proxy_header": jsonObjectSchema("Additional headers to send to proxies during CONNECT requests."),
"proxy_url": schema.StringAttribute{
Optional: true,
MarkdownDescription: "The URL of the proxy to use for this monitor.",
Computed: true,
PlanModifiers: []planmodifier.String{stringplanmodifier.UseStateForUnknown()},
},
"response": jsonObjectSchema("Controls the indexing of the HTTP response body contents to the `http.response.body.contents` field."),
"check": jsonObjectSchema("The check request settings."),
},
}
}