Example #1
0
        private void Run()
        {
            // VirtualMachineProfile
            if (this.VirtualMachineScaleSet.VirtualMachineProfile == null)
            {
                this.VirtualMachineScaleSet.VirtualMachineProfile = new VirtualMachineScaleSetVMProfile();
            }

            // OsProfile
            if (this.VirtualMachineScaleSet.VirtualMachineProfile.OsProfile == null)
            {
                this.VirtualMachineScaleSet.VirtualMachineProfile.OsProfile = new VirtualMachineScaleSetOSProfile();
            }

            // Secrets
            if (this.VirtualMachineScaleSet.VirtualMachineProfile.OsProfile.Secrets == null)
            {
                this.VirtualMachineScaleSet.VirtualMachineProfile.OsProfile.Secrets = new List <VaultSecretGroup>();
            }

            var vSecrets = new VaultSecretGroup();

            if (this.IsParameterBound(c => c.SourceVaultId))
            {
                // SourceVault
                vSecrets.SourceVault    = new SubResource();
                vSecrets.SourceVault.Id = this.SourceVaultId;
            }
            vSecrets.VaultCertificates = this.IsParameterBound(c => c.VaultCertificate) ? this.VaultCertificate : null;
            this.VirtualMachineScaleSet.VirtualMachineProfile.OsProfile.Secrets.Add(vSecrets);
            WriteObject(this.VirtualMachineScaleSet);
        }
        private void Run()
        {
            // VirtualMachineProfile
            if (this.VirtualMachineScaleSet.VirtualMachineProfile == null)
            {
                this.VirtualMachineScaleSet.VirtualMachineProfile = new VirtualMachineScaleSetVMProfile();
            }

            // OsProfile
            if (this.VirtualMachineScaleSet.VirtualMachineProfile.OsProfile == null)
            {
                this.VirtualMachineScaleSet.VirtualMachineProfile.OsProfile = new VirtualMachineScaleSetOSProfile();
            }

            // Secrets
            if (this.VirtualMachineScaleSet.VirtualMachineProfile.OsProfile.Secrets == null)
            {
                this.VirtualMachineScaleSet.VirtualMachineProfile.OsProfile.Secrets = new List <VaultSecretGroup>();
            }

            var vSecrets = new VaultSecretGroup();

            if (this.MyInvocation.BoundParameters.ContainsKey("SourceVaultId"))
            {
                // SourceVault
                vSecrets.SourceVault    = new SubResource();
                vSecrets.SourceVault.Id = this.SourceVaultId;
            }
            vSecrets.VaultCertificates = this.MyInvocation.BoundParameters.ContainsKey("VaultCertificate") ? this.VaultCertificate : null;
            this.VirtualMachineScaleSet.VirtualMachineProfile.OsProfile.Secrets.Add(vSecrets);
            WriteObject(this.VirtualMachineScaleSet);
        }
        private void SetCertificateInfo(VirtualMachine vm)
        {
            SubResource vault = GetDefaultSourceVault();

            VaultCertificate vmCert = GetDefaultVaultCert();

            var secretGroup = new VaultSecretGroup()
            {
                SourceVault = vault, VaultCertificates = { vmCert }
            };

            vm.OsProfile.Secrets.Add(secretGroup);
        }
        public void SetCertificateInfo(VirtualMachine vm)
        {
            SourceVaultReference vault = GetDefaultSourceVault();

            VaultCertificate vmCert = GetDefaultVaultCert();

            var secretGroup = new VaultSecretGroup()
            {
                SourceVault = vault, VaultCertificates = new List <VaultCertificate>()
                {
                    vmCert
                }
            };

            vm.OSProfile.Secrets = new List <VaultSecretGroup>()
            {
                secretGroup
            };
        }
        private NodeType GetNodeTypeWithAddedSecret()
        {
            NodeType currentNodeType = this.SFRPClient.NodeTypes.Get(this.ResourceGroupName, this.ClusterName, this.Name);

            if (currentNodeType.VmSecrets == null)
            {
                currentNodeType.VmSecrets = new List <VaultSecretGroup>();
            }

            var  vault = currentNodeType.VmSecrets.FirstOrDefault(v => string.Equals(v.SourceVault.Id, this.SourceVaultId, StringComparison.OrdinalIgnoreCase));
            bool newVaultSecretGroup = false;

            if (vault == null)
            {
                newVaultSecretGroup = true;
                vault = new VaultSecretGroup()
                {
                    SourceVault = new SubResource(this.SourceVaultId)
                };
            }

            if (vault.VaultCertificates == null)
            {
                vault.VaultCertificates = new List <VaultCertificate>()
                {
                    new VaultCertificate()
                    {
                        CertificateStore = this.CertificateStore,
                        CertificateUrl   = this.CertificateUrl
                    }
                };
            }

            if (newVaultSecretGroup)
            {
                currentNodeType.VmSecrets.Add(vault);
            }

            return(currentNodeType);
        }