/******************************************************************************* * Copyright 2012-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. * Licensed under the Apache License, Version 2.0 (the "License"). You may not use * this file except in compliance with the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. * This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the * specific language governing permissions and limitations under the License. * ***************************************************************************** * * AWS Tools for Windows (TM) PowerShell (TM) * */ using System; using System.Collections.Generic; using System.Linq; using System.Management.Automation; using Amazon.PowerShell.Common; using Amazon.Runtime; using Amazon.S3.Model; using Amazon.S3; namespace Amazon.PowerShell.Cmdlets.S3 { public partial class GetS3BucketCmdlet { #region Parameter BucketName /// /// If set, returns a single S3Bucket instance mapping to the specified bucket. /// [Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] public System.String BucketName { get; set; } #endregion protected override void PostExecutionContextLoad(ExecutorContext context) { if (ParameterWasBound(nameof(this.Select)) && BucketName != null) { throw new System.ArgumentException("-BucketName cannot be used when -Select is specified.", nameof(this.BucketName)); } } protected override void ProcessOutput(CmdletOutput cmdletOutput) { if (cmdletOutput == null) return; if (!string.IsNullOrEmpty(this.BucketName) && cmdletOutput.PipelineOutput is List buckets) { cmdletOutput.PipelineOutput = buckets.Where(b => b.BucketName == this.BucketName).ToList(); } base.ProcessOutput(cmdletOutput); } } }