diff --git a/404.md b/404.md index 218a804d7..4eb6a5562 100644 --- a/404.md +++ b/404.md @@ -2,6 +2,7 @@ # Page settings layout: error-404 title: 404 - Page not found +search_exclude: true # Content settings page_content: diff --git a/_site/ama/index.html b/_site/ama/index.html index 8de359bb3..d295da491 100644 --- a/_site/ama/index.html +++ b/_site/ama/index.html @@ -252,5 +252,14 @@

Advanced D + + + + Search + + + + + diff --git a/_site/assets/js/search-data.json b/_site/assets/js/search-data.json index ff4e176bc..b904265aa 100644 --- a/_site/assets/js/search-data.json +++ b/_site/assets/js/search-data.json @@ -1,652 +1,622 @@ {"0": { - "doc": "404 - Page not found", - "title": "404 - Page not found", - "content": " ", - "url": "http://localhost:4000/404/", - "relUrl": "/404/" - },"1": { "doc": "Mastering SaaS Offers", "title": "Hands-on labs", "content": "The following hands-on labs build upon each other. Perform them in sequential order to get a fully functional SaaS Offer published and working for your test environment. Clone this repository to your local machine. You will need some artifacts from the lab folders to complete the labs. Prerequisites . | Azure subscription that can create resources | A Partner Center Account | Visual Studio 2022, any version | . Labs . | Creating a SaaS Offer in Partner Center | Creating a Landing Page | Installing a Publisher Portal | Deploying and Monitoring a Webhook | Implementing Meter billing | . ", "url": "http://localhost:4000/saas/#hands-on-labs", "relUrl": "/saas/#hands-on-labs" - },"2": { + },"1": { "doc": "Mastering SaaS Offers", "title": "SaaS Offer Overview", "content": "| Video | PDF | . This module offers a technical overview of Microsoft Azure Marketplace SaaS Offers, including the following topics. | The Microsoft Commercial Marketplace Ecosystem​ | SaaS Offer Creation Process​ | ​Pricing Models for SaaS Offers​ | SaaS Solution Architectures | . ", "url": "http://localhost:4000/saas/#saas-offer-overview", "relUrl": "/saas/#saas-offer-overview" - },"3": { + },"2": { "doc": "Mastering SaaS Offers", "title": "Purchasing a SaaS Offer", "content": "| Video | PDF | . This video offers a guided step-by-step process to purchasing SaaS applications in the #Microsoft Azure Marketplace from the customers point of view, including the following topics. | SaaS Offer Subscription Flow | Subscribing From the Azure Marketplace | Subscribing From the Azure Portal | The SaaS Management Service | . ", "url": "http://localhost:4000/saas/#purchasing-a-saas-offer", "relUrl": "/saas/#purchasing-a-saas-offer" - },"4": { + },"3": { "doc": "Mastering SaaS Offers", "title": "Purchasing a Private SaaS Plan", "content": "| Video | PDF | . This video shows how to subscribe to private SaaS plans in the Microsoft Azure Marketplace. Topics include the following. | About Private Plans | Purchasing a SaaS Private Offer demo | . ", "url": "http://localhost:4000/saas/#purchasing-a-private-saas-plan", "relUrl": "/saas/#purchasing-a-private-saas-plan" - },"5": { + },"4": { "doc": "Mastering SaaS Offers", "title": "Publishing a SaaS Offer", "content": "| Video | PDF | . This detailed video presents the concepts of publishing a SaaS offer and then walks through the steps of doing so in Partner Center. This module goes all the way from creating an offer, to adding and plan, and finally publishing the offer live. It also speaks to the need of developers to have a sandbox environment in which they can test and development the landing page and webhook. ", "url": "http://localhost:4000/saas/#publishing-a-saas-offer", "relUrl": "/saas/#publishing-a-saas-offer" - },"6": { + },"5": { "doc": "Mastering SaaS Offers", "title": "Publishing a Private SaaS Plan", "content": "| Video | PDF | . This brief video builds upon what you learned in, “Publishing a SaaS Offer.” It presents the concepts of using private plans and then shows how to do so inside Partner Center. ", "url": "http://localhost:4000/saas/#publishing-a-private-saas-plan", "relUrl": "/saas/#publishing-a-private-saas-plan" - },"7": { + },"6": { "doc": "Mastering SaaS Offers", "title": "SaaS Offer Technical Overview", "content": "| Video | PDF | . Watch a deep technical overview of how SaaS offers work in the Microsoft Azure Marketplace. Learn how the API flows and interactions should work and how to build your landing page. Topics include the following. | The Landing Page​ authentication workflows | SaaS Offer Purchase Flow in Depth​ | SaaS Offer Fulfillment API​ | Metered Fulfillment Overview​ | SaaS Offer Webhook | . ", "url": "http://localhost:4000/saas/#saas-offer-technical-overview", "relUrl": "/saas/#saas-offer-technical-overview" - },"8": { + },"7": { "doc": "Mastering SaaS Offers", "title": "Azure AD Application Registrations", "content": "| Video | PDF | . In this module we look at a generic topic, application registrations for Azure Active Directory because we’ll need to use them in our upcoming modules. They give us a mechanism to authenticate to Azure AD, which is a requirement of the landing page, if you recall. This video should help you get a jump start on configuring application registrations for the apps we’ll be building in the next few modules. NOTE: The secrets that you set in an Application Registration have time limits. You may select up to 2 years for the secret to remain valid. In production, track when your secrets need to be changed and do so to avoid service outages. This module introduces just enough on this topic to help us build our landing page and webhooks later in the course. For those interested in more reading, please see Create and Azure AD app registration and Quick start: Register an application with the Microsoft identity platform from the official Microsoft documentation. ", "url": "http://localhost:4000/saas/#azure-ad-application-registrations", "relUrl": "/saas/#azure-ad-application-registrations" - },"9": { + },"8": { "doc": "Mastering SaaS Offers", "title": "Using the SaaS Offer REST Fulfillment API", "content": "| Video | PDF | . See the SaaS Fulfillment REST API in action as we send it through its paces using Postman. You’ll learn how to authenticate with Azure Active Directory, resolve and activate subscriptions just like your Landing Page does, and see many other features of the API. This module prepares you for working with the language-specific client libraries. You will need knowledge of Application Registrations in AAD. An Application Registration is used in the examples when making the first request to retrieve an authentication token from Azure Active Directory. You should be familiar with creating an Application Registration and finding the following information in the Azure Portal. | The Tenant ID and App ID | A Client Secret on the Application Registration | . ", "url": "http://localhost:4000/saas/#using-the-saas-offer-rest-fulfillment-api", "relUrl": "/saas/#using-the-saas-offer-rest-fulfillment-api" - },"10": { + },"9": { "doc": "Mastering SaaS Offers", "title": "The SaaS Client Library for .NET", "content": "| Video | PDF | Code | . This module introduces the SaaS Client Library for .NET developers who want to work with the SaaS APIs at a level of abstraction above the REST level. The client library is a fully functional .NET package that you can install from NuGet and use in your applications. This video shows a sample command line application that can talk to the client library API and the code is available in this repository via the link above. ", "url": "http://localhost:4000/saas/#the-saas-client-library-for-net", "relUrl": "/saas/#the-saas-client-library-for-net" - },"11": { + },"10": { "doc": "Mastering SaaS Offers", "title": "Building a Simple SaaS Landing Page in .NET", "content": "| Video | PDF | Code | . In this module we examine the elements of building a simple landing page and looking at how it works.We examine the following topics. | The purpose of a landing page | A humble landing page in action | The code | Available data to display | . The technology stack used is C#, ASP.NET MVC, and Razor views, just to keep it simple. We use the SaaS Client Library for .NET to build out our landing page functionality. ", "url": "http://localhost:4000/saas/#building-a-simple-saas-landing-page-in-net", "relUrl": "/saas/#building-a-simple-saas-landing-page-in-net" - },"12": { + },"11": { "doc": "Mastering SaaS Offers", "title": "Building a Simple SaaS Publisher Portal in .NET", "content": "| Video | PDF | Code | . In this module we examine the elements of building a publisher portal and at how it works.We examine the following topics. | The purpose of a publisher portal | A simple publisher portal in action | The code | . The technology stack used is C#, ASP.NET MVC, and Razor views, just to keep it simple. We use the SaaS Client Library for .NET to build out our portal functionality. ", "url": "http://localhost:4000/saas/#building-a-simple-saas-publisher-portal-in-net", "relUrl": "/saas/#building-a-simple-saas-publisher-portal-in-net" - },"13": { + },"12": { "doc": "Mastering SaaS Offers", "title": "SaaS Webhook Overview", "content": "| Video | PDF | . This technical overview of the SaaS webhook explains the following concepts of the SaaS offer webhook. | Why to have this specialized HTTPS endpoint | POST events one may receive on the webhook | Flow models of how to handle requests | Potential fully implemented solution architectures | . And more! Consider watching this video before moving on to the code-based modules for implementing and securing a SaaS offer webhook. ", "url": "http://localhost:4000/saas/#saas-webhook-overview", "relUrl": "/saas/#saas-webhook-overview" - },"14": { + },"13": { "doc": "Mastering SaaS Offers", "title": "Implementing a Simple SaaS Webhook in .NET", "content": "| Video | Code | . This code-heavy module focuses on the fundamentals of implementing a SaaS offer webhook as an Azure function using .NET. Concepts are presented in such a way as to be architecture and technology stack agnostic. ", "url": "http://localhost:4000/saas/#implementing-a-simple-saas-webhook-in-net", "relUrl": "/saas/#implementing-a-simple-saas-webhook-in-net" - },"15": { + },"14": { "doc": "Mastering SaaS Offers", "title": "Securing a Simple SaaS Webhook in .NET", "content": "| Video | PDF | Code | . This security-focused module introduces several techniques for securing a SaaS offer webhook and then dives into code looking at implementations of the techniques presented. This module builds on the concepts and code presented in the module, “Implementing a Simple SaaS Webhook in .NET”. Although utilizing an Azure function built in .NET, topics are presented in such a way as to be architecture and technology stack agnostic. ", "url": "http://localhost:4000/saas/#securing-a-simple-saas-webhook-in-net", "relUrl": "/saas/#securing-a-simple-saas-webhook-in-net" - },"16": { + },"15": { "doc": "Mastering SaaS Offers", "title": "SaaS Metered Billing Overview", "content": "| Video | PDF | . This module presents the fundamentals of billing through the marketplace based on usage, or metered billing. IT covers several areas of metered billing including the following. | How to configure Partner Center | The flow of API operations needed to use the SaaS billing API | Resources to save you time in building your SaaS application | . ", "url": "http://localhost:4000/saas/#saas-metered-billing-overview", "relUrl": "/saas/#saas-metered-billing-overview" - },"17": { + },"16": { "doc": "Mastering SaaS Offers", "title": "The SaaS Metered Billing API with REST", "content": "Video . We exercise the SaaS Billing REST API using Postman to illustrate how the API works. You’ll learn how the inputs to each API event and how to use the results, and finally how to invoke usage events in the metering API itself. This module is primarily demo. ", "url": "http://localhost:4000/saas/#the-saas-metered-billing-api-with-rest", "relUrl": "/saas/#the-saas-metered-billing-api-with-rest" - },"18": { + },"17": { "doc": "Mastering SaaS Offers", "title": "Mastering SaaS Offers", "content": "Let us know what you need in this content library. Get your hands dirty with the hands-on labs. General SaaS Knowledge . | SaaS Offer Overview | Purchasing a SaaS Offer | Purchasing a Private SaaS Plan | Publishing a SaaS Offer | Publishing a Private SaaS Plan | . SaaS Technical Knowledge . | SaaS Offer Technical Overview | Azure AD Application Registrations | Using the SaaS Offer REST Fulfillment API | The SaaS Client Library for .NET | Building a Simple SaaS Landing Page in .NET | Building a Simple SaaS Publisher Portal in .NET | SaaS Webhook Overview | Implementing a Simple SaaS Webhook in .NET | Securing a Simple SaaS Webhook in .NET | SaaS Metered Billing Overview | The SaaS Metered Billing API with REST | . ", "url": "http://localhost:4000/saas/", "relUrl": "/saas/" - },"19": { + },"18": { "doc": "Lab 3.a - Generalize and capture a Windows Image", "title": "Generalize and Capture", "content": "In this module, we will remote into the vm and generalize the Virtual machine . Remote into the Virtual Machine . | On your Azure Portal, navigate to the VM you just created. Click on Connect from the tabs on the left under Settings. | In the RDP blade, select Download RDP file. This will download a copy to your local machine. Double-click the downloaded RDP file. | It will open a popup asking if you recognize the publisher. Click on Connect. | When asked for credentials, make sure to input the username and password you created for the VM. | Accept the certificate and click Yes when prompted. | Voila! You are now inside the VM. | . At this point we want to ensure that the VM doesn’t have any pending updates. Search for Check for Updates and install any updates if there are any pending. Generalize the Virtual Machine . | Open File Explorer inside the VM and navigate to C:\\Windows\\System32\\Sysprep | Run the sysprep application | Check the Generalize checkbox under System cleanup actions | From the Shutdown options dropdown, select Shutdown and click OK . At this point, your VM will process these commands and in a few minutes will close the application on its own. Please note that the VM should NOT be restarted once it is generalized. | . ", "url": "http://localhost:4000/vm/Labs/lab3-generalize-and-capture-image/lab3.a-generalize-and-capture-windows-image/#generalize-and-capture", "relUrl": "/vm/Labs/lab3-generalize-and-capture-image/lab3.a-generalize-and-capture-windows-image/#generalize-and-capture" - },"20": { + },"19": { "doc": "Lab 3.a - Generalize and capture a Windows Image", "title": "Capture the Image", "content": "In this module, we will capture an image from the Generalized VM and store it in a Compute Gallery. We will also define Image definitions within the Compute Gallery for organization. | Navigate to the VM on Azure Portal You will see that the VM has been stopped under VM Status | Click on Capture from the options available on top | . Create an Image . | Select a subscription from the dropdown menu | For Resource Group, select the same resource group we created earlier vmworkshop-rg-YOUR_UNIQUE_STRING. | Under Instance details, select the Yes, share it to a gallery as a VM image version radio button | Under Gallery Details, select Create new and give it a name | For Operating system state, select the Generalized radio button | Click the Create new for Target VM image definition and give your definition a name and click OK | Give your image a version name of 0.0.1 | Lastly click Review + Create at the bottom. Once validation has passed, click Create. | . ", "url": "http://localhost:4000/vm/Labs/lab3-generalize-and-capture-image/lab3.a-generalize-and-capture-windows-image/#capture-the-image", "relUrl": "/vm/Labs/lab3-generalize-and-capture-image/lab3.a-generalize-and-capture-windows-image/#capture-the-image" - },"21": { + },"20": { "doc": "Lab 3.a - Generalize and capture a Windows Image", "title": "Post Image Creation Exercise", "content": "In this exercise we will verify that the image is created and ready to be used. | In your Azure Portal, search for Compute Gallery using the search bar and select your new Compute Gallery | Click on the definition you created | You should now see the version number of the image created as well as verify the Provisioning State is Succeeded and Replication Status is Completed. | . Congratulations! You have now finished this lab. If you are in a live class setting, please raise your hand (even if virtually) to indicate you are done with the lab. ", "url": "http://localhost:4000/vm/Labs/lab3-generalize-and-capture-image/lab3.a-generalize-and-capture-windows-image/#post-image-creation-exercise", "relUrl": "/vm/Labs/lab3-generalize-and-capture-image/lab3.a-generalize-and-capture-windows-image/#post-image-creation-exercise" - },"22": { + },"21": { "doc": "Lab 3.a - Generalize and capture a Windows Image", "title": "Lab 3.a - Generalize and capture a Windows Image", "content": "Note: This lab is part of a series of labs for Mastering the Virtual Machine Offers Workshop. You should finish this lab as well as prior ones before moving on to the next sections. | Generalize and Capture . | Remote into the Virtual Machine | Generalize the Virtual Machine | . | Capture the Image . | Create an Image | . | Post Image Creation Exercise | . ", "url": "http://localhost:4000/vm/Labs/lab3-generalize-and-capture-image/lab3.a-generalize-and-capture-windows-image/", "relUrl": "/vm/Labs/lab3-generalize-and-capture-image/lab3.a-generalize-and-capture-windows-image/" - },"23": { + },"22": { "doc": "Lab 3.b - Generalize and capture a Linux Image", "title": "Generalize and Capture", "content": "In this module, we will ssh into the vm and generalize the Virtual machine . SSH into the Virtual Machine . | On your Azure Portal, navigate to the VM you just created. Click on Connect from the tabs on the left under Settings. | In the SSH blade, paste the local path where the downloaded private key resides into the Private key path textbox. This will generate the command to ssh into the VM below. Copy this command. | Example: when you paste [C:\\Users\\CurrentUser\\Downloads\\vm_key.pem] into textbox 3, command ssh -i [C:\\Users\\CurrentUser\\Downloads\\vm_key.pem] [user]@[ip] will be generated at textbox 4. | Open command prompt locally and paste this copied command and press enter. Type in yes when prompted to authenticate the host. | . Generalize the VM . | In the SSH window, enter this command sudo waagent -deprovision+user | Type Y to continue (you can add the -force parameter to the previous command to avoid the confirmation step). | After the command completes, enter Exit to close the SSH client. | . Stop Virtual Machine . | In the Azure portal, navigate to your VM in your resource group (RG) and de-allocate the VM (Stop). Your VM is now generalized and you can create a new VM using this VM disk. | . ", "url": "http://localhost:4000/vm/Labs/lab3-generalize-and-capture-image/lab3.b-generalize-and-capture-linux-image/#generalize-and-capture", "relUrl": "/vm/Labs/lab3-generalize-and-capture-image/lab3.b-generalize-and-capture-linux-image/#generalize-and-capture" - },"24": { + },"23": { "doc": "Lab 3.b - Generalize and capture a Linux Image", "title": "Capture the Image", "content": "In this module, we will capture an image from the Generalized VM and store it in a Compute Gallery. We will also define Image definitions within the Compute Gallery for organization. | Navigate to the VM on Azure Portal. You will see that the VM has been stopped under VM Status | Click on Capture from the options available on top | . Create an Image . | Select a subscription from the dropdown menu | For Resource Group, select the same resource group we created earlier vmworkshop-rg-YOUR_UNIQUE_STRING. | Under Instance details, select the Yes, share it to a gallery as a VM image version radio button | Under Gallery Details, select Create new and give it a name | For Operating system state, select the Generalized radio button | Click the Create new for Target VM image definition and give your definition a name and click OK | Give your image a version name of 0.0.1 | Lastly click Review + Create at the bottom. Once validation has passed, click Create. | . ", "url": "http://localhost:4000/vm/Labs/lab3-generalize-and-capture-image/lab3.b-generalize-and-capture-linux-image/#capture-the-image", "relUrl": "/vm/Labs/lab3-generalize-and-capture-image/lab3.b-generalize-and-capture-linux-image/#capture-the-image" - },"25": { + },"24": { "doc": "Lab 3.b - Generalize and capture a Linux Image", "title": "Post Image Creation Exercise", "content": "In this exercise we will verify that the image is created and ready to be used. | In your Azure Portal, search for Compute Gallery using the search bar and select your new Compute Gallery | Click on the definition you created | You should now see the version number of the image created as well as verify the Provisioning State is Succeeded and Replication Status is Completed. | . Congratulations! You have now finished this lab. If you are in a live class setting, please raise your hand (even if virtually) to indicate you are done with the lab. ", "url": "http://localhost:4000/vm/Labs/lab3-generalize-and-capture-image/lab3.b-generalize-and-capture-linux-image/#post-image-creation-exercise", "relUrl": "/vm/Labs/lab3-generalize-and-capture-image/lab3.b-generalize-and-capture-linux-image/#post-image-creation-exercise" - },"26": { + },"25": { "doc": "Lab 3.b - Generalize and capture a Linux Image", "title": "Lab 3.b - Generalize and capture a Linux Image", "content": "Note: This lab is part of a series of labs for Mastering the Virtual Machine Offers Workshop. You should finish this lab as well as prior ones before moving on to the next sections. | Generalize and Capture . | SSH into the Virtual Machine | Generalize the VM | Stop Virtual Machine | . | Capture the Image . | Create an Image | . | Post Image Creation Exercise | . ", "url": "http://localhost:4000/vm/Labs/lab3-generalize-and-capture-image/lab3.b-generalize-and-capture-linux-image/", "relUrl": "/vm/Labs/lab3-generalize-and-capture-image/lab3.b-generalize-and-capture-linux-image/" - },"27": { + },"26": { "doc": "Lab 3 - Generalize and Capture Image", "title": "Prerequisites before starting these labs", "content": ". | Access to the Azure Portal on the same tenant as is on Partner Center | Have an Azure Subscription in order to create and pay for usage of created resources | . ", "url": "http://localhost:4000/vm/Labs/lab3-generalize-and-capture-image/#prerequisites-before-starting-these-labs", "relUrl": "/vm/Labs/lab3-generalize-and-capture-image/#prerequisites-before-starting-these-labs" - },"28": { + },"27": { "doc": "Lab 3 - Generalize and Capture Image", "title": "Lab 3.a: Create a Windows Virtual Machine", "content": "In this lab you will generalize and capture the Windows based Virtual Machine you created in the previous lab. ", "url": "http://localhost:4000/vm/Labs/lab3-generalize-and-capture-image/#lab-3a-create-a-windows-virtual-machine", "relUrl": "/vm/Labs/lab3-generalize-and-capture-image/#lab-3a-create-a-windows-virtual-machine" - },"29": { + },"28": { "doc": "Lab 3 - Generalize and Capture Image", "title": "Lab 3.b: Create a Linux Virtual Machine", "content": "In this lab you will generalize and capture the Linux based Virtual Machine you created in the previous lab. ", "url": "http://localhost:4000/vm/Labs/lab3-generalize-and-capture-image/#lab-3b-create-a-linux-virtual-machine", "relUrl": "/vm/Labs/lab3-generalize-and-capture-image/#lab-3b-create-a-linux-virtual-machine" - },"30": { + },"29": { "doc": "Lab 3 - Generalize and Capture Image", "title": "Lab 3 - Generalize and Capture Image", "content": "Note: This lab has 2 modules and you should choose the appropriate lab based on your previous selection. | Prerequisites before starting these labs | Lab 3.a: Create a Windows Virtual Machine | Lab 3.b: Create a Linux Virtual Machine | . ", "url": "http://localhost:4000/vm/Labs/lab3-generalize-and-capture-image/", "relUrl": "/vm/Labs/lab3-generalize-and-capture-image/" - },"31": { + },"30": { "doc": "Lab 5 - Purchase your Offer", "title": "Prerequisites before starting this lab", "content": ". | Access to the Azure Portal on the same tenant as is on Partner Center | An active Azure Subscription to pay for resource creation | . ", "url": "http://localhost:4000/vm/Labs/lab5-purchase-your-offer/#prerequisites-before-starting-this-lab", "relUrl": "/vm/Labs/lab5-purchase-your-offer/#prerequisites-before-starting-this-lab" - },"32": { + },"31": { "doc": "Lab 5 - Purchase your Offer", "title": "Purchase your Offer", "content": ". | Navigate to the offer link shown on Partner Center in the Offer Overview page | Select the plan you want to purchase from the drop down list and click Create | Under the Basics tab, configure the Subscription, Resource Group, Virtual Machine name and size based on your requirements (you may leave it default) | Switch over to Disks tab and select Standard HDD for OS Disk Type. Leave the rest default and click on Review + create at the bottom | ONce validation has passed, reverify the configuration details and click Create. This will start the deployment of your VM based on the plan selected. | Once deployment has succeeded, navigate to the resource group that hosts the new vm and copt the Public IP of the Virtual Machine. | Open a new tab and paste the copied Public IP. You will now see the deployed server page with the customized message you added in the Post Deployment script during VM creation. | . Congratulations! You have now successfully completed this lab as well as purchased the offer the you created. You can now explore and create new images based on production requirements . If you are in a live class setting, please raise your hand (even if virtually) to indicate you are done with the lab. ", "url": "http://localhost:4000/vm/Labs/lab5-purchase-your-offer/#purchase-your-offer", "relUrl": "/vm/Labs/lab5-purchase-your-offer/#purchase-your-offer" - },"33": { + },"32": { "doc": "Lab 5 - Purchase your Offer", "title": "Lab 5 - Purchase your Offer", "content": "Note: This lab is part of a series of labs for Mastering the Virtual Machine Offers Workshop. You should finish this lab before moving on to the next sections. | Prerequisites before starting this lab | Purchase your Offer | . ", "url": "http://localhost:4000/vm/Labs/lab5-purchase-your-offer/", "relUrl": "/vm/Labs/lab5-purchase-your-offer/" - },"34": { + },"33": { "doc": "Lab 4 - Publish your VM Offer", "title": "Plan Overview", "content": "In this lab, we will complete the rest of the required setup on Partner Center to publish our offer. At this point, the only section that should need completion is Plan Overview. If you have any other sections pending completion, please refer to the previous labs. Permissions for Shared Image Gallery . If your Partner Center account is the owner of the subscription hosting Azure Compute Gallery, nothing further is needed for permissions. If you are not the owner of the subscription that created the shared image gallery, you will need to assign appropriate permissions in order to share the image on Partner Center. Follow the below steps: . | Go to the Azure Compute Gallery. | Select Access control (IAM) on the left panel. | Select Add, then Add role assignment. | The add role assignment window is shown. For Role, select Owner. | For Assign access to, select User, group, or service principal. | For Select, enter the Azure email of the person who will publish the image. Select Save. | . Create a plan on Partner center . | Go to your Partner center account inside the Draft VM offer. | Select the Plan overview section and click on New Plan. Give your plan a unique Plan Id and Plan name and hit Create. | In the Plan listing tab, give your plan a name, description and summary. | Open the Pricing and avaialbility tab next. | Add the required market in the Edit Market section. | Next select the Free plan under Price input options | Switch the plan visibility to Private and put in your Tenant and Subscription Id and click on Save Draft | Go to the Technical Configuration tab next and select the Operating System family based on your OS type | Select the Vendor and OS friendly name. | Select D2 Standard v3 from Recommended VM sizes. | Select the appropriate properties depending on if you used extensions/cloud init | Select the image type, Gen1/Gen2 based on the base image you selected in the VM Creation Lab | Lastly add the image by putting a version number and selecting the image from the created image gallery. | . Review and Publish . Finally click on Review and publish. Youshould now see green checkmarks against all the sections and you are now ready to publish. Click on Publish at the bottom to start the publishing process. Congratulations! You have now finished this lab. If you are in a live class setting, please raise your hand (even if virtually) to indicate you are done with the lab. ", "url": "http://localhost:4000/vm/Labs/lab4-publish-your-vm-offer/#plan-overview", "relUrl": "/vm/Labs/lab4-publish-your-vm-offer/#plan-overview" - },"35": { + },"34": { "doc": "Lab 4 - Publish your VM Offer", "title": "Lab 4 - Publish your VM Offer", "content": "Note: This lab is part of a series of labs for Mastering the Virtual Machine Offers Workshop. You should finish prior ones before moving on to the next sections. | Plan Overview . | Permissions for Shared Image Gallery | Create a plan on Partner center | Review and Publish | . | . ", "url": "http://localhost:4000/vm/Labs/lab4-publish-your-vm-offer/", "relUrl": "/vm/Labs/lab4-publish-your-vm-offer/" - },"36": { + },"35": { "doc": "Lab 1 - Partner Center Setup for a Virtual Machine Offer", "title": "Prerequisites before starting this lab", "content": ". | Partner Center Account with enrollment in the commercial marketplace program | Access to the Azure Portal on the same tenant as is on Partner Center (Same tenancy is required to ensure you can publish images out of Azure Compute Galleries, more on this in the later modules). | . ", "url": "http://localhost:4000/vm/Labs/lab1-partner-center-setup/#prerequisites-before-starting-this-lab", "relUrl": "/vm/Labs/lab1-partner-center-setup/#prerequisites-before-starting-this-lab" - },"37": { + },"36": { "doc": "Lab 1 - Partner Center Setup for a Virtual Machine Offer", "title": "Create a new Virtual Machine Offer", "content": "In this section you will be creating a brand new VM Offer from scratch. This will be used for publishing the offer once the rest of your labs are completed. The following steps will create an offer on your Partner Center Portal. | On the Homepage of Partner Center, look for Marketplace Offers and click that tile. If you have disabled Workspaces, then it will be visible as Commercial Marketplace. | Click the + New Offer button and select Azure Virtual Machine from the dropdown. | You will now have to enter a unique Offer ID and an Offer Alias. For the purpose of uniformity for this lab, we will set a unique string to identify resources, like so, . | Offer ID: vmworkshop-YOUR_UNIQUE_STRING | Offer Alias: VM Workshop YOUR_UNIQUE_STRING | . Replace the variable YOUR_UNIQUE_STRING with a name unique to your organization . | . Once the offer is created, navigate to the Offer Setup page by clicking on that tab on the left . Offer Setup . Offer Setup page will direct you with ways to change your offer alias as well as enable Test Drive. For the purpose of this lab, we will leave everything as is and only configure the Customer leads section. Customer leads . Here, you will attach your offer to an Azure Data Storage table which will act as a connected Customer Relationship Management system (CRM) for your offer. Create the Azure Storage account . This is the first time you’re using the Azure portal for this class. It is recommended that you install all the resources you’ll create in this class into the same Resource Group, just to keep things tidy within your Azure subscription. | Open a new tab for the Azure portal and log in. | Create a Resource Group named vmworkshop-YOUR_UNIQUE_STRING. Please note that this is the same unique string you added while creating the offer. | In the vmworkshop-YOUR_UNIQUE_STRING Resource Group, create a standard Azure Storage account. This will be your CRM database, so name it **vmworkshopsayouruniquestring **. Note all characters are lower case for naming a storage account. | Once the storage account is created, browse to the storage account’s overview page. | In the left-hand menu, find the Security + networking section. | In that section, find and click on the Access keys link. | At the top of the page, click the Show keys link, and you see the connection strings for the database. | Copy a connection string to your copy/paste buffer. | . Configure Customer Leads in Partner Center . | Go back to the Partner Center tab in your browser. | Select the Connect link. | From the Lead destination dropdown, select Azure Table. | Enter your Contact email and paste in your Storage account connection string. | Click the Validate link to ensure your connection string is valid. | Click Connect. For each page, you must click the Save draft at the bottom of the page to move on. | Click Save draft at the bottom of the page. | . Properties . You will now navigate to the Properties page by selecting the Properties tab on the left. Categories . You must select at least one category for your offer. Virtual machine offers always appear under the Compute category in Azure Marketplace. For this lab we will be selecting the below configurations. | Click the + Categories link. | In the left dropdown, select Compute. | In the right dropdown, select Application Infrastructure. | . Legal . We will be using the Microsoft Standard Contract for this lab. You may choose differently when you are publishing to the prod environment. | Scroll down to the Legal section. | Select Use the Standard Contract for Microsoft’s commercial marketplace? checkbox | Click Accept. | Click the Save draft button. | . Offer listing . Navigate to the Offer listing page. | In the the Offer listing section, for Search results summary enter VM Workshop summary. | For Short Description and Description, here is some text you may choose to copy and paste into the text box. Quis aute iure reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint obcaecat cupiditat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. | In the Privacy policy link, enter the public link to the privacy policy for your company if you know it. If not, follow this link to Microsoft’s privacy policy and use that URL. Please note that using Microsoft’s privacy policy is only for the purpose of this lab and should not be used for your production offer. | In the Customer Support links section, enter Azure support website information (Optional) | In the Partner Support Contact section, enter your contact information. | In the Engineering Contact section, enter your engineering contact information. | In the Cloud Solution Provider Program Contact section, enter the appropriate contact information (Optional) . | For the Marketplace media section you’ll upload 2 images. | For the 216X216 logo image, upload the PNG provided in the ./items directory of lab1. This PNG is named “Contoso-Logo-216x216.png.” | For the 1280X720 screenshot image, upload the PNG provided in the ./items directory of lab1. This PNG is named “Screenshots-1280x720.png.” | Add a screenshot image caption. | . | Click the Save draft button and correct any errors that be shown before moving on. | . Preview audience . | In the Preview audience section, enter your Azure subscription Id. | Enter a Description (Optional). | Click Save draft. | . Technical configuration . Skip this section for this first lab. Plan overview . Skip this section for this lab. Resell through CSPs . Finally navigate to the Resell through CSPs tab. | Select “No partners in the CSP program.” | Click the Save draft button at the bottom of the screen. | . ", "url": "http://localhost:4000/vm/Labs/lab1-partner-center-setup/#create-a-new-virtual-machine-offer", "relUrl": "/vm/Labs/lab1-partner-center-setup/#create-a-new-virtual-machine-offer" - },"38": { + },"37": { "doc": "Lab 1 - Partner Center Setup for a Virtual Machine Offer", "title": "Review and Publish", "content": "In this short exercise, you will check your work by performing the first action of the publication process. You will submit your offer for review to see if it is ready to be published. | Open your offer’s overview page. | In the upper right corner of the page, click the link for Review and publish. | Looking to the right side of the page, notice that some sections have a green circle and at least one is gray. The gray sections are not yet complete, preventing you from taking the next step of publishing your offer. The Plan overview section of the offer will not pass review. This is okay for now as we need to fill out the Plan overview tab and you can’t do that until we have a VM image. All other sections should be green. | Go back to all sections that appear with a gray circle and complete those sections with the guidance provided above. | Ensure all sections pass except Plan overview, which will be addressed in the next lab. | . Congratulations! You have now finished this lab. If you are in a live class setting, please raise your hand (even if virtually) to indicate you are done with the lab. ", "url": "http://localhost:4000/vm/Labs/lab1-partner-center-setup/#review-and-publish", "relUrl": "/vm/Labs/lab1-partner-center-setup/#review-and-publish" - },"39": { + },"38": { "doc": "Lab 1 - Partner Center Setup for a Virtual Machine Offer", "title": "Lab 1 - Partner Center Setup for a Virtual Machine Offer", "content": "Note: This lab is part of a series of labs for Mastering the Virtual Machine Offers Workshop. You should finish this lab before moving on to the next sections. | Prerequisites before starting this lab | Create a new Virtual Machine Offer . | Offer Setup | Properties | Offer listing | Preview audience | Technical configuration | Plan overview | Resell through CSPs | . | Review and Publish | . ", "url": "http://localhost:4000/vm/Labs/lab1-partner-center-setup/", "relUrl": "/vm/Labs/lab1-partner-center-setup/" - },"40": { + },"39": { "doc": "Lab 2.b - Create a Linux Virtual Machine", "title": "Upload Post Deployment Script", "content": ". | Clone the repository to access files in scripts folder | Navigate to the Homepage of Azure Portal | Use the Search bar to search for Storage Accounts and hit enter. Select the vmworkshopsayouruniquestring Storage account we created in the previous lab. | In the left pane, look for Data Storage and select Containers | Click on + Container to create a new container . | Enter script as the new container name | Select Blob for Public access level | Click Create at the bottom of the page | . | Open the new container, select Upload and upload the cloned script named custom_extension_linux.sh | If you open this script in VS Code or Notepad, you will see that it is running commands to install a web server and update the Virtual machine | . ", "url": "http://localhost:4000/vm/Labs/lab2-vm-creation/lab2.b-create-a-linux-virtual-machine/#upload-post-deployment-script", "relUrl": "/vm/Labs/lab2-vm-creation/lab2.b-create-a-linux-virtual-machine/#upload-post-deployment-script" - },"41": { + },"40": { "doc": "Lab 2.b - Create a Linux Virtual Machine", "title": "Create a Virtual Machine", "content": ". | Navigate to the Homepage of Azure Portal | Click on the + Create a resource button underneath Azure services | Use the Search bar to search for Virtual Machine and hit enter. Select the Virtual Machine offered by Microsoft Azure Service and click on Create | . At this point you will be taken to the Virtual Machine service with several blades for configuration. Basics . Project Details . | Select the Subscription from the dropdown menu to select which subscription will pay for the VM and other resource usage | To create a new Resource Group, click on Create New and name your resource group as vmworkshop-rg-YOUR_UNIQUE_STRING. Please make sure to follow the same convention for ease of access and understanding. Note that all the resources we create for the labs will reside within this new resource group . | . Instance Details . | Name your Virtual Machine vmworkshop-YOUR_UNIQUE_STRING | Select the Region you are in from the dropdown menu | Under Availability options, select No infrastructure redundancy required | Select Standard Security type | For Image, click on See all images and select Ubuntu Server 20.04 LTS - Gen2. Configure the generation from the Configure VM Generation link below if necessary. | For size, click on See all sizes and select Standard_B2ms. This is sufficient to run this lab and will cost around $60/month, but regardless we will stop this virtual machine as soon as we generalize and capture the VM, so usage should be very low. | . Administrator Account . | Select SSH public key as authentication type | Enter the username of your choice | Select Generate a new key pair from the dropdown for SSH public key source | Eneter the name of your Key pair | . Inbound Port Rules . | Select the Allow selected ports radio button for Public inbound ports | For Select Inbound ports Select HTTP as well as SSH | Leave the rest as is and Click Next : Disks > | . Disks . Disk Options . | For OS Disk Type, select Standard HDD (locally-redundant storage) | . Leave the rest of the fields as is on the page and click on Next : Networking > . Networking . Network interface . | For Virtual network, Subnet, Public IP keep the default values as is. This will create a new VM, Subnet and Public IP with the default variable names | Ensure Select inbound ports has HTTP and SSH checked | . Leave the rest as is and click on Next : Management > . Management . Do not change anything in this section and simply click on Next : Advanced > . Advanced . We may use the Advanced blade to customize the VM in two ways. Firstly using Custom Script Extensions and secondly using cloud init. In this module we will demonstrate both, but you should choose to do only once since both paths will essentially do the same flow of changes. OPTION A. Using cloud init . | Navigate to the custom data and cloud init section | Copy the code from the custom_extension_linux.sh script in this repository and paste it as is | . (or) . OPTION B. Using Extensions . | Click on Select an extension to install | From the display card, select Custom Script For Linux and click on Next | For Script file, browse for the vmworkshopsayouruniquestring storage account, select script and look for the custom_extension_linux.sh Block blob and select it. [If you dont see storage account, please make sure it is in the same region as the VM which is being created] | Under command, modify it to sh custom_extension_linux.sh | . Select Review + create button at the bottom of the Advanced blade . Review + create . | In this blade, you should ensure that you receive the Validation Passed message at the top. If for any reason you receive a Validation failed message, you should go back and review the fields in red. | Lastly take a look at the configurations you have selected and click Create | . Generate New Keypair . | A popup will show on the screen to indicate creation of a new Key pair | Select Download private key and create resource and save it | . Post VM Creation Exercise . | At this point your deployment will start and show an in progress status. | Once the deployment is complete, select Go to resource | Copy Public IP Address from the created VM and paste it into a browser of your choice. This will show a public facing IP on the internet with a custom Welcome screen. | Once you see the custom welcome screen, you know that the post deployment script has done its job. | . Congratulations! You have now finished this lab. If you are in a live class setting, please raise your hand (even if virtually) to indicate you are done with the lab. ", "url": "http://localhost:4000/vm/Labs/lab2-vm-creation/lab2.b-create-a-linux-virtual-machine/#create-a-virtual-machine", "relUrl": "/vm/Labs/lab2-vm-creation/lab2.b-create-a-linux-virtual-machine/#create-a-virtual-machine" - },"42": { + },"41": { "doc": "Lab 2.b - Create a Linux Virtual Machine", "title": "Lab 2.b - Create a Linux Virtual Machine", "content": "Note: This lab is part of a series of labs for Mastering the Virtual Machine Offers Workshop. You should finish this lab as well as prior ones before moving on to the next sections. | Upload Post Deployment Script | Create a Virtual Machine . | Basics | Disks | Networking | Management | Advanced | Review + create | Generate New Keypair | Post VM Creation Exercise | . | . ", "url": "http://localhost:4000/vm/Labs/lab2-vm-creation/lab2.b-create-a-linux-virtual-machine/", "relUrl": "/vm/Labs/lab2-vm-creation/lab2.b-create-a-linux-virtual-machine/" - },"43": { + },"42": { "doc": "Lab 2.a - Create a Windows Virtual Machine", "title": "Upload Post Deployment Script", "content": ". | Clone the repository to access files in scripts folder | Navigate to the Homepage of Azure Portal | Use the Search bar to search for Storage Accounts and hit enter. Select the vmworkshopsayouruniquestring Storage account we created in the previous lab. | In the left pane, look for Data Storage and select Containers | Click on + Container to create a new container . | Enter script as the new container name | Select Blob for Public access level | Click Create at the bottom of the page | . | Open the new container, select Upload and upload the cloned script named custom_extension_windows.ps1 | If you open this script in VS Code or Notepad, you will see that it is running commands to install a web server and update the Virtual machine | . ", "url": "http://localhost:4000/vm/Labs/lab2-vm-creation/lab2.a-create-a-windows-virtual-machine/#upload-post-deployment-script", "relUrl": "/vm/Labs/lab2-vm-creation/lab2.a-create-a-windows-virtual-machine/#upload-post-deployment-script" - },"44": { + },"43": { "doc": "Lab 2.a - Create a Windows Virtual Machine", "title": "Create a Virtual Machine", "content": ". | Navigate to the Homepage of Azure Portal | Click on the + Create a resource button underneath Azure services | Use the Search bar to search for Virtual Machines and hit enter. Select the Virtual Machine offered by Microsoft Azure Service and click on Create | . At this point you will be taken to the Virtual Machine service with several blades for configuration. Basics . Project Details . | Select the Subscription from the dropdown menu to select which subscription will pay for the VM and other resource usage | To create a new Resource Group, click on Create New and name your resource group as vmworkshop-rg-YOUR_UNIQUE_STRING. Please make sure to follow the same convention for ease of access and understanding. Note that all the resources we create for the labs will reside within this new resource group . | . Instance Details . | Name your Virtual Machine vmworkshop-YOUR_UNIQUE_STRING | Select the Region you are in from the dropdown menu | Under Availability options, select No infrastructure redundancy required | Select Standard Security type | For Image, click on See all images and select Windows Server 2019 Datacenter - Gen1. Configure the generation from the Configure VM Generation link below if necessary. | For size, click on See all sizes and select Standard_B2ms. This is sufficient to run this lab and will cost around $60/month, but regardless we will stop this virtual machine as soon as we generalize and capture the VM, so usage should be very low. | . Administrator Account . | Enter the username of your choice | Enter a strong password of your choice | Confirm the strong password | . Inbound Port Rules . | Select the Allowed selected ports radio button for Public inbound ports | For Select Inbound ports Select HTTP, RDP as well as HTTPS | Leave the rest as is and Click Next : Disks > | . Disks . Disk Options . | For OS Disk Type, select Standard HDD (locally-redundant storage | . Leave the rest of the fields as is on the page and click on Next : Networking > . Networking . Network interface . | For Virtual network, Subnet, Public IP keep the default values as is. This will create a new VM, Subnet and Public IP with the default variable names | Ensure Select inbound ports has HTTP, RDP and HTTPS checked | . Leave the rest as is and click on Next : Management > . Management . Do not change anything in this section and simply click on Next : Advanced > . Advanced . Extensions . | Click on Select an extension to install | From the display card, select Custom Script Extension and click on Next | For Script file, browse for the vmworkshopsayouruniquestring storage account, select script and look for the custom_extension_windows.ps1 Block blob and select it. Lastly click Select at the bottom of the page. [If you dont see storage account, please make sure it is in the same region as the VM which is being created] | Now click Create under the Configure Custom Script Extension blade . | Select Review + create button at the bottom of the Advanced blade | . Review + create . | In this blade, you should ensure that you receive the Validation Passed message at the top. If for any reason you receive a Validation failed message, you should go back and review the fields in red. | Lastly take a look at the configurations you have selected and click Create | . Post VM Creation Exercise . | At this point your deployment will start and show an in progress status. | Once the deployment is complete, select Go to resource | Copy Public IP Address from the created VM and paste it into a browser of your choice. This will show a public facing IP on the internet with a custom Welcome screen. | Once you see the custom welcome screen, you know that the post deployment script has done its job. | . Windows Update Manually . In this module, we will remote into the vm and install an update manually. | On your Azure Portal, navigate to the VM you just created. Click on Connect from the tabs on the left under Settings. | In the RDP blade, select Download RDP file. This will download a copy to your local machine. Double-click the downloaded RDP file. | It will open a popup asking if you recognize the publisher. Click on Connect. | When asked for credentials, make sure to input the username and password you created for the VM. | Accept the certificate and click Yes when prompted. | Voila! You are now inside the VM. | Once the system is setup, search for Check for Updates in the VM and install all available updates . Note: Update all the shown updates before going further. Failure to do so will render your publish process on Partner center with errors . | . Congratulations! You have now finished this lab. If you are in a live class setting, please raise your hand (even if virtually) to indicate you are done with the lab. ", "url": "http://localhost:4000/vm/Labs/lab2-vm-creation/lab2.a-create-a-windows-virtual-machine/#create-a-virtual-machine", "relUrl": "/vm/Labs/lab2-vm-creation/lab2.a-create-a-windows-virtual-machine/#create-a-virtual-machine" - },"45": { + },"44": { "doc": "Lab 2.a - Create a Windows Virtual Machine", "title": "Lab 2.a - Create a Windows Virtual Machine", "content": "Note: This lab is part of a series of labs for Mastering the Virtual Machine Offers Workshop. You should finish this lab as well as prior ones before moving on to the next sections. | Upload Post Deployment Script | Create a Virtual Machine . | Basics | Disks | Networking | Management | Advanced | Review + create | Post VM Creation Exercise | Windows Update Manually | . | . ", "url": "http://localhost:4000/vm/Labs/lab2-vm-creation/lab2.a-create-a-windows-virtual-machine/", "relUrl": "/vm/Labs/lab2-vm-creation/lab2.a-create-a-windows-virtual-machine/" - },"46": { + },"45": { "doc": "Lab 2 - Create a Virtual Machine", "title": "Prerequisites before starting these labs", "content": ". | Access to the Azure Portal on the same tenant as is on Partner Center | Have an Azure Subscription in order to create and pay for usage of created resources | . ", "url": "http://localhost:4000/vm/Labs/lab2-vm-creation/#prerequisites-before-starting-these-labs", "relUrl": "/vm/Labs/lab2-vm-creation/#prerequisites-before-starting-these-labs" - },"47": { + },"46": { "doc": "Lab 2 - Create a Virtual Machine", "title": "Lab 2.a: Create a Windows Virtual Machine", "content": "In this lab you will create a Windows based Virtual Machine. If you choose to go with this lab, you will have to choose the same base image labs for the next sections as well. ", "url": "http://localhost:4000/vm/Labs/lab2-vm-creation/#lab-2a-create-a-windows-virtual-machine", "relUrl": "/vm/Labs/lab2-vm-creation/#lab-2a-create-a-windows-virtual-machine" - },"48": { + },"47": { "doc": "Lab 2 - Create a Virtual Machine", "title": "Lab 2.b: Create a Linux Virtual Machine", "content": "In this lab you will create a Linux based Virtual Machine. If you choose to go with this lab, you will have to choose the same base image labs for the next sections as well. You will configure the size, availability considerations as well as use a post deployment script to install a web server within the same server. ", "url": "http://localhost:4000/vm/Labs/lab2-vm-creation/#lab-2b-create-a-linux-virtual-machine", "relUrl": "/vm/Labs/lab2-vm-creation/#lab-2b-create-a-linux-virtual-machine" - },"49": { + },"48": { "doc": "Lab 2 - Create a Virtual Machine", "title": "Lab 2 - Create a Virtual Machine", "content": "Note: This lab has 2 modules and you may choose ANY ONE of the two to proceed further. Your choice of Lab will have an effect on future modules, so ensure to work with the right lab before moving forward. | Prerequisites before starting these labs | Lab 2.a: Create a Windows Virtual Machine | Lab 2.b: Create a Linux Virtual Machine | . ", "url": "http://localhost:4000/vm/Labs/lab2-vm-creation/", "relUrl": "/vm/Labs/lab2-vm-creation/" - },"50": { + },"49": { "doc": "Mastering Virtual Machine Offers", "title": "Hands-on labs", "content": "The following hands-on labs build upon each other. They take you through the complete process of creating and publishing a virtual machine offer in the Microsoft commercial marketplace. Clone this repository to your local machine. You will need some artifacts from the lab folders to complete the labs. Prerequisites . | An Azure Subscription to create resources | An active Partner Center Account (Please ensure you have enrolled into the Marketplace Offers program) | Visual Studio Code or other text editor | . Labs . | Partner Center Setup | VM Creation | Generalize and Capture Image | Publish the Offer | Purchase your Offer | . ", "url": "http://localhost:4000/vm/#hands-on-labs", "relUrl": "/vm/#hands-on-labs" - },"51": { + },"50": { "doc": "Mastering Virtual Machine Offers", "title": "Creating Virtual Machine Offers Overview", "content": "Video . This introductory module takes you from start to finish in creating and publishing virtual machine offers in the Microsoft commercial marketplace. Get an overview of the process from beginning to end before embarking on the more technical details in later modules. ", "url": "http://localhost:4000/vm/#creating-virtual-machine-offers-overview", "relUrl": "/vm/#creating-virtual-machine-offers-overview" - },"52": { + },"51": { "doc": "Mastering Virtual Machine Offers", "title": "Partner Center Overview", "content": "Video . Learn about creating your offers in Partner Center, including private plans, CRM integration, and more. ", "url": "http://localhost:4000/vm/#partner-center-overview", "relUrl": "/vm/#partner-center-overview" - },"53": { + },"52": { "doc": "Mastering Virtual Machine Offers", "title": "Creating an Offer in Partner Center (Demo)", "content": "Video . See how to create an offer in Partner Center to include creating the offer, configuring a basic CRM integration, specifying offer properties, listing details, and resell with CSP settings. This video does not go into the specifics of creating the Virtual Machine plans for the offer, which will be seen in a later demo. ", "url": "http://localhost:4000/vm/#creating-an-offer-in-partner-center-demo", "relUrl": "/vm/#creating-an-offer-in-partner-center-demo" - },"54": { + },"53": { "doc": "Mastering Virtual Machine Offers", "title": "Creating and Customizing a Virtual Machine (Demo)", "content": "Video . Learn how to not only create a Virtual Machine, but how to customize it by adding scripts or applications. This is a required step in creating your Virtual Machine offer so that the Virtual Machine itself has your intellectual property installed on it. ", "url": "http://localhost:4000/vm/#creating-and-customizing-a-virtual-machine-demo", "relUrl": "/vm/#creating-and-customizing-a-virtual-machine-demo" - },"55": { + },"54": { "doc": "Mastering Virtual Machine Offers", "title": "Generalizing and Capturing a Virtual Machine Image", "content": "Video . Learn what it means to generalize and capture a Virtual Machine so it can be made available in your offer. The examples provided in this overview pertain to both Windows and Linux machines. ", "url": "http://localhost:4000/vm/#generalizing-and-capturing-a-virtual-machine-image", "relUrl": "/vm/#generalizing-and-capturing-a-virtual-machine-image" - },"56": { + },"55": { "doc": "Mastering Virtual Machine Offers", "title": "Generalizing and Capturing a Virtual Machine Image (Demo)", "content": "Video . See how to capture both a Linux and Windows Virtual Machine for use in your marketplace offer. This demo is done with a Linux machine, but the difference for Windows is explained along the way. Most actions taken are applicable to both machine types and this module gives you what you need to know to generalize and capture both machine types. ", "url": "http://localhost:4000/vm/#generalizing-and-capturing-a-virtual-machine-image-demo", "relUrl": "/vm/#generalizing-and-capturing-a-virtual-machine-image-demo" - },"57": { + },"56": { "doc": "Mastering Virtual Machine Offers", "title": "Publish Your Virtual Machine Offer with Partner Center (Demo)", "content": "Video . This demonstration takes you through creating a plan for your Virtual Machine offer, associating the correct image to the plan, and setting other configuration options on your Virtual Machine. After completing the plan configuration you get to see the offer published. ", "url": "http://localhost:4000/vm/#publish-your-virtual-machine-offer-with-partner-center-demo", "relUrl": "/vm/#publish-your-virtual-machine-offer-with-partner-center-demo" - },"58": { + },"57": { "doc": "Mastering Virtual Machine Offers", "title": "Securing Your Virtual Machine", "content": "Video . Learn about things you can do to secure your Virtual Machine offer and the image used to create it. There are plenty of techniques you can use to harden your Virtual Machine against attackers and this video will take you through several. ", "url": "http://localhost:4000/vm/#securing-your-virtual-machine", "relUrl": "/vm/#securing-your-virtual-machine" - },"59": { + },"58": { "doc": "Mastering Virtual Machine Offers", "title": "Virtual Machine Automation with Packer Overview", "content": "Video . Learn about the Packer tool that enables automating many of the tasks you’ve seen done by hand up until now. Packer gives you the power to create virtual machines, install software, create images, and more. ", "url": "http://localhost:4000/vm/#virtual-machine-automation-with-packer-overview", "relUrl": "/vm/#virtual-machine-automation-with-packer-overview" - },"60": { + },"59": { "doc": "Mastering Virtual Machine Offers", "title": "Virtual Machine Automation with Packer (Demo)", "content": "Video . See how the Packer tool gives you the power to automate many of the tasks needed to created Virtual Machine images for your Virtual Machine offer. This walkthrough using VS Code and the command line leaves you with the tools you need to begin your own automation. ", "url": "http://localhost:4000/vm/#virtual-machine-automation-with-packer-demo", "relUrl": "/vm/#virtual-machine-automation-with-packer-demo" - },"61": { + },"60": { "doc": "Mastering Virtual Machine Offers", "title": "The Virtual Machine Offer Certification Process", "content": "Video . This quick lecture walks through the Virtual Machine offer certification process and details common reasons why certification may fail for a newly submitted virtual machine offer. This video can save you loads of time by helping you avoid common mistakes or misunderstandings. ", "url": "http://localhost:4000/vm/#the-virtual-machine-offer-certification-process", "relUrl": "/vm/#the-virtual-machine-offer-certification-process" - },"62": { + },"61": { "doc": "Mastering Virtual Machine Offers", "title": "Virtual Machine Certification Test Tool (Demo)", "content": "Video . There is a tool one can use to help prepare their Virtual Machine image for certification. The Virtual Machine image certification tool is exercised in this video, and we get to see how to set it up and use it to gain confidence that a Virtual Machine image will not be rejected during certification. ", "url": "http://localhost:4000/vm/#virtual-machine-certification-test-tool-demo", "relUrl": "/vm/#virtual-machine-certification-test-tool-demo" - },"63": { + },"62": { "doc": "Mastering Virtual Machine Offers", "title": "Purchasing the Virtual Machine Offer", "content": "Video . The offer is now complete and ready to test in Partner Center. In this video, experience buying the completed Virtual Machine offer from the point of view of the customer. ", "url": "http://localhost:4000/vm/#purchasing-the-virtual-machine-offer", "relUrl": "/vm/#purchasing-the-virtual-machine-offer" - },"64": { + },"63": { "doc": "Mastering Virtual Machine Offers", "title": "Mastering Virtual Machine Offers", "content": "Let us know what you need in this content library. Get your hands dirty with the hands-on labs. Neelavarsha Duddanahalli Kumar Mahesh and Julio Colon are the creators of this course. | Creating Virtual Machine Offers Overview | Partner Center Overview | Creating an Offer in Partner Center (Demo) | Creating and Customizing a Virtual Machine (Demo) | Generalizing and Capturing a Virtual Machine Image | Generalizing and Capturing a Virtual Machine Image (Demo) | Publish Your Virtual Machine Offer with Partner Center (Demo) | Securing Your Virtual Machine | Virtual Machine Automation with Packer Overview | Virtual Machine Automation with Packer (Demo) | The Virtual Machine Offer Certification Process | Virtual Machine Certification Test Tool (Demo) | Purchasing the Virtual Machine Offer | . ", "url": "http://localhost:4000/vm/", "relUrl": "/vm/" - },"65": { + },"64": { "doc": "Mastering the SaaS Accelerator", "title": "Hands-on labs", "content": "The following hands-on labs build upon each other. Completing them will get a fully functional SaaS Accelerator offer published and working for a test environment. Prerequisites . | Azure subscription that can create resources | A Partner Center Account | . Labs . | Preparing Partner Center | Installing the Accelerator | Using the Accelerator | . ", "url": "http://localhost:4000/saas-accelerator/#hands-on-labs", "relUrl": "/saas-accelerator/#hands-on-labs" - },"66": { + },"65": { "doc": "Mastering the SaaS Accelerator", "title": "A SaaS Accelerator Hands-on Tour - The Basics", "content": "Video . This introduction to the accelerator demonstrates the SaaS Accelerator’s core capabilities showing why it may be a good choice for your marketplace SaaS offer. In three short demos, this video shows its fundamental capabilities. You’ll see the landing page, the publisher’s subscription management portal, and the customer’s subscription management capabilities in action! . ", "url": "http://localhost:4000/saas-accelerator/#a-saas-accelerator-hands-on-tour---the-basics", "relUrl": "/saas-accelerator/#a-saas-accelerator-hands-on-tour---the-basics" - },"67": { + },"66": { "doc": "Mastering the SaaS Accelerator", "title": "SaaS Accelerator Architecture", "content": "| Video | PDF | . This quick video covers the overall architecture of the SaaS Accelerator. The architecture is straightforward and is explained in plain language appropriate for those with any level of experience with Azure. ", "url": "http://localhost:4000/saas-accelerator/#saas-accelerator-architecture", "relUrl": "/saas-accelerator/#saas-accelerator-architecture" - },"68": { + },"67": { "doc": "Mastering the SaaS Accelerator", "title": "Installing the SaaS Accelerator With the Install Script", "content": "| Video | PDF | . Installing the SaaS Accelerator is simple. This video walks you through from beginning to end the steps necessary to get the SaaS Accelerator up and running. This video will get you up and running with the SaaS Accelerator in no time at all! You will need to copy and paste some PowerShell script from here. ", "url": "http://localhost:4000/saas-accelerator/#installing-the-saas-accelerator-with-the-install-script", "relUrl": "/saas-accelerator/#installing-the-saas-accelerator-with-the-install-script" - },"69": { + },"68": { "doc": "Mastering the SaaS Accelerator", "title": "Invoking Metered Billing with the SaaS Accelerator", "content": "Video . We look at the metered billing capabilities of the SaaS Accelerator for the Azure Marketplace. This video shows how to manually invoke metered billing events from the SaaS Accelerator without needing to integrate your solution with the SaaS Metering APIs. ", "url": "http://localhost:4000/saas-accelerator/#invoking-metered-billing-with-the-saas-accelerator", "relUrl": "/saas-accelerator/#invoking-metered-billing-with-the-saas-accelerator" - },"70": { + },"69": { "doc": "Mastering the SaaS Accelerator", "title": "Custom Landing Page Fields with the SaaS Accelerator", "content": "Video . In addition to showing your subscribers information about their subscription when they arrive at your landing page, you may also want to capture some information from them. This is possible using custom fields on the landing page and this short video shows you how to use them. ", "url": "http://localhost:4000/saas-accelerator/#custom-landing-page-fields-with-the-saas-accelerator", "relUrl": "/saas-accelerator/#custom-landing-page-fields-with-the-saas-accelerator" - },"71": { + },"70": { "doc": "Mastering the SaaS Accelerator", "title": "Configuring Email in the SaaS Accelerator", "content": "Video . You will likely want to receive email when a subscription changes state. For example, when a someone unsubscribes from your offer. This video shows how to configure the email setting within the SaaS Accelerator and get those notifications coming right to your inbox. ", "url": "http://localhost:4000/saas-accelerator/#configuring-email-in-the-saas-accelerator", "relUrl": "/saas-accelerator/#configuring-email-in-the-saas-accelerator" - },"72": { + },"71": { "doc": "Mastering the SaaS Accelerator", "title": "Mastering the SaaS Accelerator", "content": "Let us know what you need in this content library. This course is designed to help you speed your time to publish your SaaS offer to the Microsoft commercial marketplace using the SaaS Accelerator. Get your hands dirty with the hands-on labs. | A SaaS Accelerator Hands-on Tour - The Basics (Introduction to the SaaS Accelerator) | SaaS Accelerator Architecture | Installing the SaaS Accelerator With the Install Script | Invoking Metered Billing with the SaaS Accelerator | Custom Landing Page Fields with the SaaS Accelerator | Configuring Email in the SaaS Accelerator | . ", "url": "http://localhost:4000/saas-accelerator/", "relUrl": "/saas-accelerator/" - },"73": { - "doc": "Mastering the Metered Billing Solution", - "title": "Video Learning Modules", - "content": ". | A Metered Billing Accelerator Hands-on Tour - The Basics (Introduction to the Metered Billing Accelerator) | Metered Billing Accelerator Architecture | Installing the Metered Billing Accelerator | Invoking Metered Billing with the Metered Billing Accelerator | Configure SaaS offer with the Metered Billing Accelerator | Configure Managed Application offer with the Metered Billing Accelerator | . ", - "url": "http://localhost:4000/metered-billing-accelerator/#video-learning-modules", - "relUrl": "/metered-billing-accelerator/#video-learning-modules" - },"74": { - "doc": "Mastering the Metered Billing Solution", - "title": "Hands-on labs", - "content": "These hand on labs build on top of one another, so progress through them in order to get a fully functional Metered Billing Accelerator offer published and working for a test environment. Prerequisites . | Azure subscription that can create resources | A Partner Center Account | . Hands-on labs . | Installing the Metered Billing Accelerator | Configure SaaS Offer the Metered Billing Accelerator | Configure Managed ApplicationOffer the Metered Billing Accelerator | . ", - "url": "http://localhost:4000/metered-billing-accelerator/#hands-on-labs", - "relUrl": "/metered-billing-accelerator/#hands-on-labs" - },"75": { - "doc": "Mastering the Metered Billing Solution", - "title": "Module details", - "content": "A Metered Billing Accelerator Hands-on Tour - The Basics . Video . This introduction to the accelerator demonstrates the Metered Billing Accelerator’s core capabilities showing why it may be a good choice for your marketplace offers with Metered Billing capabilities. In three short demos, this video shows its fundamental capabilities. Metered Billing Accelerator Architecture . Video . This quick video covers the overall architecture of the Metered Billing Accelerator. The architecture is straightforward and is explained in plain language appropriate for those with any level of experience with Azure. Installing the Metered Billing Accelerator . Video . Installing the Metered Billing Accelerator is simple. This video walks you through from beginning to end the steps necessary to get the Metered Billing Accelerator up and running. This video will get you up and running with the Metered Billing Accelerator in no time at all! . Invoking Metered Billing with the Metered Billing Accelerator . Video . We look at the metered billing capabilities of the Metered Billing Accelerator for the Azure Marketplace. This video shows how to manually invoke metered billing events from the Metered Billing Accelerator. Configure SaaS offer with the Metered Billing Accelerator . Video . In this video will show how it is easy to configure your SaaS Offer with Metered Billing Accelerator to trigger metered billing events automatically. Configure Managed Application offer with the Metered Billing Accelerator . Video . In this video will show how it is easy to configure your managed application Offer with Metered Billing Accelerator to trigger metered billing events automatically. ", - "url": "http://localhost:4000/metered-billing-accelerator/#module-details", - "relUrl": "/metered-billing-accelerator/#module-details" - },"76": { - "doc": "Mastering the Metered Billing Solution", - "title": "Mastering the Metered Billing Solution", - "content": "Let us know what you need in this content library. This series is designed to help you speed your time to publish SaaS or Managed app offer with metered billing support to the Microsoft commercial marketplace using the Metered Billing Solution. ", - "url": "http://localhost:4000/metered-billing-accelerator/", - "relUrl": "/metered-billing-accelerator/" - },"77": { + },"72": { "doc": "Mastering Partner Center", "title": "Private Offer Overview ISV to Customer Offers", "content": "Video . Learn how private offers work for marketplace publishers offering them directly to customers. This module provides an overview of private offers and explores some deeper details about how they work. ", "url": "http://localhost:4000/partner-center/#private-offer-overview-isv-to-customer-offers", "relUrl": "/partner-center/#private-offer-overview-isv-to-customer-offers" - },"78": { + },"73": { "doc": "Mastering Partner Center", "title": "ISV to Customer Private Offer Creation", "content": "Video . This demo takes you through the process of an ISV creating a private offer for sale to a customer. ", "url": "http://localhost:4000/partner-center/#isv-to-customer-private-offer-creation", "relUrl": "/partner-center/#isv-to-customer-private-offer-creation" - },"79": { + },"74": { "doc": "Mastering Partner Center", "title": "ISV to Customer Private Offer Acceptance", "content": "Video . In this walk through video, see the customer experience for accepting an ISV to Customer private offer. ", "url": "http://localhost:4000/partner-center/#isv-to-customer-private-offer-acceptance", "relUrl": "/partner-center/#isv-to-customer-private-offer-acceptance" - },"80": { + },"75": { "doc": "Mastering Partner Center", "title": "ISV to Customer Private Offer Purchase Experience", "content": "Video . In this walk through video, see the customer experience for viewing details of their private offer in the Azure portal and deploying the product. ", "url": "http://localhost:4000/partner-center/#isv-to-customer-private-offer-purchase-experience", "relUrl": "/partner-center/#isv-to-customer-private-offer-purchase-experience" - },"81": { + },"76": { "doc": "Mastering Partner Center", "title": "Private Offers for CSP Partners Overview", "content": "| Video | PDF | . Learn about private offers for Cloud Solution Providers in this overview of the capability in Partner Center. ", "url": "http://localhost:4000/partner-center/#private-offers-for-csp-partners-overview", "relUrl": "/partner-center/#private-offers-for-csp-partners-overview" - },"82": { + },"77": { "doc": "Mastering Partner Center", "title": "Private Offer Creation by ISVs for CSP Partners", "content": "Video . This demo takes you through the process of an ISV creating a private offer for sale to a Cloud Solution Provider. ", "url": "http://localhost:4000/partner-center/#private-offer-creation-by-isvs-for-csp-partners", "relUrl": "/partner-center/#private-offer-creation-by-isvs-for-csp-partners" - },"83": { + },"78": { "doc": "Mastering Partner Center", "title": "The CSP Partner Private Offer Purchase Process", "content": "Video . In this walkthrough video, see the purchase process partners in the Cloud Solution Provider (CSP) program go through to purchase private offers created by ISVs. ", "url": "http://localhost:4000/partner-center/#the-csp-partner-private-offer-purchase-process", "relUrl": "/partner-center/#the-csp-partner-private-offer-purchase-process" - },"84": { + },"79": { "doc": "Mastering Partner Center", "title": "Publishing a SaaS Offer", "content": "| Video | PDF | . This detailed video presents the concepts of publishing a SaaS offer and then walks through the steps of doing so in Partner Center. This module goes all the way from creating an offer, to adding and plan, and finally publishing the offer live. It also speaks to the need of developers to have a sandbox environment in which they can test and development the landing page and webhook. ", "url": "http://localhost:4000/partner-center/#publishing-a-saas-offer", "relUrl": "/partner-center/#publishing-a-saas-offer" - },"85": { + },"80": { "doc": "Mastering Partner Center", "title": "Publishing a Private SaaS Plan", "content": "| Video | PDF | . This brief video builds upon what you learned in, “Publishing a SaaS Offer.” It presents the concepts of using private plans and then shows how to do so inside Partner Center. ", "url": "http://localhost:4000/partner-center/#publishing-a-private-saas-plan", "relUrl": "/partner-center/#publishing-a-private-saas-plan" - },"86": { + },"81": { "doc": "Mastering Partner Center", "title": "Migrating Listings to SaaS Offers", "content": "Video . You may have started your online presence in the commercial marketplace with a simple listing to advertise your services. This does not, however, create a transactable offer that can be sold through the marketplace. This video shows how to convert your existing listing into a fully transactable SaaS Offer. ", "url": "http://localhost:4000/partner-center/#migrating-listings-to-saas-offers", "relUrl": "/partner-center/#migrating-listings-to-saas-offers" - },"87": { + },"82": { "doc": "Mastering Partner Center", "title": "Configuring a Virtual Machine Offer in Partner Center – Demo", "content": "Video . Learn how to set up technical configurations for Azure Marketplace virtual machine offers within Partner Center. You’ll look at machine generations, disk versions, share image gallery vs. SAS URI, and more. ", "url": "http://localhost:4000/partner-center/#configuring-a-virtual-machine-offer-in-partner-center--demo", "relUrl": "/partner-center/#configuring-a-virtual-machine-offer-in-partner-center--demo" - },"88": { + },"83": { "doc": "Mastering Partner Center", "title": "Partner Center with Azure Managed Applications Overview", "content": "Video . Partner Center is the portal publishers use to create, configure, publish, and monitor their offers in the Microsoft Marketplace. This overview takes you through Partner Center for Azure Managed Applications. ", "url": "http://localhost:4000/partner-center/#partner-center-with-azure-managed-applications-overview", "relUrl": "/partner-center/#partner-center-with-azure-managed-applications-overview" - },"89": { + },"84": { "doc": "Mastering Partner Center", "title": "Configuring Partner Center for Azure Managed Applications - Demo", "content": "Video . Understanding Partner Center, the publisher’s portal, is key to creating great offers. This demo walks through setting up a Partner Center offer for an Azure Managed Application. ", "url": "http://localhost:4000/partner-center/#configuring-partner-center-for-azure-managed-applications---demo", "relUrl": "/partner-center/#configuring-partner-center-for-azure-managed-applications---demo" - },"90": { + },"85": { "doc": "Mastering Partner Center", "title": "Mastering Partner Center", "content": "Using Partner Center to create and maintain your marketplace offers is a very large topic. We are just getting started with the content we’ll publish about Partner Center, so please check back often as this library grows. Let us know what you need in this content library. Private Offers . | Private Offer Overview ISV to Customer Offers | ISV to Customer Private Offer Creation | ISV to Customer Private Offer Acceptance | ISV to Customer Private Offer Purchase Experience | Private Offers for CSP Partners Overview | Private Offer Creation by ISVs for CSP Partners | The CSP Partner Private Offer Purchase Process | . Configuring and Publishing Offers . | Publishing a SaaS Offer | Publishing a Private SaaS Plan | Migrating Listings to SaaS Offers | Configuring a Virtual Machine Offer in Partner Center – Demo | Partner Center with Azure Managed Applications Overview | Configuring Partner Center for Azure Managed Applications - Demo | . ", "url": "http://localhost:4000/partner-center/", "relUrl": "/partner-center/" - },"91": { + },"86": { "doc": "Mastering Azure Managed Application Offers", "title": "Hands-on labs", "content": "These hand on labs build on top of one another, so progress through them in order to get a fully functional Azure Managed Application published and working for a test environment. Prerequisites . | Azure subscription that can create resources | A Partner Center Account | VS Code or other text editor | . Getting started . Clone this repository to your local machine. You will need some artifacts from the lab folders to complete the labs. Labs . | Lab 1 - Publishing an Azure Managed Application Offer in Partner Center | Lab 2 - The Managed Application Deployment Package | Lab 3 - Purchasing an Azure Managed Application | Lab 4 - Administering Your Purchased Managed Applications | Lab 5 - Administering Your Customer’s Managed Applications | . ", "url": "http://localhost:4000/ama/#hands-on-labs", "relUrl": "/ama/#hands-on-labs" - },"92": { + },"87": { "doc": "Mastering Azure Managed Application Offers", "title": "Course Introduction", "content": "Video . This module sets the stage for all the others that follow by providing a quick introduction to the course. See what the course will offer in various modules. ", "url": "http://localhost:4000/ama/#course-introduction", "relUrl": "/ama/#course-introduction" - },"93": { + },"88": { "doc": "Mastering Azure Managed Application Offers", "title": "Managed Applications Overview", "content": "Video . Solution Template offers and Azure Managed Application offers are very similar, but there is an important difference. Learn about the two types of managed applications in this module detailing the differences. ", "url": "http://localhost:4000/ama/#managed-applications-overview", "relUrl": "/ama/#managed-applications-overview" - },"94": { + },"89": { "doc": "Mastering Azure Managed Application Offers", "title": "Azure Managed Applications Overview", "content": "Video . Azure Managed Applications are the transactable Managed App offer type. Get a walkthrough of Azure Managed Applications including their general architecture and usage. ", "url": "http://localhost:4000/ama/#azure-managed-applications-overview", "relUrl": "/ama/#azure-managed-applications-overview" - },"95": { + },"90": { "doc": "Mastering Azure Managed Application Offers", "title": "Partner Center with Azure Managed Applications Overview", "content": "Video . Partner Center is the portal publishers use to create, configure, publish, and monitor their offers in the Microsoft Marketplace. This overview takes you through Partner Center for Azure Managed Applications. ", "url": "http://localhost:4000/ama/#partner-center-with-azure-managed-applications-overview", "relUrl": "/ama/#partner-center-with-azure-managed-applications-overview" - },"96": { + },"91": { "doc": "Mastering Azure Managed Application Offers", "title": "Configuring Partner Center for Azure Managed Applications - Demo", "content": "Video . Understanding Partner Center, the publisher’s portal, is key to creating great offers. This demo walks through setting up a Partner Center offer for an Azure Managed Application. ", "url": "http://localhost:4000/ama/#configuring-partner-center-for-azure-managed-applications---demo", "relUrl": "/ama/#configuring-partner-center-for-azure-managed-applications---demo" - },"97": { + },"92": { "doc": "Mastering Azure Managed Application Offers", "title": "Azure Managed Application Deployment Package Overview", "content": "Video . The deployment package for Azure Managed Applications is the definition of the application itself. Learn about its components and their role in this quick overview. ", "url": "http://localhost:4000/ama/#azure-managed-application-deployment-package-overview", "relUrl": "/ama/#azure-managed-application-deployment-package-overview" - },"98": { + },"93": { "doc": "Mastering Azure Managed Application Offers", "title": "Working with a Azure Managed Application Deployment Package - Demo", "content": "Video . This demo walks through working with Azure Managed Application deployment packages. Learn about the usage and components of the ARM template, mainTemplate.json, and how to work with createUiDefinition.json to create great install experiences. ", "url": "http://localhost:4000/ama/#working-with-a-azure-managed-application-deployment-package---demo", "relUrl": "/ama/#working-with-a-azure-managed-application-deployment-package---demo" - },"99": { + },"94": { "doc": "Mastering Azure Managed Application Offers", "title": "Integrating Virtual Machine Offers into Azure Managed Applications", "content": "Video . Deploying a custom virtual machine is a common need when working with Managed Apps. Get an overview of how to integrate a custom Virtual Machine offer into an Azure Managed Application deployment package. ", "url": "http://localhost:4000/ama/#integrating-virtual-machine-offers-into-azure-managed-applications", "relUrl": "/ama/#integrating-virtual-machine-offers-into-azure-managed-applications" - },"100": { + },"95": { "doc": "Mastering Azure Managed Application Offers", "title": "Purchasing an Azure Managed Application – Demo", "content": "Video . See the purchasing process of an Azure Managed Application from the customer’s point of view. This module is often helpful for customers looking to familiarize themselves with the purchase process. ", "url": "http://localhost:4000/ama/#purchasing-an-azure-managed-application--demo", "relUrl": "/ama/#purchasing-an-azure-managed-application--demo" - },"101": { + },"96": { "doc": "Mastering Azure Managed Application Offers", "title": "Managing My Purchased Azure Managed Applications – Demo", "content": "Video . Once a customer has purchased one or more Azure Managed Apps, they may need to manage those subscriptions. See the tools and techniques customers have through the Azure portal for managing their Azure Managed Application subscriptions. ", "url": "http://localhost:4000/ama/#managing-my-purchased-azure-managed-applications--demo", "relUrl": "/ama/#managing-my-purchased-azure-managed-applications--demo" - },"102": { + },"97": { "doc": "Mastering Azure Managed Application Offers", "title": "Managing My Customer’s Azure Managed Applications Overview", "content": "Video . Managing Azure Managed Application customer deployments is the responsibility of the publisher. See the tools techniques publishers use to do this easily and effectively through the Azure portal as well as getting a walkthrough of how to use them. ", "url": "http://localhost:4000/ama/#managing-my-customers-azure-managed-applications-overview", "relUrl": "/ama/#managing-my-customers-azure-managed-applications-overview" - },"103": { + },"98": { "doc": "Mastering Azure Managed Application Offers", "title": "Managing My Customer’s Azure Managed Applications – Demo", "content": "Video . Once deployed, Azure Managed Applications are managed and maintained by the publisher. This module shows the Azure portal-based tools and practices publishers use to manage their customer’s environments. ", "url": "http://localhost:4000/ama/#managing-my-customers-azure-managed-applications--demo", "relUrl": "/ama/#managing-my-customers-azure-managed-applications--demo" - },"104": { + },"99": { "doc": "Mastering Azure Managed Application Offers", "title": "Metered Billing for Azure Managed Applications Overview", "content": "Video . Billing for usage-based consumption is a requirement for many Azure Managed Applications. Get a walkthrough of metered billing and an architectural overview of how it works. ", "url": "http://localhost:4000/ama/#metered-billing-for-azure-managed-applications-overview", "relUrl": "/ama/#metered-billing-for-azure-managed-applications-overview" - },"105": { + },"100": { "doc": "Mastering Azure Managed Application Offers", "title": "Metered Billing for Azure Managed Applications – Demo", "content": "Video . See metered billing in action at the REST API level. This module shows metered billing API interaction through Postman. ", "url": "http://localhost:4000/ama/#metered-billing-for-azure-managed-applications--demo", "relUrl": "/ama/#metered-billing-for-azure-managed-applications--demo" - },"106": { + },"101": { "doc": "Mastering Azure Managed Application Offers", "title": "Advanced Deployment Scenarios for Azure Managed Applications", "content": "Video . This brief module covers a few advanced scenarios for Azure Managed Application deployments including containers and IoT integration. ", "url": "http://localhost:4000/ama/#advanced-deployment-scenarios-for-azure-managed-applications", "relUrl": "/ama/#advanced-deployment-scenarios-for-azure-managed-applications" - },"107": { + },"102": { "doc": "Mastering Azure Managed Application Offers", "title": "Mastering Azure Managed Application Offers", "content": "Let us know what you need in this content library. Get your hands dirty with the hands-on labs. The slides for this course, which are used in the following modules, are here. | Course Introduction | Managed Applications Overview | Azure Managed Applications Overview | Partner Center with Azure Managed Applications Overview | Configuring Partner Center for Azure Managed Applications - Demo | Azure Managed Application Deployment Package Overview | Working with a Azure Managed Application Deployment Package - Demo | Integrating Virtual Machine Offers into Azure Managed Applications | Purchasing an Azure Managed Application – Demo | Managing My Purchased Azure Managed Applications – Demo | Managing My Customer’s Azure Managed Applications Overview | Managing My Customer’s Azure Managed Applications – Demo | Metered Billing for Azure Managed Applications Overview | Metered Billing for Azure Managed Applications – Demo | Advanced Deployment Scenarios for Azure Managed Applications | . ", "url": "http://localhost:4000/ama/", "relUrl": "/ama/" - },"108": { + },"103": { "doc": "Mastering the Marketplace", "title": "Mastering the Marketplace", "content": " ", diff --git a/_site/default/index.html b/_site/default/index.html index 559c133af..0c062ffa6 100644 --- a/_site/default/index.html +++ b/_site/default/index.html @@ -107,5 +107,14 @@ + + + + Search + + + + + diff --git a/_site/index.html b/_site/index.html index 818b0a387..0dab022db 100644 --- a/_site/index.html +++ b/_site/index.html @@ -18,15 +18,16 @@
- +
+
@@ -164,5 +165,14 @@ + + + + Search + + + + + diff --git a/_site/metered-billing-accelerator/index.html b/_site/metered-billing-accelerator/index.html index 3fbe48985..1e906d662 100644 --- a/_site/metered-billing-accelerator/index.html +++ b/_site/metered-billing-accelerator/index.html @@ -185,5 +185,14 @@

Config

+ + + + Search + + + + + diff --git a/_site/saas-accelerator/index.html b/_site/saas-accelerator/index.html index 7fb421faf..1cc2dc561 100644 --- a/_site/saas-accelerator/index.html +++ b/_site/saas-accelerator/index.html @@ -201,5 +201,14 @@

Configuring Email in the SaaS

+ + + + Search + + + + + diff --git a/_site/saas/index.html b/_site/saas/index.html index edfe05791..e6df9cc83 100644 --- a/_site/saas/index.html +++ b/_site/saas/index.html @@ -458,5 +458,14 @@

The SaaS Metered Billing API wit

+ + + + Search + + + + + diff --git a/_site/vm/Labs/lab1-partner-center-setup/index.html b/_site/vm/Labs/lab1-partner-center-setup/index.html index c1644fc45..d24bb9129 100644 --- a/_site/vm/Labs/lab1-partner-center-setup/index.html +++ b/_site/vm/Labs/lab1-partner-center-setup/index.html @@ -318,5 +318,14 @@

Review and Publish

+ + + + Search + + + + + diff --git a/_site/vm/Labs/lab2-vm-creation/index.html b/_site/vm/Labs/lab2-vm-creation/index.html index 78c019273..497ca6efb 100644 --- a/_site/vm/Labs/lab2-vm-creation/index.html +++ b/_site/vm/Labs/lab2-vm-creation/index.html @@ -141,5 +141,14 @@

Lab 2.b: Create a Linux Virtual M

+ + + + Search + + + + + diff --git a/_site/vm/Labs/lab2-vm-creation/lab2.a-create-a-windows-virtual-machine/index.html b/_site/vm/Labs/lab2-vm-creation/lab2.a-create-a-windows-virtual-machine/index.html index 9cdc9cbac..5d3eef03a 100644 --- a/_site/vm/Labs/lab2-vm-creation/lab2.a-create-a-windows-virtual-machine/index.html +++ b/_site/vm/Labs/lab2-vm-creation/lab2.a-create-a-windows-virtual-machine/index.html @@ -298,5 +298,14 @@

Windows Update Manually

+ + + + Search + + + + + diff --git a/_site/vm/Labs/lab2-vm-creation/lab2.b-create-a-linux-virtual-machine/index.html b/_site/vm/Labs/lab2-vm-creation/lab2.b-create-a-linux-virtual-machine/index.html index fddc79407..724511b65 100644 --- a/_site/vm/Labs/lab2-vm-creation/lab2.b-create-a-linux-virtual-machine/index.html +++ b/_site/vm/Labs/lab2-vm-creation/lab2.b-create-a-linux-virtual-machine/index.html @@ -300,5 +300,14 @@

Post VM Creation Exercise

+ + + + Search + + + + + diff --git a/_site/vm/Labs/lab3-generalize-and-capture-image/index.html b/_site/vm/Labs/lab3-generalize-and-capture-image/index.html index d94270e03..0c01f698c 100644 --- a/_site/vm/Labs/lab3-generalize-and-capture-image/index.html +++ b/_site/vm/Labs/lab3-generalize-and-capture-image/index.html @@ -140,5 +140,14 @@

Lab 3.b: Create a Linux Virtual M + + + + Search + + + + + diff --git a/_site/vm/Labs/lab3-generalize-and-capture-image/lab3.a-generalize-and-capture-windows-image/index.html b/_site/vm/Labs/lab3-generalize-and-capture-image/lab3.a-generalize-and-capture-windows-image/index.html index c49fb9343..9c96279d5 100644 --- a/_site/vm/Labs/lab3-generalize-and-capture-image/lab3.a-generalize-and-capture-windows-image/index.html +++ b/_site/vm/Labs/lab3-generalize-and-capture-image/lab3.a-generalize-and-capture-windows-image/index.html @@ -202,5 +202,14 @@

Post Image Creation Exercise

+ + + + Search + + + + + diff --git a/_site/vm/Labs/lab3-generalize-and-capture-image/lab3.b-generalize-and-capture-linux-image/index.html b/_site/vm/Labs/lab3-generalize-and-capture-image/lab3.b-generalize-and-capture-linux-image/index.html index cf7a2ce72..d2a9816c1 100644 --- a/_site/vm/Labs/lab3-generalize-and-capture-image/lab3.b-generalize-and-capture-linux-image/index.html +++ b/_site/vm/Labs/lab3-generalize-and-capture-image/lab3.b-generalize-and-capture-linux-image/index.html @@ -204,5 +204,14 @@

Post Image Creation Exercise

+ + + + Search + + + + + diff --git a/_site/vm/Labs/lab4-publish-your-vm-offer/index.html b/_site/vm/Labs/lab4-publish-your-vm-offer/index.html index 8e06f9d7a..846250426 100644 --- a/_site/vm/Labs/lab4-publish-your-vm-offer/index.html +++ b/_site/vm/Labs/lab4-publish-your-vm-offer/index.html @@ -172,5 +172,14 @@

Review and Publish

+ + + + Search + + + + + diff --git a/_site/vm/Labs/lab5-purchase-your-offer/index.html b/_site/vm/Labs/lab5-purchase-your-offer/index.html index 0940b4762..f4acf45c0 100644 --- a/_site/vm/Labs/lab5-purchase-your-offer/index.html +++ b/_site/vm/Labs/lab5-purchase-your-offer/index.html @@ -146,5 +146,14 @@

Purchase your Offer

+ + + + Search + + + + + diff --git a/_site/vm/index.html b/_site/vm/index.html index 2ecf74618..14f2006d1 100644 --- a/_site/vm/index.html +++ b/_site/vm/index.html @@ -106,11 +106,11 @@

Prerequisites

Labs

    -
  1. Partner Center Setup
  2. -
  3. VM Creation
  4. -
  5. Generalize and Capture Image
  6. -
  7. Publish the Offer
  8. -
  9. Purchase your Offer
  10. +
  11. Partner Center Setup
  12. +
  13. VM Creation
  14. +
  15. Generalize and Capture Image
  16. +
  17. Publish the Offer
  18. +
  19. Purchase your Offer

@@ -238,5 +238,14 @@

Purchasing the Virtual Machine Off + + + + Search + + + + + diff --git a/doks-theme/_layouts/default.html b/doks-theme/_layouts/default.html index a1bfa50fc..51ce0483e 100644 --- a/doks-theme/_layouts/default.html +++ b/doks-theme/_layouts/default.html @@ -123,5 +123,14 @@

{{ page.title }}

{% endif %} {% include site-footer.html %} + + + + Search + + + + + diff --git a/doks-theme/_layouts/homepage.html b/doks-theme/_layouts/homepage.html index 4675ffeb8..9128286bc 100644 --- a/doks-theme/_layouts/homepage.html +++ b/doks-theme/_layouts/homepage.html @@ -5,15 +5,16 @@
- +
+
@@ -98,5 +99,14 @@
{% endif %} {% include site-footer.html %} + + + + Search + + + + + diff --git a/metered-billing-accelerator/index.md b/metered-billing-accelerator/index.md index 0429a4716..fc810a1ff 100644 --- a/metered-billing-accelerator/index.md +++ b/metered-billing-accelerator/index.md @@ -10,6 +10,9 @@ description: This series of video modules and hands-on labs is designed to help # Micro navigation micro_nav: false + +# remove when this section is ready to be shown in search results +search_exclude: true --- **[Let us know what you need](https://forms.office.com/r/0gCrzhSMkw)** in this content library.