package config

//Licensed under the Apache License, Version 2.0 (the "License");
//you may not use this file except in compliance with the License.
//You may obtain a copy of the License at
//
//http://www.apache.org/licenses/LICENSE-2.0
//
//Unless required by applicable law or agreed to in writing, software
//distributed under the License is distributed on an "AS IS" BASIS,
//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//See the License for the specific language governing permissions and
//limitations under the License.
//
// Code generated by Alibaba Cloud SDK Code Generator.
// Changes may cause incorrect behavior and will be lost if the code is regenerated.

// ManagedRule is a nested struct in config response
type ManagedRule struct {
	RiskLevel                       int                      `json:"RiskLevel" xml:"RiskLevel"`
	CreateTimestamp                 int64                    `json:"CreateTimestamp" xml:"CreateTimestamp"`
	HelpHint                        string                   `json:"HelpHint" xml:"HelpHint"`
	HelpUrls                        string                   `json:"HelpUrls" xml:"HelpUrls"`
	RegionId                        string                   `json:"RegionId" xml:"RegionId"`
	HelpDoc                         string                   `json:"HelpDoc" xml:"HelpDoc"`
	ReferenceCount                  int                      `json:"ReferenceCount" xml:"ReferenceCount"`
	Description                     string                   `json:"Description" xml:"Description"`
	ManagedRuleName                 string                   `json:"ManagedRuleName" xml:"ManagedRuleName"`
	ServiceName                     string                   `json:"ServiceName" xml:"ServiceName"`
	SupportPreviewManagedRule       bool                     `json:"SupportPreviewManagedRule" xml:"SupportPreviewManagedRule"`
	DefaultEnable                   bool                     `json:"DefaultEnable" xml:"DefaultEnable"`
	FunctionName                    string                   `json:"FunctionName" xml:"FunctionName"`
	CompulsoryInputParameterDetails map[string]interface{}   `json:"CompulsoryInputParameterDetails" xml:"CompulsoryInputParameterDetails"`
	HelpUrl                         string                   `json:"HelpUrl" xml:"HelpUrl"`
	OptionalInputParameterDetails   map[string]interface{}   `json:"OptionalInputParameterDetails" xml:"OptionalInputParameterDetails"`
	DefaultName                     string                   `json:"DefaultName" xml:"DefaultName"`
	NonCompliantSample              string                   `json:"NonCompliantSample" xml:"NonCompliantSample"`
	UseCases                        string                   `json:"UseCases" xml:"UseCases"`
	ConfigRuleName                  string                   `json:"ConfigRuleName" xml:"ConfigRuleName"`
	CompliantSample                 string                   `json:"CompliantSample" xml:"CompliantSample"`
	RemediationTemplateIdentifier   string                   `json:"RemediationTemplateIdentifier" xml:"RemediationTemplateIdentifier"`
	RemediationTemplateName         string                   `json:"RemediationTemplateName" xml:"RemediationTemplateName"`
	ResourceType                    string                   `json:"ResourceType" xml:"ResourceType"`
	InputParameters                 map[string]interface{}   `json:"InputParameters" xml:"InputParameters"`
	Identifier                      string                   `json:"Identifier" xml:"Identifier"`
	SourceConditions                []map[string]interface{} `json:"SourceConditions" xml:"SourceConditions"`
	Labels                          []string                 `json:"Labels" xml:"Labels"`
	Scope                           Scope                    `json:"Scope" xml:"Scope"`
	SourceDetails                   []SourceDetailsItem      `json:"SourceDetails" xml:"SourceDetails"`
}
