@azure/arm-extendedlocation 1.0.0-beta.1 → 1.0.0-beta.2

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.
Files changed (129) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/LICENSE +1 -1
  3. package/README.md +23 -8
  4. package/dist/index.js +806 -83
  5. package/dist/index.js.map +1 -1
  6. package/dist/index.min.js +1 -1
  7. package/dist/index.min.js.map +1 -1
  8. package/dist-esm/samples-dev/customLocationsCreateOrUpdateSample.d.ts +2 -0
  9. package/dist-esm/samples-dev/customLocationsCreateOrUpdateSample.d.ts.map +1 -0
  10. package/dist-esm/samples-dev/customLocationsCreateOrUpdateSample.js +42 -0
  11. package/dist-esm/samples-dev/customLocationsCreateOrUpdateSample.js.map +1 -0
  12. package/dist-esm/samples-dev/customLocationsDeleteSample.d.ts +2 -0
  13. package/dist-esm/samples-dev/customLocationsDeleteSample.d.ts.map +1 -0
  14. package/dist-esm/samples-dev/customLocationsDeleteSample.js +31 -0
  15. package/dist-esm/samples-dev/customLocationsDeleteSample.js.map +1 -0
  16. package/dist-esm/samples-dev/customLocationsFindTargetResourceGroupSample.d.ts +2 -0
  17. package/dist-esm/samples-dev/customLocationsFindTargetResourceGroupSample.d.ts.map +1 -0
  18. package/dist-esm/samples-dev/customLocationsFindTargetResourceGroupSample.js +34 -0
  19. package/dist-esm/samples-dev/customLocationsFindTargetResourceGroupSample.js.map +1 -0
  20. package/dist-esm/samples-dev/customLocationsGetSample.d.ts +2 -0
  21. package/dist-esm/samples-dev/customLocationsGetSample.d.ts.map +1 -0
  22. package/dist-esm/samples-dev/customLocationsGetSample.js +31 -0
  23. package/dist-esm/samples-dev/customLocationsGetSample.js.map +1 -0
  24. package/dist-esm/samples-dev/customLocationsListByResourceGroupSample.d.ts +2 -0
  25. package/dist-esm/samples-dev/customLocationsListByResourceGroupSample.d.ts.map +1 -0
  26. package/dist-esm/samples-dev/customLocationsListByResourceGroupSample.js +44 -0
  27. package/dist-esm/samples-dev/customLocationsListByResourceGroupSample.js.map +1 -0
  28. package/dist-esm/samples-dev/customLocationsListBySubscriptionSample.d.ts +2 -0
  29. package/dist-esm/samples-dev/customLocationsListBySubscriptionSample.d.ts.map +1 -0
  30. package/dist-esm/samples-dev/customLocationsListBySubscriptionSample.js +43 -0
  31. package/dist-esm/samples-dev/customLocationsListBySubscriptionSample.js.map +1 -0
  32. package/dist-esm/samples-dev/customLocationsListEnabledResourceTypesSample.d.ts +2 -0
  33. package/dist-esm/samples-dev/customLocationsListEnabledResourceTypesSample.d.ts.map +1 -0
  34. package/dist-esm/samples-dev/customLocationsListEnabledResourceTypesSample.js +45 -0
  35. package/dist-esm/samples-dev/customLocationsListEnabledResourceTypesSample.js.map +1 -0
  36. package/dist-esm/samples-dev/customLocationsListOperationsSample.d.ts +2 -0
  37. package/dist-esm/samples-dev/customLocationsListOperationsSample.d.ts.map +1 -0
  38. package/dist-esm/samples-dev/customLocationsListOperationsSample.js +43 -0
  39. package/dist-esm/samples-dev/customLocationsListOperationsSample.js.map +1 -0
  40. package/dist-esm/samples-dev/customLocationsUpdateSample.d.ts +2 -0
  41. package/dist-esm/samples-dev/customLocationsUpdateSample.d.ts.map +1 -0
  42. package/dist-esm/samples-dev/customLocationsUpdateSample.js +34 -0
  43. package/dist-esm/samples-dev/customLocationsUpdateSample.js.map +1 -0
  44. package/dist-esm/samples-dev/resourceSyncRulesCreateOrUpdateSample.d.ts +2 -0
  45. package/dist-esm/samples-dev/resourceSyncRulesCreateOrUpdateSample.d.ts.map +1 -0
  46. package/dist-esm/samples-dev/resourceSyncRulesCreateOrUpdateSample.js +41 -0
  47. package/dist-esm/samples-dev/resourceSyncRulesCreateOrUpdateSample.js.map +1 -0
  48. package/dist-esm/samples-dev/resourceSyncRulesDeleteSample.d.ts +2 -0
  49. package/dist-esm/samples-dev/resourceSyncRulesDeleteSample.d.ts.map +1 -0
  50. package/dist-esm/samples-dev/resourceSyncRulesDeleteSample.js +32 -0
  51. package/dist-esm/samples-dev/resourceSyncRulesDeleteSample.js.map +1 -0
  52. package/dist-esm/samples-dev/resourceSyncRulesGetSample.d.ts +2 -0
  53. package/dist-esm/samples-dev/resourceSyncRulesGetSample.d.ts.map +1 -0
  54. package/dist-esm/samples-dev/resourceSyncRulesGetSample.js +32 -0
  55. package/dist-esm/samples-dev/resourceSyncRulesGetSample.js.map +1 -0
  56. package/dist-esm/samples-dev/resourceSyncRulesListByCustomLocationIdSample.d.ts +2 -0
  57. package/dist-esm/samples-dev/resourceSyncRulesListByCustomLocationIdSample.d.ts.map +1 -0
  58. package/dist-esm/samples-dev/resourceSyncRulesListByCustomLocationIdSample.js +45 -0
  59. package/dist-esm/samples-dev/resourceSyncRulesListByCustomLocationIdSample.js.map +1 -0
  60. package/dist-esm/samples-dev/resourceSyncRulesUpdateSample.d.ts +2 -0
  61. package/dist-esm/samples-dev/resourceSyncRulesUpdateSample.d.ts.map +1 -0
  62. package/dist-esm/samples-dev/resourceSyncRulesUpdateSample.js +34 -0
  63. package/dist-esm/samples-dev/resourceSyncRulesUpdateSample.js.map +1 -0
  64. package/dist-esm/src/customLocationsManagementClient.d.ts +9 -3
  65. package/dist-esm/src/customLocationsManagementClient.d.ts.map +1 -1
  66. package/dist-esm/src/customLocationsManagementClient.js +81 -4
  67. package/dist-esm/src/customLocationsManagementClient.js.map +1 -1
  68. package/dist-esm/src/index.d.ts +0 -1
  69. package/dist-esm/src/index.d.ts.map +1 -1
  70. package/dist-esm/src/index.js +0 -1
  71. package/dist-esm/src/index.js.map +1 -1
  72. package/dist-esm/src/models/index.d.ts +172 -25
  73. package/dist-esm/src/models/index.d.ts.map +1 -1
  74. package/dist-esm/src/models/index.js +7 -0
  75. package/dist-esm/src/models/index.js.map +1 -1
  76. package/dist-esm/src/models/mappers.d.ts +8 -1
  77. package/dist-esm/src/models/mappers.d.ts.map +1 -1
  78. package/dist-esm/src/models/mappers.js +228 -29
  79. package/dist-esm/src/models/mappers.js.map +1 -1
  80. package/dist-esm/src/models/parameters.d.ts +7 -0
  81. package/dist-esm/src/models/parameters.d.ts.map +1 -1
  82. package/dist-esm/src/models/parameters.js +41 -2
  83. package/dist-esm/src/models/parameters.js.map +1 -1
  84. package/dist-esm/src/operations/customLocations.d.ts +12 -3
  85. package/dist-esm/src/operations/customLocations.d.ts.map +1 -1
  86. package/dist-esm/src/operations/customLocations.js +41 -2
  87. package/dist-esm/src/operations/customLocations.js.map +1 -1
  88. package/dist-esm/src/operations/index.d.ts +1 -0
  89. package/dist-esm/src/operations/index.d.ts.map +1 -1
  90. package/dist-esm/src/operations/index.js +1 -0
  91. package/dist-esm/src/operations/index.js.map +1 -1
  92. package/dist-esm/src/operations/resourceSyncRules.d.ts +97 -0
  93. package/dist-esm/src/operations/resourceSyncRules.d.ts.map +1 -0
  94. package/dist-esm/src/operations/resourceSyncRules.js +400 -0
  95. package/dist-esm/src/operations/resourceSyncRules.js.map +1 -0
  96. package/dist-esm/src/operationsInterfaces/customLocations.d.ts +10 -1
  97. package/dist-esm/src/operationsInterfaces/customLocations.d.ts.map +1 -1
  98. package/dist-esm/src/operationsInterfaces/index.d.ts +1 -0
  99. package/dist-esm/src/operationsInterfaces/index.d.ts.map +1 -1
  100. package/dist-esm/src/operationsInterfaces/index.js +1 -0
  101. package/dist-esm/src/operationsInterfaces/index.js.map +1 -1
  102. package/dist-esm/src/operationsInterfaces/resourceSyncRules.d.ts +71 -0
  103. package/dist-esm/src/operationsInterfaces/resourceSyncRules.d.ts.map +1 -0
  104. package/dist-esm/src/operationsInterfaces/resourceSyncRules.js +9 -0
  105. package/dist-esm/src/operationsInterfaces/resourceSyncRules.js.map +1 -0
  106. package/dist-esm/test/sampleTest.js +11 -13
  107. package/dist-esm/test/sampleTest.js.map +1 -1
  108. package/package.json +54 -25
  109. package/review/arm-extendedlocation.api.md +139 -27
  110. package/rollup.config.js +6 -72
  111. package/src/customLocationsManagementClient.ts +109 -5
  112. package/src/index.ts +0 -1
  113. package/src/models/index.ts +186 -26
  114. package/src/models/mappers.ts +243 -30
  115. package/src/models/parameters.ts +53 -2
  116. package/src/operations/customLocations.ts +57 -5
  117. package/src/operations/index.ts +1 -0
  118. package/src/operations/resourceSyncRules.ts +562 -0
  119. package/src/operationsInterfaces/customLocations.ts +18 -1
  120. package/src/operationsInterfaces/index.ts +1 -0
  121. package/src/operationsInterfaces/resourceSyncRules.ts +136 -0
  122. package/tsconfig.json +19 -5
  123. package/types/arm-extendedlocation.d.ts +257 -20
  124. package/types/tsdoc-metadata.json +1 -1
  125. package/dist-esm/src/customLocationsManagementClientContext.d.ts +0 -16
  126. package/dist-esm/src/customLocationsManagementClientContext.d.ts.map +0 -1
  127. package/dist-esm/src/customLocationsManagementClientContext.js +0 -49
  128. package/dist-esm/src/customLocationsManagementClientContext.js.map +0 -1
  129. package/src/customLocationsManagementClientContext.ts +0 -70
@@ -118,25 +118,6 @@ export interface CustomLocationListResult {
118
118
  readonly value?: CustomLocation[];
119
119
  }
120
120
 
121
- /** Common fields that are returned in the response for all Azure Resource Manager resources */
122
- export interface Resource {
123
- /**
124
- * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
125
- * NOTE: This property will not be serialized. It can only be populated by the server.
126
- */
127
- readonly id?: string;
128
- /**
129
- * The name of the resource
130
- * NOTE: This property will not be serialized. It can only be populated by the server.
131
- */
132
- readonly name?: string;
133
- /**
134
- * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
135
- * NOTE: This property will not be serialized. It can only be populated by the server.
136
- */
137
- readonly type?: string;
138
- }
139
-
140
121
  /** Identity for the resource. */
141
122
  export interface Identity {
142
123
  /**
@@ -177,6 +158,25 @@ export interface SystemData {
177
158
  lastModifiedAt?: Date;
178
159
  }
179
160
 
161
+ /** Common fields that are returned in the response for all Azure Resource Manager resources */
162
+ export interface Resource {
163
+ /**
164
+ * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
165
+ * NOTE: This property will not be serialized. It can only be populated by the server.
166
+ */
167
+ readonly id?: string;
168
+ /**
169
+ * The name of the resource
170
+ * NOTE: This property will not be serialized. It can only be populated by the server.
171
+ */
172
+ readonly name?: string;
173
+ /**
174
+ * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
175
+ * NOTE: This property will not be serialized. It can only be populated by the server.
176
+ */
177
+ readonly type?: string;
178
+ }
179
+
180
180
  /** The Custom Locations patchable resource definition. */
181
181
  export interface PatchableCustomLocations {
182
182
  /** Identity for the resource. */
@@ -223,19 +223,88 @@ export interface EnabledResourceTypePropertiesTypesMetadataItem {
223
223
  resourceType?: string;
224
224
  }
225
225
 
226
+ /** The Find Target Resource Group operation request. */
227
+ export interface CustomLocationFindTargetResourceGroupProperties {
228
+ /** Labels of the custom resource, this is a map of {key,value} pairs. */
229
+ labels?: { [propertyName: string]: string };
230
+ }
231
+
232
+ /** The Find Target Resource Group operation response. */
233
+ export interface CustomLocationFindTargetResourceGroupResult {
234
+ /**
235
+ * The matching resource sync rule is the particular resource sync rule that matched the match expressions and labels and had lowest priority. This is the rule responsible for mapping the target resource to the target resource group.
236
+ * NOTE: This property will not be serialized. It can only be populated by the server.
237
+ */
238
+ readonly matchedResourceSyncRule?: string;
239
+ /**
240
+ * The target resource group of matching resource sync rule. The labels from the request will be used to find out matching resource sync rule against the selector property of the resource sync rule. The one with highest priority will be returned if there are multiple matching rules.
241
+ * NOTE: This property will not be serialized. It can only be populated by the server.
242
+ */
243
+ readonly targetResourceGroup?: string;
244
+ }
245
+
246
+ /** The List Resource Sync Rules operation response. */
247
+ export interface ResourceSyncRuleListResult {
248
+ /**
249
+ * The URL to use for getting the next set of results.
250
+ * NOTE: This property will not be serialized. It can only be populated by the server.
251
+ */
252
+ readonly nextLink?: string;
253
+ /**
254
+ * The list of Resource Sync Rules.
255
+ * NOTE: This property will not be serialized. It can only be populated by the server.
256
+ */
257
+ readonly value?: ResourceSyncRule[];
258
+ }
259
+
260
+ /** A label selector is composed of two parts, matchLabels and matchExpressions. The first part, matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is 'key', the operator is 'In', and the values array contains only 'value'. The second part, matchExpressions is a list of resource selector requirements. Valid operators include In, NotIn, Exists, and DoesNotExist. The values set must be non-empty in the case of In and NotIn. The values set must be empty in the case of Exists and DoesNotExist. All of the requirements, from both matchLabels and matchExpressions must all be satisfied in order to match. */
261
+ export interface ResourceSyncRulePropertiesSelector {
262
+ /** MatchExpressions is a list of resource selector requirements. Valid operators include In, NotIn, Exists, and DoesNotExist. The values set must be non-empty in the case of In and NotIn. The values set must be empty in the case of Exists and DoesNotExist. */
263
+ matchExpressions?: MatchExpressionsProperties[];
264
+ /** MatchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is 'key', the operator is 'In', and the values array contains only 'value'. */
265
+ matchLabels?: { [propertyName: string]: string };
266
+ }
267
+
268
+ /** Resource Sync Rules matchExpression property definition. */
269
+ export interface MatchExpressionsProperties {
270
+ /** Key is the label key that the selector applies to. */
271
+ key?: string;
272
+ /** The Operator field represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. */
273
+ operator?: string;
274
+ /** The label value */
275
+ values?: string[];
276
+ }
277
+
278
+ /** The Resource Sync Rules patchable resource definition. */
279
+ export interface PatchableResourceSyncRule {
280
+ /** Resource tags */
281
+ tags?: { [propertyName: string]: string };
282
+ /** Priority represents a priority of the Resource Sync Rule */
283
+ priority?: number;
284
+ /**
285
+ * Provisioning State for the Resource Sync Rule.
286
+ * NOTE: This property will not be serialized. It can only be populated by the server.
287
+ */
288
+ readonly provisioningState?: string;
289
+ /** A label selector is composed of two parts, matchLabels and matchExpressions. The first part, matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is 'key', the operator is 'In', and the values array contains only 'value'. The second part, matchExpressions is a list of resource selector requirements. Valid operators include In, NotIn, Exists, and DoesNotExist. The values set must be non-empty in the case of In and NotIn. The values set must be empty in the case of Exists and DoesNotExist. All of the requirements, from both matchLabels and matchExpressions must all be satisfied in order to match. */
290
+ selector?: ResourceSyncRulePropertiesSelector;
291
+ /** For an unmapped custom resource, its labels will be used to find matching resource sync rules. If this resource sync rule is one of the matching rules with highest priority, then the unmapped custom resource will be projected to the target resource group associated with this resource sync rule. The user creating this resource sync rule should have write permissions on the target resource group and this write permission will be validated when creating the resource sync rule. */
292
+ targetResourceGroup?: string;
293
+ }
294
+
226
295
  /** The resource model definition for an Azure Resource Manager tracked top level resource which has 'tags' and a 'location' */
227
- export type TrackedResource = Resource & {
296
+ export interface TrackedResource extends Resource {
228
297
  /** Resource tags. */
229
298
  tags?: { [propertyName: string]: string };
230
299
  /** The geo-location where the resource lives */
231
300
  location: string;
232
- };
301
+ }
233
302
 
234
303
  /** The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location */
235
- export type ProxyResource = Resource & {};
304
+ export interface ProxyResource extends Resource {}
236
305
 
237
306
  /** Custom Locations definition. */
238
- export type CustomLocation = TrackedResource & {
307
+ export interface CustomLocation extends TrackedResource {
239
308
  /** Identity for the resource. */
240
309
  identity?: Identity;
241
310
  /**
@@ -257,10 +326,30 @@ export type CustomLocation = TrackedResource & {
257
326
  namespace?: string;
258
327
  /** Provisioning State for the Custom Location. */
259
328
  provisioningState?: string;
260
- };
329
+ }
330
+
331
+ /** Resource Sync Rules definition. */
332
+ export interface ResourceSyncRule extends TrackedResource {
333
+ /**
334
+ * Metadata pertaining to creation and last modification of the resource
335
+ * NOTE: This property will not be serialized. It can only be populated by the server.
336
+ */
337
+ readonly systemData?: SystemData;
338
+ /** Priority represents a priority of the Resource Sync Rule */
339
+ priority?: number;
340
+ /**
341
+ * Provisioning State for the Resource Sync Rule.
342
+ * NOTE: This property will not be serialized. It can only be populated by the server.
343
+ */
344
+ readonly provisioningState?: string;
345
+ /** A label selector is composed of two parts, matchLabels and matchExpressions. The first part, matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is 'key', the operator is 'In', and the values array contains only 'value'. The second part, matchExpressions is a list of resource selector requirements. Valid operators include In, NotIn, Exists, and DoesNotExist. The values set must be non-empty in the case of In and NotIn. The values set must be empty in the case of Exists and DoesNotExist. All of the requirements, from both matchLabels and matchExpressions must all be satisfied in order to match. */
346
+ selector?: ResourceSyncRulePropertiesSelector;
347
+ /** For an unmapped custom resource, its labels will be used to find matching resource sync rules. If this resource sync rule is one of the matching rules with highest priority, then the unmapped custom resource will be projected to the target resource group associated with this resource sync rule. The user creating this resource sync rule should have write permissions on the target resource group and this write permission will be validated when creating the resource sync rule. */
348
+ targetResourceGroup?: string;
349
+ }
261
350
 
262
351
  /** EnabledResourceType definition. */
263
- export type EnabledResourceType = ProxyResource & {
352
+ export interface EnabledResourceType extends ProxyResource {
264
353
  /**
265
354
  * Metadata pertaining to creation and last modification of the resource
266
355
  * NOTE: This property will not be serialized. It can only be populated by the server.
@@ -272,11 +361,13 @@ export type EnabledResourceType = ProxyResource & {
272
361
  extensionType?: string;
273
362
  /** Metadata of the Resource Type */
274
363
  typesMetadata?: EnabledResourceTypePropertiesTypesMetadataItem[];
275
- };
364
+ }
276
365
 
277
366
  /** Known values of {@link ResourceIdentityType} that the service accepts. */
278
367
  export enum KnownResourceIdentityType {
368
+ /** SystemAssigned */
279
369
  SystemAssigned = "SystemAssigned",
370
+ /** None */
280
371
  None = "None"
281
372
  }
282
373
 
@@ -292,6 +383,7 @@ export type ResourceIdentityType = string;
292
383
 
293
384
  /** Known values of {@link HostType} that the service accepts. */
294
385
  export enum KnownHostType {
386
+ /** Kubernetes */
295
387
  Kubernetes = "Kubernetes"
296
388
  }
297
389
 
@@ -306,9 +398,13 @@ export type HostType = string;
306
398
 
307
399
  /** Known values of {@link CreatedByType} that the service accepts. */
308
400
  export enum KnownCreatedByType {
401
+ /** User */
309
402
  User = "User",
403
+ /** Application */
310
404
  Application = "Application",
405
+ /** ManagedIdentity */
311
406
  ManagedIdentity = "ManagedIdentity",
407
+ /** Key */
312
408
  Key = "Key"
313
409
  }
314
410
 
@@ -406,6 +502,13 @@ export interface CustomLocationsListEnabledResourceTypesOptionalParams
406
502
  /** Contains response data for the listEnabledResourceTypes operation. */
407
503
  export type CustomLocationsListEnabledResourceTypesResponse = EnabledResourceTypesListResult;
408
504
 
505
+ /** Optional parameters. */
506
+ export interface CustomLocationsFindTargetResourceGroupOptionalParams
507
+ extends coreClient.OperationOptions {}
508
+
509
+ /** Contains response data for the findTargetResourceGroup operation. */
510
+ export type CustomLocationsFindTargetResourceGroupResponse = CustomLocationFindTargetResourceGroupResult;
511
+
409
512
  /** Optional parameters. */
410
513
  export interface CustomLocationsListOperationsNextOptionalParams
411
514
  extends coreClient.OperationOptions {}
@@ -434,6 +537,63 @@ export interface CustomLocationsListEnabledResourceTypesNextOptionalParams
434
537
  /** Contains response data for the listEnabledResourceTypesNext operation. */
435
538
  export type CustomLocationsListEnabledResourceTypesNextResponse = EnabledResourceTypesListResult;
436
539
 
540
+ /** Optional parameters. */
541
+ export interface ResourceSyncRulesListByCustomLocationIDOptionalParams
542
+ extends coreClient.OperationOptions {}
543
+
544
+ /** Contains response data for the listByCustomLocationID operation. */
545
+ export type ResourceSyncRulesListByCustomLocationIDResponse = ResourceSyncRuleListResult;
546
+
547
+ /** Optional parameters. */
548
+ export interface ResourceSyncRulesGetOptionalParams
549
+ extends coreClient.OperationOptions {}
550
+
551
+ /** Contains response data for the get operation. */
552
+ export type ResourceSyncRulesGetResponse = ResourceSyncRule;
553
+
554
+ /** Optional parameters. */
555
+ export interface ResourceSyncRulesCreateOrUpdateOptionalParams
556
+ extends coreClient.OperationOptions {
557
+ /** Delay to wait until next poll, in milliseconds. */
558
+ updateIntervalInMs?: number;
559
+ /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */
560
+ resumeFrom?: string;
561
+ }
562
+
563
+ /** Contains response data for the createOrUpdate operation. */
564
+ export type ResourceSyncRulesCreateOrUpdateResponse = ResourceSyncRule;
565
+
566
+ /** Optional parameters. */
567
+ export interface ResourceSyncRulesDeleteOptionalParams
568
+ extends coreClient.OperationOptions {}
569
+
570
+ /** Optional parameters. */
571
+ export interface ResourceSyncRulesUpdateOptionalParams
572
+ extends coreClient.OperationOptions {
573
+ /** Resource tags */
574
+ tags?: { [propertyName: string]: string };
575
+ /** Priority represents a priority of the Resource Sync Rule */
576
+ priority?: number;
577
+ /** A label selector is composed of two parts, matchLabels and matchExpressions. The first part, matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is 'key', the operator is 'In', and the values array contains only 'value'. The second part, matchExpressions is a list of resource selector requirements. Valid operators include In, NotIn, Exists, and DoesNotExist. The values set must be non-empty in the case of In and NotIn. The values set must be empty in the case of Exists and DoesNotExist. All of the requirements, from both matchLabels and matchExpressions must all be satisfied in order to match. */
578
+ selector?: ResourceSyncRulePropertiesSelector;
579
+ /** For an unmapped custom resource, its labels will be used to find matching resource sync rules. If this resource sync rule is one of the matching rules with highest priority, then the unmapped custom resource will be projected to the target resource group associated with this resource sync rule. The user creating this resource sync rule should have write permissions on the target resource group and this write permission will be validated when creating the resource sync rule. */
580
+ targetResourceGroup?: string;
581
+ /** Delay to wait until next poll, in milliseconds. */
582
+ updateIntervalInMs?: number;
583
+ /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */
584
+ resumeFrom?: string;
585
+ }
586
+
587
+ /** Contains response data for the update operation. */
588
+ export type ResourceSyncRulesUpdateResponse = ResourceSyncRule;
589
+
590
+ /** Optional parameters. */
591
+ export interface ResourceSyncRulesListByCustomLocationIDNextOptionalParams
592
+ extends coreClient.OperationOptions {}
593
+
594
+ /** Contains response data for the listByCustomLocationIDNext operation. */
595
+ export type ResourceSyncRulesListByCustomLocationIDNextResponse = ResourceSyncRuleListResult;
596
+
437
597
  /** Optional parameters. */
438
598
  export interface CustomLocationsManagementClientOptionalParams
439
599
  extends coreClient.ServiceClientOptions {
@@ -219,36 +219,6 @@ export const CustomLocationListResult: coreClient.CompositeMapper = {
219
219
  }
220
220
  };
221
221
 
222
- export const Resource: coreClient.CompositeMapper = {
223
- type: {
224
- name: "Composite",
225
- className: "Resource",
226
- modelProperties: {
227
- id: {
228
- serializedName: "id",
229
- readOnly: true,
230
- type: {
231
- name: "String"
232
- }
233
- },
234
- name: {
235
- serializedName: "name",
236
- readOnly: true,
237
- type: {
238
- name: "String"
239
- }
240
- },
241
- type: {
242
- serializedName: "type",
243
- readOnly: true,
244
- type: {
245
- name: "String"
246
- }
247
- }
248
- }
249
- }
250
- };
251
-
252
222
  export const Identity: coreClient.CompositeMapper = {
253
223
  type: {
254
224
  name: "Composite",
@@ -344,6 +314,36 @@ export const SystemData: coreClient.CompositeMapper = {
344
314
  }
345
315
  };
346
316
 
317
+ export const Resource: coreClient.CompositeMapper = {
318
+ type: {
319
+ name: "Composite",
320
+ className: "Resource",
321
+ modelProperties: {
322
+ id: {
323
+ serializedName: "id",
324
+ readOnly: true,
325
+ type: {
326
+ name: "String"
327
+ }
328
+ },
329
+ name: {
330
+ serializedName: "name",
331
+ readOnly: true,
332
+ type: {
333
+ name: "String"
334
+ }
335
+ },
336
+ type: {
337
+ serializedName: "type",
338
+ readOnly: true,
339
+ type: {
340
+ name: "String"
341
+ }
342
+ }
343
+ }
344
+ }
345
+ };
346
+
347
347
  export const PatchableCustomLocations: coreClient.CompositeMapper = {
348
348
  type: {
349
349
  name: "Composite",
@@ -471,6 +471,176 @@ export const EnabledResourceTypePropertiesTypesMetadataItem: coreClient.Composit
471
471
  }
472
472
  };
473
473
 
474
+ export const CustomLocationFindTargetResourceGroupProperties: coreClient.CompositeMapper = {
475
+ type: {
476
+ name: "Composite",
477
+ className: "CustomLocationFindTargetResourceGroupProperties",
478
+ modelProperties: {
479
+ labels: {
480
+ serializedName: "labels",
481
+ type: {
482
+ name: "Dictionary",
483
+ value: { type: { name: "String" } }
484
+ }
485
+ }
486
+ }
487
+ }
488
+ };
489
+
490
+ export const CustomLocationFindTargetResourceGroupResult: coreClient.CompositeMapper = {
491
+ type: {
492
+ name: "Composite",
493
+ className: "CustomLocationFindTargetResourceGroupResult",
494
+ modelProperties: {
495
+ matchedResourceSyncRule: {
496
+ serializedName: "matchedResourceSyncRule",
497
+ readOnly: true,
498
+ type: {
499
+ name: "String"
500
+ }
501
+ },
502
+ targetResourceGroup: {
503
+ serializedName: "targetResourceGroup",
504
+ readOnly: true,
505
+ type: {
506
+ name: "String"
507
+ }
508
+ }
509
+ }
510
+ }
511
+ };
512
+
513
+ export const ResourceSyncRuleListResult: coreClient.CompositeMapper = {
514
+ type: {
515
+ name: "Composite",
516
+ className: "ResourceSyncRuleListResult",
517
+ modelProperties: {
518
+ nextLink: {
519
+ serializedName: "nextLink",
520
+ readOnly: true,
521
+ type: {
522
+ name: "String"
523
+ }
524
+ },
525
+ value: {
526
+ serializedName: "value",
527
+ readOnly: true,
528
+ type: {
529
+ name: "Sequence",
530
+ element: {
531
+ type: {
532
+ name: "Composite",
533
+ className: "ResourceSyncRule"
534
+ }
535
+ }
536
+ }
537
+ }
538
+ }
539
+ }
540
+ };
541
+
542
+ export const ResourceSyncRulePropertiesSelector: coreClient.CompositeMapper = {
543
+ type: {
544
+ name: "Composite",
545
+ className: "ResourceSyncRulePropertiesSelector",
546
+ modelProperties: {
547
+ matchExpressions: {
548
+ serializedName: "matchExpressions",
549
+ type: {
550
+ name: "Sequence",
551
+ element: {
552
+ type: {
553
+ name: "Composite",
554
+ className: "MatchExpressionsProperties"
555
+ }
556
+ }
557
+ }
558
+ },
559
+ matchLabels: {
560
+ serializedName: "matchLabels",
561
+ type: {
562
+ name: "Dictionary",
563
+ value: { type: { name: "String" } }
564
+ }
565
+ }
566
+ }
567
+ }
568
+ };
569
+
570
+ export const MatchExpressionsProperties: coreClient.CompositeMapper = {
571
+ type: {
572
+ name: "Composite",
573
+ className: "MatchExpressionsProperties",
574
+ modelProperties: {
575
+ key: {
576
+ serializedName: "key",
577
+ type: {
578
+ name: "String"
579
+ }
580
+ },
581
+ operator: {
582
+ serializedName: "operator",
583
+ type: {
584
+ name: "String"
585
+ }
586
+ },
587
+ values: {
588
+ serializedName: "values",
589
+ type: {
590
+ name: "Sequence",
591
+ element: {
592
+ type: {
593
+ name: "String"
594
+ }
595
+ }
596
+ }
597
+ }
598
+ }
599
+ }
600
+ };
601
+
602
+ export const PatchableResourceSyncRule: coreClient.CompositeMapper = {
603
+ type: {
604
+ name: "Composite",
605
+ className: "PatchableResourceSyncRule",
606
+ modelProperties: {
607
+ tags: {
608
+ serializedName: "tags",
609
+ type: {
610
+ name: "Dictionary",
611
+ value: { type: { name: "String" } }
612
+ }
613
+ },
614
+ priority: {
615
+ serializedName: "properties.priority",
616
+ type: {
617
+ name: "Number"
618
+ }
619
+ },
620
+ provisioningState: {
621
+ serializedName: "properties.provisioningState",
622
+ readOnly: true,
623
+ type: {
624
+ name: "String"
625
+ }
626
+ },
627
+ selector: {
628
+ serializedName: "properties.selector",
629
+ type: {
630
+ name: "Composite",
631
+ className: "ResourceSyncRulePropertiesSelector"
632
+ }
633
+ },
634
+ targetResourceGroup: {
635
+ serializedName: "properties.targetResourceGroup",
636
+ type: {
637
+ name: "String"
638
+ }
639
+ }
640
+ }
641
+ }
642
+ };
643
+
474
644
  export const TrackedResource: coreClient.CompositeMapper = {
475
645
  type: {
476
646
  name: "Composite",
@@ -577,6 +747,49 @@ export const CustomLocation: coreClient.CompositeMapper = {
577
747
  }
578
748
  };
579
749
 
750
+ export const ResourceSyncRule: coreClient.CompositeMapper = {
751
+ type: {
752
+ name: "Composite",
753
+ className: "ResourceSyncRule",
754
+ modelProperties: {
755
+ ...TrackedResource.type.modelProperties,
756
+ systemData: {
757
+ serializedName: "systemData",
758
+ type: {
759
+ name: "Composite",
760
+ className: "SystemData"
761
+ }
762
+ },
763
+ priority: {
764
+ serializedName: "properties.priority",
765
+ type: {
766
+ name: "Number"
767
+ }
768
+ },
769
+ provisioningState: {
770
+ serializedName: "properties.provisioningState",
771
+ readOnly: true,
772
+ type: {
773
+ name: "String"
774
+ }
775
+ },
776
+ selector: {
777
+ serializedName: "properties.selector",
778
+ type: {
779
+ name: "Composite",
780
+ className: "ResourceSyncRulePropertiesSelector"
781
+ }
782
+ },
783
+ targetResourceGroup: {
784
+ serializedName: "properties.targetResourceGroup",
785
+ type: {
786
+ name: "String"
787
+ }
788
+ }
789
+ }
790
+ }
791
+ };
792
+
580
793
  export const EnabledResourceType: coreClient.CompositeMapper = {
581
794
  type: {
582
795
  name: "Composite",
@@ -13,7 +13,10 @@ import {
13
13
  } from "@azure/core-client";
14
14
  import {
15
15
  CustomLocation as CustomLocationMapper,
16
- PatchableCustomLocations as PatchableCustomLocationsMapper
16
+ PatchableCustomLocations as PatchableCustomLocationsMapper,
17
+ CustomLocationFindTargetResourceGroupProperties as CustomLocationFindTargetResourceGroupPropertiesMapper,
18
+ ResourceSyncRule as ResourceSyncRuleMapper,
19
+ PatchableResourceSyncRule as PatchableResourceSyncRuleMapper
17
20
  } from "../models/mappers";
18
21
 
19
22
  export const accept: OperationParameter = {
@@ -43,7 +46,7 @@ export const $host: OperationURLParameter = {
43
46
  export const apiVersion: OperationQueryParameter = {
44
47
  parameterPath: "apiVersion",
45
48
  mapper: {
46
- defaultValue: "2021-08-15",
49
+ defaultValue: "2021-08-31-preview",
47
50
  isConstant: true,
48
51
  serializedName: "api-version",
49
52
  type: {
@@ -161,6 +164,11 @@ export const provisioningState: OperationParameter = {
161
164
  mapper: PatchableCustomLocationsMapper
162
165
  };
163
166
 
167
+ export const parameters2: OperationParameter = {
168
+ parameterPath: "parameters",
169
+ mapper: CustomLocationFindTargetResourceGroupPropertiesMapper
170
+ };
171
+
164
172
  export const nextLink: OperationURLParameter = {
165
173
  parameterPath: "nextLink",
166
174
  mapper: {
@@ -172,3 +180,46 @@ export const nextLink: OperationURLParameter = {
172
180
  },
173
181
  skipEncoding: true
174
182
  };
183
+
184
+ export const childResourceName: OperationURLParameter = {
185
+ parameterPath: "childResourceName",
186
+ mapper: {
187
+ constraints: {
188
+ Pattern: new RegExp(
189
+ "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$"
190
+ ),
191
+ MaxLength: 63,
192
+ MinLength: 1
193
+ },
194
+ serializedName: "childResourceName",
195
+ required: true,
196
+ type: {
197
+ name: "String"
198
+ }
199
+ }
200
+ };
201
+
202
+ export const parameters3: OperationParameter = {
203
+ parameterPath: "parameters",
204
+ mapper: ResourceSyncRuleMapper
205
+ };
206
+
207
+ export const tags1: OperationParameter = {
208
+ parameterPath: ["options", "tags"],
209
+ mapper: PatchableResourceSyncRuleMapper
210
+ };
211
+
212
+ export const priority: OperationParameter = {
213
+ parameterPath: ["options", "priority"],
214
+ mapper: PatchableResourceSyncRuleMapper
215
+ };
216
+
217
+ export const selector: OperationParameter = {
218
+ parameterPath: ["options", "selector"],
219
+ mapper: PatchableResourceSyncRuleMapper
220
+ };
221
+
222
+ export const targetResourceGroup: OperationParameter = {
223
+ parameterPath: ["options", "targetResourceGroup"],
224
+ mapper: PatchableResourceSyncRuleMapper
225
+ };