/*
* 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 CopyPackageVersions operation.
/// Copies package versions from one repository to another repository in the same domain.
///
///
///
///
/// You must specify versions
or versionRevisions
. You cannot
/// specify both.
///
///
///
public partial class CopyPackageVersionsRequest : AmazonCodeArtifactRequest
{
private bool? _allowOverwrite;
private string _destinationRepository;
private string _domain;
private string _domainOwner;
private PackageFormat _format;
private bool? _includeFromUpstream;
private string _awsNamespace;
private string _package;
private string _sourceRepository;
private Dictionary _versionRevisions = new Dictionary();
private List _versions = new List();
///
/// Gets and sets the property AllowOverwrite.
///
/// Set to true to overwrite a package version that already exists in the destination
/// repository. If set to false and the package version already exists in the destination
/// repository, the package version is returned in the failedVersions
field
/// of the response with an ALREADY_EXISTS
error code.
///
///
public bool AllowOverwrite
{
get { return this._allowOverwrite.GetValueOrDefault(); }
set { this._allowOverwrite = value; }
}
// Check to see if AllowOverwrite property is set
internal bool IsSetAllowOverwrite()
{
return this._allowOverwrite.HasValue;
}
///
/// Gets and sets the property DestinationRepository.
///
/// The name of the repository into which package versions are copied.
///
///
[AWSProperty(Required=true, Min=2, Max=100)]
public string DestinationRepository
{
get { return this._destinationRepository; }
set { this._destinationRepository = value; }
}
// Check to see if DestinationRepository property is set
internal bool IsSetDestinationRepository()
{
return this._destinationRepository != null;
}
///
/// Gets and sets the property Domain.
///
/// The name of the domain that contains the source and destination repositories.
///
///
[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 Format.
///
/// The format of the package versions to be copied.
///
///
[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 IncludeFromUpstream.
///
/// Set to true to copy packages from repositories that are upstream from the source
/// repository to the destination repository. The default setting is false. For more information,
/// see Working
/// with upstream repositories.
///
///
public bool IncludeFromUpstream
{
get { return this._includeFromUpstream.GetValueOrDefault(); }
set { this._includeFromUpstream = value; }
}
// Check to see if IncludeFromUpstream property is set
internal bool IsSetIncludeFromUpstream()
{
return this._includeFromUpstream.HasValue;
}
///
/// Gets and sets the property Namespace.
///
/// The namespace of the package versions to be copied. 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 copying 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 that contains the versions to be copied.
///
///
[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 SourceRepository.
///
/// The name of the repository that contains the package versions to be copied.
///
///
[AWSProperty(Required=true, Min=2, Max=100)]
public string SourceRepository
{
get { return this._sourceRepository; }
set { this._sourceRepository = value; }
}
// Check to see if SourceRepository property is set
internal bool IsSetSourceRepository()
{
return this._sourceRepository != null;
}
///
/// Gets and sets the property VersionRevisions.
///
/// A list of key-value pairs. The keys are package versions and the values are package
/// version revisions. A CopyPackageVersion
operation succeeds if the specified
/// versions in the source repository match the specified package version revision.
///
///
///
/// You must specify versions
or versionRevisions
. You cannot
/// specify both.
///
///
///
public Dictionary VersionRevisions
{
get { return this._versionRevisions; }
set { this._versionRevisions = value; }
}
// Check to see if VersionRevisions property is set
internal bool IsSetVersionRevisions()
{
return this._versionRevisions != null && this._versionRevisions.Count > 0;
}
///
/// Gets and sets the property Versions.
///
/// The versions of the package to be copied.
///
///
///
/// You must specify versions
or versionRevisions
. You cannot
/// specify both.
///
///
///
[AWSProperty(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;
}
}
}