@azure-tools/typespec-azure-resource-manager 0.64.0-dev.1 → 0.64.0-dev.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -572,6 +572,9 @@ This allows sharing Azure Resource Manager resource types across specifications
572
572
  - [`@armOperationRoute`](#@armoperationroute)
573
573
  - [`@customAzureResource`](#@customazureresource)
574
574
  - [`@externalTypeRef`](#@externaltyperef)
575
+ - [`@feature`](#@feature)
576
+ - [`@featureOptions`](#@featureoptions)
577
+ - [`@features`](#@features)
575
578
  - [`@renamePathParameter`](#@renamepathparameter)
576
579
 
577
580
  #### `@armExternalType`
@@ -648,6 +651,63 @@ Specify an external reference that should be used when emitting this type.
648
651
  | ------- | ---------------- | ------------------------------------------------------------- |
649
652
  | jsonRef | `valueof string` | External reference(e.g. "../../common.json#/definitions/Foo") |
650
653
 
654
+ #### `@feature`
655
+
656
+ Decorator to associate a feature with a model, interface, or namespace
657
+
658
+ ```typespec
659
+ @Azure.ResourceManager.Legacy.feature(featureName: EnumMember)
660
+ ```
661
+
662
+ ##### Target
663
+
664
+ The target to associate the feature with
665
+ `Model | Interface | Namespace`
666
+
667
+ ##### Parameters
668
+
669
+ | Name | Type | Description |
670
+ | ----------- | ------------ | ---------------------------------------- |
671
+ | featureName | `EnumMember` | The feature to associate with the target |
672
+
673
+ #### `@featureOptions`
674
+
675
+ Decorator to define options for a specific feature
676
+
677
+ ```typespec
678
+ @Azure.ResourceManager.Legacy.featureOptions(options: valueof Azure.ResourceManager.Legacy.ArmFeatureOptions)
679
+ ```
680
+
681
+ ##### Target
682
+
683
+ The enum member that represents the feature
684
+ `EnumMember`
685
+
686
+ ##### Parameters
687
+
688
+ | Name | Type | Description |
689
+ | ------- | ------------------------------------------------- | --------------------------- |
690
+ | options | [valueof `ArmFeatureOptions`](#armfeatureoptions) | The options for the feature |
691
+
692
+ #### `@features`
693
+
694
+ Decorator to define a set of features
695
+
696
+ ```typespec
697
+ @Azure.ResourceManager.Legacy.features(features: Enum)
698
+ ```
699
+
700
+ ##### Target
701
+
702
+ The service namespace
703
+ `Namespace`
704
+
705
+ ##### Parameters
706
+
707
+ | Name | Type | Description |
708
+ | -------- | ------ | ----------------------------------- |
709
+ | features | `Enum` | The enum that contains the features |
710
+
651
711
  #### `@renamePathParameter`
652
712
 
653
713
  Renames a path parameter in an Azure Resource Manager operation.
@@ -1,4 +1,4 @@
1
- import type { DecoratorContext, DecoratorValidatorCallbacks, Model, ModelProperty, Operation } from "@typespec/compiler";
1
+ import type { DecoratorContext, DecoratorValidatorCallbacks, Enum, EnumMember, Interface, Model, ModelProperty, Namespace, Operation } from "@typespec/compiler";
2
2
  export interface CustomResourceOptions {
3
3
  readonly isAzureResource?: boolean;
4
4
  }
@@ -6,6 +6,13 @@ export interface ArmOperationOptions {
6
6
  readonly useStaticRoute?: boolean;
7
7
  readonly route?: string;
8
8
  }
9
+ export interface ArmFeatureOptions {
10
+ readonly featureName: string;
11
+ readonly fileName: string;
12
+ readonly description: string;
13
+ readonly title?: string;
14
+ readonly termsOfService?: string;
15
+ }
9
16
  /**
10
17
  * This decorator is used on resources that do not satisfy the definition of a resource
11
18
  * but need to be identified as such.
@@ -41,11 +48,35 @@ export type ArmExternalTypeDecorator = (context: DecoratorContext, target: Model
41
48
  * @param targetParameterName The new name for the parameter
42
49
  */
43
50
  export type RenamePathParameterDecorator = (context: DecoratorContext, target: Operation, sourceParameterName: string, targetParameterName: string) => DecoratorValidatorCallbacks | void;
51
+ /**
52
+ * Decorator to define a set of features
53
+ *
54
+ * @param target The service namespace
55
+ * @param features The enum that contains the features
56
+ */
57
+ export type FeaturesDecorator = (context: DecoratorContext, target: Namespace, features: Enum) => DecoratorValidatorCallbacks | void;
58
+ /**
59
+ * Decorator to define options for a specific feature
60
+ *
61
+ * @param target The enum member that represents the feature
62
+ * @param options The options for the feature
63
+ */
64
+ export type FeatureOptionsDecorator = (context: DecoratorContext, target: EnumMember, options: ArmFeatureOptions) => DecoratorValidatorCallbacks | void;
65
+ /**
66
+ * Decorator to associate a feature with a model, interface, or namespace
67
+ *
68
+ * @param target The target to associate the feature with
69
+ * @param featureName The feature to associate with the target
70
+ */
71
+ export type FeatureDecorator = (context: DecoratorContext, target: Model | Interface | Namespace, featureName: EnumMember) => DecoratorValidatorCallbacks | void;
44
72
  export type AzureResourceManagerLegacyDecorators = {
45
73
  customAzureResource: CustomAzureResourceDecorator;
46
74
  externalTypeRef: ExternalTypeRefDecorator;
47
75
  armOperationRoute: ArmOperationRouteDecorator;
48
76
  armExternalType: ArmExternalTypeDecorator;
49
77
  renamePathParameter: RenamePathParameterDecorator;
78
+ features: FeaturesDecorator;
79
+ featureOptions: FeatureOptionsDecorator;
80
+ feature: FeatureDecorator;
50
81
  };
51
82
  //# sourceMappingURL=Azure.ResourceManager.Legacy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Azure.ResourceManager.Legacy.d.ts","sourceRoot":"","sources":["../../generated-defs/Azure.ResourceManager.Legacy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,2BAA2B,EAC3B,KAAK,EACL,aAAa,EACb,SAAS,EACV,MAAM,oBAAoB,CAAC;AAE5B,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;CACpC;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;GAKG;AACH,MAAM,MAAM,4BAA4B,GAAG,CACzC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,KAAK,EACb,OAAO,CAAC,EAAE,qBAAqB,KAC5B,2BAA2B,GAAG,IAAI,CAAC;AAExC;;;;GAIG;AACH,MAAM,MAAM,wBAAwB,GAAG,CACrC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,KAAK,GAAG,aAAa,EAC7B,OAAO,EAAE,MAAM,KACZ,2BAA2B,GAAG,IAAI,CAAC;AAExC;;;;;;GAMG;AACH,MAAM,MAAM,0BAA0B,GAAG,CACvC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,EACjB,KAAK,CAAC,EAAE,mBAAmB,KACxB,2BAA2B,GAAG,IAAI,CAAC;AAExC;;;;GAIG;AACH,MAAM,MAAM,wBAAwB,GAAG,CACrC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,KAAK,KACV,2BAA2B,GAAG,IAAI,CAAC;AAExC;;;;;;GAMG;AACH,MAAM,MAAM,4BAA4B,GAAG,CACzC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,EACjB,mBAAmB,EAAE,MAAM,EAC3B,mBAAmB,EAAE,MAAM,KACxB,2BAA2B,GAAG,IAAI,CAAC;AAExC,MAAM,MAAM,oCAAoC,GAAG;IACjD,mBAAmB,EAAE,4BAA4B,CAAC;IAClD,eAAe,EAAE,wBAAwB,CAAC;IAC1C,iBAAiB,EAAE,0BAA0B,CAAC;IAC9C,eAAe,EAAE,wBAAwB,CAAC;IAC1C,mBAAmB,EAAE,4BAA4B,CAAC;CACnD,CAAC"}
1
+ {"version":3,"file":"Azure.ResourceManager.Legacy.d.ts","sourceRoot":"","sources":["../../generated-defs/Azure.ResourceManager.Legacy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,2BAA2B,EAC3B,IAAI,EACJ,UAAU,EACV,SAAS,EACT,KAAK,EACL,aAAa,EACb,SAAS,EACT,SAAS,EACV,MAAM,oBAAoB,CAAC;AAE5B,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;CACpC;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AAED;;;;;GAKG;AACH,MAAM,MAAM,4BAA4B,GAAG,CACzC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,KAAK,EACb,OAAO,CAAC,EAAE,qBAAqB,KAC5B,2BAA2B,GAAG,IAAI,CAAC;AAExC;;;;GAIG;AACH,MAAM,MAAM,wBAAwB,GAAG,CACrC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,KAAK,GAAG,aAAa,EAC7B,OAAO,EAAE,MAAM,KACZ,2BAA2B,GAAG,IAAI,CAAC;AAExC;;;;;;GAMG;AACH,MAAM,MAAM,0BAA0B,GAAG,CACvC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,EACjB,KAAK,CAAC,EAAE,mBAAmB,KACxB,2BAA2B,GAAG,IAAI,CAAC;AAExC;;;;GAIG;AACH,MAAM,MAAM,wBAAwB,GAAG,CACrC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,KAAK,KACV,2BAA2B,GAAG,IAAI,CAAC;AAExC;;;;;;GAMG;AACH,MAAM,MAAM,4BAA4B,GAAG,CACzC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,EACjB,mBAAmB,EAAE,MAAM,EAC3B,mBAAmB,EAAE,MAAM,KACxB,2BAA2B,GAAG,IAAI,CAAC;AAExC;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAC9B,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,IAAI,KACX,2BAA2B,GAAG,IAAI,CAAC;AAExC;;;;;GAKG;AACH,MAAM,MAAM,uBAAuB,GAAG,CACpC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,iBAAiB,KACvB,2BAA2B,GAAG,IAAI,CAAC;AAExC;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAC7B,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,KAAK,GAAG,SAAS,GAAG,SAAS,EACrC,WAAW,EAAE,UAAU,KACpB,2BAA2B,GAAG,IAAI,CAAC;AAExC,MAAM,MAAM,oCAAoC,GAAG;IACjD,mBAAmB,EAAE,4BAA4B,CAAC;IAClD,eAAe,EAAE,wBAAwB,CAAC;IAC1C,iBAAiB,EAAE,0BAA0B,CAAC;IAC9C,eAAe,EAAE,wBAAwB,CAAC;IAC1C,mBAAmB,EAAE,4BAA4B,CAAC;IAClD,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,cAAc,EAAE,uBAAuB,CAAC;IACxC,OAAO,EAAE,gBAAgB,CAAC;CAC3B,CAAC"}
@@ -1,6 +1,6 @@
1
- import { ArrayModelType, Model, ModelProperty, Namespace, Operation, Program } from "@typespec/compiler";
1
+ import { ArrayModelType, EnumMember, Interface, Model, ModelProperty, Namespace, Operation, Program, Type } from "@typespec/compiler";
2
2
  import { ArmProviderNameValueDecorator, ArmResourceOperationsDecorator, ArmVirtualResourceDecorator, ExtensionResourceDecorator, IdentifiersDecorator, LocationResourceDecorator, ResourceBaseTypeDecorator, ResourceGroupResourceDecorator, SingletonDecorator, SubscriptionResourceDecorator, TenantResourceDecorator } from "../generated-defs/Azure.ResourceManager.js";
3
- import { ArmExternalTypeDecorator, CustomAzureResourceDecorator, CustomResourceOptions } from "../generated-defs/Azure.ResourceManager.Legacy.js";
3
+ import { ArmExternalTypeDecorator, ArmFeatureOptions, CustomAzureResourceDecorator, CustomResourceOptions, FeatureDecorator, FeatureOptionsDecorator, FeaturesDecorator } from "../generated-defs/Azure.ResourceManager.Legacy.js";
4
4
  import { ArmOperationKind, ArmResolvedOperationsForResource, ArmResourceOperation, ArmResourceOperations } from "./operations.js";
5
5
  export type ArmResourceKind = "Tracked" | "Proxy" | "Extension" | "Virtual" | "Custom" | "BuiltIn";
6
6
  /**
@@ -232,4 +232,18 @@ export declare function getArmKeyIdentifiers(program: Program, entity: ArrayMode
232
232
  export declare function setResourceBaseType(program: Program, resource: Model, type: string): void;
233
233
  export declare function getResourceBaseType(program: Program, resource: Model): ResourceBaseType;
234
234
  export declare function resolveResourceBaseType(type?: string | undefined): ResourceBaseType;
235
+ export declare const getResourceFeature: (program: Program, type: Interface | Model | Namespace) => EnumMember | undefined, setResourceFeature: (program: Program, type: Interface | Model | Namespace, value: EnumMember) => void;
236
+ export declare const getResourceFeatureSet: (program: Program, type: Namespace) => Map<string, ArmFeatureOptions> | undefined, setResourceFeatureSet: (program: Program, type: Namespace, value: Map<string, ArmFeatureOptions>) => void;
237
+ export declare const getResourceFeatureOptions: (program: Program, type: EnumMember) => ArmFeatureOptions | undefined, setResourceFeatureOptions: (program: Program, type: EnumMember, value: ArmFeatureOptions) => void;
238
+ export declare function getFeatureOptions(program: Program, feature: EnumMember): ArmFeatureOptions;
239
+ /**
240
+ * Get the FeatureOptions for a given type, these could be inherited from the namespace or parent type
241
+ * @param program - The program to process.
242
+ * @param entity - The type entity to get feature options for.
243
+ * @returns The ArmFeatureOptions if found, otherwise undefined.
244
+ */
245
+ export declare function getFeature(program: Program, entity: Type): ArmFeatureOptions;
246
+ export declare const $feature: FeatureDecorator;
247
+ export declare const $features: FeaturesDecorator;
248
+ export declare const $featureOptions: FeatureOptionsDecorator;
235
249
  //# sourceMappingURL=resource.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../src/resource.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../src/resource.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import { $tag, getProperty as compilerGetProperty, getKeyName, getNamespaceFullN
3
3
  import { useStateMap } from "@typespec/compiler/utils";
4
4
  import { getHttpOperation, isPathParam } from "@typespec/http";
5
5
  import { $autoRoute, getParentResource, getSegment } from "@typespec/rest";
6
- import { pascalCase } from "change-case";
6
+ import { camelCase, pascalCase } from "change-case";
7
7
  import { reportDiagnostic } from "./lib.js";
8
8
  import { getArmProviderNamespace, isArmLibraryNamespace, resolveProviderNamespace, } from "./namespace.js";
9
9
  import { getArmResourceOperationData, getArmResourceOperationList, getResourceNameForOperation, resolveResourceOperations, } from "./operations.js";
@@ -900,4 +900,132 @@ export function resolveResourceBaseType(type) {
900
900
  }
901
901
  return resolvedType;
902
902
  }
903
+ export const [getResourceFeature, setResourceFeature] = useStateMap(ArmStateKeys.armFeature);
904
+ export const [getResourceFeatureSet, setResourceFeatureSet] = useStateMap(ArmStateKeys.armFeatureSet);
905
+ export const [getResourceFeatureOptions, setResourceFeatureOptions] = useStateMap(ArmStateKeys.armFeatureOptions);
906
+ const commonFeatureOptions = {
907
+ featureName: "Common",
908
+ fileName: "common",
909
+ description: "",
910
+ };
911
+ export function getFeatureOptions(program, feature) {
912
+ const defaultFeatureName = (feature.value ?? feature.name);
913
+ const defaultOptions = {
914
+ featureName: defaultFeatureName,
915
+ fileName: camelCase(defaultFeatureName),
916
+ description: "",
917
+ };
918
+ return program.stateMap(ArmStateKeys.armFeatureOptions).get(feature) ?? defaultOptions;
919
+ }
920
+ /**
921
+ * Get the FeatureOptions for a given type, these could be inherited from the namespace or parent type
922
+ * @param program - The program to process.
923
+ * @param entity - The type entity to get feature options for.
924
+ * @returns The ArmFeatureOptions if found, otherwise undefined.
925
+ */
926
+ export function getFeature(program, entity) {
927
+ switch (entity.kind) {
928
+ case "Namespace": {
929
+ const feature = getResourceFeature(program, entity);
930
+ if (feature === undefined)
931
+ return commonFeatureOptions;
932
+ const options = getFeatureOptions(program, feature);
933
+ return options;
934
+ }
935
+ case "Interface": {
936
+ let feature = getResourceFeature(program, entity);
937
+ if (feature !== undefined)
938
+ return getFeatureOptions(program, feature);
939
+ const namespace = entity.namespace;
940
+ if (namespace === undefined)
941
+ return commonFeatureOptions;
942
+ feature = getResourceFeature(program, namespace);
943
+ if (feature === undefined)
944
+ return commonFeatureOptions;
945
+ return getFeatureOptions(program, feature);
946
+ }
947
+ case "Model": {
948
+ let feature = getResourceFeature(program, entity);
949
+ if (feature !== undefined)
950
+ return getFeatureOptions(program, feature);
951
+ if (isTemplateInstance(entity)) {
952
+ for (const arg of entity.templateMapper.args) {
953
+ if (arg.entityKind === "Type" && arg.kind === "Model") {
954
+ const options = getFeature(program, arg);
955
+ if (options !== commonFeatureOptions)
956
+ return options;
957
+ }
958
+ }
959
+ }
960
+ const namespace = entity.namespace;
961
+ if (namespace === undefined)
962
+ return commonFeatureOptions;
963
+ feature = getResourceFeature(program, namespace);
964
+ if (feature === undefined)
965
+ return commonFeatureOptions;
966
+ return getFeatureOptions(program, feature);
967
+ }
968
+ case "Operation": {
969
+ const opInterface = entity.interface;
970
+ if (opInterface !== undefined) {
971
+ return getFeature(program, opInterface);
972
+ }
973
+ const namespace = entity.namespace;
974
+ if (namespace === undefined)
975
+ return commonFeatureOptions;
976
+ const feature = getResourceFeature(program, namespace);
977
+ if (feature === undefined)
978
+ return commonFeatureOptions;
979
+ return getFeatureOptions(program, feature);
980
+ }
981
+ case "EnumMember": {
982
+ return getFeature(program, entity.enum);
983
+ }
984
+ case "UnionVariant": {
985
+ return getFeature(program, entity.union);
986
+ }
987
+ case "ModelProperty": {
988
+ if (entity.model === undefined)
989
+ return commonFeatureOptions;
990
+ return getFeature(program, entity.model);
991
+ }
992
+ case "Enum":
993
+ case "Union":
994
+ case "Scalar": {
995
+ const namespace = entity.namespace;
996
+ if (namespace === undefined)
997
+ return commonFeatureOptions;
998
+ const feature = getResourceFeature(program, namespace);
999
+ if (feature === undefined)
1000
+ return commonFeatureOptions;
1001
+ return getFeatureOptions(program, feature);
1002
+ }
1003
+ default:
1004
+ return commonFeatureOptions;
1005
+ }
1006
+ }
1007
+ export const $feature = (context, entity, featureName) => {
1008
+ const { program } = context;
1009
+ setResourceFeature(program, entity, featureName);
1010
+ };
1011
+ export const $features = (context, entity, features) => {
1012
+ const { program } = context;
1013
+ let featureMap = getResourceFeatureSet(program, entity);
1014
+ if (featureMap !== undefined) {
1015
+ return;
1016
+ }
1017
+ featureMap = new Map();
1018
+ for (const member of features.members.values()) {
1019
+ const options = getFeatureOptions(program, member); // Ensure defaults are created
1020
+ featureMap.set(options.featureName, options);
1021
+ }
1022
+ const common = [...featureMap.keys()].some((k) => k.toLowerCase() === "common");
1023
+ if (!common) {
1024
+ featureMap.set("Common", commonFeatureOptions);
1025
+ }
1026
+ setResourceFeatureSet(program, entity, featureMap);
1027
+ };
1028
+ export const $featureOptions = (context, entity, options) => {
1029
+ setResourceFeatureOptions(context.program, entity, options);
1030
+ };
903
1031
  //# sourceMappingURL=resource.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resource.js","sourceRoot":"","sources":["../../src/resource.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resource.js","sourceRoot":"","sources":["../../src/resource.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,9 @@ export declare const ArmStateKeys: {
18
18
  resourceBaseType: symbol;
19
19
  armBuiltInResource: symbol;
20
20
  customAzureResource: symbol;
21
+ armFeature: symbol;
22
+ armFeatureSet: symbol;
23
+ armFeatureOptions: symbol;
21
24
  azureResourceBase: symbol;
22
25
  renamePathParameters: symbol;
23
26
  armCommonDefinitions: symbol;
@@ -1 +1 @@
1
- {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/state.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkCxB,CAAC"}
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/state.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqCxB,CAAC"}
package/dist/src/state.js CHANGED
@@ -25,6 +25,9 @@ export const ArmStateKeys = {
25
25
  resourceBaseType: azureResourceManagerCreateStateSymbol("resourceBaseTypeKey"),
26
26
  armBuiltInResource: azureResourceManagerCreateStateSymbol("armExternalResource"),
27
27
  customAzureResource: azureResourceManagerCreateStateSymbol("azureCustomResource"),
28
+ armFeature: azureResourceManagerCreateStateSymbol("armFeature"),
29
+ armFeatureSet: azureResourceManagerCreateStateSymbol("armFeatureSet"),
30
+ armFeatureOptions: azureResourceManagerCreateStateSymbol("armFeatureOptions"),
28
31
  // private.decorator.ts
29
32
  azureResourceBase: azureResourceManagerCreateStateSymbol("azureResourceBase"),
30
33
  renamePathParameters: azureResourceManagerCreateStateSymbol("renamePathParameters"),
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/state.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,qBAAqB;AACrB,2DAA2D;AAC3D,SAAS,qCAAqC,CAAC,IAAY;IACzD,OAAO,MAAM,CAAC,GAAG,CAAC,gDAAgD,IAAI,EAAE,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,gBAAgB,EAAE,qCAAqC,CAAC,kBAAkB,CAAC;IAC3E,qBAAqB,EAAE,qCAAqC,CAAC,uBAAuB,CAAC;IACrF,qBAAqB,EAAE,qCAAqC,CAAC,uBAAuB,CAAC;IACrF,2BAA2B,EAAE,qCAAqC,CAAC,6BAA6B,CAAC;IACjG,qBAAqB,EAAE,qCAAqC,CAAC,oBAAoB,CAAC;IAClF,YAAY,EAAE,qCAAqC,CAAC,cAAc,CAAC;IACnE,oBAAoB,EAAE,qCAAqC,CAAC,sBAAsB,CAAC;IACnF,wBAAwB,EAAE,qCAAqC,CAAC,0BAA0B,CAAC;IAC3F,qBAAqB,EAAE,qCAAqC,CAAC,uBAAuB,CAAC;IACrF,cAAc,EAAE,qCAAqC,CAAC,gBAAgB,CAAC;IACvE,eAAe,EAAE,qCAAqC,CAAC,iBAAiB,CAAC;IACzE,wBAAwB,EAAE,qCAAqC,CAAC,0BAA0B,CAAC;IAC3F,qBAAqB,EAAE,qCAAqC,CAAC,uBAAuB,CAAC;IAErF,cAAc;IACd,oBAAoB,EAAE,qCAAqC,CAAC,sBAAsB,CAAC;IACnF,kBAAkB,EAAE,qCAAqC,CAAC,oBAAoB,CAAC;IAC/E,qBAAqB,EAAE,qCAAqC,CAAC,uBAAuB,CAAC;IACrF,gBAAgB,EAAE,qCAAqC,CAAC,qBAAqB,CAAC;IAC9E,kBAAkB,EAAE,qCAAqC,CAAC,qBAAqB,CAAC;IAChF,mBAAmB,EAAE,qCAAqC,CAAC,qBAAqB,CAAC;IAEjF,uBAAuB;IACvB,iBAAiB,EAAE,qCAAqC,CAAC,mBAAmB,CAAC;IAC7E,oBAAoB,EAAE,qCAAqC,CAAC,sBAAsB,CAAC;IAEnF,oCAAoC;IACpC,oBAAoB,EAAE,qCAAqC,CAAC,sBAAsB,CAAC;IACnF,mBAAmB,EAAE,qCAAqC,CAAC,qBAAqB,CAAC;IACjF,sBAAsB,EAAE,qCAAqC,CAAC,wBAAwB,CAAC;IACvF,gBAAgB,EAAE,qCAAqC,CAAC,kBAAkB,CAAC;IAC3E,eAAe,EAAE,qCAAqC,CAAC,iBAAiB,CAAC;IACzE,eAAe,EAAE,qCAAqC,CAAC,iBAAiB,CAAC;CAC1E,CAAC"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/state.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,qBAAqB;AACrB,2DAA2D;AAC3D,SAAS,qCAAqC,CAAC,IAAY;IACzD,OAAO,MAAM,CAAC,GAAG,CAAC,gDAAgD,IAAI,EAAE,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,gBAAgB,EAAE,qCAAqC,CAAC,kBAAkB,CAAC;IAC3E,qBAAqB,EAAE,qCAAqC,CAAC,uBAAuB,CAAC;IACrF,qBAAqB,EAAE,qCAAqC,CAAC,uBAAuB,CAAC;IACrF,2BAA2B,EAAE,qCAAqC,CAAC,6BAA6B,CAAC;IACjG,qBAAqB,EAAE,qCAAqC,CAAC,oBAAoB,CAAC;IAClF,YAAY,EAAE,qCAAqC,CAAC,cAAc,CAAC;IACnE,oBAAoB,EAAE,qCAAqC,CAAC,sBAAsB,CAAC;IACnF,wBAAwB,EAAE,qCAAqC,CAAC,0BAA0B,CAAC;IAC3F,qBAAqB,EAAE,qCAAqC,CAAC,uBAAuB,CAAC;IACrF,cAAc,EAAE,qCAAqC,CAAC,gBAAgB,CAAC;IACvE,eAAe,EAAE,qCAAqC,CAAC,iBAAiB,CAAC;IACzE,wBAAwB,EAAE,qCAAqC,CAAC,0BAA0B,CAAC;IAC3F,qBAAqB,EAAE,qCAAqC,CAAC,uBAAuB,CAAC;IAErF,cAAc;IACd,oBAAoB,EAAE,qCAAqC,CAAC,sBAAsB,CAAC;IACnF,kBAAkB,EAAE,qCAAqC,CAAC,oBAAoB,CAAC;IAC/E,qBAAqB,EAAE,qCAAqC,CAAC,uBAAuB,CAAC;IACrF,gBAAgB,EAAE,qCAAqC,CAAC,qBAAqB,CAAC;IAC9E,kBAAkB,EAAE,qCAAqC,CAAC,qBAAqB,CAAC;IAChF,mBAAmB,EAAE,qCAAqC,CAAC,qBAAqB,CAAC;IACjF,UAAU,EAAE,qCAAqC,CAAC,YAAY,CAAC;IAC/D,aAAa,EAAE,qCAAqC,CAAC,eAAe,CAAC;IACrE,iBAAiB,EAAE,qCAAqC,CAAC,mBAAmB,CAAC;IAE7E,uBAAuB;IACvB,iBAAiB,EAAE,qCAAqC,CAAC,mBAAmB,CAAC;IAC7E,oBAAoB,EAAE,qCAAqC,CAAC,sBAAsB,CAAC;IAEnF,oCAAoC;IACpC,oBAAoB,EAAE,qCAAqC,CAAC,sBAAsB,CAAC;IACnF,mBAAmB,EAAE,qCAAqC,CAAC,qBAAqB,CAAC;IACjF,sBAAsB,EAAE,qCAAqC,CAAC,wBAAwB,CAAC;IACvF,gBAAgB,EAAE,qCAAqC,CAAC,kBAAkB,CAAC;IAC3E,eAAe,EAAE,qCAAqC,CAAC,iBAAiB,CAAC;IACzE,eAAe,EAAE,qCAAqC,CAAC,iBAAiB,CAAC;CAC1E,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"tsp-index.d.ts","sourceRoot":"","sources":["../../src/tsp-index.ts"],"names":[],"mappings":"AAgCA,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"tsp-index.d.ts","sourceRoot":"","sources":["../../src/tsp-index.ts"],"names":[],"mappings":"AAmCA,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { $armCommonTypesVersion, $externalTypeRef } from "./common-types.js";
2
2
  import { $armLibraryNamespace, $armProviderNamespace, $useLibraryNamespace } from "./namespace.js";
3
3
  import { $armOperationRoute, $armResourceAction, $armResourceCheckExistence, $armResourceCollectionAction, $armResourceCreateOrUpdate, $armResourceDelete, $armResourceList, $armResourceRead, $armResourceUpdate, $renamePathParameter, } from "./operations.js";
4
- import { $armExternalType, $armProviderNameValue, $armResourceOperations, $armVirtualResource, $customAzureResource, $extensionResource, $identifiers, $locationResource, $resourceBaseType, $resourceGroupResource, $singleton, $subscriptionResource, $tenantResource, } from "./resource.js";
4
+ import { $armExternalType, $armProviderNameValue, $armResourceOperations, $armVirtualResource, $customAzureResource, $extensionResource, $feature, $featureOptions, $features, $identifiers, $locationResource, $resourceBaseType, $resourceGroupResource, $singleton, $subscriptionResource, $tenantResource, } from "./resource.js";
5
5
  export { $lib } from "./lib.js";
6
6
  /** @internal */
7
7
  export const $decorators = {
@@ -36,6 +36,9 @@ export const $decorators = {
36
36
  armOperationRoute: $armOperationRoute,
37
37
  armExternalType: $armExternalType,
38
38
  renamePathParameter: $renamePathParameter,
39
+ feature: $feature,
40
+ features: $features,
41
+ featureOptions: $featureOptions,
39
42
  },
40
43
  };
41
44
  //# sourceMappingURL=tsp-index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tsp-index.js","sourceRoot":"","sources":["../../src/tsp-index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACnG,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,0BAA0B,EAC1B,4BAA4B,EAC5B,0BAA0B,EAC1B,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,UAAU,EACV,qBAAqB,EACrB,eAAe,GAChB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC,gBAAgB;AAChB,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,uBAAuB,EAAE;QACvB,2BAA2B,EAAE,4BAA4B;QACzD,oBAAoB,EAAE,qBAAqB;QAC3C,oBAAoB,EAAE,qBAAqB;QAC3C,mBAAmB,EAAE,oBAAoB;QACzC,mBAAmB,EAAE,oBAAoB;QACzC,SAAS,EAAE,UAAU;QACrB,cAAc,EAAE,eAAe;QAC/B,oBAAoB,EAAE,qBAAqB;QAC3C,gBAAgB,EAAE,iBAAiB;QACnC,qBAAqB,EAAE,sBAAsB;QAC7C,iBAAiB,EAAE,kBAAkB;QACrC,iBAAiB,EAAE,kBAAkB;QACrC,yBAAyB,EAAE,0BAA0B;QACrD,eAAe,EAAE,gBAAgB;QACjC,iBAAiB,EAAE,kBAAkB;QACrC,iBAAiB,EAAE,kBAAkB;QACrC,eAAe,EAAE,gBAAgB;QACjC,yBAAyB,EAAE,0BAA0B;QACrD,qBAAqB,EAAE,sBAAsB;QAC7C,qBAAqB,EAAE,sBAAsB;QAC7C,kBAAkB,EAAE,mBAAmB;QACvC,gBAAgB,EAAE,iBAAiB;QACnC,WAAW,EAAE,YAAY;KACe;IAC1C,8BAA8B,EAAE;QAC9B,mBAAmB,EAAE,oBAAoB;QACzC,eAAe,EAAE,gBAAgB;QACjC,iBAAiB,EAAE,kBAAkB;QACrC,eAAe,EAAE,gBAAgB;QACjC,mBAAmB,EAAE,oBAAoB;KACK;CACjD,CAAC"}
1
+ {"version":3,"file":"tsp-index.js","sourceRoot":"","sources":["../../src/tsp-index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACnG,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,0BAA0B,EAC1B,4BAA4B,EAC5B,0BAA0B,EAC1B,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,QAAQ,EACR,eAAe,EACf,SAAS,EACT,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,UAAU,EACV,qBAAqB,EACrB,eAAe,GAChB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC,gBAAgB;AAChB,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,uBAAuB,EAAE;QACvB,2BAA2B,EAAE,4BAA4B;QACzD,oBAAoB,EAAE,qBAAqB;QAC3C,oBAAoB,EAAE,qBAAqB;QAC3C,mBAAmB,EAAE,oBAAoB;QACzC,mBAAmB,EAAE,oBAAoB;QACzC,SAAS,EAAE,UAAU;QACrB,cAAc,EAAE,eAAe;QAC/B,oBAAoB,EAAE,qBAAqB;QAC3C,gBAAgB,EAAE,iBAAiB;QACnC,qBAAqB,EAAE,sBAAsB;QAC7C,iBAAiB,EAAE,kBAAkB;QACrC,iBAAiB,EAAE,kBAAkB;QACrC,yBAAyB,EAAE,0BAA0B;QACrD,eAAe,EAAE,gBAAgB;QACjC,iBAAiB,EAAE,kBAAkB;QACrC,iBAAiB,EAAE,kBAAkB;QACrC,eAAe,EAAE,gBAAgB;QACjC,yBAAyB,EAAE,0BAA0B;QACrD,qBAAqB,EAAE,sBAAsB;QAC7C,qBAAqB,EAAE,sBAAsB;QAC7C,kBAAkB,EAAE,mBAAmB;QACvC,gBAAgB,EAAE,iBAAiB;QACnC,WAAW,EAAE,YAAY;KACe;IAC1C,8BAA8B,EAAE;QAC9B,mBAAmB,EAAE,oBAAoB;QACzC,eAAe,EAAE,gBAAgB;QACjC,iBAAiB,EAAE,kBAAkB;QACrC,eAAe,EAAE,gBAAgB;QACjC,mBAAmB,EAAE,oBAAoB;QACzC,OAAO,EAAE,QAAQ;QACjB,QAAQ,EAAE,SAAS;QACnB,cAAc,EAAE,eAAe;KACe;CACjD,CAAC"}
@@ -40,6 +40,22 @@ model NspConfigurationResource<
40
40
  Description extends valueof string = "A network security perimeter configuration resource."
41
41
  > is NetworkSecurityPerimeterConfiguration;
42
42
 
43
+ /**
44
+ * The name parameter for a network security perimeter configuration.
45
+ * @template KeyName The name of the network security perimeter configuration resource name parameter.
46
+ */
47
+ @Versioning.added(Versions.v5)
48
+ @Http.Private.includeInapplicableMetadataInPayload(false)
49
+ model NspConfigurationNameParameter<KeyName extends valueof string = "networkSecurityPerimeterConfigurationName"> {
50
+ /** The name for a network security perimeter configuration */
51
+ @path
52
+ @segment("networkSecurityPerimeterConfigurations")
53
+ @key(KeyName)
54
+ @minLength(1)
55
+ @maxLength(512)
56
+ networkSecurityPerimeterConfigurationName: string;
57
+ }
58
+
43
59
  /**
44
60
  * Operations over network security perimeter resources.
45
61
  * @template NspConfigurationResourceModel The type of the network security perimeter configuration resource. You must declare a network security perimeter configuration resource type in your provider namespace.
@@ -145,6 +161,7 @@ interface NspConfigurationOperations<
145
161
  * @template Error Optional. The error response, if non-standard.
146
162
  * @template OverrideResourceName Optional. The name of the network security perimeter configuration resource being operated on.
147
163
  */
164
+ #suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "Metching legacy API"
148
165
  @Versioning.added(Versions.v5)
149
166
  @autoRoute
150
167
  @doc("Get a {name} NetworkSecurityPerimeterConfiguration", ParentResource)
@@ -154,16 +171,109 @@ interface NspConfigurationOperations<
154
171
  ParentResource extends Foundations.SimpleResource,
155
172
  Resource extends NetworkSecurityPerimeterConfiguration = NspConfigurationResourceModel,
156
173
  BaseParameters = DefaultBaseParameters<ParentResource>,
157
- KeyName extends valueof string = NspConfigurationKeyName,
174
+ KeyName extends valueof string = "${NspConfigurationKeyName}",
158
175
  Parameters extends {} = {},
159
176
  Response extends {} = ArmResponse<Resource>,
160
177
  Error extends {} = ErrorResponse,
161
178
  OverrideResourceName extends valueof string = "${ResourceName}"
162
179
  > is ArmReadOperation<
163
180
  ResourceInstanceParameters<ParentResource, BaseParameters> &
164
- KeysOf<NetworkSecurityPerimeterConfigurationNameParameter> &
181
+ KeysOf<NspConfigurationNameParameter<KeyName>> &
165
182
  Parameters,
166
183
  Response,
167
184
  Error
168
185
  >;
186
+
187
+ /**
188
+ * @dev GET a network security perimeter configuration for a particular resource
189
+ * @template ParentResource the parent resource of the NspConfiguration
190
+ * @template Request The request body type
191
+ * @template Response The success response for the read operation
192
+ * @template Resource the NspConfiguration resource being read
193
+ * @template BaseParameters Optional. Allows overriding the operation parameters
194
+
195
+ * @template KeyName Optional. The NSP configuration resource name parameter. By default, this is `networkSecurityPerimeterConfigurationName`
196
+ * @template Parameters Optional. Additional parameters after the path parameters
197
+
198
+ * @template Error Optional. The error response, if non-standard.
199
+ * @template OverrideResourceName Optional. The name of the network security perimeter configuration resource being operated on.
200
+ * @template OptionalRequestBody Optional. Indicates if the request body is optional.
201
+ */
202
+ #suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "Metching legacy API"
203
+ @Versioning.added(Versions.v5)
204
+ @autoRoute
205
+ @Azure.ResourceManager.Private.enforceConstraint(ParentResource, Foundations.Resource)
206
+ @post
207
+ @returnsDoc("Azure operation completed successfully.")
208
+ @doc("Perform an action over {name} NetworkSecurityPerimeterConfiguration", ParentResource)
209
+ @builtInResourceOperation(ParentResource, Resource, "action", OverrideResourceName)
210
+ Action<
211
+ ParentResource extends Foundations.SimpleResource,
212
+ Request,
213
+ Response,
214
+ Resource extends NetworkSecurityPerimeterConfiguration = NspConfigurationResourceModel,
215
+ BaseParameters = DefaultBaseParameters<ParentResource>,
216
+ KeyName extends valueof string = "${NspConfigurationKeyName}",
217
+ Parameters extends TypeSpec.Reflection.Model = {},
218
+ Error extends TypeSpec.Reflection.Model = ErrorResponse,
219
+ OverrideResourceName extends valueof string = "${ResourceName}",
220
+ OptionalRequestBody extends valueof boolean = false
221
+ >(
222
+ ...ResourceInstanceParameters<ParentResource, BaseParameters>,
223
+ ...KeysOf<NspConfigurationNameParameter<KeyName>>,
224
+ ...Parameters,
225
+
226
+ @doc("The content of the action request")
227
+ @armBodyRoot(OptionalRequestBody)
228
+ body: Request,
229
+ ): Response | Error;
230
+
231
+ /**
232
+ * @dev GET a network security perimeter configuration for a particular resource
233
+ * @template ParentResource the parent resource of the NspConfiguration
234
+ * @template Request The request body type
235
+ * @template Response The success response for the read operation
236
+ * @template Resource the NspConfiguration resource being read
237
+ * @template BaseParameters Optional. Allows overriding the operation parameters
238
+ * @template KeyName Optional. The NSP configuration resource name parameter. By default, this is `networkSecurityPerimeterConfigurationName`
239
+ * @template Parameters Optional. Additional parameters after the path parameters
240
+ * @template LroHeaders Optional. The LRO headers for the accepted response
241
+ * @template Error Optional. The error response, if non-standard.
242
+ * @template OverrideResourceName Optional. The name of the network security perimeter configuration resource being operated on.
243
+ * @template OptionalRequestBody Optional. Indicates if the request body is optional.
244
+ */
245
+ #suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "Metching legacy API"
246
+ @Versioning.added(Versions.v5)
247
+ @autoRoute
248
+ @Azure.ResourceManager.Private.enforceConstraint(ParentResource, Foundations.Resource)
249
+ @post
250
+ @returnsDoc("Azure operation completed successfully.")
251
+ @doc("Perform an action over {name} NetworkSecurityPerimeterConfiguration", ParentResource)
252
+ @builtInResourceOperation(ParentResource, Resource, "action", OverrideResourceName)
253
+ ActionAsync<
254
+ ParentResource extends Foundations.SimpleResource,
255
+ Request extends TypeSpec.Reflection.Model,
256
+ Response extends TypeSpec.Reflection.Model,
257
+ Resource extends NetworkSecurityPerimeterConfiguration = NspConfigurationResourceModel,
258
+ BaseParameters = DefaultBaseParameters<ParentResource>,
259
+ KeyName extends valueof string = "${NspConfigurationKeyName}",
260
+ Parameters extends {} = {},
261
+ LroHeaders extends TypeSpec.Reflection.Model = ArmLroLocationHeader<
262
+ Azure.Core.StatusMonitorPollingOptions<ArmOperationStatus>,
263
+ Response,
264
+ string
265
+ > &
266
+ Azure.Core.Foundations.RetryAfterHeader,
267
+ Error extends {} = ErrorResponse,
268
+ OverrideResourceName extends valueof string = "${ResourceName}",
269
+ OptionalRequestBody extends valueof boolean = false
270
+ >(
271
+ ...ResourceInstanceParameters<ParentResource, BaseParameters>,
272
+ ...KeysOf<NspConfigurationNameParameter<KeyName>>,
273
+ ...Parameters,
274
+
275
+ @doc("The content of the action request")
276
+ @armBodyRoot(OptionalRequestBody)
277
+ body: Request,
278
+ ): ArmAcceptedLroResponse<"Resource operation accepted.", LroHeaders> | Response | Error;
169
279
  }
@@ -57,3 +57,44 @@ extern dec renamePathParameter(
57
57
  sourceParameterName: valueof string,
58
58
  targetParameterName: valueof string
59
59
  );
60
+
61
+ /**
62
+ * Options for defining a feature and the associated file
63
+ */
64
+ model ArmFeatureOptions {
65
+ /** The feature name */
66
+ featureName: string;
67
+
68
+ /** The associated file name for the features */
69
+ fileName: string;
70
+
71
+ /** The feature description in Swagger */
72
+ description: string;
73
+
74
+ /** The feature title in Swagger */
75
+ title?: string;
76
+
77
+ /** The feature terms of service in Swagger */
78
+ termsOfService?: string;
79
+ }
80
+
81
+ /**
82
+ * Decorator to define a set of features
83
+ * @param target The service namespace
84
+ * @param features The enum that contains the features
85
+ */
86
+ extern dec features(target: Namespace, features: Enum);
87
+
88
+ /**
89
+ * Decorator to define options for a specific feature
90
+ * @param target The enum member that represents the feature
91
+ * @param options The options for the feature
92
+ */
93
+ extern dec featureOptions(target: EnumMember, options: valueof ArmFeatureOptions);
94
+
95
+ /**
96
+ * Decorator to associate a feature with a model, interface, or namespace
97
+ * @param target The target to associate the feature with
98
+ * @param featureName The feature to associate with the target
99
+ */
100
+ extern dec feature(target: Model | Interface | Namespace, featureName: EnumMember);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@azure-tools/typespec-azure-resource-manager",
3
- "version": "0.64.0-dev.1",
3
+ "version": "0.64.0-dev.3",
4
4
  "author": "Microsoft Corporation",
5
5
  "description": "TypeSpec Azure Resource Manager library",
6
6
  "homepage": "https://azure.github.io/typespec-azure",