internal virtual ListSecretsResponse ListSecrets(ListSecretsRequest request)
        {
            var marshaller   = ListSecretsRequestMarshaller.Instance;
            var unmarshaller = ListSecretsResponseUnmarshaller.Instance;

            return(Invoke <ListSecretsRequest, ListSecretsResponse>(request, marshaller, unmarshaller));
        }
Example #2
0
        protected override void ProcessRecord()
        {
            base.ProcessRecord();
            ListSecretsRequest request;

            try
            {
                request = new ListSecretsRequest
                {
                    CompartmentId  = CompartmentId,
                    Name           = Name,
                    Limit          = Limit,
                    Page           = Page,
                    OpcRequestId   = OpcRequestId,
                    SortBy         = SortBy,
                    SortOrder      = SortOrder,
                    VaultId        = VaultId,
                    LifecycleState = LifecycleState
                };
                IEnumerable <ListSecretsResponse> responses = GetRequestDelegate().Invoke(request);
                foreach (var item in responses)
                {
                    response = item;
                    WriteOutput(response, response.Items, true);
                }
                FinishProcessing(response);
            }
            catch (Exception ex)
            {
                TerminatingErrorDuringExecution(ex);
            }
        }
Example #3
0
        /// <summary>
        /// Lists all secrets in the specified vault and compartment.
        /// </summary>
        /// <param name="request">The request object containing the details to send. Required.</param>
        /// <param name="retryConfiguration">The retry configuration that will be used by to send this request. Optional.</param>
        /// <param name="cancellationToken">The cancellation token to cancel this operation. Optional.</param>
        /// <returns>A response object containing details about the completed operation</returns>
        /// <example>Click <a href="https://docs.cloud.oracle.com/en-us/iaas/tools/dot-net-examples/latest/vault/ListSecrets.cs.html">here</a> to see an example of how to use ListSecrets API.</example>
        public async Task <ListSecretsResponse> ListSecrets(ListSecretsRequest request, RetryConfiguration retryConfiguration = null, CancellationToken cancellationToken = default)
        {
            logger.Trace("Called listSecrets");
            Uri                uri            = new Uri(this.restClient.GetEndpoint(), System.IO.Path.Combine(basePathWithoutHost, "/secrets".Trim('/')));
            HttpMethod         method         = new HttpMethod("GET");
            HttpRequestMessage requestMessage = Converter.ToHttpRequestMessage(uri, method, request);

            requestMessage.Headers.Add("Accept", "application/json");
            GenericRetrier      retryingClient = Retrier.GetPreferredRetrier(retryConfiguration, this.retryConfiguration);
            HttpResponseMessage responseMessage;

            try
            {
                if (retryingClient != null)
                {
                    responseMessage = await retryingClient.MakeRetryingCall(this.restClient.HttpSend, requestMessage, cancellationToken).ConfigureAwait(false);
                }
                else
                {
                    responseMessage = await this.restClient.HttpSend(requestMessage).ConfigureAwait(false);
                }
                this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage);

                return(Converter.FromHttpResponseMessage <ListSecretsResponse>(responseMessage));
            }
            catch (Exception e)
            {
                logger.Error($"ListSecrets failed with error: {e.Message}");
                throw;
            }
        }
Example #4
0
        public override void Invoke(AWSCredentials creds, RegionEndpoint region, int maxItems)
        {
            AmazonSecretsManagerConfig config = new AmazonSecretsManagerConfig();

            config.RegionEndpoint = region;
            ConfigureClient(config);
            AmazonSecretsManagerClient client = new AmazonSecretsManagerClient(creds, config);

            ListSecretsResponse resp = new ListSecretsResponse();

            do
            {
                ListSecretsRequest req = new ListSecretsRequest
                {
                    NextToken = resp.NextToken
                    ,
                    MaxResults = maxItems
                };

                resp = client.ListSecrets(req);
                CheckError(resp.HttpStatusCode, "200");

                foreach (var obj in resp.SecretList)
                {
                    AddObject(obj);
                }
            }while (!string.IsNullOrEmpty(resp.NextToken));
        }
        /// <summary>
        /// Initiates the asynchronous execution of the ListSecrets operation.
        /// </summary>
        ///
        /// <param name="request">Container for the necessary parameters to execute the ListSecrets operation.</param>
        /// <param name="cancellationToken">
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// </param>
        /// <returns>The task object representing the asynchronous operation.</returns>
        /// <seealso href="http://docs.aws.amazon.com/goto/WebAPI/secretsmanager-2017-10-17/ListSecrets">REST API Reference for ListSecrets Operation</seealso>
        public virtual Task <ListSecretsResponse> ListSecretsAsync(ListSecretsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var marshaller   = ListSecretsRequestMarshaller.Instance;
            var unmarshaller = ListSecretsResponseUnmarshaller.Instance;

            return(InvokeAsync <ListSecretsRequest, ListSecretsResponse>(request, marshaller,
                                                                         unmarshaller, cancellationToken));
        }
Example #6
0
        /// <summary>
        /// 查询凭据列表
        /// </summary>
        public async Task <ListSecretsResponse> ListSecretsAsync(ListSecretsRequest listSecretsRequest)
        {
            Dictionary <string, string> urlParam = new Dictionary <string, string>();
            string              urlPath          = HttpUtils.AddUrlPath("/v1/{project_id}/secrets", urlParam);
            SdkRequest          request          = HttpUtils.InitSdkRequest(urlPath, "application/json", listSecretsRequest);
            HttpResponseMessage response         = await DoHttpRequestAsync("GET", request);

            return(JsonUtils.DeSerialize <ListSecretsResponse>(response));
        }
Example #7
0
        /// <summary>
        /// Initiates the asynchronous execution of the ListSecrets operation.
        /// </summary>
        ///
        /// <param name="request">Container for the necessary parameters to execute the ListSecrets operation.</param>
        /// <param name="cancellationToken">
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// </param>
        /// <returns>The task object representing the asynchronous operation.</returns>
        /// <seealso href="http://docs.aws.amazon.com/goto/WebAPI/secretsmanager-2017-10-17/ListSecrets">REST API Reference for ListSecrets Operation</seealso>
        public virtual Task <ListSecretsResponse> ListSecretsAsync(ListSecretsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();

            options.RequestMarshaller    = ListSecretsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListSecretsResponseUnmarshaller.Instance;

            return(InvokeAsync <ListSecretsResponse>(request, options, cancellationToken));
        }
Example #8
0
        internal virtual ListSecretsResponse ListSecrets(ListSecretsRequest request)
        {
            var options = new InvokeOptions();

            options.RequestMarshaller    = ListSecretsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListSecretsResponseUnmarshaller.Instance;

            return(Invoke <ListSecretsResponse>(request, options));
        }
 /// <summary>
 /// Creates a new enumerable which will iterate over the responses received from the ListSecrets operation. This enumerable
 /// will fetch more data from the server as needed.
 /// </summary>
 /// <param name="request">The request object containing the details to send</param>
 /// <param name="retryConfiguration">The configuration for retrying, may be null</param>
 /// <param name="cancellationToken">The cancellation token object</param>
 /// <returns>The enumerator, which supports a simple iteration over a collection of a specified type</returns>
 public IEnumerable <ListSecretsResponse> ListSecretsResponseEnumerator(ListSecretsRequest request, Common.Retry.RetryConfiguration retryConfiguration = null, CancellationToken cancellationToken = default)
 {
     return(new Common.Utils.ResponseEnumerable <ListSecretsRequest, ListSecretsResponse>(
                response => response.OpcNextPage,
                input =>
     {
         if (!string.IsNullOrEmpty(input))
         {
             request.Page = input;
         }
         return request;
     },
                request => client.ListSecrets(request, retryConfiguration, cancellationToken)
                ));
 }
Example #10
0
        /// <summary>
        /// ListSecrets接口的同步版本,该接口用于获取所有凭据的详细列表,可以指定过滤字段、排序方式等。
        /// </summary>
        /// <param name="req">参考<see cref="ListSecretsRequest"/></param>
        /// <returns>参考<see cref="ListSecretsResponse"/>实例</returns>
        public ListSecretsResponse ListSecretsSync(ListSecretsRequest req)
        {
            JsonResponseModel <ListSecretsResponse> rsp = null;

            try
            {
                var strResp = this.InternalRequestSync(req, "ListSecrets");
                rsp = JsonConvert.DeserializeObject <JsonResponseModel <ListSecretsResponse> >(strResp);
            }
            catch (JsonSerializationException e)
            {
                throw new TencentCloudSDKException(e.Message);
            }
            return(rsp.Response);
        }
        // [END secretmanager_list_secret_versions]

        // [START secretmanager_list_secrets]
        /// <summary>
        /// List all secret for a project
        /// </summary>
        /// <param name="projectId">ID of the project where secrets reside.</param>
        /// <example>
        /// List all secrets.
        /// <code>ListSecrets("my-project")</code>
        /// </example>
        public static void ListSecrets(string projectId)
        {
            SecretManagerServiceClient client = SecretManagerServiceClient.Create();

            // Create the request.
            var request = new ListSecretsRequest
            {
                ParentAsProjectName = new ProjectName(projectId),
            };

            // List all secrets in the project.
            foreach (var secret in client.ListSecrets(request))
            {
                Console.WriteLine($"Secret {secret.Name}");
            }
        }
        public async Task <IList <SecretListEntry> > ListAllAsync()
        {
            var listSecretsRequest = new ListSecretsRequest
            {
                MaxResults = 100
            };
            var listOfSecrets = new List <SecretListEntry>();

            do
            {
                var result = await _secretsManager.ListSecretsAsync(listSecretsRequest);

                if (result?.SecretList.Any() ?? false)
                {
                    listOfSecrets.AddRange(result.SecretList);
                }
                listSecretsRequest.NextToken = result.NextToken;
            }while(listSecretsRequest.NextToken != null);
            return(listOfSecrets);
        }
Example #13
0
        public async Task <IReadOnlyList <SecretListEntry> > GetAllSecrets(CancellationToken cancellationToken)
        {
            var result = new List <SecretListEntry>();
            var query  = default(ListSecretsResponse);

            do
            {
                var nextToken = query?.NextToken;
                var request   = new ListSecretsRequest()
                {
                    NextToken = nextToken
                };

                query = await SecretsManager.ListSecretsAsync(request, cancellationToken).ConfigureAwait(false);

                result.AddRange(query.SecretList);
            } while (query.NextToken != null);

            return(result);
        }
Example #14
0
        public override void Load()
        {
            var data = new Dictionary <string, string>(StringComparer.OrdinalIgnoreCase);

            var request = new ListSecretsRequest
            {
                ParentAsProjectName = ProjectName.FromProject(projectName),
            };

            var secrets = secretManagerServiceClient.ListSecrets(request);

            foreach (var secret in secrets)
            {
                var    value     = secretManagerServiceClient.AccessSecretVersion($"{secret.Name}/versions/latest");
                string secretVal = this.manager.Load(value.Payload);
                string configKey = this.manager.GetKey(secret.SecretName);
                data.Add(configKey, secretVal);
            }
            Data = data;
        }
Example #15
0
        async Task <IReadOnlyList <SecretListEntry> > FetchAllSecretsAsync()
        {
            var response = default(ListSecretsResponse);

            var result = new List <SecretListEntry>();

            do
            {
                var nextToken = response?.NextToken;

                var request = new ListSecretsRequest()
                {
                    NextToken = nextToken
                };

                response = await Client.ListSecretsAsync(request).ConfigureAwait(false);

                result.AddRange(response.SecretList);
            } while (response.NextToken != null);

            return(result);
        }
Example #16
0
        public bool TestVaultConnection()
        {
            if (_awsClient == null)
            {
                return(false);
            }

            try
            {
                var listRequest = new ListSecretsRequest()
                {
                    MaxResults = 1
                };
                var task   = Task.Run(async() => await _awsClient.ListSecretsAsync(listRequest));
                var result = task.Result;
                _logger.Information($"Test vault connection for {DisplayName}: Result = {result}");
                return(true);
            }
            catch (Exception ex)
            {
                _logger.Error(ex, $"Failed the connection test for {DisplayName}: {ex.Message}.");
                return(false);
            }
        }
Example #17
0
        protected override void ProcessRecord()
        {
            base.ProcessRecord();
            ListSecretsRequest request;

            try
            {
                request = new ListSecretsRequest
                {
                    CompartmentId  = CompartmentId,
                    Name           = Name,
                    Limit          = Limit,
                    Page           = Page,
                    OpcRequestId   = OpcRequestId,
                    SortBy         = SortBy,
                    SortOrder      = SortOrder,
                    VaultId        = VaultId,
                    LifecycleState = LifecycleState
                };
                IEnumerable <ListSecretsResponse> responses = GetRequestDelegate().Invoke(request);
                foreach (var item in responses)
                {
                    response = item;
                    WriteOutput(response, response.Items, true);
                }
                if (!ParameterSetName.Equals(AllPageSet) && !ParameterSetName.Equals(LimitSet) && response.OpcNextPage != null)
                {
                    WriteWarning("This operation supports pagination and not all resources were returned. Re-run using the -All option to auto paginate and list all resources.");
                }
                FinishProcessing(response);
            }
            catch (Exception ex)
            {
                TerminatingErrorDuringExecution(ex);
            }
        }