Пример #1
0
        public async Task CreateOrUpdate()
        {
            #region Snippet:Managing_Sql_CreateAManagedInstance
            //1. create NetworkSecurityGroup
            NetworkSecurityGroupData networkSecurityGroupData = new NetworkSecurityGroupData()
            {
                Location = AzureLocation.WestUS2,
            };
            string networkSecurityGroupName = "myNetworkSecurityGroup";
            var    networkSecurityGroup     = await resourceGroup.GetNetworkSecurityGroups().CreateOrUpdateAsync(true, networkSecurityGroupName, networkSecurityGroupData);

            //2. create Route table
            RouteTableData routeTableData = new RouteTableData()
            {
                Location = AzureLocation.WestUS2,
            };
            string routeTableName = "myRouteTable";
            var    routeTable     = await resourceGroup.GetRouteTables().CreateOrUpdateAsync(true, routeTableName, routeTableData);

            //3. create vnet(subnet binding NetworkSecurityGroup and RouteTable)
            var vnetData = new VirtualNetworkData()
            {
                Location     = AzureLocation.WestUS2,
                AddressSpace = new AddressSpace()
                {
                    AddressPrefixes = { "10.10.0.0/16", }
                },
                Subnets =
                {
                    new SubnetData()
                    {
                        Name          = "ManagedInstance",
                        AddressPrefix = "10.10.2.0/24",
                        Delegations   =
                        {
                            new Delegation()
                            {
                                ServiceName = "Microsoft.Sql/managedInstances", Name = "Microsoft.Sql/managedInstances", Type = "Microsoft.Sql"
                            }
                        },
                        RouteTable = new RouteTableData()
                        {
                            Id = routeTable.Value.Data.Id.ToString()
                        },
                        NetworkSecurityGroup = new NetworkSecurityGroupData()
                        {
                            Id = networkSecurityGroup.Value.Data.Id.ToString()
                        },
                    }
                },
            };
            string vnetName = "myVnet";
            var    vnet     = await resourceGroup.GetVirtualNetworks().CreateOrUpdateAsync(true, vnetName, vnetData);

            string subnetId = $"{vnet.Value.Data.Id}/subnets/ManagedInstance";

            //4. create ManagedInstance
            ManagedInstanceData data = new ManagedInstanceData(AzureLocation.WestUS2)
            {
                AdministratorLogin         = "******",
                AdministratorLoginPassword = "******",
                SubnetId = subnetId,
                PublicDataEndpointEnabled  = false,
                MaintenanceConfigurationId = "/subscriptions/0000-0000-0000-0000/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_Default",
                ProxyOverride = new ManagedInstanceProxyOverride("Proxy")
                {
                },
                TimezoneId         = "UTC",
                StorageAccountType = new StorageAccountType("GRS"),
                ZoneRedundant      = false,
            };
            string managedInstanceName = "myManagedInstance";
            var    managedInstanceLro  = await resourceGroup.GetManagedInstances().CreateOrUpdateAsync(true, managedInstanceName, data);

            ManagedInstance managedInstance = managedInstanceLro.Value;
            #endregion
        }
Пример #2
0
        /// <summary>
        /// create a defaut managed instance.
        /// defaut vnet AddressPrefixes = 10.10.0.0/16
        /// </summary>
        /// <param name="managedInstanceName"></param>
        /// <param name="location"></param>
        /// <param name="resourceGroup"></param>
        /// <returns></returns>
        protected async Task <ManagedInstance> CreateDefaultManagedInstance(string managedInstanceName, string networkSecurityGroupName, string routeTableName, string vnetName, AzureLocation location, ResourceGroup resourceGroup)
        {
            //1. create NetworkSecurityGroup
            NetworkSecurityGroupData networkSecurityGroupData = new NetworkSecurityGroupData()
            {
                Location = location,
            };
            var networkSecurityGroup = await resourceGroup.GetNetworkSecurityGroups().CreateOrUpdateAsync(true, networkSecurityGroupName, networkSecurityGroupData);

            //2. create Route table
            RouteTableData routeTableData = new RouteTableData()
            {
                Location = location,
            };
            var routeTable = await resourceGroup.GetRouteTables().CreateOrUpdateAsync(true, routeTableName, routeTableData);

            //3. create vnet(subnet bind NetworkSecurityGroup and RouteTable)
            var vnetData = new VirtualNetworkData()
            {
                Location     = location,
                AddressSpace = new AddressSpace()
                {
                    AddressPrefixes = { "10.10.0.0/16", }
                },
                Subnets =
                {
                    new SubnetData()
                    {
                        Name = "subnet01", AddressPrefix = "10.10.1.0/24",
                    },
                    new SubnetData()
                    {
                        Name          = "ManagedInstance",
                        AddressPrefix = "10.10.2.0/24",
                        Delegations   =
                        {
                            new Delegation()
                            {
                                ServiceName = "Microsoft.Sql/managedInstances", Name = "Microsoft.Sql/managedInstances", Type = "Microsoft.Sql"
                            }
                        },
                        RouteTable = new RouteTableData()
                        {
                            Id = routeTable.Value.Data.Id.ToString()
                        },
                        NetworkSecurityGroup = new NetworkSecurityGroupData()
                        {
                            Id = networkSecurityGroup.Value.Data.Id.ToString()
                        },
                    }
                },
            };
            var vnet = await resourceGroup.GetVirtualNetworks().CreateOrUpdateAsync(true, vnetName, vnetData);

            string subnetId = $"{vnet.Value.Data.Id}/subnets/ManagedInstance";

            //4. create ManagedInstance
            ManagedInstanceData data = new ManagedInstanceData(location)
            {
                AdministratorLogin         = $"admin-{managedInstanceName}",
                AdministratorLoginPassword = CreateGeneralPassword(),
                SubnetId = subnetId,
                PublicDataEndpointEnabled  = false,
                MaintenanceConfigurationId = "/subscriptions/db1ab6f0-4769-4b27-930e-01e2ef9c123c/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_Default",
                ProxyOverride = new ManagedInstanceProxyOverride("Proxy")
                {
                },
                TimezoneId         = "UTC",
                StorageAccountType = new StorageAccountType("GRS"),
                ZoneRedundant      = false,
            };
            var managedInstanceLro = await resourceGroup.GetManagedInstances().CreateOrUpdateAsync(true, managedInstanceName, data);

            var managedInstance = managedInstanceLro.Value;

            return(managedInstance);
        }
Пример #3
0
        protected async Task initialize()
        {
            ArmClient    armClient    = new ArmClient(new DefaultAzureCredential());
            Subscription subscription = await armClient.GetDefaultSubscriptionAsync();

            ResourceGroupCollection rgCollection = subscription.GetResourceGroups();
            // With the collection, we can create a new resource group with an specific name
            string        rgName        = "myRgName";
            AzureLocation location      = AzureLocation.WestUS2;
            ResourceGroup resourceGroup = await rgCollection.CreateOrUpdate(WaitUntil.Completed, rgName, new ResourceGroupData(location)).WaitForCompletionAsync();

            this.resourceGroup = resourceGroup;

            //1. create NetworkSecurityGroup
            NetworkSecurityGroupData networkSecurityGroupData = new NetworkSecurityGroupData()
            {
                Location = AzureLocation.WestUS2,
            };
            string networkSecurityGroupName = "myNetworkSecurityGroup";
            var    networkSecurityGroup     = await resourceGroup.GetNetworkSecurityGroups().CreateOrUpdateAsync(WaitUntil.Completed, networkSecurityGroupName, networkSecurityGroupData);

            //2. create Route table
            RouteTableData routeTableData = new RouteTableData()
            {
                Location = AzureLocation.WestUS2,
            };
            string routeTableName = "myRouteTable";
            var    routeTable     = await resourceGroup.GetRouteTables().CreateOrUpdateAsync(WaitUntil.Completed, routeTableName, routeTableData);

            //3. create vnet(subnet binding NetworkSecurityGroup and RouteTable)
            var vnetData = new VirtualNetworkData()
            {
                Location = AzureLocation.WestUS2,
                Subnets  =
                {
                    new SubnetData()
                    {
                        Name          = "ManagedInstance",
                        AddressPrefix = "10.10.2.0/24",
                        Delegations   =
                        {
                            new Delegation()
                            {
                                ServiceName = "Microsoft.Sql/managedInstances", Name = "Microsoft.Sql/managedInstances", ResourceType = "Microsoft.Sql"
                            }
                        },
                        RouteTable = new RouteTableData()
                        {
                            Id = routeTable.Value.Data.Id.ToString()
                        },
                        NetworkSecurityGroup = new NetworkSecurityGroupData()
                        {
                            Id = networkSecurityGroup.Value.Data.Id.ToString()
                        },
                    }
                },
            };

            vnetData.AddressPrefixes.Add("10.10.0.0/16");
            string vnetName = "myVnet";
            var    vnet     = await resourceGroup.GetVirtualNetworks().CreateOrUpdateAsync(WaitUntil.Completed, vnetName, vnetData);

            string subnetId = $"{vnet.Value.Data.Id}/subnets/ManagedInstance";

            //4. create ManagedInstance
            ManagedInstanceData data = new ManagedInstanceData(AzureLocation.WestUS2)
            {
                AdministratorLogin         = "******",
                AdministratorLoginPassword = "******",
                SubnetId = subnetId,
                PublicDataEndpointEnabled  = false,
                MaintenanceConfigurationId = "/subscriptions/0000-0000-0000-0000/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_Default",
                ProxyOverride = new ManagedInstanceProxyOverride("Proxy")
                {
                },
                TimezoneId         = "UTC",
                StorageAccountType = new StorageAccountType("GRS"),
                ZoneRedundant      = false,
            };
            string managedInstanceName = "myManagedInstance";
            var    managedInstanceLro  = await resourceGroup.GetManagedInstances().CreateOrUpdateAsync(WaitUntil.Completed, managedInstanceName, data);

            managedInstance = managedInstanceLro.Value;
        }