diff --git a/CHANGELOG.md b/CHANGELOG.md index 96d80ad93..606259f01 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,9 @@ CHANGELOG - Improve CPU utilization in the Python SDK when waiting for resource operations. [#3892](https://github.com/pulumi/pulumi/pull/3892) +- Expose resource options, parent, dependencies, and provider config to policies. + [#3862](https://github.com/pulumi/pulumi/pull/3862) + ## 1.10.1 (2020-02-06) - Support stack references in the Go SDK. [#3829](https://github.com/pulumi/pulumi/pull/3829) diff --git a/pkg/resource/deploy/step_generator.go b/pkg/resource/deploy/step_generator.go index dba5d8587..92705191d 100644 --- a/pkg/resource/deploy/step_generator.go +++ b/pkg/resource/deploy/step_generator.go @@ -61,6 +61,7 @@ type stepGenerator struct { pendingDeletes map[*resource.State]bool // set of resources (not URNs!) that are pending deletion providers map[resource.URN]*resource.State // URN map of providers that we have seen so far. + resourceGoals map[resource.URN]*resource.Goal // URN map of goals for ALL resources we have seen so far. resourceStates map[resource.URN]*resource.State // URN map of state for ALL resources we have seen so far. // a map from URN to a list of property keys that caused the replacement of a dependent resource during a @@ -254,6 +255,7 @@ func (sg *stepGenerator) generateSteps(event RegisterResourceEvent) ([]Step, res // Mark the URN/resource as having been seen. So we can run analyzers on all resources seen, as well as // lookup providers for calculating replacement of resources that use the provider. + sg.resourceGoals[urn] = goal sg.resourceStates[urn] = new if providers.IsProviderType(goal.Type) { sg.providers[urn] = new @@ -321,7 +323,25 @@ func (sg *stepGenerator) generateSteps(event RegisterResourceEvent) ([]Step, res Type: new.Type, Name: new.URN.Name(), Properties: inputs, + Options: plugin.AnalyzerResourceOptions{ + Protect: new.Protect, + IgnoreChanges: goal.IgnoreChanges, + DeleteBeforeReplace: goal.DeleteBeforeReplace, + AdditionalSecretOutputs: new.AdditionalSecretOutputs, + Aliases: new.Aliases, + CustomTimeouts: new.CustomTimeouts, + }, } + providerResource := sg.getProviderResource(new.URN, new.Provider) + if providerResource != nil { + r.Provider = &plugin.AnalyzerProviderResource{ + URN: providerResource.URN, + Type: providerResource.Type, + Name: providerResource.URN.Name(), + Properties: providerResource.Inputs, + } + } + diagnostics, err := analyzer.Analyze(r) if err != nil { return nil, result.FromError(err) @@ -1131,6 +1151,20 @@ func (sg *stepGenerator) loadResourceProvider( return p, nil } +func (sg *stepGenerator) getProviderResource(urn resource.URN, provider string) *resource.State { + if provider == "" { + return nil + } + + // All callers of this method are on paths that have previously validated that the provider + // reference can be parsed correctly and has a provider resource in the map. + ref, err := providers.ParseReference(provider) + contract.AssertNoErrorf(err, "failed to parse provider reference") + result := sg.providers[ref.URN()] + contract.Assertf(result != nil, "provider missing from step generator providers map") + return result +} + type dependentReplace struct { res *resource.State keys []resource.PropertyKey @@ -1242,16 +1276,40 @@ func (sg *stepGenerator) calculateDependentReplacements(root *resource.State) ([ func (sg *stepGenerator) AnalyzeResources() result.Result { resourcesSeen := sg.resourceStates - resources := make([]plugin.AnalyzerResource, 0, len(resourcesSeen)) - for _, v := range resourcesSeen { - resources = append(resources, plugin.AnalyzerResource{ - URN: v.URN, - Type: v.Type, - Name: v.URN.Name(), - // Unlike Analyze, AnalyzeStack is called on the final outputs of each resource, - // to verify the final stack is in a compliant state. - Properties: v.Outputs, - }) + resources := make([]plugin.AnalyzerStackResource, 0, len(resourcesSeen)) + for urn, v := range resourcesSeen { + goal := sg.resourceGoals[urn] + resource := plugin.AnalyzerStackResource{ + AnalyzerResource: plugin.AnalyzerResource{ + URN: v.URN, + Type: v.Type, + Name: v.URN.Name(), + // Unlike Analyze, AnalyzeStack is called on the final outputs of each resource, + // to verify the final stack is in a compliant state. + Properties: v.Outputs, + Options: plugin.AnalyzerResourceOptions{ + Protect: v.Protect, + IgnoreChanges: goal.IgnoreChanges, + DeleteBeforeReplace: goal.DeleteBeforeReplace, + AdditionalSecretOutputs: v.AdditionalSecretOutputs, + Aliases: v.Aliases, + CustomTimeouts: v.CustomTimeouts, + }, + }, + Parent: v.Parent, + Dependencies: v.Dependencies, + PropertyDependencies: v.PropertyDependencies, + } + providerResource := sg.getProviderResource(v.URN, v.Provider) + if providerResource != nil { + resource.Provider = &plugin.AnalyzerProviderResource{ + URN: providerResource.URN, + Type: providerResource.Type, + Name: providerResource.URN.Name(), + Properties: providerResource.Inputs, + } + } + resources = append(resources, resource) } analyzers := sg.plan.ctx.Host.ListAnalyzers() @@ -1296,6 +1354,7 @@ func newStepGenerator( skippedCreates: make(map[resource.URN]bool), pendingDeletes: make(map[*resource.State]bool), providers: make(map[resource.URN]*resource.State), + resourceGoals: make(map[resource.URN]*resource.Goal), resourceStates: make(map[resource.URN]*resource.State), dependentReplaceKeys: make(map[resource.URN][]resource.PropertyKey), aliased: make(map[resource.URN]resource.URN), diff --git a/pkg/resource/plugin/analyzer.go b/pkg/resource/plugin/analyzer.go index a9fb3e4e3..32bd804b6 100644 --- a/pkg/resource/plugin/analyzer.go +++ b/pkg/resource/plugin/analyzer.go @@ -36,19 +36,47 @@ type Analyzer interface { Analyze(r AnalyzerResource) ([]AnalyzeDiagnostic, error) // AnalyzeStack analyzes all resources after a successful preview or update. // Is called after all resources have been processed, and all changes applied. - AnalyzeStack(resources []AnalyzerResource) ([]AnalyzeDiagnostic, error) + AnalyzeStack(resources []AnalyzerStackResource) ([]AnalyzeDiagnostic, error) // GetAnalyzerInfo returns metadata about the analyzer (e.g., list of policies contained). GetAnalyzerInfo() (AnalyzerInfo, error) // GetPluginInfo returns this plugin's information. GetPluginInfo() (workspace.PluginInfo, error) } -// AnalyzerResource mirrors a resource that is sent to the analyzer. +// AnalyzerResource mirrors a resource that is passed to `Analyze`. type AnalyzerResource struct { URN resource.URN Type tokens.Type Name tokens.QName Properties resource.PropertyMap + Options AnalyzerResourceOptions + Provider *AnalyzerProviderResource +} + +// AnalyzerStackResource mirrors a resource that is passed to `AnalyzeStack`. +type AnalyzerStackResource struct { + AnalyzerResource + Parent resource.URN // an optional parent URN for this resource. + Dependencies []resource.URN // dependencies of this resource object. + PropertyDependencies map[resource.PropertyKey][]resource.URN // the set of dependencies that affect each property. +} + +// AnalyzerResourceOptions mirrors resource options sent to the analyzer. +type AnalyzerResourceOptions struct { + Protect bool // true to protect this resource from deletion. + IgnoreChanges []string // a list of property names to ignore during changes. + DeleteBeforeReplace *bool // true if this resource should be deleted prior to replacement. + AdditionalSecretOutputs []resource.PropertyKey // outputs that should always be treated as secrets. + Aliases []resource.URN // additional URNs that should be aliased to this resource. + CustomTimeouts resource.CustomTimeouts // an optional config object for resource options +} + +// AnalyzerProviderResource mirrors a resource's provider sent to the analyzer. +type AnalyzerProviderResource struct { + URN resource.URN + Type tokens.Type + Name tokens.QName + Properties resource.PropertyMap } // AnalyzeDiagnostic indicates that resource analysis failed; it contains the property and reason diff --git a/pkg/resource/plugin/analyzer_plugin.go b/pkg/resource/plugin/analyzer_plugin.go index b881421e0..dc3be4aff 100644 --- a/pkg/resource/plugin/analyzer_plugin.go +++ b/pkg/resource/plugin/analyzer_plugin.go @@ -142,11 +142,18 @@ func (a *analyzer) Analyze(r AnalyzerResource) ([]AnalyzeDiagnostic, error) { return nil, err } + provider, err := marshalProvider(r.Provider) + if err != nil { + return nil, err + } + resp, err := a.client.Analyze(a.ctx.Request(), &pulumirpc.AnalyzeRequest{ Urn: string(urn), Type: string(t), Name: string(name), Properties: mprops, + Options: marshalResourceOptions(r.Options), + Provider: provider, }) if err != nil { rpcError := rpcerror.Convert(err) @@ -165,7 +172,7 @@ func (a *analyzer) Analyze(r AnalyzerResource) ([]AnalyzeDiagnostic, error) { } // AnalyzeStack analyzes all resources in a stack at the end of the update operation. -func (a *analyzer) AnalyzeStack(resources []AnalyzerResource) ([]AnalyzeDiagnostic, error) { +func (a *analyzer) AnalyzeStack(resources []AnalyzerStackResource) ([]AnalyzeDiagnostic, error) { logging.V(7).Infof("%s.AnalyzeStack(#resources=%d) executing", a.label(), len(resources)) protoResources := make([]*pulumirpc.AnalyzerResource, len(resources)) @@ -175,11 +182,37 @@ func (a *analyzer) AnalyzeStack(resources []AnalyzerResource) ([]AnalyzeDiagnost return nil, errors.Wrap(err, "marshalling properties") } + provider, err := marshalProvider(resource.Provider) + if err != nil { + return nil, err + } + + propertyDeps := make(map[string]*pulumirpc.AnalyzerPropertyDependencies) + for pk, pd := range resource.PropertyDependencies { + // Skip properties that have no dependencies. + if len(pd) == 0 { + continue + } + + pdeps := []string{} + for _, d := range pd { + pdeps = append(pdeps, string(d)) + } + propertyDeps[string(pk)] = &pulumirpc.AnalyzerPropertyDependencies{ + Urns: pdeps, + } + } + protoResources[idx] = &pulumirpc.AnalyzerResource{ - Urn: string(resource.URN), - Type: string(resource.Type), - Name: string(resource.Name), - Properties: props, + Urn: string(resource.URN), + Type: string(resource.Type), + Name: string(resource.Name), + Properties: props, + Options: marshalResourceOptions(resource.Options), + Provider: provider, + Parent: string(resource.Parent), + Dependencies: convertURNs(resource.Dependencies), + PropertyDependencies: propertyDeps, } } @@ -277,6 +310,59 @@ func (a *analyzer) Close() error { return a.plug.Close() } +func marshalResourceOptions(opts AnalyzerResourceOptions) *pulumirpc.AnalyzerResourceOptions { + secs := make([]string, len(opts.AdditionalSecretOutputs)) + for idx := range opts.AdditionalSecretOutputs { + secs[idx] = string(opts.AdditionalSecretOutputs[idx]) + } + + var deleteBeforeReplace bool + if opts.DeleteBeforeReplace != nil { + deleteBeforeReplace = *opts.DeleteBeforeReplace + } + + result := &pulumirpc.AnalyzerResourceOptions{ + Protect: opts.Protect, + IgnoreChanges: opts.IgnoreChanges, + DeleteBeforeReplace: deleteBeforeReplace, + DeleteBeforeReplaceDefined: opts.DeleteBeforeReplace != nil, + AdditionalSecretOutputs: secs, + Aliases: convertURNs(opts.Aliases), + CustomTimeouts: &pulumirpc.AnalyzerResourceOptions_CustomTimeouts{ + Create: opts.CustomTimeouts.Create, + Update: opts.CustomTimeouts.Update, + Delete: opts.CustomTimeouts.Delete, + }, + } + return result +} + +func marshalProvider(provider *AnalyzerProviderResource) (*pulumirpc.AnalyzerProviderResource, error) { + if provider == nil { + return nil, nil + } + + props, err := MarshalProperties(provider.Properties, MarshalOptions{KeepUnknowns: true, KeepSecrets: true}) + if err != nil { + return nil, errors.Wrap(err, "marshalling properties") + } + + return &pulumirpc.AnalyzerProviderResource{ + Urn: string(provider.URN), + Type: string(provider.Type), + Name: string(provider.Name), + Properties: props, + }, nil +} + +func convertURNs(urns []resource.URN) []string { + result := make([]string, len(urns)) + for idx := range urns { + result[idx] = string(urns[idx]) + } + return result +} + func convertEnforcementLevel(el pulumirpc.EnforcementLevel) (apitype.EnforcementLevel, error) { switch el { case pulumirpc.EnforcementLevel_ADVISORY: diff --git a/sdk/nodejs/proto/analyzer_pb.js b/sdk/nodejs/proto/analyzer_pb.js index 47c5edf19..1a10ea08b 100644 --- a/sdk/nodejs/proto/analyzer_pb.js +++ b/sdk/nodejs/proto/analyzer_pb.js @@ -19,7 +19,11 @@ goog.exportSymbol('proto.pulumirpc.AnalyzeRequest', null, global); goog.exportSymbol('proto.pulumirpc.AnalyzeResponse', null, global); goog.exportSymbol('proto.pulumirpc.AnalyzeStackRequest', null, global); goog.exportSymbol('proto.pulumirpc.AnalyzerInfo', null, global); +goog.exportSymbol('proto.pulumirpc.AnalyzerPropertyDependencies', null, global); +goog.exportSymbol('proto.pulumirpc.AnalyzerProviderResource', null, global); goog.exportSymbol('proto.pulumirpc.AnalyzerResource', null, global); +goog.exportSymbol('proto.pulumirpc.AnalyzerResourceOptions', null, global); +goog.exportSymbol('proto.pulumirpc.AnalyzerResourceOptions.CustomTimeouts', null, global); goog.exportSymbol('proto.pulumirpc.EnforcementLevel', null, global); goog.exportSymbol('proto.pulumirpc.PolicyInfo', null, global); @@ -72,7 +76,9 @@ proto.pulumirpc.AnalyzeRequest.toObject = function(includeInstance, msg) { type: jspb.Message.getFieldWithDefault(msg, 1, ""), properties: (f = msg.getProperties()) && google_protobuf_struct_pb.Struct.toObject(includeInstance, f), urn: jspb.Message.getFieldWithDefault(msg, 3, ""), - name: jspb.Message.getFieldWithDefault(msg, 4, "") + name: jspb.Message.getFieldWithDefault(msg, 4, ""), + options: (f = msg.getOptions()) && proto.pulumirpc.AnalyzerResourceOptions.toObject(includeInstance, f), + provider: (f = msg.getProvider()) && proto.pulumirpc.AnalyzerProviderResource.toObject(includeInstance, f) }; if (includeInstance) { @@ -126,6 +132,16 @@ proto.pulumirpc.AnalyzeRequest.deserializeBinaryFromReader = function(msg, reade var value = /** @type {string} */ (reader.readString()); msg.setName(value); break; + case 5: + var value = new proto.pulumirpc.AnalyzerResourceOptions; + reader.readMessage(value,proto.pulumirpc.AnalyzerResourceOptions.deserializeBinaryFromReader); + msg.setOptions(value); + break; + case 6: + var value = new proto.pulumirpc.AnalyzerProviderResource; + reader.readMessage(value,proto.pulumirpc.AnalyzerProviderResource.deserializeBinaryFromReader); + msg.setProvider(value); + break; default: reader.skipField(); break; @@ -184,6 +200,22 @@ proto.pulumirpc.AnalyzeRequest.serializeBinaryToWriter = function(message, write f ); } + f = message.getOptions(); + if (f != null) { + writer.writeMessage( + 5, + f, + proto.pulumirpc.AnalyzerResourceOptions.serializeBinaryToWriter + ); + } + f = message.getProvider(); + if (f != null) { + writer.writeMessage( + 6, + f, + proto.pulumirpc.AnalyzerProviderResource.serializeBinaryToWriter + ); + } }; @@ -262,6 +294,66 @@ proto.pulumirpc.AnalyzeRequest.prototype.setName = function(value) { }; +/** + * optional AnalyzerResourceOptions options = 5; + * @return {?proto.pulumirpc.AnalyzerResourceOptions} + */ +proto.pulumirpc.AnalyzeRequest.prototype.getOptions = function() { + return /** @type{?proto.pulumirpc.AnalyzerResourceOptions} */ ( + jspb.Message.getWrapperField(this, proto.pulumirpc.AnalyzerResourceOptions, 5)); +}; + + +/** @param {?proto.pulumirpc.AnalyzerResourceOptions|undefined} value */ +proto.pulumirpc.AnalyzeRequest.prototype.setOptions = function(value) { + jspb.Message.setWrapperField(this, 5, value); +}; + + +proto.pulumirpc.AnalyzeRequest.prototype.clearOptions = function() { + this.setOptions(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {!boolean} + */ +proto.pulumirpc.AnalyzeRequest.prototype.hasOptions = function() { + return jspb.Message.getField(this, 5) != null; +}; + + +/** + * optional AnalyzerProviderResource provider = 6; + * @return {?proto.pulumirpc.AnalyzerProviderResource} + */ +proto.pulumirpc.AnalyzeRequest.prototype.getProvider = function() { + return /** @type{?proto.pulumirpc.AnalyzerProviderResource} */ ( + jspb.Message.getWrapperField(this, proto.pulumirpc.AnalyzerProviderResource, 6)); +}; + + +/** @param {?proto.pulumirpc.AnalyzerProviderResource|undefined} value */ +proto.pulumirpc.AnalyzeRequest.prototype.setProvider = function(value) { + jspb.Message.setWrapperField(this, 6, value); +}; + + +proto.pulumirpc.AnalyzeRequest.prototype.clearProvider = function() { + this.setProvider(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {!boolean} + */ +proto.pulumirpc.AnalyzeRequest.prototype.hasProvider = function() { + return jspb.Message.getField(this, 6) != null; +}; + + /** * Generated by JsPbCodeGenerator. @@ -274,12 +366,19 @@ proto.pulumirpc.AnalyzeRequest.prototype.setName = function(value) { * @constructor */ proto.pulumirpc.AnalyzerResource = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); + jspb.Message.initialize(this, opt_data, 0, -1, proto.pulumirpc.AnalyzerResource.repeatedFields_, null); }; goog.inherits(proto.pulumirpc.AnalyzerResource, jspb.Message); if (goog.DEBUG && !COMPILED) { proto.pulumirpc.AnalyzerResource.displayName = 'proto.pulumirpc.AnalyzerResource'; } +/** + * List of repeated fields within this message type. + * @private {!Array} + * @const + */ +proto.pulumirpc.AnalyzerResource.repeatedFields_ = [8]; + if (jspb.Message.GENERATE_TO_OBJECT) { @@ -312,7 +411,12 @@ proto.pulumirpc.AnalyzerResource.toObject = function(includeInstance, msg) { type: jspb.Message.getFieldWithDefault(msg, 1, ""), properties: (f = msg.getProperties()) && google_protobuf_struct_pb.Struct.toObject(includeInstance, f), urn: jspb.Message.getFieldWithDefault(msg, 3, ""), - name: jspb.Message.getFieldWithDefault(msg, 4, "") + name: jspb.Message.getFieldWithDefault(msg, 4, ""), + options: (f = msg.getOptions()) && proto.pulumirpc.AnalyzerResourceOptions.toObject(includeInstance, f), + provider: (f = msg.getProvider()) && proto.pulumirpc.AnalyzerProviderResource.toObject(includeInstance, f), + parent: jspb.Message.getFieldWithDefault(msg, 7, ""), + dependenciesList: jspb.Message.getRepeatedField(msg, 8), + propertydependenciesMap: (f = msg.getPropertydependenciesMap()) ? f.toObject(includeInstance, proto.pulumirpc.AnalyzerPropertyDependencies.toObject) : [] }; if (includeInstance) { @@ -366,6 +470,30 @@ proto.pulumirpc.AnalyzerResource.deserializeBinaryFromReader = function(msg, rea var value = /** @type {string} */ (reader.readString()); msg.setName(value); break; + case 5: + var value = new proto.pulumirpc.AnalyzerResourceOptions; + reader.readMessage(value,proto.pulumirpc.AnalyzerResourceOptions.deserializeBinaryFromReader); + msg.setOptions(value); + break; + case 6: + var value = new proto.pulumirpc.AnalyzerProviderResource; + reader.readMessage(value,proto.pulumirpc.AnalyzerProviderResource.deserializeBinaryFromReader); + msg.setProvider(value); + break; + case 7: + var value = /** @type {string} */ (reader.readString()); + msg.setParent(value); + break; + case 8: + var value = /** @type {string} */ (reader.readString()); + msg.addDependencies(value); + break; + case 9: + var value = msg.getPropertydependenciesMap(); + reader.readMessage(value, function(message, reader) { + jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readMessage, proto.pulumirpc.AnalyzerPropertyDependencies.deserializeBinaryFromReader); + }); + break; default: reader.skipField(); break; @@ -424,6 +552,40 @@ proto.pulumirpc.AnalyzerResource.serializeBinaryToWriter = function(message, wri f ); } + f = message.getOptions(); + if (f != null) { + writer.writeMessage( + 5, + f, + proto.pulumirpc.AnalyzerResourceOptions.serializeBinaryToWriter + ); + } + f = message.getProvider(); + if (f != null) { + writer.writeMessage( + 6, + f, + proto.pulumirpc.AnalyzerProviderResource.serializeBinaryToWriter + ); + } + f = message.getParent(); + if (f.length > 0) { + writer.writeString( + 7, + f + ); + } + f = message.getDependenciesList(); + if (f.length > 0) { + writer.writeRepeatedString( + 8, + f + ); + } + f = message.getPropertydependenciesMap(true); + if (f && f.getLength() > 0) { + f.serializeBinary(9, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeMessage, proto.pulumirpc.AnalyzerPropertyDependencies.serializeBinaryToWriter); + } }; @@ -502,6 +664,1103 @@ proto.pulumirpc.AnalyzerResource.prototype.setName = function(value) { }; +/** + * optional AnalyzerResourceOptions options = 5; + * @return {?proto.pulumirpc.AnalyzerResourceOptions} + */ +proto.pulumirpc.AnalyzerResource.prototype.getOptions = function() { + return /** @type{?proto.pulumirpc.AnalyzerResourceOptions} */ ( + jspb.Message.getWrapperField(this, proto.pulumirpc.AnalyzerResourceOptions, 5)); +}; + + +/** @param {?proto.pulumirpc.AnalyzerResourceOptions|undefined} value */ +proto.pulumirpc.AnalyzerResource.prototype.setOptions = function(value) { + jspb.Message.setWrapperField(this, 5, value); +}; + + +proto.pulumirpc.AnalyzerResource.prototype.clearOptions = function() { + this.setOptions(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {!boolean} + */ +proto.pulumirpc.AnalyzerResource.prototype.hasOptions = function() { + return jspb.Message.getField(this, 5) != null; +}; + + +/** + * optional AnalyzerProviderResource provider = 6; + * @return {?proto.pulumirpc.AnalyzerProviderResource} + */ +proto.pulumirpc.AnalyzerResource.prototype.getProvider = function() { + return /** @type{?proto.pulumirpc.AnalyzerProviderResource} */ ( + jspb.Message.getWrapperField(this, proto.pulumirpc.AnalyzerProviderResource, 6)); +}; + + +/** @param {?proto.pulumirpc.AnalyzerProviderResource|undefined} value */ +proto.pulumirpc.AnalyzerResource.prototype.setProvider = function(value) { + jspb.Message.setWrapperField(this, 6, value); +}; + + +proto.pulumirpc.AnalyzerResource.prototype.clearProvider = function() { + this.setProvider(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {!boolean} + */ +proto.pulumirpc.AnalyzerResource.prototype.hasProvider = function() { + return jspb.Message.getField(this, 6) != null; +}; + + +/** + * optional string parent = 7; + * @return {string} + */ +proto.pulumirpc.AnalyzerResource.prototype.getParent = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, "")); +}; + + +/** @param {string} value */ +proto.pulumirpc.AnalyzerResource.prototype.setParent = function(value) { + jspb.Message.setProto3StringField(this, 7, value); +}; + + +/** + * repeated string dependencies = 8; + * @return {!Array.} + */ +proto.pulumirpc.AnalyzerResource.prototype.getDependenciesList = function() { + return /** @type {!Array.} */ (jspb.Message.getRepeatedField(this, 8)); +}; + + +/** @param {!Array.} value */ +proto.pulumirpc.AnalyzerResource.prototype.setDependenciesList = function(value) { + jspb.Message.setField(this, 8, value || []); +}; + + +/** + * @param {!string} value + * @param {number=} opt_index + */ +proto.pulumirpc.AnalyzerResource.prototype.addDependencies = function(value, opt_index) { + jspb.Message.addToRepeatedField(this, 8, value, opt_index); +}; + + +proto.pulumirpc.AnalyzerResource.prototype.clearDependenciesList = function() { + this.setDependenciesList([]); +}; + + +/** + * map propertyDependencies = 9; + * @param {boolean=} opt_noLazyCreate Do not create the map if + * empty, instead returning `undefined` + * @return {!jspb.Map} + */ +proto.pulumirpc.AnalyzerResource.prototype.getPropertydependenciesMap = function(opt_noLazyCreate) { + return /** @type {!jspb.Map} */ ( + jspb.Message.getMapField(this, 9, opt_noLazyCreate, + proto.pulumirpc.AnalyzerPropertyDependencies)); +}; + + +proto.pulumirpc.AnalyzerResource.prototype.clearPropertydependenciesMap = function() { + this.getPropertydependenciesMap().clear(); +}; + + + +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.pulumirpc.AnalyzerResourceOptions = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, proto.pulumirpc.AnalyzerResourceOptions.repeatedFields_, null); +}; +goog.inherits(proto.pulumirpc.AnalyzerResourceOptions, jspb.Message); +if (goog.DEBUG && !COMPILED) { + proto.pulumirpc.AnalyzerResourceOptions.displayName = 'proto.pulumirpc.AnalyzerResourceOptions'; +} +/** + * List of repeated fields within this message type. + * @private {!Array} + * @const + */ +proto.pulumirpc.AnalyzerResourceOptions.repeatedFields_ = [2,5,6]; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto suitable for use in Soy templates. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS. + * @param {boolean=} opt_includeInstance Whether to include the JSPB instance + * for transitional soy proto support: http://goto/soy-param-migration + * @return {!Object} + */ +proto.pulumirpc.AnalyzerResourceOptions.prototype.toObject = function(opt_includeInstance) { + return proto.pulumirpc.AnalyzerResourceOptions.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Whether to include the JSPB + * instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.pulumirpc.AnalyzerResourceOptions} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.pulumirpc.AnalyzerResourceOptions.toObject = function(includeInstance, msg) { + var f, obj = { + protect: jspb.Message.getFieldWithDefault(msg, 1, false), + ignorechangesList: jspb.Message.getRepeatedField(msg, 2), + deletebeforereplace: jspb.Message.getFieldWithDefault(msg, 3, false), + deletebeforereplacedefined: jspb.Message.getFieldWithDefault(msg, 4, false), + additionalsecretoutputsList: jspb.Message.getRepeatedField(msg, 5), + aliasesList: jspb.Message.getRepeatedField(msg, 6), + customtimeouts: (f = msg.getCustomtimeouts()) && proto.pulumirpc.AnalyzerResourceOptions.CustomTimeouts.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.pulumirpc.AnalyzerResourceOptions} + */ +proto.pulumirpc.AnalyzerResourceOptions.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.pulumirpc.AnalyzerResourceOptions; + return proto.pulumirpc.AnalyzerResourceOptions.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.pulumirpc.AnalyzerResourceOptions} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.pulumirpc.AnalyzerResourceOptions} + */ +proto.pulumirpc.AnalyzerResourceOptions.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setProtect(value); + break; + case 2: + var value = /** @type {string} */ (reader.readString()); + msg.addIgnorechanges(value); + break; + case 3: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setDeletebeforereplace(value); + break; + case 4: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setDeletebeforereplacedefined(value); + break; + case 5: + var value = /** @type {string} */ (reader.readString()); + msg.addAdditionalsecretoutputs(value); + break; + case 6: + var value = /** @type {string} */ (reader.readString()); + msg.addAliases(value); + break; + case 7: + var value = new proto.pulumirpc.AnalyzerResourceOptions.CustomTimeouts; + reader.readMessage(value,proto.pulumirpc.AnalyzerResourceOptions.CustomTimeouts.deserializeBinaryFromReader); + msg.setCustomtimeouts(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.pulumirpc.AnalyzerResourceOptions.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.pulumirpc.AnalyzerResourceOptions.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.pulumirpc.AnalyzerResourceOptions} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.pulumirpc.AnalyzerResourceOptions.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getProtect(); + if (f) { + writer.writeBool( + 1, + f + ); + } + f = message.getIgnorechangesList(); + if (f.length > 0) { + writer.writeRepeatedString( + 2, + f + ); + } + f = message.getDeletebeforereplace(); + if (f) { + writer.writeBool( + 3, + f + ); + } + f = message.getDeletebeforereplacedefined(); + if (f) { + writer.writeBool( + 4, + f + ); + } + f = message.getAdditionalsecretoutputsList(); + if (f.length > 0) { + writer.writeRepeatedString( + 5, + f + ); + } + f = message.getAliasesList(); + if (f.length > 0) { + writer.writeRepeatedString( + 6, + f + ); + } + f = message.getCustomtimeouts(); + if (f != null) { + writer.writeMessage( + 7, + f, + proto.pulumirpc.AnalyzerResourceOptions.CustomTimeouts.serializeBinaryToWriter + ); + } +}; + + + +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.pulumirpc.AnalyzerResourceOptions.CustomTimeouts = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.pulumirpc.AnalyzerResourceOptions.CustomTimeouts, jspb.Message); +if (goog.DEBUG && !COMPILED) { + proto.pulumirpc.AnalyzerResourceOptions.CustomTimeouts.displayName = 'proto.pulumirpc.AnalyzerResourceOptions.CustomTimeouts'; +} + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto suitable for use in Soy templates. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS. + * @param {boolean=} opt_includeInstance Whether to include the JSPB instance + * for transitional soy proto support: http://goto/soy-param-migration + * @return {!Object} + */ +proto.pulumirpc.AnalyzerResourceOptions.CustomTimeouts.prototype.toObject = function(opt_includeInstance) { + return proto.pulumirpc.AnalyzerResourceOptions.CustomTimeouts.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Whether to include the JSPB + * instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.pulumirpc.AnalyzerResourceOptions.CustomTimeouts} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.pulumirpc.AnalyzerResourceOptions.CustomTimeouts.toObject = function(includeInstance, msg) { + var f, obj = { + create: +jspb.Message.getFieldWithDefault(msg, 1, 0.0), + update: +jspb.Message.getFieldWithDefault(msg, 2, 0.0), + pb_delete: +jspb.Message.getFieldWithDefault(msg, 3, 0.0) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.pulumirpc.AnalyzerResourceOptions.CustomTimeouts} + */ +proto.pulumirpc.AnalyzerResourceOptions.CustomTimeouts.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.pulumirpc.AnalyzerResourceOptions.CustomTimeouts; + return proto.pulumirpc.AnalyzerResourceOptions.CustomTimeouts.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.pulumirpc.AnalyzerResourceOptions.CustomTimeouts} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.pulumirpc.AnalyzerResourceOptions.CustomTimeouts} + */ +proto.pulumirpc.AnalyzerResourceOptions.CustomTimeouts.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {number} */ (reader.readDouble()); + msg.setCreate(value); + break; + case 2: + var value = /** @type {number} */ (reader.readDouble()); + msg.setUpdate(value); + break; + case 3: + var value = /** @type {number} */ (reader.readDouble()); + msg.setDelete(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.pulumirpc.AnalyzerResourceOptions.CustomTimeouts.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.pulumirpc.AnalyzerResourceOptions.CustomTimeouts.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.pulumirpc.AnalyzerResourceOptions.CustomTimeouts} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.pulumirpc.AnalyzerResourceOptions.CustomTimeouts.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getCreate(); + if (f !== 0.0) { + writer.writeDouble( + 1, + f + ); + } + f = message.getUpdate(); + if (f !== 0.0) { + writer.writeDouble( + 2, + f + ); + } + f = message.getDelete(); + if (f !== 0.0) { + writer.writeDouble( + 3, + f + ); + } +}; + + +/** + * optional double create = 1; + * @return {number} + */ +proto.pulumirpc.AnalyzerResourceOptions.CustomTimeouts.prototype.getCreate = function() { + return /** @type {number} */ (+jspb.Message.getFieldWithDefault(this, 1, 0.0)); +}; + + +/** @param {number} value */ +proto.pulumirpc.AnalyzerResourceOptions.CustomTimeouts.prototype.setCreate = function(value) { + jspb.Message.setProto3FloatField(this, 1, value); +}; + + +/** + * optional double update = 2; + * @return {number} + */ +proto.pulumirpc.AnalyzerResourceOptions.CustomTimeouts.prototype.getUpdate = function() { + return /** @type {number} */ (+jspb.Message.getFieldWithDefault(this, 2, 0.0)); +}; + + +/** @param {number} value */ +proto.pulumirpc.AnalyzerResourceOptions.CustomTimeouts.prototype.setUpdate = function(value) { + jspb.Message.setProto3FloatField(this, 2, value); +}; + + +/** + * optional double delete = 3; + * @return {number} + */ +proto.pulumirpc.AnalyzerResourceOptions.CustomTimeouts.prototype.getDelete = function() { + return /** @type {number} */ (+jspb.Message.getFieldWithDefault(this, 3, 0.0)); +}; + + +/** @param {number} value */ +proto.pulumirpc.AnalyzerResourceOptions.CustomTimeouts.prototype.setDelete = function(value) { + jspb.Message.setProto3FloatField(this, 3, value); +}; + + +/** + * optional bool protect = 1; + * Note that Boolean fields may be set to 0/1 when serialized from a Java server. + * You should avoid comparisons like {@code val === true/false} in those cases. + * @return {boolean} + */ +proto.pulumirpc.AnalyzerResourceOptions.prototype.getProtect = function() { + return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 1, false)); +}; + + +/** @param {boolean} value */ +proto.pulumirpc.AnalyzerResourceOptions.prototype.setProtect = function(value) { + jspb.Message.setProto3BooleanField(this, 1, value); +}; + + +/** + * repeated string ignoreChanges = 2; + * @return {!Array.} + */ +proto.pulumirpc.AnalyzerResourceOptions.prototype.getIgnorechangesList = function() { + return /** @type {!Array.} */ (jspb.Message.getRepeatedField(this, 2)); +}; + + +/** @param {!Array.} value */ +proto.pulumirpc.AnalyzerResourceOptions.prototype.setIgnorechangesList = function(value) { + jspb.Message.setField(this, 2, value || []); +}; + + +/** + * @param {!string} value + * @param {number=} opt_index + */ +proto.pulumirpc.AnalyzerResourceOptions.prototype.addIgnorechanges = function(value, opt_index) { + jspb.Message.addToRepeatedField(this, 2, value, opt_index); +}; + + +proto.pulumirpc.AnalyzerResourceOptions.prototype.clearIgnorechangesList = function() { + this.setIgnorechangesList([]); +}; + + +/** + * optional bool deleteBeforeReplace = 3; + * Note that Boolean fields may be set to 0/1 when serialized from a Java server. + * You should avoid comparisons like {@code val === true/false} in those cases. + * @return {boolean} + */ +proto.pulumirpc.AnalyzerResourceOptions.prototype.getDeletebeforereplace = function() { + return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 3, false)); +}; + + +/** @param {boolean} value */ +proto.pulumirpc.AnalyzerResourceOptions.prototype.setDeletebeforereplace = function(value) { + jspb.Message.setProto3BooleanField(this, 3, value); +}; + + +/** + * optional bool deleteBeforeReplaceDefined = 4; + * Note that Boolean fields may be set to 0/1 when serialized from a Java server. + * You should avoid comparisons like {@code val === true/false} in those cases. + * @return {boolean} + */ +proto.pulumirpc.AnalyzerResourceOptions.prototype.getDeletebeforereplacedefined = function() { + return /** @type {boolean} */ (jspb.Message.getFieldWithDefault(this, 4, false)); +}; + + +/** @param {boolean} value */ +proto.pulumirpc.AnalyzerResourceOptions.prototype.setDeletebeforereplacedefined = function(value) { + jspb.Message.setProto3BooleanField(this, 4, value); +}; + + +/** + * repeated string additionalSecretOutputs = 5; + * @return {!Array.} + */ +proto.pulumirpc.AnalyzerResourceOptions.prototype.getAdditionalsecretoutputsList = function() { + return /** @type {!Array.} */ (jspb.Message.getRepeatedField(this, 5)); +}; + + +/** @param {!Array.} value */ +proto.pulumirpc.AnalyzerResourceOptions.prototype.setAdditionalsecretoutputsList = function(value) { + jspb.Message.setField(this, 5, value || []); +}; + + +/** + * @param {!string} value + * @param {number=} opt_index + */ +proto.pulumirpc.AnalyzerResourceOptions.prototype.addAdditionalsecretoutputs = function(value, opt_index) { + jspb.Message.addToRepeatedField(this, 5, value, opt_index); +}; + + +proto.pulumirpc.AnalyzerResourceOptions.prototype.clearAdditionalsecretoutputsList = function() { + this.setAdditionalsecretoutputsList([]); +}; + + +/** + * repeated string aliases = 6; + * @return {!Array.} + */ +proto.pulumirpc.AnalyzerResourceOptions.prototype.getAliasesList = function() { + return /** @type {!Array.} */ (jspb.Message.getRepeatedField(this, 6)); +}; + + +/** @param {!Array.} value */ +proto.pulumirpc.AnalyzerResourceOptions.prototype.setAliasesList = function(value) { + jspb.Message.setField(this, 6, value || []); +}; + + +/** + * @param {!string} value + * @param {number=} opt_index + */ +proto.pulumirpc.AnalyzerResourceOptions.prototype.addAliases = function(value, opt_index) { + jspb.Message.addToRepeatedField(this, 6, value, opt_index); +}; + + +proto.pulumirpc.AnalyzerResourceOptions.prototype.clearAliasesList = function() { + this.setAliasesList([]); +}; + + +/** + * optional CustomTimeouts customTimeouts = 7; + * @return {?proto.pulumirpc.AnalyzerResourceOptions.CustomTimeouts} + */ +proto.pulumirpc.AnalyzerResourceOptions.prototype.getCustomtimeouts = function() { + return /** @type{?proto.pulumirpc.AnalyzerResourceOptions.CustomTimeouts} */ ( + jspb.Message.getWrapperField(this, proto.pulumirpc.AnalyzerResourceOptions.CustomTimeouts, 7)); +}; + + +/** @param {?proto.pulumirpc.AnalyzerResourceOptions.CustomTimeouts|undefined} value */ +proto.pulumirpc.AnalyzerResourceOptions.prototype.setCustomtimeouts = function(value) { + jspb.Message.setWrapperField(this, 7, value); +}; + + +proto.pulumirpc.AnalyzerResourceOptions.prototype.clearCustomtimeouts = function() { + this.setCustomtimeouts(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {!boolean} + */ +proto.pulumirpc.AnalyzerResourceOptions.prototype.hasCustomtimeouts = function() { + return jspb.Message.getField(this, 7) != null; +}; + + + +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.pulumirpc.AnalyzerProviderResource = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.pulumirpc.AnalyzerProviderResource, jspb.Message); +if (goog.DEBUG && !COMPILED) { + proto.pulumirpc.AnalyzerProviderResource.displayName = 'proto.pulumirpc.AnalyzerProviderResource'; +} + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto suitable for use in Soy templates. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS. + * @param {boolean=} opt_includeInstance Whether to include the JSPB instance + * for transitional soy proto support: http://goto/soy-param-migration + * @return {!Object} + */ +proto.pulumirpc.AnalyzerProviderResource.prototype.toObject = function(opt_includeInstance) { + return proto.pulumirpc.AnalyzerProviderResource.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Whether to include the JSPB + * instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.pulumirpc.AnalyzerProviderResource} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.pulumirpc.AnalyzerProviderResource.toObject = function(includeInstance, msg) { + var f, obj = { + type: jspb.Message.getFieldWithDefault(msg, 1, ""), + properties: (f = msg.getProperties()) && google_protobuf_struct_pb.Struct.toObject(includeInstance, f), + urn: jspb.Message.getFieldWithDefault(msg, 3, ""), + name: jspb.Message.getFieldWithDefault(msg, 4, "") + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.pulumirpc.AnalyzerProviderResource} + */ +proto.pulumirpc.AnalyzerProviderResource.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.pulumirpc.AnalyzerProviderResource; + return proto.pulumirpc.AnalyzerProviderResource.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.pulumirpc.AnalyzerProviderResource} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.pulumirpc.AnalyzerProviderResource} + */ +proto.pulumirpc.AnalyzerProviderResource.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {string} */ (reader.readString()); + msg.setType(value); + break; + case 2: + var value = new google_protobuf_struct_pb.Struct; + reader.readMessage(value,google_protobuf_struct_pb.Struct.deserializeBinaryFromReader); + msg.setProperties(value); + break; + case 3: + var value = /** @type {string} */ (reader.readString()); + msg.setUrn(value); + break; + case 4: + var value = /** @type {string} */ (reader.readString()); + msg.setName(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.pulumirpc.AnalyzerProviderResource.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.pulumirpc.AnalyzerProviderResource.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.pulumirpc.AnalyzerProviderResource} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.pulumirpc.AnalyzerProviderResource.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getType(); + if (f.length > 0) { + writer.writeString( + 1, + f + ); + } + f = message.getProperties(); + if (f != null) { + writer.writeMessage( + 2, + f, + google_protobuf_struct_pb.Struct.serializeBinaryToWriter + ); + } + f = message.getUrn(); + if (f.length > 0) { + writer.writeString( + 3, + f + ); + } + f = message.getName(); + if (f.length > 0) { + writer.writeString( + 4, + f + ); + } +}; + + +/** + * optional string type = 1; + * @return {string} + */ +proto.pulumirpc.AnalyzerProviderResource.prototype.getType = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** @param {string} value */ +proto.pulumirpc.AnalyzerProviderResource.prototype.setType = function(value) { + jspb.Message.setProto3StringField(this, 1, value); +}; + + +/** + * optional google.protobuf.Struct properties = 2; + * @return {?proto.google.protobuf.Struct} + */ +proto.pulumirpc.AnalyzerProviderResource.prototype.getProperties = function() { + return /** @type{?proto.google.protobuf.Struct} */ ( + jspb.Message.getWrapperField(this, google_protobuf_struct_pb.Struct, 2)); +}; + + +/** @param {?proto.google.protobuf.Struct|undefined} value */ +proto.pulumirpc.AnalyzerProviderResource.prototype.setProperties = function(value) { + jspb.Message.setWrapperField(this, 2, value); +}; + + +proto.pulumirpc.AnalyzerProviderResource.prototype.clearProperties = function() { + this.setProperties(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {!boolean} + */ +proto.pulumirpc.AnalyzerProviderResource.prototype.hasProperties = function() { + return jspb.Message.getField(this, 2) != null; +}; + + +/** + * optional string urn = 3; + * @return {string} + */ +proto.pulumirpc.AnalyzerProviderResource.prototype.getUrn = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); +}; + + +/** @param {string} value */ +proto.pulumirpc.AnalyzerProviderResource.prototype.setUrn = function(value) { + jspb.Message.setProto3StringField(this, 3, value); +}; + + +/** + * optional string name = 4; + * @return {string} + */ +proto.pulumirpc.AnalyzerProviderResource.prototype.getName = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, "")); +}; + + +/** @param {string} value */ +proto.pulumirpc.AnalyzerProviderResource.prototype.setName = function(value) { + jspb.Message.setProto3StringField(this, 4, value); +}; + + + +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.pulumirpc.AnalyzerPropertyDependencies = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, proto.pulumirpc.AnalyzerPropertyDependencies.repeatedFields_, null); +}; +goog.inherits(proto.pulumirpc.AnalyzerPropertyDependencies, jspb.Message); +if (goog.DEBUG && !COMPILED) { + proto.pulumirpc.AnalyzerPropertyDependencies.displayName = 'proto.pulumirpc.AnalyzerPropertyDependencies'; +} +/** + * List of repeated fields within this message type. + * @private {!Array} + * @const + */ +proto.pulumirpc.AnalyzerPropertyDependencies.repeatedFields_ = [1]; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto suitable for use in Soy templates. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS. + * @param {boolean=} opt_includeInstance Whether to include the JSPB instance + * for transitional soy proto support: http://goto/soy-param-migration + * @return {!Object} + */ +proto.pulumirpc.AnalyzerPropertyDependencies.prototype.toObject = function(opt_includeInstance) { + return proto.pulumirpc.AnalyzerPropertyDependencies.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Whether to include the JSPB + * instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.pulumirpc.AnalyzerPropertyDependencies} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.pulumirpc.AnalyzerPropertyDependencies.toObject = function(includeInstance, msg) { + var f, obj = { + urnsList: jspb.Message.getRepeatedField(msg, 1) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.pulumirpc.AnalyzerPropertyDependencies} + */ +proto.pulumirpc.AnalyzerPropertyDependencies.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.pulumirpc.AnalyzerPropertyDependencies; + return proto.pulumirpc.AnalyzerPropertyDependencies.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.pulumirpc.AnalyzerPropertyDependencies} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.pulumirpc.AnalyzerPropertyDependencies} + */ +proto.pulumirpc.AnalyzerPropertyDependencies.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {string} */ (reader.readString()); + msg.addUrns(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.pulumirpc.AnalyzerPropertyDependencies.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.pulumirpc.AnalyzerPropertyDependencies.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.pulumirpc.AnalyzerPropertyDependencies} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.pulumirpc.AnalyzerPropertyDependencies.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getUrnsList(); + if (f.length > 0) { + writer.writeRepeatedString( + 1, + f + ); + } +}; + + +/** + * repeated string urns = 1; + * @return {!Array.} + */ +proto.pulumirpc.AnalyzerPropertyDependencies.prototype.getUrnsList = function() { + return /** @type {!Array.} */ (jspb.Message.getRepeatedField(this, 1)); +}; + + +/** @param {!Array.} value */ +proto.pulumirpc.AnalyzerPropertyDependencies.prototype.setUrnsList = function(value) { + jspb.Message.setField(this, 1, value || []); +}; + + +/** + * @param {!string} value + * @param {number=} opt_index + */ +proto.pulumirpc.AnalyzerPropertyDependencies.prototype.addUrns = function(value, opt_index) { + jspb.Message.addToRepeatedField(this, 1, value, opt_index); +}; + + +proto.pulumirpc.AnalyzerPropertyDependencies.prototype.clearUrnsList = function() { + this.setUrnsList([]); +}; + + /** * Generated by JsPbCodeGenerator. diff --git a/sdk/nodejs/proto/provider_grpc_pb.js b/sdk/nodejs/proto/provider_grpc_pb.js index 9cf415999..e7ca6d829 100644 --- a/sdk/nodejs/proto/provider_grpc_pb.js +++ b/sdk/nodejs/proto/provider_grpc_pb.js @@ -303,7 +303,7 @@ var ResourceProviderService = exports.ResourceProviderService = { responseDeserialize: deserialize_pulumirpc_DiffResponse, }, // Create allocates a new instance of the provided resource and returns its unique ID afterwards. (The input ID - // must be blank.) If this call fails, the resource must not have been created (i.e., it is "transacational"). + // must be blank.) If this call fails, the resource must not have been created (i.e., it is "transactional"). create: { path: '/pulumirpc.ResourceProvider/Create', requestStream: false, diff --git a/sdk/proto/analyzer.proto b/sdk/proto/analyzer.proto index 167393e00..df7c4bf45 100644 --- a/sdk/proto/analyzer.proto +++ b/sdk/proto/analyzer.proto @@ -39,20 +39,58 @@ service Analyzer { } message AnalyzeRequest { - string type = 1; // the type token of the resource. - google.protobuf.Struct properties = 2; // the full properties to use for validation. - string urn = 3; - string name = 4; + string type = 1; // the type token of the resource. + google.protobuf.Struct properties = 2; // the full properties to use for validation. + string urn = 3; // the URN of the resource. + string name = 4; // the name for the resource's URN. + AnalyzerResourceOptions options = 5; // the resource options. + AnalyzerProviderResource provider = 6; // the resource's provider. } -// Resource defines the view of a Pulumi-managed resource as sent to Analyzers. The properties +// 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. message AnalyzerResource { + string type = 1; // the type token of the resource. + google.protobuf.Struct properties = 2; // the full properties to use for validation. + string urn = 3; // the URN of the resource. + string name = 4; // the name for the resource's URN. + AnalyzerResourceOptions options = 5; // the resource options. + AnalyzerProviderResource provider = 6; // the resource's provider. + string parent = 7; // an optional parent URN that this child resource belongs to. + repeated string dependencies = 8; // a list of URNs that this resource depends on. + map propertyDependencies = 9; // a map from property keys to the dependencies of the property. +} + +// AnalyzerResourceOptions defines the options associated with a resource. +message AnalyzerResourceOptions { + // CustomTimeouts allows a user to be able to create a set of custom timeout parameters. + message CustomTimeouts { + double create = 1; // The create resource timeout in seconds. + double update = 2; // The update resource timeout in seconds. + double delete = 3; // The delete resource timeout in seconds. + } + + bool protect = 1; // true if the resource should be marked protected. + repeated string ignoreChanges = 2; // a list of property names to ignore during changes. + bool deleteBeforeReplace = 3; // true if this resource should be deleted before replacement. + bool deleteBeforeReplaceDefined = 4; // true if the deleteBeforeReplace property should be treated as defined even if it is false. + repeated string additionalSecretOutputs = 5; // a list of output properties that should also be treated as secret, in addition to ones we detect. + repeated string aliases = 6; // a list of additional URNs that shoud be considered the same. + CustomTimeouts customTimeouts = 7; // a config block that will be used to configure timeouts for CRUD operations. +} + +// AnalyzerProviderResource provides information about a resource's provider. +message AnalyzerProviderResource { string type = 1; // the type token of the resource. google.protobuf.Struct properties = 2; // the full properties to use for validation. string urn = 3; // the URN of the resource. - string name = 4; + string name = 4; // the name for the resource's URN. +} + +// AnalyzerPropertyDependencies describes the resources that a particular property depends on. +message AnalyzerPropertyDependencies { + repeated string urns = 1; // A list of URNs this property depends on. } message AnalyzeStackRequest { diff --git a/sdk/proto/go/analyzer.pb.go b/sdk/proto/go/analyzer.pb.go index 6806244d3..4fb437cdb 100644 --- a/sdk/proto/go/analyzer.pb.go +++ b/sdk/proto/go/analyzer.pb.go @@ -46,24 +46,26 @@ func (x EnforcementLevel) String() string { return proto.EnumName(EnforcementLevel_name, int32(x)) } func (EnforcementLevel) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_analyzer_a9c30ddfcaef9aa8, []int{0} + return fileDescriptor_analyzer_d1afab8694e21adb, []int{0} } type AnalyzeRequest struct { - Type string `protobuf:"bytes,1,opt,name=type" json:"type,omitempty"` - Properties *_struct.Struct `protobuf:"bytes,2,opt,name=properties" json:"properties,omitempty"` - Urn string `protobuf:"bytes,3,opt,name=urn" json:"urn,omitempty"` - Name string `protobuf:"bytes,4,opt,name=name" json:"name,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Type string `protobuf:"bytes,1,opt,name=type" json:"type,omitempty"` + Properties *_struct.Struct `protobuf:"bytes,2,opt,name=properties" json:"properties,omitempty"` + Urn string `protobuf:"bytes,3,opt,name=urn" json:"urn,omitempty"` + Name string `protobuf:"bytes,4,opt,name=name" json:"name,omitempty"` + Options *AnalyzerResourceOptions `protobuf:"bytes,5,opt,name=options" json:"options,omitempty"` + Provider *AnalyzerProviderResource `protobuf:"bytes,6,opt,name=provider" json:"provider,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *AnalyzeRequest) Reset() { *m = AnalyzeRequest{} } func (m *AnalyzeRequest) String() string { return proto.CompactTextString(m) } func (*AnalyzeRequest) ProtoMessage() {} func (*AnalyzeRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_analyzer_a9c30ddfcaef9aa8, []int{0} + return fileDescriptor_analyzer_d1afab8694e21adb, []int{0} } func (m *AnalyzeRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AnalyzeRequest.Unmarshal(m, b) @@ -111,24 +113,43 @@ func (m *AnalyzeRequest) GetName() string { return "" } -// Resource defines the view of a Pulumi-managed resource as sent to Analyzers. The properties +func (m *AnalyzeRequest) GetOptions() *AnalyzerResourceOptions { + if m != nil { + return m.Options + } + return nil +} + +func (m *AnalyzeRequest) GetProvider() *AnalyzerProviderResource { + if m != nil { + return m.Provider + } + return nil +} + +// 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. type AnalyzerResource struct { - Type string `protobuf:"bytes,1,opt,name=type" json:"type,omitempty"` - Properties *_struct.Struct `protobuf:"bytes,2,opt,name=properties" json:"properties,omitempty"` - Urn string `protobuf:"bytes,3,opt,name=urn" json:"urn,omitempty"` - Name string `protobuf:"bytes,4,opt,name=name" json:"name,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Type string `protobuf:"bytes,1,opt,name=type" json:"type,omitempty"` + Properties *_struct.Struct `protobuf:"bytes,2,opt,name=properties" json:"properties,omitempty"` + Urn string `protobuf:"bytes,3,opt,name=urn" json:"urn,omitempty"` + Name string `protobuf:"bytes,4,opt,name=name" json:"name,omitempty"` + Options *AnalyzerResourceOptions `protobuf:"bytes,5,opt,name=options" json:"options,omitempty"` + Provider *AnalyzerProviderResource `protobuf:"bytes,6,opt,name=provider" json:"provider,omitempty"` + Parent string `protobuf:"bytes,7,opt,name=parent" json:"parent,omitempty"` + Dependencies []string `protobuf:"bytes,8,rep,name=dependencies" json:"dependencies,omitempty"` + PropertyDependencies map[string]*AnalyzerPropertyDependencies `protobuf:"bytes,9,rep,name=propertyDependencies" json:"propertyDependencies,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *AnalyzerResource) Reset() { *m = AnalyzerResource{} } func (m *AnalyzerResource) String() string { return proto.CompactTextString(m) } func (*AnalyzerResource) ProtoMessage() {} func (*AnalyzerResource) Descriptor() ([]byte, []int) { - return fileDescriptor_analyzer_a9c30ddfcaef9aa8, []int{1} + return fileDescriptor_analyzer_d1afab8694e21adb, []int{1} } func (m *AnalyzerResource) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AnalyzerResource.Unmarshal(m, b) @@ -176,6 +197,287 @@ func (m *AnalyzerResource) GetName() string { return "" } +func (m *AnalyzerResource) GetOptions() *AnalyzerResourceOptions { + if m != nil { + return m.Options + } + return nil +} + +func (m *AnalyzerResource) GetProvider() *AnalyzerProviderResource { + if m != nil { + return m.Provider + } + return nil +} + +func (m *AnalyzerResource) GetParent() string { + if m != nil { + return m.Parent + } + return "" +} + +func (m *AnalyzerResource) GetDependencies() []string { + if m != nil { + return m.Dependencies + } + return nil +} + +func (m *AnalyzerResource) GetPropertyDependencies() map[string]*AnalyzerPropertyDependencies { + if m != nil { + return m.PropertyDependencies + } + return nil +} + +// AnalyzerResourceOptions defines the options associated with a resource. +type AnalyzerResourceOptions struct { + Protect bool `protobuf:"varint,1,opt,name=protect" json:"protect,omitempty"` + IgnoreChanges []string `protobuf:"bytes,2,rep,name=ignoreChanges" json:"ignoreChanges,omitempty"` + DeleteBeforeReplace bool `protobuf:"varint,3,opt,name=deleteBeforeReplace" json:"deleteBeforeReplace,omitempty"` + DeleteBeforeReplaceDefined bool `protobuf:"varint,4,opt,name=deleteBeforeReplaceDefined" json:"deleteBeforeReplaceDefined,omitempty"` + AdditionalSecretOutputs []string `protobuf:"bytes,5,rep,name=additionalSecretOutputs" json:"additionalSecretOutputs,omitempty"` + Aliases []string `protobuf:"bytes,6,rep,name=aliases" json:"aliases,omitempty"` + CustomTimeouts *AnalyzerResourceOptions_CustomTimeouts `protobuf:"bytes,7,opt,name=customTimeouts" json:"customTimeouts,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *AnalyzerResourceOptions) Reset() { *m = AnalyzerResourceOptions{} } +func (m *AnalyzerResourceOptions) String() string { return proto.CompactTextString(m) } +func (*AnalyzerResourceOptions) ProtoMessage() {} +func (*AnalyzerResourceOptions) Descriptor() ([]byte, []int) { + return fileDescriptor_analyzer_d1afab8694e21adb, []int{2} +} +func (m *AnalyzerResourceOptions) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AnalyzerResourceOptions.Unmarshal(m, b) +} +func (m *AnalyzerResourceOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AnalyzerResourceOptions.Marshal(b, m, deterministic) +} +func (dst *AnalyzerResourceOptions) XXX_Merge(src proto.Message) { + xxx_messageInfo_AnalyzerResourceOptions.Merge(dst, src) +} +func (m *AnalyzerResourceOptions) XXX_Size() int { + return xxx_messageInfo_AnalyzerResourceOptions.Size(m) +} +func (m *AnalyzerResourceOptions) XXX_DiscardUnknown() { + xxx_messageInfo_AnalyzerResourceOptions.DiscardUnknown(m) +} + +var xxx_messageInfo_AnalyzerResourceOptions proto.InternalMessageInfo + +func (m *AnalyzerResourceOptions) GetProtect() bool { + if m != nil { + return m.Protect + } + return false +} + +func (m *AnalyzerResourceOptions) GetIgnoreChanges() []string { + if m != nil { + return m.IgnoreChanges + } + return nil +} + +func (m *AnalyzerResourceOptions) GetDeleteBeforeReplace() bool { + if m != nil { + return m.DeleteBeforeReplace + } + return false +} + +func (m *AnalyzerResourceOptions) GetDeleteBeforeReplaceDefined() bool { + if m != nil { + return m.DeleteBeforeReplaceDefined + } + return false +} + +func (m *AnalyzerResourceOptions) GetAdditionalSecretOutputs() []string { + if m != nil { + return m.AdditionalSecretOutputs + } + return nil +} + +func (m *AnalyzerResourceOptions) GetAliases() []string { + if m != nil { + return m.Aliases + } + return nil +} + +func (m *AnalyzerResourceOptions) GetCustomTimeouts() *AnalyzerResourceOptions_CustomTimeouts { + if m != nil { + return m.CustomTimeouts + } + return nil +} + +// CustomTimeouts allows a user to be able to create a set of custom timeout parameters. +type AnalyzerResourceOptions_CustomTimeouts struct { + Create float64 `protobuf:"fixed64,1,opt,name=create" json:"create,omitempty"` + Update float64 `protobuf:"fixed64,2,opt,name=update" json:"update,omitempty"` + Delete float64 `protobuf:"fixed64,3,opt,name=delete" json:"delete,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *AnalyzerResourceOptions_CustomTimeouts) Reset() { + *m = AnalyzerResourceOptions_CustomTimeouts{} +} +func (m *AnalyzerResourceOptions_CustomTimeouts) String() string { return proto.CompactTextString(m) } +func (*AnalyzerResourceOptions_CustomTimeouts) ProtoMessage() {} +func (*AnalyzerResourceOptions_CustomTimeouts) Descriptor() ([]byte, []int) { + return fileDescriptor_analyzer_d1afab8694e21adb, []int{2, 0} +} +func (m *AnalyzerResourceOptions_CustomTimeouts) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AnalyzerResourceOptions_CustomTimeouts.Unmarshal(m, b) +} +func (m *AnalyzerResourceOptions_CustomTimeouts) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AnalyzerResourceOptions_CustomTimeouts.Marshal(b, m, deterministic) +} +func (dst *AnalyzerResourceOptions_CustomTimeouts) XXX_Merge(src proto.Message) { + xxx_messageInfo_AnalyzerResourceOptions_CustomTimeouts.Merge(dst, src) +} +func (m *AnalyzerResourceOptions_CustomTimeouts) XXX_Size() int { + return xxx_messageInfo_AnalyzerResourceOptions_CustomTimeouts.Size(m) +} +func (m *AnalyzerResourceOptions_CustomTimeouts) XXX_DiscardUnknown() { + xxx_messageInfo_AnalyzerResourceOptions_CustomTimeouts.DiscardUnknown(m) +} + +var xxx_messageInfo_AnalyzerResourceOptions_CustomTimeouts proto.InternalMessageInfo + +func (m *AnalyzerResourceOptions_CustomTimeouts) GetCreate() float64 { + if m != nil { + return m.Create + } + return 0 +} + +func (m *AnalyzerResourceOptions_CustomTimeouts) GetUpdate() float64 { + if m != nil { + return m.Update + } + return 0 +} + +func (m *AnalyzerResourceOptions_CustomTimeouts) GetDelete() float64 { + if m != nil { + return m.Delete + } + return 0 +} + +// AnalyzerProviderResource provides information about a resource's provider. +type AnalyzerProviderResource struct { + Type string `protobuf:"bytes,1,opt,name=type" json:"type,omitempty"` + Properties *_struct.Struct `protobuf:"bytes,2,opt,name=properties" json:"properties,omitempty"` + Urn string `protobuf:"bytes,3,opt,name=urn" json:"urn,omitempty"` + Name string `protobuf:"bytes,4,opt,name=name" json:"name,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *AnalyzerProviderResource) Reset() { *m = AnalyzerProviderResource{} } +func (m *AnalyzerProviderResource) String() string { return proto.CompactTextString(m) } +func (*AnalyzerProviderResource) ProtoMessage() {} +func (*AnalyzerProviderResource) Descriptor() ([]byte, []int) { + return fileDescriptor_analyzer_d1afab8694e21adb, []int{3} +} +func (m *AnalyzerProviderResource) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AnalyzerProviderResource.Unmarshal(m, b) +} +func (m *AnalyzerProviderResource) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AnalyzerProviderResource.Marshal(b, m, deterministic) +} +func (dst *AnalyzerProviderResource) XXX_Merge(src proto.Message) { + xxx_messageInfo_AnalyzerProviderResource.Merge(dst, src) +} +func (m *AnalyzerProviderResource) XXX_Size() int { + return xxx_messageInfo_AnalyzerProviderResource.Size(m) +} +func (m *AnalyzerProviderResource) XXX_DiscardUnknown() { + xxx_messageInfo_AnalyzerProviderResource.DiscardUnknown(m) +} + +var xxx_messageInfo_AnalyzerProviderResource proto.InternalMessageInfo + +func (m *AnalyzerProviderResource) GetType() string { + if m != nil { + return m.Type + } + return "" +} + +func (m *AnalyzerProviderResource) GetProperties() *_struct.Struct { + if m != nil { + return m.Properties + } + return nil +} + +func (m *AnalyzerProviderResource) GetUrn() string { + if m != nil { + return m.Urn + } + return "" +} + +func (m *AnalyzerProviderResource) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +// AnalyzerPropertyDependencies describes the resources that a particular property depends on. +type AnalyzerPropertyDependencies struct { + Urns []string `protobuf:"bytes,1,rep,name=urns" json:"urns,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *AnalyzerPropertyDependencies) Reset() { *m = AnalyzerPropertyDependencies{} } +func (m *AnalyzerPropertyDependencies) String() string { return proto.CompactTextString(m) } +func (*AnalyzerPropertyDependencies) ProtoMessage() {} +func (*AnalyzerPropertyDependencies) Descriptor() ([]byte, []int) { + return fileDescriptor_analyzer_d1afab8694e21adb, []int{4} +} +func (m *AnalyzerPropertyDependencies) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AnalyzerPropertyDependencies.Unmarshal(m, b) +} +func (m *AnalyzerPropertyDependencies) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AnalyzerPropertyDependencies.Marshal(b, m, deterministic) +} +func (dst *AnalyzerPropertyDependencies) XXX_Merge(src proto.Message) { + xxx_messageInfo_AnalyzerPropertyDependencies.Merge(dst, src) +} +func (m *AnalyzerPropertyDependencies) XXX_Size() int { + return xxx_messageInfo_AnalyzerPropertyDependencies.Size(m) +} +func (m *AnalyzerPropertyDependencies) XXX_DiscardUnknown() { + xxx_messageInfo_AnalyzerPropertyDependencies.DiscardUnknown(m) +} + +var xxx_messageInfo_AnalyzerPropertyDependencies proto.InternalMessageInfo + +func (m *AnalyzerPropertyDependencies) GetUrns() []string { + if m != nil { + return m.Urns + } + return nil +} + type AnalyzeStackRequest struct { Resources []*AnalyzerResource `protobuf:"bytes,1,rep,name=resources" json:"resources,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` @@ -187,7 +489,7 @@ func (m *AnalyzeStackRequest) Reset() { *m = AnalyzeStackRequest{} } func (m *AnalyzeStackRequest) String() string { return proto.CompactTextString(m) } func (*AnalyzeStackRequest) ProtoMessage() {} func (*AnalyzeStackRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_analyzer_a9c30ddfcaef9aa8, []int{2} + return fileDescriptor_analyzer_d1afab8694e21adb, []int{5} } func (m *AnalyzeStackRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AnalyzeStackRequest.Unmarshal(m, b) @@ -225,7 +527,7 @@ func (m *AnalyzeResponse) Reset() { *m = AnalyzeResponse{} } func (m *AnalyzeResponse) String() string { return proto.CompactTextString(m) } func (*AnalyzeResponse) ProtoMessage() {} func (*AnalyzeResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_analyzer_a9c30ddfcaef9aa8, []int{3} + return fileDescriptor_analyzer_d1afab8694e21adb, []int{6} } func (m *AnalyzeResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AnalyzeResponse.Unmarshal(m, b) @@ -270,7 +572,7 @@ func (m *AnalyzeDiagnostic) Reset() { *m = AnalyzeDiagnostic{} } func (m *AnalyzeDiagnostic) String() string { return proto.CompactTextString(m) } func (*AnalyzeDiagnostic) ProtoMessage() {} func (*AnalyzeDiagnostic) Descriptor() ([]byte, []int) { - return fileDescriptor_analyzer_a9c30ddfcaef9aa8, []int{4} + return fileDescriptor_analyzer_d1afab8694e21adb, []int{7} } func (m *AnalyzeDiagnostic) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AnalyzeDiagnostic.Unmarshal(m, b) @@ -360,7 +662,7 @@ func (m *AnalyzerInfo) Reset() { *m = AnalyzerInfo{} } func (m *AnalyzerInfo) String() string { return proto.CompactTextString(m) } func (*AnalyzerInfo) ProtoMessage() {} func (*AnalyzerInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_analyzer_a9c30ddfcaef9aa8, []int{5} + return fileDescriptor_analyzer_d1afab8694e21adb, []int{8} } func (m *AnalyzerInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AnalyzerInfo.Unmarshal(m, b) @@ -417,7 +719,7 @@ func (m *PolicyInfo) Reset() { *m = PolicyInfo{} } func (m *PolicyInfo) String() string { return proto.CompactTextString(m) } func (*PolicyInfo) ProtoMessage() {} func (*PolicyInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_analyzer_a9c30ddfcaef9aa8, []int{6} + return fileDescriptor_analyzer_d1afab8694e21adb, []int{9} } func (m *PolicyInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PolicyInfo.Unmarshal(m, b) @@ -475,6 +777,11 @@ func (m *PolicyInfo) GetEnforcementLevel() EnforcementLevel { func init() { proto.RegisterType((*AnalyzeRequest)(nil), "pulumirpc.AnalyzeRequest") proto.RegisterType((*AnalyzerResource)(nil), "pulumirpc.AnalyzerResource") + proto.RegisterMapType((map[string]*AnalyzerPropertyDependencies)(nil), "pulumirpc.AnalyzerResource.PropertyDependenciesEntry") + proto.RegisterType((*AnalyzerResourceOptions)(nil), "pulumirpc.AnalyzerResourceOptions") + proto.RegisterType((*AnalyzerResourceOptions_CustomTimeouts)(nil), "pulumirpc.AnalyzerResourceOptions.CustomTimeouts") + proto.RegisterType((*AnalyzerProviderResource)(nil), "pulumirpc.AnalyzerProviderResource") + proto.RegisterType((*AnalyzerPropertyDependencies)(nil), "pulumirpc.AnalyzerPropertyDependencies") proto.RegisterType((*AnalyzeStackRequest)(nil), "pulumirpc.AnalyzeStackRequest") proto.RegisterType((*AnalyzeResponse)(nil), "pulumirpc.AnalyzeResponse") proto.RegisterType((*AnalyzeDiagnostic)(nil), "pulumirpc.AnalyzeDiagnostic") @@ -668,46 +975,66 @@ var _Analyzer_serviceDesc = grpc.ServiceDesc{ Metadata: "analyzer.proto", } -func init() { proto.RegisterFile("analyzer.proto", fileDescriptor_analyzer_a9c30ddfcaef9aa8) } +func init() { proto.RegisterFile("analyzer.proto", fileDescriptor_analyzer_d1afab8694e21adb) } -var fileDescriptor_analyzer_a9c30ddfcaef9aa8 = []byte{ - // 593 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xc4, 0x54, 0xdf, 0x6e, 0xd3, 0x3e, - 0x14, 0x6e, 0x9a, 0x6e, 0x6d, 0x4f, 0xbb, 0xae, 0xf3, 0x4f, 0x3f, 0x16, 0xba, 0x69, 0x8a, 0x72, - 0x81, 0x2a, 0x84, 0x52, 0x51, 0x2e, 0x10, 0x37, 0x88, 0xa2, 0x4e, 0xd5, 0xa4, 0x31, 0x4a, 0x8a, - 0x26, 0x71, 0x99, 0x65, 0x6e, 0x14, 0x2d, 0x8d, 0x8d, 0xed, 0x80, 0xca, 0x2d, 0xe2, 0x4d, 0x78, - 0x04, 0xde, 0x81, 0xd7, 0x42, 0x76, 0xfe, 0x34, 0x4d, 0xaa, 0x21, 0xed, 0x86, 0x3b, 0xfb, 0x9c, - 0xcf, 0x9f, 0x8f, 0xbf, 0xef, 0x1c, 0x43, 0xcf, 0x8d, 0xdc, 0x70, 0xfd, 0x0d, 0x33, 0x9b, 0x32, - 0x22, 0x08, 0x6a, 0xd3, 0x38, 0x8c, 0x57, 0x01, 0xa3, 0xde, 0xa0, 0x4b, 0xc3, 0xd8, 0x0f, 0xa2, - 0x24, 0x31, 0x38, 0xf1, 0x09, 0xf1, 0x43, 0x3c, 0x52, 0xbb, 0x9b, 0x78, 0x39, 0xc2, 0x2b, 0x2a, - 0xd6, 0x69, 0xf2, 0xb4, 0x9c, 0xe4, 0x82, 0xc5, 0x9e, 0x48, 0xb2, 0xd6, 0x77, 0x0d, 0x7a, 0x93, - 0xe4, 0x1a, 0x07, 0x7f, 0x8e, 0x31, 0x17, 0x08, 0x41, 0x43, 0xac, 0x29, 0x36, 0x34, 0x53, 0x1b, - 0xb6, 0x1d, 0xb5, 0x46, 0x2f, 0x01, 0x28, 0x23, 0x14, 0x33, 0x11, 0x60, 0x6e, 0xd4, 0x4d, 0x6d, - 0xd8, 0x19, 0x1f, 0xdb, 0x09, 0xb3, 0x9d, 0x31, 0xdb, 0x0b, 0xc5, 0xec, 0x14, 0xa0, 0xa8, 0x0f, - 0x7a, 0xcc, 0x22, 0x43, 0x57, 0x5c, 0x72, 0x29, 0xe9, 0x23, 0x77, 0x85, 0x8d, 0x46, 0x42, 0x2f, - 0xd7, 0xd6, 0x0f, 0x0d, 0xfa, 0x69, 0x15, 0xcc, 0xc1, 0x9c, 0xc4, 0xcc, 0xc3, 0xff, 0xa2, 0x8e, - 0x39, 0xfc, 0x97, 0x96, 0xb1, 0x10, 0xae, 0x77, 0x97, 0x29, 0xf2, 0x0a, 0xda, 0x2c, 0xad, 0x8a, - 0x1b, 0x9a, 0xa9, 0x0f, 0x3b, 0xe3, 0x13, 0x3b, 0x37, 0xc3, 0x2e, 0x57, 0xee, 0x6c, 0xd0, 0xd6, - 0x07, 0x38, 0xcc, 0xe5, 0xe5, 0x94, 0x44, 0x1c, 0xa3, 0xd7, 0xd0, 0xb9, 0x0d, 0x5c, 0x3f, 0x22, - 0x5c, 0x04, 0x9e, 0x7c, 0x84, 0xe4, 0x3b, 0xad, 0xf2, 0x4d, 0x73, 0x90, 0x53, 0x3c, 0x60, 0xfd, - 0xaa, 0xc3, 0x51, 0x05, 0x82, 0xce, 0x00, 0x28, 0x09, 0x03, 0x6f, 0x7d, 0x25, 0x1f, 0x95, 0x68, - 0x56, 0x88, 0xa0, 0x27, 0xd0, 0x4b, 0x76, 0x73, 0xd7, 0xbb, 0x53, 0x98, 0xba, 0xc2, 0x94, 0xa2, - 0xe8, 0x19, 0x1c, 0x6d, 0x22, 0xd7, 0x98, 0xf1, 0x80, 0x64, 0xb2, 0x55, 0x13, 0xc8, 0x84, 0xce, - 0x2d, 0xe6, 0x1e, 0x0b, 0xa8, 0x90, 0xb8, 0x44, 0xcb, 0x62, 0x08, 0x19, 0xd0, 0x5c, 0x61, 0xce, - 0x5d, 0x1f, 0x1b, 0x7b, 0x2a, 0x9b, 0x6d, 0x95, 0xbf, 0xae, 0xcf, 0x8d, 0x7d, 0x53, 0x57, 0xfe, - 0xba, 0x3e, 0x47, 0x33, 0xe8, 0xe3, 0x68, 0x49, 0x98, 0x87, 0x57, 0x38, 0x12, 0x97, 0xf8, 0x0b, - 0x0e, 0x8d, 0xa6, 0xa9, 0x0d, 0x7b, 0x5b, 0x82, 0x9f, 0x97, 0x20, 0x4e, 0xe5, 0x50, 0xe6, 0x77, - 0x2b, 0xf7, 0xdb, 0xfa, 0x0a, 0xdd, 0xcc, 0xa8, 0x8b, 0x68, 0x49, 0x72, 0xff, 0xb5, 0x8d, 0xff, - 0xea, 0x39, 0x01, 0xa7, 0xa1, 0xbb, 0x2e, 0x28, 0x54, 0x0c, 0xa1, 0xe7, 0xd0, 0x52, 0x2a, 0xc8, - 0xf6, 0xd3, 0x95, 0x73, 0xff, 0x17, 0x0a, 0x9b, 0x2b, 0x81, 0x24, 0xbd, 0x93, 0xc3, 0xac, 0xdf, - 0x1a, 0xc0, 0x26, 0xf1, 0xc0, 0x7b, 0x4b, 0x42, 0xeb, 0xf7, 0x0a, 0xdd, 0xd8, 0x16, 0x7a, 0x97, - 0xa8, 0x7b, 0x0f, 0x10, 0xf5, 0xe9, 0x08, 0xfa, 0x65, 0x14, 0xea, 0x42, 0x6b, 0x32, 0xbd, 0xbe, - 0x58, 0xbc, 0x77, 0x3e, 0xf5, 0x6b, 0xe8, 0x00, 0xda, 0xef, 0x26, 0x57, 0xd3, 0xc9, 0x47, 0xb9, - 0xd5, 0xc6, 0x3f, 0xeb, 0xd0, 0xca, 0x44, 0x47, 0x6f, 0xa1, 0x99, 0xae, 0xd1, 0xe3, 0x6a, 0xb7, - 0xa7, 0xb3, 0x36, 0x18, 0xec, 0x4a, 0x25, 0x93, 0x63, 0xd5, 0xd0, 0x65, 0x6e, 0xa2, 0x1a, 0x50, - 0x74, 0x56, 0x45, 0x17, 0x27, 0xf7, 0x2f, 0x6c, 0x53, 0x38, 0x9c, 0x61, 0xb1, 0xd5, 0x15, 0x8f, - 0x2a, 0x9f, 0xc9, 0xb9, 0xfc, 0x4b, 0x07, 0xc7, 0x3b, 0xe6, 0x5d, 0x1e, 0xb0, 0x6a, 0xe8, 0x0d, - 0x1c, 0xcc, 0xb0, 0x98, 0xab, 0x0f, 0xf9, 0x5e, 0x8e, 0xad, 0x4e, 0xc9, 0xe1, 0x56, 0xed, 0x66, - 0x5f, 0x01, 0x5f, 0xfc, 0x09, 0x00, 0x00, 0xff, 0xff, 0x63, 0x35, 0xde, 0x7f, 0xf1, 0x05, 0x00, - 0x00, +var fileDescriptor_analyzer_d1afab8694e21adb = []byte{ + // 927 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xe4, 0x56, 0xdd, 0x6e, 0x1b, 0x45, + 0x14, 0xce, 0xda, 0x49, 0xbc, 0x3e, 0x4e, 0x5c, 0x77, 0x0a, 0xcd, 0xd6, 0x8d, 0x2a, 0x6b, 0x41, + 0x10, 0x21, 0xe4, 0x50, 0x23, 0x44, 0x41, 0xfc, 0xa5, 0x75, 0x14, 0x55, 0x2a, 0x8d, 0x99, 0x54, + 0x15, 0xbd, 0x9c, 0xee, 0x1e, 0x9b, 0x55, 0xd6, 0x33, 0xc3, 0xec, 0x6c, 0x90, 0xb9, 0xe4, 0x9e, + 0x47, 0xe0, 0x8e, 0x47, 0xe0, 0x1d, 0x78, 0x01, 0x1e, 0x08, 0xcd, 0xec, 0x4f, 0xd6, 0xf6, 0xc6, + 0x95, 0x7a, 0xc3, 0x05, 0x77, 0x73, 0xce, 0xf9, 0xce, 0x37, 0x33, 0xdf, 0x7c, 0x67, 0x6d, 0xe8, + 0x32, 0xce, 0xe2, 0xc5, 0xaf, 0xa8, 0x86, 0x52, 0x09, 0x2d, 0x48, 0x5b, 0xa6, 0x71, 0x3a, 0x8f, + 0x94, 0x0c, 0xfa, 0x7b, 0x32, 0x4e, 0x67, 0x11, 0xcf, 0x0a, 0xfd, 0xfb, 0x33, 0x21, 0x66, 0x31, + 0x1e, 0xdb, 0xe8, 0x75, 0x3a, 0x3d, 0xc6, 0xb9, 0xd4, 0x8b, 0xbc, 0x78, 0xb8, 0x5a, 0x4c, 0xb4, + 0x4a, 0x03, 0x9d, 0x55, 0xfd, 0xdf, 0x1a, 0xd0, 0x3d, 0xc9, 0xb6, 0xa1, 0xf8, 0x73, 0x8a, 0x89, + 0x26, 0x04, 0xb6, 0xf5, 0x42, 0xa2, 0xe7, 0x0c, 0x9c, 0xa3, 0x36, 0xb5, 0x6b, 0xf2, 0x39, 0x80, + 0x54, 0x42, 0xa2, 0xd2, 0x11, 0x26, 0x5e, 0x63, 0xe0, 0x1c, 0x75, 0x46, 0x07, 0xc3, 0x8c, 0x79, + 0x58, 0x30, 0x0f, 0x2f, 0x2c, 0x33, 0xad, 0x40, 0x49, 0x0f, 0x9a, 0xa9, 0xe2, 0x5e, 0xd3, 0x72, + 0x99, 0xa5, 0xa1, 0xe7, 0x6c, 0x8e, 0xde, 0x76, 0x46, 0x6f, 0xd6, 0xe4, 0x2b, 0x68, 0x09, 0xa9, + 0x23, 0xc1, 0x13, 0x6f, 0xc7, 0x72, 0xfb, 0xc3, 0xf2, 0xae, 0xc3, 0xfc, 0x78, 0x8a, 0x62, 0x22, + 0x52, 0x15, 0xe0, 0x79, 0x86, 0xa4, 0x45, 0x0b, 0xf9, 0x16, 0x5c, 0xa9, 0xc4, 0x55, 0x14, 0xa2, + 0xf2, 0x76, 0x6d, 0xfb, 0x7b, 0x35, 0xed, 0x93, 0x1c, 0x52, 0xd0, 0xd0, 0xb2, 0xc9, 0xff, 0x63, + 0x1b, 0x7a, 0xab, 0xbb, 0xfc, 0xff, 0x64, 0x20, 0x77, 0x61, 0x57, 0x32, 0x85, 0x5c, 0x7b, 0x2d, + 0x7b, 0xa8, 0x3c, 0x22, 0x3e, 0xec, 0x85, 0x28, 0x91, 0x87, 0xc8, 0x03, 0x73, 0x6f, 0x77, 0xd0, + 0x3c, 0x6a, 0xd3, 0xa5, 0x1c, 0x89, 0xe0, 0x9d, 0xfc, 0xba, 0x8b, 0x71, 0x15, 0xdb, 0x1e, 0x34, + 0x8f, 0x3a, 0xa3, 0xcf, 0x36, 0xdc, 0x63, 0x38, 0xa9, 0xe9, 0x3b, 0xe5, 0x5a, 0x2d, 0x68, 0x2d, + 0x65, 0x5f, 0xc2, 0xbd, 0x1b, 0x5b, 0x8c, 0xd0, 0x97, 0xb8, 0xc8, 0x1f, 0xcd, 0x2c, 0xc9, 0xd7, + 0xb0, 0x73, 0xc5, 0xe2, 0x14, 0xf3, 0xe7, 0xfa, 0xb0, 0x5e, 0x93, 0x35, 0x3a, 0x9a, 0x75, 0x7d, + 0xd9, 0x78, 0xe4, 0xf8, 0xff, 0x34, 0xe1, 0xe0, 0x06, 0xf9, 0x89, 0x07, 0x2d, 0xf3, 0xf0, 0x18, + 0x68, 0xbb, 0xa9, 0x4b, 0x8b, 0x90, 0xbc, 0x0f, 0xfb, 0xd1, 0x8c, 0x0b, 0x85, 0x4f, 0x7e, 0x62, + 0x7c, 0x66, 0xfd, 0x62, 0x74, 0x5b, 0x4e, 0x92, 0x4f, 0xe0, 0x4e, 0x88, 0x31, 0x6a, 0x7c, 0x8c, + 0x53, 0xa1, 0x90, 0xa2, 0x8c, 0x59, 0x80, 0xd6, 0x29, 0x2e, 0xad, 0x2b, 0x91, 0x6f, 0xa0, 0x5f, + 0x93, 0x1e, 0xe3, 0x34, 0xe2, 0x18, 0x5a, 0x3f, 0xb9, 0x74, 0x03, 0x82, 0x3c, 0x82, 0x03, 0x16, + 0x86, 0x91, 0x39, 0x3e, 0x8b, 0x2f, 0x30, 0x50, 0xa8, 0xcf, 0x53, 0x2d, 0x53, 0x6d, 0x5c, 0x67, + 0x4e, 0x78, 0x53, 0xd9, 0xdc, 0x95, 0xc5, 0x11, 0x4b, 0x30, 0xf1, 0x76, 0x2d, 0xb2, 0x08, 0xc9, + 0x2b, 0xe8, 0x06, 0x69, 0xa2, 0xc5, 0xfc, 0x45, 0x34, 0x47, 0x61, 0xa8, 0x5a, 0x56, 0xed, 0x87, + 0x6f, 0x36, 0xf0, 0xf0, 0xc9, 0x52, 0x23, 0x5d, 0x21, 0xea, 0xff, 0x08, 0xdd, 0x65, 0x84, 0xf1, + 0x69, 0xa0, 0x90, 0xe9, 0x6c, 0x36, 0x1d, 0x9a, 0x47, 0x26, 0x9f, 0xca, 0xd0, 0xe4, 0x1b, 0x59, + 0x3e, 0x8b, 0x4c, 0x3e, 0x93, 0xc3, 0xaa, 0xea, 0xd0, 0x3c, 0xf2, 0x7f, 0x77, 0xc0, 0xbb, 0x69, + 0x2c, 0xfe, 0x83, 0xf1, 0xf7, 0x47, 0x70, 0xb8, 0xc9, 0x91, 0xa6, 0x27, 0x55, 0x3c, 0xf1, 0x1c, + 0xab, 0xbd, 0x5d, 0xfb, 0x13, 0xb8, 0x93, 0xf7, 0x5c, 0x68, 0x16, 0x5c, 0x16, 0xdf, 0xf0, 0x2f, + 0xa0, 0xad, 0xf2, 0x9b, 0x64, 0xf8, 0xce, 0xe8, 0xfe, 0x86, 0xa7, 0xa0, 0xd7, 0x68, 0xff, 0x07, + 0xb8, 0x55, 0xfe, 0x20, 0x24, 0x52, 0xf0, 0xc4, 0x38, 0xae, 0x13, 0x46, 0x6c, 0xc6, 0x45, 0xa2, + 0xa3, 0x20, 0xf3, 0x71, 0x67, 0x74, 0xb8, 0xce, 0x37, 0x2e, 0x41, 0xb4, 0xda, 0xe0, 0xff, 0xd5, + 0x80, 0xdb, 0x6b, 0x10, 0xf2, 0x00, 0x40, 0x8a, 0x38, 0x0a, 0x16, 0xcf, 0x8d, 0x10, 0x99, 0xce, + 0x95, 0x0c, 0xf9, 0x00, 0xba, 0x59, 0x34, 0x61, 0xc1, 0xa5, 0xc5, 0x34, 0x2c, 0x66, 0x25, 0x4b, + 0x3e, 0x86, 0xdb, 0xd7, 0x99, 0x97, 0xa8, 0x92, 0x48, 0x14, 0x52, 0xaf, 0x17, 0xc8, 0x00, 0x3a, + 0x21, 0x26, 0x81, 0x8a, 0xac, 0xfb, 0x72, 0xfd, 0xab, 0x29, 0xe3, 0xf2, 0x39, 0x26, 0x09, 0x9b, + 0xa1, 0xfd, 0x0a, 0xb7, 0x69, 0x11, 0x5a, 0x4f, 0xb0, 0x59, 0x61, 0x7e, 0xbb, 0x26, 0x67, 0xd0, + 0x43, 0x3e, 0x15, 0x2a, 0xc0, 0x39, 0x72, 0xfd, 0x0c, 0xaf, 0x30, 0xb6, 0xde, 0xef, 0x2e, 0x09, + 0x7e, 0xba, 0x02, 0xa1, 0x6b, 0x4d, 0x85, 0x47, 0xdc, 0xd2, 0x23, 0xfe, 0x2f, 0xb0, 0x57, 0x3c, + 0xd4, 0x53, 0x3e, 0x15, 0xa5, 0x67, 0x9c, 0xca, 0x4f, 0x86, 0xb9, 0x4e, 0x94, 0xc8, 0x98, 0x2d, + 0x2a, 0x0a, 0x55, 0x53, 0xe4, 0x21, 0xb8, 0x56, 0x05, 0x63, 0xd9, 0xa6, 0x7d, 0xb9, 0x77, 0x2b, + 0x07, 0x9b, 0x58, 0x81, 0x0c, 0x3d, 0x2d, 0x61, 0xfe, 0xdf, 0x0e, 0xc0, 0x75, 0xe1, 0x2d, 0xf7, + 0x5d, 0x11, 0xba, 0xb9, 0x51, 0xe8, 0xed, 0x65, 0xa1, 0xeb, 0x44, 0xdd, 0x79, 0x0b, 0x51, 0x3f, + 0x3a, 0x86, 0xde, 0x2a, 0x8a, 0xec, 0x81, 0x7b, 0x32, 0x7e, 0xf9, 0xf4, 0xe2, 0x9c, 0xbe, 0xea, + 0x6d, 0x91, 0x7d, 0x68, 0x7f, 0x7f, 0xf2, 0x7c, 0x7c, 0xf2, 0xc2, 0x84, 0xce, 0xe8, 0xcf, 0x06, + 0xb8, 0x85, 0xe8, 0xe4, 0x31, 0xb4, 0xf2, 0x35, 0xb9, 0xb7, 0xee, 0xf6, 0x7c, 0xd6, 0xfa, 0xfd, + 0xba, 0x52, 0x36, 0x39, 0xfe, 0x16, 0x79, 0x56, 0x3e, 0xa2, 0x1d, 0x50, 0xf2, 0x60, 0x1d, 0x5d, + 0x9d, 0xdc, 0x37, 0xb0, 0x8d, 0xe1, 0xd6, 0x19, 0xea, 0x25, 0x57, 0xdc, 0x5d, 0xfb, 0x00, 0x9d, + 0x9a, 0x7f, 0x7f, 0xfd, 0x83, 0x9a, 0x79, 0x37, 0x0d, 0xfe, 0x16, 0xf9, 0x0e, 0xf6, 0xcf, 0x50, + 0x4f, 0xec, 0x5f, 0xc8, 0x8d, 0x1c, 0x4b, 0x4e, 0x29, 0xe1, 0xfe, 0xd6, 0xeb, 0x5d, 0x0b, 0xfc, + 0xf4, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x4f, 0x84, 0x2c, 0x94, 0xa3, 0x0a, 0x00, 0x00, } diff --git a/sdk/proto/go/provider.pb.go b/sdk/proto/go/provider.pb.go index 36e5e6fc5..419eed5dc 100644 --- a/sdk/proto/go/provider.pb.go +++ b/sdk/proto/go/provider.pb.go @@ -57,7 +57,7 @@ func (x PropertyDiff_Kind) String() string { return proto.EnumName(PropertyDiff_Kind_name, int32(x)) } func (PropertyDiff_Kind) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_provider_766486f54fa2871e, []int{9, 0} + return fileDescriptor_provider_857e379df15f5bcf, []int{9, 0} } type DiffResponse_DiffChanges int32 @@ -83,7 +83,7 @@ func (x DiffResponse_DiffChanges) String() string { return proto.EnumName(DiffResponse_DiffChanges_name, int32(x)) } func (DiffResponse_DiffChanges) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_provider_766486f54fa2871e, []int{10, 0} + return fileDescriptor_provider_857e379df15f5bcf, []int{10, 0} } type ConfigureRequest struct { @@ -99,7 +99,7 @@ func (m *ConfigureRequest) Reset() { *m = ConfigureRequest{} } func (m *ConfigureRequest) String() string { return proto.CompactTextString(m) } func (*ConfigureRequest) ProtoMessage() {} func (*ConfigureRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_provider_766486f54fa2871e, []int{0} + return fileDescriptor_provider_857e379df15f5bcf, []int{0} } func (m *ConfigureRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ConfigureRequest.Unmarshal(m, b) @@ -151,7 +151,7 @@ func (m *ConfigureResponse) Reset() { *m = ConfigureResponse{} } func (m *ConfigureResponse) String() string { return proto.CompactTextString(m) } func (*ConfigureResponse) ProtoMessage() {} func (*ConfigureResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_provider_766486f54fa2871e, []int{1} + return fileDescriptor_provider_857e379df15f5bcf, []int{1} } func (m *ConfigureResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ConfigureResponse.Unmarshal(m, b) @@ -190,7 +190,7 @@ func (m *ConfigureErrorMissingKeys) Reset() { *m = ConfigureErrorMissing func (m *ConfigureErrorMissingKeys) String() string { return proto.CompactTextString(m) } func (*ConfigureErrorMissingKeys) ProtoMessage() {} func (*ConfigureErrorMissingKeys) Descriptor() ([]byte, []int) { - return fileDescriptor_provider_766486f54fa2871e, []int{2} + return fileDescriptor_provider_857e379df15f5bcf, []int{2} } func (m *ConfigureErrorMissingKeys) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ConfigureErrorMissingKeys.Unmarshal(m, b) @@ -229,7 +229,7 @@ func (m *ConfigureErrorMissingKeys_MissingKey) Reset() { *m = ConfigureE func (m *ConfigureErrorMissingKeys_MissingKey) String() string { return proto.CompactTextString(m) } func (*ConfigureErrorMissingKeys_MissingKey) ProtoMessage() {} func (*ConfigureErrorMissingKeys_MissingKey) Descriptor() ([]byte, []int) { - return fileDescriptor_provider_766486f54fa2871e, []int{2, 0} + return fileDescriptor_provider_857e379df15f5bcf, []int{2, 0} } func (m *ConfigureErrorMissingKeys_MissingKey) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ConfigureErrorMissingKeys_MissingKey.Unmarshal(m, b) @@ -277,7 +277,7 @@ func (m *InvokeRequest) Reset() { *m = InvokeRequest{} } func (m *InvokeRequest) String() string { return proto.CompactTextString(m) } func (*InvokeRequest) ProtoMessage() {} func (*InvokeRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_provider_766486f54fa2871e, []int{3} + return fileDescriptor_provider_857e379df15f5bcf, []int{3} } func (m *InvokeRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_InvokeRequest.Unmarshal(m, b) @@ -337,7 +337,7 @@ func (m *InvokeResponse) Reset() { *m = InvokeResponse{} } func (m *InvokeResponse) String() string { return proto.CompactTextString(m) } func (*InvokeResponse) ProtoMessage() {} func (*InvokeResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_provider_766486f54fa2871e, []int{4} + return fileDescriptor_provider_857e379df15f5bcf, []int{4} } func (m *InvokeResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_InvokeResponse.Unmarshal(m, b) @@ -384,7 +384,7 @@ func (m *CheckRequest) Reset() { *m = CheckRequest{} } func (m *CheckRequest) String() string { return proto.CompactTextString(m) } func (*CheckRequest) ProtoMessage() {} func (*CheckRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_provider_766486f54fa2871e, []int{5} + return fileDescriptor_provider_857e379df15f5bcf, []int{5} } func (m *CheckRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CheckRequest.Unmarshal(m, b) @@ -437,7 +437,7 @@ func (m *CheckResponse) Reset() { *m = CheckResponse{} } func (m *CheckResponse) String() string { return proto.CompactTextString(m) } func (*CheckResponse) ProtoMessage() {} func (*CheckResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_provider_766486f54fa2871e, []int{6} + return fileDescriptor_provider_857e379df15f5bcf, []int{6} } func (m *CheckResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CheckResponse.Unmarshal(m, b) @@ -483,7 +483,7 @@ func (m *CheckFailure) Reset() { *m = CheckFailure{} } func (m *CheckFailure) String() string { return proto.CompactTextString(m) } func (*CheckFailure) ProtoMessage() {} func (*CheckFailure) Descriptor() ([]byte, []int) { - return fileDescriptor_provider_766486f54fa2871e, []int{7} + return fileDescriptor_provider_857e379df15f5bcf, []int{7} } func (m *CheckFailure) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CheckFailure.Unmarshal(m, b) @@ -532,7 +532,7 @@ func (m *DiffRequest) Reset() { *m = DiffRequest{} } func (m *DiffRequest) String() string { return proto.CompactTextString(m) } func (*DiffRequest) ProtoMessage() {} func (*DiffRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_provider_766486f54fa2871e, []int{8} + return fileDescriptor_provider_857e379df15f5bcf, []int{8} } func (m *DiffRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DiffRequest.Unmarshal(m, b) @@ -599,7 +599,7 @@ func (m *PropertyDiff) Reset() { *m = PropertyDiff{} } func (m *PropertyDiff) String() string { return proto.CompactTextString(m) } func (*PropertyDiff) ProtoMessage() {} func (*PropertyDiff) Descriptor() ([]byte, []int) { - return fileDescriptor_provider_766486f54fa2871e, []int{9} + return fileDescriptor_provider_857e379df15f5bcf, []int{9} } func (m *PropertyDiff) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PropertyDiff.Unmarshal(m, b) @@ -680,7 +680,7 @@ func (m *DiffResponse) Reset() { *m = DiffResponse{} } func (m *DiffResponse) String() string { return proto.CompactTextString(m) } func (*DiffResponse) ProtoMessage() {} func (*DiffResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_provider_766486f54fa2871e, []int{10} + return fileDescriptor_provider_857e379df15f5bcf, []int{10} } func (m *DiffResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DiffResponse.Unmarshal(m, b) @@ -762,7 +762,7 @@ func (m *CreateRequest) Reset() { *m = CreateRequest{} } func (m *CreateRequest) String() string { return proto.CompactTextString(m) } func (*CreateRequest) ProtoMessage() {} func (*CreateRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_provider_766486f54fa2871e, []int{11} + return fileDescriptor_provider_857e379df15f5bcf, []int{11} } func (m *CreateRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CreateRequest.Unmarshal(m, b) @@ -815,7 +815,7 @@ func (m *CreateResponse) Reset() { *m = CreateResponse{} } func (m *CreateResponse) String() string { return proto.CompactTextString(m) } func (*CreateResponse) ProtoMessage() {} func (*CreateResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_provider_766486f54fa2871e, []int{12} + return fileDescriptor_provider_857e379df15f5bcf, []int{12} } func (m *CreateResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CreateResponse.Unmarshal(m, b) @@ -863,7 +863,7 @@ func (m *ReadRequest) Reset() { *m = ReadRequest{} } func (m *ReadRequest) String() string { return proto.CompactTextString(m) } func (*ReadRequest) ProtoMessage() {} func (*ReadRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_provider_766486f54fa2871e, []int{13} + return fileDescriptor_provider_857e379df15f5bcf, []int{13} } func (m *ReadRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ReadRequest.Unmarshal(m, b) @@ -924,7 +924,7 @@ func (m *ReadResponse) Reset() { *m = ReadResponse{} } func (m *ReadResponse) String() string { return proto.CompactTextString(m) } func (*ReadResponse) ProtoMessage() {} func (*ReadResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_provider_766486f54fa2871e, []int{14} + return fileDescriptor_provider_857e379df15f5bcf, []int{14} } func (m *ReadResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ReadResponse.Unmarshal(m, b) @@ -981,7 +981,7 @@ func (m *UpdateRequest) Reset() { *m = UpdateRequest{} } func (m *UpdateRequest) String() string { return proto.CompactTextString(m) } func (*UpdateRequest) ProtoMessage() {} func (*UpdateRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_provider_766486f54fa2871e, []int{15} + return fileDescriptor_provider_857e379df15f5bcf, []int{15} } func (m *UpdateRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UpdateRequest.Unmarshal(m, b) @@ -1054,7 +1054,7 @@ func (m *UpdateResponse) Reset() { *m = UpdateResponse{} } func (m *UpdateResponse) String() string { return proto.CompactTextString(m) } func (*UpdateResponse) ProtoMessage() {} func (*UpdateResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_provider_766486f54fa2871e, []int{16} + return fileDescriptor_provider_857e379df15f5bcf, []int{16} } func (m *UpdateResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UpdateResponse.Unmarshal(m, b) @@ -1095,7 +1095,7 @@ func (m *DeleteRequest) Reset() { *m = DeleteRequest{} } func (m *DeleteRequest) String() string { return proto.CompactTextString(m) } func (*DeleteRequest) ProtoMessage() {} func (*DeleteRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_provider_766486f54fa2871e, []int{17} + return fileDescriptor_provider_857e379df15f5bcf, []int{17} } func (m *DeleteRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DeleteRequest.Unmarshal(m, b) @@ -1159,7 +1159,7 @@ func (m *ErrorResourceInitFailed) Reset() { *m = ErrorResourceInitFailed func (m *ErrorResourceInitFailed) String() string { return proto.CompactTextString(m) } func (*ErrorResourceInitFailed) ProtoMessage() {} func (*ErrorResourceInitFailed) Descriptor() ([]byte, []int) { - return fileDescriptor_provider_766486f54fa2871e, []int{18} + return fileDescriptor_provider_857e379df15f5bcf, []int{18} } func (m *ErrorResourceInitFailed) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ErrorResourceInitFailed.Unmarshal(m, b) @@ -1265,7 +1265,7 @@ type ResourceProviderClient interface { // Diff checks what impacts a hypothetical update will have on the resource's properties. Diff(ctx context.Context, in *DiffRequest, opts ...grpc.CallOption) (*DiffResponse, error) // Create allocates a new instance of the provided resource and returns its unique ID afterwards. (The input ID - // must be blank.) If this call fails, the resource must not have been created (i.e., it is "transacational"). + // must be blank.) If this call fails, the resource must not have been created (i.e., it is "transactional"). Create(ctx context.Context, in *CreateRequest, opts ...grpc.CallOption) (*CreateResponse, error) // Read the current live state associated with a resource. Enough state must be include in the inputs to uniquely // identify the resource; this is typically just the resource ID, but may also include some properties. @@ -1451,7 +1451,7 @@ type ResourceProviderServer interface { // Diff checks what impacts a hypothetical update will have on the resource's properties. Diff(context.Context, *DiffRequest) (*DiffResponse, error) // Create allocates a new instance of the provided resource and returns its unique ID afterwards. (The input ID - // must be blank.) If this call fails, the resource must not have been created (i.e., it is "transacational"). + // must be blank.) If this call fails, the resource must not have been created (i.e., it is "transactional"). Create(context.Context, *CreateRequest) (*CreateResponse, error) // Read the current live state associated with a resource. Enough state must be include in the inputs to uniquely // identify the resource; this is typically just the resource ID, but may also include some properties. @@ -1770,9 +1770,9 @@ var _ResourceProvider_serviceDesc = grpc.ServiceDesc{ Metadata: "provider.proto", } -func init() { proto.RegisterFile("provider.proto", fileDescriptor_provider_766486f54fa2871e) } +func init() { proto.RegisterFile("provider.proto", fileDescriptor_provider_857e379df15f5bcf) } -var fileDescriptor_provider_766486f54fa2871e = []byte{ +var fileDescriptor_provider_857e379df15f5bcf = []byte{ // 1221 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xc4, 0x57, 0xcd, 0x72, 0x1b, 0xc5, 0x13, 0xd7, 0x6a, 0x65, 0xd9, 0x6a, 0x7d, 0x44, 0x99, 0xff, 0x9f, 0x58, 0x51, 0x7c, 0x50, 0x2d, diff --git a/sdk/python/lib/pulumi/runtime/proto/analyzer_pb2.py b/sdk/python/lib/pulumi/runtime/proto/analyzer_pb2.py index 2443a5720..660a14bf9 100644 --- a/sdk/python/lib/pulumi/runtime/proto/analyzer_pb2.py +++ b/sdk/python/lib/pulumi/runtime/proto/analyzer_pb2.py @@ -23,7 +23,7 @@ DESCRIPTOR = _descriptor.FileDescriptor( package='pulumirpc', syntax='proto3', serialized_options=None, - serialized_pb=_b('\n\x0e\x61nalyzer.proto\x12\tpulumirpc\x1a\x0cplugin.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1cgoogle/protobuf/struct.proto\"f\n\x0e\x41nalyzeRequest\x12\x0c\n\x04type\x18\x01 \x01(\t\x12+\n\nproperties\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x0b\n\x03urn\x18\x03 \x01(\t\x12\x0c\n\x04name\x18\x04 \x01(\t\"h\n\x10\x41nalyzerResource\x12\x0c\n\x04type\x18\x01 \x01(\t\x12+\n\nproperties\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x0b\n\x03urn\x18\x03 \x01(\t\x12\x0c\n\x04name\x18\x04 \x01(\t\"E\n\x13\x41nalyzeStackRequest\x12.\n\tresources\x18\x01 \x03(\x0b\x32\x1b.pulumirpc.AnalyzerResource\"D\n\x0f\x41nalyzeResponse\x12\x31\n\x0b\x64iagnostics\x18\x02 \x03(\x0b\x32\x1c.pulumirpc.AnalyzeDiagnostic\"\xd2\x01\n\x11\x41nalyzeDiagnostic\x12\x12\n\npolicyName\x18\x01 \x01(\t\x12\x16\n\x0epolicyPackName\x18\x02 \x01(\t\x12\x19\n\x11policyPackVersion\x18\x03 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x04 \x01(\t\x12\x0f\n\x07message\x18\x05 \x01(\t\x12\x0c\n\x04tags\x18\x06 \x03(\t\x12\x35\n\x10\x65nforcementLevel\x18\x07 \x01(\x0e\x32\x1b.pulumirpc.EnforcementLevel\x12\x0b\n\x03urn\x18\x08 \x01(\t\"Z\n\x0c\x41nalyzerInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64isplayName\x18\x02 \x01(\t\x12\'\n\x08policies\x18\x03 \x03(\x0b\x32\x15.pulumirpc.PolicyInfo\"\x8c\x01\n\nPolicyInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64isplayName\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\x0f\n\x07message\x18\x04 \x01(\t\x12\x35\n\x10\x65nforcementLevel\x18\x05 \x01(\x0e\x32\x1b.pulumirpc.EnforcementLevel*/\n\x10\x45nforcementLevel\x12\x0c\n\x08\x41\x44VISORY\x10\x00\x12\r\n\tMANDATORY\x10\x01\x32\xa4\x02\n\x08\x41nalyzer\x12\x42\n\x07\x41nalyze\x12\x19.pulumirpc.AnalyzeRequest\x1a\x1a.pulumirpc.AnalyzeResponse\"\x00\x12L\n\x0c\x41nalyzeStack\x12\x1e.pulumirpc.AnalyzeStackRequest\x1a\x1a.pulumirpc.AnalyzeResponse\"\x00\x12\x44\n\x0fGetAnalyzerInfo\x12\x16.google.protobuf.Empty\x1a\x17.pulumirpc.AnalyzerInfo\"\x00\x12@\n\rGetPluginInfo\x12\x16.google.protobuf.Empty\x1a\x15.pulumirpc.PluginInfo\"\x00\x62\x06proto3') + serialized_pb=_b('\n\x0e\x61nalyzer.proto\x12\tpulumirpc\x1a\x0cplugin.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1cgoogle/protobuf/struct.proto\"\xd2\x01\n\x0e\x41nalyzeRequest\x12\x0c\n\x04type\x18\x01 \x01(\t\x12+\n\nproperties\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x0b\n\x03urn\x18\x03 \x01(\t\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x33\n\x07options\x18\x05 \x01(\x0b\x32\".pulumirpc.AnalyzerResourceOptions\x12\x35\n\x08provider\x18\x06 \x01(\x0b\x32#.pulumirpc.AnalyzerProviderResource\"\xb5\x03\n\x10\x41nalyzerResource\x12\x0c\n\x04type\x18\x01 \x01(\t\x12+\n\nproperties\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x0b\n\x03urn\x18\x03 \x01(\t\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x33\n\x07options\x18\x05 \x01(\x0b\x32\".pulumirpc.AnalyzerResourceOptions\x12\x35\n\x08provider\x18\x06 \x01(\x0b\x32#.pulumirpc.AnalyzerProviderResource\x12\x0e\n\x06parent\x18\x07 \x01(\t\x12\x14\n\x0c\x64\x65pendencies\x18\x08 \x03(\t\x12S\n\x14propertyDependencies\x18\t \x03(\x0b\x32\x35.pulumirpc.AnalyzerResource.PropertyDependenciesEntry\x1a\x64\n\x19PropertyDependenciesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x36\n\x05value\x18\x02 \x01(\x0b\x32\'.pulumirpc.AnalyzerPropertyDependencies:\x02\x38\x01\"\xc1\x02\n\x17\x41nalyzerResourceOptions\x12\x0f\n\x07protect\x18\x01 \x01(\x08\x12\x15\n\rignoreChanges\x18\x02 \x03(\t\x12\x1b\n\x13\x64\x65leteBeforeReplace\x18\x03 \x01(\x08\x12\"\n\x1a\x64\x65leteBeforeReplaceDefined\x18\x04 \x01(\x08\x12\x1f\n\x17\x61\x64\x64itionalSecretOutputs\x18\x05 \x03(\t\x12\x0f\n\x07\x61liases\x18\x06 \x03(\t\x12I\n\x0e\x63ustomTimeouts\x18\x07 \x01(\x0b\x32\x31.pulumirpc.AnalyzerResourceOptions.CustomTimeouts\x1a@\n\x0e\x43ustomTimeouts\x12\x0e\n\x06\x63reate\x18\x01 \x01(\x01\x12\x0e\n\x06update\x18\x02 \x01(\x01\x12\x0e\n\x06\x64\x65lete\x18\x03 \x01(\x01\"p\n\x18\x41nalyzerProviderResource\x12\x0c\n\x04type\x18\x01 \x01(\t\x12+\n\nproperties\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x0b\n\x03urn\x18\x03 \x01(\t\x12\x0c\n\x04name\x18\x04 \x01(\t\",\n\x1c\x41nalyzerPropertyDependencies\x12\x0c\n\x04urns\x18\x01 \x03(\t\"E\n\x13\x41nalyzeStackRequest\x12.\n\tresources\x18\x01 \x03(\x0b\x32\x1b.pulumirpc.AnalyzerResource\"D\n\x0f\x41nalyzeResponse\x12\x31\n\x0b\x64iagnostics\x18\x02 \x03(\x0b\x32\x1c.pulumirpc.AnalyzeDiagnostic\"\xd2\x01\n\x11\x41nalyzeDiagnostic\x12\x12\n\npolicyName\x18\x01 \x01(\t\x12\x16\n\x0epolicyPackName\x18\x02 \x01(\t\x12\x19\n\x11policyPackVersion\x18\x03 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x04 \x01(\t\x12\x0f\n\x07message\x18\x05 \x01(\t\x12\x0c\n\x04tags\x18\x06 \x03(\t\x12\x35\n\x10\x65nforcementLevel\x18\x07 \x01(\x0e\x32\x1b.pulumirpc.EnforcementLevel\x12\x0b\n\x03urn\x18\x08 \x01(\t\"Z\n\x0c\x41nalyzerInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64isplayName\x18\x02 \x01(\t\x12\'\n\x08policies\x18\x03 \x03(\x0b\x32\x15.pulumirpc.PolicyInfo\"\x8c\x01\n\nPolicyInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64isplayName\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\x0f\n\x07message\x18\x04 \x01(\t\x12\x35\n\x10\x65nforcementLevel\x18\x05 \x01(\x0e\x32\x1b.pulumirpc.EnforcementLevel*/\n\x10\x45nforcementLevel\x12\x0c\n\x08\x41\x44VISORY\x10\x00\x12\r\n\tMANDATORY\x10\x01\x32\xa4\x02\n\x08\x41nalyzer\x12\x42\n\x07\x41nalyze\x12\x19.pulumirpc.AnalyzeRequest\x1a\x1a.pulumirpc.AnalyzeResponse\"\x00\x12L\n\x0c\x41nalyzeStack\x12\x1e.pulumirpc.AnalyzeStackRequest\x1a\x1a.pulumirpc.AnalyzeResponse\"\x00\x12\x44\n\x0fGetAnalyzerInfo\x12\x16.google.protobuf.Empty\x1a\x17.pulumirpc.AnalyzerInfo\"\x00\x12@\n\rGetPluginInfo\x12\x16.google.protobuf.Empty\x1a\x15.pulumirpc.PluginInfo\"\x00\x62\x06proto3') , dependencies=[plugin__pb2.DESCRIPTOR,google_dot_protobuf_dot_empty__pb2.DESCRIPTOR,google_dot_protobuf_dot_struct__pb2.DESCRIPTOR,]) @@ -44,8 +44,8 @@ _ENFORCEMENTLEVEL = _descriptor.EnumDescriptor( ], containing_type=None, serialized_options=None, - serialized_start=901, - serialized_end=948, + serialized_start=1828, + serialized_end=1875, ) _sym_db.RegisterEnumDescriptor(_ENFORCEMENTLEVEL) @@ -90,6 +90,20 @@ _ANALYZEREQUEST = _descriptor.Descriptor( message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='options', full_name='pulumirpc.AnalyzeRequest.options', index=4, + number=5, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='provider', full_name='pulumirpc.AnalyzeRequest.provider', index=5, + number=6, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -102,11 +116,48 @@ _ANALYZEREQUEST = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=102, - serialized_end=204, + serialized_start=103, + serialized_end=313, ) +_ANALYZERRESOURCE_PROPERTYDEPENDENCIESENTRY = _descriptor.Descriptor( + name='PropertyDependenciesEntry', + full_name='pulumirpc.AnalyzerResource.PropertyDependenciesEntry', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='key', full_name='pulumirpc.AnalyzerResource.PropertyDependenciesEntry.key', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='value', full_name='pulumirpc.AnalyzerResource.PropertyDependenciesEntry.value', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=_b('8\001'), + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=653, + serialized_end=753, +) + _ANALYZERRESOURCE = _descriptor.Descriptor( name='AnalyzerResource', full_name='pulumirpc.AnalyzerResource', @@ -142,6 +193,86 @@ _ANALYZERRESOURCE = _descriptor.Descriptor( message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='options', full_name='pulumirpc.AnalyzerResource.options', index=4, + number=5, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='provider', full_name='pulumirpc.AnalyzerResource.provider', index=5, + number=6, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='parent', full_name='pulumirpc.AnalyzerResource.parent', index=6, + number=7, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='dependencies', full_name='pulumirpc.AnalyzerResource.dependencies', index=7, + number=8, type=9, cpp_type=9, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='propertyDependencies', full_name='pulumirpc.AnalyzerResource.propertyDependencies', index=8, + number=9, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[_ANALYZERRESOURCE_PROPERTYDEPENDENCIESENTRY, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=316, + serialized_end=753, +) + + +_ANALYZERRESOURCEOPTIONS_CUSTOMTIMEOUTS = _descriptor.Descriptor( + name='CustomTimeouts', + full_name='pulumirpc.AnalyzerResourceOptions.CustomTimeouts', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='create', full_name='pulumirpc.AnalyzerResourceOptions.CustomTimeouts.create', index=0, + number=1, type=1, cpp_type=5, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='update', full_name='pulumirpc.AnalyzerResourceOptions.CustomTimeouts.update', index=1, + number=2, type=1, cpp_type=5, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='delete', full_name='pulumirpc.AnalyzerResourceOptions.CustomTimeouts.delete', index=2, + number=3, type=1, cpp_type=5, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -154,8 +285,163 @@ _ANALYZERRESOURCE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=206, - serialized_end=310, + serialized_start=1013, + serialized_end=1077, +) + +_ANALYZERRESOURCEOPTIONS = _descriptor.Descriptor( + name='AnalyzerResourceOptions', + full_name='pulumirpc.AnalyzerResourceOptions', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='protect', full_name='pulumirpc.AnalyzerResourceOptions.protect', index=0, + number=1, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='ignoreChanges', full_name='pulumirpc.AnalyzerResourceOptions.ignoreChanges', index=1, + number=2, type=9, cpp_type=9, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='deleteBeforeReplace', full_name='pulumirpc.AnalyzerResourceOptions.deleteBeforeReplace', index=2, + number=3, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='deleteBeforeReplaceDefined', full_name='pulumirpc.AnalyzerResourceOptions.deleteBeforeReplaceDefined', index=3, + number=4, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='additionalSecretOutputs', full_name='pulumirpc.AnalyzerResourceOptions.additionalSecretOutputs', index=4, + number=5, type=9, cpp_type=9, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='aliases', full_name='pulumirpc.AnalyzerResourceOptions.aliases', index=5, + number=6, type=9, cpp_type=9, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='customTimeouts', full_name='pulumirpc.AnalyzerResourceOptions.customTimeouts', index=6, + number=7, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[_ANALYZERRESOURCEOPTIONS_CUSTOMTIMEOUTS, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=756, + serialized_end=1077, +) + + +_ANALYZERPROVIDERRESOURCE = _descriptor.Descriptor( + name='AnalyzerProviderResource', + full_name='pulumirpc.AnalyzerProviderResource', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='type', full_name='pulumirpc.AnalyzerProviderResource.type', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='properties', full_name='pulumirpc.AnalyzerProviderResource.properties', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='urn', full_name='pulumirpc.AnalyzerProviderResource.urn', index=2, + number=3, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='name', full_name='pulumirpc.AnalyzerProviderResource.name', index=3, + number=4, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1079, + serialized_end=1191, +) + + +_ANALYZERPROPERTYDEPENDENCIES = _descriptor.Descriptor( + name='AnalyzerPropertyDependencies', + full_name='pulumirpc.AnalyzerPropertyDependencies', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='urns', full_name='pulumirpc.AnalyzerPropertyDependencies.urns', index=0, + number=1, type=9, cpp_type=9, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1193, + serialized_end=1237, ) @@ -185,8 +471,8 @@ _ANALYZESTACKREQUEST = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=312, - serialized_end=381, + serialized_start=1239, + serialized_end=1308, ) @@ -216,8 +502,8 @@ _ANALYZERESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=383, - serialized_end=451, + serialized_start=1310, + serialized_end=1378, ) @@ -296,8 +582,8 @@ _ANALYZEDIAGNOSTIC = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=454, - serialized_end=664, + serialized_start=1381, + serialized_end=1591, ) @@ -341,8 +627,8 @@ _ANALYZERINFO = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=666, - serialized_end=756, + serialized_start=1593, + serialized_end=1683, ) @@ -400,12 +686,22 @@ _POLICYINFO = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=759, - serialized_end=899, + serialized_start=1686, + serialized_end=1826, ) _ANALYZEREQUEST.fields_by_name['properties'].message_type = google_dot_protobuf_dot_struct__pb2._STRUCT +_ANALYZEREQUEST.fields_by_name['options'].message_type = _ANALYZERRESOURCEOPTIONS +_ANALYZEREQUEST.fields_by_name['provider'].message_type = _ANALYZERPROVIDERRESOURCE +_ANALYZERRESOURCE_PROPERTYDEPENDENCIESENTRY.fields_by_name['value'].message_type = _ANALYZERPROPERTYDEPENDENCIES +_ANALYZERRESOURCE_PROPERTYDEPENDENCIESENTRY.containing_type = _ANALYZERRESOURCE _ANALYZERRESOURCE.fields_by_name['properties'].message_type = google_dot_protobuf_dot_struct__pb2._STRUCT +_ANALYZERRESOURCE.fields_by_name['options'].message_type = _ANALYZERRESOURCEOPTIONS +_ANALYZERRESOURCE.fields_by_name['provider'].message_type = _ANALYZERPROVIDERRESOURCE +_ANALYZERRESOURCE.fields_by_name['propertyDependencies'].message_type = _ANALYZERRESOURCE_PROPERTYDEPENDENCIESENTRY +_ANALYZERRESOURCEOPTIONS_CUSTOMTIMEOUTS.containing_type = _ANALYZERRESOURCEOPTIONS +_ANALYZERRESOURCEOPTIONS.fields_by_name['customTimeouts'].message_type = _ANALYZERRESOURCEOPTIONS_CUSTOMTIMEOUTS +_ANALYZERPROVIDERRESOURCE.fields_by_name['properties'].message_type = google_dot_protobuf_dot_struct__pb2._STRUCT _ANALYZESTACKREQUEST.fields_by_name['resources'].message_type = _ANALYZERRESOURCE _ANALYZERESPONSE.fields_by_name['diagnostics'].message_type = _ANALYZEDIAGNOSTIC _ANALYZEDIAGNOSTIC.fields_by_name['enforcementLevel'].enum_type = _ENFORCEMENTLEVEL @@ -413,6 +709,9 @@ _ANALYZERINFO.fields_by_name['policies'].message_type = _POLICYINFO _POLICYINFO.fields_by_name['enforcementLevel'].enum_type = _ENFORCEMENTLEVEL DESCRIPTOR.message_types_by_name['AnalyzeRequest'] = _ANALYZEREQUEST DESCRIPTOR.message_types_by_name['AnalyzerResource'] = _ANALYZERRESOURCE +DESCRIPTOR.message_types_by_name['AnalyzerResourceOptions'] = _ANALYZERRESOURCEOPTIONS +DESCRIPTOR.message_types_by_name['AnalyzerProviderResource'] = _ANALYZERPROVIDERRESOURCE +DESCRIPTOR.message_types_by_name['AnalyzerPropertyDependencies'] = _ANALYZERPROPERTYDEPENDENCIES DESCRIPTOR.message_types_by_name['AnalyzeStackRequest'] = _ANALYZESTACKREQUEST DESCRIPTOR.message_types_by_name['AnalyzeResponse'] = _ANALYZERESPONSE DESCRIPTOR.message_types_by_name['AnalyzeDiagnostic'] = _ANALYZEDIAGNOSTIC @@ -429,11 +728,48 @@ AnalyzeRequest = _reflection.GeneratedProtocolMessageType('AnalyzeRequest', (_me _sym_db.RegisterMessage(AnalyzeRequest) AnalyzerResource = _reflection.GeneratedProtocolMessageType('AnalyzerResource', (_message.Message,), dict( + + PropertyDependenciesEntry = _reflection.GeneratedProtocolMessageType('PropertyDependenciesEntry', (_message.Message,), dict( + DESCRIPTOR = _ANALYZERRESOURCE_PROPERTYDEPENDENCIESENTRY, + __module__ = 'analyzer_pb2' + # @@protoc_insertion_point(class_scope:pulumirpc.AnalyzerResource.PropertyDependenciesEntry) + )) + , DESCRIPTOR = _ANALYZERRESOURCE, __module__ = 'analyzer_pb2' # @@protoc_insertion_point(class_scope:pulumirpc.AnalyzerResource) )) _sym_db.RegisterMessage(AnalyzerResource) +_sym_db.RegisterMessage(AnalyzerResource.PropertyDependenciesEntry) + +AnalyzerResourceOptions = _reflection.GeneratedProtocolMessageType('AnalyzerResourceOptions', (_message.Message,), dict( + + CustomTimeouts = _reflection.GeneratedProtocolMessageType('CustomTimeouts', (_message.Message,), dict( + DESCRIPTOR = _ANALYZERRESOURCEOPTIONS_CUSTOMTIMEOUTS, + __module__ = 'analyzer_pb2' + # @@protoc_insertion_point(class_scope:pulumirpc.AnalyzerResourceOptions.CustomTimeouts) + )) + , + DESCRIPTOR = _ANALYZERRESOURCEOPTIONS, + __module__ = 'analyzer_pb2' + # @@protoc_insertion_point(class_scope:pulumirpc.AnalyzerResourceOptions) + )) +_sym_db.RegisterMessage(AnalyzerResourceOptions) +_sym_db.RegisterMessage(AnalyzerResourceOptions.CustomTimeouts) + +AnalyzerProviderResource = _reflection.GeneratedProtocolMessageType('AnalyzerProviderResource', (_message.Message,), dict( + DESCRIPTOR = _ANALYZERPROVIDERRESOURCE, + __module__ = 'analyzer_pb2' + # @@protoc_insertion_point(class_scope:pulumirpc.AnalyzerProviderResource) + )) +_sym_db.RegisterMessage(AnalyzerProviderResource) + +AnalyzerPropertyDependencies = _reflection.GeneratedProtocolMessageType('AnalyzerPropertyDependencies', (_message.Message,), dict( + DESCRIPTOR = _ANALYZERPROPERTYDEPENDENCIES, + __module__ = 'analyzer_pb2' + # @@protoc_insertion_point(class_scope:pulumirpc.AnalyzerPropertyDependencies) + )) +_sym_db.RegisterMessage(AnalyzerPropertyDependencies) AnalyzeStackRequest = _reflection.GeneratedProtocolMessageType('AnalyzeStackRequest', (_message.Message,), dict( DESCRIPTOR = _ANALYZESTACKREQUEST, @@ -471,6 +807,7 @@ PolicyInfo = _reflection.GeneratedProtocolMessageType('PolicyInfo', (_message.Me _sym_db.RegisterMessage(PolicyInfo) +_ANALYZERRESOURCE_PROPERTYDEPENDENCIESENTRY._options = None _ANALYZER = _descriptor.ServiceDescriptor( name='Analyzer', @@ -478,8 +815,8 @@ _ANALYZER = _descriptor.ServiceDescriptor( file=DESCRIPTOR, index=0, serialized_options=None, - serialized_start=951, - serialized_end=1243, + serialized_start=1878, + serialized_end=2170, methods=[ _descriptor.MethodDescriptor( name='Analyze', diff --git a/sdk/python/lib/pulumi/runtime/proto/provider_pb2_grpc.py b/sdk/python/lib/pulumi/runtime/proto/provider_pb2_grpc.py index f76560c0b..0fe4b1340 100644 --- a/sdk/python/lib/pulumi/runtime/proto/provider_pb2_grpc.py +++ b/sdk/python/lib/pulumi/runtime/proto/provider_pb2_grpc.py @@ -145,7 +145,7 @@ class ResourceProviderServicer(object): def Create(self, request, context): """Create allocates a new instance of the provided resource and returns its unique ID afterwards. (The input ID - must be blank.) If this call fails, the resource must not have been created (i.e., it is "transacational"). + must be blank.) If this call fails, the resource must not have been created (i.e., it is "transactional"). """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!')