コード例 #1
0
 protected override void InnerReplaceValues(Dictionary <Value, Value> originalReplace)
 {
     if (originalReplace.ContainsKey(resourceField))
     {
         resourceField = (ResourceFieldValue)originalReplace[resourceField];
     }
 }
コード例 #2
0
        private static ResourceDocument?KindToDocument(Kind kind)
        {
            return(new ResourceDocument(
                       new ResourceDefinition(new List <ResourceField>
            {
                new ResourceField("identity", ResourceFieldValue.String($"{kind.Group}/{kind.ApiVersion}/{kind.KindName}")),
                new ResourceField("metadataSchema", ResourceFieldValue.String(WriteToJson(kind.Schema.MetadataSchema))),
                new ResourceField("definitionSchema", ResourceFieldValue.String(WriteToJson(kind.Schema.DefinitionSchema))),
                new ResourceField("specSchema", ResourceFieldValue.String(WriteToJson(kind.Schema.SpecSchema))),
                new ResourceField("stateSchema", ResourceFieldValue.String(WriteToJson(kind.Schema.StateSchema)))
            }),
                       new ResourceMetadata(new List <ResourceField>
            {
                new ResourceField("group", ResourceFieldValue.String(kind.Group)),
                new ResourceField("apiVersion", ResourceFieldValue.String(kind.ApiVersion)),
                new ResourceField("name", ResourceFieldValue.String(kind.KindName)),
                new ResourceField("namePlural", ResourceFieldValue.String(kind.KindNamePlural)),
                new ResourceField("extendsKind", ResourceFieldValue.String(GetExtendsKindValue())),
            }),
                       kind: new KindDescriptor(Kind.Group, Kind.ApiVersion, Kind.KindName)));

            string GetExtendsKindValue()
            {
                if (kind.ExtendsKind != null)
                {
                    return($"{kind.ExtendsKind.Group}/{kind.ExtendsKind.ApiVersion}/{kind.ExtendsKind.KindName}");
                }
                return("");
            }
        }
コード例 #3
0
 private ResourceDocument CreateBlankPatchDocument(IResource resource)
 {
     return(new ResourceDocument(
                new ResourceDefinition(new List <ResourceField>
     {
         new ResourceField("identity", ResourceFieldValue.String(resource.GetIdentity()))
     })));
 }
コード例 #4
0
ファイル: HostExtensions.cs プロジェクト: DevJohnC/homectl
 public static Task SetConnectedState(this Host host, ResourceStateManager resourceStateManager, Host.ConnectedState connectedState)
 {
     return(resourceStateManager.PatchState(host,
                                            new HomeCtl.Kinds.Resources.ResourceState(new List <ResourceField>
     {
         new ResourceField("connectedState", ResourceFieldValue.String(connectedState.ToString()))
     })));
 }
コード例 #5
0
 public static ResourceDocument ConvertToDocument(TestClass obj)
 {
     return(new ResourceDocument(
                TestClassKind.GetKindDescriptor(),
                new ResourceMetadata(new List <ResourceField>
     {
         new ResourceField("id", ResourceFieldValue.String(obj.Id.ToString()))
     }),
                new ResourceDefinition(new List <ResourceField>
     {
         new ResourceField("identity", ResourceFieldValue.String(obj.Id.ToString()))
     })));
 }
コード例 #6
0
        private ResourceState CreateDefaultState(string identity, ResourceDocument partialResourceState)
        {
            if (!TryGetKindManager(partialResourceState, out var manager))
            {
                throw new System.Exception("Valid kind required.");
            }

            //  todo: create default document from kind schema
            var stateDoc = new ResourceDocument(
                new ResourceDefinition(new List <ResourceField>
            {
                new ResourceField("identity", ResourceFieldValue.String(identity))
            }),
                kind: manager.Kind.GetKindDescriptor());

            return(new ResourceState(manager, identity, stateDoc));
        }
コード例 #7
0
    protected override void InnerReplaceValues(Dictionary <Value, Value> originalReplace)
    {
        if (resourceFieldValue != null && originalReplace.ContainsKey(resourceFieldValue))
        {
            resourceFieldValue = (ResourceFieldValue)originalReplace[resourceFieldValue];
        }

        if (resourceTypeValue != null && originalReplace.ContainsKey(resourceTypeValue))
        {
            resourceTypeValue = (DynamicValue)originalReplace[resourceTypeValue];
        }

        if (toolTypeValue != null && originalReplace.ContainsKey(toolTypeValue))
        {
            toolTypeValue = (DynamicValue)originalReplace[toolTypeValue];
        }
    }