本文整理汇总了C#中CopySnapshotRequestMarshaller类的典型用法代码示例。如果您正苦于以下问题:C# CopySnapshotRequestMarshaller类的具体用法?C# CopySnapshotRequestMarshaller怎么用?C# CopySnapshotRequestMarshaller使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
CopySnapshotRequestMarshaller类属于命名空间,在下文中一共展示了CopySnapshotRequestMarshaller类的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: PreInvoke
protected override void PreInvoke(IExecutionContext executionContext)
{
var request = executionContext.RequestContext.OriginalRequest;
var config = executionContext.RequestContext.ClientConfig;
var copySnapshotRequest = request as CopySnapshotRequest;
if (copySnapshotRequest != null)
{
if (string.IsNullOrEmpty(copySnapshotRequest.DestinationRegion))
{
copySnapshotRequest.DestinationRegion = AWS4Signer.DetermineSigningRegion(config, "ec2", alternateEndpoint: null);
}
if (string.IsNullOrEmpty(copySnapshotRequest.SourceRegion))
{
throw new AmazonEC2Exception("SourceRegion is required to perform the copy snapshot.");
}
var endpoint = RegionEndpoint.GetBySystemName(copySnapshotRequest.SourceRegion);
if(endpoint == null)
{
throw new AmazonEC2Exception(string.Format(CultureInfo.InvariantCulture, "No endpoint for region {0}.", copySnapshotRequest.SourceRegion));
}
// Make sure the presigned URL is currently null so we don't attempt to generate
// a presigned URL with a presigned URL.
copySnapshotRequest.PresignedUrl = null;
// Marshall this request but switch to the source region and make it a GET request.
var marshaller = new CopySnapshotRequestMarshaller();
var irequest = marshaller.Marshall(copySnapshotRequest);
irequest.UseQueryString = true;
irequest.HttpMethod = "GET";
irequest.Parameters.Add("X-Amz-Expires", AWS4PreSignedUrlSigner.MaxAWS4PreSignedUrlExpiry.ToString(CultureInfo.InvariantCulture));
irequest.Endpoint = new Uri("https://" + endpoint.GetEndpointForService(config.RegionEndpointServiceName).Hostname);
// Create presigned URL.
var metrics = new RequestMetrics();
var immutableCredentials = _credentials.GetCredentials();
if (immutableCredentials.UseToken)
{
irequest.Parameters["X-Amz-Security-Token"] = immutableCredentials.Token;
}
var signingResult = AWS4PreSignedUrlSigner.SignRequest(irequest,
config,
metrics,
immutableCredentials.AccessKey,
immutableCredentials.SecretKey,
"ec2",
copySnapshotRequest.SourceRegion);
var authorization = "&" + signingResult.ForQueryParameters;
var url = AmazonServiceClient.ComposeUrl(irequest);
copySnapshotRequest.PresignedUrl = url.AbsoluteUri + authorization;
}
}
示例2: CopySnapshotMarshallTest
public void CopySnapshotMarshallTest()
{
var operation = service_model.FindOperation("CopySnapshot");
var request = InstantiateClassGenerator.Execute<CopySnapshotRequest>();
var marshaller = new CopySnapshotRequestMarshaller();
var internalRequest = marshaller.Marshall(request);
var validator = new AWSQueryValidator(internalRequest.Parameters, request, service_model, operation);
validator.Validate();
var payloadResponse = new XmlSampleGenerator(service_model, operation).Execute();
var context = new XmlUnmarshallerContext(Utils.CreateStreamFromString(payloadResponse), false, null);
var response = CopySnapshotResponseUnmarshaller.Instance.Unmarshall(context)
as CopySnapshotResponse;
InstantiateClassGenerator.ValidateObjectFullyInstantiated(response);
}
示例3: CopySnapshotAsync
/// <summary>
/// Initiates the asynchronous execution of the CopySnapshot operation.
/// </summary>
///
/// <param name="request">Container for the necessary parameters to execute the CopySnapshot 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>
public Task<CopySnapshotResponse> CopySnapshotAsync(CopySnapshotRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var marshaller = new CopySnapshotRequestMarshaller();
var unmarshaller = CopySnapshotResponseUnmarshaller.Instance;
return InvokeAsync<CopySnapshotRequest,CopySnapshotResponse>(request, marshaller,
unmarshaller, cancellationToken);
}
示例4: CopySnapshot
/// <summary>
/// Copies a point-in-time snapshot of an EBS volume and stores it in Amazon S3. You can
/// copy the snapshot within the same region or from one region to another. You can use
/// the snapshot to create EBS volumes or Amazon Machine Images (AMIs). The snapshot is
/// copied to the regional endpoint that you send the HTTP request to.
///
///
/// <para>
/// Copies of encrypted EBS snapshots remain encrypted. Copies of unencrypted snapshots
/// remain unencrypted, unless the <code>Encrypted</code> flag is specified during the
/// snapshot copy operation. By default, encrypted snapshot copies use the default AWS
/// Key Management Service (KMS) master key; however, you can specify a non-default master
/// key with the <code>KmsKeyId</code> parameter.
/// </para>
///
/// <para>
/// For more information, see <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-copy-snapshot.html">Copying
/// an Amazon EBS Snapshot</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.
/// </para>
/// </summary>
/// <param name="request">Container for the necessary parameters to execute the CopySnapshot service method.</param>
///
/// <returns>The response from the CopySnapshot service method, as returned by EC2.</returns>
public CopySnapshotResponse CopySnapshot(CopySnapshotRequest request)
{
var marshaller = new CopySnapshotRequestMarshaller();
var unmarshaller = CopySnapshotResponseUnmarshaller.Instance;
return Invoke<CopySnapshotRequest,CopySnapshotResponse>(request, marshaller, unmarshaller);
}
示例5: BeginCopySnapshot
/// <summary>
/// Initiates the asynchronous execution of the CopySnapshot operation.
/// </summary>
///
/// <param name="request">Container for the necessary parameters to execute the CopySnapshot operation on AmazonEC2Client.</param>
/// <param name="callback">An AsyncCallback delegate that is invoked when the operation completes.</param>
/// <param name="state">A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
/// procedure using the AsyncState property.</param>
///
/// <returns>An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndCopySnapshot
/// operation.</returns>
public IAsyncResult BeginCopySnapshot(CopySnapshotRequest request, AsyncCallback callback, object state)
{
var marshaller = new CopySnapshotRequestMarshaller();
var unmarshaller = CopySnapshotResponseUnmarshaller.Instance;
return BeginInvoke<CopySnapshotRequest>(request, marshaller, unmarshaller,
callback, state);
}
示例6: invokeCopySnapshot
IAsyncResult invokeCopySnapshot(CopySnapshotRequest copySnapshotRequest, AsyncCallback callback, object state, bool synchronized)
{
IRequest irequest = new CopySnapshotRequestMarshaller().Marshall(copySnapshotRequest);
var unmarshaller = CopySnapshotResponseUnmarshaller.GetInstance();
AsyncResult result = new AsyncResult(irequest, callback, state, synchronized, signer, unmarshaller);
Invoke(result);
return result;
}
示例7: CopySnapshotAsync
/// <summary>
/// <para>Copies a point-in-time snapshot of an Amazon EBS volume and stores it in Amazon S3. You can copy the snapshot within the same region
/// or from one region to another. You can use the snapshot to create Amazon EBS volumes or Amazon Machine Images (AMIs).</para> <para>For more
/// information, see <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-copy-snapshot.html">Copying an Amazon EBS Snapshot</a> in
/// the <i>Amazon Elastic Compute Cloud User Guide</i> .</para>
/// </summary>
///
/// <param name="copySnapshotRequest">Container for the necessary parameters to execute the CopySnapshot service method on AmazonEC2.</param>
///
/// <returns>The response from the CopySnapshot service method, as returned by AmazonEC2.</returns>
/// <param name="cancellationToken">
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
/// </param>
public Task<CopySnapshotResponse> CopySnapshotAsync(CopySnapshotRequest copySnapshotRequest, CancellationToken cancellationToken = default(CancellationToken))
{
var marshaller = new CopySnapshotRequestMarshaller();
var unmarshaller = CopySnapshotResponseUnmarshaller.GetInstance();
return Invoke<IRequest, CopySnapshotRequest, CopySnapshotResponse>(copySnapshotRequest, marshaller, unmarshaller, signer, cancellationToken);
}
示例8: CopySnapshotAsync
/// <summary>
/// Initiates the asynchronous execution of the CopySnapshot operation.
/// <seealso cref="Amazon.EC2.IAmazonEC2.CopySnapshot"/>
/// </summary>
///
/// <param name="request">Container for the necessary parameters to execute the CopySnapshot 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>
public async Task<CopySnapshotResponse> CopySnapshotAsync(CopySnapshotRequest request, CancellationToken cancellationToken = default(CancellationToken))
{
var marshaller = new CopySnapshotRequestMarshaller();
var unmarshaller = CopySnapshotResponseUnmarshaller.GetInstance();
var response = await Invoke<IRequest, CopySnapshotRequest, CopySnapshotResponse>(request, marshaller, unmarshaller, signer, cancellationToken)
.ConfigureAwait(continueOnCapturedContext: false);
return response;
}
示例9: invokeCopySnapshot
IAsyncResult invokeCopySnapshot(CopySnapshotRequest copySnapshotRequest, AsyncCallback callback, object state, bool synchronized)
{
var marshaller = new CopySnapshotRequestMarshaller();
var unmarshaller = CopySnapshotResponseUnmarshaller.GetInstance();
var result = Invoke<IRequest, CopySnapshotRequest>(copySnapshotRequest, callback, state, synchronized, marshaller, unmarshaller, this.signer);
return result;
}