Expose options, parent, deps, and provider config to policies (#3862)

This commit is contained in:
Justin Van Patten 2020-02-07 16:11:34 -08:00 committed by GitHub
parent f6e37c25ad
commit 3bf9067bac
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
11 changed files with 2274 additions and 137 deletions

View file

@ -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)

View file

@ -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),

View file

@ -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

View file

@ -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:

File diff suppressed because it is too large Load diff

View file

@ -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,

View file

@ -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<string, AnalyzerPropertyDependencies> 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 {

View file

@ -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,
}

View file

@ -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,

View file

@ -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',

View file

@ -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!')