コード例 #1
0
    def RegisterResource(self, request, context):
        type_ = request.type
        name = request.name
        props = rpc.deserialize_properties(request.object)
        deps = sorted(list(request.dependencies))
        parent = request.parent
        custom = request.custom
        protect = request.protect
        provider = request.provider
        delete_before_replace = request.deleteBeforeReplace
        ignore_changes = sorted(list(request.ignoreChanges))
        version = request.version
        import_ = request.importId

        property_dependencies = {}
        for key, value in request.propertyDependencies.items():
            property_dependencies[key] = sorted(list(value.urns))

        outs = {}
        if type_ != "pulumi:pulumi:Stack":
            rrsig = signature(self.langhost_test.register_resource)
            args = [
                context, self.dryrun, type_, name, props, deps, parent, custom,
                protect, provider, property_dependencies,
                delete_before_replace, ignore_changes, version, import_
            ]
            outs = self.langhost_test.register_resource(
                *args[0:len(rrsig.parameters)])
            if outs.get("urn"):
                urn = outs["urn"]
                self.registrations[urn] = {
                    "type": type_,
                    "name": name,
                    "props": props
                }

            self.reg_count += 1
        else:
            # Record the Stack's registration so that it can be the target of register_resource_outputs
            # later on.
            urn = self.langhost_test.make_urn(type_, "teststack")
            self.registrations[urn] = {
                "type": type_,
                "name": "somestack",
                "props": {}
            }

            return proto.RegisterResourceResponse(urn=urn,
                                                  id="teststack",
                                                  object=None)
        if "object" in outs:
            loop = asyncio.new_event_loop()
            obj_proto = loop.run_until_complete(
                rpc.serialize_properties(outs["object"], {}))
            loop.close()
        else:
            obj_proto = None
        return proto.RegisterResourceResponse(urn=outs.get("urn"),
                                              id=outs.get("id"),
                                              object=obj_proto)
コード例 #2
0
ファイル: util.py プロジェクト: go-scripters/pulumi
    def RegisterResource(self, request, context):
        type_ = request.type
        name = request.name
        props = rpc.deserialize_properties(request.object)
        deps = request.dependencies
        outs = {}
        if type_ != "pulumi:pulumi:Stack":
            outs = self.langhost_test.register_resource(
                context, self.dryrun, type_, name, props, deps)
            if outs.get("urn"):
                urn = outs["urn"]
                self.registrations[urn] = {
                    "type": type_,
                    "name": name,
                    "props": props
                }

            self.reg_count += 1
        if "object" in outs:
            loop = asyncio.new_event_loop()
            obj_proto = loop.run_until_complete(
                rpc.serialize_properties(outs["object"], []))
            loop.close()
        else:
            obj_proto = None
        return proto.RegisterResourceResponse(urn=outs.get("urn"),
                                              id=outs.get("id"),
                                              object=obj_proto)
コード例 #3
0
ファイル: util.py プロジェクト: zerojuls/pulumi
    def RegisterResource(self, request, context):
        type_ = request.type
        name = request.name
        props = rpc.deserialize_resource_props(request.object)
        deps = request.dependencies
        outs = {}
        if type_ != "pulumi:pulumi:Stack":
            outs = self.langhost_test.register_resource(
                context, self.dryrun, type_, name, props, deps)
            if outs.get("urn"):
                urn = outs["urn"]
                self.registrations[urn] = {
                    "type": type_,
                    "name": name,
                    "props": props
                }

            self.reg_count += 1
        if outs.has_key("object"):
            obj_proto = rpc.serialize_resource_props(outs["object"])
        else:
            obj_proto = None
        return proto.RegisterResourceResponse(urn=outs.get("urn"),
                                              id=outs.get("id"),
                                              object=obj_proto)
コード例 #4
0
    def RegisterResource(self, request, context):
        type_ = request.type
        name = request.name
        props = rpc.deserialize_properties(request.object)
        deps = list(request.dependencies)
        parent = request.parent
        custom = request.custom
        protect = request.protect
        provider = request.provider
        outs = {}
        if type_ != "pulumi:pulumi:Stack":
            outs = self.langhost_test.register_resource(
                context, self.dryrun, type_, name, props, deps, parent, custom,
                protect, provider)
            if outs.get("urn"):
                urn = outs["urn"]
                self.registrations[urn] = {
                    "type": type_,
                    "name": name,
                    "props": props
                }

            self.reg_count += 1
        else:
            # Record the Stack's registration so that it can be the target of register_resource_outputs
            # later on.
            urn = self.langhost_test.make_urn(type_, "teststack")
            self.registrations[urn] = {
                "type": type_,
                "name": "somestack",
                "props": {}
            }

            return proto.RegisterResourceResponse(urn=urn,
                                                  id="teststack",
                                                  object=None)
        if "object" in outs:
            loop = asyncio.new_event_loop()
            obj_proto = loop.run_until_complete(
                rpc.serialize_properties(outs["object"], []))
            loop.close()
        else:
            obj_proto = None
        return proto.RegisterResourceResponse(urn=outs.get("urn"),
                                              id=outs.get("id"),
                                              object=obj_proto)