Analysis#
pulumi/pulumi:proto/pulumi/analyzer.proto
Services#
π Analyzer#
Analyzer provides a pluggable interface for checking resource definitions against some number of resource policies. It is intentionally open-ended, allowing for implementations that check everything from raw resource definitions to entire projects/stacks/snapshots for arbitrary issues β style, policy, correctness, security, and so on.
π Analyze#
β€΅οΈ AnalyzeRequest β€΄οΈ AnalyzeResponse
Analyze analyzes a single resource object, and returns any errors that it finds. Called with the βinputsβ to the resource, before it is updated.
π AnalyzeStack#
β€΅οΈ AnalyzeStackRequest β€΄οΈ AnalyzeResponse
AnalyzeStack analyzes all resources within a stack, at the end of a successful preview or update. The provided resources are the βoutputsβ, after any mutations have taken place.
π Remediate#
β€΅οΈ AnalyzeRequest β€΄οΈ RemediateResponse
Remediate optionally transforms a single resource object. This effectively rewrites a single resource objectβs properties instead of using what was generated by the program.
π GetAnalyzerInfo#
β€΅οΈ .google.protobuf.Empty β€΄οΈ AnalyzerInfo
GetAnalyzerInfo returns metadata about the analyzer (e.g., list of policies contained).
π GetPluginInfo#
β€΅οΈ .google.protobuf.Empty β€΄οΈ PluginInfo
GetPluginInfo returns generic information about this plugin, like its version.
π Configure#
β€΅οΈ ConfigureAnalyzerRequest β€΄οΈ .google.protobuf.Empty
Configure configures the analyzer, passing configuration properties for each policy.
π Handshake#
β€΅οΈ AnalyzerHandshakeRequest β€΄οΈ AnalyzerHandshakeResponse
Handshake is the first call made by the engine to an analyzer. It is used to pass the engineβs address to the
analyzer so that it may establish its own connections back, and to establish protocol configuration that will be
used to communicate between the two parties.
π ConfigureStack#
β€΅οΈ AnalyzerStackConfigureRequest β€΄οΈ AnalyzerStackConfigureResponse
ConfigureStack is always called if the engine is using the analyzer to analyze resources in a specific stack.
This method is not always called, for example if the engine is just booting the analyzer up to call
GetAnalyzerInfo.
π Cancel#
β€΅οΈ .google.protobuf.Empty β€΄οΈ .google.protobuf.Empty
Cancel signals the analyzer to gracefully shut down and abort any ongoing analysis operations. Operations aborted in this way will return an error. Since Cancel is advisory and non-blocking, it is up to the host to decide how long to wait after Cancel is called before (e.g.) hard-closing any gRPC connection.
Messages#
π¨ AnalyzeDiagnostic#
policyNamestringName of the violated policy.
policyPackNamestringName of the policy pack the policy is in.
policyPackVersionstringVersion of the policy pack.
descriptionstringDescription of policy rule. e.g., βencryption enabled.β
messagestringMessage to display on policy violation, e.g., remediation steps.
enforcementLevelEnforcementLevelEnforcement level of the policy violation.
urnstringURN of the resource that violates the policy.
severityPolicySeveritySeverity of the policy violation.
π¨ AnalyzeRequest#
typestringthe type token of the resource.
propertiesgoogle.protobuf.Structthe full properties to use for validation.
urnstringthe URN of the resource.
namestringthe name for the resourceβs URN.
optionsAnalyzerResourceOptionsthe resource options.
providerAnalyzerProviderResourcethe resourceβs provider.
π¨ AnalyzeResponse#
diagnosticsAnalyzeDiagnosticinformation about policy violations.
not_applicablePolicyNotApplicableinformation about policies that were not applicable.
π¨ AnalyzeStackRequest#
resourcesAnalyzerResource<No description>
π¨ AnalyzerHandshakeRequest#
AnalyzerHandshakeRequest is the type of requests sent as part of a π Handshake call.
engine_addressstringThe gRPC address of the engine handshaking with the analyzer. At a minimum, this address will expose an instance of the π Engine service.
root_directorystringA root directory where the analyzerβs binary,
PulumiPolicy.yaml, or other identifying source code is located. In the event that the analyzer is not being booted by the engine (e.g. in the case that the engine has been asked to attach to an existing running analyzer instance via a host/port number), this field will be empty.program_directorystringA program directory in which the analyzer should execute. This is generally a subdirectory of the root directory, though this is not required. In the event that the analyzer is not being booted by the engine (e.g. in the case that the engine has been asked to attach to an existing running analyzer instance via a host/port number), this field will be empty.
π¨ AnalyzerHandshakeResponse#
AnalyzerHandshakeResponse is the type of responses sent by a π Handshake call.
π¨ AnalyzerInfo#
AnalyzerInfo provides metadata about a PolicyPack inside an analyzer.
namestringName of the PolicyPack.
displayNamestringPretty name for the PolicyPack.
policiesPolicyInfoMetadata about policies contained in PolicyPack.
versionstringVersion of the Policy Pack.
supportsConfigboolWhether the Policy Pack supports config.
initialConfigAnalyzerInfo.InitialConfigEntryMap of policy name to config.
descriptionstringDescription of the policy pack.
readmestringREADME text for the policy pack.
providerstringCloud provider/platform associated with the policy pack.
tagsstringTags for this policy pack.
repositorystringA URL to the repository where the policy pack is defined.
π¨ InitialConfigEntry#
keystring<No description>
valuePolicyConfig<No description>
π¨ AnalyzerPropertyDependencies#
AnalyzerPropertyDependencies describes the resources that a particular property depends on.
urnsstringA list of URNs this property depends on.
π¨ AnalyzerProviderResource#
AnalyzerProviderResource provides information about a resourceβs provider.
typestringthe type token of the resource.
propertiesgoogle.protobuf.Structthe full properties to use for validation.
urnstringthe URN of the resource.
namestringthe name for the resourceβs URN.
π¨ AnalyzerResource#
AnalyzerResource defines the view of a Pulumi-managed resource as sent to Analyzers. The properties of the resource are specific to the type of analysis being performed. See the Analyzer service definition for more information.
typestringthe type token of the resource.
propertiesgoogle.protobuf.Structthe full properties to use for validation.
urnstringthe URN of the resource.
namestringthe name for the resourceβs URN.
optionsAnalyzerResourceOptionsthe resource options.
providerAnalyzerProviderResourcethe resourceβs provider.
parentstringan optional parent URN that this child resource belongs to.
dependenciesstringa list of URNs that this resource depends on.
propertyDependenciesAnalyzerResource.PropertyDependenciesEntrya map from property keys to the dependencies of the property.
π¨ PropertyDependenciesEntry#
keystring<No description>
valueAnalyzerPropertyDependencies<No description>
π¨ AnalyzerResourceOptions#
AnalyzerResourceOptions defines the options associated with a resource.
protectbooltrue if the resource should be marked protected.
ignoreChangesstringa list of property names to ignore during changes.
deleteBeforeReplacebooltrue if this resource should be deleted before replacement.
deleteBeforeReplaceDefinedbooltrue if the deleteBeforeReplace property should be treated as defined even if it is false.
additionalSecretOutputsstringa list of output properties that should also be treated as secret, in addition to ones we detect.
aliasesstringa list of additional URNs that shoud be considered the same.
customTimeoutsAnalyzerResourceOptions.CustomTimeoutsa config block that will be used to configure timeouts for CRUD operations.
parentstringan optional parent URN that this child resource belongs to.
π¨ CustomTimeouts#
CustomTimeouts allows a user to be able to create a set of custom timeout parameters.
π¨ AnalyzerStackConfigureRequest#
AnalyzerStackConfigureRequest is the message for the stack configuration of the stack being analyzed.
stackstringThe stack name being analyzed.
projectstringThe project name of the stack being analyzed.
organizationstringThe organization name of the stack being analyzed.
dry_runboolTrue if this is a preview/dry run.
config_secret_keysstringA list of configuration keys whose values should be treated as secrets.
configAnalyzerStackConfigureRequest.ConfigEntryThe configuration of the stack being analyzed.
tagsAnalyzerStackConfigureRequest.TagsEntryTags for the current stack.
π¨ ConfigEntry#
π¨ AnalyzerStackConfigureResponse#
AnalyzerStackConfigureResponse is the type of responses sent by a π ConfigureStack call.
π¨ ConfigureAnalyzerRequest#
ConfigureAnalyzerRequest provides configuration information to the analyzer.
policyConfigConfigureAnalyzerRequest.PolicyConfigEntryMap of policy name to config.
π¨ PolicyConfigEntry#
keystring<No description>
valuePolicyConfig<No description>
π¨ PolicyComplianceFramework#
PolicyComplianceFramework provides information about the compliance framework that a policy belongs to.
π¨ PolicyConfig#
PolicyConfig provides configuration for a policy.
enforcementLevelEnforcementLevelEnforcement level of the policy.
propertiesgoogle.protobuf.StructConfiguration properties of the policy.
π¨ PolicyConfigSchema#
PolicyConfigSchema provides the schema for a policyβs configuration.
propertiesgoogle.protobuf.StructJSON schema for each property.
requiredstringRequired properties.
π¨ PolicyInfo#
PolicyInfo provides metadata about a policy within a Policy Pack.
namestringName of the policy.
displayNamestringPretty name for the policy.
descriptionstringDescription of policy rule. e.g., βencryption enabled.β
messagestringMessage to display on policy violation, e.g., remediation steps.
enforcementLevelEnforcementLevelSeverity of the policy violation.
configSchemaPolicyConfigSchemaConfig schema for the policy.
policy_typePolicyTypeType of the policy.
severityPolicySeveritySeverity of the policy.
frameworkPolicyComplianceFrameworkCompliance framework that this policy belongs to.
tagsstringTags associated with the policy.
remediation_stepsstringA description of the steps to take to remediate a policy violation.
urlstringA URL to more information about the policy.
π¨ PolicyNotApplicable#
PolicyNotApplicable describes a policy that was not applicable, including an optional reason why.
π¨ RemediateResponse#
RemediateResponse contains a sequence of remediations applied, in order.
remediationsRemediationthe list of remediations that were applied.
not_applicablePolicyNotApplicableinformation about policies that were not applicable.
π¨ Remediation#
Remediation is a single resource remediation result.
policyNamestringName of the policy that performed the remediation.
policyPackNamestringName of the policy pack the transform is in.
policyPackVersionstringVersion of the policy pack.
descriptionstringDescription of transform rule. e.g., βauto-tag resources.β
propertiesgoogle.protobuf.Structthe transformed properties to use.
diagnosticstringan optional warning diagnostic to emit, if a transform failed.