Add ForceNew and Computed schema support.
This commit is contained in:
Родитель
0b903ec5f1
Коммит
1171ff63da
|
@ -54,10 +54,6 @@
|
||||||
"source": "{:**:}",
|
"source": "{:**:}",
|
||||||
"target": "/",
|
"target": "/",
|
||||||
"priority": "Lowest"
|
"priority": "Lowest"
|
||||||
}],
|
|
||||||
"import": [{
|
|
||||||
"type": "{:**:}",
|
|
||||||
"package": "hdinsight"
|
|
||||||
}]
|
}]
|
||||||
},
|
},
|
||||||
"setId": true
|
"setId": true
|
||||||
|
|
|
@ -47,6 +47,14 @@
|
||||||
|
|
||||||
Indentation.Indent();
|
Indentation.Indent();
|
||||||
@:@(Indentation)@(subField.IsRequired ? "Required" : "Optional"): true,
|
@:@(Indentation)@(subField.IsRequired ? "Required" : "Optional"): true,
|
||||||
|
if (subField.IsReadOnly)
|
||||||
|
{
|
||||||
|
@:@(Indentation)Computed: true,
|
||||||
|
}
|
||||||
|
if (subField.IsCreateOnly)
|
||||||
|
{
|
||||||
|
@:@(Indentation)ForceNew: true,
|
||||||
|
}
|
||||||
Indentation.Outdent();
|
Indentation.Outdent();
|
||||||
|
|
||||||
var goType = subField.GoType;
|
var goType = subField.GoType;
|
||||||
|
|
|
@ -40,7 +40,7 @@ namespace AutoRest.Terraform
|
||||||
public IEnumerable<GoSDKTypedData> Children => Properties;
|
public IEnumerable<GoSDKTypedData> Children => Properties;
|
||||||
|
|
||||||
|
|
||||||
private GoSDKInvocation Invocation { get; }
|
public GoSDKInvocation Invocation { get; }
|
||||||
|
|
||||||
public void AddProperties(IEnumerable<GoSDKTypedData> props)
|
public void AddProperties(IEnumerable<GoSDKTypedData> props)
|
||||||
{
|
{
|
||||||
|
|
|
@ -36,6 +36,9 @@ namespace AutoRest.Terraform
|
||||||
select f;
|
select f;
|
||||||
public bool IsRoot => Parent == null;
|
public bool IsRoot => Parent == null;
|
||||||
public bool IsRequired => OriginalVariable?.IsRequired ?? SubFields.Any(sf => sf.IsRequired);
|
public bool IsRequired => OriginalVariable?.IsRequired ?? SubFields.Any(sf => sf.IsRequired);
|
||||||
|
public bool IsReadOnly => updatedBy.Count > 0 && usedBy.Count == 0;
|
||||||
|
public bool IsCreateOnly => usedBy.Any(d => d.Invocation.Category == InvocationCategory.Creation) &&
|
||||||
|
usedBy.All(d => d.Invocation.Category != InvocationCategory.Update);
|
||||||
public string DefaultValue => OriginalVariable.DefaultValue;
|
public string DefaultValue => OriginalVariable.DefaultValue;
|
||||||
public bool MightBeEmpty => !IsRequired && string.IsNullOrEmpty(DefaultValue);
|
public bool MightBeEmpty => !IsRequired && string.IsNullOrEmpty(DefaultValue);
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче