diff --git a/Ds3/Calls/CompleteBlobRequest.cs b/Ds3/Calls/CompleteBlobRequest.cs new file mode 100644 index 00000000..054f9172 --- /dev/null +++ b/Ds3/Calls/CompleteBlobRequest.cs @@ -0,0 +1,103 @@ +/* + * ****************************************************************************** + * Copyright 2014-2017 Spectra Logic Corporation. 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://www.apache.org/licenses/LICENSE-2.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. + * **************************************************************************** + */ + +// This code is auto-generated, do not modify +using Ds3.Models; +using System; +using System.Net; + +namespace Ds3.Calls +{ + public class CompleteBlobRequest : Ds3Request + { + + public string BucketName { get; private set; } + + public string ObjectName { get; private set; } + + public string Blob { get; private set; } + + public string Job { get; private set; } + + + private long? _size; + public long? Size + { + get { return _size; } + set { WithSize(value); } + } + + + public CompleteBlobRequest WithSize(long? size) + { + this._size = size; + if (size != null) + { + this.QueryParams.Add("size", size.ToString()); + } + else + { + this.QueryParams.Remove("size"); + } + return this; + } + + + + + public CompleteBlobRequest(string bucketName, string objectName, Guid blob, Guid job) + { + this.BucketName = bucketName; + this.ObjectName = objectName; + this.Blob = blob.ToString(); + this.Job = job.ToString(); + + this.QueryParams.Add("blob", blob.ToString()); + + this.QueryParams.Add("job", job.ToString()); + + } + + + public CompleteBlobRequest(string bucketName, string objectName, string blob, string job) + { + this.BucketName = bucketName; + this.ObjectName = objectName; + this.Blob = blob; + this.Job = job; + + this.QueryParams.Add("blob", blob); + + this.QueryParams.Add("job", job); + + } + + internal override HttpVerb Verb + { + get + { + return HttpVerb.POST; + } + } + + internal override string Path + { + get + { + return "/" + BucketName + "/" + ObjectName; + } + } + } +} \ No newline at end of file diff --git a/Ds3/Calls/DelegateCreateUserSpectraS3Request.cs b/Ds3/Calls/DelegateCreateUserSpectraS3Request.cs index 8aad3e1d..f37dd4bd 100644 --- a/Ds3/Calls/DelegateCreateUserSpectraS3Request.cs +++ b/Ds3/Calls/DelegateCreateUserSpectraS3Request.cs @@ -26,6 +26,13 @@ public class DelegateCreateUserSpectraS3Request : Ds3Request public string Name { get; private set; } + private string _defaultDataPolicyId; + public string DefaultDataPolicyId + { + get { return _defaultDataPolicyId; } + set { WithDefaultDataPolicyId(value); } + } + private string _id; public string Id { @@ -48,6 +55,36 @@ public string SecretKey } + public DelegateCreateUserSpectraS3Request WithDefaultDataPolicyId(Guid? defaultDataPolicyId) + { + this._defaultDataPolicyId = defaultDataPolicyId.ToString(); + if (defaultDataPolicyId != null) + { + this.QueryParams.Add("default_data_policy_id", defaultDataPolicyId.ToString()); + } + else + { + this.QueryParams.Remove("default_data_policy_id"); + } + return this; + } + + + public DelegateCreateUserSpectraS3Request WithDefaultDataPolicyId(string defaultDataPolicyId) + { + this._defaultDataPolicyId = defaultDataPolicyId; + if (defaultDataPolicyId != null) + { + this.QueryParams.Add("default_data_policy_id", defaultDataPolicyId); + } + else + { + this.QueryParams.Remove("default_data_policy_id"); + } + return this; + } + + public DelegateCreateUserSpectraS3Request WithId(Guid? id) { this._id = id.ToString(); diff --git a/Ds3/Calls/DeleteBucketChangesNotificationRegistrationSpectraS3Request.cs b/Ds3/Calls/DeleteBucketChangesNotificationRegistrationSpectraS3Request.cs new file mode 100644 index 00000000..d525ba27 --- /dev/null +++ b/Ds3/Calls/DeleteBucketChangesNotificationRegistrationSpectraS3Request.cs @@ -0,0 +1,54 @@ +/* + * ****************************************************************************** + * Copyright 2014-2017 Spectra Logic Corporation. 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://www.apache.org/licenses/LICENSE-2.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. + * **************************************************************************** + */ + +// This code is auto-generated, do not modify +using Ds3.Models; +using System; +using System.Net; + +namespace Ds3.Calls +{ + public class DeleteBucketChangesNotificationRegistrationSpectraS3Request : Ds3Request + { + + public string BucketChangesNotificationRegistration { get; private set; } + + + + + + public DeleteBucketChangesNotificationRegistrationSpectraS3Request(string bucketChangesNotificationRegistration) + { + this.BucketChangesNotificationRegistration = bucketChangesNotificationRegistration; + + } + + internal override HttpVerb Verb + { + get + { + return HttpVerb.DELETE; + } + } + + internal override string Path + { + get + { + return "/_rest_/bucket_changes_notification_registration/" + BucketChangesNotificationRegistration; + } + } + } +} \ No newline at end of file diff --git a/Ds3/Calls/GetBucketChangesNotificationRegistrationSpectraS3Request.cs b/Ds3/Calls/GetBucketChangesNotificationRegistrationSpectraS3Request.cs new file mode 100644 index 00000000..5a4dc57e --- /dev/null +++ b/Ds3/Calls/GetBucketChangesNotificationRegistrationSpectraS3Request.cs @@ -0,0 +1,54 @@ +/* + * ****************************************************************************** + * Copyright 2014-2017 Spectra Logic Corporation. 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://www.apache.org/licenses/LICENSE-2.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. + * **************************************************************************** + */ + +// This code is auto-generated, do not modify +using Ds3.Models; +using System; +using System.Net; + +namespace Ds3.Calls +{ + public class GetBucketChangesNotificationRegistrationSpectraS3Request : Ds3Request + { + + public string BucketChangesNotificationRegistration { get; private set; } + + + + + + public GetBucketChangesNotificationRegistrationSpectraS3Request(string bucketChangesNotificationRegistration) + { + this.BucketChangesNotificationRegistration = bucketChangesNotificationRegistration; + + } + + internal override HttpVerb Verb + { + get + { + return HttpVerb.GET; + } + } + + internal override string Path + { + get + { + return "/_rest_/bucket_changes_notification_registration/" + BucketChangesNotificationRegistration; + } + } + } +} \ No newline at end of file diff --git a/Ds3/Calls/GetBucketChangesNotificationRegistrationSpectraS3Response.cs b/Ds3/Calls/GetBucketChangesNotificationRegistrationSpectraS3Response.cs new file mode 100644 index 00000000..a702d6b9 --- /dev/null +++ b/Ds3/Calls/GetBucketChangesNotificationRegistrationSpectraS3Response.cs @@ -0,0 +1,30 @@ +/* + * ****************************************************************************** + * Copyright 2014-2017 Spectra Logic Corporation. 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://www.apache.org/licenses/LICENSE-2.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. + * **************************************************************************** + */ + +// This code is auto-generated, do not modify +using Ds3.Models; + +namespace Ds3.Calls +{ + public class GetBucketChangesNotificationRegistrationSpectraS3Response + { + public BucketChangesNotificationRegistration ResponsePayload { get; private set; } + + public GetBucketChangesNotificationRegistrationSpectraS3Response(BucketChangesNotificationRegistration responsePayload) + { + this.ResponsePayload = responsePayload; + } + } +} diff --git a/Ds3/Calls/GetBucketChangesNotificationRegistrationsSpectraS3Request.cs b/Ds3/Calls/GetBucketChangesNotificationRegistrationsSpectraS3Request.cs new file mode 100644 index 00000000..f494c65b --- /dev/null +++ b/Ds3/Calls/GetBucketChangesNotificationRegistrationsSpectraS3Request.cs @@ -0,0 +1,191 @@ +/* + * ****************************************************************************** + * Copyright 2014-2017 Spectra Logic Corporation. 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://www.apache.org/licenses/LICENSE-2.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. + * **************************************************************************** + */ + +// This code is auto-generated, do not modify +using Ds3.Models; +using System; +using System.Net; + +namespace Ds3.Calls +{ + public class GetBucketChangesNotificationRegistrationsSpectraS3Request : Ds3Request + { + + + private bool? _lastPage; + public bool? LastPage + { + get { return _lastPage; } + set { WithLastPage(value); } + } + + private int? _pageLength; + public int? PageLength + { + get { return _pageLength; } + set { WithPageLength(value); } + } + + private int? _pageOffset; + public int? PageOffset + { + get { return _pageOffset; } + set { WithPageOffset(value); } + } + + private string _pageStartMarker; + public string PageStartMarker + { + get { return _pageStartMarker; } + set { WithPageStartMarker(value); } + } + + private string _userId; + public string UserId + { + get { return _userId; } + set { WithUserId(value); } + } + + + public GetBucketChangesNotificationRegistrationsSpectraS3Request WithLastPage(bool? lastPage) + { + this._lastPage = lastPage; + if (lastPage != null) + { + this.QueryParams.Add("last_page", lastPage.ToString()); + } + else + { + this.QueryParams.Remove("last_page"); + } + return this; + } + + + public GetBucketChangesNotificationRegistrationsSpectraS3Request WithPageLength(int? pageLength) + { + this._pageLength = pageLength; + if (pageLength != null) + { + this.QueryParams.Add("page_length", pageLength.ToString()); + } + else + { + this.QueryParams.Remove("page_length"); + } + return this; + } + + + public GetBucketChangesNotificationRegistrationsSpectraS3Request WithPageOffset(int? pageOffset) + { + this._pageOffset = pageOffset; + if (pageOffset != null) + { + this.QueryParams.Add("page_offset", pageOffset.ToString()); + } + else + { + this.QueryParams.Remove("page_offset"); + } + return this; + } + + + public GetBucketChangesNotificationRegistrationsSpectraS3Request WithPageStartMarker(Guid? pageStartMarker) + { + this._pageStartMarker = pageStartMarker.ToString(); + if (pageStartMarker != null) + { + this.QueryParams.Add("page_start_marker", pageStartMarker.ToString()); + } + else + { + this.QueryParams.Remove("page_start_marker"); + } + return this; + } + + + public GetBucketChangesNotificationRegistrationsSpectraS3Request WithPageStartMarker(string pageStartMarker) + { + this._pageStartMarker = pageStartMarker; + if (pageStartMarker != null) + { + this.QueryParams.Add("page_start_marker", pageStartMarker); + } + else + { + this.QueryParams.Remove("page_start_marker"); + } + return this; + } + + + public GetBucketChangesNotificationRegistrationsSpectraS3Request WithUserId(Guid? userId) + { + this._userId = userId.ToString(); + if (userId != null) + { + this.QueryParams.Add("user_id", userId.ToString()); + } + else + { + this.QueryParams.Remove("user_id"); + } + return this; + } + + + public GetBucketChangesNotificationRegistrationsSpectraS3Request WithUserId(string userId) + { + this._userId = userId; + if (userId != null) + { + this.QueryParams.Add("user_id", userId); + } + else + { + this.QueryParams.Remove("user_id"); + } + return this; + } + + + + + public GetBucketChangesNotificationRegistrationsSpectraS3Request() + { + + } + + internal override HttpVerb Verb + { + get + { + return HttpVerb.GET; + } + } + + internal override string Path + { + get + { + return "/_rest_/bucket_changes_notification_registration"; + } + } + } +} \ No newline at end of file diff --git a/Ds3/Calls/GetBucketChangesNotificationRegistrationsSpectraS3Response.cs b/Ds3/Calls/GetBucketChangesNotificationRegistrationsSpectraS3Response.cs new file mode 100644 index 00000000..4abfcbad --- /dev/null +++ b/Ds3/Calls/GetBucketChangesNotificationRegistrationsSpectraS3Response.cs @@ -0,0 +1,34 @@ +/* + * ****************************************************************************** + * Copyright 2014-2017 Spectra Logic Corporation. 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://www.apache.org/licenses/LICENSE-2.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. + * **************************************************************************** + */ + +// This code is auto-generated, do not modify +using Ds3.Models; + +namespace Ds3.Calls +{ + public class GetBucketChangesNotificationRegistrationsSpectraS3Response + { + public BucketChangesNotificationRegistrationList ResponsePayload { get; private set; } + public int? PagingTruncated { get; private set; } + public int? PagingTotalResultCount { get; private set; } + + public GetBucketChangesNotificationRegistrationsSpectraS3Response(BucketChangesNotificationRegistrationList responsePayload, int? pagingTruncated, int? pagingTotalResultCount) + { + this.ResponsePayload = responsePayload; + this.PagingTruncated = pagingTruncated; + this.PagingTotalResultCount = pagingTotalResultCount; + } + } +} diff --git a/Ds3/Calls/GetBucketHistorySpectraS3Request.cs b/Ds3/Calls/GetBucketHistorySpectraS3Request.cs new file mode 100644 index 00000000..02f29c5a --- /dev/null +++ b/Ds3/Calls/GetBucketHistorySpectraS3Request.cs @@ -0,0 +1,213 @@ +/* + * ****************************************************************************** + * Copyright 2014-2017 Spectra Logic Corporation. 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://www.apache.org/licenses/LICENSE-2.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. + * **************************************************************************** + */ + +// This code is auto-generated, do not modify +using Ds3.Models; +using System; +using System.Net; + +namespace Ds3.Calls +{ + public class GetBucketHistorySpectraS3Request : Ds3Request + { + + + private string _bucketId; + public string BucketId + { + get { return _bucketId; } + set { WithBucketId(value); } + } + + private bool? _lastPage; + public bool? LastPage + { + get { return _lastPage; } + set { WithLastPage(value); } + } + + private long? _minSequenceNumber; + public long? MinSequenceNumber + { + get { return _minSequenceNumber; } + set { WithMinSequenceNumber(value); } + } + + private int? _pageLength; + public int? PageLength + { + get { return _pageLength; } + set { WithPageLength(value); } + } + + private int? _pageOffset; + public int? PageOffset + { + get { return _pageOffset; } + set { WithPageOffset(value); } + } + + private string _pageStartMarker; + public string PageStartMarker + { + get { return _pageStartMarker; } + set { WithPageStartMarker(value); } + } + + + public GetBucketHistorySpectraS3Request WithBucketId(Guid? bucketId) + { + this._bucketId = bucketId.ToString(); + if (bucketId != null) + { + this.QueryParams.Add("bucket_id", bucketId.ToString()); + } + else + { + this.QueryParams.Remove("bucket_id"); + } + return this; + } + + + public GetBucketHistorySpectraS3Request WithBucketId(string bucketId) + { + this._bucketId = bucketId; + if (bucketId != null) + { + this.QueryParams.Add("bucket_id", bucketId); + } + else + { + this.QueryParams.Remove("bucket_id"); + } + return this; + } + + + public GetBucketHistorySpectraS3Request WithLastPage(bool? lastPage) + { + this._lastPage = lastPage; + if (lastPage != null) + { + this.QueryParams.Add("last_page", lastPage.ToString()); + } + else + { + this.QueryParams.Remove("last_page"); + } + return this; + } + + + public GetBucketHistorySpectraS3Request WithMinSequenceNumber(long? minSequenceNumber) + { + this._minSequenceNumber = minSequenceNumber; + if (minSequenceNumber != null) + { + this.QueryParams.Add("min_sequence_number", minSequenceNumber.ToString()); + } + else + { + this.QueryParams.Remove("min_sequence_number"); + } + return this; + } + + + public GetBucketHistorySpectraS3Request WithPageLength(int? pageLength) + { + this._pageLength = pageLength; + if (pageLength != null) + { + this.QueryParams.Add("page_length", pageLength.ToString()); + } + else + { + this.QueryParams.Remove("page_length"); + } + return this; + } + + + public GetBucketHistorySpectraS3Request WithPageOffset(int? pageOffset) + { + this._pageOffset = pageOffset; + if (pageOffset != null) + { + this.QueryParams.Add("page_offset", pageOffset.ToString()); + } + else + { + this.QueryParams.Remove("page_offset"); + } + return this; + } + + + public GetBucketHistorySpectraS3Request WithPageStartMarker(Guid? pageStartMarker) + { + this._pageStartMarker = pageStartMarker.ToString(); + if (pageStartMarker != null) + { + this.QueryParams.Add("page_start_marker", pageStartMarker.ToString()); + } + else + { + this.QueryParams.Remove("page_start_marker"); + } + return this; + } + + + public GetBucketHistorySpectraS3Request WithPageStartMarker(string pageStartMarker) + { + this._pageStartMarker = pageStartMarker; + if (pageStartMarker != null) + { + this.QueryParams.Add("page_start_marker", pageStartMarker); + } + else + { + this.QueryParams.Remove("page_start_marker"); + } + return this; + } + + + + + public GetBucketHistorySpectraS3Request() + { + + } + + internal override HttpVerb Verb + { + get + { + return HttpVerb.GET; + } + } + + internal override string Path + { + get + { + return "/_rest_/bucket_history"; + } + } + } +} \ No newline at end of file diff --git a/Ds3/Calls/GetBucketHistorySpectraS3Response.cs b/Ds3/Calls/GetBucketHistorySpectraS3Response.cs new file mode 100644 index 00000000..98f18ce0 --- /dev/null +++ b/Ds3/Calls/GetBucketHistorySpectraS3Response.cs @@ -0,0 +1,34 @@ +/* + * ****************************************************************************** + * Copyright 2014-2017 Spectra Logic Corporation. 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://www.apache.org/licenses/LICENSE-2.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. + * **************************************************************************** + */ + +// This code is auto-generated, do not modify +using Ds3.Models; + +namespace Ds3.Calls +{ + public class GetBucketHistorySpectraS3Response + { + public BucketHistoryEventList ResponsePayload { get; private set; } + public int? PagingTruncated { get; private set; } + public int? PagingTotalResultCount { get; private set; } + + public GetBucketHistorySpectraS3Response(BucketHistoryEventList responsePayload, int? pagingTruncated, int? pagingTotalResultCount) + { + this.ResponsePayload = responsePayload; + this.PagingTruncated = pagingTruncated; + this.PagingTotalResultCount = pagingTotalResultCount; + } + } +} diff --git a/Ds3/Calls/GetObjectRequest.cs b/Ds3/Calls/GetObjectRequest.cs index 939fb113..364463d4 100644 --- a/Ds3/Calls/GetObjectRequest.cs +++ b/Ds3/Calls/GetObjectRequest.cs @@ -34,6 +34,13 @@ public class GetObjectRequest : Ds3Request public long Offset { get; private set; } + private bool? _cachedOnly; + public bool? CachedOnly + { + get { return _cachedOnly; } + set { WithCachedOnly(value); } + } + private string _versionId; public string VersionId { @@ -42,6 +49,21 @@ public string VersionId } + public GetObjectRequest WithCachedOnly(bool? cachedOnly) + { + this._cachedOnly = cachedOnly; + if (cachedOnly != null) + { + this.QueryParams.Add("cached_only", cachedOnly.ToString()); + } + else + { + this.QueryParams.Remove("cached_only"); + } + return this; + } + + public GetObjectRequest WithVersionId(Guid? versionId) { this._versionId = versionId.ToString(); diff --git a/Ds3/Calls/GetS3TargetsSpectraS3Request.cs b/Ds3/Calls/GetS3TargetsSpectraS3Request.cs index 6f7b94c9..cc090de8 100644 --- a/Ds3/Calls/GetS3TargetsSpectraS3Request.cs +++ b/Ds3/Calls/GetS3TargetsSpectraS3Request.cs @@ -66,6 +66,13 @@ public string Name set { WithName(value); } } + private CloudNamingMode? _namingMode; + public CloudNamingMode? NamingMode + { + get { return _namingMode; } + set { WithNamingMode(value); } + } + private int? _pageLength; public int? PageLength { @@ -206,6 +213,21 @@ public GetS3TargetsSpectraS3Request WithName(string name) } + public GetS3TargetsSpectraS3Request WithNamingMode(CloudNamingMode? namingMode) + { + this._namingMode = namingMode; + if (namingMode != null) + { + this.QueryParams.Add("naming_mode", namingMode.ToString()); + } + else + { + this.QueryParams.Remove("naming_mode"); + } + return this; + } + + public GetS3TargetsSpectraS3Request WithPageLength(int? pageLength) { this._pageLength = pageLength; diff --git a/Ds3/Calls/GetTapeDrivesSpectraS3Request.cs b/Ds3/Calls/GetTapeDrivesSpectraS3Request.cs index fd212dbc..62b3710d 100644 --- a/Ds3/Calls/GetTapeDrivesSpectraS3Request.cs +++ b/Ds3/Calls/GetTapeDrivesSpectraS3Request.cs @@ -31,6 +31,13 @@ public bool? LastPage set { WithLastPage(value); } } + private Priority? _minimumTaskPriority; + public Priority? MinimumTaskPriority + { + get { return _minimumTaskPriority; } + set { WithMinimumTaskPriority(value); } + } + private int? _pageLength; public int? PageLength { @@ -103,6 +110,21 @@ public GetTapeDrivesSpectraS3Request WithLastPage(bool? lastPage) } + public GetTapeDrivesSpectraS3Request WithMinimumTaskPriority(Priority? minimumTaskPriority) + { + this._minimumTaskPriority = minimumTaskPriority; + if (minimumTaskPriority != null) + { + this.QueryParams.Add("minimum_task_priority", minimumTaskPriority.ToString()); + } + else + { + this.QueryParams.Remove("minimum_task_priority"); + } + return this; + } + + public GetTapeDrivesSpectraS3Request WithPageLength(int? pageLength) { this._pageLength = pageLength; diff --git a/Ds3/Calls/HeadObjectRequest.cs b/Ds3/Calls/HeadObjectRequest.cs index 74458e6d..bd73158d 100644 --- a/Ds3/Calls/HeadObjectRequest.cs +++ b/Ds3/Calls/HeadObjectRequest.cs @@ -28,6 +28,43 @@ public class HeadObjectRequest : Ds3Request public string ObjectName { get; private set; } + private string _versionId; + public string VersionId + { + get { return _versionId; } + set { WithVersionId(value); } + } + + + public HeadObjectRequest WithVersionId(Guid? versionId) + { + this._versionId = versionId.ToString(); + if (versionId != null) + { + this.QueryParams.Add("version_id", versionId.ToString()); + } + else + { + this.QueryParams.Remove("version_id"); + } + return this; + } + + + public HeadObjectRequest WithVersionId(string versionId) + { + this._versionId = versionId; + if (versionId != null) + { + this.QueryParams.Add("version_id", versionId); + } + else + { + this.QueryParams.Remove("version_id"); + } + return this; + } + diff --git a/Ds3/Calls/ModifyS3TargetSpectraS3Request.cs b/Ds3/Calls/ModifyS3TargetSpectraS3Request.cs index 20fbcd8e..660c79fb 100644 --- a/Ds3/Calls/ModifyS3TargetSpectraS3Request.cs +++ b/Ds3/Calls/ModifyS3TargetSpectraS3Request.cs @@ -82,6 +82,13 @@ public string Name set { WithName(value); } } + private CloudNamingMode? _namingMode; + public CloudNamingMode? NamingMode + { + get { return _namingMode; } + set { WithNamingMode(value); } + } + private int? _offlineDataStagingWindowInTb; public int? OfflineDataStagingWindowInTb { @@ -145,6 +152,13 @@ public S3Region? Region set { WithRegion(value); } } + private bool? _restrictedAccess; + public bool? RestrictedAccess + { + get { return _restrictedAccess; } + set { WithRestrictedAccess(value); } + } + private string _secretKey; public string SecretKey { @@ -280,6 +294,21 @@ public ModifyS3TargetSpectraS3Request WithName(string name) } + public ModifyS3TargetSpectraS3Request WithNamingMode(CloudNamingMode? namingMode) + { + this._namingMode = namingMode; + if (namingMode != null) + { + this.QueryParams.Add("naming_mode", namingMode.ToString()); + } + else + { + this.QueryParams.Remove("naming_mode"); + } + return this; + } + + public ModifyS3TargetSpectraS3Request WithOfflineDataStagingWindowInTb(int? offlineDataStagingWindowInTb) { this._offlineDataStagingWindowInTb = offlineDataStagingWindowInTb; @@ -415,6 +444,21 @@ public ModifyS3TargetSpectraS3Request WithRegion(S3Region? region) } + public ModifyS3TargetSpectraS3Request WithRestrictedAccess(bool? restrictedAccess) + { + this._restrictedAccess = restrictedAccess; + if (restrictedAccess != null) + { + this.QueryParams.Add("restricted_access", restrictedAccess.ToString()); + } + else + { + this.QueryParams.Remove("restricted_access"); + } + return this; + } + + public ModifyS3TargetSpectraS3Request WithSecretKey(string secretKey) { this._secretKey = secretKey; diff --git a/Ds3/Calls/ModifyTapeDriveSpectraS3Request.cs b/Ds3/Calls/ModifyTapeDriveSpectraS3Request.cs index bfc76985..ac5a746e 100644 --- a/Ds3/Calls/ModifyTapeDriveSpectraS3Request.cs +++ b/Ds3/Calls/ModifyTapeDriveSpectraS3Request.cs @@ -26,6 +26,13 @@ public class ModifyTapeDriveSpectraS3Request : Ds3Request public string TapeDriveId { get; private set; } + private Priority? _minimumTaskPriority; + public Priority? MinimumTaskPriority + { + get { return _minimumTaskPriority; } + set { WithMinimumTaskPriority(value); } + } + private Quiesced? _quiesced; public Quiesced? Quiesced { @@ -41,6 +48,21 @@ public ReservedTaskType? ReservedTaskType } + public ModifyTapeDriveSpectraS3Request WithMinimumTaskPriority(Priority? minimumTaskPriority) + { + this._minimumTaskPriority = minimumTaskPriority; + if (minimumTaskPriority != null) + { + this.QueryParams.Add("minimum_task_priority", minimumTaskPriority.ToString()); + } + else + { + this.QueryParams.Remove("minimum_task_priority"); + } + return this; + } + + public ModifyTapeDriveSpectraS3Request WithQuiesced(Quiesced? quiesced) { this._quiesced = quiesced; diff --git a/Ds3/Calls/PutBucketChangesNotificationRegistrationSpectraS3Request.cs b/Ds3/Calls/PutBucketChangesNotificationRegistrationSpectraS3Request.cs new file mode 100644 index 00000000..8036e6ca --- /dev/null +++ b/Ds3/Calls/PutBucketChangesNotificationRegistrationSpectraS3Request.cs @@ -0,0 +1,159 @@ +/* + * ****************************************************************************** + * Copyright 2014-2017 Spectra Logic Corporation. 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://www.apache.org/licenses/LICENSE-2.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. + * **************************************************************************** + */ + +// This code is auto-generated, do not modify +using Ds3.Models; +using System; +using System.Net; + +namespace Ds3.Calls +{ + public class PutBucketChangesNotificationRegistrationSpectraS3Request : Ds3Request + { + + public string NotificationEndPoint { get; private set; } + + + private string _bucketId; + public string BucketId + { + get { return _bucketId; } + set { WithBucketId(value); } + } + + private HttpResponseFormatType? _format; + public HttpResponseFormatType? Format + { + get { return _format; } + set { WithFormat(value); } + } + + private NamingConventionType? _namingConvention; + public NamingConventionType? NamingConvention + { + get { return _namingConvention; } + set { WithNamingConvention(value); } + } + + private RequestType? _notificationHttpMethod; + public RequestType? NotificationHttpMethod + { + get { return _notificationHttpMethod; } + set { WithNotificationHttpMethod(value); } + } + + + public PutBucketChangesNotificationRegistrationSpectraS3Request WithBucketId(Guid? bucketId) + { + this._bucketId = bucketId.ToString(); + if (bucketId != null) + { + this.QueryParams.Add("bucket_id", bucketId.ToString()); + } + else + { + this.QueryParams.Remove("bucket_id"); + } + return this; + } + + + public PutBucketChangesNotificationRegistrationSpectraS3Request WithBucketId(string bucketId) + { + this._bucketId = bucketId; + if (bucketId != null) + { + this.QueryParams.Add("bucket_id", bucketId); + } + else + { + this.QueryParams.Remove("bucket_id"); + } + return this; + } + + + public PutBucketChangesNotificationRegistrationSpectraS3Request WithFormat(HttpResponseFormatType? format) + { + this._format = format; + if (format != null) + { + this.QueryParams.Add("format", format.ToString()); + } + else + { + this.QueryParams.Remove("format"); + } + return this; + } + + + public PutBucketChangesNotificationRegistrationSpectraS3Request WithNamingConvention(NamingConventionType? namingConvention) + { + this._namingConvention = namingConvention; + if (namingConvention != null) + { + this.QueryParams.Add("naming_convention", namingConvention.ToString()); + } + else + { + this.QueryParams.Remove("naming_convention"); + } + return this; + } + + + public PutBucketChangesNotificationRegistrationSpectraS3Request WithNotificationHttpMethod(RequestType? notificationHttpMethod) + { + this._notificationHttpMethod = notificationHttpMethod; + if (notificationHttpMethod != null) + { + this.QueryParams.Add("notification_http_method", notificationHttpMethod.ToString()); + } + else + { + this.QueryParams.Remove("notification_http_method"); + } + return this; + } + + + + + public PutBucketChangesNotificationRegistrationSpectraS3Request(string notificationEndPoint) + { + this.NotificationEndPoint = notificationEndPoint; + + this.QueryParams.Add("notification_end_point", notificationEndPoint); + + } + + internal override HttpVerb Verb + { + get + { + return HttpVerb.POST; + } + } + + internal override string Path + { + get + { + return "/_rest_/bucket_changes_notification_registration"; + } + } + } +} \ No newline at end of file diff --git a/Ds3/Calls/PutBucketChangesNotificationRegistrationSpectraS3Response.cs b/Ds3/Calls/PutBucketChangesNotificationRegistrationSpectraS3Response.cs new file mode 100644 index 00000000..3b7c1708 --- /dev/null +++ b/Ds3/Calls/PutBucketChangesNotificationRegistrationSpectraS3Response.cs @@ -0,0 +1,30 @@ +/* + * ****************************************************************************** + * Copyright 2014-2017 Spectra Logic Corporation. 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://www.apache.org/licenses/LICENSE-2.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. + * **************************************************************************** + */ + +// This code is auto-generated, do not modify +using Ds3.Models; + +namespace Ds3.Calls +{ + public class PutBucketChangesNotificationRegistrationSpectraS3Response + { + public BucketChangesNotificationRegistration ResponsePayload { get; private set; } + + public PutBucketChangesNotificationRegistrationSpectraS3Response(BucketChangesNotificationRegistration responsePayload) + { + this.ResponsePayload = responsePayload; + } + } +} diff --git a/Ds3/Calls/PutBulkJobSpectraS3Request.cs b/Ds3/Calls/PutBulkJobSpectraS3Request.cs index 061af7f2..7fac72e8 100644 --- a/Ds3/Calls/PutBulkJobSpectraS3Request.cs +++ b/Ds3/Calls/PutBulkJobSpectraS3Request.cs @@ -80,6 +80,13 @@ public string Name set { WithName(value); } } + private bool? _preAllocateJobSpace; + public bool? PreAllocateJobSpace + { + get { return _preAllocateJobSpace; } + set { WithPreAllocateJobSpace(value); } + } + private Priority? _priority; public Priority? Priority { @@ -185,6 +192,21 @@ public PutBulkJobSpectraS3Request WithName(string name) } + public PutBulkJobSpectraS3Request WithPreAllocateJobSpace(bool? preAllocateJobSpace) + { + this._preAllocateJobSpace = preAllocateJobSpace; + if (preAllocateJobSpace != null) + { + this.QueryParams.Add("pre_allocate_job_space", preAllocateJobSpace.ToString()); + } + else + { + this.QueryParams.Remove("pre_allocate_job_space"); + } + return this; + } + + public PutBulkJobSpectraS3Request WithPriority(Priority? priority) { this._priority = priority; diff --git a/Ds3/Calls/RegisterS3TargetSpectraS3Request.cs b/Ds3/Calls/RegisterS3TargetSpectraS3Request.cs index 0f4edf3e..89019d1c 100644 --- a/Ds3/Calls/RegisterS3TargetSpectraS3Request.cs +++ b/Ds3/Calls/RegisterS3TargetSpectraS3Request.cs @@ -72,6 +72,13 @@ public bool? Https set { WithHttps(value); } } + private CloudNamingMode? _namingMode; + public CloudNamingMode? NamingMode + { + get { return _namingMode; } + set { WithNamingMode(value); } + } + private int? _offlineDataStagingWindowInTb; public int? OfflineDataStagingWindowInTb { @@ -128,6 +135,13 @@ public S3Region? Region set { WithRegion(value); } } + private bool? _restrictedAccess; + public bool? RestrictedAccess + { + get { return _restrictedAccess; } + set { WithRestrictedAccess(value); } + } + private int? _stagedDataExpirationInDays; public int? StagedDataExpirationInDays { @@ -226,6 +240,21 @@ public RegisterS3TargetSpectraS3Request WithHttps(bool? https) } + public RegisterS3TargetSpectraS3Request WithNamingMode(CloudNamingMode? namingMode) + { + this._namingMode = namingMode; + if (namingMode != null) + { + this.QueryParams.Add("naming_mode", namingMode.ToString()); + } + else + { + this.QueryParams.Remove("naming_mode"); + } + return this; + } + + public RegisterS3TargetSpectraS3Request WithOfflineDataStagingWindowInTb(int? offlineDataStagingWindowInTb) { this._offlineDataStagingWindowInTb = offlineDataStagingWindowInTb; @@ -346,6 +375,21 @@ public RegisterS3TargetSpectraS3Request WithRegion(S3Region? region) } + public RegisterS3TargetSpectraS3Request WithRestrictedAccess(bool? restrictedAccess) + { + this._restrictedAccess = restrictedAccess; + if (restrictedAccess != null) + { + this.QueryParams.Add("restricted_access", restrictedAccess.ToString()); + } + else + { + this.QueryParams.Remove("restricted_access"); + } + return this; + } + + public RegisterS3TargetSpectraS3Request WithStagedDataExpirationInDays(int? stagedDataExpirationInDays) { this._stagedDataExpirationInDays = stagedDataExpirationInDays; diff --git a/Ds3/Ds3.csproj b/Ds3/Ds3.csproj index e870815d..f10d0a00 100644 --- a/Ds3/Ds3.csproj +++ b/Ds3/Ds3.csproj @@ -112,6 +112,7 @@ + @@ -126,6 +127,7 @@ + @@ -233,6 +235,12 @@ + + + + + + @@ -578,6 +586,8 @@ + + @@ -752,7 +762,12 @@ + + + + + @@ -767,6 +782,7 @@ + @@ -990,6 +1006,9 @@ + + + @@ -1154,6 +1173,7 @@ + diff --git a/Ds3/Ds3Client.cs b/Ds3/Ds3Client.cs index 430d4b13..b94dbb6c 100644 --- a/Ds3/Ds3Client.cs +++ b/Ds3/Ds3Client.cs @@ -551,6 +551,11 @@ public PutAzureTargetFailureNotificationRegistrationSpectraS3Response PutAzureTa return new PutAzureTargetFailureNotificationRegistrationSpectraS3ResponseParser().Parse(request, _netLayer.Invoke(request)); } + public PutBucketChangesNotificationRegistrationSpectraS3Response PutBucketChangesNotificationRegistrationSpectraS3(PutBucketChangesNotificationRegistrationSpectraS3Request request) + { + return new PutBucketChangesNotificationRegistrationSpectraS3ResponseParser().Parse(request, _netLayer.Invoke(request)); + } + public PutDs3TargetFailureNotificationRegistrationSpectraS3Response PutDs3TargetFailureNotificationRegistrationSpectraS3(PutDs3TargetFailureNotificationRegistrationSpectraS3Request request) { return new PutDs3TargetFailureNotificationRegistrationSpectraS3ResponseParser().Parse(request, _netLayer.Invoke(request)); @@ -626,6 +631,21 @@ public GetAzureTargetFailureNotificationRegistrationsSpectraS3Response GetAzureT return new GetAzureTargetFailureNotificationRegistrationsSpectraS3ResponseParser().Parse(request, _netLayer.Invoke(request)); } + public GetBucketChangesNotificationRegistrationSpectraS3Response GetBucketChangesNotificationRegistrationSpectraS3(GetBucketChangesNotificationRegistrationSpectraS3Request request) + { + return new GetBucketChangesNotificationRegistrationSpectraS3ResponseParser().Parse(request, _netLayer.Invoke(request)); + } + + public GetBucketChangesNotificationRegistrationsSpectraS3Response GetBucketChangesNotificationRegistrationsSpectraS3(GetBucketChangesNotificationRegistrationsSpectraS3Request request) + { + return new GetBucketChangesNotificationRegistrationsSpectraS3ResponseParser().Parse(request, _netLayer.Invoke(request)); + } + + public GetBucketHistorySpectraS3Response GetBucketHistorySpectraS3(GetBucketHistorySpectraS3Request request) + { + return new GetBucketHistorySpectraS3ResponseParser().Parse(request, _netLayer.Invoke(request)); + } + public GetDs3TargetFailureNotificationRegistrationSpectraS3Response GetDs3TargetFailureNotificationRegistrationSpectraS3(GetDs3TargetFailureNotificationRegistrationSpectraS3Request request) { return new GetDs3TargetFailureNotificationRegistrationSpectraS3ResponseParser().Parse(request, _netLayer.Invoke(request)); @@ -1374,6 +1394,14 @@ public void AbortMultiPartUpload(AbortMultiPartUploadRequest request) } } + public void CompleteBlob(CompleteBlobRequest request) + { + using (var response = _netLayer.Invoke(request)) + { + ResponseParseUtilities.HandleStatusCode(response, HttpStatusCode.OK); + } + } + public void PutBucket(PutBucketRequest request) { using (var response = _netLayer.Invoke(request)) @@ -1678,6 +1706,14 @@ public void DeleteAzureTargetFailureNotificationRegistrationSpectraS3(DeleteAzur } } + public void DeleteBucketChangesNotificationRegistrationSpectraS3(DeleteBucketChangesNotificationRegistrationSpectraS3Request request) + { + using (var response = _netLayer.Invoke(request)) + { + ResponseParseUtilities.HandleStatusCode(response, HttpStatusCode.NoContent); + } + } + public void DeleteDs3TargetFailureNotificationRegistrationSpectraS3(DeleteDs3TargetFailureNotificationRegistrationSpectraS3Request request) { using (var response = _netLayer.Invoke(request)) diff --git a/Ds3/IDs3Client.cs b/Ds3/IDs3Client.cs index 4181bcae..18402c7a 100644 --- a/Ds3/IDs3Client.cs +++ b/Ds3/IDs3Client.cs @@ -233,6 +233,8 @@ public interface IDs3Client PutAzureTargetFailureNotificationRegistrationSpectraS3Response PutAzureTargetFailureNotificationRegistrationSpectraS3(PutAzureTargetFailureNotificationRegistrationSpectraS3Request request); + PutBucketChangesNotificationRegistrationSpectraS3Response PutBucketChangesNotificationRegistrationSpectraS3(PutBucketChangesNotificationRegistrationSpectraS3Request request); + PutDs3TargetFailureNotificationRegistrationSpectraS3Response PutDs3TargetFailureNotificationRegistrationSpectraS3(PutDs3TargetFailureNotificationRegistrationSpectraS3Request request); PutJobCompletedNotificationRegistrationSpectraS3Response PutJobCompletedNotificationRegistrationSpectraS3(PutJobCompletedNotificationRegistrationSpectraS3Request request); @@ -263,6 +265,12 @@ public interface IDs3Client GetAzureTargetFailureNotificationRegistrationsSpectraS3Response GetAzureTargetFailureNotificationRegistrationsSpectraS3(GetAzureTargetFailureNotificationRegistrationsSpectraS3Request request); + GetBucketChangesNotificationRegistrationSpectraS3Response GetBucketChangesNotificationRegistrationSpectraS3(GetBucketChangesNotificationRegistrationSpectraS3Request request); + + GetBucketChangesNotificationRegistrationsSpectraS3Response GetBucketChangesNotificationRegistrationsSpectraS3(GetBucketChangesNotificationRegistrationsSpectraS3Request request); + + GetBucketHistorySpectraS3Response GetBucketHistorySpectraS3(GetBucketHistorySpectraS3Request request); + GetDs3TargetFailureNotificationRegistrationSpectraS3Response GetDs3TargetFailureNotificationRegistrationSpectraS3(GetDs3TargetFailureNotificationRegistrationSpectraS3Request request); GetDs3TargetFailureNotificationRegistrationsSpectraS3Response GetDs3TargetFailureNotificationRegistrationsSpectraS3(GetDs3TargetFailureNotificationRegistrationsSpectraS3Request request); @@ -561,6 +569,8 @@ public interface IDs3Client void AbortMultiPartUpload(AbortMultiPartUploadRequest request); + void CompleteBlob(CompleteBlobRequest request); + void PutBucket(PutBucketRequest request); void PutMultiPartUploadPart(PutMultiPartUploadPartRequest request); @@ -637,6 +647,8 @@ public interface IDs3Client void DeleteAzureTargetFailureNotificationRegistrationSpectraS3(DeleteAzureTargetFailureNotificationRegistrationSpectraS3Request request); + void DeleteBucketChangesNotificationRegistrationSpectraS3(DeleteBucketChangesNotificationRegistrationSpectraS3Request request); + void DeleteDs3TargetFailureNotificationRegistrationSpectraS3(DeleteDs3TargetFailureNotificationRegistrationSpectraS3Request request); void DeleteJobCompletedNotificationRegistrationSpectraS3(DeleteJobCompletedNotificationRegistrationSpectraS3Request request); diff --git a/Ds3/Models/AzureTarget.cs b/Ds3/Models/AzureTarget.cs index ad641b1a..9fba5a67 100644 --- a/Ds3/Models/AzureTarget.cs +++ b/Ds3/Models/AzureTarget.cs @@ -32,6 +32,7 @@ public class AzureTarget public Guid Id { get; set; } public DateTime? LastFullyVerified { get; set; } public string Name { get; set; } + public CloudNamingMode NamingMode { get; set; } public bool PermitGoingOutOfSync { get; set; } public Quiesced Quiesced { get; set; } public TargetState State { get; set; } diff --git a/Ds3/Models/BucketChangesNotificationRegistration.cs b/Ds3/Models/BucketChangesNotificationRegistration.cs new file mode 100644 index 00000000..7660a873 --- /dev/null +++ b/Ds3/Models/BucketChangesNotificationRegistration.cs @@ -0,0 +1,39 @@ +/* + * ****************************************************************************** + * Copyright 2014-2017 Spectra Logic Corporation. 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://www.apache.org/licenses/LICENSE-2.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. + * **************************************************************************** + */ + +// This code is auto-generated, do not modify + +using System; +using System.Collections.Generic; + +namespace Ds3.Models +{ + public class BucketChangesNotificationRegistration + { + public Guid? BucketId { get; set; } + public DateTime CreationDate { get; set; } + public HttpResponseFormatType Format { get; set; } + public Guid Id { get; set; } + public string LastFailure { get; set; } + public int? LastHttpResponseCode { get; set; } + public DateTime? LastNotification { get; set; } + public long? LastSequenceNumber { get; set; } + public NamingConventionType NamingConvention { get; set; } + public string NotificationEndPoint { get; set; } + public RequestType NotificationHttpMethod { get; set; } + public int NumberOfFailuresSinceLastSuccess { get; set; } + public Guid? UserId { get; set; } + } +} diff --git a/Ds3/Models/BucketChangesNotificationRegistrationList.cs b/Ds3/Models/BucketChangesNotificationRegistrationList.cs new file mode 100644 index 00000000..3c4000a8 --- /dev/null +++ b/Ds3/Models/BucketChangesNotificationRegistrationList.cs @@ -0,0 +1,27 @@ +/* + * ****************************************************************************** + * Copyright 2014-2017 Spectra Logic Corporation. 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://www.apache.org/licenses/LICENSE-2.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. + * **************************************************************************** + */ + +// This code is auto-generated, do not modify + +using System; +using System.Collections.Generic; + +namespace Ds3.Models +{ + public class BucketChangesNotificationRegistrationList + { + public IEnumerable BucketChangesNotificationRegistrations { get; set; } + } +} diff --git a/Ds3/Models/BucketHistoryEvent.cs b/Ds3/Models/BucketHistoryEvent.cs new file mode 100644 index 00000000..c87046fc --- /dev/null +++ b/Ds3/Models/BucketHistoryEvent.cs @@ -0,0 +1,33 @@ +/* + * ****************************************************************************** + * Copyright 2014-2017 Spectra Logic Corporation. 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://www.apache.org/licenses/LICENSE-2.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. + * **************************************************************************** + */ + +// This code is auto-generated, do not modify + +using System; +using System.Collections.Generic; + +namespace Ds3.Models +{ + public class BucketHistoryEvent + { + public Guid BucketId { get; set; } + public Guid Id { get; set; } + public DateTime? ObjectCreationDate { get; set; } + public string ObjectName { get; set; } + public long? SequenceNumber { get; set; } + public BucketHistoryEventType Type { get; set; } + public Guid VersionId { get; set; } + } +} diff --git a/Ds3/Models/BucketHistoryEventList.cs b/Ds3/Models/BucketHistoryEventList.cs new file mode 100644 index 00000000..27ec399e --- /dev/null +++ b/Ds3/Models/BucketHistoryEventList.cs @@ -0,0 +1,27 @@ +/* + * ****************************************************************************** + * Copyright 2014-2017 Spectra Logic Corporation. 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://www.apache.org/licenses/LICENSE-2.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. + * **************************************************************************** + */ + +// This code is auto-generated, do not modify + +using System; +using System.Collections.Generic; + +namespace Ds3.Models +{ + public class BucketHistoryEventList + { + public IEnumerable BucketHistoryEvents { get; set; } + } +} diff --git a/Ds3/Models/BucketHistoryEventType.cs b/Ds3/Models/BucketHistoryEventType.cs new file mode 100644 index 00000000..5edfa28a --- /dev/null +++ b/Ds3/Models/BucketHistoryEventType.cs @@ -0,0 +1,27 @@ +/* + * ****************************************************************************** + * Copyright 2014-2017 Spectra Logic Corporation. 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://www.apache.org/licenses/LICENSE-2.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. + * **************************************************************************** + */ + +// This code is auto-generated, do not modify + +namespace Ds3.Models +{ + public enum BucketHistoryEventType + { + DELETE, + MARK_LATEST, + UNMARK_LATEST, + CREATE + } +} diff --git a/Ds3/Models/CloudNamingMode.cs b/Ds3/Models/CloudNamingMode.cs new file mode 100644 index 00000000..642d76ce --- /dev/null +++ b/Ds3/Models/CloudNamingMode.cs @@ -0,0 +1,25 @@ +/* + * ****************************************************************************** + * Copyright 2014-2017 Spectra Logic Corporation. 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://www.apache.org/licenses/LICENSE-2.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. + * **************************************************************************** + */ + +// This code is auto-generated, do not modify + +namespace Ds3.Models +{ + public enum CloudNamingMode + { + BLACK_PEARL, + AWS_S3 + } +} diff --git a/Ds3/Models/S3InitialDataPlacementPolicy.cs b/Ds3/Models/S3InitialDataPlacementPolicy.cs index fd07c3f3..66d75cc2 100644 --- a/Ds3/Models/S3InitialDataPlacementPolicy.cs +++ b/Ds3/Models/S3InitialDataPlacementPolicy.cs @@ -22,6 +22,7 @@ public enum S3InitialDataPlacementPolicy STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, - GLACIER + GLACIER, + DEEP_ARCHIVE } } diff --git a/Ds3/Models/S3Region.cs b/Ds3/Models/S3Region.cs index ada5ef5b..e68f447a 100644 --- a/Ds3/Models/S3Region.cs +++ b/Ds3/Models/S3Region.cs @@ -21,9 +21,11 @@ public enum S3Region { GOV_CLOUD, US_EAST_1, + US_EAST_2, US_WEST_1, US_WEST_2, EU_WEST_1, + EU_WEST_2, EU_CENTRAL_1, AP_SOUTH_1, AP_SOUTHEAST_1, @@ -31,6 +33,7 @@ public enum S3Region AP_NORTHEAST_1, AP_NORTHEAST_2, SA_EAST_1, - CN_NORTH_1 + CN_NORTH_1, + CA_CENTRAL_1 } } diff --git a/Ds3/Models/S3Target.cs b/Ds3/Models/S3Target.cs index a43dc9f4..6193fbeb 100644 --- a/Ds3/Models/S3Target.cs +++ b/Ds3/Models/S3Target.cs @@ -32,6 +32,7 @@ public class S3Target public Guid Id { get; set; } public DateTime? LastFullyVerified { get; set; } public string Name { get; set; } + public CloudNamingMode NamingMode { get; set; } public int OfflineDataStagingWindowInTb { get; set; } public bool PermitGoingOutOfSync { get; set; } public string ProxyDomain { get; set; } @@ -41,6 +42,7 @@ public class S3Target public string ProxyUsername { get; set; } public Quiesced Quiesced { get; set; } public S3Region? Region { get; set; } + public bool RestrictedAccess { get; set; } public string SecretKey { get; set; } public int StagedDataExpirationInDays { get; set; } public TargetState State { get; set; } diff --git a/Ds3/Models/TapeDrive.cs b/Ds3/Models/TapeDrive.cs index fba701b8..ccf8d0e9 100644 --- a/Ds3/Models/TapeDrive.cs +++ b/Ds3/Models/TapeDrive.cs @@ -28,6 +28,7 @@ public class TapeDrive public Guid Id { get; set; } public DateTime? LastCleaned { get; set; } public string MfgSerialNumber { get; set; } + public Priority? MinimumTaskPriority { get; set; } public Guid PartitionId { get; set; } public Quiesced Quiesced { get; set; } public ReservedTaskType ReservedTaskType { get; set; } diff --git a/Ds3/Models/TapeDriveType.cs b/Ds3/Models/TapeDriveType.cs index b2ba2e45..9c219c87 100644 --- a/Ds3/Models/TapeDriveType.cs +++ b/Ds3/Models/TapeDriveType.cs @@ -24,8 +24,10 @@ public enum TapeDriveType LTO6, LTO7, LTO8, + LTO9, TS1140, TS1150, - TS1155 + TS1155, + TS1160 } } diff --git a/Ds3/ResponseParsers/GetBucketChangesNotificationRegistrationSpectraS3ResponseParser.cs b/Ds3/ResponseParsers/GetBucketChangesNotificationRegistrationSpectraS3ResponseParser.cs new file mode 100644 index 00000000..110ce545 --- /dev/null +++ b/Ds3/ResponseParsers/GetBucketChangesNotificationRegistrationSpectraS3ResponseParser.cs @@ -0,0 +1,44 @@ +/* + * ****************************************************************************** + * Copyright 2014-2017 Spectra Logic Corporation. 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://www.apache.org/licenses/LICENSE-2.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. + * **************************************************************************** + */ + +// This code is auto-generated, do not modify + +using Ds3.Calls; +using Ds3.Models; +using Ds3.Runtime; +using System.Linq; +using System.Net; +using System.Xml.Linq; + +namespace Ds3.ResponseParsers +{ + internal class GetBucketChangesNotificationRegistrationSpectraS3ResponseParser : IResponseParser + { + public GetBucketChangesNotificationRegistrationSpectraS3Response Parse(GetBucketChangesNotificationRegistrationSpectraS3Request request, IWebResponse response) + { + using (response) + { + ResponseParseUtilities.HandleStatusCode(response, (HttpStatusCode)200); + using (var stream = response.GetResponseStream()) + { + return new GetBucketChangesNotificationRegistrationSpectraS3Response( + ModelParsers.ParseBucketChangesNotificationRegistration( + XmlExtensions.ReadDocument(stream).ElementOrThrow("Data")) + ); + } + } + } + } +} \ No newline at end of file diff --git a/Ds3/ResponseParsers/GetBucketChangesNotificationRegistrationsSpectraS3ResponseParser.cs b/Ds3/ResponseParsers/GetBucketChangesNotificationRegistrationsSpectraS3ResponseParser.cs new file mode 100644 index 00000000..8f53b470 --- /dev/null +++ b/Ds3/ResponseParsers/GetBucketChangesNotificationRegistrationsSpectraS3ResponseParser.cs @@ -0,0 +1,46 @@ +/* + * ****************************************************************************** + * Copyright 2014-2017 Spectra Logic Corporation. 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://www.apache.org/licenses/LICENSE-2.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. + * **************************************************************************** + */ + +// This code is auto-generated, do not modify + +using Ds3.Calls; +using Ds3.Models; +using Ds3.Runtime; +using System.Linq; +using System.Net; +using System.Xml.Linq; + +namespace Ds3.ResponseParsers +{ + internal class GetBucketChangesNotificationRegistrationsSpectraS3ResponseParser : IResponseParser + { + public GetBucketChangesNotificationRegistrationsSpectraS3Response Parse(GetBucketChangesNotificationRegistrationsSpectraS3Request request, IWebResponse response) + { + using (response) + { + ResponseParseUtilities.HandleStatusCode(response, (HttpStatusCode)200); + using (var stream = response.GetResponseStream()) + { + return new GetBucketChangesNotificationRegistrationsSpectraS3Response( + ModelParsers.ParseBucketChangesNotificationRegistrationList( + XmlExtensions.ReadDocument(stream).ElementOrThrow("Data")), + ResponseParseUtilities.ParseIntHeader("page-truncated", response.Headers), + ResponseParseUtilities.ParseIntHeader("total-result-count", response.Headers) + ); + } + } + } + } +} \ No newline at end of file diff --git a/Ds3/ResponseParsers/GetBucketHistorySpectraS3ResponseParser.cs b/Ds3/ResponseParsers/GetBucketHistorySpectraS3ResponseParser.cs new file mode 100644 index 00000000..5252a534 --- /dev/null +++ b/Ds3/ResponseParsers/GetBucketHistorySpectraS3ResponseParser.cs @@ -0,0 +1,46 @@ +/* + * ****************************************************************************** + * Copyright 2014-2017 Spectra Logic Corporation. 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://www.apache.org/licenses/LICENSE-2.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. + * **************************************************************************** + */ + +// This code is auto-generated, do not modify + +using Ds3.Calls; +using Ds3.Models; +using Ds3.Runtime; +using System.Linq; +using System.Net; +using System.Xml.Linq; + +namespace Ds3.ResponseParsers +{ + internal class GetBucketHistorySpectraS3ResponseParser : IResponseParser + { + public GetBucketHistorySpectraS3Response Parse(GetBucketHistorySpectraS3Request request, IWebResponse response) + { + using (response) + { + ResponseParseUtilities.HandleStatusCode(response, (HttpStatusCode)200); + using (var stream = response.GetResponseStream()) + { + return new GetBucketHistorySpectraS3Response( + ModelParsers.ParseBucketHistoryEventList( + XmlExtensions.ReadDocument(stream).ElementOrThrow("Data")), + ResponseParseUtilities.ParseIntHeader("page-truncated", response.Headers), + ResponseParseUtilities.ParseIntHeader("total-result-count", response.Headers) + ); + } + } + } + } +} \ No newline at end of file diff --git a/Ds3/ResponseParsers/ModelParsers.cs b/Ds3/ResponseParsers/ModelParsers.cs index c4919cfd..cd5ae80f 100644 --- a/Ds3/ResponseParsers/ModelParsers.cs +++ b/Ds3/ResponseParsers/ModelParsers.cs @@ -646,6 +646,52 @@ public static AzureTargetFailureNotificationRegistration ParseNullableAzureTarge ? null : ParseAzureTargetFailureNotificationRegistration(element); } + public static BucketChangesNotificationRegistration ParseBucketChangesNotificationRegistration(XElement element) + { + return new BucketChangesNotificationRegistration + { + BucketId = ParseNullableGuid(element.Element("BucketId")), + CreationDate = ParseDateTime(element.Element("CreationDate")), + Format = ParseHttpResponseFormatType(element.Element("Format")), + Id = ParseGuid(element.Element("Id")), + LastFailure = ParseNullableString(element.Element("LastFailure")), + LastHttpResponseCode = ParseNullableInt(element.Element("LastHttpResponseCode")), + LastNotification = ParseNullableDateTime(element.Element("LastNotification")), + LastSequenceNumber = ParseNullableLong(element.Element("LastSequenceNumber")), + NamingConvention = ParseNamingConventionType(element.Element("NamingConvention")), + NotificationEndPoint = ParseNullableString(element.Element("NotificationEndPoint")), + NotificationHttpMethod = ParseRequestType(element.Element("NotificationHttpMethod")), + NumberOfFailuresSinceLastSuccess = ParseInt(element.Element("NumberOfFailuresSinceLastSuccess")), + UserId = ParseNullableGuid(element.Element("UserId")) + }; + } + + public static BucketChangesNotificationRegistration ParseNullableBucketChangesNotificationRegistration(XElement element) + { + return element == null || element.IsEmpty + ? null + : ParseBucketChangesNotificationRegistration(element); + } + public static BucketHistoryEvent ParseBucketHistoryEvent(XElement element) + { + return new BucketHistoryEvent + { + BucketId = ParseGuid(element.Element("BucketId")), + Id = ParseGuid(element.Element("Id")), + ObjectCreationDate = ParseNullableDateTime(element.Element("ObjectCreationDate")), + ObjectName = ParseNullableString(element.Element("ObjectName")), + SequenceNumber = ParseNullableLong(element.Element("SequenceNumber")), + Type = ParseBucketHistoryEventType(element.Element("Type")), + VersionId = ParseGuid(element.Element("VersionId")) + }; + } + + public static BucketHistoryEvent ParseNullableBucketHistoryEvent(XElement element) + { + return element == null || element.IsEmpty + ? null + : ParseBucketHistoryEvent(element); + } public static Ds3TargetFailureNotificationRegistration ParseDs3TargetFailureNotificationRegistration(XElement element) { return new Ds3TargetFailureNotificationRegistration @@ -1151,6 +1197,7 @@ public static TapeDrive ParseTapeDrive(XElement element) Id = ParseGuid(element.Element("Id")), LastCleaned = ParseNullableDateTime(element.Element("LastCleaned")), MfgSerialNumber = ParseNullableString(element.Element("MfgSerialNumber")), + MinimumTaskPriority = ParseNullablePriority(element.Element("MinimumTaskPriority")), PartitionId = ParseGuid(element.Element("PartitionId")), Quiesced = ParseQuiesced(element.Element("Quiesced")), ReservedTaskType = ParseReservedTaskType(element.Element("ReservedTaskType")), @@ -1260,6 +1307,7 @@ public static AzureTarget ParseAzureTarget(XElement element) Id = ParseGuid(element.Element("Id")), LastFullyVerified = ParseNullableDateTime(element.Element("LastFullyVerified")), Name = ParseNullableString(element.Element("Name")), + NamingMode = ParseCloudNamingMode(element.Element("NamingMode")), PermitGoingOutOfSync = ParseBool(element.Element("PermitGoingOutOfSync")), Quiesced = ParseQuiesced(element.Element("Quiesced")), State = ParseTargetState(element.Element("State")) @@ -1401,6 +1449,7 @@ public static S3Target ParseS3Target(XElement element) Id = ParseGuid(element.Element("Id")), LastFullyVerified = ParseNullableDateTime(element.Element("LastFullyVerified")), Name = ParseNullableString(element.Element("Name")), + NamingMode = ParseCloudNamingMode(element.Element("NamingMode")), OfflineDataStagingWindowInTb = ParseInt(element.Element("OfflineDataStagingWindowInTb")), PermitGoingOutOfSync = ParseBool(element.Element("PermitGoingOutOfSync")), ProxyDomain = ParseNullableString(element.Element("ProxyDomain")), @@ -1410,6 +1459,7 @@ public static S3Target ParseS3Target(XElement element) ProxyUsername = ParseNullableString(element.Element("ProxyUsername")), Quiesced = ParseQuiesced(element.Element("Quiesced")), Region = ParseNullableS3Region(element.Element("Region")), + RestrictedAccess = ParseBool(element.Element("RestrictedAccess")), SecretKey = ParseNullableString(element.Element("SecretKey")), StagedDataExpirationInDays = ParseInt(element.Element("StagedDataExpirationInDays")), State = ParseTargetState(element.Element("State")) @@ -2504,6 +2554,34 @@ public static AzureTargetFailureNotificationRegistrationList ParseNullableAzureT ? null : ParseAzureTargetFailureNotificationRegistrationList(element); } + public static BucketChangesNotificationRegistrationList ParseBucketChangesNotificationRegistrationList(XElement element) + { + return new BucketChangesNotificationRegistrationList + { + BucketChangesNotificationRegistrations = element.Elements("BucketChangesNotificationRegistration").Select(ParseBucketChangesNotificationRegistration).ToList() + }; + } + + public static BucketChangesNotificationRegistrationList ParseNullableBucketChangesNotificationRegistrationList(XElement element) + { + return element == null || element.IsEmpty + ? null + : ParseBucketChangesNotificationRegistrationList(element); + } + public static BucketHistoryEventList ParseBucketHistoryEventList(XElement element) + { + return new BucketHistoryEventList + { + BucketHistoryEvents = element.Elements("BucketHistoryEvent").Select(ParseBucketHistoryEvent).ToList() + }; + } + + public static BucketHistoryEventList ParseNullableBucketHistoryEventList(XElement element) + { + return element == null || element.IsEmpty + ? null + : ParseBucketHistoryEventList(element); + } public static Ds3TargetFailureNotificationRegistrationList ParseDs3TargetFailureNotificationRegistrationList(XElement element) { return new Ds3TargetFailureNotificationRegistrationList @@ -3168,6 +3246,31 @@ public static BucketAclPermission ParseBucketAclPermission(XElement element) { return ParseBucketAclPermission(element.Value); } + public static CloudNamingMode? ParseNullableCloudNamingMode(string cloudNamingModeOrNull) + { + return string.IsNullOrWhiteSpace(cloudNamingModeOrNull) + ? (CloudNamingMode?) null + : ParseCloudNamingMode(cloudNamingModeOrNull); + } + + public static CloudNamingMode ParseCloudNamingMode(string cloudNamingMode) + { + return ParseEnumType(cloudNamingMode); + } + + public static CloudNamingMode? ParseNullableCloudNamingMode(XElement element) + { + if (null == element) + { + return null; + } + return ParseNullableCloudNamingMode(element.Value); + } + + public static CloudNamingMode ParseCloudNamingMode(XElement element) + { + return ParseCloudNamingMode(element.Value); + } public static DataIsolationLevel? ParseNullableDataIsolationLevel(string dataIsolationLevelOrNull) { return string.IsNullOrWhiteSpace(dataIsolationLevelOrNull) @@ -3668,6 +3771,31 @@ public static WritePreferenceLevel ParseWritePreferenceLevel(XElement element) { return ParseWritePreferenceLevel(element.Value); } + public static BucketHistoryEventType? ParseNullableBucketHistoryEventType(string bucketHistoryEventTypeOrNull) + { + return string.IsNullOrWhiteSpace(bucketHistoryEventTypeOrNull) + ? (BucketHistoryEventType?) null + : ParseBucketHistoryEventType(bucketHistoryEventTypeOrNull); + } + + public static BucketHistoryEventType ParseBucketHistoryEventType(string bucketHistoryEventType) + { + return ParseEnumType(bucketHistoryEventType); + } + + public static BucketHistoryEventType? ParseNullableBucketHistoryEventType(XElement element) + { + if (null == element) + { + return null; + } + return ParseNullableBucketHistoryEventType(element.Value); + } + + public static BucketHistoryEventType ParseBucketHistoryEventType(XElement element) + { + return ParseBucketHistoryEventType(element.Value); + } public static PoolFailureType? ParseNullablePoolFailureType(string poolFailureTypeOrNull) { return string.IsNullOrWhiteSpace(poolFailureTypeOrNull) diff --git a/Ds3/ResponseParsers/PutBucketChangesNotificationRegistrationSpectraS3ResponseParser.cs b/Ds3/ResponseParsers/PutBucketChangesNotificationRegistrationSpectraS3ResponseParser.cs new file mode 100644 index 00000000..c5321e09 --- /dev/null +++ b/Ds3/ResponseParsers/PutBucketChangesNotificationRegistrationSpectraS3ResponseParser.cs @@ -0,0 +1,44 @@ +/* + * ****************************************************************************** + * Copyright 2014-2017 Spectra Logic Corporation. 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://www.apache.org/licenses/LICENSE-2.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. + * **************************************************************************** + */ + +// This code is auto-generated, do not modify + +using Ds3.Calls; +using Ds3.Models; +using Ds3.Runtime; +using System.Linq; +using System.Net; +using System.Xml.Linq; + +namespace Ds3.ResponseParsers +{ + internal class PutBucketChangesNotificationRegistrationSpectraS3ResponseParser : IResponseParser + { + public PutBucketChangesNotificationRegistrationSpectraS3Response Parse(PutBucketChangesNotificationRegistrationSpectraS3Request request, IWebResponse response) + { + using (response) + { + ResponseParseUtilities.HandleStatusCode(response, (HttpStatusCode)201); + using (var stream = response.GetResponseStream()) + { + return new PutBucketChangesNotificationRegistrationSpectraS3Response( + ModelParsers.ParseBucketChangesNotificationRegistration( + XmlExtensions.ReadDocument(stream).ElementOrThrow("Data")) + ); + } + } + } + } +} \ No newline at end of file diff --git a/VersionInfo.cs b/VersionInfo.cs index f13a7baa..7dd16009 100644 --- a/VersionInfo.cs +++ b/VersionInfo.cs @@ -26,5 +26,5 @@ // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("5.0.5.0")] -[assembly: AssemblyFileVersion("5.0.5.0")] +[assembly: AssemblyVersion("5.2.0.0")] +[assembly: AssemblyFileVersion("5.2.0.0")]