예제 #1
0
 def _construct_options(request: proto.ConstructRequest) -> pulumi.ResourceOptions:
     parent = None
     if not _empty_as_none(request.parent):
         parent = DependencyResource(request.parent)
     return pulumi.ResourceOptions(
         aliases=list(request.aliases),
         depends_on=[DependencyResource(urn)
                     for urn in request.dependencies],
         protect=request.protect,
         providers={pkg: DependencyProviderResource(ref)
                    for pkg, ref in request.providers.items()},
         parent=parent)
예제 #2
0
def _create_provider_resource(ref: str) -> ProviderResource:
    """
    Rehydrate the provider reference into a registered ProviderResource,
    otherwise return an instance of DependencyProviderResource.
    """
    urn, _ = _parse_resource_reference(ref)
    urn_parts = pulumi.urn._parse_urn(urn)
    resource_package = rpc.get_resource_package(urn_parts.typ_name, version="")
    if resource_package is not None:
        return cast(
            ProviderResource,
            resource_package.construct_provider(urn_parts.urn_name,
                                                urn_parts.typ, urn))

    return DependencyProviderResource(ref)
예제 #3
0
def _create_provider_resource(ref: str) -> ProviderResource:
    """
    Rehydrate the provider reference into a registered ProviderResource,
    otherwise return an instance of DependencyProviderResource.
    """
    urn, _ = _parse_resource_reference(ref)
    urn_parts = urn.split("::")
    urn_name = urn_parts[3]
    qualified_type = urn_parts[2]
    typ = qualified_type.split("$")[-1]
    typ_parts = typ.split(":")
    typ_name = typ_parts[2] if len(typ_parts) > 2 else ""

    resource_package = rpc.get_resource_package(typ_name, version="")
    if resource_package is not None:
        return cast(ProviderResource,
                    resource_package.construct_provider(urn_name, typ, urn))

    return DependencyProviderResource(ref)
예제 #4
0
 def test_get_package(self):
     res = DependencyProviderResource(
         "urn:pulumi:stack::project::pulumi:providers:aws::default_4_13_0")
     self.assertEqual("aws", res.package)