예제 #1
0
    static void Main(string[] args)
    {
        // Find your Account Sid and Auth Token at twilio.com/user/account
        const string accountSid = "accountSid";
        const string authToken  = "authToken";

        // List all Credentials
        var client = new TwilioIpMessagingClient(accountSid, authToken);
        CredentialResult result = client.ListCredentials();

        Console.WriteLine(result);
    }
        public override void ExecuteCmdlet()
        {
            base.ExecuteCmdlet();

            switch (ParameterSetName)
            {
            case IdParameterSet:
            {
                var resource = new ResourceIdentifier(Id);
                ResourceGroupName = resource.ResourceGroupName;
                Name = resource.ResourceName;
                break;
            }

            case InputObjectParameterSet:
            {
                var resource = new ResourceIdentifier(InputObject.Id);
                ResourceGroupName = resource.ResourceGroupName;
                Name = resource.ResourceName;
                break;
            }
            }

            ConfirmAction(Force.IsPresent,
                          Resources.DoYouWantToImportTheKubernetesConfig,
                          Resources.ImportingKubernetesConfigResource,
                          string.Format(Resources.KubernetesCredentialAction, Name, ResourceGroupName),
                          () =>
                          RunCmdLet(() =>
            {
                if (string.IsNullOrEmpty(ConfigPath))
                {
                    ConfigPath = Path.Combine(
                        Environment.GetFolderPath(Environment.SpecialFolder.UserProfile),
                        ".kube",
                        "config");
                    WriteVerbose(
                        string.Format(Resources.FileWasNotSpecifiedWritingCredentialTo, ConfigPath));
                }

                WriteVerbose(Admin
                            ? Resources.FetchingTheClusterAdminKubectlConfig
                            : Resources.FetchingTheDefaultClusterUserKubectlConfig);

                CredentialResult credentialResult = null;

                try
                {
                    if (Admin)
                    {
                        credentialResult = Client.ManagedClusters.ListClusterAdminCredentials(ResourceGroupName, Name).Kubeconfigs[0];
                    }
                    else
                    {
                        credentialResult = Client.ManagedClusters.ListClusterUserCredentials(ResourceGroupName, Name).Kubeconfigs[0];
                    }
                }
                catch (ValidationException e)
                {
                    var sdkApiParameterMap = new Dictionary <string, CmdletParameterNameValuePair>()
                    {
                        { Constants.DotNetApiParameterResourceGroupName, new CmdletParameterNameValuePair(nameof(ResourceGroupName), ResourceGroupName) },
                        { Constants.DotNetApiParameterResourceName, new CmdletParameterNameValuePair(nameof(Name), Name) },
                    };

                    if (!HandleValidationException(e, sdkApiParameterMap))
                    {
                        throw;
                    }
                }

                var decodedKubeConfig =
                    Encoding.UTF8.GetString(credentialResult.Value);
                if (ConfigPath == "-")
                {
                    WriteObject(decodedKubeConfig);
                }
                else
                {
                    MergeAndWriteKubeConfig(decodedKubeConfig);
                    if (PassThru)
                    {
                        WriteObject(true);
                    }
                }
            }));
        }