/*
* Copyright 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.
*/
/*
* Do not modify this file. This file is generated from the codeartifact-2018-09-22.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.CodeArtifact.Model
{
///
/// Container for the parameters to the DeletePackageVersions operation.
/// Deletes one or more versions of a package. A deleted package version cannot be restored
/// in your repository. If you want to remove a package version from your repository and
/// be able to restore it later, set its status to Archived
. Archived packages
/// cannot be downloaded from a repository and don't show up with list package APIs (for
/// example, ListPackageVersions),
/// but you can restore them using UpdatePackageVersionsStatus.
///
public partial class DeletePackageVersionsRequest : AmazonCodeArtifactRequest
{
private string _domain;
private string _domainOwner;
private PackageVersionStatus _expectedStatus;
private PackageFormat _format;
private string _awsNamespace;
private string _package;
private string _repository;
private List _versions = new List();
///
/// Gets and sets the property Domain.
///
/// The name of the domain that contains the package to delete.
///
///
[AWSProperty(Required=true, Min=2, Max=50)]
public string Domain
{
get { return this._domain; }
set { this._domain = value; }
}
// Check to see if Domain property is set
internal bool IsSetDomain()
{
return this._domain != null;
}
///
/// Gets and sets the property DomainOwner.
///
/// The 12-digit account number of the Amazon Web Services account that owns the domain.
/// It does not include dashes or spaces.
///
///
[AWSProperty(Min=12, Max=12)]
public string DomainOwner
{
get { return this._domainOwner; }
set { this._domainOwner = value; }
}
// Check to see if DomainOwner property is set
internal bool IsSetDomainOwner()
{
return this._domainOwner != null;
}
///
/// Gets and sets the property ExpectedStatus.
///
/// The expected status of the package version to delete.
///
///
public PackageVersionStatus ExpectedStatus
{
get { return this._expectedStatus; }
set { this._expectedStatus = value; }
}
// Check to see if ExpectedStatus property is set
internal bool IsSetExpectedStatus()
{
return this._expectedStatus != null;
}
///
/// Gets and sets the property Format.
///
/// The format of the package versions to delete.
///
///
[AWSProperty(Required=true)]
public PackageFormat Format
{
get { return this._format; }
set { this._format = value; }
}
// Check to see if Format property is set
internal bool IsSetFormat()
{
return this._format != null;
}
///
/// Gets and sets the property Namespace.
///
/// The namespace of the package versions to be deleted. The package version component
/// that specifies its namespace depends on its type. For example:
///
/// -
///
/// The namespace of a Maven package version is its
groupId
. The namespace
/// is required when deleting Maven package versions.
///
/// -
///
/// The namespace of an npm package version is its
scope
.
///
/// -
///
/// Python and NuGet package versions do not contain a corresponding component, package
/// versions of those formats do not have a namespace.
///
///
-
///
/// The namespace of a generic package is its
namespace
.
///
///
///
[AWSProperty(Min=1, Max=255)]
public string Namespace
{
get { return this._awsNamespace; }
set { this._awsNamespace = value; }
}
// Check to see if Namespace property is set
internal bool IsSetNamespace()
{
return this._awsNamespace != null;
}
///
/// Gets and sets the property Package.
///
/// The name of the package with the versions to delete.
///
///
[AWSProperty(Required=true, Min=1, Max=255)]
public string Package
{
get { return this._package; }
set { this._package = value; }
}
// Check to see if Package property is set
internal bool IsSetPackage()
{
return this._package != null;
}
///
/// Gets and sets the property Repository.
///
/// The name of the repository that contains the package versions to delete.
///
///
[AWSProperty(Required=true, Min=2, Max=100)]
public string Repository
{
get { return this._repository; }
set { this._repository = value; }
}
// Check to see if Repository property is set
internal bool IsSetRepository()
{
return this._repository != null;
}
///
/// Gets and sets the property Versions.
///
/// An array of strings that specify the versions of the package to delete.
///
///
[AWSProperty(Required=true, Max=100)]
public List Versions
{
get { return this._versions; }
set { this._versions = value; }
}
// Check to see if Versions property is set
internal bool IsSetVersions()
{
return this._versions != null && this._versions.Count > 0;
}
}
}