diff --git a/sdk/automanage/arm-automanage/LICENSE.txt b/sdk/automanage/arm-automanage/LICENSE.txt
new file mode 100644
index 000000000000..2d3163745319
--- /dev/null
+++ b/sdk/automanage/arm-automanage/LICENSE.txt
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2021 Microsoft
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/sdk/automanage/arm-automanage/README.md b/sdk/automanage/arm-automanage/README.md
new file mode 100644
index 000000000000..cd84ef7394cc
--- /dev/null
+++ b/sdk/automanage/arm-automanage/README.md
@@ -0,0 +1,110 @@
+## Azure AutomanageClient SDK for JavaScript
+
+This package contains an isomorphic SDK (runs both in node.js and in browsers) for AutomanageClient.
+
+### Currently supported environments
+
+- [LTS versions of Node.js](https://nodejs.org/about/releases/)
+- Latest versions of Safari, Chrome, Edge and Firefox.
+
+### Prerequisites
+
+You must have an [Azure subscription](https://azure.microsoft.com/free/).
+
+### How to install
+
+To use this SDK in your project, you will need to install two packages.
+- `@azure/arm-automanage` that contains the client.
+- `@azure/identity` that provides different mechanisms for the client to authenticate your requests using Azure Active Directory.
+
+Install both packages using the below command:
+```bash
+npm install --save @azure/arm-automanage @azure/identity
+```
+> **Note**: You may have used either `@azure/ms-rest-nodeauth` or `@azure/ms-rest-browserauth` in the past. These packages are in maintenance mode receiving critical bug fixes, but no new features.
+If you are on a [Node.js that has LTS status](https://nodejs.org/about/releases/), or are writing a client side browser application, we strongly encourage you to upgrade to `@azure/identity` which uses the latest versions of Azure Active Directory and MSAL APIs and provides more authentication options.
+
+### How to use
+
+- If you are writing a client side browser application,
+ - Follow the instructions in the section on Authenticating client side browser applications in [Azure Identity examples](https://aka.ms/azsdk/js/identity/examples) to register your application in the Microsoft identity platform and set the right permissions.
+ - Copy the client ID and tenant ID from the Overview section of your app registration in Azure portal and use it in the browser sample below.
+- If you are writing a server side application,
+ - [Select a credential from `@azure/identity` based on the authentication method of your choice](https://aka.ms/azsdk/js/identity/examples)
+ - Complete the set up steps required by the credential if any.
+ - Use the credential you picked in the place of `DefaultAzureCredential` in the Node.js sample below.
+
+In the below samples, we pass the credential and the Azure subscription id to instantiate the client.
+Once the client is created, explore the operations on it either in your favorite editor or in our [API reference documentation](https://docs.microsoft.com/javascript/api) to get started.
+#### nodejs - Authentication, client creation, and get accounts as an example written in JavaScript.
+
+##### Sample code
+
+```javascript
+const { DefaultAzureCredential } = require("@azure/identity");
+const { AutomanageClient } = require("@azure/arm-automanage");
+const subscriptionId = process.env["AZURE_SUBSCRIPTION_ID"];
+
+// Use `DefaultAzureCredential` or any other credential of your choice based on https://aka.ms/azsdk/js/identity/examples
+// Please note that you can also use credentials from the `@azure/ms-rest-nodeauth` package instead.
+const creds = new DefaultAzureCredential();
+const client = new AutomanageClient(creds, subscriptionId);
+const accountName = "testaccountName";
+const resourceGroupName = "testresourceGroupName";
+client.accounts.get(accountName, resourceGroupName).then((result) => {
+ console.log("The result is:");
+ console.log(result);
+}).catch((err) => {
+ console.log("An error occurred:");
+ console.error(err);
+});
+```
+
+#### browser - Authentication, client creation, and get accounts as an example written in JavaScript.
+
+In browser applications, we recommend using the `InteractiveBrowserCredential` that interactively authenticates using the default system browser.
+ - See [Single-page application: App registration guide](https://docs.microsoft.com/azure/active-directory/develop/scenario-spa-app-registration) to configure your app registration for the browser.
+ - Note down the client Id from the previous step and use it in the browser sample below.
+
+##### Sample code
+
+- index.html
+
+```html
+
+
+
+ @azure/arm-automanage sample
+
+
+
+
+
+
+
+```
+
+## Related projects
+
+- [Microsoft Azure SDK for Javascript](https://github.com/Azure/azure-sdk-for-js)
+
+
diff --git a/sdk/automanage/arm-automanage/package.json b/sdk/automanage/arm-automanage/package.json
new file mode 100644
index 000000000000..2bb0540337d7
--- /dev/null
+++ b/sdk/automanage/arm-automanage/package.json
@@ -0,0 +1,59 @@
+{
+ "name": "@azure/arm-automanage",
+ "author": "Microsoft Corporation",
+ "description": "AutomanageClient Library with typescript type definitions for node.js and browser.",
+ "version": "1.0.0",
+ "dependencies": {
+ "@azure/ms-rest-azure-js": "^2.1.0",
+ "@azure/ms-rest-js": "^2.2.0",
+ "@azure/core-auth": "^1.1.4",
+ "tslib": "^1.10.0"
+ },
+ "keywords": [
+ "node",
+ "azure",
+ "typescript",
+ "browser",
+ "isomorphic"
+ ],
+ "license": "MIT",
+ "main": "./dist/arm-automanage.js",
+ "module": "./esm/automanageClient.js",
+ "types": "./esm/automanageClient.d.ts",
+ "devDependencies": {
+ "typescript": "^3.6.0",
+ "rollup": "^1.18.0",
+ "rollup-plugin-node-resolve": "^5.2.0",
+ "rollup-plugin-sourcemaps": "^0.4.2",
+ "uglify-js": "^3.6.0"
+ },
+ "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/master/sdk/automanage/arm-automanage",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/Azure/azure-sdk-for-js.git"
+ },
+ "bugs": {
+ "url": "https://github.com/Azure/azure-sdk-for-js/issues"
+ },
+ "files": [
+ "dist/**/*.js",
+ "dist/**/*.js.map",
+ "dist/**/*.d.ts",
+ "dist/**/*.d.ts.map",
+ "esm/**/*.js",
+ "esm/**/*.js.map",
+ "esm/**/*.d.ts",
+ "esm/**/*.d.ts.map",
+ "src/**/*.ts",
+ "README.md",
+ "rollup.config.js",
+ "tsconfig.json"
+ ],
+ "scripts": {
+ "build": "tsc && rollup -c rollup.config.js && npm run minify",
+ "minify": "uglifyjs -c -m --comments --source-map \"content='./dist/arm-automanage.js.map'\" -o ./dist/arm-automanage.min.js ./dist/arm-automanage.js",
+ "prepack": "npm install && npm run build"
+ },
+ "sideEffects": false,
+ "autoPublish": true
+}
diff --git a/sdk/automanage/arm-automanage/rollup.config.js b/sdk/automanage/arm-automanage/rollup.config.js
new file mode 100644
index 000000000000..248d15152463
--- /dev/null
+++ b/sdk/automanage/arm-automanage/rollup.config.js
@@ -0,0 +1,37 @@
+import rollup from "rollup";
+import nodeResolve from "rollup-plugin-node-resolve";
+import sourcemaps from "rollup-plugin-sourcemaps";
+
+/**
+ * @type {rollup.RollupFileOptions}
+ */
+const config = {
+ input: "./esm/automanageClient.js",
+ external: [
+ "@azure/ms-rest-js",
+ "@azure/ms-rest-azure-js"
+ ],
+ output: {
+ file: "./dist/arm-automanage.js",
+ format: "umd",
+ name: "Azure.ArmAutomanage",
+ sourcemap: true,
+ globals: {
+ "@azure/ms-rest-js": "msRest",
+ "@azure/ms-rest-azure-js": "msRestAzure"
+ },
+ banner: `/*
+ * Copyright (c) Microsoft Corporation.
+ * Licensed under the MIT License.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is regenerated.
+ */`
+ },
+ plugins: [
+ nodeResolve({ mainFields: ['module', 'main'] }),
+ sourcemaps()
+ ]
+};
+
+export default config;
diff --git a/sdk/automanage/arm-automanage/src/automanageClient.ts b/sdk/automanage/arm-automanage/src/automanageClient.ts
new file mode 100644
index 000000000000..3c3e7a1dbf64
--- /dev/null
+++ b/sdk/automanage/arm-automanage/src/automanageClient.ts
@@ -0,0 +1,53 @@
+/*
+ * Copyright (c) Microsoft Corporation.
+ * Licensed under the MIT License.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+import * as msRest from "@azure/ms-rest-js";
+import { TokenCredential } from "@azure/core-auth";
+import * as Models from "./models";
+import * as Mappers from "./models/mappers";
+import * as operations from "./operations";
+import { AutomanageClientContext } from "./automanageClientContext";
+
+
+class AutomanageClient extends AutomanageClientContext {
+ // Operation groups
+ accounts: operations.Accounts;
+ configurationProfileAssignments: operations.ConfigurationProfileAssignments;
+ configurationProfilePreferences: operations.ConfigurationProfilePreferences;
+ operations: operations.Operations;
+
+ /**
+ * Initializes a new instance of the AutomanageClient class.
+ * @param credentials Credentials needed for the client to connect to Azure. Credentials
+ * implementing the TokenCredential interface from the @azure/identity package are recommended. For
+ * more information about these credentials, see
+ * {@link https://www.npmjs.com/package/@azure/identity}. Credentials implementing the
+ * ServiceClientCredentials interface from the older packages @azure/ms-rest-nodeauth and
+ * @azure/ms-rest-browserauth are also supported.
+ * @param subscriptionId The ID of the target subscription.
+ * @param [options] The parameter options
+ */
+ constructor(credentials: msRest.ServiceClientCredentials | TokenCredential, subscriptionId: string, options?: Models.AutomanageClientOptions) {
+ super(credentials, subscriptionId, options);
+ this.accounts = new operations.Accounts(this);
+ this.configurationProfileAssignments = new operations.ConfigurationProfileAssignments(this);
+ this.configurationProfilePreferences = new operations.ConfigurationProfilePreferences(this);
+ this.operations = new operations.Operations(this);
+ }
+}
+
+// Operation Specifications
+
+export {
+ AutomanageClient,
+ AutomanageClientContext,
+ Models as AutomanageModels,
+ Mappers as AutomanageMappers
+};
+export * from "./operations";
diff --git a/sdk/automanage/arm-automanage/src/automanageClientContext.ts b/sdk/automanage/arm-automanage/src/automanageClientContext.ts
new file mode 100644
index 000000000000..94b2869b5dde
--- /dev/null
+++ b/sdk/automanage/arm-automanage/src/automanageClientContext.ts
@@ -0,0 +1,67 @@
+/*
+ * Copyright (c) Microsoft Corporation.
+ * Licensed under the MIT License.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+import * as Models from "./models";
+import * as msRest from "@azure/ms-rest-js";
+import * as msRestAzure from "@azure/ms-rest-azure-js";
+import { TokenCredential } from "@azure/core-auth";
+
+const packageName = "@azure/arm-automanage";
+const packageVersion = "1.0.0";
+
+export class AutomanageClientContext extends msRestAzure.AzureServiceClient {
+ credentials: msRest.ServiceClientCredentials | TokenCredential;
+ apiVersion?: string;
+ subscriptionId: string;
+
+ /**
+ * Initializes a new instance of the AutomanageClient class.
+ * @param credentials Credentials needed for the client to connect to Azure. Credentials
+ * implementing the TokenCredential interface from the @azure/identity package are recommended. For
+ * more information about these credentials, see
+ * {@link https://www.npmjs.com/package/@azure/identity}. Credentials implementing the
+ * ServiceClientCredentials interface from the older packages @azure/ms-rest-nodeauth and
+ * @azure/ms-rest-browserauth are also supported.
+ * @param subscriptionId The ID of the target subscription.
+ * @param [options] The parameter options
+ */
+ constructor(credentials: msRest.ServiceClientCredentials | TokenCredential, subscriptionId: string, options?: Models.AutomanageClientOptions) {
+ if (credentials == undefined) {
+ throw new Error('\'credentials\' cannot be null.');
+ }
+ if (subscriptionId == undefined) {
+ throw new Error('\'subscriptionId\' cannot be null.');
+ }
+
+ if (!options) {
+ options = {};
+ }
+ if (!options.userAgent) {
+ const defaultUserAgent = msRestAzure.getDefaultUserAgentValue();
+ options.userAgent = `${packageName}/${packageVersion} ${defaultUserAgent}`;
+ }
+
+ super(credentials, options);
+
+ this.apiVersion = '2020-06-30-preview';
+ this.acceptLanguage = 'en-US';
+ this.longRunningOperationRetryTimeout = 30;
+ this.baseUri = options.baseUri || this.baseUri || "https://management.azure.com";
+ this.requestContentType = "application/json; charset=utf-8";
+ this.credentials = credentials;
+ this.subscriptionId = subscriptionId;
+
+ if (options.acceptLanguage !== null && options.acceptLanguage !== undefined) {
+ this.acceptLanguage = options.acceptLanguage;
+ }
+ if (options.longRunningOperationRetryTimeout !== null && options.longRunningOperationRetryTimeout !== undefined) {
+ this.longRunningOperationRetryTimeout = options.longRunningOperationRetryTimeout;
+ }
+ }
+}
diff --git a/sdk/automanage/arm-automanage/src/models/accountsMappers.ts b/sdk/automanage/arm-automanage/src/models/accountsMappers.ts
new file mode 100644
index 000000000000..9272cc9b90d1
--- /dev/null
+++ b/sdk/automanage/arm-automanage/src/models/accountsMappers.ts
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) Microsoft Corporation.
+ * Licensed under the MIT License.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is regenerated.
+ */
+
+export {
+ Account,
+ AccountIdentity,
+ AccountList,
+ AccountUpdate,
+ AzureEntityResource,
+ BaseResource,
+ ConfigurationProfileAssignment,
+ ConfigurationProfileAssignmentCompliance,
+ ConfigurationProfileAssignmentProperties,
+ ConfigurationProfilePreference,
+ ConfigurationProfilePreferenceAntiMalware,
+ ConfigurationProfilePreferenceProperties,
+ ConfigurationProfilePreferenceUpdate,
+ ConfigurationProfilePreferenceVmBackup,
+ ErrorAdditionalInfo,
+ ErrorDetail,
+ ErrorResponse,
+ ProxyResource,
+ Resource,
+ TrackedResource,
+ UpdateResource
+} from "../models/mappers";
diff --git a/sdk/automanage/arm-automanage/src/models/configurationProfileAssignmentsMappers.ts b/sdk/automanage/arm-automanage/src/models/configurationProfileAssignmentsMappers.ts
new file mode 100644
index 000000000000..abaea2a11ca1
--- /dev/null
+++ b/sdk/automanage/arm-automanage/src/models/configurationProfileAssignmentsMappers.ts
@@ -0,0 +1,28 @@
+/*
+ * Copyright (c) Microsoft Corporation.
+ * Licensed under the MIT License.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is regenerated.
+ */
+
+export {
+ Account,
+ AccountIdentity,
+ AzureEntityResource,
+ BaseResource,
+ ConfigurationProfileAssignment,
+ ConfigurationProfileAssignmentCompliance,
+ ConfigurationProfileAssignmentList,
+ ConfigurationProfileAssignmentProperties,
+ ConfigurationProfilePreference,
+ ConfigurationProfilePreferenceAntiMalware,
+ ConfigurationProfilePreferenceProperties,
+ ConfigurationProfilePreferenceVmBackup,
+ ErrorAdditionalInfo,
+ ErrorDetail,
+ ErrorResponse,
+ ProxyResource,
+ Resource,
+ TrackedResource
+} from "../models/mappers";
diff --git a/sdk/automanage/arm-automanage/src/models/configurationProfilePreferencesMappers.ts b/sdk/automanage/arm-automanage/src/models/configurationProfilePreferencesMappers.ts
new file mode 100644
index 000000000000..407d319f4f5c
--- /dev/null
+++ b/sdk/automanage/arm-automanage/src/models/configurationProfilePreferencesMappers.ts
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) Microsoft Corporation.
+ * Licensed under the MIT License.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is regenerated.
+ */
+
+export {
+ Account,
+ AccountIdentity,
+ AccountUpdate,
+ AzureEntityResource,
+ BaseResource,
+ ConfigurationProfileAssignment,
+ ConfigurationProfileAssignmentCompliance,
+ ConfigurationProfileAssignmentProperties,
+ ConfigurationProfilePreference,
+ ConfigurationProfilePreferenceAntiMalware,
+ ConfigurationProfilePreferenceList,
+ ConfigurationProfilePreferenceProperties,
+ ConfigurationProfilePreferenceUpdate,
+ ConfigurationProfilePreferenceVmBackup,
+ ErrorAdditionalInfo,
+ ErrorDetail,
+ ErrorResponse,
+ ProxyResource,
+ Resource,
+ TrackedResource,
+ UpdateResource
+} from "../models/mappers";
diff --git a/sdk/automanage/arm-automanage/src/models/index.ts b/sdk/automanage/arm-automanage/src/models/index.ts
new file mode 100644
index 000000000000..24c135ce377c
--- /dev/null
+++ b/sdk/automanage/arm-automanage/src/models/index.ts
@@ -0,0 +1,786 @@
+/*
+ * Copyright (c) Microsoft Corporation.
+ * Licensed under the MIT License.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is regenerated.
+ */
+
+import { BaseResource, CloudError, AzureServiceClientOptions } from "@azure/ms-rest-azure-js";
+import * as msRest from "@azure/ms-rest-js";
+
+export { BaseResource, CloudError };
+
+/**
+ * Identity for the Automanage account.
+ */
+export interface AccountIdentity {
+ /**
+ * The principal id of Automanage account identity.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly principalId?: string;
+ /**
+ * The tenant id associated with the Automanage account.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly tenantId?: string;
+ /**
+ * The type of identity used for the Automanage account. Currently, the only supported type is
+ * 'SystemAssigned', which implicitly creates an identity. Possible values include:
+ * 'SystemAssigned', 'None'
+ */
+ type?: ResourceIdentityType;
+}
+
+/**
+ * Common fields that are returned in the response for all Azure Resource Manager resources
+ * @summary Resource
+ */
+export interface Resource extends BaseResource {
+ /**
+ * Fully qualified resource ID for the resource. Ex -
+ * /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly id?: string;
+ /**
+ * The name of the resource
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly name?: string;
+ /**
+ * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ * "Microsoft.Storage/storageAccounts"
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly type?: string;
+}
+
+/**
+ * The resource model definition for an Azure Resource Manager tracked top level resource which has
+ * 'tags' and a 'location'
+ * @summary Tracked Resource
+ */
+export interface TrackedResource extends Resource {
+ /**
+ * Resource tags.
+ */
+ tags?: { [propertyName: string]: string };
+ /**
+ * The geo-location where the resource lives
+ */
+ location: string;
+}
+
+/**
+ * Definition of the Automanage account.
+ */
+export interface Account extends TrackedResource {
+ /**
+ * The identity of the Automanage account.
+ */
+ identity?: AccountIdentity;
+}
+
+/**
+ * Represents an update resource
+ */
+export interface UpdateResource {
+ /**
+ * The tags of the resource.
+ */
+ tags?: { [propertyName: string]: string };
+}
+
+/**
+ * Definition of the Automanage account.
+ */
+export interface AccountUpdate extends UpdateResource {
+ /**
+ * The identity of the Automanage account.
+ */
+ identity?: AccountIdentity;
+}
+
+/**
+ * The compliance status for the configuration profile assignment.
+ */
+export interface ConfigurationProfileAssignmentCompliance {
+ /**
+ * The state of compliance, which only appears in the response. Possible values include:
+ * 'Succeeded', 'Failed', 'Created'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly updateStatus?: UpdateStatus;
+}
+
+/**
+ * Automanage configuration profile assignment properties.
+ */
+export interface ConfigurationProfileAssignmentProperties {
+ /**
+ * A value indicating configuration profile. Possible values include: 'Azure virtual machine best
+ * practices – Dev/Test', 'Azure virtual machine best practices – Production'
+ */
+ configurationProfile?: ConfigurationProfile;
+ /**
+ * The target VM resource URI
+ */
+ targetId?: string;
+ /**
+ * The Automanage account ARM Resource URI
+ */
+ accountId?: string;
+ /**
+ * The configuration profile custom preferences ARM resource URI
+ */
+ configurationProfilePreferenceId?: string;
+ /**
+ * The state of onboarding, which only appears in the response. Possible values include:
+ * 'Succeeded', 'Failed', 'Created'
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly provisioningState?: ProvisioningState;
+ /**
+ * The configuration setting for the configuration profile.
+ */
+ compliance?: ConfigurationProfileAssignmentCompliance;
+}
+
+/**
+ * The resource model definition for a Azure Resource Manager proxy resource. It will not have tags
+ * and a location
+ * @summary Proxy Resource
+ */
+export interface ProxyResource extends Resource {
+}
+
+/**
+ * Configuration profile assignment is an association between a VM and automanage profile
+ * configuration.
+ */
+export interface ConfigurationProfileAssignment extends ProxyResource {
+ /**
+ * Properties of the configuration profile assignment.
+ */
+ properties?: ConfigurationProfileAssignmentProperties;
+}
+
+/**
+ * Automanage configuration profile VM Backup preferences.
+ */
+export interface ConfigurationProfilePreferenceVmBackup {
+ /**
+ * TimeZone optional input as string. For example: Pacific Standard Time
+ */
+ timeZone?: string;
+ /**
+ * Instant RP retention policy range in days
+ */
+ instantRpRetentionRangeInDays?: number;
+ /**
+ * Retention policy with the details on backup copy retention ranges.
+ */
+ retentionPolicy?: string;
+ /**
+ * Backup schedule specified as part of backup policy.
+ */
+ schedulePolicy?: string;
+}
+
+/**
+ * Automanage configuration profile Antimalware preferences.
+ */
+export interface ConfigurationProfilePreferenceAntiMalware {
+ /**
+ * Enables or disables Real Time Protection. Possible values include: 'True', 'False'
+ */
+ enableRealTimeProtection?: EnableRealTimeProtection;
+ /**
+ * Extensions, Paths and Processes that must be excluded from scan
+ */
+ exclusions?: any;
+ /**
+ * Enables or disables a periodic scan for antimalware. Possible values include: 'True', 'False'
+ */
+ runScheduledScan?: RunScheduledScan;
+ /**
+ * Type of scheduled scan. Possible values include: 'Quick', 'Full'
+ */
+ scanType?: ScanType;
+ /**
+ * Schedule scan settings day
+ */
+ scanDay?: string;
+ /**
+ * Schedule scan settings time
+ */
+ scanTimeInMinutes?: string;
+}
+
+/**
+ * Automanage configuration profile preference properties.
+ */
+export interface ConfigurationProfilePreferenceProperties {
+ /**
+ * The custom preferences for Azure VM Backup.
+ */
+ vmBackup?: ConfigurationProfilePreferenceVmBackup;
+ /**
+ * The custom preferences for Azure Antimalware.
+ */
+ antiMalware?: ConfigurationProfilePreferenceAntiMalware;
+}
+
+/**
+ * Definition of the configuration profile preference.
+ */
+export interface ConfigurationProfilePreference extends TrackedResource {
+ /**
+ * Properties of the configuration profile preference.
+ */
+ properties?: ConfigurationProfilePreferenceProperties;
+}
+
+/**
+ * Definition of the configuration profile preference.
+ */
+export interface ConfigurationProfilePreferenceUpdate extends UpdateResource {
+ /**
+ * Properties of the configuration profile preference.
+ */
+ properties?: ConfigurationProfilePreferenceProperties;
+}
+
+/**
+ * Provider, Resource, Operation and description values.
+ */
+export interface OperationDisplay {
+ /**
+ * Service provider: Microsoft.Automanage
+ */
+ provider?: string;
+ /**
+ * Resource on which the operation is performed: For ex.
+ */
+ resource?: string;
+ /**
+ * Operation type: Read, write, delete, etc.
+ */
+ operation?: string;
+ /**
+ * Description about operation.
+ */
+ description?: string;
+}
+
+/**
+ * Automanage REST API operation
+ */
+export interface Operation {
+ /**
+ * Operation name: For ex. providers/Microsoft.Automanage/configurationProfileAssignments/write
+ * or read
+ */
+ name?: string;
+ /**
+ * Indicates whether the operation is a data action
+ */
+ isDataAction?: string;
+ /**
+ * Provider, Resource, Operation and description values.
+ */
+ display?: OperationDisplay;
+ /**
+ * Service provider: Microsoft.Automanage
+ */
+ statusCode?: string;
+}
+
+/**
+ * The resource model definition for an Azure Resource Manager resource with an etag.
+ * @summary Entity Resource
+ */
+export interface AzureEntityResource extends Resource {
+ /**
+ * Resource Etag.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly etag?: string;
+}
+
+/**
+ * The resource management error additional info.
+ */
+export interface ErrorAdditionalInfo {
+ /**
+ * The additional info type.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly type?: string;
+ /**
+ * The additional info.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly info?: any;
+}
+
+/**
+ * The error detail.
+ */
+export interface ErrorDetail {
+ /**
+ * The error code.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly code?: string;
+ /**
+ * The error message.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly message?: string;
+ /**
+ * The error target.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly target?: string;
+ /**
+ * The error details.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly details?: ErrorDetail[];
+ /**
+ * The error additional info.
+ * **NOTE: This property will not be serialized. It can only be populated by the server.**
+ */
+ readonly additionalInfo?: ErrorAdditionalInfo[];
+}
+
+/**
+ * Common error response for all Azure Resource Manager APIs to return error details for failed
+ * operations. (This also follows the OData error response format.).
+ * @summary Error response
+ */
+export interface ErrorResponse {
+ /**
+ * The error object.
+ */
+ error?: ErrorDetail;
+}
+
+/**
+ * An interface representing AutomanageClientOptions.
+ */
+export interface AutomanageClientOptions extends AzureServiceClientOptions {
+ baseUri?: string;
+}
+
+/**
+ * @interface
+ * The response of the list Account operation.
+ * @extends Array
+ */
+export interface AccountList extends Array {
+}
+
+/**
+ * @interface
+ * The response of the list configuration profile assignment operation.
+ * @extends Array
+ */
+export interface ConfigurationProfileAssignmentList extends Array {
+}
+
+/**
+ * @interface
+ * The response of the list ConfigurationProfilePreference operation.
+ * @extends Array
+ */
+export interface ConfigurationProfilePreferenceList extends Array {
+}
+
+/**
+ * @interface
+ * The response model for the list of Automanage operations
+ * @extends Array
+ */
+export interface OperationList extends Array {
+}
+
+/**
+ * Defines values for ResourceIdentityType.
+ * Possible values include: 'SystemAssigned', 'None'
+ * @readonly
+ * @enum {string}
+ */
+export type ResourceIdentityType = 'SystemAssigned' | 'None';
+
+/**
+ * Defines values for ConfigurationProfile.
+ * Possible values include: 'Azure virtual machine best practices – Dev/Test', 'Azure virtual
+ * machine best practices – Production'
+ * @readonly
+ * @enum {string}
+ */
+export type ConfigurationProfile = 'Azure virtual machine best practices – Dev/Test' | 'Azure virtual machine best practices – Production';
+
+/**
+ * Defines values for ProvisioningState.
+ * Possible values include: 'Succeeded', 'Failed', 'Created'
+ * @readonly
+ * @enum {string}
+ */
+export type ProvisioningState = 'Succeeded' | 'Failed' | 'Created';
+
+/**
+ * Defines values for UpdateStatus.
+ * Possible values include: 'Succeeded', 'Failed', 'Created'
+ * @readonly
+ * @enum {string}
+ */
+export type UpdateStatus = 'Succeeded' | 'Failed' | 'Created';
+
+/**
+ * Defines values for EnableRealTimeProtection.
+ * Possible values include: 'True', 'False'
+ * @readonly
+ * @enum {string}
+ */
+export type EnableRealTimeProtection = 'True' | 'False';
+
+/**
+ * Defines values for RunScheduledScan.
+ * Possible values include: 'True', 'False'
+ * @readonly
+ * @enum {string}
+ */
+export type RunScheduledScan = 'True' | 'False';
+
+/**
+ * Defines values for ScanType.
+ * Possible values include: 'Quick', 'Full'
+ * @readonly
+ * @enum {string}
+ */
+export type ScanType = 'Quick' | 'Full';
+
+/**
+ * Contains response data for the createOrUpdate operation.
+ */
+export type AccountsCreateOrUpdateResponse = Account & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: Account;
+ };
+};
+
+/**
+ * Contains response data for the get operation.
+ */
+export type AccountsGetResponse = Account & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: Account;
+ };
+};
+
+/**
+ * Contains response data for the update operation.
+ */
+export type AccountsUpdateResponse = Account & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: Account;
+ };
+};
+
+/**
+ * Contains response data for the listByResourceGroup operation.
+ */
+export type AccountsListByResourceGroupResponse = AccountList & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: AccountList;
+ };
+};
+
+/**
+ * Contains response data for the listBySubscription operation.
+ */
+export type AccountsListBySubscriptionResponse = AccountList & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: AccountList;
+ };
+};
+
+/**
+ * Contains response data for the createOrUpdate operation.
+ */
+export type ConfigurationProfileAssignmentsCreateOrUpdateResponse = ConfigurationProfileAssignment & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ConfigurationProfileAssignment;
+ };
+};
+
+/**
+ * Contains response data for the get operation.
+ */
+export type ConfigurationProfileAssignmentsGetResponse = ConfigurationProfileAssignment & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ConfigurationProfileAssignment;
+ };
+};
+
+/**
+ * Contains response data for the list operation.
+ */
+export type ConfigurationProfileAssignmentsListResponse = ConfigurationProfileAssignmentList & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ConfigurationProfileAssignmentList;
+ };
+};
+
+/**
+ * Contains response data for the listBySubscription operation.
+ */
+export type ConfigurationProfileAssignmentsListBySubscriptionResponse = ConfigurationProfileAssignmentList & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ConfigurationProfileAssignmentList;
+ };
+};
+
+/**
+ * Contains response data for the beginCreateOrUpdate operation.
+ */
+export type ConfigurationProfileAssignmentsBeginCreateOrUpdateResponse = ConfigurationProfileAssignment & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ConfigurationProfileAssignment;
+ };
+};
+
+/**
+ * Contains response data for the createOrUpdate operation.
+ */
+export type ConfigurationProfilePreferencesCreateOrUpdateResponse = ConfigurationProfilePreference & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ConfigurationProfilePreference;
+ };
+};
+
+/**
+ * Contains response data for the get operation.
+ */
+export type ConfigurationProfilePreferencesGetResponse = ConfigurationProfilePreference & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ConfigurationProfilePreference;
+ };
+};
+
+/**
+ * Contains response data for the update operation.
+ */
+export type ConfigurationProfilePreferencesUpdateResponse = ConfigurationProfilePreference & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ConfigurationProfilePreference;
+ };
+};
+
+/**
+ * Contains response data for the listByResourceGroup operation.
+ */
+export type ConfigurationProfilePreferencesListByResourceGroupResponse = ConfigurationProfilePreferenceList & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ConfigurationProfilePreferenceList;
+ };
+};
+
+/**
+ * Contains response data for the listBySubscription operation.
+ */
+export type ConfigurationProfilePreferencesListBySubscriptionResponse = ConfigurationProfilePreferenceList & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ConfigurationProfilePreferenceList;
+ };
+};
+
+/**
+ * Contains response data for the list operation.
+ */
+export type OperationsListResponse = OperationList & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: OperationList;
+ };
+};
diff --git a/sdk/automanage/arm-automanage/src/models/mappers.ts b/sdk/automanage/arm-automanage/src/models/mappers.ts
new file mode 100644
index 000000000000..bce50667db18
--- /dev/null
+++ b/sdk/automanage/arm-automanage/src/models/mappers.ts
@@ -0,0 +1,682 @@
+/*
+ * Copyright (c) Microsoft Corporation.
+ * Licensed under the MIT License.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is regenerated.
+ */
+
+import { CloudErrorMapper, BaseResourceMapper } from "@azure/ms-rest-azure-js";
+import * as msRest from "@azure/ms-rest-js";
+
+export const CloudError = CloudErrorMapper;
+export const BaseResource = BaseResourceMapper;
+
+export const AccountIdentity: msRest.CompositeMapper = {
+ serializedName: "AccountIdentity",
+ type: {
+ name: "Composite",
+ className: "AccountIdentity",
+ modelProperties: {
+ principalId: {
+ readOnly: true,
+ serializedName: "principalId",
+ type: {
+ name: "String"
+ }
+ },
+ tenantId: {
+ readOnly: true,
+ serializedName: "tenantId",
+ type: {
+ name: "String"
+ }
+ },
+ type: {
+ serializedName: "type",
+ type: {
+ name: "Enum",
+ allowedValues: [
+ "SystemAssigned",
+ "None"
+ ]
+ }
+ }
+ }
+ }
+};
+
+export const Resource: msRest.CompositeMapper = {
+ serializedName: "Resource",
+ type: {
+ name: "Composite",
+ className: "Resource",
+ modelProperties: {
+ id: {
+ readOnly: true,
+ serializedName: "id",
+ type: {
+ name: "String"
+ }
+ },
+ name: {
+ readOnly: true,
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ type: {
+ readOnly: true,
+ serializedName: "type",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const TrackedResource: msRest.CompositeMapper = {
+ serializedName: "TrackedResource",
+ type: {
+ name: "Composite",
+ className: "TrackedResource",
+ modelProperties: {
+ ...Resource.type.modelProperties,
+ tags: {
+ serializedName: "tags",
+ type: {
+ name: "Dictionary",
+ value: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ },
+ location: {
+ required: true,
+ serializedName: "location",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const Account: msRest.CompositeMapper = {
+ serializedName: "Account",
+ type: {
+ name: "Composite",
+ className: "Account",
+ modelProperties: {
+ ...TrackedResource.type.modelProperties,
+ identity: {
+ serializedName: "identity",
+ type: {
+ name: "Composite",
+ className: "AccountIdentity"
+ }
+ }
+ }
+ }
+};
+
+export const UpdateResource: msRest.CompositeMapper = {
+ serializedName: "UpdateResource",
+ type: {
+ name: "Composite",
+ className: "UpdateResource",
+ modelProperties: {
+ tags: {
+ serializedName: "tags",
+ type: {
+ name: "Dictionary",
+ value: {
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const AccountUpdate: msRest.CompositeMapper = {
+ serializedName: "AccountUpdate",
+ type: {
+ name: "Composite",
+ className: "AccountUpdate",
+ modelProperties: {
+ ...UpdateResource.type.modelProperties,
+ identity: {
+ serializedName: "identity",
+ type: {
+ name: "Composite",
+ className: "AccountIdentity"
+ }
+ }
+ }
+ }
+};
+
+export const ConfigurationProfileAssignmentCompliance: msRest.CompositeMapper = {
+ serializedName: "ConfigurationProfileAssignmentCompliance",
+ type: {
+ name: "Composite",
+ className: "ConfigurationProfileAssignmentCompliance",
+ modelProperties: {
+ updateStatus: {
+ nullable: true,
+ readOnly: true,
+ serializedName: "updateStatus",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const ConfigurationProfileAssignmentProperties: msRest.CompositeMapper = {
+ serializedName: "ConfigurationProfileAssignmentProperties",
+ type: {
+ name: "Composite",
+ className: "ConfigurationProfileAssignmentProperties",
+ modelProperties: {
+ configurationProfile: {
+ serializedName: "configurationProfile",
+ type: {
+ name: "String"
+ }
+ },
+ targetId: {
+ serializedName: "targetId",
+ type: {
+ name: "String"
+ }
+ },
+ accountId: {
+ serializedName: "accountId",
+ type: {
+ name: "String"
+ }
+ },
+ configurationProfilePreferenceId: {
+ nullable: true,
+ serializedName: "configurationProfilePreferenceId",
+ type: {
+ name: "String"
+ }
+ },
+ provisioningState: {
+ readOnly: true,
+ serializedName: "provisioningState",
+ type: {
+ name: "String"
+ }
+ },
+ compliance: {
+ serializedName: "compliance",
+ type: {
+ name: "Composite",
+ className: "ConfigurationProfileAssignmentCompliance"
+ }
+ }
+ }
+ }
+};
+
+export const ProxyResource: msRest.CompositeMapper = {
+ serializedName: "ProxyResource",
+ type: {
+ name: "Composite",
+ className: "ProxyResource",
+ modelProperties: {
+ ...Resource.type.modelProperties
+ }
+ }
+};
+
+export const ConfigurationProfileAssignment: msRest.CompositeMapper = {
+ serializedName: "ConfigurationProfileAssignment",
+ type: {
+ name: "Composite",
+ className: "ConfigurationProfileAssignment",
+ modelProperties: {
+ ...ProxyResource.type.modelProperties,
+ properties: {
+ serializedName: "properties",
+ type: {
+ name: "Composite",
+ className: "ConfigurationProfileAssignmentProperties"
+ }
+ }
+ }
+ }
+};
+
+export const ConfigurationProfilePreferenceVmBackup: msRest.CompositeMapper = {
+ serializedName: "ConfigurationProfilePreferenceVmBackup",
+ type: {
+ name: "Composite",
+ className: "ConfigurationProfilePreferenceVmBackup",
+ modelProperties: {
+ timeZone: {
+ nullable: true,
+ serializedName: "timeZone",
+ type: {
+ name: "String"
+ }
+ },
+ instantRpRetentionRangeInDays: {
+ serializedName: "instantRpRetentionRangeInDays",
+ type: {
+ name: "Number"
+ }
+ },
+ retentionPolicy: {
+ nullable: true,
+ serializedName: "retentionPolicy",
+ type: {
+ name: "String"
+ }
+ },
+ schedulePolicy: {
+ nullable: true,
+ serializedName: "schedulePolicy",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const ConfigurationProfilePreferenceAntiMalware: msRest.CompositeMapper = {
+ serializedName: "ConfigurationProfilePreferenceAntiMalware",
+ type: {
+ name: "Composite",
+ className: "ConfigurationProfilePreferenceAntiMalware",
+ modelProperties: {
+ enableRealTimeProtection: {
+ nullable: true,
+ serializedName: "enableRealTimeProtection",
+ type: {
+ name: "String"
+ }
+ },
+ exclusions: {
+ nullable: true,
+ serializedName: "exclusions",
+ type: {
+ name: "Object"
+ }
+ },
+ runScheduledScan: {
+ nullable: true,
+ serializedName: "runScheduledScan",
+ type: {
+ name: "String"
+ }
+ },
+ scanType: {
+ nullable: true,
+ serializedName: "scanType",
+ type: {
+ name: "String"
+ }
+ },
+ scanDay: {
+ nullable: true,
+ serializedName: "scanDay",
+ type: {
+ name: "String"
+ }
+ },
+ scanTimeInMinutes: {
+ nullable: true,
+ serializedName: "scanTimeInMinutes",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const ConfigurationProfilePreferenceProperties: msRest.CompositeMapper = {
+ serializedName: "ConfigurationProfilePreferenceProperties",
+ type: {
+ name: "Composite",
+ className: "ConfigurationProfilePreferenceProperties",
+ modelProperties: {
+ vmBackup: {
+ serializedName: "vmBackup",
+ type: {
+ name: "Composite",
+ className: "ConfigurationProfilePreferenceVmBackup"
+ }
+ },
+ antiMalware: {
+ serializedName: "antiMalware",
+ type: {
+ name: "Composite",
+ className: "ConfigurationProfilePreferenceAntiMalware"
+ }
+ }
+ }
+ }
+};
+
+export const ConfigurationProfilePreference: msRest.CompositeMapper = {
+ serializedName: "ConfigurationProfilePreference",
+ type: {
+ name: "Composite",
+ className: "ConfigurationProfilePreference",
+ modelProperties: {
+ ...TrackedResource.type.modelProperties,
+ properties: {
+ serializedName: "properties",
+ type: {
+ name: "Composite",
+ className: "ConfigurationProfilePreferenceProperties"
+ }
+ }
+ }
+ }
+};
+
+export const ConfigurationProfilePreferenceUpdate: msRest.CompositeMapper = {
+ serializedName: "ConfigurationProfilePreferenceUpdate",
+ type: {
+ name: "Composite",
+ className: "ConfigurationProfilePreferenceUpdate",
+ modelProperties: {
+ ...UpdateResource.type.modelProperties,
+ properties: {
+ serializedName: "properties",
+ type: {
+ name: "Composite",
+ className: "ConfigurationProfilePreferenceProperties"
+ }
+ }
+ }
+ }
+};
+
+export const OperationDisplay: msRest.CompositeMapper = {
+ serializedName: "Operation_display",
+ type: {
+ name: "Composite",
+ className: "OperationDisplay",
+ modelProperties: {
+ provider: {
+ serializedName: "provider",
+ type: {
+ name: "String"
+ }
+ },
+ resource: {
+ serializedName: "resource",
+ type: {
+ name: "String"
+ }
+ },
+ operation: {
+ serializedName: "operation",
+ type: {
+ name: "String"
+ }
+ },
+ description: {
+ serializedName: "description",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const Operation: msRest.CompositeMapper = {
+ serializedName: "Operation",
+ type: {
+ name: "Composite",
+ className: "Operation",
+ modelProperties: {
+ name: {
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ isDataAction: {
+ serializedName: "isDataAction",
+ type: {
+ name: "String"
+ }
+ },
+ display: {
+ serializedName: "display",
+ type: {
+ name: "Composite",
+ className: "OperationDisplay"
+ }
+ },
+ statusCode: {
+ serializedName: "properties.statusCode",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const AzureEntityResource: msRest.CompositeMapper = {
+ serializedName: "AzureEntityResource",
+ type: {
+ name: "Composite",
+ className: "AzureEntityResource",
+ modelProperties: {
+ ...Resource.type.modelProperties,
+ etag: {
+ readOnly: true,
+ serializedName: "etag",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const ErrorAdditionalInfo: msRest.CompositeMapper = {
+ serializedName: "ErrorAdditionalInfo",
+ type: {
+ name: "Composite",
+ className: "ErrorAdditionalInfo",
+ modelProperties: {
+ type: {
+ readOnly: true,
+ serializedName: "type",
+ type: {
+ name: "String"
+ }
+ },
+ info: {
+ readOnly: true,
+ serializedName: "info",
+ type: {
+ name: "Object"
+ }
+ }
+ }
+ }
+};
+
+export const ErrorDetail: msRest.CompositeMapper = {
+ serializedName: "ErrorDetail",
+ type: {
+ name: "Composite",
+ className: "ErrorDetail",
+ modelProperties: {
+ code: {
+ readOnly: true,
+ serializedName: "code",
+ type: {
+ name: "String"
+ }
+ },
+ message: {
+ readOnly: true,
+ serializedName: "message",
+ type: {
+ name: "String"
+ }
+ },
+ target: {
+ readOnly: true,
+ serializedName: "target",
+ type: {
+ name: "String"
+ }
+ },
+ details: {
+ readOnly: true,
+ serializedName: "details",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ErrorDetail"
+ }
+ }
+ }
+ },
+ additionalInfo: {
+ readOnly: true,
+ serializedName: "additionalInfo",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ErrorAdditionalInfo"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const ErrorResponse: msRest.CompositeMapper = {
+ serializedName: "ErrorResponse",
+ type: {
+ name: "Composite",
+ className: "ErrorResponse",
+ modelProperties: {
+ error: {
+ serializedName: "error",
+ type: {
+ name: "Composite",
+ className: "ErrorDetail"
+ }
+ }
+ }
+ }
+};
+
+export const AccountList: msRest.CompositeMapper = {
+ serializedName: "AccountList",
+ type: {
+ name: "Composite",
+ className: "AccountList",
+ modelProperties: {
+ value: {
+ serializedName: "",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "Account"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const ConfigurationProfileAssignmentList: msRest.CompositeMapper = {
+ serializedName: "ConfigurationProfileAssignmentList",
+ type: {
+ name: "Composite",
+ className: "ConfigurationProfileAssignmentList",
+ modelProperties: {
+ value: {
+ serializedName: "",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ConfigurationProfileAssignment"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const ConfigurationProfilePreferenceList: msRest.CompositeMapper = {
+ serializedName: "ConfigurationProfilePreferenceList",
+ type: {
+ name: "Composite",
+ className: "ConfigurationProfilePreferenceList",
+ modelProperties: {
+ value: {
+ serializedName: "",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ConfigurationProfilePreference"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const OperationList: msRest.CompositeMapper = {
+ serializedName: "OperationList",
+ type: {
+ name: "Composite",
+ className: "OperationList",
+ modelProperties: {
+ value: {
+ serializedName: "",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "Operation"
+ }
+ }
+ }
+ }
+ }
+ }
+};
diff --git a/sdk/automanage/arm-automanage/src/models/operationsMappers.ts b/sdk/automanage/arm-automanage/src/models/operationsMappers.ts
new file mode 100644
index 000000000000..c7bc8bb8620c
--- /dev/null
+++ b/sdk/automanage/arm-automanage/src/models/operationsMappers.ts
@@ -0,0 +1,16 @@
+/*
+ * Copyright (c) Microsoft Corporation.
+ * Licensed under the MIT License.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is regenerated.
+ */
+
+export {
+ ErrorAdditionalInfo,
+ ErrorDetail,
+ ErrorResponse,
+ Operation,
+ OperationDisplay,
+ OperationList
+} from "../models/mappers";
diff --git a/sdk/automanage/arm-automanage/src/models/parameters.ts b/sdk/automanage/arm-automanage/src/models/parameters.ts
new file mode 100644
index 000000000000..36dceed6f34c
--- /dev/null
+++ b/sdk/automanage/arm-automanage/src/models/parameters.ts
@@ -0,0 +1,101 @@
+/*
+ * Copyright (c) Microsoft Corporation.
+ * Licensed under the MIT License.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+import * as msRest from "@azure/ms-rest-js";
+
+export const acceptLanguage: msRest.OperationParameter = {
+ parameterPath: "acceptLanguage",
+ mapper: {
+ serializedName: "accept-language",
+ defaultValue: 'en-US',
+ type: {
+ name: "String"
+ }
+ }
+};
+export const accountName: msRest.OperationURLParameter = {
+ parameterPath: "accountName",
+ mapper: {
+ required: true,
+ serializedName: "accountName",
+ type: {
+ name: "String"
+ }
+ }
+};
+export const apiVersion: msRest.OperationQueryParameter = {
+ parameterPath: "apiVersion",
+ mapper: {
+ required: true,
+ serializedName: "api-version",
+ constraints: {
+ MinLength: 1
+ },
+ type: {
+ name: "String"
+ }
+ }
+};
+export const configurationProfileAssignmentName: msRest.OperationURLParameter = {
+ parameterPath: "configurationProfileAssignmentName",
+ mapper: {
+ required: true,
+ serializedName: "configurationProfileAssignmentName",
+ type: {
+ name: "String"
+ }
+ }
+};
+export const configurationProfilePreferenceName: msRest.OperationURLParameter = {
+ parameterPath: "configurationProfilePreferenceName",
+ mapper: {
+ required: true,
+ serializedName: "configurationProfilePreferenceName",
+ type: {
+ name: "String"
+ }
+ }
+};
+export const resourceGroupName: msRest.OperationURLParameter = {
+ parameterPath: "resourceGroupName",
+ mapper: {
+ required: true,
+ serializedName: "resourceGroupName",
+ constraints: {
+ MaxLength: 90,
+ MinLength: 1
+ },
+ type: {
+ name: "String"
+ }
+ }
+};
+export const subscriptionId: msRest.OperationURLParameter = {
+ parameterPath: "subscriptionId",
+ mapper: {
+ required: true,
+ serializedName: "subscriptionId",
+ constraints: {
+ MinLength: 1
+ },
+ type: {
+ name: "String"
+ }
+ }
+};
+export const vmName: msRest.OperationURLParameter = {
+ parameterPath: "vmName",
+ mapper: {
+ required: true,
+ serializedName: "vmName",
+ type: {
+ name: "String"
+ }
+ }
+};
diff --git a/sdk/automanage/arm-automanage/src/operations/accounts.ts b/sdk/automanage/arm-automanage/src/operations/accounts.ts
new file mode 100644
index 000000000000..60e1a008d90c
--- /dev/null
+++ b/sdk/automanage/arm-automanage/src/operations/accounts.ts
@@ -0,0 +1,380 @@
+/*
+ * Copyright (c) Microsoft Corporation.
+ * Licensed under the MIT License.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+import * as msRest from "@azure/ms-rest-js";
+import * as Models from "../models";
+import * as Mappers from "../models/accountsMappers";
+import * as Parameters from "../models/parameters";
+import { AutomanageClientContext } from "../automanageClientContext";
+
+/** Class representing a Accounts. */
+export class Accounts {
+ private readonly client: AutomanageClientContext;
+
+ /**
+ * Create a Accounts.
+ * @param {AutomanageClientContext} client Reference to the service client.
+ */
+ constructor(client: AutomanageClientContext) {
+ this.client = client;
+ }
+
+ /**
+ * Creates an Automanage Account
+ * @param accountName Name of the Automanage account.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param parameters Parameters supplied to create or update Automanage account.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ createOrUpdate(accountName: string, resourceGroupName: string, parameters: Models.Account, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param accountName Name of the Automanage account.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param parameters Parameters supplied to create or update Automanage account.
+ * @param callback The callback
+ */
+ createOrUpdate(accountName: string, resourceGroupName: string, parameters: Models.Account, callback: msRest.ServiceCallback): void;
+ /**
+ * @param accountName Name of the Automanage account.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param parameters Parameters supplied to create or update Automanage account.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ createOrUpdate(accountName: string, resourceGroupName: string, parameters: Models.Account, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ createOrUpdate(accountName: string, resourceGroupName: string, parameters: Models.Account, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ accountName,
+ resourceGroupName,
+ parameters,
+ options
+ },
+ createOrUpdateOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Get information about a Automanage account
+ * @param accountName The Automanage account name.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ get(accountName: string, resourceGroupName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param accountName The Automanage account name.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param callback The callback
+ */
+ get(accountName: string, resourceGroupName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param accountName The Automanage account name.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ get(accountName: string, resourceGroupName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ get(accountName: string, resourceGroupName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ accountName,
+ resourceGroupName,
+ options
+ },
+ getOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Delete a Automanage account
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Name of the Automanage account
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ deleteMethod(resourceGroupName: string, accountName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Name of the Automanage account
+ * @param callback The callback
+ */
+ deleteMethod(resourceGroupName: string, accountName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Name of the Automanage account
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ deleteMethod(resourceGroupName: string, accountName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ deleteMethod(resourceGroupName: string, accountName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ resourceGroupName,
+ accountName,
+ options
+ },
+ deleteMethodOperationSpec,
+ callback);
+ }
+
+ /**
+ * Updates an Automanage Account
+ * @param accountName Name of the Automanage account.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param parameters Parameters supplied to update Automanage account.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ update(accountName: string, resourceGroupName: string, parameters: Models.AccountUpdate, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param accountName Name of the Automanage account.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param parameters Parameters supplied to update Automanage account.
+ * @param callback The callback
+ */
+ update(accountName: string, resourceGroupName: string, parameters: Models.AccountUpdate, callback: msRest.ServiceCallback): void;
+ /**
+ * @param accountName Name of the Automanage account.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param parameters Parameters supplied to update Automanage account.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ update(accountName: string, resourceGroupName: string, parameters: Models.AccountUpdate, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ update(accountName: string, resourceGroupName: string, parameters: Models.AccountUpdate, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ accountName,
+ resourceGroupName,
+ parameters,
+ options
+ },
+ updateOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Retrieve a list of Automanage accounts within a given resource group
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ listByResourceGroup(resourceGroupName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param callback The callback
+ */
+ listByResourceGroup(resourceGroupName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ listByResourceGroup(resourceGroupName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ listByResourceGroup(resourceGroupName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ resourceGroupName,
+ options
+ },
+ listByResourceGroupOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Retrieve a list of Automanage accounts within a subscription
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ listBySubscription(options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param callback The callback
+ */
+ listBySubscription(callback: msRest.ServiceCallback): void;
+ /**
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ listBySubscription(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ listBySubscription(options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ options
+ },
+ listBySubscriptionOperationSpec,
+ callback) as Promise;
+ }
+}
+
+// Operation Specifications
+const serializer = new msRest.Serializer(Mappers);
+const createOrUpdateOperationSpec: msRest.OperationSpec = {
+ httpMethod: "PUT",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automanage/accounts/{accountName}",
+ urlParameters: [
+ Parameters.accountName,
+ Parameters.subscriptionId,
+ Parameters.resourceGroupName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ requestBody: {
+ parameterPath: "parameters",
+ mapper: {
+ ...Mappers.Account,
+ required: true
+ }
+ },
+ responses: {
+ 200: {
+ bodyMapper: Mappers.Account
+ },
+ 201: {
+ bodyMapper: Mappers.Account
+ },
+ default: {
+ bodyMapper: Mappers.ErrorResponse
+ }
+ },
+ serializer
+};
+
+const getOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automanage/accounts/{accountName}",
+ urlParameters: [
+ Parameters.accountName,
+ Parameters.subscriptionId,
+ Parameters.resourceGroupName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.Account
+ },
+ default: {
+ bodyMapper: Mappers.ErrorResponse
+ }
+ },
+ serializer
+};
+
+const deleteMethodOperationSpec: msRest.OperationSpec = {
+ httpMethod: "DELETE",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automanage/accounts/{accountName}",
+ urlParameters: [
+ Parameters.resourceGroupName,
+ Parameters.accountName,
+ Parameters.subscriptionId
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {},
+ 204: {},
+ default: {
+ bodyMapper: Mappers.ErrorResponse
+ }
+ },
+ serializer
+};
+
+const updateOperationSpec: msRest.OperationSpec = {
+ httpMethod: "PATCH",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automanage/accounts/{accountName}",
+ urlParameters: [
+ Parameters.accountName,
+ Parameters.subscriptionId,
+ Parameters.resourceGroupName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ requestBody: {
+ parameterPath: "parameters",
+ mapper: {
+ ...Mappers.AccountUpdate,
+ required: true
+ }
+ },
+ responses: {
+ 200: {
+ bodyMapper: Mappers.Account
+ },
+ default: {
+ bodyMapper: Mappers.ErrorResponse
+ }
+ },
+ serializer
+};
+
+const listByResourceGroupOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automanage/accounts",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.resourceGroupName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.AccountList
+ },
+ default: {
+ bodyMapper: Mappers.ErrorResponse
+ }
+ },
+ serializer
+};
+
+const listBySubscriptionOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ path: "subscriptions/{subscriptionId}/providers/Microsoft.Automanage/accounts",
+ urlParameters: [
+ Parameters.subscriptionId
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.AccountList
+ },
+ default: {
+ bodyMapper: Mappers.ErrorResponse
+ }
+ },
+ serializer
+};
diff --git a/sdk/automanage/arm-automanage/src/operations/configurationProfileAssignments.ts b/sdk/automanage/arm-automanage/src/operations/configurationProfileAssignments.ts
new file mode 100644
index 000000000000..a8b63ea95c93
--- /dev/null
+++ b/sdk/automanage/arm-automanage/src/operations/configurationProfileAssignments.ts
@@ -0,0 +1,326 @@
+/*
+ * Copyright (c) Microsoft Corporation.
+ * Licensed under the MIT License.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+import * as msRest from "@azure/ms-rest-js";
+import * as msRestAzure from "@azure/ms-rest-azure-js";
+import * as Models from "../models";
+import * as Mappers from "../models/configurationProfileAssignmentsMappers";
+import * as Parameters from "../models/parameters";
+import { AutomanageClientContext } from "../automanageClientContext";
+
+/** Class representing a ConfigurationProfileAssignments. */
+export class ConfigurationProfileAssignments {
+ private readonly client: AutomanageClientContext;
+
+ /**
+ * Create a ConfigurationProfileAssignments.
+ * @param {AutomanageClientContext} client Reference to the service client.
+ */
+ constructor(client: AutomanageClientContext) {
+ this.client = client;
+ }
+
+ /**
+ * Creates an association between a VM and Automanage configuration profile
+ * @param configurationProfileAssignmentName Name of the configuration profile assignment. Only
+ * default is supported.
+ * @param parameters Parameters supplied to the create or update configuration profile assignment.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param vmName The name of the virtual machine.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ createOrUpdate(configurationProfileAssignmentName: string, parameters: Models.ConfigurationProfileAssignment, resourceGroupName: string, vmName: string, options?: msRest.RequestOptionsBase): Promise {
+ return this.beginCreateOrUpdate(configurationProfileAssignmentName,parameters,resourceGroupName,vmName,options)
+ .then(lroPoller => lroPoller.pollUntilFinished()) as Promise;
+ }
+
+ /**
+ * Get information about a configuration profile assignment
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param configurationProfileAssignmentName The configuration profile assignment name.
+ * @param vmName The name of the virtual machine.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ get(resourceGroupName: string, configurationProfileAssignmentName: string, vmName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param configurationProfileAssignmentName The configuration profile assignment name.
+ * @param vmName The name of the virtual machine.
+ * @param callback The callback
+ */
+ get(resourceGroupName: string, configurationProfileAssignmentName: string, vmName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param configurationProfileAssignmentName The configuration profile assignment name.
+ * @param vmName The name of the virtual machine.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ get(resourceGroupName: string, configurationProfileAssignmentName: string, vmName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ get(resourceGroupName: string, configurationProfileAssignmentName: string, vmName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ resourceGroupName,
+ configurationProfileAssignmentName,
+ vmName,
+ options
+ },
+ getOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Delete a configuration profile assignment
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param configurationProfileAssignmentName Name of the configuration profile assignment
+ * @param vmName The name of the virtual machine.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ deleteMethod(resourceGroupName: string, configurationProfileAssignmentName: string, vmName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param configurationProfileAssignmentName Name of the configuration profile assignment
+ * @param vmName The name of the virtual machine.
+ * @param callback The callback
+ */
+ deleteMethod(resourceGroupName: string, configurationProfileAssignmentName: string, vmName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param configurationProfileAssignmentName Name of the configuration profile assignment
+ * @param vmName The name of the virtual machine.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ deleteMethod(resourceGroupName: string, configurationProfileAssignmentName: string, vmName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ deleteMethod(resourceGroupName: string, configurationProfileAssignmentName: string, vmName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ resourceGroupName,
+ configurationProfileAssignmentName,
+ vmName,
+ options
+ },
+ deleteMethodOperationSpec,
+ callback);
+ }
+
+ /**
+ * Get list of configuration profile assignments
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ list(resourceGroupName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param callback The callback
+ */
+ list(resourceGroupName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ list(resourceGroupName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ list(resourceGroupName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ resourceGroupName,
+ options
+ },
+ listOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Get list of configuration profile assignments under a given subscription
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ listBySubscription(options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param callback The callback
+ */
+ listBySubscription(callback: msRest.ServiceCallback): void;
+ /**
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ listBySubscription(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ listBySubscription(options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ options
+ },
+ listBySubscriptionOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Creates an association between a VM and Automanage configuration profile
+ * @param configurationProfileAssignmentName Name of the configuration profile assignment. Only
+ * default is supported.
+ * @param parameters Parameters supplied to the create or update configuration profile assignment.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param vmName The name of the virtual machine.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ beginCreateOrUpdate(configurationProfileAssignmentName: string, parameters: Models.ConfigurationProfileAssignment, resourceGroupName: string, vmName: string, options?: msRest.RequestOptionsBase): Promise {
+ return this.client.sendLRORequest(
+ {
+ configurationProfileAssignmentName,
+ parameters,
+ resourceGroupName,
+ vmName,
+ options
+ },
+ beginCreateOrUpdateOperationSpec,
+ options);
+ }
+}
+
+// Operation Specifications
+const serializer = new msRest.Serializer(Mappers);
+const getOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/providers/Microsoft.Automanage/configurationProfileAssignments/{configurationProfileAssignmentName}",
+ urlParameters: [
+ Parameters.resourceGroupName,
+ Parameters.configurationProfileAssignmentName,
+ Parameters.subscriptionId,
+ Parameters.vmName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.ConfigurationProfileAssignment
+ },
+ default: {
+ bodyMapper: Mappers.ErrorResponse
+ }
+ },
+ serializer
+};
+
+const deleteMethodOperationSpec: msRest.OperationSpec = {
+ httpMethod: "DELETE",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/providers/Microsoft.Automanage/configurationProfileAssignments/{configurationProfileAssignmentName}",
+ urlParameters: [
+ Parameters.resourceGroupName,
+ Parameters.configurationProfileAssignmentName,
+ Parameters.subscriptionId,
+ Parameters.vmName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {},
+ 204: {},
+ default: {
+ bodyMapper: Mappers.ErrorResponse
+ }
+ },
+ serializer
+};
+
+const listOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automanage/configurationProfileAssignments",
+ urlParameters: [
+ Parameters.resourceGroupName,
+ Parameters.subscriptionId
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.ConfigurationProfileAssignmentList
+ },
+ default: {
+ bodyMapper: Mappers.ErrorResponse
+ }
+ },
+ serializer
+};
+
+const listBySubscriptionOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ path: "subscriptions/{subscriptionId}/providers/Microsoft.Automanage/configurationProfileAssignments",
+ urlParameters: [
+ Parameters.subscriptionId
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.ConfigurationProfileAssignmentList
+ },
+ default: {
+ bodyMapper: Mappers.ErrorResponse
+ }
+ },
+ serializer
+};
+
+const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = {
+ httpMethod: "PUT",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/providers/Microsoft.Automanage/configurationProfileAssignments/{configurationProfileAssignmentName}",
+ urlParameters: [
+ Parameters.configurationProfileAssignmentName,
+ Parameters.subscriptionId,
+ Parameters.resourceGroupName,
+ Parameters.vmName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ requestBody: {
+ parameterPath: "parameters",
+ mapper: {
+ ...Mappers.ConfigurationProfileAssignment,
+ required: true
+ }
+ },
+ responses: {
+ 200: {
+ bodyMapper: Mappers.ConfigurationProfileAssignment
+ },
+ 201: {
+ bodyMapper: Mappers.ConfigurationProfileAssignment
+ },
+ default: {
+ bodyMapper: Mappers.ErrorResponse
+ }
+ },
+ serializer
+};
diff --git a/sdk/automanage/arm-automanage/src/operations/configurationProfilePreferences.ts b/sdk/automanage/arm-automanage/src/operations/configurationProfilePreferences.ts
new file mode 100644
index 000000000000..61e7b0ffcd35
--- /dev/null
+++ b/sdk/automanage/arm-automanage/src/operations/configurationProfilePreferences.ts
@@ -0,0 +1,380 @@
+/*
+ * Copyright (c) Microsoft Corporation.
+ * Licensed under the MIT License.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+import * as msRest from "@azure/ms-rest-js";
+import * as Models from "../models";
+import * as Mappers from "../models/configurationProfilePreferencesMappers";
+import * as Parameters from "../models/parameters";
+import { AutomanageClientContext } from "../automanageClientContext";
+
+/** Class representing a ConfigurationProfilePreferences. */
+export class ConfigurationProfilePreferences {
+ private readonly client: AutomanageClientContext;
+
+ /**
+ * Create a ConfigurationProfilePreferences.
+ * @param {AutomanageClientContext} client Reference to the service client.
+ */
+ constructor(client: AutomanageClientContext) {
+ this.client = client;
+ }
+
+ /**
+ * Creates a configuration profile preference
+ * @param configurationProfilePreferenceName Name of the configuration profile preference.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param parameters Parameters supplied to create or update configuration profile preference.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ createOrUpdate(configurationProfilePreferenceName: string, resourceGroupName: string, parameters: Models.ConfigurationProfilePreference, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param configurationProfilePreferenceName Name of the configuration profile preference.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param parameters Parameters supplied to create or update configuration profile preference.
+ * @param callback The callback
+ */
+ createOrUpdate(configurationProfilePreferenceName: string, resourceGroupName: string, parameters: Models.ConfigurationProfilePreference, callback: msRest.ServiceCallback): void;
+ /**
+ * @param configurationProfilePreferenceName Name of the configuration profile preference.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param parameters Parameters supplied to create or update configuration profile preference.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ createOrUpdate(configurationProfilePreferenceName: string, resourceGroupName: string, parameters: Models.ConfigurationProfilePreference, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ createOrUpdate(configurationProfilePreferenceName: string, resourceGroupName: string, parameters: Models.ConfigurationProfilePreference, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ configurationProfilePreferenceName,
+ resourceGroupName,
+ parameters,
+ options
+ },
+ createOrUpdateOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Get information about a configuration profile preference
+ * @param configurationProfilePreferenceName The configuration profile preference name.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ get(configurationProfilePreferenceName: string, resourceGroupName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param configurationProfilePreferenceName The configuration profile preference name.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param callback The callback
+ */
+ get(configurationProfilePreferenceName: string, resourceGroupName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param configurationProfilePreferenceName The configuration profile preference name.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ get(configurationProfilePreferenceName: string, resourceGroupName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ get(configurationProfilePreferenceName: string, resourceGroupName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ configurationProfilePreferenceName,
+ resourceGroupName,
+ options
+ },
+ getOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Delete a configuration profile preference
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param configurationProfilePreferenceName Name of the configuration profile preference
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ deleteMethod(resourceGroupName: string, configurationProfilePreferenceName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param configurationProfilePreferenceName Name of the configuration profile preference
+ * @param callback The callback
+ */
+ deleteMethod(resourceGroupName: string, configurationProfilePreferenceName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param configurationProfilePreferenceName Name of the configuration profile preference
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ deleteMethod(resourceGroupName: string, configurationProfilePreferenceName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ deleteMethod(resourceGroupName: string, configurationProfilePreferenceName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ resourceGroupName,
+ configurationProfilePreferenceName,
+ options
+ },
+ deleteMethodOperationSpec,
+ callback);
+ }
+
+ /**
+ * Updates a configuration profile preference
+ * @param configurationProfilePreferenceName Name of the configuration profile preference.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param parameters Parameters supplied to create or update configuration profile preference.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ update(configurationProfilePreferenceName: string, resourceGroupName: string, parameters: Models.ConfigurationProfilePreferenceUpdate, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param configurationProfilePreferenceName Name of the configuration profile preference.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param parameters Parameters supplied to create or update configuration profile preference.
+ * @param callback The callback
+ */
+ update(configurationProfilePreferenceName: string, resourceGroupName: string, parameters: Models.ConfigurationProfilePreferenceUpdate, callback: msRest.ServiceCallback): void;
+ /**
+ * @param configurationProfilePreferenceName Name of the configuration profile preference.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param parameters Parameters supplied to create or update configuration profile preference.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ update(configurationProfilePreferenceName: string, resourceGroupName: string, parameters: Models.ConfigurationProfilePreferenceUpdate, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ update(configurationProfilePreferenceName: string, resourceGroupName: string, parameters: Models.ConfigurationProfilePreferenceUpdate, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ configurationProfilePreferenceName,
+ resourceGroupName,
+ parameters,
+ options
+ },
+ updateOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Retrieve a list of configuration profile preferences within a given resource group
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ listByResourceGroup(resourceGroupName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param callback The callback
+ */
+ listByResourceGroup(resourceGroupName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ listByResourceGroup(resourceGroupName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ listByResourceGroup(resourceGroupName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ resourceGroupName,
+ options
+ },
+ listByResourceGroupOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Retrieve a list of configuration profile preferences within a subscription
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ listBySubscription(options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param callback The callback
+ */
+ listBySubscription(callback: msRest.ServiceCallback): void;
+ /**
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ listBySubscription(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ listBySubscription(options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ options
+ },
+ listBySubscriptionOperationSpec,
+ callback) as Promise;
+ }
+}
+
+// Operation Specifications
+const serializer = new msRest.Serializer(Mappers);
+const createOrUpdateOperationSpec: msRest.OperationSpec = {
+ httpMethod: "PUT",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automanage/configurationProfilePreferences/{configurationProfilePreferenceName}",
+ urlParameters: [
+ Parameters.configurationProfilePreferenceName,
+ Parameters.subscriptionId,
+ Parameters.resourceGroupName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ requestBody: {
+ parameterPath: "parameters",
+ mapper: {
+ ...Mappers.ConfigurationProfilePreference,
+ required: true
+ }
+ },
+ responses: {
+ 200: {
+ bodyMapper: Mappers.ConfigurationProfilePreference
+ },
+ 201: {
+ bodyMapper: Mappers.ConfigurationProfilePreference
+ },
+ default: {
+ bodyMapper: Mappers.ErrorResponse
+ }
+ },
+ serializer
+};
+
+const getOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automanage/configurationProfilePreferences/{configurationProfilePreferenceName}",
+ urlParameters: [
+ Parameters.configurationProfilePreferenceName,
+ Parameters.subscriptionId,
+ Parameters.resourceGroupName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.ConfigurationProfilePreference
+ },
+ default: {
+ bodyMapper: Mappers.ErrorResponse
+ }
+ },
+ serializer
+};
+
+const deleteMethodOperationSpec: msRest.OperationSpec = {
+ httpMethod: "DELETE",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automanage/configurationProfilePreferences/{configurationProfilePreferenceName}",
+ urlParameters: [
+ Parameters.resourceGroupName,
+ Parameters.configurationProfilePreferenceName,
+ Parameters.subscriptionId
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {},
+ 204: {},
+ default: {
+ bodyMapper: Mappers.ErrorResponse
+ }
+ },
+ serializer
+};
+
+const updateOperationSpec: msRest.OperationSpec = {
+ httpMethod: "PATCH",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automanage/configurationProfilePreferences/{configurationProfilePreferenceName}",
+ urlParameters: [
+ Parameters.configurationProfilePreferenceName,
+ Parameters.subscriptionId,
+ Parameters.resourceGroupName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ requestBody: {
+ parameterPath: "parameters",
+ mapper: {
+ ...Mappers.ConfigurationProfilePreferenceUpdate,
+ required: true
+ }
+ },
+ responses: {
+ 200: {
+ bodyMapper: Mappers.ConfigurationProfilePreference
+ },
+ default: {
+ bodyMapper: Mappers.ErrorResponse
+ }
+ },
+ serializer
+};
+
+const listByResourceGroupOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automanage/configurationProfilePreferences",
+ urlParameters: [
+ Parameters.subscriptionId,
+ Parameters.resourceGroupName
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.ConfigurationProfilePreferenceList
+ },
+ default: {
+ bodyMapper: Mappers.ErrorResponse
+ }
+ },
+ serializer
+};
+
+const listBySubscriptionOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ path: "subscriptions/{subscriptionId}/providers/Microsoft.Automanage/configurationProfilePreferences",
+ urlParameters: [
+ Parameters.subscriptionId
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.ConfigurationProfilePreferenceList
+ },
+ default: {
+ bodyMapper: Mappers.ErrorResponse
+ }
+ },
+ serializer
+};
diff --git a/sdk/automanage/arm-automanage/src/operations/index.ts b/sdk/automanage/arm-automanage/src/operations/index.ts
new file mode 100644
index 000000000000..ea8197996af2
--- /dev/null
+++ b/sdk/automanage/arm-automanage/src/operations/index.ts
@@ -0,0 +1,13 @@
+/*
+ * Copyright (c) Microsoft Corporation.
+ * Licensed under the MIT License.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+export * from "./accounts";
+export * from "./configurationProfileAssignments";
+export * from "./configurationProfilePreferences";
+export * from "./operations";
diff --git a/sdk/automanage/arm-automanage/src/operations/operations.ts b/sdk/automanage/arm-automanage/src/operations/operations.ts
new file mode 100644
index 000000000000..b9c900ad48ed
--- /dev/null
+++ b/sdk/automanage/arm-automanage/src/operations/operations.ts
@@ -0,0 +1,73 @@
+/*
+ * Copyright (c) Microsoft Corporation.
+ * Licensed under the MIT License.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+import * as msRest from "@azure/ms-rest-js";
+import * as Models from "../models";
+import * as Mappers from "../models/operationsMappers";
+import * as Parameters from "../models/parameters";
+import { AutomanageClientContext } from "../automanageClientContext";
+
+/** Class representing a Operations. */
+export class Operations {
+ private readonly client: AutomanageClientContext;
+
+ /**
+ * Create a Operations.
+ * @param {AutomanageClientContext} client Reference to the service client.
+ */
+ constructor(client: AutomanageClientContext) {
+ this.client = client;
+ }
+
+ /**
+ * Lists all of the available Automanage REST API operations.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ list(options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param callback The callback
+ */
+ list(callback: msRest.ServiceCallback): void;
+ /**
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ list(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ list(options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ options
+ },
+ listOperationSpec,
+ callback) as Promise;
+ }
+}
+
+// Operation Specifications
+const serializer = new msRest.Serializer(Mappers);
+const listOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ path: "providers/Microsoft.Automanage/operations",
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.OperationList
+ },
+ default: {
+ bodyMapper: Mappers.ErrorResponse
+ }
+ },
+ serializer
+};
diff --git a/sdk/automanage/arm-automanage/tsconfig.json b/sdk/automanage/arm-automanage/tsconfig.json
new file mode 100644
index 000000000000..422b584abd5e
--- /dev/null
+++ b/sdk/automanage/arm-automanage/tsconfig.json
@@ -0,0 +1,19 @@
+{
+ "compilerOptions": {
+ "module": "es6",
+ "moduleResolution": "node",
+ "strict": true,
+ "target": "es5",
+ "sourceMap": true,
+ "declarationMap": true,
+ "esModuleInterop": true,
+ "allowSyntheticDefaultImports": true,
+ "forceConsistentCasingInFileNames": true,
+ "lib": ["es6", "dom"],
+ "declaration": true,
+ "outDir": "./esm",
+ "importHelpers": true
+ },
+ "include": ["./src/**/*.ts"],
+ "exclude": ["node_modules"]
+}