From 564d0781c89125649e9ca93f4f2b8fd9da790bd9 Mon Sep 17 00:00:00 2001 From: oci-dex-release-bot Date: Mon, 12 Dec 2022 20:49:13 +0000 Subject: [PATCH] Releasing version 51.0.0 --- .../models/AvailabilityConfiguration.cs | 37 + Apmsynthetics/models/CreateMonitorDetails.cs | 9 +- .../models/MaintenanceWindowSchedule.cs | 39 + Apmsynthetics/models/Monitor.cs | 9 +- Apmsynthetics/models/MonitorSummary.cs | 6 +- Apmsynthetics/models/UpdateMonitorDetails.cs | 9 +- Apmsynthetics/requests/ListMonitorsRequest.cs | 16 +- Bds/models/BdsInstance.cs | 29 + Bds/models/BdsInstanceSummary.cs | 7 + Bds/models/CreateBdsInstanceDetails.cs | 7 + CHANGELOG.md | 26 + Common/Src/Version.cs | 2 +- Containerinstances/ContainerInstanceClient.cs | 36 +- Database/DatabaseClient.cs | 169 +++++ Database/DatabaseWaiters.cs | 96 +++ Database/models/DbSystemShapeSummary.cs | 8 +- .../DbSystemStoragePerformanceSummary.cs | 8 +- ...nablePluggableDatabaseManagementDetails.cs | 102 +++ ...odifyPluggableDatabaseManagementDetails.cs | 90 +++ Database/models/PluggableDatabase.cs | 3 + .../PluggableDatabaseManagementConfig.cs | 62 ++ Database/models/PluggableDatabaseSummary.cs | 3 + ...sablePluggableDatabaseManagementRequest.cs | 59 ++ ...nablePluggableDatabaseManagementRequest.cs | 69 ++ ...odifyPluggableDatabaseManagementRequest.cs | 69 ++ ...ablePluggableDatabaseManagementResponse.cs | 48 ++ ...ablePluggableDatabaseManagementResponse.cs | 48 ++ ...difyPluggableDatabaseManagementResponse.cs | 48 ++ Databasemigration/models/Connection.cs | 7 + Databasemigration/models/ConnectionSummary.cs | 7 + .../models/CreateConnectionDetails.cs | 7 + .../models/CreateDirectoryObject.cs | 4 - Databasemigration/models/PhaseStatus.cs | 14 + .../models/UpdateConnectionDetails.cs | 7 + Devops/DevopsClient.cs | 112 +++ Devops/models/BuildPipelineSummary.cs | 6 + Devops/models/BuildRun.cs | 4 +- Devops/models/Connection.cs | 10 +- Devops/models/ConnectionSummary.cs | 6 + Devops/models/CreateRepositoryDetails.cs | 5 +- Devops/models/DeployPipelineSummary.cs | 6 + Devops/models/OperationType.cs | 6 +- Devops/models/Project.cs | 4 +- Devops/models/ProjectSummary.cs | 8 +- Devops/models/Repository.cs | 4 +- Devops/models/RepositorySummary.cs | 5 +- Devops/models/Trigger.cs | 4 +- Devops/models/UpdateRepositoryDetails.cs | 5 +- ...cheduledCascadingProjectDeletionRequest.cs | 50 ++ Devops/requests/ListWorkRequestsRequest.cs | 6 + ...ScheduleCascadingProjectDeletionRequest.cs | 50 ++ ...heduledCascadingProjectDeletionResponse.cs | 34 + ...cheduleCascadingProjectDeletionResponse.cs | 34 + Fusionapps/FusionApplicationsClient.cs | 113 +++ .../models/AttachExistingInstanceDetails.cs | 8 + Fusionapps/models/CreateNewInstanceDetails.cs | 4 + .../models/CreateOaxServiceInstanceDetails.cs | 7 +- .../models/CreateRefreshActivityDetails.cs | 6 + Fusionapps/models/FawAdminInfoDetails.cs | 10 +- Fusionapps/models/FusionEnvironment.cs | 12 + Fusionapps/models/FusionEnvironmentSummary.cs | 12 + Fusionapps/models/RefreshActivity.cs | 8 + Fusionapps/models/RefreshActivitySummary.cs | 6 + Fusionapps/models/RefreshIssueDetails.cs | 31 + Fusionapps/models/SourceIpAddressCondition.cs | 4 + .../models/UpdateRefreshActivityDetails.cs | 31 + Fusionapps/models/WorkRequest.cs | 4 +- .../requests/DeleteRefreshActivityRequest.cs | 59 ++ .../requests/UpdateRefreshActivityRequest.cs | 69 ++ .../DeleteRefreshActivityResponse.cs | 37 + .../UpdateRefreshActivityResponse.cs | 41 ++ .../models/AzureDataLakeStorageConnection.cs | 115 +++ .../AzureDataLakeStorageConnectionSummary.cs | 86 +++ Goldengate/models/AzureSynapseConnection.cs | 76 ++ .../models/AzureSynapseConnectionSummary.cs | 64 ++ Goldengate/models/Connection.cs | 12 + Goldengate/models/ConnectionSummary.cs | 12 + Goldengate/models/ConnectionType.cs | 10 +- ...teAzureDataLakeStorageConnectionDetails.cs | 111 +++ .../CreateAzureSynapseConnectionDetails.cs | 77 ++ Goldengate/models/CreateConnectionDetails.cs | 12 + .../models/CreateKafkaConnectionDetails.cs | 2 +- ...ateKafkaSchemaRegistryConnectionDetails.cs | 127 ++++ ...CreateOciObjectStorageConnectionDetails.cs | 7 + .../models/CreateOggDeploymentDetails.cs | 1 + .../CreatePostgresqlConnectionDetails.cs | 163 ++++ Goldengate/models/DeploymentType.cs | 4 +- Goldengate/models/KafkaConnection.cs | 4 + .../models/KafkaSchemaRegistryConnection.cs | 113 +++ .../KafkaSchemaRegistryConnectionSummary.cs | 83 +++ Goldengate/models/PostgresqlConnection.cs | 176 +++++ .../models/PostgresqlConnectionSummary.cs | 122 +++ Goldengate/models/TechnologyType.cs | 26 +- ...teAzureDataLakeStorageConnectionDetails.cs | 92 +++ .../UpdateAzureSynapseConnectionDetails.cs | 54 ++ Goldengate/models/UpdateConnectionDetails.cs | 12 + .../models/UpdateKafkaConnectionDetails.cs | 2 +- ...ateKafkaSchemaRegistryConnectionDetails.cs | 107 +++ ...UpdateOciObjectStorageConnectionDetails.cs | 7 + .../models/UpdateOggDeploymentDetails.cs | 1 + .../UpdatePostgresqlConnectionDetails.cs | 128 ++++ Queue/OCI.DotNetSDK.Queue.csproj | 19 + Queue/QueueAdminClient.cs | 694 ++++++++++++++++++ Queue/QueueAdminPaginators.cs | 249 +++++++ Queue/QueueAdminWaiters.cs | 85 +++ Queue/QueueClient.cs | 457 ++++++++++++ Queue/README.md | 20 + Queue/models/ActionType.cs | 33 + Queue/models/ChangeQueueCompartmentDetails.cs | 37 + .../models/CreateQueueDetails.cs | 70 +- Queue/models/DeleteMessagesDetails.cs | 35 + .../models/DeleteMessagesDetailsEntry.cs | 16 +- Queue/models/DeleteMessagesResult.cs | 59 ++ Queue/models/DeleteMessagesResultEntry.cs | 40 + Queue/models/GetMessage.cs | 87 +++ .../models/GetMessages.cs | 16 +- Queue/models/OperationStatus.cs | 35 + Queue/models/OperationType.cs | 33 + Queue/models/PurgeQueueDetails.cs | 57 ++ Queue/models/PutMessage.cs | 35 + Queue/models/PutMessages.cs | 35 + Queue/models/PutMessagesDetails.cs | 35 + Queue/models/PutMessagesDetailsEntry.cs | 35 + Queue/models/Queue.cs | 187 +++++ Queue/models/QueueCollection.cs | 35 + Queue/models/QueueStats.cs | 39 + Queue/models/QueueSummary.cs | 119 +++ Queue/models/SortOrder.cs | 24 + Queue/models/Stats.cs | 55 ++ Queue/models/UpdateMessageDetails.cs | 35 + Queue/models/UpdateMessagesDetails.cs | 35 + Queue/models/UpdateMessagesDetailsEntry.cs | 45 ++ Queue/models/UpdateMessagesResult.cs | 59 ++ Queue/models/UpdateMessagesResultEntry.cs | 52 ++ Queue/models/UpdateQueueDetails.cs | 72 ++ Queue/models/UpdatedMessage.cs | 45 ++ Queue/models/WorkRequest.cs | 118 +++ Queue/models/WorkRequestError.cs | 57 ++ Queue/models/WorkRequestErrorCollection.cs | 35 + Queue/models/WorkRequestLogEntry.cs | 45 ++ Queue/models/WorkRequestLogEntryCollection.cs | 35 + Queue/models/WorkRequestResource.cs | 66 ++ Queue/models/WorkRequestSummary.cs | 118 +++ Queue/models/WorkRequestSummaryCollection.cs | 35 + .../requests/ChangeQueueCompartmentRequest.cs | 59 ++ Queue/requests/CreateQueueRequest.cs | 49 ++ Queue/requests/DeleteMessageRequest.cs | 48 ++ Queue/requests/DeleteMessagesRequest.cs | 48 ++ Queue/requests/DeleteQueueRequest.cs | 49 ++ Queue/requests/GetMessagesRequest.cs | 66 ++ Queue/requests/GetQueueRequest.cs | 38 + Queue/requests/GetStatsRequest.cs | 38 + Queue/requests/GetWorkRequestRequest.cs | 38 + Queue/requests/ListQueuesRequest.cs | 90 +++ .../requests/ListWorkRequestErrorsRequest.cs | 50 ++ Queue/requests/ListWorkRequestLogsRequest.cs | 50 ++ Queue/requests/ListWorkRequestsRequest.cs | 52 ++ Queue/requests/PurgeQueueRequest.cs | 59 ++ Queue/requests/PutMessagesRequest.cs | 48 ++ Queue/requests/UpdateMessageRequest.cs | 58 ++ Queue/requests/UpdateMessagesRequest.cs | 48 ++ Queue/requests/UpdateQueueRequest.cs | 59 ++ .../ChangeQueueCompartmentResponse.cs | 37 + Queue/responses/CreateQueueResponse.cs | 37 + Queue/responses/DeleteMessageResponse.cs | 29 + Queue/responses/DeleteMessagesResponse.cs | 33 + Queue/responses/DeleteQueueResponse.cs | 37 + Queue/responses/GetMessagesResponse.cs | 33 + Queue/responses/GetQueueResponse.cs | 41 ++ Queue/responses/GetStatsResponse.cs | 33 + Queue/responses/GetWorkRequestResponse.cs | 40 + Queue/responses/ListQueuesResponse.cs | 43 ++ .../ListWorkRequestErrorsResponse.cs | 43 ++ .../responses/ListWorkRequestLogsResponse.cs | 43 ++ Queue/responses/ListWorkRequestsResponse.cs | 43 ++ Queue/responses/PurgeQueueResponse.cs | 37 + Queue/responses/PutMessagesResponse.cs | 33 + Queue/responses/UpdateMessageResponse.cs | 33 + Queue/responses/UpdateMessagesResponse.cs | 33 + Queue/responses/UpdateQueueResponse.cs | 37 + Servicemesh/ServiceMeshClient.cs | 152 ++-- Servicemesh/models/AccessPolicyRuleDetails.cs | 59 ++ .../models/AccessPolicyTargetDetails.cs | 80 ++ ...irtualServicesAccessPolicyTargetDetails.cs | 27 + .../models/CreateAccessPolicyDetails.cs | 6 +- .../models/CreateIngressGatewayDetails.cs | 2 +- .../CreateIngressGatewayRouteTableDetails.cs | 2 +- .../models/CreateVirtualDeploymentDetails.cs | 8 - .../models/CreateVirtualServiceDetails.cs | 2 +- .../CreateVirtualServiceRouteTableDetails.cs | 2 +- .../DisabledServiceDiscoveryConfiguration.cs | 27 + ...xternalServiceAccessPolicyTargetDetails.cs | 72 ++ ...tpIngressGatewayTrafficRouteRuleDetails.cs | 71 ++ ...tpVirtualServiceTrafficRouteRuleDetails.cs | 57 ++ Servicemesh/models/IngressGateway.cs | 4 - .../IngressGatewayAccessPolicyTarget.cs | 4 - ...IngressGatewayAccessPolicyTargetDetails.cs | 37 + ...wayMutualTransportLayerSecurityDetails.cs} | 2 +- .../models/IngressGatewayRouteTable.cs | 4 - .../IngressGatewayTrafficRouteRuleDetails.cs | 88 +++ Servicemesh/models/Mesh.cs | 7 +- Servicemesh/models/OperationStatus.cs | 2 + .../models/ServiceDiscoveryConfiguration.cs | 7 +- ...cpIngressGatewayTrafficRouteRuleDetails.cs | 27 + ...cpVirtualServiceTrafficRouteRuleDetails.cs | 27 + ...ghIngressGatewayTrafficRouteRuleDetails.cs | 27 + ...ghVirtualServiceTrafficRouteRuleDetails.cs | 27 + .../models/TrafficRuleTargetDetails.cs | 70 ++ .../models/UpdateAccessPolicyDetails.cs | 2 +- .../models/UpdateIngressGatewayDetails.cs | 2 +- .../UpdateIngressGatewayRouteTableDetails.cs | 2 +- .../models/UpdateVirtualServiceDetails.cs | 2 +- .../UpdateVirtualServiceRouteTableDetails.cs | 2 +- Servicemesh/models/VirtualDeployment.cs | 8 - .../VirtualDeploymentTrafficRuleTarget.cs | 4 - ...rtualDeploymentTrafficRuleTargetDetails.cs | 55 ++ .../VirtualServiceAccessPolicyTarget.cs | 4 - ...VirtualServiceAccessPolicyTargetDetails.cs | 37 + ...iceMutualTransportLayerSecurityDetails.cs} | 2 +- .../models/VirtualServiceRouteTable.cs | 4 - .../VirtualServiceTrafficRouteRuleDetails.cs | 85 +++ .../models/VirtualServiceTrafficRuleTarget.cs | 4 - .../VirtualServiceTrafficRuleTargetDetails.cs | 51 ++ .../requests/CancelWorkRequestRequest.cs | 49 ++ .../requests/ListAccessPoliciesRequest.cs | 2 +- .../ListIngressGatewayRouteTablesRequest.cs | 2 +- .../requests/ListIngressGatewaysRequest.cs | 2 +- Servicemesh/requests/ListMeshesRequest.cs | 2 +- .../requests/ListVirtualDeploymentsRequest.cs | 2 +- .../ListVirtualServiceRouteTablesRequest.cs | 2 +- .../requests/ListVirtualServicesRequest.cs | 2 +- .../requests/ListWorkRequestErrorsRequest.cs | 24 + .../requests/ListWorkRequestLogsRequest.cs | 24 + .../requests/ListWorkRequestsRequest.cs | 36 + .../responses/CancelWorkRequestResponse.cs | 29 + .../responses/GetWorkRequestResponse.cs | 8 + oci-dotnet-sdk.sln | 14 + 237 files changed, 10025 insertions(+), 229 deletions(-) create mode 100644 Apmsynthetics/models/AvailabilityConfiguration.cs create mode 100644 Apmsynthetics/models/MaintenanceWindowSchedule.cs create mode 100644 Database/models/EnablePluggableDatabaseManagementDetails.cs create mode 100644 Database/models/ModifyPluggableDatabaseManagementDetails.cs create mode 100644 Database/models/PluggableDatabaseManagementConfig.cs create mode 100644 Database/requests/DisablePluggableDatabaseManagementRequest.cs create mode 100644 Database/requests/EnablePluggableDatabaseManagementRequest.cs create mode 100644 Database/requests/ModifyPluggableDatabaseManagementRequest.cs create mode 100644 Database/responses/DisablePluggableDatabaseManagementResponse.cs create mode 100644 Database/responses/EnablePluggableDatabaseManagementResponse.cs create mode 100644 Database/responses/ModifyPluggableDatabaseManagementResponse.cs create mode 100644 Devops/requests/CancelScheduledCascadingProjectDeletionRequest.cs create mode 100644 Devops/requests/ScheduleCascadingProjectDeletionRequest.cs create mode 100644 Devops/responses/CancelScheduledCascadingProjectDeletionResponse.cs create mode 100644 Devops/responses/ScheduleCascadingProjectDeletionResponse.cs create mode 100644 Fusionapps/models/RefreshIssueDetails.cs create mode 100644 Fusionapps/models/UpdateRefreshActivityDetails.cs create mode 100644 Fusionapps/requests/DeleteRefreshActivityRequest.cs create mode 100644 Fusionapps/requests/UpdateRefreshActivityRequest.cs create mode 100644 Fusionapps/responses/DeleteRefreshActivityResponse.cs create mode 100644 Fusionapps/responses/UpdateRefreshActivityResponse.cs create mode 100644 Goldengate/models/AzureDataLakeStorageConnection.cs create mode 100644 Goldengate/models/AzureDataLakeStorageConnectionSummary.cs create mode 100644 Goldengate/models/AzureSynapseConnection.cs create mode 100644 Goldengate/models/AzureSynapseConnectionSummary.cs create mode 100644 Goldengate/models/CreateAzureDataLakeStorageConnectionDetails.cs create mode 100644 Goldengate/models/CreateAzureSynapseConnectionDetails.cs create mode 100644 Goldengate/models/CreateKafkaSchemaRegistryConnectionDetails.cs create mode 100644 Goldengate/models/CreatePostgresqlConnectionDetails.cs create mode 100644 Goldengate/models/KafkaSchemaRegistryConnection.cs create mode 100644 Goldengate/models/KafkaSchemaRegistryConnectionSummary.cs create mode 100644 Goldengate/models/PostgresqlConnection.cs create mode 100644 Goldengate/models/PostgresqlConnectionSummary.cs create mode 100644 Goldengate/models/UpdateAzureDataLakeStorageConnectionDetails.cs create mode 100644 Goldengate/models/UpdateAzureSynapseConnectionDetails.cs create mode 100644 Goldengate/models/UpdateKafkaSchemaRegistryConnectionDetails.cs create mode 100644 Goldengate/models/UpdatePostgresqlConnectionDetails.cs create mode 100644 Queue/OCI.DotNetSDK.Queue.csproj create mode 100644 Queue/QueueAdminClient.cs create mode 100644 Queue/QueueAdminPaginators.cs create mode 100644 Queue/QueueAdminWaiters.cs create mode 100644 Queue/QueueClient.cs create mode 100644 Queue/README.md create mode 100644 Queue/models/ActionType.cs create mode 100644 Queue/models/ChangeQueueCompartmentDetails.cs rename Databasemigration/models/CreateAgentDetails.cs => Queue/models/CreateQueueDetails.cs (60%) create mode 100644 Queue/models/DeleteMessagesDetails.cs rename Databasemigration/models/ParLink.cs => Queue/models/DeleteMessagesDetailsEntry.cs (67%) create mode 100644 Queue/models/DeleteMessagesResult.cs create mode 100644 Queue/models/DeleteMessagesResultEntry.cs create mode 100644 Queue/models/GetMessage.cs rename Databasemigration/models/GenerateToken.cs => Queue/models/GetMessages.cs (68%) create mode 100644 Queue/models/OperationStatus.cs create mode 100644 Queue/models/OperationType.cs create mode 100644 Queue/models/PurgeQueueDetails.cs create mode 100644 Queue/models/PutMessage.cs create mode 100644 Queue/models/PutMessages.cs create mode 100644 Queue/models/PutMessagesDetails.cs create mode 100644 Queue/models/PutMessagesDetailsEntry.cs create mode 100644 Queue/models/Queue.cs create mode 100644 Queue/models/QueueCollection.cs create mode 100644 Queue/models/QueueStats.cs create mode 100644 Queue/models/QueueSummary.cs create mode 100644 Queue/models/SortOrder.cs create mode 100644 Queue/models/Stats.cs create mode 100644 Queue/models/UpdateMessageDetails.cs create mode 100644 Queue/models/UpdateMessagesDetails.cs create mode 100644 Queue/models/UpdateMessagesDetailsEntry.cs create mode 100644 Queue/models/UpdateMessagesResult.cs create mode 100644 Queue/models/UpdateMessagesResultEntry.cs create mode 100644 Queue/models/UpdateQueueDetails.cs create mode 100644 Queue/models/UpdatedMessage.cs create mode 100644 Queue/models/WorkRequest.cs create mode 100644 Queue/models/WorkRequestError.cs create mode 100644 Queue/models/WorkRequestErrorCollection.cs create mode 100644 Queue/models/WorkRequestLogEntry.cs create mode 100644 Queue/models/WorkRequestLogEntryCollection.cs create mode 100644 Queue/models/WorkRequestResource.cs create mode 100644 Queue/models/WorkRequestSummary.cs create mode 100644 Queue/models/WorkRequestSummaryCollection.cs create mode 100644 Queue/requests/ChangeQueueCompartmentRequest.cs create mode 100644 Queue/requests/CreateQueueRequest.cs create mode 100644 Queue/requests/DeleteMessageRequest.cs create mode 100644 Queue/requests/DeleteMessagesRequest.cs create mode 100644 Queue/requests/DeleteQueueRequest.cs create mode 100644 Queue/requests/GetMessagesRequest.cs create mode 100644 Queue/requests/GetQueueRequest.cs create mode 100644 Queue/requests/GetStatsRequest.cs create mode 100644 Queue/requests/GetWorkRequestRequest.cs create mode 100644 Queue/requests/ListQueuesRequest.cs create mode 100644 Queue/requests/ListWorkRequestErrorsRequest.cs create mode 100644 Queue/requests/ListWorkRequestLogsRequest.cs create mode 100644 Queue/requests/ListWorkRequestsRequest.cs create mode 100644 Queue/requests/PurgeQueueRequest.cs create mode 100644 Queue/requests/PutMessagesRequest.cs create mode 100644 Queue/requests/UpdateMessageRequest.cs create mode 100644 Queue/requests/UpdateMessagesRequest.cs create mode 100644 Queue/requests/UpdateQueueRequest.cs create mode 100644 Queue/responses/ChangeQueueCompartmentResponse.cs create mode 100644 Queue/responses/CreateQueueResponse.cs create mode 100644 Queue/responses/DeleteMessageResponse.cs create mode 100644 Queue/responses/DeleteMessagesResponse.cs create mode 100644 Queue/responses/DeleteQueueResponse.cs create mode 100644 Queue/responses/GetMessagesResponse.cs create mode 100644 Queue/responses/GetQueueResponse.cs create mode 100644 Queue/responses/GetStatsResponse.cs create mode 100644 Queue/responses/GetWorkRequestResponse.cs create mode 100644 Queue/responses/ListQueuesResponse.cs create mode 100644 Queue/responses/ListWorkRequestErrorsResponse.cs create mode 100644 Queue/responses/ListWorkRequestLogsResponse.cs create mode 100644 Queue/responses/ListWorkRequestsResponse.cs create mode 100644 Queue/responses/PurgeQueueResponse.cs create mode 100644 Queue/responses/PutMessagesResponse.cs create mode 100644 Queue/responses/UpdateMessageResponse.cs create mode 100644 Queue/responses/UpdateMessagesResponse.cs create mode 100644 Queue/responses/UpdateQueueResponse.cs create mode 100644 Servicemesh/models/AccessPolicyRuleDetails.cs create mode 100644 Servicemesh/models/AccessPolicyTargetDetails.cs create mode 100644 Servicemesh/models/AllVirtualServicesAccessPolicyTargetDetails.cs create mode 100644 Servicemesh/models/DisabledServiceDiscoveryConfiguration.cs create mode 100644 Servicemesh/models/ExternalServiceAccessPolicyTargetDetails.cs create mode 100644 Servicemesh/models/HttpIngressGatewayTrafficRouteRuleDetails.cs create mode 100644 Servicemesh/models/HttpVirtualServiceTrafficRouteRuleDetails.cs create mode 100644 Servicemesh/models/IngressGatewayAccessPolicyTargetDetails.cs rename Servicemesh/models/{CreateIngressGatewayMutualTransportLayerSecurityDetails.cs => IngressGatewayMutualTransportLayerSecurityDetails.cs} (94%) create mode 100644 Servicemesh/models/IngressGatewayTrafficRouteRuleDetails.cs create mode 100644 Servicemesh/models/TcpIngressGatewayTrafficRouteRuleDetails.cs create mode 100644 Servicemesh/models/TcpVirtualServiceTrafficRouteRuleDetails.cs create mode 100644 Servicemesh/models/TlsPassthroughIngressGatewayTrafficRouteRuleDetails.cs create mode 100644 Servicemesh/models/TlsPassthroughVirtualServiceTrafficRouteRuleDetails.cs create mode 100644 Servicemesh/models/TrafficRuleTargetDetails.cs create mode 100644 Servicemesh/models/VirtualDeploymentTrafficRuleTargetDetails.cs create mode 100644 Servicemesh/models/VirtualServiceAccessPolicyTargetDetails.cs rename Servicemesh/models/{CreateMutualTransportLayerSecurityDetails.cs => VirtualServiceMutualTransportLayerSecurityDetails.cs} (96%) create mode 100644 Servicemesh/models/VirtualServiceTrafficRouteRuleDetails.cs create mode 100644 Servicemesh/models/VirtualServiceTrafficRuleTargetDetails.cs create mode 100644 Servicemesh/requests/CancelWorkRequestRequest.cs create mode 100644 Servicemesh/responses/CancelWorkRequestResponse.cs diff --git a/Apmsynthetics/models/AvailabilityConfiguration.cs b/Apmsynthetics/models/AvailabilityConfiguration.cs new file mode 100644 index 000000000..914f41131 --- /dev/null +++ b/Apmsynthetics/models/AvailabilityConfiguration.cs @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; + + +namespace Oci.ApmsyntheticsService.Models +{ + /// + /// Monitor availability configuration details. + /// + public class AvailabilityConfiguration + { + + /// + /// Intervals with failed runs more than this value will be classified as UNAVAILABLE. + /// + [JsonProperty(PropertyName = "maxAllowedFailuresPerInterval")] + public System.Nullable MaxAllowedFailuresPerInterval { get; set; } + + /// + /// Intervals with runs less than this value will be classified as UNKNOWN and excluded from the availability calculations. + /// + [JsonProperty(PropertyName = "minAllowedRunsPerInterval")] + public System.Nullable MinAllowedRunsPerInterval { get; set; } + + } +} diff --git a/Apmsynthetics/models/CreateMonitorDetails.cs b/Apmsynthetics/models/CreateMonitorDetails.cs index 7319a41d8..8bc7c26d5 100644 --- a/Apmsynthetics/models/CreateMonitorDetails.cs +++ b/Apmsynthetics/models/CreateMonitorDetails.cs @@ -88,7 +88,8 @@ public class CreateMonitorDetails public System.Nullable IsRunOnce { get; set; } /// - /// Timeout in seconds. Timeout cannot be more than 30% of repeatIntervalInSeconds time for monitors. + /// Timeout in seconds. If isFailureRetried is true, then timeout cannot be more than 30% of repeatIntervalInSeconds time for monitors. + /// If isFailureRetried is false, then timeout cannot be more than 50% of repeatIntervalInSeconds time for monitors. /// Also, timeoutInSeconds should be a multiple of 60 for Scripted REST, Scripted Browser and Browser monitors. /// Monitor will be allowed to run only for timeoutInSeconds time. It would be terminated after that. /// @@ -117,6 +118,12 @@ public class CreateMonitorDetails [JsonProperty(PropertyName = "configuration")] public MonitorConfiguration Configuration { get; set; } + [JsonProperty(PropertyName = "availabilityConfiguration")] + public AvailabilityConfiguration AvailabilityConfiguration { get; set; } + + [JsonProperty(PropertyName = "maintenanceWindowSchedule")] + public MaintenanceWindowSchedule MaintenanceWindowSchedule { get; set; } + /// /// Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. /// Example: {"bar-key": "value"} diff --git a/Apmsynthetics/models/MaintenanceWindowSchedule.cs b/Apmsynthetics/models/MaintenanceWindowSchedule.cs new file mode 100644 index 000000000..e1afd1359 --- /dev/null +++ b/Apmsynthetics/models/MaintenanceWindowSchedule.cs @@ -0,0 +1,39 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; + + +namespace Oci.ApmsyntheticsService.Models +{ + /// + /// Details used to schedule maintenance window. + /// + public class MaintenanceWindowSchedule + { + + /// + /// Start time for the maintenance window, expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339) timestamp format. + /// Example: 2020-02-12T22:47:12.613Z + /// + [JsonProperty(PropertyName = "timeStarted")] + public System.Nullable TimeStarted { get; set; } + + /// + /// End time for the maintenance window, expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339) timestamp format. + /// Example: 2020-02-12T22:47:12.613Z + /// + [JsonProperty(PropertyName = "timeEnded")] + public System.Nullable TimeEnded { get; set; } + + } +} diff --git a/Apmsynthetics/models/Monitor.cs b/Apmsynthetics/models/Monitor.cs index f4d791a8f..98977b36e 100644 --- a/Apmsynthetics/models/Monitor.cs +++ b/Apmsynthetics/models/Monitor.cs @@ -128,7 +128,8 @@ public class Monitor public System.Nullable IsRunOnce { get; set; } /// - /// Timeout in seconds. Timeout cannot be more than 30% of repeatIntervalInSeconds time for monitors. + /// Timeout in seconds. If isFailureRetried is true, then timeout cannot be more than 30% of repeatIntervalInSeconds time for monitors. + /// If isFailureRetried is false, then timeout cannot be more than 50% of repeatIntervalInSeconds time for monitors. /// Also, timeoutInSeconds should be a multiple of 60 for Scripted REST, Scripted Browser and Browser monitors. /// Monitor will be allowed to run only for timeoutInSeconds time. It would be terminated after that. /// @@ -159,6 +160,12 @@ public class Monitor [JsonProperty(PropertyName = "configuration")] public MonitorConfiguration Configuration { get; set; } + [JsonProperty(PropertyName = "availabilityConfiguration")] + public AvailabilityConfiguration AvailabilityConfiguration { get; set; } + + [JsonProperty(PropertyName = "maintenanceWindowSchedule")] + public MaintenanceWindowSchedule MaintenanceWindowSchedule { get; set; } + /// /// The time the resource was created, expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339) /// timestamp format. diff --git a/Apmsynthetics/models/MonitorSummary.cs b/Apmsynthetics/models/MonitorSummary.cs index f0c14bea0..3be066ed2 100644 --- a/Apmsynthetics/models/MonitorSummary.cs +++ b/Apmsynthetics/models/MonitorSummary.cs @@ -128,7 +128,8 @@ public class MonitorSummary public System.Nullable IsRunOnce { get; set; } /// - /// Timeout in seconds. Timeout cannot be more than 30% of repeatIntervalInSeconds time for monitors. + /// Timeout in seconds. If isFailureRetried is true, then timeout cannot be more than 30% of repeatIntervalInSeconds time for monitors. + /// If isFailureRetried is false, then timeout cannot be more than 50% of repeatIntervalInSeconds time for monitors. /// Also, timeoutInSeconds should be a multiple of 60 for Scripted REST, Scripted Browser and Browser monitors. /// Monitor will be allowed to run only for timeoutInSeconds time. It would be terminated after that. /// @@ -150,6 +151,9 @@ public class MonitorSummary [JsonProperty(PropertyName = "target")] public string Target { get; set; } + [JsonProperty(PropertyName = "maintenanceWindowSchedule")] + public MaintenanceWindowSchedule MaintenanceWindowSchedule { get; set; } + /// /// The time the resource was created, expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339) /// timestamp format. diff --git a/Apmsynthetics/models/UpdateMonitorDetails.cs b/Apmsynthetics/models/UpdateMonitorDetails.cs index c93346123..3ccd1a67e 100644 --- a/Apmsynthetics/models/UpdateMonitorDetails.cs +++ b/Apmsynthetics/models/UpdateMonitorDetails.cs @@ -65,7 +65,8 @@ public class UpdateMonitorDetails public System.Nullable IsRunOnce { get; set; } /// - /// Timeout in seconds. Timeout cannot be more than 30% of repeatIntervalInSeconds time for monitors. + /// Timeout in seconds. If isFailureRetried is true, then timeout cannot be more than 30% of repeatIntervalInSeconds time for monitors. + /// If isFailureRetried is false, then timeout cannot be more than 50% of repeatIntervalInSeconds time for monitors. /// Also, timeoutInSeconds should be a multiple of 60 for Scripted REST, Scripted Browser and Browser monitors. /// Monitor will be allowed to run only for timeoutInSeconds time. It would be terminated after that. /// @@ -94,6 +95,12 @@ public class UpdateMonitorDetails [JsonProperty(PropertyName = "configuration")] public MonitorConfiguration Configuration { get; set; } + [JsonProperty(PropertyName = "availabilityConfiguration")] + public AvailabilityConfiguration AvailabilityConfiguration { get; set; } + + [JsonProperty(PropertyName = "maintenanceWindowSchedule")] + public MaintenanceWindowSchedule MaintenanceWindowSchedule { get; set; } + /// /// Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. /// Example: {"bar-key": "value"} diff --git a/Apmsynthetics/requests/ListMonitorsRequest.cs b/Apmsynthetics/requests/ListMonitorsRequest.cs index 7d3022559..710175a10 100644 --- a/Apmsynthetics/requests/ListMonitorsRequest.cs +++ b/Apmsynthetics/requests/ListMonitorsRequest.cs @@ -79,6 +79,18 @@ public class ListMonitorsRequest : Oci.Common.IOciRequest [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Query, "page")] public string Page { get; set; } + /// + /// A filter to return the monitors whose maintenance window is currently active. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Query, "isMaintenanceWindowActive")] + public System.Nullable IsMaintenanceWindowActive { get; set; } + + /// + /// A filter to return the monitors whose maintenance window is set. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Query, "isMaintenanceWindowSet")] + public System.Nullable IsMaintenanceWindowSet { get; set; } + /// /// The sort order to use, either ascending (`ASC`) or descending (`DESC`). Default sort order is ascending. /// @@ -105,7 +117,9 @@ public enum SortByEnum { [EnumMember(Value = "status")] Status, [EnumMember(Value = "monitorType")] - MonitorType + MonitorType, + [EnumMember(Value = "maintenanceWindowTimeStarted")] + MaintenanceWindowTimeStarted }; /// diff --git a/Bds/models/BdsInstance.cs b/Bds/models/BdsInstance.cs index e223db8d7..84143eb55 100644 --- a/Bds/models/BdsInstance.cs +++ b/Bds/models/BdsInstance.cs @@ -223,6 +223,35 @@ public enum ClusterVersionEnum { /// [JsonProperty(PropertyName = "kmsKeyId")] public string KmsKeyId { get; set; } + /// + /// + /// Profile of the Big Data Service cluster. + /// + /// + public enum ClusterProfileEnum { + /// This value is used if a service returns a value for this enum that is not recognized by this version of the SDK. + [EnumMember(Value = null)] + UnknownEnumValue, + [EnumMember(Value = "HADOOP_EXTENDED")] + HadoopExtended, + [EnumMember(Value = "HADOOP")] + Hadoop, + [EnumMember(Value = "HIVE")] + Hive, + [EnumMember(Value = "SPARK")] + Spark, + [EnumMember(Value = "HBASE")] + Hbase, + [EnumMember(Value = "TRINO")] + Trino + }; + + /// + /// Profile of the Big Data Service cluster. + /// + [JsonProperty(PropertyName = "clusterProfile")] + [JsonConverter(typeof(Oci.Common.Utils.ResponseEnumConverter))] + public System.Nullable ClusterProfile { get; set; } } } diff --git a/Bds/models/BdsInstanceSummary.cs b/Bds/models/BdsInstanceSummary.cs index de19d959a..40a8719c1 100644 --- a/Bds/models/BdsInstanceSummary.cs +++ b/Bds/models/BdsInstanceSummary.cs @@ -109,6 +109,13 @@ public class BdsInstanceSummary [JsonProperty(PropertyName = "isCloudSqlConfigured")] public System.Nullable IsCloudSqlConfigured { get; set; } + /// + /// Profile of the Big Data Service cluster. + /// + [JsonProperty(PropertyName = "clusterProfile")] + [JsonConverter(typeof(StringEnumConverter))] + public System.Nullable ClusterProfile { get; set; } + /// /// The time the cluster was created, shown as an RFC 3339 formatted datetime string. /// diff --git a/Bds/models/CreateBdsInstanceDetails.cs b/Bds/models/CreateBdsInstanceDetails.cs index ba6620d58..c16fce6ce 100644 --- a/Bds/models/CreateBdsInstanceDetails.cs +++ b/Bds/models/CreateBdsInstanceDetails.cs @@ -139,5 +139,12 @@ public class CreateBdsInstanceDetails [JsonProperty(PropertyName = "kmsKeyId")] public string KmsKeyId { get; set; } + /// + /// Profile of the Big Data Service cluster. + /// + [JsonProperty(PropertyName = "clusterProfile")] + [JsonConverter(typeof(StringEnumConverter))] + public System.Nullable ClusterProfile { get; set; } + } } diff --git a/CHANGELOG.md b/CHANGELOG.md index 3701cb272..7d03afc3c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,32 @@ All notable changes to this project will be documented in this file. The format is based on Keep a [Changelog](http://keepachangelog.com/). +## 51.0.0 - 2022-12-13 +### Added +- Support for the Queue service +- Support for Intel X9 shapes when launching VM database systems in the Database service +- Support for enabling, disabling, and editing Database Management service connections on pluggable databases in the Database service +- Support for availability configurations and maintenance window schedules on synthetic monitors in the Application Performance Monitoring service +- Support for scheduling cascading deletes on a project in the DevOps service +- Support for cancelling a scheduled cascading delete on a project in the DevOps service +- Support for issue and action fields on job phases of validation and migration processes in the Database Migration service +- Support for cluster profiles in the Big Data service +- Support for egress-only services in the Service Mesh service +- Support for optional listeners and service discovery metadata on virtual deployments in the Service Mesh service +- Support for canceling work requests in the accepted state in the Service Mesh service +- Support for filtering work requests on associated resource id and operation status in the Service Mesh service +- Support for sorting while listing work requests, listing work request logs, and listing work request errors in the Service Mesh service +- Support for Oracle Managed Access integration in the Fusion Apps as a Service service +- Support for refresh scheduling in the Fusion Apps as a Service service +- Support for additional connections types on database resources in the GoldenGate service + +### Breaking Changes +- The type for property `RouteRules` was changed from a List of `VirtualServiceTrafficRouteRule` to a List of `VirtualServiceTrafficRouteRuleDetails` in the models `UpdateVirtualServiceRouteTableDetails` and `CreateVirtualServiceRouteTableDetails` in the Service Mesh service +- The type for property `Mtls` was changed from `CreateMutualTransportLayerSecurityDetails` to `VirtualServiceMutualTransportLayerSecurityDetails` in the models `UpdateVirtualServiceDetails` and `CreateVirtualServiceDetails` in the Service Mesh service +- The type for property `RouteRules` was changed from a List of `IngressGatewayTrafficRouteRule` to a List of `IngressGatewayTrafficRouteRuleDetails` in the models `UpdateIngressGatewayRouteTableDetails` and `CreateIngressGatewayRouteTableDetails` in the Service Mesh service +- The type for property `Mtls` was changed from `CreateIngressGatewayMutualTransportLayerSecurityDetails` to `IngressGatewayMutualTransportLayerSecurityDetails` in the models `UpdateIngressGatewayDetails` and `CreateIngressGatewayDetails` in the Service Mesh service +- The type for property `Rules` was changed from a List of `AccessPolicyRule` to a List of `AccessPolicyRuleDetails` in the models `UpdateAccessPolicyDetails` and `CreateAccessPolicyDetails` in the Service Mesh service + ## 50.0.0 - 2022-12-06 ### Added - Support for the Container Instances service diff --git a/Common/Src/Version.cs b/Common/Src/Version.cs index b777d930b..5e27e9c2d 100644 --- a/Common/Src/Version.cs +++ b/Common/Src/Version.cs @@ -7,7 +7,7 @@ namespace Oci.Common { public class Version { - public static string MAJOR = "50"; + public static string MAJOR = "51"; public static string MINOR = "0"; public static string PATCH = "0"; public static string TAG = ""; diff --git a/Containerinstances/ContainerInstanceClient.cs b/Containerinstances/ContainerInstanceClient.cs index 57bbfdba3..406dedad3 100644 --- a/Containerinstances/ContainerInstanceClient.cs +++ b/Containerinstances/ContainerInstanceClient.cs @@ -104,7 +104,7 @@ public async Task ChangeContainerIns ServiceName = "ContainerInstance", OperationName = "ChangeContainerInstanceCompartment", RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", - ApiReferenceLink = "", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/container-instances/20210415/ContainerInstance/ChangeContainerInstanceCompartment", UserAgent = this.GetUserAgent() }; this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); @@ -161,7 +161,7 @@ public async Task CreateContainerInstance(Creat ServiceName = "ContainerInstance", OperationName = "CreateContainerInstance", RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", - ApiReferenceLink = "", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/container-instances/20210415/ContainerInstance/CreateContainerInstance", UserAgent = this.GetUserAgent() }; this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); @@ -217,7 +217,7 @@ public async Task DeleteContainerInstance(Delet ServiceName = "ContainerInstance", OperationName = "DeleteContainerInstance", RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", - ApiReferenceLink = "", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/container-instances/20210415/ContainerInstance/DeleteContainerInstance", UserAgent = this.GetUserAgent() }; this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); @@ -273,7 +273,7 @@ public async Task GetContainer(GetContainerRequest request ServiceName = "ContainerInstance", OperationName = "GetContainer", RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", - ApiReferenceLink = "", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/container-instances/20210415/Container/GetContainer", UserAgent = this.GetUserAgent() }; this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); @@ -329,7 +329,7 @@ public async Task GetContainerInstance(GetContaine ServiceName = "ContainerInstance", OperationName = "GetContainerInstance", RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", - ApiReferenceLink = "", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/container-instances/20210415/ContainerInstance/GetContainerInstance", UserAgent = this.GetUserAgent() }; this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); @@ -385,7 +385,7 @@ public async Task GetWorkRequest(GetWorkRequestRequest r ServiceName = "ContainerInstance", OperationName = "GetWorkRequest", RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", - ApiReferenceLink = "", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/container-instances/20210415/WorkRequest/GetWorkRequest", UserAgent = this.GetUserAgent() }; this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); @@ -441,7 +441,7 @@ public async Task ListContainerInstanceShap ServiceName = "ContainerInstance", OperationName = "ListContainerInstanceShapes", RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", - ApiReferenceLink = "", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/container-instances/20210415/ContainerInstanceShapeCollection/ListContainerInstanceShapes", UserAgent = this.GetUserAgent() }; this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); @@ -498,7 +498,7 @@ public async Task ListContainerInstances(ListCon ServiceName = "ContainerInstance", OperationName = "ListContainerInstances", RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", - ApiReferenceLink = "", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/container-instances/20210415/ContainerInstanceCollection/ListContainerInstances", UserAgent = this.GetUserAgent() }; this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); @@ -555,7 +555,7 @@ public async Task ListContainers(ListContainersRequest r ServiceName = "ContainerInstance", OperationName = "ListContainers", RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", - ApiReferenceLink = "", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/container-instances/20210415/ContainerCollection/ListContainers", UserAgent = this.GetUserAgent() }; this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); @@ -612,7 +612,7 @@ public async Task ListWorkRequestErrors(ListWorkR ServiceName = "ContainerInstance", OperationName = "ListWorkRequestErrors", RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", - ApiReferenceLink = "", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/container-instances/20210415/WorkRequestErrorCollection/ListWorkRequestErrors", UserAgent = this.GetUserAgent() }; this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); @@ -669,7 +669,7 @@ public async Task ListWorkRequestLogs(ListWorkReque ServiceName = "ContainerInstance", OperationName = "ListWorkRequestLogs", RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", - ApiReferenceLink = "", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/container-instances/20210415/WorkRequestLogEntryCollection/ListWorkRequestLogs", UserAgent = this.GetUserAgent() }; this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); @@ -726,7 +726,7 @@ public async Task ListWorkRequests(ListWorkRequestsReq ServiceName = "ContainerInstance", OperationName = "ListWorkRequests", RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", - ApiReferenceLink = "", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/container-instances/20210415/WorkRequestSummaryCollection/ListWorkRequests", UserAgent = this.GetUserAgent() }; this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); @@ -782,7 +782,7 @@ public async Task RestartContainerInstance(Res ServiceName = "ContainerInstance", OperationName = "RestartContainerInstance", RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", - ApiReferenceLink = "", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/container-instances/20210415/ContainerInstance/RestartContainerInstance", UserAgent = this.GetUserAgent() }; this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); @@ -839,7 +839,7 @@ public async Task RetrieveLogs(RetrieveLogsRequest request ServiceName = "ContainerInstance", OperationName = "RetrieveLogs", RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", - ApiReferenceLink = "", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/container-instances/20210415/Container/RetrieveLogs", UserAgent = this.GetUserAgent() }; this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); @@ -895,7 +895,7 @@ public async Task StartContainerInstance(StartCo ServiceName = "ContainerInstance", OperationName = "StartContainerInstance", RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", - ApiReferenceLink = "", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/container-instances/20210415/ContainerInstance/StartContainerInstance", UserAgent = this.GetUserAgent() }; this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); @@ -951,7 +951,7 @@ public async Task StopContainerInstance(StopConta ServiceName = "ContainerInstance", OperationName = "StopContainerInstance", RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", - ApiReferenceLink = "", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/container-instances/20210415/ContainerInstance/StopContainerInstance", UserAgent = this.GetUserAgent() }; this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); @@ -1007,7 +1007,7 @@ public async Task UpdateContainer(UpdateContainerReques ServiceName = "ContainerInstance", OperationName = "UpdateContainer", RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", - ApiReferenceLink = "", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/container-instances/20210415/Container/UpdateContainer", UserAgent = this.GetUserAgent() }; this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); @@ -1063,7 +1063,7 @@ public async Task UpdateContainerInstance(Updat ServiceName = "ContainerInstance", OperationName = "UpdateContainerInstance", RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", - ApiReferenceLink = "", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/container-instances/20210415/ContainerInstance/UpdateContainerInstance", UserAgent = this.GetUserAgent() }; this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); diff --git a/Database/DatabaseClient.cs b/Database/DatabaseClient.cs index d4f7f090f..c9d8bdbae 100644 --- a/Database/DatabaseClient.cs +++ b/Database/DatabaseClient.cs @@ -4860,6 +4860,63 @@ public async Task Disab } } + /// + /// Disables the Database Management service for the pluggable database. + /// + /// + /// The request object containing the details to send. Required. + /// The retry configuration that will be used by to send this request. Optional. + /// The cancellation token to cancel this operation. Optional. + /// The completion option for this operation. Optional. + /// A response object containing details about the completed operation + /// Click here to see an example of how to use DisablePluggableDatabaseManagement API. + public async Task DisablePluggableDatabaseManagement(DisablePluggableDatabaseManagementRequest request, RetryConfiguration retryConfiguration = null, CancellationToken cancellationToken = default, HttpCompletionOption completionOption = HttpCompletionOption.ResponseContentRead) + { + logger.Trace("Called disablePluggableDatabaseManagement"); + Uri uri = new Uri(this.restClient.GetEndpoint(), System.IO.Path.Combine(basePathWithoutHost, "/pluggableDatabases/{pluggableDatabaseId}/actions/disablePluggableDatabaseManagement".Trim('/'))); + HttpMethod method = new HttpMethod("POST"); + HttpRequestMessage requestMessage = Converter.ToHttpRequestMessage(uri, method, request); + requestMessage.Headers.Add("Accept", "application/json"); + GenericRetrier retryingClient = Retrier.GetPreferredRetrier(retryConfiguration, this.retryConfiguration); + HttpResponseMessage responseMessage; + + try + { + Stopwatch stopWatch = new Stopwatch(); + stopWatch.Start(); + if (retryingClient != null) + { + responseMessage = await retryingClient.MakeRetryingCall(this.restClient.HttpSend, requestMessage, completionOption, cancellationToken).ConfigureAwait(false); + } + else + { + responseMessage = await this.restClient.HttpSend(requestMessage, completionOption: completionOption).ConfigureAwait(false); + } + stopWatch.Stop(); + ApiDetails apiDetails = new ApiDetails + { + ServiceName = "Database", + OperationName = "DisablePluggableDatabaseManagement", + RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/database/20160918/PluggableDatabase/DisablePluggableDatabaseManagement", + UserAgent = this.GetUserAgent() + }; + this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); + logger.Debug($"Total Latency for this API call is: {stopWatch.ElapsedMilliseconds} ms"); + return Converter.FromHttpResponseMessage(responseMessage); + } + catch (OciException e) + { + logger.Error(e); + throw; + } + catch (Exception e) + { + logger.Error($"DisablePluggableDatabaseManagement failed with error: {e.Message}"); + throw; + } + } + /// /// Downloads the configuration file for the specified Exadata Cloud@Customer infrastructure. /// @@ -5663,6 +5720,62 @@ public async Task Enable } } + /// + /// Enables the Database Management service for an Oracle Pluggable Database located in Oracle Cloud Infrastructure. This service allows the pluggable database to access tools including Metrics and Performance hub. Database Management is enabled at the pluggable database (PDB) level. + /// + /// The request object containing the details to send. Required. + /// The retry configuration that will be used by to send this request. Optional. + /// The cancellation token to cancel this operation. Optional. + /// The completion option for this operation. Optional. + /// A response object containing details about the completed operation + /// Click here to see an example of how to use EnablePluggableDatabaseManagement API. + public async Task EnablePluggableDatabaseManagement(EnablePluggableDatabaseManagementRequest request, RetryConfiguration retryConfiguration = null, CancellationToken cancellationToken = default, HttpCompletionOption completionOption = HttpCompletionOption.ResponseContentRead) + { + logger.Trace("Called enablePluggableDatabaseManagement"); + Uri uri = new Uri(this.restClient.GetEndpoint(), System.IO.Path.Combine(basePathWithoutHost, "/pluggableDatabases/{pluggableDatabaseId}/actions/enablePluggableDatabaseManagement".Trim('/'))); + HttpMethod method = new HttpMethod("POST"); + HttpRequestMessage requestMessage = Converter.ToHttpRequestMessage(uri, method, request); + requestMessage.Headers.Add("Accept", "application/json"); + GenericRetrier retryingClient = Retrier.GetPreferredRetrier(retryConfiguration, this.retryConfiguration); + HttpResponseMessage responseMessage; + + try + { + Stopwatch stopWatch = new Stopwatch(); + stopWatch.Start(); + if (retryingClient != null) + { + responseMessage = await retryingClient.MakeRetryingCall(this.restClient.HttpSend, requestMessage, completionOption, cancellationToken).ConfigureAwait(false); + } + else + { + responseMessage = await this.restClient.HttpSend(requestMessage, completionOption: completionOption).ConfigureAwait(false); + } + stopWatch.Stop(); + ApiDetails apiDetails = new ApiDetails + { + ServiceName = "Database", + OperationName = "EnablePluggableDatabaseManagement", + RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/database/20160918/PluggableDatabase/EnablePluggableDatabaseManagement", + UserAgent = this.GetUserAgent() + }; + this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); + logger.Debug($"Total Latency for this API call is: {stopWatch.ElapsedMilliseconds} ms"); + return Converter.FromHttpResponseMessage(responseMessage); + } + catch (OciException e) + { + logger.Error(e); + throw; + } + catch (Exception e) + { + logger.Error($"EnablePluggableDatabaseManagement failed with error: {e.Message}"); + throw; + } + } + /// /// Initiates a failover the specified Autonomous Database to a standby. To perform a failover to a standby located in a remote region, specify the [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the remote standby using the `peerDbId` parameter. /// @@ -12581,6 +12694,62 @@ public async Task ModifyDatabaseManagement(Mod } } + /// + /// Updates one or more attributes of the Database Management service for the pluggable database. + /// + /// The request object containing the details to send. Required. + /// The retry configuration that will be used by to send this request. Optional. + /// The cancellation token to cancel this operation. Optional. + /// The completion option for this operation. Optional. + /// A response object containing details about the completed operation + /// Click here to see an example of how to use ModifyPluggableDatabaseManagement API. + public async Task ModifyPluggableDatabaseManagement(ModifyPluggableDatabaseManagementRequest request, RetryConfiguration retryConfiguration = null, CancellationToken cancellationToken = default, HttpCompletionOption completionOption = HttpCompletionOption.ResponseContentRead) + { + logger.Trace("Called modifyPluggableDatabaseManagement"); + Uri uri = new Uri(this.restClient.GetEndpoint(), System.IO.Path.Combine(basePathWithoutHost, "/pluggableDatabases/{pluggableDatabaseId}/actions/modifyPluggableDatabaseManagement".Trim('/'))); + HttpMethod method = new HttpMethod("POST"); + HttpRequestMessage requestMessage = Converter.ToHttpRequestMessage(uri, method, request); + requestMessage.Headers.Add("Accept", "application/json"); + GenericRetrier retryingClient = Retrier.GetPreferredRetrier(retryConfiguration, this.retryConfiguration); + HttpResponseMessage responseMessage; + + try + { + Stopwatch stopWatch = new Stopwatch(); + stopWatch.Start(); + if (retryingClient != null) + { + responseMessage = await retryingClient.MakeRetryingCall(this.restClient.HttpSend, requestMessage, completionOption, cancellationToken).ConfigureAwait(false); + } + else + { + responseMessage = await this.restClient.HttpSend(requestMessage, completionOption: completionOption).ConfigureAwait(false); + } + stopWatch.Stop(); + ApiDetails apiDetails = new ApiDetails + { + ServiceName = "Database", + OperationName = "ModifyPluggableDatabaseManagement", + RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/database/20160918/PluggableDatabase/ModifyPluggableDatabaseManagement", + UserAgent = this.GetUserAgent() + }; + this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); + logger.Debug($"Total Latency for this API call is: {stopWatch.ElapsedMilliseconds} ms"); + return Converter.FromHttpResponseMessage(responseMessage); + } + catch (OciException e) + { + logger.Error(e); + throw; + } + catch (Exception e) + { + logger.Error($"ModifyPluggableDatabaseManagement failed with error: {e.Message}"); + throw; + } + } + /// /// Asynchronously registers this Autonomous Database with Data Safe. /// diff --git a/Database/DatabaseWaiters.cs b/Database/DatabaseWaiters.cs index 30072fce4..2fba4f819 100644 --- a/Database/DatabaseWaiters.cs +++ b/Database/DatabaseWaiters.cs @@ -2492,6 +2492,38 @@ public DatabaseWaiters(DatabaseClient client, Oci.WorkrequestsService.WorkReque }); } + /// + /// Creates a waiter using default wait configuration. + /// + /// Request to send. + /// Desired resource states. If multiple states are provided then the waiter will return once the resource reaches any of the provided states + /// a new Oci.common.Waiter instance + public Waiter ForDisablePluggableDatabaseManagement(DisablePluggableDatabaseManagementRequest request, params WorkrequestsService.Models.WorkRequest.StatusEnum[] targetStates) + { + return this.ForDisablePluggableDatabaseManagement(request, WaiterConfiguration.DefaultWaiterConfiguration, targetStates); + } + + /// + /// Creates a waiter using the provided configuration. + /// + /// Request to send. + /// Wait Configuration + /// Desired resource states. If multiple states are provided then the waiter will return once the resource reaches any of the provided states + /// a new Oci.common.Waiter instance + public Waiter ForDisablePluggableDatabaseManagement(DisablePluggableDatabaseManagementRequest request, WaiterConfiguration config, params WorkrequestsService.Models.WorkRequest.StatusEnum[] targetStates) + { + return new Waiter(() => + { + var response = client.DisablePluggableDatabaseManagement(request).Result; + var getWorkRequestRequest = new Oci.WorkrequestsService.Requests.GetWorkRequestRequest + { + WorkRequestId = response.OpcWorkRequestId + }; + workRequestClient.Waiters.ForWorkRequest(getWorkRequestRequest, config, targetStates).Execute(); + return response; + }); + } + /// /// Creates a waiter using default wait configuration. /// @@ -2844,6 +2876,38 @@ public DatabaseWaiters(DatabaseClient client, Oci.WorkrequestsService.WorkReque }); } + /// + /// Creates a waiter using default wait configuration. + /// + /// Request to send. + /// Desired resource states. If multiple states are provided then the waiter will return once the resource reaches any of the provided states + /// a new Oci.common.Waiter instance + public Waiter ForEnablePluggableDatabaseManagement(EnablePluggableDatabaseManagementRequest request, params WorkrequestsService.Models.WorkRequest.StatusEnum[] targetStates) + { + return this.ForEnablePluggableDatabaseManagement(request, WaiterConfiguration.DefaultWaiterConfiguration, targetStates); + } + + /// + /// Creates a waiter using the provided configuration. + /// + /// Request to send. + /// Wait Configuration + /// Desired resource states. If multiple states are provided then the waiter will return once the resource reaches any of the provided states + /// a new Oci.common.Waiter instance + public Waiter ForEnablePluggableDatabaseManagement(EnablePluggableDatabaseManagementRequest request, WaiterConfiguration config, params WorkrequestsService.Models.WorkRequest.StatusEnum[] targetStates) + { + return new Waiter(() => + { + var response = client.EnablePluggableDatabaseManagement(request).Result; + var getWorkRequestRequest = new Oci.WorkrequestsService.Requests.GetWorkRequestRequest + { + WorkRequestId = response.OpcWorkRequestId + }; + workRequestClient.Waiters.ForWorkRequest(getWorkRequestRequest, config, targetStates).Execute(); + return response; + }); + } + /// /// Creates a waiter using default wait configuration. /// @@ -4188,6 +4252,38 @@ public DatabaseWaiters(DatabaseClient client, Oci.WorkrequestsService.WorkReque }); } + /// + /// Creates a waiter using default wait configuration. + /// + /// Request to send. + /// Desired resource states. If multiple states are provided then the waiter will return once the resource reaches any of the provided states + /// a new Oci.common.Waiter instance + public Waiter ForModifyPluggableDatabaseManagement(ModifyPluggableDatabaseManagementRequest request, params WorkrequestsService.Models.WorkRequest.StatusEnum[] targetStates) + { + return this.ForModifyPluggableDatabaseManagement(request, WaiterConfiguration.DefaultWaiterConfiguration, targetStates); + } + + /// + /// Creates a waiter using the provided configuration. + /// + /// Request to send. + /// Wait Configuration + /// Desired resource states. If multiple states are provided then the waiter will return once the resource reaches any of the provided states + /// a new Oci.common.Waiter instance + public Waiter ForModifyPluggableDatabaseManagement(ModifyPluggableDatabaseManagementRequest request, WaiterConfiguration config, params WorkrequestsService.Models.WorkRequest.StatusEnum[] targetStates) + { + return new Waiter(() => + { + var response = client.ModifyPluggableDatabaseManagement(request).Result; + var getWorkRequestRequest = new Oci.WorkrequestsService.Requests.GetWorkRequestRequest + { + WorkRequestId = response.OpcWorkRequestId + }; + workRequestClient.Waiters.ForWorkRequest(getWorkRequestRequest, config, targetStates).Execute(); + return response; + }); + } + /// /// Creates a waiter using default wait configuration. /// diff --git a/Database/models/DbSystemShapeSummary.cs b/Database/models/DbSystemShapeSummary.cs index 44840103b..968b371d6 100644 --- a/Database/models/DbSystemShapeSummary.cs +++ b/Database/models/DbSystemShapeSummary.cs @@ -43,7 +43,7 @@ public class DbSystemShapeSummary public string ShapeFamily { get; set; } /// /// - /// The shape type for the virtual machine DB system. Shape type is determined by CPU hardware. Valid values are `AMD` and `INTEL`. + /// The shape type for the virtual machine DB system. Shape type is determined by CPU hardware. Valid values are `AMD` , `INTEL` or `INTEL_FLEX_X9`. /// /// public enum ShapeTypeEnum { @@ -53,11 +53,13 @@ public enum ShapeTypeEnum { [EnumMember(Value = "AMD")] Amd, [EnumMember(Value = "INTEL")] - Intel + Intel, + [EnumMember(Value = "INTEL_FLEX_X9")] + IntelFlexX9 }; /// - /// The shape type for the virtual machine DB system. Shape type is determined by CPU hardware. Valid values are `AMD` and `INTEL`. + /// The shape type for the virtual machine DB system. Shape type is determined by CPU hardware. Valid values are `AMD` , `INTEL` or `INTEL_FLEX_X9`. /// [JsonProperty(PropertyName = "shapeType")] [JsonConverter(typeof(Oci.Common.Utils.ResponseEnumConverter))] diff --git a/Database/models/DbSystemStoragePerformanceSummary.cs b/Database/models/DbSystemStoragePerformanceSummary.cs index d36fea253..6cf9c34e6 100644 --- a/Database/models/DbSystemStoragePerformanceSummary.cs +++ b/Database/models/DbSystemStoragePerformanceSummary.cs @@ -23,7 +23,7 @@ public class DbSystemStoragePerformanceSummary { /// /// - /// ShapeType of the DbSystems,INTEL or AMD + /// ShapeType of the DbSystems INTEL , AMD or INTEL_FLEX_X9 /// /// public enum ShapeTypeEnum { @@ -33,11 +33,13 @@ public enum ShapeTypeEnum { [EnumMember(Value = "AMD")] Amd, [EnumMember(Value = "INTEL")] - Intel + Intel, + [EnumMember(Value = "INTEL_FLEX_X9")] + IntelFlexX9 }; /// - /// ShapeType of the DbSystems,INTEL or AMD + /// ShapeType of the DbSystems INTEL , AMD or INTEL_FLEX_X9 /// /// /// Required diff --git a/Database/models/EnablePluggableDatabaseManagementDetails.cs b/Database/models/EnablePluggableDatabaseManagementDetails.cs new file mode 100644 index 000000000..58cddded0 --- /dev/null +++ b/Database/models/EnablePluggableDatabaseManagementDetails.cs @@ -0,0 +1,102 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; + + +namespace Oci.DatabaseService.Models +{ + /// + /// Data to enable the Database Management service for the pluggable database. + /// + /// + public class EnablePluggableDatabaseManagementDetails + { + + /// + /// Required + /// + [Required(ErrorMessage = "CredentialDetails is required.")] + [JsonProperty(PropertyName = "credentialDetails")] + public DatabaseCredentialDetails CredentialDetails { get; set; } + + /// + /// The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the private endpoint. + /// + /// + /// + /// Required + /// + [Required(ErrorMessage = "PrivateEndPointId is required.")] + [JsonProperty(PropertyName = "privateEndPointId")] + public string PrivateEndPointId { get; set; } + + /// + /// The name of the Oracle Database service that will be used to connect to the database. + /// + /// + /// Required + /// + [Required(ErrorMessage = "ServiceName is required.")] + [JsonProperty(PropertyName = "serviceName")] + public string ServiceName { get; set; } + /// + /// + /// Protocol used by the database connection. + /// + /// + public enum ProtocolEnum { + [EnumMember(Value = "TCP")] + Tcp, + [EnumMember(Value = "TCPS")] + Tcps + }; + + /// + /// Protocol used by the database connection. + /// + [JsonProperty(PropertyName = "protocol")] + [JsonConverter(typeof(StringEnumConverter))] + public System.Nullable Protocol { get; set; } + + /// + /// The port used to connect to the pluggable database. + /// + [JsonProperty(PropertyName = "port")] + public System.Nullable Port { get; set; } + + /// + /// The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the Oracle Cloud Infrastructure [secret](https://docs.cloud.oracle.com/Content/KeyManagement/Concepts/keyoverview.htm#concepts). + /// + [JsonProperty(PropertyName = "sslSecretId")] + public string SslSecretId { get; set; } + /// + /// + /// The role of the user that will be connecting to the pluggable database. + /// + /// + public enum RoleEnum { + [EnumMember(Value = "SYSDBA")] + Sysdba, + [EnumMember(Value = "NORMAL")] + Normal + }; + + /// + /// The role of the user that will be connecting to the pluggable database. + /// + [JsonProperty(PropertyName = "role")] + [JsonConverter(typeof(StringEnumConverter))] + public System.Nullable Role { get; set; } + + } +} diff --git a/Database/models/ModifyPluggableDatabaseManagementDetails.cs b/Database/models/ModifyPluggableDatabaseManagementDetails.cs new file mode 100644 index 000000000..7fbb5fc12 --- /dev/null +++ b/Database/models/ModifyPluggableDatabaseManagementDetails.cs @@ -0,0 +1,90 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; + + +namespace Oci.DatabaseService.Models +{ + /// + /// Data to update one or more attributes of the Database Management configuration for the pluggable database. + /// + /// + public class ModifyPluggableDatabaseManagementDetails + { + + [JsonProperty(PropertyName = "credentialDetails")] + public DatabaseCredentialDetails CredentialDetails { get; set; } + + /// + /// The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the private endpoint. + /// + /// + [JsonProperty(PropertyName = "privateEndPointId")] + public string PrivateEndPointId { get; set; } + + /// + /// The name of the Oracle Database service that will be used to connect to the database. + /// + [JsonProperty(PropertyName = "serviceName")] + public string ServiceName { get; set; } + /// + /// + /// Protocol used by the database connection. + /// + /// + public enum ProtocolEnum { + [EnumMember(Value = "TCP")] + Tcp, + [EnumMember(Value = "TCPS")] + Tcps + }; + + /// + /// Protocol used by the database connection. + /// + [JsonProperty(PropertyName = "protocol")] + [JsonConverter(typeof(StringEnumConverter))] + public System.Nullable Protocol { get; set; } + + /// + /// The port used to connect to the database. + /// + [JsonProperty(PropertyName = "port")] + public System.Nullable Port { get; set; } + + /// + /// The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the Oracle Cloud Infrastructure [secret](https://docs.cloud.oracle.com/Content/KeyManagement/Concepts/keyoverview.htm#concepts). + /// + [JsonProperty(PropertyName = "sslSecretId")] + public string SslSecretId { get; set; } + /// + /// + /// The role of the user that will be connecting to the database. + /// + /// + public enum RoleEnum { + [EnumMember(Value = "SYSDBA")] + Sysdba, + [EnumMember(Value = "NORMAL")] + Normal + }; + + /// + /// The role of the user that will be connecting to the database. + /// + [JsonProperty(PropertyName = "role")] + [JsonConverter(typeof(StringEnumConverter))] + public System.Nullable Role { get; set; } + + } +} diff --git a/Database/models/PluggableDatabase.cs b/Database/models/PluggableDatabase.cs index 60922293f..5535e2d72 100644 --- a/Database/models/PluggableDatabase.cs +++ b/Database/models/PluggableDatabase.cs @@ -173,5 +173,8 @@ public enum OpenModeEnum { [JsonProperty(PropertyName = "definedTags")] public System.Collections.Generic.Dictionary> DefinedTags { get; set; } + [JsonProperty(PropertyName = "pluggableDatabaseManagementConfig")] + public PluggableDatabaseManagementConfig PluggableDatabaseManagementConfig { get; set; } + } } diff --git a/Database/models/PluggableDatabaseManagementConfig.cs b/Database/models/PluggableDatabaseManagementConfig.cs new file mode 100644 index 000000000..ca8685265 --- /dev/null +++ b/Database/models/PluggableDatabaseManagementConfig.cs @@ -0,0 +1,62 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; + + +namespace Oci.DatabaseService.Models +{ + /// + /// The configuration of the Pluggable Database Management service. + /// + public class PluggableDatabaseManagementConfig + { + /// + /// + /// The status of the Pluggable Database Management service. + /// + /// + public enum ManagementStatusEnum { + /// This value is used if a service returns a value for this enum that is not recognized by this version of the SDK. + [EnumMember(Value = null)] + UnknownEnumValue, + [EnumMember(Value = "ENABLING")] + Enabling, + [EnumMember(Value = "ENABLED")] + Enabled, + [EnumMember(Value = "DISABLING")] + Disabling, + [EnumMember(Value = "DISABLED")] + Disabled, + [EnumMember(Value = "UPDATING")] + Updating, + [EnumMember(Value = "FAILED_ENABLING")] + FailedEnabling, + [EnumMember(Value = "FAILED_DISABLING")] + FailedDisabling, + [EnumMember(Value = "FAILED_UPDATING")] + FailedUpdating + }; + + /// + /// The status of the Pluggable Database Management service. + /// + /// + /// Required + /// + [Required(ErrorMessage = "ManagementStatus is required.")] + [JsonProperty(PropertyName = "managementStatus")] + [JsonConverter(typeof(Oci.Common.Utils.ResponseEnumConverter))] + public System.Nullable ManagementStatus { get; set; } + + } +} diff --git a/Database/models/PluggableDatabaseSummary.cs b/Database/models/PluggableDatabaseSummary.cs index bbbf9266b..b8e8a1dd1 100644 --- a/Database/models/PluggableDatabaseSummary.cs +++ b/Database/models/PluggableDatabaseSummary.cs @@ -173,5 +173,8 @@ public enum OpenModeEnum { [JsonProperty(PropertyName = "definedTags")] public System.Collections.Generic.Dictionary> DefinedTags { get; set; } + [JsonProperty(PropertyName = "pluggableDatabaseManagementConfig")] + public PluggableDatabaseManagementConfig PluggableDatabaseManagementConfig { get; set; } + } } diff --git a/Database/requests/DisablePluggableDatabaseManagementRequest.cs b/Database/requests/DisablePluggableDatabaseManagementRequest.cs new file mode 100644 index 000000000..ab68cb1d7 --- /dev/null +++ b/Database/requests/DisablePluggableDatabaseManagementRequest.cs @@ -0,0 +1,59 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Oci.DatabaseService.Models; + +namespace Oci.DatabaseService.Requests +{ + /// + /// Click here to see an example of how to use DisablePluggableDatabaseManagement request. + /// + public class DisablePluggableDatabaseManagementRequest : Oci.Common.IOciRequest + { + + /// + /// The database [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm). + /// + /// + /// Required + /// + [Required(ErrorMessage = "PluggableDatabaseId is required.")] + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Path, "pluggableDatabaseId")] + public string PluggableDatabaseId { get; set; } + + /// + /// A token that uniquely identifies a request so it can be retried in case of a timeout or + /// server error without risk of executing that same action again. Retry tokens expire after 24 + /// hours, but can be invalidated before then due to conflicting operations (for example, if a resource + /// has been deleted and purged from the system, then a retry of the original creation request + /// may be rejected). + /// + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-retry-token")] + public string OpcRetryToken { get; set; } + + /// + /// Unique identifier for the request. + /// + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-request-id")] + public string OpcRequestId { get; set; } + + /// + /// For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match` + /// parameter to the value of the etag from a previous GET or POST response for that resource. The resource + /// will be updated or deleted only if the etag you provide matches the resource's current etag value. + /// + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "if-match")] + public string IfMatch { get; set; } + } +} diff --git a/Database/requests/EnablePluggableDatabaseManagementRequest.cs b/Database/requests/EnablePluggableDatabaseManagementRequest.cs new file mode 100644 index 000000000..f81015f6a --- /dev/null +++ b/Database/requests/EnablePluggableDatabaseManagementRequest.cs @@ -0,0 +1,69 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Oci.DatabaseService.Models; + +namespace Oci.DatabaseService.Requests +{ + /// + /// Click here to see an example of how to use EnablePluggableDatabaseManagement request. + /// + public class EnablePluggableDatabaseManagementRequest : Oci.Common.IOciRequest + { + + /// + /// The database [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm). + /// + /// + /// Required + /// + [Required(ErrorMessage = "PluggableDatabaseId is required.")] + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Path, "pluggableDatabaseId")] + public string PluggableDatabaseId { get; set; } + + /// + /// Request to enable the Database Management service for an Oracle Pluggable Database located in Oracle Cloud Infrastructure. + /// + /// + /// Required + /// + [Required(ErrorMessage = "EnablePluggableDatabaseManagementDetails is required.")] + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Body)] + public EnablePluggableDatabaseManagementDetails EnablePluggableDatabaseManagementDetails { get; set; } + + /// + /// A token that uniquely identifies a request so it can be retried in case of a timeout or + /// server error without risk of executing that same action again. Retry tokens expire after 24 + /// hours, but can be invalidated before then due to conflicting operations (for example, if a resource + /// has been deleted and purged from the system, then a retry of the original creation request + /// may be rejected). + /// + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-retry-token")] + public string OpcRetryToken { get; set; } + + /// + /// Unique identifier for the request. + /// + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-request-id")] + public string OpcRequestId { get; set; } + + /// + /// For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match` + /// parameter to the value of the etag from a previous GET or POST response for that resource. The resource + /// will be updated or deleted only if the etag you provide matches the resource's current etag value. + /// + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "if-match")] + public string IfMatch { get; set; } + } +} diff --git a/Database/requests/ModifyPluggableDatabaseManagementRequest.cs b/Database/requests/ModifyPluggableDatabaseManagementRequest.cs new file mode 100644 index 000000000..c2a85c0d9 --- /dev/null +++ b/Database/requests/ModifyPluggableDatabaseManagementRequest.cs @@ -0,0 +1,69 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Oci.DatabaseService.Models; + +namespace Oci.DatabaseService.Requests +{ + /// + /// Click here to see an example of how to use ModifyPluggableDatabaseManagement request. + /// + public class ModifyPluggableDatabaseManagementRequest : Oci.Common.IOciRequest + { + + /// + /// The database [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm). + /// + /// + /// Required + /// + [Required(ErrorMessage = "PluggableDatabaseId is required.")] + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Path, "pluggableDatabaseId")] + public string PluggableDatabaseId { get; set; } + + /// + /// The data to update one or more attributes of the Database Management Service for the pluggable database. + /// + /// + /// Required + /// + [Required(ErrorMessage = "ModifyPluggableDatabaseManagementDetails is required.")] + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Body)] + public ModifyPluggableDatabaseManagementDetails ModifyPluggableDatabaseManagementDetails { get; set; } + + /// + /// A token that uniquely identifies a request so it can be retried in case of a timeout or + /// server error without risk of executing that same action again. Retry tokens expire after 24 + /// hours, but can be invalidated before then due to conflicting operations (for example, if a resource + /// has been deleted and purged from the system, then a retry of the original creation request + /// may be rejected). + /// + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-retry-token")] + public string OpcRetryToken { get; set; } + + /// + /// Unique identifier for the request. + /// + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-request-id")] + public string OpcRequestId { get; set; } + + /// + /// For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match` + /// parameter to the value of the etag from a previous GET or POST response for that resource. The resource + /// will be updated or deleted only if the etag you provide matches the resource's current etag value. + /// + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "if-match")] + public string IfMatch { get; set; } + } +} diff --git a/Database/responses/DisablePluggableDatabaseManagementResponse.cs b/Database/responses/DisablePluggableDatabaseManagementResponse.cs new file mode 100644 index 000000000..4ca81bb90 --- /dev/null +++ b/Database/responses/DisablePluggableDatabaseManagementResponse.cs @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.Runtime.Serialization; +using Oci.DatabaseService.Models; + +namespace Oci.DatabaseService.Responses +{ + public class DisablePluggableDatabaseManagementResponse : Oci.Common.IOciResponse + { + + /// + /// For optimistic concurrency control. See `if-match`. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "etag")] + public string Etag { get; set; } + + + /// + /// The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the work request. Multiple OCID values are returned in a comma-separated list. Use {@link #getWorkRequest(GetWorkRequestRequest) getWorkRequest} with a work request OCID to track the status of the request. + /// + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-work-request-id")] + public string OpcWorkRequestId { get; set; } + + + /// + /// Unique Oracle-assigned identifier for the request. If you need to contact Oracle about + /// a particular request, please provide the request ID. + /// + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-request-id")] + public string OpcRequestId { get; set; } + + /// + /// The returned PluggableDatabase instance. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Body)] + public PluggableDatabase PluggableDatabase { get; set; } + + } +} diff --git a/Database/responses/EnablePluggableDatabaseManagementResponse.cs b/Database/responses/EnablePluggableDatabaseManagementResponse.cs new file mode 100644 index 000000000..64acbede8 --- /dev/null +++ b/Database/responses/EnablePluggableDatabaseManagementResponse.cs @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.Runtime.Serialization; +using Oci.DatabaseService.Models; + +namespace Oci.DatabaseService.Responses +{ + public class EnablePluggableDatabaseManagementResponse : Oci.Common.IOciResponse + { + + /// + /// For optimistic concurrency control. See `if-match`. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "etag")] + public string Etag { get; set; } + + + /// + /// The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the work request. Multiple OCID values are returned in a comma-separated list. Use {@link #getWorkRequest(GetWorkRequestRequest) getWorkRequest} with a work request OCID to track the status of the request. + /// + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-work-request-id")] + public string OpcWorkRequestId { get; set; } + + + /// + /// Unique Oracle-assigned identifier for the request. If you need to contact Oracle about + /// a particular request, please provide the request ID. + /// + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-request-id")] + public string OpcRequestId { get; set; } + + /// + /// The returned PluggableDatabase instance. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Body)] + public PluggableDatabase PluggableDatabase { get; set; } + + } +} diff --git a/Database/responses/ModifyPluggableDatabaseManagementResponse.cs b/Database/responses/ModifyPluggableDatabaseManagementResponse.cs new file mode 100644 index 000000000..1e4857dfc --- /dev/null +++ b/Database/responses/ModifyPluggableDatabaseManagementResponse.cs @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.Runtime.Serialization; +using Oci.DatabaseService.Models; + +namespace Oci.DatabaseService.Responses +{ + public class ModifyPluggableDatabaseManagementResponse : Oci.Common.IOciResponse + { + + /// + /// For optimistic concurrency control. See `if-match`. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "etag")] + public string Etag { get; set; } + + + /// + /// The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the work request. Multiple OCID values are returned in a comma-separated list. Use {@link #getWorkRequest(GetWorkRequestRequest) getWorkRequest} with a work request OCID to track the status of the request. + /// + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-work-request-id")] + public string OpcWorkRequestId { get; set; } + + + /// + /// Unique Oracle-assigned identifier for the request. If you need to contact Oracle about + /// a particular request, please provide the request ID. + /// + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-request-id")] + public string OpcRequestId { get; set; } + + /// + /// The returned PluggableDatabase instance. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Body)] + public PluggableDatabase PluggableDatabase { get; set; } + + } +} diff --git a/Databasemigration/models/Connection.cs b/Databasemigration/models/Connection.cs index 1552e665b..d66469e00 100644 --- a/Databasemigration/models/Connection.cs +++ b/Databasemigration/models/Connection.cs @@ -177,5 +177,12 @@ public class Connection [JsonProperty(PropertyName = "systemTags")] public System.Collections.Generic.Dictionary> SystemTags { get; set; } + /// + /// An array of Network Security Group OCIDs used to define network access for Connections. + /// + /// + [JsonProperty(PropertyName = "nsgIds")] + public System.Collections.Generic.List NsgIds { get; set; } + } } diff --git a/Databasemigration/models/ConnectionSummary.cs b/Databasemigration/models/ConnectionSummary.cs index dd878fb42..0eb319266 100644 --- a/Databasemigration/models/ConnectionSummary.cs +++ b/Databasemigration/models/ConnectionSummary.cs @@ -148,5 +148,12 @@ public class ConnectionSummary [JsonProperty(PropertyName = "systemTags")] public System.Collections.Generic.Dictionary> SystemTags { get; set; } + /// + /// An array of Network Security Group OCIDs used to define network access for Connections. + /// + /// + [JsonProperty(PropertyName = "nsgIds")] + public System.Collections.Generic.List NsgIds { get; set; } + } } diff --git a/Databasemigration/models/CreateConnectionDetails.cs b/Databasemigration/models/CreateConnectionDetails.cs index abfaeb7d8..ff721dcdf 100644 --- a/Databasemigration/models/CreateConnectionDetails.cs +++ b/Databasemigration/models/CreateConnectionDetails.cs @@ -126,5 +126,12 @@ public class CreateConnectionDetails [JsonProperty(PropertyName = "definedTags")] public System.Collections.Generic.Dictionary> DefinedTags { get; set; } + /// + /// An array of Network Security Group OCIDs used to define network access for Connections. + /// + /// + [JsonProperty(PropertyName = "nsgIds")] + public System.Collections.Generic.List NsgIds { get; set; } + } } diff --git a/Databasemigration/models/CreateDirectoryObject.cs b/Databasemigration/models/CreateDirectoryObject.cs index 8380a076a..b2e2ff648 100644 --- a/Databasemigration/models/CreateDirectoryObject.cs +++ b/Databasemigration/models/CreateDirectoryObject.cs @@ -39,10 +39,6 @@ public class CreateDirectoryObject /// Absolute path of directory on database server /// /// - /// - /// Required - /// - [Required(ErrorMessage = "Path is required.")] [JsonProperty(PropertyName = "path")] public string Path { get; set; } diff --git a/Databasemigration/models/PhaseStatus.cs b/Databasemigration/models/PhaseStatus.cs index 83bd702e1..6c8d99eef 100644 --- a/Databasemigration/models/PhaseStatus.cs +++ b/Databasemigration/models/PhaseStatus.cs @@ -64,6 +64,20 @@ public class PhaseStatus [JsonProperty(PropertyName = "isAdvisorReportAvailable")] public System.Nullable IsAdvisorReportAvailable { get; set; } + /// + /// The text describing the root cause of the reported issue + /// + /// + [JsonProperty(PropertyName = "issue")] + public string Issue { get; set; } + + /// + /// The text describing the action required to fix the issue + /// + /// + [JsonProperty(PropertyName = "action")] + public string Action { get; set; } + /// /// Summary of phase status results. /// diff --git a/Databasemigration/models/UpdateConnectionDetails.cs b/Databasemigration/models/UpdateConnectionDetails.cs index 01fc8f553..fda2f332a 100644 --- a/Databasemigration/models/UpdateConnectionDetails.cs +++ b/Databasemigration/models/UpdateConnectionDetails.cs @@ -85,5 +85,12 @@ public class UpdateConnectionDetails [JsonProperty(PropertyName = "definedTags")] public System.Collections.Generic.Dictionary> DefinedTags { get; set; } + /// + /// An array of Network Security Group OCIDs used to define network access for Connections. + /// + /// + [JsonProperty(PropertyName = "nsgIds")] + public System.Collections.Generic.List NsgIds { get; set; } + } } diff --git a/Devops/DevopsClient.cs b/Devops/DevopsClient.cs index 28448275f..fce03631e 100644 --- a/Devops/DevopsClient.cs +++ b/Devops/DevopsClient.cs @@ -235,6 +235,62 @@ public async Task CancelDeployment(CancelDeploymentReq } } + /// + /// Cascading operation that restores Project and child resources from a DELETING state to an active state + /// + /// The request object containing the details to send. Required. + /// The retry configuration that will be used by to send this request. Optional. + /// The cancellation token to cancel this operation. Optional. + /// The completion option for this operation. Optional. + /// A response object containing details about the completed operation + /// Click here to see an example of how to use CancelScheduledCascadingProjectDeletion API. + public async Task CancelScheduledCascadingProjectDeletion(CancelScheduledCascadingProjectDeletionRequest request, RetryConfiguration retryConfiguration = null, CancellationToken cancellationToken = default, HttpCompletionOption completionOption = HttpCompletionOption.ResponseContentRead) + { + logger.Trace("Called cancelScheduledCascadingProjectDeletion"); + Uri uri = new Uri(this.restClient.GetEndpoint(), System.IO.Path.Combine(basePathWithoutHost, "/projects/{projectId}/actions/cancelScheduledCascadingProjectDeletion".Trim('/'))); + HttpMethod method = new HttpMethod("POST"); + HttpRequestMessage requestMessage = Converter.ToHttpRequestMessage(uri, method, request); + requestMessage.Headers.Add("Accept", "application/json"); + GenericRetrier retryingClient = Retrier.GetPreferredRetrier(retryConfiguration, this.retryConfiguration); + HttpResponseMessage responseMessage; + + try + { + Stopwatch stopWatch = new Stopwatch(); + stopWatch.Start(); + if (retryingClient != null) + { + responseMessage = await retryingClient.MakeRetryingCall(this.restClient.HttpSend, requestMessage, completionOption, cancellationToken).ConfigureAwait(false); + } + else + { + responseMessage = await this.restClient.HttpSend(requestMessage, completionOption: completionOption).ConfigureAwait(false); + } + stopWatch.Stop(); + ApiDetails apiDetails = new ApiDetails + { + ServiceName = "Devops", + OperationName = "CancelScheduledCascadingProjectDeletion", + RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/devops/20210630/Project/CancelScheduledCascadingProjectDeletion", + UserAgent = this.GetUserAgent() + }; + this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); + logger.Debug($"Total Latency for this API call is: {stopWatch.ElapsedMilliseconds} ms"); + return Converter.FromHttpResponseMessage(responseMessage); + } + catch (OciException e) + { + logger.Error(e); + throw; + } + catch (Exception e) + { + logger.Error($"CancelScheduledCascadingProjectDeletion failed with error: {e.Message}"); + throw; + } + } + /// /// Moves a project resource from one compartment OCID to another. /// @@ -4241,6 +4297,62 @@ public async Task PutRepositoryRef(PutRepositoryRefReq } } + /// + /// Cascading operation that marks Project and child DevOps resources in a DELETING state for a retention period + /// + /// The request object containing the details to send. Required. + /// The retry configuration that will be used by to send this request. Optional. + /// The cancellation token to cancel this operation. Optional. + /// The completion option for this operation. Optional. + /// A response object containing details about the completed operation + /// Click here to see an example of how to use ScheduleCascadingProjectDeletion API. + public async Task ScheduleCascadingProjectDeletion(ScheduleCascadingProjectDeletionRequest request, RetryConfiguration retryConfiguration = null, CancellationToken cancellationToken = default, HttpCompletionOption completionOption = HttpCompletionOption.ResponseContentRead) + { + logger.Trace("Called scheduleCascadingProjectDeletion"); + Uri uri = new Uri(this.restClient.GetEndpoint(), System.IO.Path.Combine(basePathWithoutHost, "/projects/{projectId}/actions/scheduleCascadingProjectDeletion".Trim('/'))); + HttpMethod method = new HttpMethod("POST"); + HttpRequestMessage requestMessage = Converter.ToHttpRequestMessage(uri, method, request); + requestMessage.Headers.Add("Accept", "application/json"); + GenericRetrier retryingClient = Retrier.GetPreferredRetrier(retryConfiguration, this.retryConfiguration); + HttpResponseMessage responseMessage; + + try + { + Stopwatch stopWatch = new Stopwatch(); + stopWatch.Start(); + if (retryingClient != null) + { + responseMessage = await retryingClient.MakeRetryingCall(this.restClient.HttpSend, requestMessage, completionOption, cancellationToken).ConfigureAwait(false); + } + else + { + responseMessage = await this.restClient.HttpSend(requestMessage, completionOption: completionOption).ConfigureAwait(false); + } + stopWatch.Stop(); + ApiDetails apiDetails = new ApiDetails + { + ServiceName = "Devops", + OperationName = "ScheduleCascadingProjectDeletion", + RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/devops/20210630/Project/ScheduleCascadingProjectDeletion", + UserAgent = this.GetUserAgent() + }; + this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); + logger.Debug($"Total Latency for this API call is: {stopWatch.ElapsedMilliseconds} ms"); + return Converter.FromHttpResponseMessage(responseMessage); + } + catch (OciException e) + { + logger.Error(e); + throw; + } + catch (Exception e) + { + logger.Error($"ScheduleCascadingProjectDeletion failed with error: {e.Message}"); + throw; + } + } + /// /// Updates the build pipeline. /// diff --git a/Devops/models/BuildPipelineSummary.cs b/Devops/models/BuildPipelineSummary.cs index 5cd233749..1bbb0f0ac 100644 --- a/Devops/models/BuildPipelineSummary.cs +++ b/Devops/models/BuildPipelineSummary.cs @@ -75,6 +75,12 @@ public class BuildPipelineSummary [JsonProperty(PropertyName = "timeUpdated")] public System.Nullable TimeUpdated { get; set; } + /// + /// A detailed message describing the current state. For example, can be used to provide actionable information for a resource in Failed state. + /// + [JsonProperty(PropertyName = "lifecycleDetails")] + public string LifecycleDetails { get; set; } + /// /// The current state of the build pipeline. /// diff --git a/Devops/models/BuildRun.cs b/Devops/models/BuildRun.cs index e6a4e0000..e332bbd59 100644 --- a/Devops/models/BuildRun.cs +++ b/Devops/models/BuildRun.cs @@ -99,7 +99,9 @@ public enum LifecycleStateEnum { [EnumMember(Value = "CANCELING")] Canceling, [EnumMember(Value = "CANCELED")] - Canceled + Canceled, + [EnumMember(Value = "DELETING")] + Deleting }; /// diff --git a/Devops/models/Connection.cs b/Devops/models/Connection.cs index 28842b736..cf252f1dd 100644 --- a/Devops/models/Connection.cs +++ b/Devops/models/Connection.cs @@ -95,6 +95,12 @@ public enum ConnectionTypeEnum { /// [JsonProperty(PropertyName = "timeUpdated")] public System.Nullable TimeUpdated { get; set; } + + /// + /// A detailed message describing the current state. For example, can be used to provide actionable information for a resource in Failed state. + /// + [JsonProperty(PropertyName = "lifecycleDetails")] + public string LifecycleDetails { get; set; } /// /// /// The current state of the connection. @@ -102,7 +108,9 @@ public enum ConnectionTypeEnum { /// public enum LifecycleStateEnum { [EnumMember(Value = "ACTIVE")] - Active + Active, + [EnumMember(Value = "DELETING")] + Deleting }; /// diff --git a/Devops/models/ConnectionSummary.cs b/Devops/models/ConnectionSummary.cs index f2a58794c..7d407defa 100644 --- a/Devops/models/ConnectionSummary.cs +++ b/Devops/models/ConnectionSummary.cs @@ -77,6 +77,12 @@ public class ConnectionSummary [JsonProperty(PropertyName = "timeUpdated")] public System.Nullable TimeUpdated { get; set; } + /// + /// A detailed message describing the current state. For example, can be used to provide actionable information for a resource in Failed state. + /// + [JsonProperty(PropertyName = "lifecycleDetails")] + public string LifecycleDetails { get; set; } + /// /// The current state of the connection. /// diff --git a/Devops/models/CreateRepositoryDetails.cs b/Devops/models/CreateRepositoryDetails.cs index d64f49f3a..a521b9174 100644 --- a/Devops/models/CreateRepositoryDetails.cs +++ b/Devops/models/CreateRepositoryDetails.cs @@ -48,7 +48,10 @@ public class CreateRepositoryDetails public string DefaultBranch { get; set; } /// - /// Type of repository. + /// Type of repository. Allowed values: + /// `MIRRORED` + /// `HOSTED` + /// /// /// /// Required diff --git a/Devops/models/DeployPipelineSummary.cs b/Devops/models/DeployPipelineSummary.cs index 5e44a9dae..b562cfcdb 100644 --- a/Devops/models/DeployPipelineSummary.cs +++ b/Devops/models/DeployPipelineSummary.cs @@ -75,6 +75,12 @@ public class DeployPipelineSummary [JsonProperty(PropertyName = "timeUpdated")] public System.Nullable TimeUpdated { get; set; } + /// + /// A message describing the current state in more detail. For example, can be used to provide actionable information for a resource in Failed state. + /// + [JsonProperty(PropertyName = "lifecycleDetails")] + public string LifecycleDetails { get; set; } + /// /// The current state of the deployment pipeline. /// diff --git a/Devops/models/OperationType.cs b/Devops/models/OperationType.cs index e7eda6dbd..2cfa7586a 100644 --- a/Devops/models/OperationType.cs +++ b/Devops/models/OperationType.cs @@ -90,6 +90,10 @@ public enum OperationType { [EnumMember(Value = "DELETE_REPOSITORY")] DeleteRepository, [EnumMember(Value = "MIRROR_REPOSITORY")] - MirrorRepository + MirrorRepository, + [EnumMember(Value = "SCHEDULE_CASCADING_PROJECT_DELETION")] + ScheduleCascadingProjectDeletion, + [EnumMember(Value = "CANCEL_SCHEDULED_CASCADING_PROJECT_DELETION")] + CancelScheduledCascadingProjectDeletion } } diff --git a/Devops/models/Project.cs b/Devops/models/Project.cs index 2aa1395fa..044eee36c 100644 --- a/Devops/models/Project.cs +++ b/Devops/models/Project.cs @@ -101,7 +101,9 @@ public enum LifecycleStateEnum { [EnumMember(Value = "DELETED")] Deleted, [EnumMember(Value = "FAILED")] - Failed + Failed, + [EnumMember(Value = "NEEDS_ATTENTION")] + NeedsAttention }; /// diff --git a/Devops/models/ProjectSummary.cs b/Devops/models/ProjectSummary.cs index 9e504c2b7..188ba248e 100644 --- a/Devops/models/ProjectSummary.cs +++ b/Devops/models/ProjectSummary.cs @@ -79,7 +79,13 @@ public class ProjectSummary public System.Nullable TimeUpdated { get; set; } /// - /// The current state of the deployment. + /// A detailed message describing the current state. For example, can be used to provide actionable information for a resource in Failed state. + /// + [JsonProperty(PropertyName = "lifecycleDetails")] + public string LifecycleDetails { get; set; } + + /// + /// The current state of the project. /// [JsonProperty(PropertyName = "lifecycleState")] [JsonConverter(typeof(StringEnumConverter))] diff --git a/Devops/models/Repository.cs b/Devops/models/Repository.cs index efb438687..b776a3206 100644 --- a/Devops/models/Repository.cs +++ b/Devops/models/Repository.cs @@ -148,7 +148,9 @@ public enum LifecycleStateEnum { [EnumMember(Value = "CREATING")] Creating, [EnumMember(Value = "DELETED")] - Deleted + Deleted, + [EnumMember(Value = "DELETING")] + Deleting }; /// diff --git a/Devops/models/RepositorySummary.cs b/Devops/models/RepositorySummary.cs index e61d68f22..51be8ad46 100644 --- a/Devops/models/RepositorySummary.cs +++ b/Devops/models/RepositorySummary.cs @@ -82,7 +82,10 @@ public class RepositorySummary public string DefaultBranch { get; set; } /// - /// Type of repository. + /// Type of repository. Allowed values: + /// `MIRRORED` + /// `HOSTED` + /// /// [JsonProperty(PropertyName = "repositoryType")] [JsonConverter(typeof(StringEnumConverter))] diff --git a/Devops/models/Trigger.cs b/Devops/models/Trigger.cs index afa61313c..941b7941d 100644 --- a/Devops/models/Trigger.cs +++ b/Devops/models/Trigger.cs @@ -104,7 +104,9 @@ public enum TriggerSourceEnum { /// public enum LifecycleStateEnum { [EnumMember(Value = "ACTIVE")] - Active + Active, + [EnumMember(Value = "DELETING")] + Deleting }; /// diff --git a/Devops/models/UpdateRepositoryDetails.cs b/Devops/models/UpdateRepositoryDetails.cs index ad595d587..8efe7b0c2 100644 --- a/Devops/models/UpdateRepositoryDetails.cs +++ b/Devops/models/UpdateRepositoryDetails.cs @@ -40,7 +40,10 @@ public class UpdateRepositoryDetails public string DefaultBranch { get; set; } /// - /// Type of repository. + /// Type of repository. Allowed values: + /// `MIRRORED` + /// `HOSTED` + /// /// [JsonProperty(PropertyName = "repositoryType")] [JsonConverter(typeof(StringEnumConverter))] diff --git a/Devops/requests/CancelScheduledCascadingProjectDeletionRequest.cs b/Devops/requests/CancelScheduledCascadingProjectDeletionRequest.cs new file mode 100644 index 000000000..bec042de9 --- /dev/null +++ b/Devops/requests/CancelScheduledCascadingProjectDeletionRequest.cs @@ -0,0 +1,50 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Oci.DevopsService.Models; + +namespace Oci.DevopsService.Requests +{ + /// + /// Click here to see an example of how to use CancelScheduledCascadingProjectDeletion request. + /// + public class CancelScheduledCascadingProjectDeletionRequest : Oci.Common.IOciRequest + { + + /// + /// Unique project identifier. + /// + /// + /// Required + /// + [Required(ErrorMessage = "ProjectId is required.")] + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Path, "projectId")] + public string ProjectId { get; set; } + + /// + /// For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match` parameter to the value of the etag from a previous GET or POST response for that resource. The resource will be updated or deleted only if the etag you provide matches the resource's current etag value. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "if-match")] + public string IfMatch { get; set; } + + /// + /// Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, provide the request ID. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-request-id")] + public string OpcRequestId { get; set; } + + /// + /// A token that uniquely identifies a request so it can be retried in case of a timeout or server error without risk of executing that same action again. Retry tokens expire after 24 hours, but can be invalidated earlier due to conflicting operations. For example, if a resource has been deleted and purged from the system, then a retry of the original creation request might be rejected. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-retry-token")] + public string OpcRetryToken { get; set; } + } +} diff --git a/Devops/requests/ListWorkRequestsRequest.cs b/Devops/requests/ListWorkRequestsRequest.cs index 49cbfa321..2d4f33c1d 100644 --- a/Devops/requests/ListWorkRequestsRequest.cs +++ b/Devops/requests/ListWorkRequestsRequest.cs @@ -86,5 +86,11 @@ public enum SortByEnum { /// [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Query, "sortBy")] public System.Nullable SortBy { get; set; } + + /// + /// A filter to return only resources where their Operation Types matches the parameter operation types + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Query, "operationTypeMultiValueQuery", Oci.Common.Http.CollectionFormatType.Multi)] + public System.Collections.Generic.List OperationTypeMultiValueQuery { get; set; } } } diff --git a/Devops/requests/ScheduleCascadingProjectDeletionRequest.cs b/Devops/requests/ScheduleCascadingProjectDeletionRequest.cs new file mode 100644 index 000000000..379f99b5d --- /dev/null +++ b/Devops/requests/ScheduleCascadingProjectDeletionRequest.cs @@ -0,0 +1,50 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Oci.DevopsService.Models; + +namespace Oci.DevopsService.Requests +{ + /// + /// Click here to see an example of how to use ScheduleCascadingProjectDeletion request. + /// + public class ScheduleCascadingProjectDeletionRequest : Oci.Common.IOciRequest + { + + /// + /// Unique project identifier. + /// + /// + /// Required + /// + [Required(ErrorMessage = "ProjectId is required.")] + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Path, "projectId")] + public string ProjectId { get; set; } + + /// + /// For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match` parameter to the value of the etag from a previous GET or POST response for that resource. The resource will be updated or deleted only if the etag you provide matches the resource's current etag value. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "if-match")] + public string IfMatch { get; set; } + + /// + /// Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, provide the request ID. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-request-id")] + public string OpcRequestId { get; set; } + + /// + /// A token that uniquely identifies a request so it can be retried in case of a timeout or server error without risk of executing that same action again. Retry tokens expire after 24 hours, but can be invalidated earlier due to conflicting operations. For example, if a resource has been deleted and purged from the system, then a retry of the original creation request might be rejected. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-retry-token")] + public string OpcRetryToken { get; set; } + } +} diff --git a/Devops/responses/CancelScheduledCascadingProjectDeletionResponse.cs b/Devops/responses/CancelScheduledCascadingProjectDeletionResponse.cs new file mode 100644 index 000000000..187f2664c --- /dev/null +++ b/Devops/responses/CancelScheduledCascadingProjectDeletionResponse.cs @@ -0,0 +1,34 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.Runtime.Serialization; +using Oci.DevopsService.Models; + +namespace Oci.DevopsService.Responses +{ + public class CancelScheduledCascadingProjectDeletionResponse : Oci.Common.IOciResponse + { + + /// + /// Unique Oracle-assigned identifier for the asynchronous request. You can use this to query status of the asynchronous operation. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-work-request-id")] + public string OpcWorkRequestId { get; set; } + + + /// + /// Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, provide the request ID. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-request-id")] + public string OpcRequestId { get; set; } + + + + } +} diff --git a/Devops/responses/ScheduleCascadingProjectDeletionResponse.cs b/Devops/responses/ScheduleCascadingProjectDeletionResponse.cs new file mode 100644 index 000000000..c65193f5b --- /dev/null +++ b/Devops/responses/ScheduleCascadingProjectDeletionResponse.cs @@ -0,0 +1,34 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.Runtime.Serialization; +using Oci.DevopsService.Models; + +namespace Oci.DevopsService.Responses +{ + public class ScheduleCascadingProjectDeletionResponse : Oci.Common.IOciResponse + { + + /// + /// Unique Oracle-assigned identifier for the asynchronous request. You can use this to query status of the asynchronous operation. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-work-request-id")] + public string OpcWorkRequestId { get; set; } + + + /// + /// Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, provide the request ID. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-request-id")] + public string OpcRequestId { get; set; } + + + + } +} diff --git a/Fusionapps/FusionApplicationsClient.cs b/Fusionapps/FusionApplicationsClient.cs index 55ff50a59..739331106 100644 --- a/Fusionapps/FusionApplicationsClient.cs +++ b/Fusionapps/FusionApplicationsClient.cs @@ -635,6 +635,62 @@ public async Task DeleteFusionEnvironment } } + /// + /// Deletes a scheduled RefreshActivity resource by identifier + /// + /// The request object containing the details to send. Required. + /// The retry configuration that will be used by to send this request. Optional. + /// The cancellation token to cancel this operation. Optional. + /// The completion option for this operation. Optional. + /// A response object containing details about the completed operation + /// Click here to see an example of how to use DeleteRefreshActivity API. + public async Task DeleteRefreshActivity(DeleteRefreshActivityRequest request, RetryConfiguration retryConfiguration = null, CancellationToken cancellationToken = default, HttpCompletionOption completionOption = HttpCompletionOption.ResponseContentRead) + { + logger.Trace("Called deleteRefreshActivity"); + Uri uri = new Uri(this.restClient.GetEndpoint(), System.IO.Path.Combine(basePathWithoutHost, "/fusionEnvironments/{fusionEnvironmentId}/refreshActivities/{refreshActivityId}".Trim('/'))); + HttpMethod method = new HttpMethod("DELETE"); + HttpRequestMessage requestMessage = Converter.ToHttpRequestMessage(uri, method, request); + requestMessage.Headers.Add("Accept", "application/json"); + GenericRetrier retryingClient = Retrier.GetPreferredRetrier(retryConfiguration, this.retryConfiguration); + HttpResponseMessage responseMessage; + + try + { + Stopwatch stopWatch = new Stopwatch(); + stopWatch.Start(); + if (retryingClient != null) + { + responseMessage = await retryingClient.MakeRetryingCall(this.restClient.HttpSend, requestMessage, completionOption, cancellationToken).ConfigureAwait(false); + } + else + { + responseMessage = await this.restClient.HttpSend(requestMessage, completionOption: completionOption).ConfigureAwait(false); + } + stopWatch.Stop(); + ApiDetails apiDetails = new ApiDetails + { + ServiceName = "FusionApplications", + OperationName = "DeleteRefreshActivity", + RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/fusion-applications/20211201/RefreshActivity/DeleteRefreshActivity", + UserAgent = this.GetUserAgent() + }; + this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); + logger.Debug($"Total Latency for this API call is: {stopWatch.ElapsedMilliseconds} ms"); + return Converter.FromHttpResponseMessage(responseMessage); + } + catch (OciException e) + { + logger.Error(e); + throw; + } + catch (Exception e) + { + logger.Error($"DeleteRefreshActivity failed with error: {e.Message}"); + throw; + } + } + /// /// Gets a DataMaskingActivity by identifier /// @@ -1988,5 +2044,62 @@ public async Task UpdateFusionEnvironment } } + /// + /// Updates a scheduled RefreshActivity. + /// + /// + /// The request object containing the details to send. Required. + /// The retry configuration that will be used by to send this request. Optional. + /// The cancellation token to cancel this operation. Optional. + /// The completion option for this operation. Optional. + /// A response object containing details about the completed operation + /// Click here to see an example of how to use UpdateRefreshActivity API. + public async Task UpdateRefreshActivity(UpdateRefreshActivityRequest request, RetryConfiguration retryConfiguration = null, CancellationToken cancellationToken = default, HttpCompletionOption completionOption = HttpCompletionOption.ResponseContentRead) + { + logger.Trace("Called updateRefreshActivity"); + Uri uri = new Uri(this.restClient.GetEndpoint(), System.IO.Path.Combine(basePathWithoutHost, "/fusionEnvironments/{fusionEnvironmentId}/refreshActivities/{refreshActivityId}".Trim('/'))); + HttpMethod method = new HttpMethod("PUT"); + HttpRequestMessage requestMessage = Converter.ToHttpRequestMessage(uri, method, request); + requestMessage.Headers.Add("Accept", "application/json"); + GenericRetrier retryingClient = Retrier.GetPreferredRetrier(retryConfiguration, this.retryConfiguration); + HttpResponseMessage responseMessage; + + try + { + Stopwatch stopWatch = new Stopwatch(); + stopWatch.Start(); + if (retryingClient != null) + { + responseMessage = await retryingClient.MakeRetryingCall(this.restClient.HttpSend, requestMessage, completionOption, cancellationToken).ConfigureAwait(false); + } + else + { + responseMessage = await this.restClient.HttpSend(requestMessage, completionOption: completionOption).ConfigureAwait(false); + } + stopWatch.Stop(); + ApiDetails apiDetails = new ApiDetails + { + ServiceName = "FusionApplications", + OperationName = "UpdateRefreshActivity", + RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/fusion-applications/20211201/UpdateRefreshActivityDetails/UpdateRefreshActivity", + UserAgent = this.GetUserAgent() + }; + this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); + logger.Debug($"Total Latency for this API call is: {stopWatch.ElapsedMilliseconds} ms"); + return Converter.FromHttpResponseMessage(responseMessage); + } + catch (OciException e) + { + logger.Error(e); + throw; + } + catch (Exception e) + { + logger.Error($"UpdateRefreshActivity failed with error: {e.Message}"); + throw; + } + } + } } diff --git a/Fusionapps/models/AttachExistingInstanceDetails.cs b/Fusionapps/models/AttachExistingInstanceDetails.cs index 754a6f6d8..bb782b0fc 100644 --- a/Fusionapps/models/AttachExistingInstanceDetails.cs +++ b/Fusionapps/models/AttachExistingInstanceDetails.cs @@ -35,6 +35,10 @@ public enum ServiceInstanceTypeEnum { /// /// Type of the ServiceInstance being attached. /// + /// + /// Required + /// + [Required(ErrorMessage = "ServiceInstanceType is required.")] [JsonProperty(PropertyName = "serviceInstanceType")] [JsonConverter(typeof(StringEnumConverter))] public System.Nullable ServiceInstanceType { get; set; } @@ -42,6 +46,10 @@ public enum ServiceInstanceTypeEnum { /// /// The service instance OCID of the instance being attached /// + /// + /// Required + /// + [Required(ErrorMessage = "InstanceId is required.")] [JsonProperty(PropertyName = "instanceId")] public string InstanceId { get; set; } diff --git a/Fusionapps/models/CreateNewInstanceDetails.cs b/Fusionapps/models/CreateNewInstanceDetails.cs index 5b527bf3c..62eadcbbb 100644 --- a/Fusionapps/models/CreateNewInstanceDetails.cs +++ b/Fusionapps/models/CreateNewInstanceDetails.cs @@ -21,6 +21,10 @@ namespace Oci.FusionappsService.Models public class CreateNewInstanceDetails : CreateServiceAttachmentDetails { + /// + /// Required + /// + [Required(ErrorMessage = "Details is required.")] [JsonProperty(PropertyName = "details")] public CreateServiceInstanceDetails Details { get; set; } diff --git a/Fusionapps/models/CreateOaxServiceInstanceDetails.cs b/Fusionapps/models/CreateOaxServiceInstanceDetails.cs index 06a764236..accbf20b7 100644 --- a/Fusionapps/models/CreateOaxServiceInstanceDetails.cs +++ b/Fusionapps/models/CreateOaxServiceInstanceDetails.cs @@ -24,6 +24,10 @@ public class CreateOaxServiceInstanceDetails : CreateServiceInstanceDetails /// /// A unique Name for Analytics Warehouse. /// + /// + /// Required + /// + [Required(ErrorMessage = "Name is required.")] [JsonProperty(PropertyName = "name")] public string Name { get; set; } @@ -33,9 +37,6 @@ public class CreateOaxServiceInstanceDetails : CreateServiceInstanceDetails [JsonProperty(PropertyName = "description")] public string Description { get; set; } - /// - /// Admin information to provision Analytics Warehouse Servcie - /// [JsonProperty(PropertyName = "FawAdminInfo")] public FawAdminInfoDetails FawAdminInfo { get; set; } diff --git a/Fusionapps/models/CreateRefreshActivityDetails.cs b/Fusionapps/models/CreateRefreshActivityDetails.cs index 86085fdeb..2d1c49219 100644 --- a/Fusionapps/models/CreateRefreshActivityDetails.cs +++ b/Fusionapps/models/CreateRefreshActivityDetails.cs @@ -32,5 +32,11 @@ public class CreateRefreshActivityDetails [JsonProperty(PropertyName = "sourceFusionEnvironmentId")] public string SourceFusionEnvironmentId { get; set; } + /// + /// Current time the refresh activity is scheduled to start. An RFC3339 formatted datetime string. + /// + [JsonProperty(PropertyName = "timeScheduledStart")] + public System.Nullable TimeScheduledStart { get; set; } + } } diff --git a/Fusionapps/models/FawAdminInfoDetails.cs b/Fusionapps/models/FawAdminInfoDetails.cs index 2d49054d4..9b0bddd1c 100644 --- a/Fusionapps/models/FawAdminInfoDetails.cs +++ b/Fusionapps/models/FawAdminInfoDetails.cs @@ -16,7 +16,7 @@ namespace Oci.FusionappsService.Models { /// - /// Admin information to provision Analytics Warehouse Servcie. + /// Admin information to provision Analytics Warehouse Service. /// public class FawAdminInfoDetails { @@ -24,6 +24,10 @@ public class FawAdminInfoDetails /// /// Password for the ADW to be created in User Tenancy /// + /// + /// Required + /// + [Required(ErrorMessage = "AdwAdminPass is required.")] [JsonProperty(PropertyName = "adwAdminPass")] public string AdwAdminPass { get; set; } @@ -36,6 +40,10 @@ public class FawAdminInfoDetails /// /// Email ID to send notification for Analytics Warehouse updates. /// + /// + /// Required + /// + [Required(ErrorMessage = "NotificationEmail is required.")] [JsonProperty(PropertyName = "notificationEmail")] public string NotificationEmail { get; set; } diff --git a/Fusionapps/models/FusionEnvironment.cs b/Fusionapps/models/FusionEnvironment.cs index 5470b484d..17e2e85a2 100644 --- a/Fusionapps/models/FusionEnvironment.cs +++ b/Fusionapps/models/FusionEnvironment.cs @@ -153,6 +153,18 @@ public enum FusionEnvironmentTypeEnum { [JsonProperty(PropertyName = "additionalLanguagePacks")] public System.Collections.Generic.List AdditionalLanguagePacks { get; set; } + /// + /// The lockbox Id of this fusion environment. If there's no lockbox id, this field will be null + /// + [JsonProperty(PropertyName = "lockboxId")] + public string LockboxId { get; set; } + + /// + /// If it's true, then the Break Glass feature is enabled + /// + [JsonProperty(PropertyName = "isBreakGlassEnabled")] + public System.Nullable IsBreakGlassEnabled { get; set; } + [JsonProperty(PropertyName = "refresh")] public RefreshDetails Refresh { get; set; } diff --git a/Fusionapps/models/FusionEnvironmentSummary.cs b/Fusionapps/models/FusionEnvironmentSummary.cs index db54d1fcc..0ebda06f3 100644 --- a/Fusionapps/models/FusionEnvironmentSummary.cs +++ b/Fusionapps/models/FusionEnvironmentSummary.cs @@ -113,6 +113,18 @@ public class FusionEnvironmentSummary [JsonProperty(PropertyName = "additionalLanguagePacks")] public System.Collections.Generic.List AdditionalLanguagePacks { get; set; } + /// + /// The lockbox Id of this fusion environment. If there's no lockbox id, this field will be null + /// + [JsonProperty(PropertyName = "lockboxId")] + public string LockboxId { get; set; } + + /// + /// If it's true, then the Break Glass feature is enabled + /// + [JsonProperty(PropertyName = "isBreakGlassEnabled")] + public System.Nullable IsBreakGlassEnabled { get; set; } + /// /// The time the the FusionEnvironment was created. An RFC3339 formatted datetime string /// diff --git a/Fusionapps/models/RefreshActivity.cs b/Fusionapps/models/RefreshActivity.cs index d992b26ef..1b1d3e5a5 100644 --- a/Fusionapps/models/RefreshActivity.cs +++ b/Fusionapps/models/RefreshActivity.cs @@ -69,6 +69,8 @@ public enum LifecycleStateEnum { Accepted, [EnumMember(Value = "IN_PROGRESS")] InProgress, + [EnumMember(Value = "NEEDS_ATTENTION")] + NeedsAttention, [EnumMember(Value = "FAILED")] Failed, [EnumMember(Value = "SUCCEEDED")] @@ -150,6 +152,12 @@ public enum ServiceAvailabilityEnum { /// [JsonProperty(PropertyName = "timeUpdated")] public System.Nullable TimeUpdated { get; set; } + + /// + /// Details of refresh investigation information, each item represents a different issue. + /// + [JsonProperty(PropertyName = "refreshIssueDetailsList")] + public System.Collections.Generic.List RefreshIssueDetailsList { get; set; } /// /// /// A message describing the current state in more detail. For example, can be used to provide actionable information for a resource in Failed state. diff --git a/Fusionapps/models/RefreshActivitySummary.cs b/Fusionapps/models/RefreshActivitySummary.cs index f4c0152d1..f417ec710 100644 --- a/Fusionapps/models/RefreshActivitySummary.cs +++ b/Fusionapps/models/RefreshActivitySummary.cs @@ -124,5 +124,11 @@ public class RefreshActivitySummary [JsonConverter(typeof(StringEnumConverter))] public System.Nullable LifecycleDetails { get; set; } + /// + /// Details of refresh investigation information, each item represents a different issue. + /// + [JsonProperty(PropertyName = "refreshIssueDetailsList")] + public System.Collections.Generic.List RefreshIssueDetailsList { get; set; } + } } diff --git a/Fusionapps/models/RefreshIssueDetails.cs b/Fusionapps/models/RefreshIssueDetails.cs new file mode 100644 index 000000000..eeba40c54 --- /dev/null +++ b/Fusionapps/models/RefreshIssueDetails.cs @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; + + +namespace Oci.FusionappsService.Models +{ + /// + /// Details of refresh failure or validation failure that needs to be investigated. + /// + public class RefreshIssueDetails + { + + /// + /// Detail reasons of refresh failure or validation failure that needs to be shown to customer. + /// + [JsonProperty(PropertyName = "refreshIssues")] + public string RefreshIssues { get; set; } + + } +} diff --git a/Fusionapps/models/SourceIpAddressCondition.cs b/Fusionapps/models/SourceIpAddressCondition.cs index 2cde23e59..03787bd40 100644 --- a/Fusionapps/models/SourceIpAddressCondition.cs +++ b/Fusionapps/models/SourceIpAddressCondition.cs @@ -28,6 +28,10 @@ public class SourceIpAddressCondition : RuleCondition /// Specify 0.0.0.0/0 or ::/0 to match all incoming traffic. /// Example: "192.168.0.0/16" /// + /// + /// Required + /// + [Required(ErrorMessage = "AttributeValue is required.")] [JsonProperty(PropertyName = "attributeValue")] public string AttributeValue { get; set; } diff --git a/Fusionapps/models/UpdateRefreshActivityDetails.cs b/Fusionapps/models/UpdateRefreshActivityDetails.cs new file mode 100644 index 000000000..10810bf47 --- /dev/null +++ b/Fusionapps/models/UpdateRefreshActivityDetails.cs @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; + + +namespace Oci.FusionappsService.Models +{ + /// + /// The information about scheduled refresh. + /// + public class UpdateRefreshActivityDetails + { + + /// + /// Time the refresh activity is scheduled to start. An RFC3339 formatted datetime string. + /// + [JsonProperty(PropertyName = "timeScheduledStart")] + public System.Nullable TimeScheduledStart { get; set; } + + } +} diff --git a/Fusionapps/models/WorkRequest.cs b/Fusionapps/models/WorkRequest.cs index 841a003a8..a27e27d78 100644 --- a/Fusionapps/models/WorkRequest.cs +++ b/Fusionapps/models/WorkRequest.cs @@ -68,7 +68,9 @@ public enum OperationTypeEnum { [EnumMember(Value = "REFRESH_FUSION_ENVIRONMENT")] RefreshFusionEnvironment, [EnumMember(Value = "EXECUTE_COLD_PATCH")] - ExecuteColdPatch + ExecuteColdPatch, + [EnumMember(Value = "DATA_MASK_FUSION_ENVIRONMENT")] + DataMaskFusionEnvironment }; /// diff --git a/Fusionapps/requests/DeleteRefreshActivityRequest.cs b/Fusionapps/requests/DeleteRefreshActivityRequest.cs new file mode 100644 index 000000000..36c176361 --- /dev/null +++ b/Fusionapps/requests/DeleteRefreshActivityRequest.cs @@ -0,0 +1,59 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Oci.FusionappsService.Models; + +namespace Oci.FusionappsService.Requests +{ + /// + /// Click here to see an example of how to use DeleteRefreshActivity request. + /// + public class DeleteRefreshActivityRequest : Oci.Common.IOciRequest + { + + /// + /// unique FusionEnvironment identifier + /// + /// + /// Required + /// + [Required(ErrorMessage = "FusionEnvironmentId is required.")] + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Path, "fusionEnvironmentId")] + public string FusionEnvironmentId { get; set; } + + /// + /// The unique identifier (OCID) of the Refresh activity. + /// + /// + /// Required + /// + [Required(ErrorMessage = "RefreshActivityId is required.")] + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Path, "refreshActivityId")] + public string RefreshActivityId { get; set; } + + /// + /// For optimistic concurrency control. In the PUT or DELETE call + /// for a resource, set the `if-match` parameter to the value of the + /// etag from a previous GET or POST response for that resource. + /// The resource will be updated or deleted only if the etag you + /// provide matches the resource's current etag value. + /// + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "if-match")] + public string IfMatch { get; set; } + + /// + /// The client request ID for tracing. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-request-id")] + public string OpcRequestId { get; set; } + } +} diff --git a/Fusionapps/requests/UpdateRefreshActivityRequest.cs b/Fusionapps/requests/UpdateRefreshActivityRequest.cs new file mode 100644 index 000000000..35f577807 --- /dev/null +++ b/Fusionapps/requests/UpdateRefreshActivityRequest.cs @@ -0,0 +1,69 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Oci.FusionappsService.Models; + +namespace Oci.FusionappsService.Requests +{ + /// + /// Click here to see an example of how to use UpdateRefreshActivity request. + /// + public class UpdateRefreshActivityRequest : Oci.Common.IOciRequest + { + + /// + /// unique FusionEnvironment identifier + /// + /// + /// Required + /// + [Required(ErrorMessage = "FusionEnvironmentId is required.")] + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Path, "fusionEnvironmentId")] + public string FusionEnvironmentId { get; set; } + + /// + /// The unique identifier (OCID) of the Refresh activity. + /// + /// + /// Required + /// + [Required(ErrorMessage = "RefreshActivityId is required.")] + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Path, "refreshActivityId")] + public string RefreshActivityId { get; set; } + + /// + /// Details for the updating scheduled RefreshActivity. + /// + /// + /// Required + /// + [Required(ErrorMessage = "UpdateRefreshActivityDetails is required.")] + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Body)] + public UpdateRefreshActivityDetails UpdateRefreshActivityDetails { get; set; } + + /// + /// The client request ID for tracing. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-request-id")] + public string OpcRequestId { get; set; } + + /// + /// For optimistic concurrency control. In the PUT or DELETE call + /// for a resource, set the `if-match` parameter to the value of the + /// etag from a previous GET or POST response for that resource. + /// The resource will be updated or deleted only if the etag you + /// provide matches the resource's current etag value. + /// + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "if-match")] + public string IfMatch { get; set; } + } +} diff --git a/Fusionapps/responses/DeleteRefreshActivityResponse.cs b/Fusionapps/responses/DeleteRefreshActivityResponse.cs new file mode 100644 index 000000000..a6c0a7e35 --- /dev/null +++ b/Fusionapps/responses/DeleteRefreshActivityResponse.cs @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.Runtime.Serialization; +using Oci.FusionappsService.Models; + +namespace Oci.FusionappsService.Responses +{ + public class DeleteRefreshActivityResponse : Oci.Common.IOciResponse + { + + /// + /// Unique Oracle-assigned identifier for the asynchronous request. You can use this to query status of the asynchronous operation. + /// + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-work-request-id")] + public string OpcWorkRequestId { get; set; } + + + /// + /// Unique Oracle-assigned identifier for the request. If you need to contact + /// Oracle about a particular request, please provide the request ID. + /// + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-request-id")] + public string OpcRequestId { get; set; } + + + + } +} diff --git a/Fusionapps/responses/UpdateRefreshActivityResponse.cs b/Fusionapps/responses/UpdateRefreshActivityResponse.cs new file mode 100644 index 000000000..d70025355 --- /dev/null +++ b/Fusionapps/responses/UpdateRefreshActivityResponse.cs @@ -0,0 +1,41 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.Runtime.Serialization; +using Oci.FusionappsService.Models; + +namespace Oci.FusionappsService.Responses +{ + public class UpdateRefreshActivityResponse : Oci.Common.IOciResponse + { + + /// + /// For optimistic concurrency control. See `if-match`. + /// + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "etag")] + public string Etag { get; set; } + + + /// + /// Unique Oracle-assigned identifier for the request. If you need to contact + /// Oracle about a particular request, please provide the request ID. + /// + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-request-id")] + public string OpcRequestId { get; set; } + + /// + /// The returned RefreshActivity instance. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Body)] + public RefreshActivity RefreshActivity { get; set; } + + } +} diff --git a/Goldengate/models/AzureDataLakeStorageConnection.cs b/Goldengate/models/AzureDataLakeStorageConnection.cs new file mode 100644 index 000000000..9d858b266 --- /dev/null +++ b/Goldengate/models/AzureDataLakeStorageConnection.cs @@ -0,0 +1,115 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; + + +namespace Oci.GoldengateService.Models +{ + /// + /// Represents the metadata of a Azure Data Lake Storage Connection. + /// + /// + public class AzureDataLakeStorageConnection : Connection + { + /// + /// + /// The Azure Data Lake Storage technology type. + /// + /// + public enum TechnologyTypeEnum { + /// This value is used if a service returns a value for this enum that is not recognized by this version of the SDK. + [EnumMember(Value = null)] + UnknownEnumValue, + [EnumMember(Value = "AZURE_DATA_LAKE_STORAGE")] + AzureDataLakeStorage + }; + + /// + /// The Azure Data Lake Storage technology type. + /// + /// + /// Required + /// + [Required(ErrorMessage = "TechnologyType is required.")] + [JsonProperty(PropertyName = "technologyType")] + [JsonConverter(typeof(Oci.Common.Utils.ResponseEnumConverter))] + public System.Nullable TechnologyType { get; set; } + /// + /// + /// Used authentication mechanism to access Azure Data Lake Storage. + /// + /// + /// + public enum AuthenticationTypeEnum { + /// This value is used if a service returns a value for this enum that is not recognized by this version of the SDK. + [EnumMember(Value = null)] + UnknownEnumValue, + [EnumMember(Value = "SHARED_KEY")] + SharedKey, + [EnumMember(Value = "SHARED_ACCESS_SIGNATURE")] + SharedAccessSignature, + [EnumMember(Value = "AZURE_ACTIVE_DIRECTORY")] + AzureActiveDirectory + }; + + /// + /// Used authentication mechanism to access Azure Data Lake Storage. + /// + /// + /// + /// Required + /// + [Required(ErrorMessage = "AuthenticationType is required.")] + [JsonProperty(PropertyName = "authenticationType")] + [JsonConverter(typeof(Oci.Common.Utils.ResponseEnumConverter))] + public System.Nullable AuthenticationType { get; set; } + + /// + /// Sets the Azure storage account name. + /// + /// + /// + /// Required + /// + [Required(ErrorMessage = "AccountName is required.")] + [JsonProperty(PropertyName = "accountName")] + public string AccountName { get; set; } + + /// + /// Azure tenant ID of the application. This property is required when 'authenticationType' is set to 'AZURE_ACTIVE_DIRECTORY'. + /// e.g.: 14593954-d337-4a61-a364-9f758c64f97f + /// + /// + [JsonProperty(PropertyName = "azureTenantId")] + public string AzureTenantId { get; set; } + + /// + /// Azure client ID of the application. This property is required when 'authenticationType' is set to 'AZURE_ACTIVE_DIRECTORY'. + /// e.g.: 06ecaabf-8b80-4ec8-a0ec-20cbf463703d + /// + /// + [JsonProperty(PropertyName = "clientId")] + public string ClientId { get; set; } + + /// + /// Azure Storage service endpoint. + /// e.g: https://test.blob.core.windows.net + /// + /// + [JsonProperty(PropertyName = "endpoint")] + public string Endpoint { get; set; } + + [JsonProperty(PropertyName = "connectionType")] + private readonly string connectionType = "AZURE_DATA_LAKE_STORAGE"; + } +} diff --git a/Goldengate/models/AzureDataLakeStorageConnectionSummary.cs b/Goldengate/models/AzureDataLakeStorageConnectionSummary.cs new file mode 100644 index 000000000..138327fcb --- /dev/null +++ b/Goldengate/models/AzureDataLakeStorageConnectionSummary.cs @@ -0,0 +1,86 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; + + +namespace Oci.GoldengateService.Models +{ + /// + /// Summary of the Azure Data Lake Storage Connection. + /// + /// + public class AzureDataLakeStorageConnectionSummary : ConnectionSummary + { + + /// + /// The Azure Data Lake Storage technology type. + /// + /// + /// Required + /// + [Required(ErrorMessage = "TechnologyType is required.")] + [JsonProperty(PropertyName = "technologyType")] + [JsonConverter(typeof(StringEnumConverter))] + public System.Nullable TechnologyType { get; set; } + + /// + /// Used authentication mechanism to access Azure Data Lake Storage. + /// + /// + /// + /// Required + /// + [Required(ErrorMessage = "AuthenticationType is required.")] + [JsonProperty(PropertyName = "authenticationType")] + [JsonConverter(typeof(StringEnumConverter))] + public System.Nullable AuthenticationType { get; set; } + + /// + /// Sets the Azure storage account name. + /// + /// + /// + /// Required + /// + [Required(ErrorMessage = "AccountName is required.")] + [JsonProperty(PropertyName = "accountName")] + public string AccountName { get; set; } + + /// + /// Azure tenant ID of the application. This property is required when 'authenticationType' is set to 'AZURE_ACTIVE_DIRECTORY'. + /// e.g.: 14593954-d337-4a61-a364-9f758c64f97f + /// + /// + [JsonProperty(PropertyName = "azureTenantId")] + public string AzureTenantId { get; set; } + + /// + /// Azure client ID of the application. This property is required when 'authenticationType' is set to 'AZURE_ACTIVE_DIRECTORY'. + /// e.g.: 06ecaabf-8b80-4ec8-a0ec-20cbf463703d + /// + /// + [JsonProperty(PropertyName = "clientId")] + public string ClientId { get; set; } + + /// + /// Azure Storage service endpoint. + /// e.g: https://test.blob.core.windows.net + /// + /// + [JsonProperty(PropertyName = "endpoint")] + public string Endpoint { get; set; } + + [JsonProperty(PropertyName = "connectionType")] + private readonly string connectionType = "AZURE_DATA_LAKE_STORAGE"; + } +} diff --git a/Goldengate/models/AzureSynapseConnection.cs b/Goldengate/models/AzureSynapseConnection.cs new file mode 100644 index 000000000..4cf1d6c7c --- /dev/null +++ b/Goldengate/models/AzureSynapseConnection.cs @@ -0,0 +1,76 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; + + +namespace Oci.GoldengateService.Models +{ + /// + /// Represents the metadata of a Azure Synapse Analytics Connection. + /// + /// + public class AzureSynapseConnection : Connection + { + /// + /// + /// The Azure Synapse Analytics technology type. + /// + /// + public enum TechnologyTypeEnum { + /// This value is used if a service returns a value for this enum that is not recognized by this version of the SDK. + [EnumMember(Value = null)] + UnknownEnumValue, + [EnumMember(Value = "AZURE_SYNAPSE_ANALYTICS")] + AzureSynapseAnalytics + }; + + /// + /// The Azure Synapse Analytics technology type. + /// + /// + /// Required + /// + [Required(ErrorMessage = "TechnologyType is required.")] + [JsonProperty(PropertyName = "technologyType")] + [JsonConverter(typeof(Oci.Common.Utils.ResponseEnumConverter))] + public System.Nullable TechnologyType { get; set; } + + /// + /// JDBC connection string. + /// e.g.: 'jdbc:sqlserver://.sql.azuresynapse.net:1433;database=;encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.sql.azuresynapse.net;loginTimeout=300;' + /// + /// + /// + /// Required + /// + [Required(ErrorMessage = "ConnectionString is required.")] + [JsonProperty(PropertyName = "connectionString")] + public string ConnectionString { get; set; } + + /// + /// The username Oracle GoldenGate uses to connect the associated RDBMS. This username must + /// already exist and be available for use by the database. It must conform to the security + /// requirements implemented by the database including length, case sensitivity, and so on. + /// + /// + /// + /// Required + /// + [Required(ErrorMessage = "Username is required.")] + [JsonProperty(PropertyName = "username")] + public string Username { get; set; } + + [JsonProperty(PropertyName = "connectionType")] + private readonly string connectionType = "AZURE_SYNAPSE_ANALYTICS"; + } +} diff --git a/Goldengate/models/AzureSynapseConnectionSummary.cs b/Goldengate/models/AzureSynapseConnectionSummary.cs new file mode 100644 index 000000000..d5489121e --- /dev/null +++ b/Goldengate/models/AzureSynapseConnectionSummary.cs @@ -0,0 +1,64 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; + + +namespace Oci.GoldengateService.Models +{ + /// + /// Summary of the Azure Synapse Analytics Connection. + /// + /// + public class AzureSynapseConnectionSummary : ConnectionSummary + { + + /// + /// The Azure Synapse Analytics technology type. + /// + /// + /// Required + /// + [Required(ErrorMessage = "TechnologyType is required.")] + [JsonProperty(PropertyName = "technologyType")] + [JsonConverter(typeof(StringEnumConverter))] + public System.Nullable TechnologyType { get; set; } + + /// + /// JDBC connection string. + /// e.g.: 'jdbc:sqlserver://.sql.azuresynapse.net:1433;database=;encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.sql.azuresynapse.net;loginTimeout=300;' + /// + /// + /// + /// Required + /// + [Required(ErrorMessage = "ConnectionString is required.")] + [JsonProperty(PropertyName = "connectionString")] + public string ConnectionString { get; set; } + + /// + /// The username Oracle GoldenGate uses to connect the associated RDBMS. This username must + /// already exist and be available for use by the database. It must conform to the security + /// requirements implemented by the database including length, case sensitivity, and so on. + /// + /// + /// + /// Required + /// + [Required(ErrorMessage = "Username is required.")] + [JsonProperty(PropertyName = "username")] + public string Username { get; set; } + + [JsonProperty(PropertyName = "connectionType")] + private readonly string connectionType = "AZURE_SYNAPSE_ANALYTICS"; + } +} diff --git a/Goldengate/models/Connection.cs b/Goldengate/models/Connection.cs index b4bb8c82d..44e9daf30 100644 --- a/Goldengate/models/Connection.cs +++ b/Goldengate/models/Connection.cs @@ -225,9 +225,15 @@ public override object ReadJson(JsonReader reader, System.Type objectType, objec case "KAFKA": obj = new KafkaConnection(); break; + case "POSTGRESQL": + obj = new PostgresqlConnection(); + break; case "OCI_OBJECT_STORAGE": obj = new OciObjectStorageConnection(); break; + case "KAFKA_SCHEMA_REGISTRY": + obj = new KafkaSchemaRegistryConnection(); + break; case "GOLDENGATE": obj = new GoldenGateConnection(); break; @@ -237,6 +243,12 @@ public override object ReadJson(JsonReader reader, System.Type objectType, objec case "ORACLE": obj = new OracleConnection(); break; + case "AZURE_DATA_LAKE_STORAGE": + obj = new AzureDataLakeStorageConnection(); + break; + case "AZURE_SYNAPSE_ANALYTICS": + obj = new AzureSynapseConnection(); + break; } if (obj != null) { diff --git a/Goldengate/models/ConnectionSummary.cs b/Goldengate/models/ConnectionSummary.cs index 2b024b768..47e17194b 100644 --- a/Goldengate/models/ConnectionSummary.cs +++ b/Goldengate/models/ConnectionSummary.cs @@ -205,6 +205,12 @@ public override object ReadJson(JsonReader reader, System.Type objectType, objec case "GOLDENGATE": obj = new GoldenGateConnectionSummary(); break; + case "KAFKA_SCHEMA_REGISTRY": + obj = new KafkaSchemaRegistryConnectionSummary(); + break; + case "POSTGRESQL": + obj = new PostgresqlConnectionSummary(); + break; case "ORACLE": obj = new OracleConnectionSummary(); break; @@ -217,6 +223,12 @@ public override object ReadJson(JsonReader reader, System.Type objectType, objec case "OCI_OBJECT_STORAGE": obj = new OciObjectStorageConnectionSummary(); break; + case "AZURE_DATA_LAKE_STORAGE": + obj = new AzureDataLakeStorageConnectionSummary(); + break; + case "AZURE_SYNAPSE_ANALYTICS": + obj = new AzureSynapseConnectionSummary(); + break; } if (obj != null) { diff --git a/Goldengate/models/ConnectionType.cs b/Goldengate/models/ConnectionType.cs index 8f36d67c8..f8f00b628 100644 --- a/Goldengate/models/ConnectionType.cs +++ b/Goldengate/models/ConnectionType.cs @@ -24,11 +24,19 @@ public enum ConnectionType { Goldengate, [EnumMember(Value = "KAFKA")] Kafka, + [EnumMember(Value = "KAFKA_SCHEMA_REGISTRY")] + KafkaSchemaRegistry, [EnumMember(Value = "MYSQL")] Mysql, [EnumMember(Value = "OCI_OBJECT_STORAGE")] OciObjectStorage, [EnumMember(Value = "ORACLE")] - Oracle + Oracle, + [EnumMember(Value = "AZURE_DATA_LAKE_STORAGE")] + AzureDataLakeStorage, + [EnumMember(Value = "POSTGRESQL")] + Postgresql, + [EnumMember(Value = "AZURE_SYNAPSE_ANALYTICS")] + AzureSynapseAnalytics } } diff --git a/Goldengate/models/CreateAzureDataLakeStorageConnectionDetails.cs b/Goldengate/models/CreateAzureDataLakeStorageConnectionDetails.cs new file mode 100644 index 000000000..b4883c9bd --- /dev/null +++ b/Goldengate/models/CreateAzureDataLakeStorageConnectionDetails.cs @@ -0,0 +1,111 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; + + +namespace Oci.GoldengateService.Models +{ + /// + /// The information about a new Azure Data Lake Storage Connection. + /// + /// + public class CreateAzureDataLakeStorageConnectionDetails : CreateConnectionDetails + { + + /// + /// The Azure Data Lake Storage technology type. + /// + /// + /// Required + /// + [Required(ErrorMessage = "TechnologyType is required.")] + [JsonProperty(PropertyName = "technologyType")] + [JsonConverter(typeof(StringEnumConverter))] + public System.Nullable TechnologyType { get; set; } + + /// + /// Used authentication mechanism to access Azure Data Lake Storage. + /// + /// + /// + /// Required + /// + [Required(ErrorMessage = "AuthenticationType is required.")] + [JsonProperty(PropertyName = "authenticationType")] + [JsonConverter(typeof(StringEnumConverter))] + public System.Nullable AuthenticationType { get; set; } + + /// + /// Sets the Azure storage account name. + /// + /// + /// + /// Required + /// + [Required(ErrorMessage = "AccountName is required.")] + [JsonProperty(PropertyName = "accountName")] + public string AccountName { get; set; } + + /// + /// Azure storage account key. This property is required when 'authenticationType' is set to 'SHARED_KEY'. + /// e.g.: pa3WbhVATzj56xD4DH1VjOUhApRGEGHvOo58eQJVWIzX+j8j4CUVFcTjpIqDSRaSa1Wo2LbWY5at+AStEgLOIQ== + /// + /// + [JsonProperty(PropertyName = "accountKey")] + public string AccountKey { get; set; } + + /// + /// Credential that uses a shared access signature (SAS) to authenticate to an Azure Service. This property is + /// required when 'authenticationType' is set to 'SHARED_ACCESS_SIGNATURE'. + /// e.g.: ?sv=2020-06-08&ss=bfqt&srt=sco&sp=rwdlacupyx&se=2020-09-10T20:27:28Z&st=2022-08-05T12:27:28Z&spr=https&sig=C1IgHsiLBmTSStYkXXGLTP8it0xBrArcgCqOsZbXwIQ%3D + /// + /// + [JsonProperty(PropertyName = "sasToken")] + public string SasToken { get; set; } + + /// + /// Azure tenant ID of the application. This property is required when 'authenticationType' is set to 'AZURE_ACTIVE_DIRECTORY'. + /// e.g.: 14593954-d337-4a61-a364-9f758c64f97f + /// + /// + [JsonProperty(PropertyName = "azureTenantId")] + public string AzureTenantId { get; set; } + + /// + /// Azure client ID of the application. This property is required when 'authenticationType' is set to 'AZURE_ACTIVE_DIRECTORY'. + /// e.g.: 06ecaabf-8b80-4ec8-a0ec-20cbf463703d + /// + /// + [JsonProperty(PropertyName = "clientId")] + public string ClientId { get; set; } + + /// + /// Azure client secret (aka application password) for authentication. This property is required when 'authenticationType' is set to 'AZURE_ACTIVE_DIRECTORY'. + /// e.g.: dO29Q~F5-VwnA.lZdd11xFF_t5NAXCaGwDl9NbT1 + /// + /// + [JsonProperty(PropertyName = "clientSecret")] + public string ClientSecret { get; set; } + + /// + /// Azure Storage service endpoint. + /// e.g: https://test.blob.core.windows.net + /// + /// + [JsonProperty(PropertyName = "endpoint")] + public string Endpoint { get; set; } + + [JsonProperty(PropertyName = "connectionType")] + private readonly string connectionType = "AZURE_DATA_LAKE_STORAGE"; + } +} diff --git a/Goldengate/models/CreateAzureSynapseConnectionDetails.cs b/Goldengate/models/CreateAzureSynapseConnectionDetails.cs new file mode 100644 index 000000000..8b69a244b --- /dev/null +++ b/Goldengate/models/CreateAzureSynapseConnectionDetails.cs @@ -0,0 +1,77 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; + + +namespace Oci.GoldengateService.Models +{ + /// + /// The information about a new Azure Synapse Analytics Connection. + /// + /// + public class CreateAzureSynapseConnectionDetails : CreateConnectionDetails + { + + /// + /// The Azure Synapse Analytics technology type. + /// + /// + /// Required + /// + [Required(ErrorMessage = "TechnologyType is required.")] + [JsonProperty(PropertyName = "technologyType")] + [JsonConverter(typeof(StringEnumConverter))] + public System.Nullable TechnologyType { get; set; } + + /// + /// JDBC connection string. + /// e.g.: 'jdbc:sqlserver://.sql.azuresynapse.net:1433;database=;encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.sql.azuresynapse.net;loginTimeout=300;' + /// + /// + /// + /// Required + /// + [Required(ErrorMessage = "ConnectionString is required.")] + [JsonProperty(PropertyName = "connectionString")] + public string ConnectionString { get; set; } + + /// + /// The username Oracle GoldenGate uses to connect the associated RDBMS. This username must + /// already exist and be available for use by the database. It must conform to the security + /// requirements implemented by the database including length, case sensitivity, and so on. + /// + /// + /// + /// Required + /// + [Required(ErrorMessage = "Username is required.")] + [JsonProperty(PropertyName = "username")] + public string Username { get; set; } + + /// + /// The password Oracle GoldenGate uses to connect the associated RDBMS. It must conform to the + /// specific security requirements implemented by the database including length, case + /// sensitivity, and so on. + /// + /// + /// + /// Required + /// + [Required(ErrorMessage = "Password is required.")] + [JsonProperty(PropertyName = "password")] + public string Password { get; set; } + + [JsonProperty(PropertyName = "connectionType")] + private readonly string connectionType = "AZURE_SYNAPSE_ANALYTICS"; + } +} diff --git a/Goldengate/models/CreateConnectionDetails.cs b/Goldengate/models/CreateConnectionDetails.cs index d53c24054..5114acce5 100644 --- a/Goldengate/models/CreateConnectionDetails.cs +++ b/Goldengate/models/CreateConnectionDetails.cs @@ -128,6 +128,18 @@ public override object ReadJson(JsonReader reader, System.Type objectType, objec var discriminator = jsonObject["connectionType"].Value(); switch (discriminator) { + case "POSTGRESQL": + obj = new CreatePostgresqlConnectionDetails(); + break; + case "KAFKA_SCHEMA_REGISTRY": + obj = new CreateKafkaSchemaRegistryConnectionDetails(); + break; + case "AZURE_SYNAPSE_ANALYTICS": + obj = new CreateAzureSynapseConnectionDetails(); + break; + case "AZURE_DATA_LAKE_STORAGE": + obj = new CreateAzureDataLakeStorageConnectionDetails(); + break; case "MYSQL": obj = new CreateMysqlConnectionDetails(); break; diff --git a/Goldengate/models/CreateKafkaConnectionDetails.cs b/Goldengate/models/CreateKafkaConnectionDetails.cs index 667c2abd7..b695d31fe 100644 --- a/Goldengate/models/CreateKafkaConnectionDetails.cs +++ b/Goldengate/models/CreateKafkaConnectionDetails.cs @@ -105,7 +105,7 @@ public class CreateKafkaConnectionDetails : CreateConnectionDetails public string KeyStorePassword { get; set; } /// - /// The password for the cert inside of of the KeyStore. + /// The password for the cert inside of the KeyStore. /// In case it differs from the KeyStore password, it should be provided. /// /// diff --git a/Goldengate/models/CreateKafkaSchemaRegistryConnectionDetails.cs b/Goldengate/models/CreateKafkaSchemaRegistryConnectionDetails.cs new file mode 100644 index 000000000..7af651424 --- /dev/null +++ b/Goldengate/models/CreateKafkaSchemaRegistryConnectionDetails.cs @@ -0,0 +1,127 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; + + +namespace Oci.GoldengateService.Models +{ + /// + /// The information about a new Kafka (e.g. Confluent) Schema Registry Connection. + /// + /// + public class CreateKafkaSchemaRegistryConnectionDetails : CreateConnectionDetails + { + + /// + /// The Kafka (e.g. Confluent) Schema Registry technology type. + /// + /// + /// + /// Required + /// + [Required(ErrorMessage = "TechnologyType is required.")] + [JsonProperty(PropertyName = "technologyType")] + [JsonConverter(typeof(StringEnumConverter))] + public System.Nullable TechnologyType { get; set; } + + /// + /// Kafka Schema Registry URL. + /// e.g.: 'https://server1.us.oracle.com:8081' + /// + /// + /// + /// Required + /// + [Required(ErrorMessage = "Url is required.")] + [JsonProperty(PropertyName = "url")] + public string Url { get; set; } + + /// + /// Used authentication mechanism to access Schema Registry. + /// + /// + /// + /// Required + /// + [Required(ErrorMessage = "AuthenticationType is required.")] + [JsonProperty(PropertyName = "authenticationType")] + [JsonConverter(typeof(StringEnumConverter))] + public System.Nullable AuthenticationType { get; set; } + + /// + /// The username to access Schema Registry using basic authentation. + /// This value is injected into 'schema.registry.basic.auth.user.info=user:password' configuration property. + /// + /// + [JsonProperty(PropertyName = "username")] + public string Username { get; set; } + + /// + /// The password to access Schema Registry using basic authentation. + /// This value is injected into 'schema.registry.basic.auth.user.info=user:password' configuration property. + /// + /// + [JsonProperty(PropertyName = "password")] + public string Password { get; set; } + + /// + /// The base64 encoded content of the TrustStore file. + /// + /// + [JsonProperty(PropertyName = "trustStore")] + public string TrustStore { get; set; } + + /// + /// The TrustStore password. + /// + /// + [JsonProperty(PropertyName = "trustStorePassword")] + public string TrustStorePassword { get; set; } + + /// + /// The base64 encoded content of the KeyStore file. + /// + /// + [JsonProperty(PropertyName = "keyStore")] + public string KeyStore { get; set; } + + /// + /// The KeyStore password. + /// + /// + [JsonProperty(PropertyName = "keyStorePassword")] + public string KeyStorePassword { get; set; } + + /// + /// The password for the cert inside the KeyStore. + /// In case it differs from the KeyStore password, it should be provided. + /// + /// + [JsonProperty(PropertyName = "sslKeyPassword")] + public string SslKeyPassword { get; set; } + + /// + /// The private IP address of the connection's endpoint in the customer's VCN, typically a + /// database endpoint or a big data endpoint (e.g. Kafka bootstrap server). + /// In case the privateIp is provided, the subnetId must also be provided. + /// In case the privateIp (and the subnetId) is not provided it is assumed the datasource is publicly accessible. + /// In case the connection is accessible only privately, the lack of privateIp will result in not being able to access the connection. + /// + /// + [JsonProperty(PropertyName = "privateIp")] + public string PrivateIp { get; set; } + + [JsonProperty(PropertyName = "connectionType")] + private readonly string connectionType = "KAFKA_SCHEMA_REGISTRY"; + } +} diff --git a/Goldengate/models/CreateOciObjectStorageConnectionDetails.cs b/Goldengate/models/CreateOciObjectStorageConnectionDetails.cs index 89a1cb68b..2d18cefd3 100644 --- a/Goldengate/models/CreateOciObjectStorageConnectionDetails.cs +++ b/Goldengate/models/CreateOciObjectStorageConnectionDetails.cs @@ -67,6 +67,13 @@ public class CreateOciObjectStorageConnectionDetails : CreateConnectionDetails [JsonProperty(PropertyName = "privateKeyFile")] public string PrivateKeyFile { get; set; } + /// + /// The passphrase of the private key. + /// + /// + [JsonProperty(PropertyName = "privateKeyPassphrase")] + public string PrivateKeyPassphrase { get; set; } + /// /// The fingerprint of the API Key of the user specified by the userId. /// See documentation: https://docs.oracle.com/en-us/iaas/Content/Identity/Tasks/managingcredentials.htm diff --git a/Goldengate/models/CreateOggDeploymentDetails.cs b/Goldengate/models/CreateOggDeploymentDetails.cs index 4946fe836..c37368568 100644 --- a/Goldengate/models/CreateOggDeploymentDetails.cs +++ b/Goldengate/models/CreateOggDeploymentDetails.cs @@ -49,6 +49,7 @@ public class CreateOggDeploymentDetails /// The password associated with the GoldenGate deployment console username. /// The password must be 8 to 30 characters long and must contain at least 1 uppercase, 1 lowercase, 1 numeric, /// and 1 special character. Special characters such as \u2018$\u2019, \u2018^\u2019, or \u2018?\u2019 are not allowed. + /// This field will be deprecated and replaced by \"passwordSecretId\". /// /// /// diff --git a/Goldengate/models/CreatePostgresqlConnectionDetails.cs b/Goldengate/models/CreatePostgresqlConnectionDetails.cs new file mode 100644 index 000000000..06ee6aea2 --- /dev/null +++ b/Goldengate/models/CreatePostgresqlConnectionDetails.cs @@ -0,0 +1,163 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; + + +namespace Oci.GoldengateService.Models +{ + /// + /// The information about a new PostgreSQL Connection. + /// + /// + public class CreatePostgresqlConnectionDetails : CreateConnectionDetails + { + + /// + /// The PostgreSQL technology type. + /// + /// + /// Required + /// + [Required(ErrorMessage = "TechnologyType is required.")] + [JsonProperty(PropertyName = "technologyType")] + [JsonConverter(typeof(StringEnumConverter))] + public System.Nullable TechnologyType { get; set; } + + /// + /// The name of the database. + /// + /// + /// + /// Required + /// + [Required(ErrorMessage = "DatabaseName is required.")] + [JsonProperty(PropertyName = "databaseName")] + public string DatabaseName { get; set; } + + /// + /// The name or address of a host. + /// + /// + /// + /// Required + /// + [Required(ErrorMessage = "Host is required.")] + [JsonProperty(PropertyName = "host")] + public string Host { get; set; } + + /// + /// The port of an endpoint usually specified for a connection. + /// + /// + /// + /// Required + /// + [Required(ErrorMessage = "Port is required.")] + [JsonProperty(PropertyName = "port")] + public System.Nullable Port { get; set; } + + /// + /// The username Oracle GoldenGate uses to connect the associated RDBMS. This username must + /// already exist and be available for use by the database. It must conform to the security + /// requirements implemented by the database including length, case sensitivity, and so on. + /// + /// + /// + /// Required + /// + [Required(ErrorMessage = "Username is required.")] + [JsonProperty(PropertyName = "username")] + public string Username { get; set; } + + /// + /// The password Oracle GoldenGate uses to connect the associated RDBMS. It must conform to the + /// specific security requirements implemented by the database including length, case + /// sensitivity, and so on. + /// + /// + /// + /// Required + /// + [Required(ErrorMessage = "Password is required.")] + [JsonProperty(PropertyName = "password")] + public string Password { get; set; } + + /// + /// An array of name-value pair attribute entries. + /// Used as additional parameters in connection string. + /// + /// + [JsonProperty(PropertyName = "additionalAttributes")] + public System.Collections.Generic.List AdditionalAttributes { get; set; } + + /// + /// Security protocol for PostgreSQL. + /// + /// + /// Required + /// + [Required(ErrorMessage = "SecurityProtocol is required.")] + [JsonProperty(PropertyName = "securityProtocol")] + [JsonConverter(typeof(StringEnumConverter))] + public System.Nullable SecurityProtocol { get; set; } + + /// + /// SSL modes for PostgreSQL. + /// + [JsonProperty(PropertyName = "sslMode")] + [JsonConverter(typeof(StringEnumConverter))] + public System.Nullable SslMode { get; set; } + + /// + /// The base64 encoded certificate of the trusted certificate authorities (Trusted CA) for PostgreSQL. + /// + /// + [JsonProperty(PropertyName = "sslCa")] + public string SslCa { get; set; } + + /// + /// The base64 encoded list of certificates revoked by the trusted certificate authorities (Trusted CA) for PostgreSQL. + /// + /// + [JsonProperty(PropertyName = "sslCrl")] + public string SslCrl { get; set; } + + /// + /// The base64 encoded certificate of the PostgreSQL server. + /// + /// + [JsonProperty(PropertyName = "sslCert")] + public string SslCert { get; set; } + + /// + /// The base64 encoded private key of the PostgreSQL server. + /// + /// + [JsonProperty(PropertyName = "sslKey")] + public string SslKey { get; set; } + + /// + /// The private IP address of the connection's endpoint in the customer's VCN, typically a + /// database endpoint or a big data endpoint (e.g. Kafka bootstrap server). + /// In case the privateIp is provided, the subnetId must also be provided. + /// In case the privateIp (and the subnetId) is not provided it is assumed the datasource is publicly accessible. + /// In case the connection is accessible only privately, the lack of privateIp will result in not being able to access the connection. + /// + /// + [JsonProperty(PropertyName = "privateIp")] + public string PrivateIp { get; set; } + + [JsonProperty(PropertyName = "connectionType")] + private readonly string connectionType = "POSTGRESQL"; + } +} diff --git a/Goldengate/models/DeploymentType.cs b/Goldengate/models/DeploymentType.cs index 25d6291dc..90f631fca 100644 --- a/Goldengate/models/DeploymentType.cs +++ b/Goldengate/models/DeploymentType.cs @@ -27,6 +27,8 @@ public enum DeploymentType { [EnumMember(Value = "BIGDATA")] Bigdata, [EnumMember(Value = "DATABASE_MYSQL")] - DatabaseMysql + DatabaseMysql, + [EnumMember(Value = "DATABASE_POSTGRESQL")] + DatabasePostgresql } } diff --git a/Goldengate/models/KafkaConnection.cs b/Goldengate/models/KafkaConnection.cs index a9db7084e..ef481ec7b 100644 --- a/Goldengate/models/KafkaConnection.cs +++ b/Goldengate/models/KafkaConnection.cs @@ -33,6 +33,10 @@ public enum TechnologyTypeEnum { UnknownEnumValue, [EnumMember(Value = "APACHE_KAFKA")] ApacheKafka, + [EnumMember(Value = "AZURE_EVENT_HUBS")] + AzureEventHubs, + [EnumMember(Value = "CONFLUENT_KAFKA")] + ConfluentKafka, [EnumMember(Value = "OCI_STREAMING")] OciStreaming }; diff --git a/Goldengate/models/KafkaSchemaRegistryConnection.cs b/Goldengate/models/KafkaSchemaRegistryConnection.cs new file mode 100644 index 000000000..763b4d163 --- /dev/null +++ b/Goldengate/models/KafkaSchemaRegistryConnection.cs @@ -0,0 +1,113 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; + + +namespace Oci.GoldengateService.Models +{ + /// + /// Represents the metadata of a Kafka (e.g. Confluent) Schema Registry Connection. + /// + /// + public class KafkaSchemaRegistryConnection : Connection + { + /// + /// + /// The Kafka (e.g. Confluent) Schema Registry technology type. + /// + /// + /// + public enum TechnologyTypeEnum { + /// This value is used if a service returns a value for this enum that is not recognized by this version of the SDK. + [EnumMember(Value = null)] + UnknownEnumValue, + [EnumMember(Value = "CONFLUENT_SCHEMA_REGISTRY")] + ConfluentSchemaRegistry + }; + + /// + /// The Kafka (e.g. Confluent) Schema Registry technology type. + /// + /// + /// + /// Required + /// + [Required(ErrorMessage = "TechnologyType is required.")] + [JsonProperty(PropertyName = "technologyType")] + [JsonConverter(typeof(Oci.Common.Utils.ResponseEnumConverter))] + public System.Nullable TechnologyType { get; set; } + + /// + /// Kafka Schema Registry URL. + /// e.g.: 'https://server1.us.oracle.com:8081' + /// + /// + /// + /// Required + /// + [Required(ErrorMessage = "Url is required.")] + [JsonProperty(PropertyName = "url")] + public string Url { get; set; } + /// + /// + /// Used authentication mechanism to access Schema Registry. + /// + /// + /// + public enum AuthenticationTypeEnum { + /// This value is used if a service returns a value for this enum that is not recognized by this version of the SDK. + [EnumMember(Value = null)] + UnknownEnumValue, + [EnumMember(Value = "NONE")] + None, + [EnumMember(Value = "BASIC")] + Basic, + [EnumMember(Value = "MUTUAL")] + Mutual + }; + + /// + /// Used authentication mechanism to access Schema Registry. + /// + /// + /// + /// Required + /// + [Required(ErrorMessage = "AuthenticationType is required.")] + [JsonProperty(PropertyName = "authenticationType")] + [JsonConverter(typeof(Oci.Common.Utils.ResponseEnumConverter))] + public System.Nullable AuthenticationType { get; set; } + + /// + /// The username to access Schema Registry using basic authentation. + /// This value is injected into 'schema.registry.basic.auth.user.info=user:password' configuration property. + /// + /// + [JsonProperty(PropertyName = "username")] + public string Username { get; set; } + + /// + /// The private IP address of the connection's endpoint in the customer's VCN, typically a + /// database endpoint or a big data endpoint (e.g. Kafka bootstrap server). + /// In case the privateIp is provided, the subnetId must also be provided. + /// In case the privateIp (and the subnetId) is not provided it is assumed the datasource is publicly accessible. + /// In case the connection is accessible only privately, the lack of privateIp will result in not being able to access the connection. + /// + /// + [JsonProperty(PropertyName = "privateIp")] + public string PrivateIp { get; set; } + + [JsonProperty(PropertyName = "connectionType")] + private readonly string connectionType = "KAFKA_SCHEMA_REGISTRY"; + } +} diff --git a/Goldengate/models/KafkaSchemaRegistryConnectionSummary.cs b/Goldengate/models/KafkaSchemaRegistryConnectionSummary.cs new file mode 100644 index 000000000..589cf137d --- /dev/null +++ b/Goldengate/models/KafkaSchemaRegistryConnectionSummary.cs @@ -0,0 +1,83 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; + + +namespace Oci.GoldengateService.Models +{ + /// + /// Summary of the Kafka (e.g. Confluent) Schema Registry Connection. + /// + /// + public class KafkaSchemaRegistryConnectionSummary : ConnectionSummary + { + + /// + /// The Kafka (e.g. Confluent) Schema Registry technology type. + /// + /// + /// + /// Required + /// + [Required(ErrorMessage = "TechnologyType is required.")] + [JsonProperty(PropertyName = "technologyType")] + [JsonConverter(typeof(StringEnumConverter))] + public System.Nullable TechnologyType { get; set; } + + /// + /// Kafka Schema Registry URL. + /// e.g.: 'https://server1.us.oracle.com:8081' + /// + /// + /// + /// Required + /// + [Required(ErrorMessage = "Url is required.")] + [JsonProperty(PropertyName = "url")] + public string Url { get; set; } + + /// + /// Used authentication mechanism to access Schema Registry. + /// + /// + /// + /// Required + /// + [Required(ErrorMessage = "AuthenticationType is required.")] + [JsonProperty(PropertyName = "authenticationType")] + [JsonConverter(typeof(StringEnumConverter))] + public System.Nullable AuthenticationType { get; set; } + + /// + /// The username to access Schema Registry using basic authentation. + /// This value is injected into 'schema.registry.basic.auth.user.info=user:password' configuration property. + /// + /// + [JsonProperty(PropertyName = "username")] + public string Username { get; set; } + + /// + /// The private IP address of the connection's endpoint in the customer's VCN, typically a + /// database endpoint or a big data endpoint (e.g. Kafka bootstrap server). + /// In case the privateIp is provided, the subnetId must also be provided. + /// In case the privateIp (and the subnetId) is not provided it is assumed the datasource is publicly accessible. + /// In case the connection is accessible only privately, the lack of privateIp will result in not being able to access the connection. + /// + /// + [JsonProperty(PropertyName = "privateIp")] + public string PrivateIp { get; set; } + + [JsonProperty(PropertyName = "connectionType")] + private readonly string connectionType = "KAFKA_SCHEMA_REGISTRY"; + } +} diff --git a/Goldengate/models/PostgresqlConnection.cs b/Goldengate/models/PostgresqlConnection.cs new file mode 100644 index 000000000..78293dbbd --- /dev/null +++ b/Goldengate/models/PostgresqlConnection.cs @@ -0,0 +1,176 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; + + +namespace Oci.GoldengateService.Models +{ + /// + /// Represents the metadata of a PostgreSQL Database Connection. + /// + /// + public class PostgresqlConnection : Connection + { + /// + /// + /// The PostgreSQL technology type. + /// + /// + public enum TechnologyTypeEnum { + /// This value is used if a service returns a value for this enum that is not recognized by this version of the SDK. + [EnumMember(Value = null)] + UnknownEnumValue, + [EnumMember(Value = "POSTGRESQL_SERVER")] + PostgresqlServer, + [EnumMember(Value = "AMAZON_AURORA_POSTGRESQL")] + AmazonAuroraPostgresql, + [EnumMember(Value = "AMAZON_RDS_POSTGRESQL")] + AmazonRdsPostgresql, + [EnumMember(Value = "AZURE_POSTGRESQL")] + AzurePostgresql, + [EnumMember(Value = "GOOGLE_CLOUD_SQL_POSTGRESQL")] + GoogleCloudSqlPostgresql + }; + + /// + /// The PostgreSQL technology type. + /// + /// + /// Required + /// + [Required(ErrorMessage = "TechnologyType is required.")] + [JsonProperty(PropertyName = "technologyType")] + [JsonConverter(typeof(Oci.Common.Utils.ResponseEnumConverter))] + public System.Nullable TechnologyType { get; set; } + + /// + /// The name of the database. + /// + /// + /// + /// Required + /// + [Required(ErrorMessage = "DatabaseName is required.")] + [JsonProperty(PropertyName = "databaseName")] + public string DatabaseName { get; set; } + + /// + /// The name or address of a host. + /// + /// + /// + /// Required + /// + [Required(ErrorMessage = "Host is required.")] + [JsonProperty(PropertyName = "host")] + public string Host { get; set; } + + /// + /// The port of an endpoint usually specified for a connection. + /// + /// + /// + /// Required + /// + [Required(ErrorMessage = "Port is required.")] + [JsonProperty(PropertyName = "port")] + public System.Nullable Port { get; set; } + + /// + /// The username Oracle GoldenGate uses to connect the associated RDBMS. This username must + /// already exist and be available for use by the database. It must conform to the security + /// requirements implemented by the database including length, case sensitivity, and so on. + /// + /// + /// + /// Required + /// + [Required(ErrorMessage = "Username is required.")] + [JsonProperty(PropertyName = "username")] + public string Username { get; set; } + + /// + /// An array of name-value pair attribute entries. + /// Used as additional parameters in connection string. + /// + /// + [JsonProperty(PropertyName = "additionalAttributes")] + public System.Collections.Generic.List AdditionalAttributes { get; set; } + /// + /// + /// Security protocol for PostgreSQL. + /// + /// + public enum SecurityProtocolEnum { + /// This value is used if a service returns a value for this enum that is not recognized by this version of the SDK. + [EnumMember(Value = null)] + UnknownEnumValue, + [EnumMember(Value = "PLAIN")] + Plain, + [EnumMember(Value = "TLS")] + Tls, + [EnumMember(Value = "MTLS")] + Mtls + }; + + /// + /// Security protocol for PostgreSQL. + /// + /// + /// Required + /// + [Required(ErrorMessage = "SecurityProtocol is required.")] + [JsonProperty(PropertyName = "securityProtocol")] + [JsonConverter(typeof(Oci.Common.Utils.ResponseEnumConverter))] + public System.Nullable SecurityProtocol { get; set; } + /// + /// + /// SSL mode for PostgreSQL. + /// + /// + public enum SslModeEnum { + /// This value is used if a service returns a value for this enum that is not recognized by this version of the SDK. + [EnumMember(Value = null)] + UnknownEnumValue, + [EnumMember(Value = "PREFER")] + Prefer, + [EnumMember(Value = "REQUIRE")] + Require, + [EnumMember(Value = "VERIFY_CA")] + VerifyCa, + [EnumMember(Value = "VERIFY_FULL")] + VerifyFull + }; + + /// + /// SSL mode for PostgreSQL. + /// + [JsonProperty(PropertyName = "sslMode")] + [JsonConverter(typeof(Oci.Common.Utils.ResponseEnumConverter))] + public System.Nullable SslMode { get; set; } + + /// + /// The private IP address of the connection's endpoint in the customer's VCN, typically a + /// database endpoint or a big data endpoint (e.g. Kafka bootstrap server). + /// In case the privateIp is provided, the subnetId must also be provided. + /// In case the privateIp (and the subnetId) is not provided it is assumed the datasource is publicly accessible. + /// In case the connection is accessible only privately, the lack of privateIp will result in not being able to access the connection. + /// + /// + [JsonProperty(PropertyName = "privateIp")] + public string PrivateIp { get; set; } + + [JsonProperty(PropertyName = "connectionType")] + private readonly string connectionType = "POSTGRESQL"; + } +} diff --git a/Goldengate/models/PostgresqlConnectionSummary.cs b/Goldengate/models/PostgresqlConnectionSummary.cs new file mode 100644 index 000000000..322442adb --- /dev/null +++ b/Goldengate/models/PostgresqlConnectionSummary.cs @@ -0,0 +1,122 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; + + +namespace Oci.GoldengateService.Models +{ + /// + /// Summary of the PostgreSQL Database Connection. + /// + /// + public class PostgresqlConnectionSummary : ConnectionSummary + { + + /// + /// The PostgreSQL technology type. + /// + /// + /// Required + /// + [Required(ErrorMessage = "TechnologyType is required.")] + [JsonProperty(PropertyName = "technologyType")] + [JsonConverter(typeof(StringEnumConverter))] + public System.Nullable TechnologyType { get; set; } + + /// + /// The name of the database. + /// + /// + /// + /// Required + /// + [Required(ErrorMessage = "DatabaseName is required.")] + [JsonProperty(PropertyName = "databaseName")] + public string DatabaseName { get; set; } + + /// + /// The name or address of a host. + /// + /// + /// + /// Required + /// + [Required(ErrorMessage = "Host is required.")] + [JsonProperty(PropertyName = "host")] + public string Host { get; set; } + + /// + /// The port of an endpoint usually specified for a connection. + /// + /// + /// + /// Required + /// + [Required(ErrorMessage = "Port is required.")] + [JsonProperty(PropertyName = "port")] + public System.Nullable Port { get; set; } + + /// + /// The username Oracle GoldenGate uses to connect the associated RDBMS. This username must + /// already exist and be available for use by the database. It must conform to the security + /// requirements implemented by the database including length, case sensitivity, and so on. + /// + /// + /// + /// Required + /// + [Required(ErrorMessage = "Username is required.")] + [JsonProperty(PropertyName = "username")] + public string Username { get; set; } + + /// + /// An array of name-value pair attribute entries. + /// Used as additional parameters in connection string. + /// + /// + [JsonProperty(PropertyName = "additionalAttributes")] + public System.Collections.Generic.List AdditionalAttributes { get; set; } + + /// + /// Security protocol for PostgreSQL. + /// + /// + /// Required + /// + [Required(ErrorMessage = "SecurityProtocol is required.")] + [JsonProperty(PropertyName = "securityProtocol")] + [JsonConverter(typeof(StringEnumConverter))] + public System.Nullable SecurityProtocol { get; set; } + + /// + /// SSL modes for PostgreSQL. + /// + [JsonProperty(PropertyName = "sslMode")] + [JsonConverter(typeof(StringEnumConverter))] + public System.Nullable SslMode { get; set; } + + /// + /// The private IP address of the connection's endpoint in the customer's VCN, typically a + /// database endpoint or a big data endpoint (e.g. Kafka bootstrap server). + /// In case the privateIp is provided, the subnetId must also be provided. + /// In case the privateIp (and the subnetId) is not provided it is assumed the datasource is publicly accessible. + /// In case the connection is accessible only privately, the lack of privateIp will result in not being able to access the connection. + /// + /// + [JsonProperty(PropertyName = "privateIp")] + public string PrivateIp { get; set; } + + [JsonProperty(PropertyName = "connectionType")] + private readonly string connectionType = "POSTGRESQL"; + } +} diff --git a/Goldengate/models/TechnologyType.cs b/Goldengate/models/TechnologyType.cs index f1c3a9613..6f57ac915 100644 --- a/Goldengate/models/TechnologyType.cs +++ b/Goldengate/models/TechnologyType.cs @@ -17,6 +17,8 @@ namespace Oci.GoldengateService.Models /// /// public enum TechnologyType { + [EnumMember(Value = "GOLDENGATE")] + Goldengate, [EnumMember(Value = "OCI_AUTONOMOUS_DATABASE")] OciAutonomousDatabase, [EnumMember(Value = "OCI_MYSQL")] @@ -33,21 +35,39 @@ public enum TechnologyType { AmazonRdsOracle, [EnumMember(Value = "AMAZON_AURORA_MYSQL")] AmazonAuroraMysql, + [EnumMember(Value = "AMAZON_AURORA_POSTGRESQL")] + AmazonAuroraPostgresql, [EnumMember(Value = "AMAZON_RDS_MARIADB")] AmazonRdsMariadb, [EnumMember(Value = "AMAZON_RDS_MYSQL")] AmazonRdsMysql, + [EnumMember(Value = "AMAZON_RDS_POSTGRESQL")] + AmazonRdsPostgresql, [EnumMember(Value = "APACHE_KAFKA")] ApacheKafka, + [EnumMember(Value = "AZURE_DATA_LAKE_STORAGE")] + AzureDataLakeStorage, + [EnumMember(Value = "AZURE_EVENT_HUBS")] + AzureEventHubs, [EnumMember(Value = "AZURE_MYSQL")] AzureMysql, - [EnumMember(Value = "GOLDENGATE")] - Goldengate, + [EnumMember(Value = "AZURE_POSTGRESQL")] + AzurePostgresql, + [EnumMember(Value = "AZURE_SYNAPSE_ANALYTICS")] + AzureSynapseAnalytics, + [EnumMember(Value = "CONFLUENT_KAFKA")] + ConfluentKafka, + [EnumMember(Value = "CONFLUENT_SCHEMA_REGISTRY")] + ConfluentSchemaRegistry, [EnumMember(Value = "GOOGLE_CLOUD_SQL_MYSQL")] GoogleCloudSqlMysql, + [EnumMember(Value = "GOOGLE_CLOUD_SQL_POSTGRESQL")] + GoogleCloudSqlPostgresql, [EnumMember(Value = "MARIADB")] Mariadb, [EnumMember(Value = "MYSQL_SERVER")] - MysqlServer + MysqlServer, + [EnumMember(Value = "POSTGRESQL_SERVER")] + PostgresqlServer } } diff --git a/Goldengate/models/UpdateAzureDataLakeStorageConnectionDetails.cs b/Goldengate/models/UpdateAzureDataLakeStorageConnectionDetails.cs new file mode 100644 index 000000000..542704ad6 --- /dev/null +++ b/Goldengate/models/UpdateAzureDataLakeStorageConnectionDetails.cs @@ -0,0 +1,92 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; + + +namespace Oci.GoldengateService.Models +{ + /// + /// The information to update a Azure Data Lake Storage Connection. + /// + /// + public class UpdateAzureDataLakeStorageConnectionDetails : UpdateConnectionDetails + { + + /// + /// Used authentication mechanism to access Azure Data Lake Storage. + /// + /// + [JsonProperty(PropertyName = "authenticationType")] + [JsonConverter(typeof(StringEnumConverter))] + public System.Nullable AuthenticationType { get; set; } + + /// + /// Sets the Azure storage account name. + /// + /// + [JsonProperty(PropertyName = "accountName")] + public string AccountName { get; set; } + + /// + /// Azure storage account key. This property is required when 'authenticationType' is set to 'SHARED_KEY'. + /// e.g.: pa3WbhVATzj56xD4DH1VjOUhApRGEGHvOo58eQJVWIzX+j8j4CUVFcTjpIqDSRaSa1Wo2LbWY5at+AStEgLOIQ== + /// + /// + [JsonProperty(PropertyName = "accountKey")] + public string AccountKey { get; set; } + + /// + /// Credential that uses a shared access signature (SAS) to authenticate to an Azure Service. This property is + /// required when 'authenticationType' is set to 'SHARED_ACCESS_SIGNATURE'. + /// e.g.: ?sv=2020-06-08&ss=bfqt&srt=sco&sp=rwdlacupyx&se=2020-09-10T20:27:28Z&st=2022-08-05T12:27:28Z&spr=https&sig=C1IgHsiLBmTSStYkXXGLTP8it0xBrArcgCqOsZbXwIQ%3D + /// + /// + [JsonProperty(PropertyName = "sasToken")] + public string SasToken { get; set; } + + /// + /// Azure tenant ID of the application. This property is required when 'authenticationType' is set to 'AZURE_ACTIVE_DIRECTORY'. + /// e.g.: 14593954-d337-4a61-a364-9f758c64f97f + /// + /// + [JsonProperty(PropertyName = "azureTenantId")] + public string AzureTenantId { get; set; } + + /// + /// Azure client ID of the application. This property is required when 'authenticationType' is set to 'AZURE_ACTIVE_DIRECTORY'. + /// e.g.: 06ecaabf-8b80-4ec8-a0ec-20cbf463703d + /// + /// + [JsonProperty(PropertyName = "clientId")] + public string ClientId { get; set; } + + /// + /// Azure client secret (aka application password) for authentication. This property is required when 'authenticationType' is set to 'AZURE_ACTIVE_DIRECTORY'. + /// e.g.: dO29Q~F5-VwnA.lZdd11xFF_t5NAXCaGwDl9NbT1 + /// + /// + [JsonProperty(PropertyName = "clientSecret")] + public string ClientSecret { get; set; } + + /// + /// Azure Storage service endpoint. + /// e.g: https://test.blob.core.windows.net + /// + /// + [JsonProperty(PropertyName = "endpoint")] + public string Endpoint { get; set; } + + [JsonProperty(PropertyName = "connectionType")] + private readonly string connectionType = "AZURE_DATA_LAKE_STORAGE"; + } +} diff --git a/Goldengate/models/UpdateAzureSynapseConnectionDetails.cs b/Goldengate/models/UpdateAzureSynapseConnectionDetails.cs new file mode 100644 index 000000000..77685fe94 --- /dev/null +++ b/Goldengate/models/UpdateAzureSynapseConnectionDetails.cs @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; + + +namespace Oci.GoldengateService.Models +{ + /// + /// The information to update a Azure Synapse Analytics Connection. + /// + /// + public class UpdateAzureSynapseConnectionDetails : UpdateConnectionDetails + { + + /// + /// JDBC connection string. + /// e.g.: 'jdbc:sqlserver://.sql.azuresynapse.net:1433;database=;encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.sql.azuresynapse.net;loginTimeout=300;' + /// + /// + [JsonProperty(PropertyName = "connectionString")] + public string ConnectionString { get; set; } + + /// + /// The username Oracle GoldenGate uses to connect the associated RDBMS. This username must + /// already exist and be available for use by the database. It must conform to the security + /// requirements implemented by the database including length, case sensitivity, and so on. + /// + /// + [JsonProperty(PropertyName = "username")] + public string Username { get; set; } + + /// + /// The password Oracle GoldenGate uses to connect the associated RDBMS. It must conform to the + /// specific security requirements implemented by the database including length, case + /// sensitivity, and so on. + /// + /// + [JsonProperty(PropertyName = "password")] + public string Password { get; set; } + + [JsonProperty(PropertyName = "connectionType")] + private readonly string connectionType = "AZURE_SYNAPSE_ANALYTICS"; + } +} diff --git a/Goldengate/models/UpdateConnectionDetails.cs b/Goldengate/models/UpdateConnectionDetails.cs index 721d06f55..a2500c1ff 100644 --- a/Goldengate/models/UpdateConnectionDetails.cs +++ b/Goldengate/models/UpdateConnectionDetails.cs @@ -106,9 +106,15 @@ public override object ReadJson(JsonReader reader, System.Type objectType, objec var discriminator = jsonObject["connectionType"].Value(); switch (discriminator) { + case "POSTGRESQL": + obj = new UpdatePostgresqlConnectionDetails(); + break; case "ORACLE": obj = new UpdateOracleConnectionDetails(); break; + case "KAFKA_SCHEMA_REGISTRY": + obj = new UpdateKafkaSchemaRegistryConnectionDetails(); + break; case "OCI_OBJECT_STORAGE": obj = new UpdateOciObjectStorageConnectionDetails(); break; @@ -118,9 +124,15 @@ public override object ReadJson(JsonReader reader, System.Type objectType, objec case "KAFKA": obj = new UpdateKafkaConnectionDetails(); break; + case "AZURE_DATA_LAKE_STORAGE": + obj = new UpdateAzureDataLakeStorageConnectionDetails(); + break; case "GOLDENGATE": obj = new UpdateGoldenGateConnectionDetails(); break; + case "AZURE_SYNAPSE_ANALYTICS": + obj = new UpdateAzureSynapseConnectionDetails(); + break; } serializer.Populate(jsonObject.CreateReader(), obj); return obj; diff --git a/Goldengate/models/UpdateKafkaConnectionDetails.cs b/Goldengate/models/UpdateKafkaConnectionDetails.cs index 95a98cbf0..e9df36b15 100644 --- a/Goldengate/models/UpdateKafkaConnectionDetails.cs +++ b/Goldengate/models/UpdateKafkaConnectionDetails.cs @@ -93,7 +93,7 @@ public class UpdateKafkaConnectionDetails : UpdateConnectionDetails public string KeyStorePassword { get; set; } /// - /// The password for the cert inside of of the KeyStore. + /// The password for the cert inside of the KeyStore. /// In case it differs from the KeyStore password, it should be provided. /// /// diff --git a/Goldengate/models/UpdateKafkaSchemaRegistryConnectionDetails.cs b/Goldengate/models/UpdateKafkaSchemaRegistryConnectionDetails.cs new file mode 100644 index 000000000..d531406d5 --- /dev/null +++ b/Goldengate/models/UpdateKafkaSchemaRegistryConnectionDetails.cs @@ -0,0 +1,107 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; + + +namespace Oci.GoldengateService.Models +{ + /// + /// The information to update Kafka (e.g. Confluent) Schema Registry Connection. + /// + /// + public class UpdateKafkaSchemaRegistryConnectionDetails : UpdateConnectionDetails + { + + /// + /// Kafka Schema Registry URL. + /// e.g.: 'https://server1.us.oracle.com:8081' + /// + /// + [JsonProperty(PropertyName = "url")] + public string Url { get; set; } + + /// + /// Used authentication mechanism to access Schema Registry. + /// + /// + [JsonProperty(PropertyName = "authenticationType")] + [JsonConverter(typeof(StringEnumConverter))] + public System.Nullable AuthenticationType { get; set; } + + /// + /// The username to access Schema Registry using basic authentation. + /// This value is injected into 'schema.registry.basic.auth.user.info=user:password' configuration property. + /// + /// + [JsonProperty(PropertyName = "username")] + public string Username { get; set; } + + /// + /// The password to access Schema Registry using basic authentation. + /// This value is injected into 'schema.registry.basic.auth.user.info=user:password' configuration property. + /// + /// + [JsonProperty(PropertyName = "password")] + public string Password { get; set; } + + /// + /// The base64 encoded content of the TrustStore file. + /// + /// + [JsonProperty(PropertyName = "trustStore")] + public string TrustStore { get; set; } + + /// + /// The TrustStore password. + /// + /// + [JsonProperty(PropertyName = "trustStorePassword")] + public string TrustStorePassword { get; set; } + + /// + /// The base64 encoded content of the KeyStore file. + /// + /// + [JsonProperty(PropertyName = "keyStore")] + public string KeyStore { get; set; } + + /// + /// The KeyStore password. + /// + /// + [JsonProperty(PropertyName = "keyStorePassword")] + public string KeyStorePassword { get; set; } + + /// + /// The password for the cert inside the KeyStore. + /// In case it differs from the KeyStore password, it should be provided. + /// + /// + [JsonProperty(PropertyName = "sslKeyPassword")] + public string SslKeyPassword { get; set; } + + /// + /// The private IP address of the connection's endpoint in the customer's VCN, typically a + /// database endpoint or a big data endpoint (e.g. Kafka bootstrap server). + /// In case the privateIp is provided, the subnetId must also be provided. + /// In case the privateIp (and the subnetId) is not provided it is assumed the datasource is publicly accessible. + /// In case the connection is accessible only privately, the lack of privateIp will result in not being able to access the connection. + /// + /// + [JsonProperty(PropertyName = "privateIp")] + public string PrivateIp { get; set; } + + [JsonProperty(PropertyName = "connectionType")] + private readonly string connectionType = "KAFKA_SCHEMA_REGISTRY"; + } +} diff --git a/Goldengate/models/UpdateOciObjectStorageConnectionDetails.cs b/Goldengate/models/UpdateOciObjectStorageConnectionDetails.cs index 99ec44c11..161a972fc 100644 --- a/Goldengate/models/UpdateOciObjectStorageConnectionDetails.cs +++ b/Goldengate/models/UpdateOciObjectStorageConnectionDetails.cs @@ -52,6 +52,13 @@ public class UpdateOciObjectStorageConnectionDetails : UpdateConnectionDetails [JsonProperty(PropertyName = "privateKeyFile")] public string PrivateKeyFile { get; set; } + /// + /// The passphrase of the private key. + /// + /// + [JsonProperty(PropertyName = "privateKeyPassphrase")] + public string PrivateKeyPassphrase { get; set; } + /// /// The fingerprint of the API Key of the user specified by the userId. /// See documentation: https://docs.oracle.com/en-us/iaas/Content/Identity/Tasks/managingcredentials.htm diff --git a/Goldengate/models/UpdateOggDeploymentDetails.cs b/Goldengate/models/UpdateOggDeploymentDetails.cs index 848e1d13d..9383882fe 100644 --- a/Goldengate/models/UpdateOggDeploymentDetails.cs +++ b/Goldengate/models/UpdateOggDeploymentDetails.cs @@ -33,6 +33,7 @@ public class UpdateOggDeploymentDetails /// The password associated with the GoldenGate deployment console username. /// The password must be 8 to 30 characters long and must contain at least 1 uppercase, 1 lowercase, 1 numeric, /// and 1 special character. Special characters such as \u2018$\u2019, \u2018^\u2019, or \u2018?\u2019 are not allowed. + /// This field will be deprecated and replaced by \"passwordSecretId\". /// /// [JsonProperty(PropertyName = "adminPassword")] diff --git a/Goldengate/models/UpdatePostgresqlConnectionDetails.cs b/Goldengate/models/UpdatePostgresqlConnectionDetails.cs new file mode 100644 index 000000000..f6f9e3e2f --- /dev/null +++ b/Goldengate/models/UpdatePostgresqlConnectionDetails.cs @@ -0,0 +1,128 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; + + +namespace Oci.GoldengateService.Models +{ + /// + /// The information to update a PostgreSQL Database Connection. + /// + /// + public class UpdatePostgresqlConnectionDetails : UpdateConnectionDetails + { + + /// + /// The name of the database. + /// + /// + [JsonProperty(PropertyName = "databaseName")] + public string DatabaseName { get; set; } + + /// + /// The name or address of a host. + /// + /// + [JsonProperty(PropertyName = "host")] + public string Host { get; set; } + + /// + /// The port of an endpoint usually specified for a connection. + /// + /// + [JsonProperty(PropertyName = "port")] + public System.Nullable Port { get; set; } + + /// + /// The username Oracle GoldenGate uses to connect the associated RDBMS. This username must + /// already exist and be available for use by the database. It must conform to the security + /// requirements implemented by the database including length, case sensitivity, and so on. + /// + /// + [JsonProperty(PropertyName = "username")] + public string Username { get; set; } + + /// + /// The password Oracle GoldenGate uses to connect the associated RDBMS. It must conform to the + /// specific security requirements implemented by the database including length, case + /// sensitivity, and so on. + /// + /// + [JsonProperty(PropertyName = "password")] + public string Password { get; set; } + + /// + /// An array of name-value pair attribute entries. + /// Used as additional parameters in connection string. + /// + /// + [JsonProperty(PropertyName = "additionalAttributes")] + public System.Collections.Generic.List AdditionalAttributes { get; set; } + + /// + /// Security protocol for PostgreSQL. + /// + [JsonProperty(PropertyName = "securityProtocol")] + [JsonConverter(typeof(StringEnumConverter))] + public System.Nullable SecurityProtocol { get; set; } + + /// + /// SSL modes for PostgreSQL. + /// + [JsonProperty(PropertyName = "sslMode")] + [JsonConverter(typeof(StringEnumConverter))] + public System.Nullable SslMode { get; set; } + + /// + /// The base64 encoded certificate of the trusted certificate authorities (Trusted CA) for PostgreSQL. + /// + /// + [JsonProperty(PropertyName = "sslCa")] + public string SslCa { get; set; } + + /// + /// The base64 encoded list of certificates revoked by the trusted certificate authorities (Trusted CA) for PostgreSQL. + /// + /// + [JsonProperty(PropertyName = "sslCrl")] + public string SslCrl { get; set; } + + /// + /// The base64 encoded certificate of the PostgreSQL server. + /// + /// + [JsonProperty(PropertyName = "sslCert")] + public string SslCert { get; set; } + + /// + /// The base64 encoded private key of the PostgreSQL server. + /// + /// + [JsonProperty(PropertyName = "sslKey")] + public string SslKey { get; set; } + + /// + /// The private IP address of the connection's endpoint in the customer's VCN, typically a + /// database endpoint or a big data endpoint (e.g. Kafka bootstrap server). + /// In case the privateIp is provided, the subnetId must also be provided. + /// In case the privateIp (and the subnetId) is not provided it is assumed the datasource is publicly accessible. + /// In case the connection is accessible only privately, the lack of privateIp will result in not being able to access the connection. + /// + /// + [JsonProperty(PropertyName = "privateIp")] + public string PrivateIp { get; set; } + + [JsonProperty(PropertyName = "connectionType")] + private readonly string connectionType = "POSTGRESQL"; + } +} diff --git a/Queue/OCI.DotNetSDK.Queue.csproj b/Queue/OCI.DotNetSDK.Queue.csproj new file mode 100644 index 000000000..9d39fefa8 --- /dev/null +++ b/Queue/OCI.DotNetSDK.Queue.csproj @@ -0,0 +1,19 @@ + + + + + {352361C6-92DA-4E77-8738-B2B1A58EBC51} + Library + netstandard2.0 + 8.0 + OCI.DotNetSDK.Queue + Oci.QueueService + Oracle Cloud Infrastructure + Oracle + Oracle;OCI;Oracle Cloud;OracleCloud;oci-sdk;OracleCloudInfrastructure;Queue + Oracle Cloud Infrastructure Cloud Queue Service + + + + + diff --git a/Queue/QueueAdminClient.cs b/Queue/QueueAdminClient.cs new file mode 100644 index 000000000..db6b20b1b --- /dev/null +++ b/Queue/QueueAdminClient.cs @@ -0,0 +1,694 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System; +using System.Diagnostics; +using System.Net.Http; +using System.Threading; +using System.Threading.Tasks; +using Oci.Common; +using Oci.Common.Model; +using Oci.Common.Auth; +using Oci.Common.Retry; +using Oci.QueueService.Requests; +using Oci.QueueService.Responses; + +namespace Oci.QueueService +{ + /// Service client instance for QueueAdmin. + public class QueueAdminClient : RegionalClientBase + { + private readonly RetryConfiguration retryConfiguration; + private const string basePathWithoutHost = "/20210201"; + + public QueueAdminPaginators Paginators { get; } + + public QueueAdminWaiters Waiters { get; } + + /// + /// Creates a new service instance using the given authentication provider and/or client configuration and/or endpoint. + /// A client configuration can also be provided optionally to adjust REST client behaviors. + /// + /// The authentication details provider. Required. + /// The client configuration that contains settings to adjust REST client behaviors. Optional. + /// The endpoint of the service. If not provided and the client is a regional client, the endpoint will be constructed based on region information. Optional. + public QueueAdminClient(IBasicAuthenticationDetailsProvider authenticationDetailsProvider, ClientConfiguration clientConfiguration = null, string endpoint = null) + : base(authenticationDetailsProvider, clientConfiguration) + { + service = new Service + { + ServiceName = "QUEUEADMIN", + ServiceEndpointPrefix = "", + ServiceEndpointTemplate = "https://messaging.{region}.oci.{secondLevelDomain}" + }; + + ClientConfiguration clientConfigurationToUse = clientConfiguration ?? new ClientConfiguration(); + + if (authenticationDetailsProvider is IRegionProvider) + { + // Use region from Authentication details provider. + SetRegion(((IRegionProvider)authenticationDetailsProvider).Region); + } + + if (endpoint != null) + { + logger.Info($"Using endpoint specified \"{endpoint}\"."); + SetEndpoint(endpoint); + } + + this.retryConfiguration = clientConfigurationToUse.RetryConfiguration; + Paginators = new QueueAdminPaginators(this); + Waiters = new QueueAdminWaiters(this); + } + + /// + /// Moves a Queue resource from one compartment identifier to another. When provided, If-Match is checked against ETag values of the resource. + /// + /// The request object containing the details to send. Required. + /// The retry configuration that will be used by to send this request. Optional. + /// The cancellation token to cancel this operation. Optional. + /// The completion option for this operation. Optional. + /// A response object containing details about the completed operation + /// Click here to see an example of how to use ChangeQueueCompartment API. + public async Task ChangeQueueCompartment(ChangeQueueCompartmentRequest request, RetryConfiguration retryConfiguration = null, CancellationToken cancellationToken = default, HttpCompletionOption completionOption = HttpCompletionOption.ResponseContentRead) + { + logger.Trace("Called changeQueueCompartment"); + Uri uri = new Uri(this.restClient.GetEndpoint(), System.IO.Path.Combine(basePathWithoutHost, "/queues/{queueId}/actions/changeCompartment".Trim('/'))); + HttpMethod method = new HttpMethod("POST"); + HttpRequestMessage requestMessage = Converter.ToHttpRequestMessage(uri, method, request); + requestMessage.Headers.Add("Accept", "application/json"); + GenericRetrier retryingClient = Retrier.GetPreferredRetrier(retryConfiguration, this.retryConfiguration); + HttpResponseMessage responseMessage; + + try + { + Stopwatch stopWatch = new Stopwatch(); + stopWatch.Start(); + if (retryingClient != null) + { + responseMessage = await retryingClient.MakeRetryingCall(this.restClient.HttpSend, requestMessage, completionOption, cancellationToken).ConfigureAwait(false); + } + else + { + responseMessage = await this.restClient.HttpSend(requestMessage, completionOption: completionOption).ConfigureAwait(false); + } + stopWatch.Stop(); + ApiDetails apiDetails = new ApiDetails + { + ServiceName = "QueueAdmin", + OperationName = "ChangeQueueCompartment", + RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", + ApiReferenceLink = "", + UserAgent = this.GetUserAgent() + }; + this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); + logger.Debug($"Total Latency for this API call is: {stopWatch.ElapsedMilliseconds} ms"); + return Converter.FromHttpResponseMessage(responseMessage); + } + catch (OciException e) + { + logger.Error(e); + throw; + } + catch (Exception e) + { + logger.Error($"ChangeQueueCompartment failed with error: {e.Message}"); + throw; + } + } + + /// + /// Creates a new Queue. + /// + /// + /// The request object containing the details to send. Required. + /// The retry configuration that will be used by to send this request. Optional. + /// The cancellation token to cancel this operation. Optional. + /// The completion option for this operation. Optional. + /// A response object containing details about the completed operation + /// Click here to see an example of how to use CreateQueue API. + public async Task CreateQueue(CreateQueueRequest request, RetryConfiguration retryConfiguration = null, CancellationToken cancellationToken = default, HttpCompletionOption completionOption = HttpCompletionOption.ResponseContentRead) + { + logger.Trace("Called createQueue"); + Uri uri = new Uri(this.restClient.GetEndpoint(), System.IO.Path.Combine(basePathWithoutHost, "/queues".Trim('/'))); + HttpMethod method = new HttpMethod("POST"); + HttpRequestMessage requestMessage = Converter.ToHttpRequestMessage(uri, method, request); + requestMessage.Headers.Add("Accept", "application/json"); + GenericRetrier retryingClient = Retrier.GetPreferredRetrier(retryConfiguration, this.retryConfiguration); + HttpResponseMessage responseMessage; + + try + { + Stopwatch stopWatch = new Stopwatch(); + stopWatch.Start(); + if (retryingClient != null) + { + responseMessage = await retryingClient.MakeRetryingCall(this.restClient.HttpSend, requestMessage, completionOption, cancellationToken).ConfigureAwait(false); + } + else + { + responseMessage = await this.restClient.HttpSend(requestMessage, completionOption: completionOption).ConfigureAwait(false); + } + stopWatch.Stop(); + ApiDetails apiDetails = new ApiDetails + { + ServiceName = "QueueAdmin", + OperationName = "CreateQueue", + RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", + ApiReferenceLink = "", + UserAgent = this.GetUserAgent() + }; + this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); + logger.Debug($"Total Latency for this API call is: {stopWatch.ElapsedMilliseconds} ms"); + return Converter.FromHttpResponseMessage(responseMessage); + } + catch (OciException e) + { + logger.Error(e); + throw; + } + catch (Exception e) + { + logger.Error($"CreateQueue failed with error: {e.Message}"); + throw; + } + } + + /// + /// Deletes a Queue resource by identifier + /// + /// The request object containing the details to send. Required. + /// The retry configuration that will be used by to send this request. Optional. + /// The cancellation token to cancel this operation. Optional. + /// The completion option for this operation. Optional. + /// A response object containing details about the completed operation + /// Click here to see an example of how to use DeleteQueue API. + public async Task DeleteQueue(DeleteQueueRequest request, RetryConfiguration retryConfiguration = null, CancellationToken cancellationToken = default, HttpCompletionOption completionOption = HttpCompletionOption.ResponseContentRead) + { + logger.Trace("Called deleteQueue"); + Uri uri = new Uri(this.restClient.GetEndpoint(), System.IO.Path.Combine(basePathWithoutHost, "/queues/{queueId}".Trim('/'))); + HttpMethod method = new HttpMethod("DELETE"); + HttpRequestMessage requestMessage = Converter.ToHttpRequestMessage(uri, method, request); + requestMessage.Headers.Add("Accept", "application/json"); + GenericRetrier retryingClient = Retrier.GetPreferredRetrier(retryConfiguration, this.retryConfiguration); + HttpResponseMessage responseMessage; + + try + { + Stopwatch stopWatch = new Stopwatch(); + stopWatch.Start(); + if (retryingClient != null) + { + responseMessage = await retryingClient.MakeRetryingCall(this.restClient.HttpSend, requestMessage, completionOption, cancellationToken).ConfigureAwait(false); + } + else + { + responseMessage = await this.restClient.HttpSend(requestMessage, completionOption: completionOption).ConfigureAwait(false); + } + stopWatch.Stop(); + ApiDetails apiDetails = new ApiDetails + { + ServiceName = "QueueAdmin", + OperationName = "DeleteQueue", + RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", + ApiReferenceLink = "", + UserAgent = this.GetUserAgent() + }; + this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); + logger.Debug($"Total Latency for this API call is: {stopWatch.ElapsedMilliseconds} ms"); + return Converter.FromHttpResponseMessage(responseMessage); + } + catch (OciException e) + { + logger.Error(e); + throw; + } + catch (Exception e) + { + logger.Error($"DeleteQueue failed with error: {e.Message}"); + throw; + } + } + + /// + /// Gets a Queue by identifier + /// + /// The request object containing the details to send. Required. + /// The retry configuration that will be used by to send this request. Optional. + /// The cancellation token to cancel this operation. Optional. + /// The completion option for this operation. Optional. + /// A response object containing details about the completed operation + /// Click here to see an example of how to use GetQueue API. + public async Task GetQueue(GetQueueRequest request, RetryConfiguration retryConfiguration = null, CancellationToken cancellationToken = default, HttpCompletionOption completionOption = HttpCompletionOption.ResponseContentRead) + { + logger.Trace("Called getQueue"); + Uri uri = new Uri(this.restClient.GetEndpoint(), System.IO.Path.Combine(basePathWithoutHost, "/queues/{queueId}".Trim('/'))); + HttpMethod method = new HttpMethod("GET"); + HttpRequestMessage requestMessage = Converter.ToHttpRequestMessage(uri, method, request); + requestMessage.Headers.Add("Accept", "application/json"); + GenericRetrier retryingClient = Retrier.GetPreferredRetrier(retryConfiguration, this.retryConfiguration); + HttpResponseMessage responseMessage; + + try + { + Stopwatch stopWatch = new Stopwatch(); + stopWatch.Start(); + if (retryingClient != null) + { + responseMessage = await retryingClient.MakeRetryingCall(this.restClient.HttpSend, requestMessage, completionOption, cancellationToken).ConfigureAwait(false); + } + else + { + responseMessage = await this.restClient.HttpSend(requestMessage, completionOption: completionOption).ConfigureAwait(false); + } + stopWatch.Stop(); + ApiDetails apiDetails = new ApiDetails + { + ServiceName = "QueueAdmin", + OperationName = "GetQueue", + RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", + ApiReferenceLink = "", + UserAgent = this.GetUserAgent() + }; + this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); + logger.Debug($"Total Latency for this API call is: {stopWatch.ElapsedMilliseconds} ms"); + return Converter.FromHttpResponseMessage(responseMessage); + } + catch (OciException e) + { + logger.Error(e); + throw; + } + catch (Exception e) + { + logger.Error($"GetQueue failed with error: {e.Message}"); + throw; + } + } + + /// + /// Gets the status of the work request with the given ID. + /// + /// The request object containing the details to send. Required. + /// The retry configuration that will be used by to send this request. Optional. + /// The cancellation token to cancel this operation. Optional. + /// The completion option for this operation. Optional. + /// A response object containing details about the completed operation + /// Click here to see an example of how to use GetWorkRequest API. + public async Task GetWorkRequest(GetWorkRequestRequest request, RetryConfiguration retryConfiguration = null, CancellationToken cancellationToken = default, HttpCompletionOption completionOption = HttpCompletionOption.ResponseContentRead) + { + logger.Trace("Called getWorkRequest"); + Uri uri = new Uri(this.restClient.GetEndpoint(), System.IO.Path.Combine(basePathWithoutHost, "/workRequests/{workRequestId}".Trim('/'))); + HttpMethod method = new HttpMethod("GET"); + HttpRequestMessage requestMessage = Converter.ToHttpRequestMessage(uri, method, request); + requestMessage.Headers.Add("Accept", "application/json"); + GenericRetrier retryingClient = Retrier.GetPreferredRetrier(retryConfiguration, this.retryConfiguration); + HttpResponseMessage responseMessage; + + try + { + Stopwatch stopWatch = new Stopwatch(); + stopWatch.Start(); + if (retryingClient != null) + { + responseMessage = await retryingClient.MakeRetryingCall(this.restClient.HttpSend, requestMessage, completionOption, cancellationToken).ConfigureAwait(false); + } + else + { + responseMessage = await this.restClient.HttpSend(requestMessage, completionOption: completionOption).ConfigureAwait(false); + } + stopWatch.Stop(); + ApiDetails apiDetails = new ApiDetails + { + ServiceName = "QueueAdmin", + OperationName = "GetWorkRequest", + RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", + ApiReferenceLink = "", + UserAgent = this.GetUserAgent() + }; + this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); + logger.Debug($"Total Latency for this API call is: {stopWatch.ElapsedMilliseconds} ms"); + return Converter.FromHttpResponseMessage(responseMessage); + } + catch (OciException e) + { + logger.Error(e); + throw; + } + catch (Exception e) + { + logger.Error($"GetWorkRequest failed with error: {e.Message}"); + throw; + } + } + + /// + /// Returns a list of Queues. + /// + /// + /// The request object containing the details to send. Required. + /// The retry configuration that will be used by to send this request. Optional. + /// The cancellation token to cancel this operation. Optional. + /// The completion option for this operation. Optional. + /// A response object containing details about the completed operation + /// Click here to see an example of how to use ListQueues API. + public async Task ListQueues(ListQueuesRequest request, RetryConfiguration retryConfiguration = null, CancellationToken cancellationToken = default, HttpCompletionOption completionOption = HttpCompletionOption.ResponseContentRead) + { + logger.Trace("Called listQueues"); + Uri uri = new Uri(this.restClient.GetEndpoint(), System.IO.Path.Combine(basePathWithoutHost, "/queues".Trim('/'))); + HttpMethod method = new HttpMethod("GET"); + HttpRequestMessage requestMessage = Converter.ToHttpRequestMessage(uri, method, request); + requestMessage.Headers.Add("Accept", "application/json"); + GenericRetrier retryingClient = Retrier.GetPreferredRetrier(retryConfiguration, this.retryConfiguration); + HttpResponseMessage responseMessage; + + try + { + Stopwatch stopWatch = new Stopwatch(); + stopWatch.Start(); + if (retryingClient != null) + { + responseMessage = await retryingClient.MakeRetryingCall(this.restClient.HttpSend, requestMessage, completionOption, cancellationToken).ConfigureAwait(false); + } + else + { + responseMessage = await this.restClient.HttpSend(requestMessage, completionOption: completionOption).ConfigureAwait(false); + } + stopWatch.Stop(); + ApiDetails apiDetails = new ApiDetails + { + ServiceName = "QueueAdmin", + OperationName = "ListQueues", + RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", + ApiReferenceLink = "", + UserAgent = this.GetUserAgent() + }; + this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); + logger.Debug($"Total Latency for this API call is: {stopWatch.ElapsedMilliseconds} ms"); + return Converter.FromHttpResponseMessage(responseMessage); + } + catch (OciException e) + { + logger.Error(e); + throw; + } + catch (Exception e) + { + logger.Error($"ListQueues failed with error: {e.Message}"); + throw; + } + } + + /// + /// Return a (paginated) list of errors for a given work request. + /// + /// + /// The request object containing the details to send. Required. + /// The retry configuration that will be used by to send this request. Optional. + /// The cancellation token to cancel this operation. Optional. + /// The completion option for this operation. Optional. + /// A response object containing details about the completed operation + /// Click here to see an example of how to use ListWorkRequestErrors API. + public async Task ListWorkRequestErrors(ListWorkRequestErrorsRequest request, RetryConfiguration retryConfiguration = null, CancellationToken cancellationToken = default, HttpCompletionOption completionOption = HttpCompletionOption.ResponseContentRead) + { + logger.Trace("Called listWorkRequestErrors"); + Uri uri = new Uri(this.restClient.GetEndpoint(), System.IO.Path.Combine(basePathWithoutHost, "/workRequests/{workRequestId}/errors".Trim('/'))); + HttpMethod method = new HttpMethod("GET"); + HttpRequestMessage requestMessage = Converter.ToHttpRequestMessage(uri, method, request); + requestMessage.Headers.Add("Accept", "application/json"); + GenericRetrier retryingClient = Retrier.GetPreferredRetrier(retryConfiguration, this.retryConfiguration); + HttpResponseMessage responseMessage; + + try + { + Stopwatch stopWatch = new Stopwatch(); + stopWatch.Start(); + if (retryingClient != null) + { + responseMessage = await retryingClient.MakeRetryingCall(this.restClient.HttpSend, requestMessage, completionOption, cancellationToken).ConfigureAwait(false); + } + else + { + responseMessage = await this.restClient.HttpSend(requestMessage, completionOption: completionOption).ConfigureAwait(false); + } + stopWatch.Stop(); + ApiDetails apiDetails = new ApiDetails + { + ServiceName = "QueueAdmin", + OperationName = "ListWorkRequestErrors", + RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", + ApiReferenceLink = "", + UserAgent = this.GetUserAgent() + }; + this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); + logger.Debug($"Total Latency for this API call is: {stopWatch.ElapsedMilliseconds} ms"); + return Converter.FromHttpResponseMessage(responseMessage); + } + catch (OciException e) + { + logger.Error(e); + throw; + } + catch (Exception e) + { + logger.Error($"ListWorkRequestErrors failed with error: {e.Message}"); + throw; + } + } + + /// + /// Return a (paginated) list of logs for a given work request. + /// + /// + /// The request object containing the details to send. Required. + /// The retry configuration that will be used by to send this request. Optional. + /// The cancellation token to cancel this operation. Optional. + /// The completion option for this operation. Optional. + /// A response object containing details about the completed operation + /// Click here to see an example of how to use ListWorkRequestLogs API. + public async Task ListWorkRequestLogs(ListWorkRequestLogsRequest request, RetryConfiguration retryConfiguration = null, CancellationToken cancellationToken = default, HttpCompletionOption completionOption = HttpCompletionOption.ResponseContentRead) + { + logger.Trace("Called listWorkRequestLogs"); + Uri uri = new Uri(this.restClient.GetEndpoint(), System.IO.Path.Combine(basePathWithoutHost, "/workRequests/{workRequestId}/logs".Trim('/'))); + HttpMethod method = new HttpMethod("GET"); + HttpRequestMessage requestMessage = Converter.ToHttpRequestMessage(uri, method, request); + requestMessage.Headers.Add("Accept", "application/json"); + GenericRetrier retryingClient = Retrier.GetPreferredRetrier(retryConfiguration, this.retryConfiguration); + HttpResponseMessage responseMessage; + + try + { + Stopwatch stopWatch = new Stopwatch(); + stopWatch.Start(); + if (retryingClient != null) + { + responseMessage = await retryingClient.MakeRetryingCall(this.restClient.HttpSend, requestMessage, completionOption, cancellationToken).ConfigureAwait(false); + } + else + { + responseMessage = await this.restClient.HttpSend(requestMessage, completionOption: completionOption).ConfigureAwait(false); + } + stopWatch.Stop(); + ApiDetails apiDetails = new ApiDetails + { + ServiceName = "QueueAdmin", + OperationName = "ListWorkRequestLogs", + RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", + ApiReferenceLink = "", + UserAgent = this.GetUserAgent() + }; + this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); + logger.Debug($"Total Latency for this API call is: {stopWatch.ElapsedMilliseconds} ms"); + return Converter.FromHttpResponseMessage(responseMessage); + } + catch (OciException e) + { + logger.Error(e); + throw; + } + catch (Exception e) + { + logger.Error($"ListWorkRequestLogs failed with error: {e.Message}"); + throw; + } + } + + /// + /// Lists the work requests in a compartment. + /// + /// + /// The request object containing the details to send. Required. + /// The retry configuration that will be used by to send this request. Optional. + /// The cancellation token to cancel this operation. Optional. + /// The completion option for this operation. Optional. + /// A response object containing details about the completed operation + /// Click here to see an example of how to use ListWorkRequests API. + public async Task ListWorkRequests(ListWorkRequestsRequest request, RetryConfiguration retryConfiguration = null, CancellationToken cancellationToken = default, HttpCompletionOption completionOption = HttpCompletionOption.ResponseContentRead) + { + logger.Trace("Called listWorkRequests"); + Uri uri = new Uri(this.restClient.GetEndpoint(), System.IO.Path.Combine(basePathWithoutHost, "/workRequests".Trim('/'))); + HttpMethod method = new HttpMethod("GET"); + HttpRequestMessage requestMessage = Converter.ToHttpRequestMessage(uri, method, request); + requestMessage.Headers.Add("Accept", "application/json"); + GenericRetrier retryingClient = Retrier.GetPreferredRetrier(retryConfiguration, this.retryConfiguration); + HttpResponseMessage responseMessage; + + try + { + Stopwatch stopWatch = new Stopwatch(); + stopWatch.Start(); + if (retryingClient != null) + { + responseMessage = await retryingClient.MakeRetryingCall(this.restClient.HttpSend, requestMessage, completionOption, cancellationToken).ConfigureAwait(false); + } + else + { + responseMessage = await this.restClient.HttpSend(requestMessage, completionOption: completionOption).ConfigureAwait(false); + } + stopWatch.Stop(); + ApiDetails apiDetails = new ApiDetails + { + ServiceName = "QueueAdmin", + OperationName = "ListWorkRequests", + RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", + ApiReferenceLink = "", + UserAgent = this.GetUserAgent() + }; + this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); + logger.Debug($"Total Latency for this API call is: {stopWatch.ElapsedMilliseconds} ms"); + return Converter.FromHttpResponseMessage(responseMessage); + } + catch (OciException e) + { + logger.Error(e); + throw; + } + catch (Exception e) + { + logger.Error($"ListWorkRequests failed with error: {e.Message}"); + throw; + } + } + + /// + /// Deletes all messages present in the queue at the time of invocation. Only one concurrent purge operation is supported for any given queue. + /// However multiple concurrent purge operations are supported for different queues. + /// + /// + /// The request object containing the details to send. Required. + /// The retry configuration that will be used by to send this request. Optional. + /// The cancellation token to cancel this operation. Optional. + /// The completion option for this operation. Optional. + /// A response object containing details about the completed operation + /// Click here to see an example of how to use PurgeQueue API. + public async Task PurgeQueue(PurgeQueueRequest request, RetryConfiguration retryConfiguration = null, CancellationToken cancellationToken = default, HttpCompletionOption completionOption = HttpCompletionOption.ResponseContentRead) + { + logger.Trace("Called purgeQueue"); + Uri uri = new Uri(this.restClient.GetEndpoint(), System.IO.Path.Combine(basePathWithoutHost, "/queues/{queueId}/actions/purge".Trim('/'))); + HttpMethod method = new HttpMethod("POST"); + HttpRequestMessage requestMessage = Converter.ToHttpRequestMessage(uri, method, request); + requestMessage.Headers.Add("Accept", "application/json"); + GenericRetrier retryingClient = Retrier.GetPreferredRetrier(retryConfiguration, this.retryConfiguration); + HttpResponseMessage responseMessage; + + try + { + Stopwatch stopWatch = new Stopwatch(); + stopWatch.Start(); + if (retryingClient != null) + { + responseMessage = await retryingClient.MakeRetryingCall(this.restClient.HttpSend, requestMessage, completionOption, cancellationToken).ConfigureAwait(false); + } + else + { + responseMessage = await this.restClient.HttpSend(requestMessage, completionOption: completionOption).ConfigureAwait(false); + } + stopWatch.Stop(); + ApiDetails apiDetails = new ApiDetails + { + ServiceName = "QueueAdmin", + OperationName = "PurgeQueue", + RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", + ApiReferenceLink = "", + UserAgent = this.GetUserAgent() + }; + this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); + logger.Debug($"Total Latency for this API call is: {stopWatch.ElapsedMilliseconds} ms"); + return Converter.FromHttpResponseMessage(responseMessage); + } + catch (OciException e) + { + logger.Error(e); + throw; + } + catch (Exception e) + { + logger.Error($"PurgeQueue failed with error: {e.Message}"); + throw; + } + } + + /// + /// Updates the Queue + /// + /// The request object containing the details to send. Required. + /// The retry configuration that will be used by to send this request. Optional. + /// The cancellation token to cancel this operation. Optional. + /// The completion option for this operation. Optional. + /// A response object containing details about the completed operation + /// Click here to see an example of how to use UpdateQueue API. + public async Task UpdateQueue(UpdateQueueRequest request, RetryConfiguration retryConfiguration = null, CancellationToken cancellationToken = default, HttpCompletionOption completionOption = HttpCompletionOption.ResponseContentRead) + { + logger.Trace("Called updateQueue"); + Uri uri = new Uri(this.restClient.GetEndpoint(), System.IO.Path.Combine(basePathWithoutHost, "/queues/{queueId}".Trim('/'))); + HttpMethod method = new HttpMethod("PUT"); + HttpRequestMessage requestMessage = Converter.ToHttpRequestMessage(uri, method, request); + requestMessage.Headers.Add("Accept", "application/json"); + GenericRetrier retryingClient = Retrier.GetPreferredRetrier(retryConfiguration, this.retryConfiguration); + HttpResponseMessage responseMessage; + + try + { + Stopwatch stopWatch = new Stopwatch(); + stopWatch.Start(); + if (retryingClient != null) + { + responseMessage = await retryingClient.MakeRetryingCall(this.restClient.HttpSend, requestMessage, completionOption, cancellationToken).ConfigureAwait(false); + } + else + { + responseMessage = await this.restClient.HttpSend(requestMessage, completionOption: completionOption).ConfigureAwait(false); + } + stopWatch.Stop(); + ApiDetails apiDetails = new ApiDetails + { + ServiceName = "QueueAdmin", + OperationName = "UpdateQueue", + RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", + ApiReferenceLink = "", + UserAgent = this.GetUserAgent() + }; + this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); + logger.Debug($"Total Latency for this API call is: {stopWatch.ElapsedMilliseconds} ms"); + return Converter.FromHttpResponseMessage(responseMessage); + } + catch (OciException e) + { + logger.Error(e); + throw; + } + catch (Exception e) + { + logger.Error($"UpdateQueue failed with error: {e.Message}"); + throw; + } + } + + } +} diff --git a/Queue/QueueAdminPaginators.cs b/Queue/QueueAdminPaginators.cs new file mode 100644 index 000000000..af038721c --- /dev/null +++ b/Queue/QueueAdminPaginators.cs @@ -0,0 +1,249 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.Collections.Generic; +using System.Threading; +using Oci.QueueService.Requests; +using Oci.QueueService.Responses; +using Oci.QueueService.Models; + +namespace Oci.QueueService +{ + /// + /// Collection of helper methods that can be used to provide an enumerator interface + /// to any list operations of QueueAdmin where multiple pages of data may be fetched. + /// Two styles of enumerators are supported: + /// + /// + /// + /// Enumerating over the Response objects returned by the list operation. These are referred to as ResponseEnumerators, and the methods are suffixed with ResponseEnumerator. For example: listUsersResponseEnumerator. + /// + /// + /// + /// + /// Enumerating over the resources/records being listed. These are referred to as RecordEnumerators, and the methods are suffixed with RecordEnumerator. For example: listUsersRecordEnumerator. + /// + /// + /// + /// These enumerators abstract away the need to write code to manually handle pagination via looping and using the page tokens. + /// They will automatically fetch more data from the service when required. + ///
+ ///
+ /// As an example, if we were using the ListUsers operation in IdentityService, then the iterator returned by calling a + /// ResponseEnumerator method would iterate over the ListUsersResponse objects returned by each ListUsers call, whereas the enumerables + /// returned by calling a RecordEnumerator method would iterate over the User records and we don't have to deal with ListUsersResponse objects at all. + /// In either case, pagination will be automatically handled so we can iterate until there are no more responses or no more resources/records available. + ///
+ public class QueueAdminPaginators + { + private readonly QueueAdminClient client; + + public QueueAdminPaginators(QueueAdminClient client) + { + this.client = client; + } + + /// + /// Creates a new enumerable which will iterate over the responses received from the ListQueues operation. This enumerable + /// will fetch more data from the server as needed. + /// + /// The request object containing the details to send + /// The configuration for retrying, may be null + /// The cancellation token object + /// The enumerator, which supports a simple iteration over a collection of a specified type + public IEnumerable ListQueuesResponseEnumerator(ListQueuesRequest request, Common.Retry.RetryConfiguration retryConfiguration = null, CancellationToken cancellationToken = default) + { + return new Common.Utils.ResponseEnumerable( + response => response.OpcNextPage, + input => + { + if (!string.IsNullOrEmpty(input)) + { + request.Page = input; + } + return request; + }, + request => client.ListQueues(request, retryConfiguration, cancellationToken) + ); + } + + /// + /// Creates a new enumerable which will iterate over the QueueSummary objects + /// contained in responses from the ListQueues operation. This enumerable will fetch more data from the server as needed. + /// + /// The request object containing the details to send + /// The configuration for retrying, may be null + /// The cancellation token object + /// The enumerator, which supports a simple iteration over a collection of a specified type + public IEnumerable ListQueuesRecordEnumerator(ListQueuesRequest request, Common.Retry.RetryConfiguration retryConfiguration = null, CancellationToken cancellationToken = default) + { + return new Common.Utils.ResponseRecordEnumerable( + response => response.OpcNextPage, + input => + { + if (!string.IsNullOrEmpty(input)) + { + request.Page = input; + } + return request; + }, + request => client.ListQueues(request, retryConfiguration, cancellationToken), + response => response.QueueCollection.Items + ); + } + + /// + /// Creates a new enumerable which will iterate over the responses received from the ListWorkRequestErrors operation. This enumerable + /// will fetch more data from the server as needed. + /// + /// The request object containing the details to send + /// The configuration for retrying, may be null + /// The cancellation token object + /// The enumerator, which supports a simple iteration over a collection of a specified type + public IEnumerable ListWorkRequestErrorsResponseEnumerator(ListWorkRequestErrorsRequest request, Common.Retry.RetryConfiguration retryConfiguration = null, CancellationToken cancellationToken = default) + { + return new Common.Utils.ResponseEnumerable( + response => response.OpcNextPage, + input => + { + if (!string.IsNullOrEmpty(input)) + { + request.Page = input; + } + return request; + }, + request => client.ListWorkRequestErrors(request, retryConfiguration, cancellationToken) + ); + } + + /// + /// Creates a new enumerable which will iterate over the WorkRequestError objects + /// contained in responses from the ListWorkRequestErrors operation. This enumerable will fetch more data from the server as needed. + /// + /// The request object containing the details to send + /// The configuration for retrying, may be null + /// The cancellation token object + /// The enumerator, which supports a simple iteration over a collection of a specified type + public IEnumerable ListWorkRequestErrorsRecordEnumerator(ListWorkRequestErrorsRequest request, Common.Retry.RetryConfiguration retryConfiguration = null, CancellationToken cancellationToken = default) + { + return new Common.Utils.ResponseRecordEnumerable( + response => response.OpcNextPage, + input => + { + if (!string.IsNullOrEmpty(input)) + { + request.Page = input; + } + return request; + }, + request => client.ListWorkRequestErrors(request, retryConfiguration, cancellationToken), + response => response.WorkRequestErrorCollection.Items + ); + } + + /// + /// Creates a new enumerable which will iterate over the responses received from the ListWorkRequestLogs operation. This enumerable + /// will fetch more data from the server as needed. + /// + /// The request object containing the details to send + /// The configuration for retrying, may be null + /// The cancellation token object + /// The enumerator, which supports a simple iteration over a collection of a specified type + public IEnumerable ListWorkRequestLogsResponseEnumerator(ListWorkRequestLogsRequest request, Common.Retry.RetryConfiguration retryConfiguration = null, CancellationToken cancellationToken = default) + { + return new Common.Utils.ResponseEnumerable( + response => response.OpcNextPage, + input => + { + if (!string.IsNullOrEmpty(input)) + { + request.Page = input; + } + return request; + }, + request => client.ListWorkRequestLogs(request, retryConfiguration, cancellationToken) + ); + } + + /// + /// Creates a new enumerable which will iterate over the WorkRequestLogEntry objects + /// contained in responses from the ListWorkRequestLogs operation. This enumerable will fetch more data from the server as needed. + /// + /// The request object containing the details to send + /// The configuration for retrying, may be null + /// The cancellation token object + /// The enumerator, which supports a simple iteration over a collection of a specified type + public IEnumerable ListWorkRequestLogsRecordEnumerator(ListWorkRequestLogsRequest request, Common.Retry.RetryConfiguration retryConfiguration = null, CancellationToken cancellationToken = default) + { + return new Common.Utils.ResponseRecordEnumerable( + response => response.OpcNextPage, + input => + { + if (!string.IsNullOrEmpty(input)) + { + request.Page = input; + } + return request; + }, + request => client.ListWorkRequestLogs(request, retryConfiguration, cancellationToken), + response => response.WorkRequestLogEntryCollection.Items + ); + } + + /// + /// Creates a new enumerable which will iterate over the responses received from the ListWorkRequests operation. This enumerable + /// will fetch more data from the server as needed. + /// + /// The request object containing the details to send + /// The configuration for retrying, may be null + /// The cancellation token object + /// The enumerator, which supports a simple iteration over a collection of a specified type + public IEnumerable ListWorkRequestsResponseEnumerator(ListWorkRequestsRequest request, Common.Retry.RetryConfiguration retryConfiguration = null, CancellationToken cancellationToken = default) + { + return new Common.Utils.ResponseEnumerable( + response => response.OpcNextPage, + input => + { + if (!string.IsNullOrEmpty(input)) + { + request.Page = input; + } + return request; + }, + request => client.ListWorkRequests(request, retryConfiguration, cancellationToken) + ); + } + + /// + /// Creates a new enumerable which will iterate over the WorkRequestSummary objects + /// contained in responses from the ListWorkRequests operation. This enumerable will fetch more data from the server as needed. + /// + /// The request object containing the details to send + /// The configuration for retrying, may be null + /// The cancellation token object + /// The enumerator, which supports a simple iteration over a collection of a specified type + public IEnumerable ListWorkRequestsRecordEnumerator(ListWorkRequestsRequest request, Common.Retry.RetryConfiguration retryConfiguration = null, CancellationToken cancellationToken = default) + { + return new Common.Utils.ResponseRecordEnumerable( + response => response.OpcNextPage, + input => + { + if (!string.IsNullOrEmpty(input)) + { + request.Page = input; + } + return request; + }, + request => client.ListWorkRequests(request, retryConfiguration, cancellationToken), + response => response.WorkRequestSummaryCollection.Items + ); + } + + } +} diff --git a/Queue/QueueAdminWaiters.cs b/Queue/QueueAdminWaiters.cs new file mode 100644 index 000000000..3c296e10a --- /dev/null +++ b/Queue/QueueAdminWaiters.cs @@ -0,0 +1,85 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + +using System.Linq; +using Oci.Common.Waiters; +using Oci.QueueService.Models; +using Oci.QueueService.Requests; +using Oci.QueueService.Responses; + +namespace Oci.QueueService +{ + /// + /// Contains collection of helper methods to produce Oci.Common.Waiters for different resources of QueueAdmin. + /// + public class QueueAdminWaiters + { + private readonly QueueAdminClient client; + + public QueueAdminWaiters(QueueAdminClient client) + { + this.client = client; + } + + /// + /// Creates a waiter using default wait configuration. + /// + /// Request to send. + /// Desired resource states. If multiple states are provided then the waiter will return once the resource reaches any of the provided states + /// a new Oci.common.Waiter instance + public Waiter ForQueue(GetQueueRequest request, params Queue.LifecycleStateEnum[] targetStates) + { + return this.ForQueue(request, WaiterConfiguration.DefaultWaiterConfiguration, targetStates); + } + + /// + /// Creates a waiter using the provided configuration. + /// + /// Request to send. + /// Wait Configuration + /// Desired resource states. If multiple states are provided then the waiter will return once the resource reaches any of the provided states + /// a new Oci.common.Waiter instance + public Waiter ForQueue(GetQueueRequest request, WaiterConfiguration config, params Queue.LifecycleStateEnum[] targetStates) + { + var agent = new WaiterAgent( + request, + request => client.GetQueue(request), + response => targetStates.Contains(response.Queue.LifecycleState.Value), + targetStates.Contains(Queue.LifecycleStateEnum.Deleted) + ); + return new Waiter(config, agent); + } + /// + /// Creates a waiter using default wait configuration. + /// + /// Request to send. + /// Desired resource states. If multiple states are provided then the waiter will return once the resource reaches any of the provided states + /// a new Oci.common.Waiter instance + public Waiter ForWorkRequest(GetWorkRequestRequest request, params OperationStatus[] targetStates) + { + return this.ForWorkRequest(request, WaiterConfiguration.DefaultWaiterConfiguration, targetStates); + } + + /// + /// Creates a waiter using the provided configuration. + /// + /// Request to send. + /// Wait Configuration + /// Desired resource states. If multiple states are provided then the waiter will return once the resource reaches any of the provided states + /// a new Oci.common.Waiter instance + public Waiter ForWorkRequest(GetWorkRequestRequest request, WaiterConfiguration config, params OperationStatus[] targetStates) + { + var agent = new WaiterAgent( + request, + request => client.GetWorkRequest(request), + response => targetStates.Contains(response.WorkRequest.Status.Value) + ); + return new Waiter(config, agent); + } + } +} diff --git a/Queue/QueueClient.cs b/Queue/QueueClient.cs new file mode 100644 index 000000000..277e21dc8 --- /dev/null +++ b/Queue/QueueClient.cs @@ -0,0 +1,457 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System; +using System.Diagnostics; +using System.Net.Http; +using System.Threading; +using System.Threading.Tasks; +using Oci.Common; +using Oci.Common.Model; +using Oci.Common.Auth; +using Oci.Common.Retry; +using Oci.QueueService.Requests; +using Oci.QueueService.Responses; + +namespace Oci.QueueService +{ + /// Service client instance for Queue. + public class QueueClient : RegionalClientBase + { + private readonly RetryConfiguration retryConfiguration; + private const string basePathWithoutHost = "/20210201"; + + /// + /// Creates a new service instance using the given authentication provider and/or client configuration and/or endpoint. + /// A client configuration can also be provided optionally to adjust REST client behaviors. + /// + /// The authentication details provider. Required. + /// The client configuration that contains settings to adjust REST client behaviors. Optional. + /// The endpoint of the service. If not provided and the client is a regional client, the endpoint will be constructed based on region information. Optional. + public QueueClient(IBasicAuthenticationDetailsProvider authenticationDetailsProvider, ClientConfiguration clientConfiguration = null, string endpoint = null) + : base(authenticationDetailsProvider, clientConfiguration) + { + service = new Service + { + ServiceName = "QUEUE", + ServiceEndpointPrefix = "", + ServiceEndpointTemplate = "https://messaging.{region}.oci.{secondLevelDomain}" + }; + + ClientConfiguration clientConfigurationToUse = clientConfiguration ?? new ClientConfiguration(); + + if (authenticationDetailsProvider is IRegionProvider) + { + // Use region from Authentication details provider. + SetRegion(((IRegionProvider)authenticationDetailsProvider).Region); + } + + if (endpoint != null) + { + logger.Info($"Using endpoint specified \"{endpoint}\"."); + SetEndpoint(endpoint); + } + + this.retryConfiguration = clientConfigurationToUse.RetryConfiguration; + } + + /// + /// Deletes from the queue the message represented by the receipt. + /// + /// The request object containing the details to send. Required. + /// The retry configuration that will be used by to send this request. Optional. + /// The cancellation token to cancel this operation. Optional. + /// The completion option for this operation. Optional. + /// A response object containing details about the completed operation + /// Click here to see an example of how to use DeleteMessage API. + public async Task DeleteMessage(DeleteMessageRequest request, RetryConfiguration retryConfiguration = null, CancellationToken cancellationToken = default, HttpCompletionOption completionOption = HttpCompletionOption.ResponseContentRead) + { + logger.Trace("Called deleteMessage"); + Uri uri = new Uri(this.restClient.GetEndpoint(), System.IO.Path.Combine(basePathWithoutHost, "/queues/{queueId}/messages/{messageReceipt}".Trim('/'))); + HttpMethod method = new HttpMethod("DELETE"); + HttpRequestMessage requestMessage = Converter.ToHttpRequestMessage(uri, method, request); + requestMessage.Headers.Add("Accept", "application/json"); + GenericRetrier retryingClient = Retrier.GetPreferredRetrier(retryConfiguration, this.retryConfiguration); + HttpResponseMessage responseMessage; + + try + { + Stopwatch stopWatch = new Stopwatch(); + stopWatch.Start(); + if (retryingClient != null) + { + responseMessage = await retryingClient.MakeRetryingCall(this.restClient.HttpSend, requestMessage, completionOption, cancellationToken).ConfigureAwait(false); + } + else + { + responseMessage = await this.restClient.HttpSend(requestMessage, completionOption: completionOption).ConfigureAwait(false); + } + stopWatch.Stop(); + ApiDetails apiDetails = new ApiDetails + { + ServiceName = "Queue", + OperationName = "DeleteMessage", + RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", + ApiReferenceLink = "", + UserAgent = this.GetUserAgent() + }; + this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); + logger.Debug($"Total Latency for this API call is: {stopWatch.ElapsedMilliseconds} ms"); + return Converter.FromHttpResponseMessage(responseMessage); + } + catch (OciException e) + { + logger.Error(e); + throw; + } + catch (Exception e) + { + logger.Error($"DeleteMessage failed with error: {e.Message}"); + throw; + } + } + + /// + /// Deletes multiple messages from the queue. + /// + /// The request object containing the details to send. Required. + /// The retry configuration that will be used by to send this request. Optional. + /// The cancellation token to cancel this operation. Optional. + /// The completion option for this operation. Optional. + /// A response object containing details about the completed operation + /// Click here to see an example of how to use DeleteMessages API. + public async Task DeleteMessages(DeleteMessagesRequest request, RetryConfiguration retryConfiguration = null, CancellationToken cancellationToken = default, HttpCompletionOption completionOption = HttpCompletionOption.ResponseContentRead) + { + logger.Trace("Called deleteMessages"); + Uri uri = new Uri(this.restClient.GetEndpoint(), System.IO.Path.Combine(basePathWithoutHost, "/queues/{queueId}/messages/actions/deleteMessages".Trim('/'))); + HttpMethod method = new HttpMethod("POST"); + HttpRequestMessage requestMessage = Converter.ToHttpRequestMessage(uri, method, request); + requestMessage.Headers.Add("Accept", "application/json"); + GenericRetrier retryingClient = Retrier.GetPreferredRetrier(retryConfiguration, this.retryConfiguration); + HttpResponseMessage responseMessage; + + try + { + Stopwatch stopWatch = new Stopwatch(); + stopWatch.Start(); + if (retryingClient != null) + { + responseMessage = await retryingClient.MakeRetryingCall(this.restClient.HttpSend, requestMessage, completionOption, cancellationToken).ConfigureAwait(false); + } + else + { + responseMessage = await this.restClient.HttpSend(requestMessage, completionOption: completionOption).ConfigureAwait(false); + } + stopWatch.Stop(); + ApiDetails apiDetails = new ApiDetails + { + ServiceName = "Queue", + OperationName = "DeleteMessages", + RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", + ApiReferenceLink = "", + UserAgent = this.GetUserAgent() + }; + this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); + logger.Debug($"Total Latency for this API call is: {stopWatch.ElapsedMilliseconds} ms"); + return Converter.FromHttpResponseMessage(responseMessage); + } + catch (OciException e) + { + logger.Error(e); + throw; + } + catch (Exception e) + { + logger.Error($"DeleteMessages failed with error: {e.Message}"); + throw; + } + } + + /// + /// Consumes message from the queue. + /// + /// The request object containing the details to send. Required. + /// The retry configuration that will be used by to send this request. Optional. + /// The cancellation token to cancel this operation. Optional. + /// The completion option for this operation. Optional. + /// A response object containing details about the completed operation + /// Click here to see an example of how to use GetMessages API. + public async Task GetMessages(GetMessagesRequest request, RetryConfiguration retryConfiguration = null, CancellationToken cancellationToken = default, HttpCompletionOption completionOption = HttpCompletionOption.ResponseContentRead) + { + logger.Trace("Called getMessages"); + Uri uri = new Uri(this.restClient.GetEndpoint(), System.IO.Path.Combine(basePathWithoutHost, "/queues/{queueId}/messages".Trim('/'))); + HttpMethod method = new HttpMethod("GET"); + HttpRequestMessage requestMessage = Converter.ToHttpRequestMessage(uri, method, request); + requestMessage.Headers.Add("Accept", "application/json"); + GenericRetrier retryingClient = Retrier.GetPreferredRetrier(retryConfiguration, this.retryConfiguration); + HttpResponseMessage responseMessage; + + try + { + Stopwatch stopWatch = new Stopwatch(); + stopWatch.Start(); + if (retryingClient != null) + { + responseMessage = await retryingClient.MakeRetryingCall(this.restClient.HttpSend, requestMessage, completionOption, cancellationToken).ConfigureAwait(false); + } + else + { + responseMessage = await this.restClient.HttpSend(requestMessage, completionOption: completionOption).ConfigureAwait(false); + } + stopWatch.Stop(); + ApiDetails apiDetails = new ApiDetails + { + ServiceName = "Queue", + OperationName = "GetMessages", + RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", + ApiReferenceLink = "", + UserAgent = this.GetUserAgent() + }; + this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); + logger.Debug($"Total Latency for this API call is: {stopWatch.ElapsedMilliseconds} ms"); + return Converter.FromHttpResponseMessage(responseMessage); + } + catch (OciException e) + { + logger.Error(e); + throw; + } + catch (Exception e) + { + logger.Error($"GetMessages failed with error: {e.Message}"); + throw; + } + } + + /// + /// Gets the statistics for the queue and its dead letter queue. + /// + /// The request object containing the details to send. Required. + /// The retry configuration that will be used by to send this request. Optional. + /// The cancellation token to cancel this operation. Optional. + /// The completion option for this operation. Optional. + /// A response object containing details about the completed operation + /// Click here to see an example of how to use GetStats API. + public async Task GetStats(GetStatsRequest request, RetryConfiguration retryConfiguration = null, CancellationToken cancellationToken = default, HttpCompletionOption completionOption = HttpCompletionOption.ResponseContentRead) + { + logger.Trace("Called getStats"); + Uri uri = new Uri(this.restClient.GetEndpoint(), System.IO.Path.Combine(basePathWithoutHost, "/queues/{queueId}/stats".Trim('/'))); + HttpMethod method = new HttpMethod("GET"); + HttpRequestMessage requestMessage = Converter.ToHttpRequestMessage(uri, method, request); + requestMessage.Headers.Add("Accept", "application/json"); + GenericRetrier retryingClient = Retrier.GetPreferredRetrier(retryConfiguration, this.retryConfiguration); + HttpResponseMessage responseMessage; + + try + { + Stopwatch stopWatch = new Stopwatch(); + stopWatch.Start(); + if (retryingClient != null) + { + responseMessage = await retryingClient.MakeRetryingCall(this.restClient.HttpSend, requestMessage, completionOption, cancellationToken).ConfigureAwait(false); + } + else + { + responseMessage = await this.restClient.HttpSend(requestMessage, completionOption: completionOption).ConfigureAwait(false); + } + stopWatch.Stop(); + ApiDetails apiDetails = new ApiDetails + { + ServiceName = "Queue", + OperationName = "GetStats", + RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", + ApiReferenceLink = "", + UserAgent = this.GetUserAgent() + }; + this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); + logger.Debug($"Total Latency for this API call is: {stopWatch.ElapsedMilliseconds} ms"); + return Converter.FromHttpResponseMessage(responseMessage); + } + catch (OciException e) + { + logger.Error(e); + throw; + } + catch (Exception e) + { + logger.Error($"GetStats failed with error: {e.Message}"); + throw; + } + } + + /// + /// Puts messages in the queue + /// + /// The request object containing the details to send. Required. + /// The retry configuration that will be used by to send this request. Optional. + /// The cancellation token to cancel this operation. Optional. + /// The completion option for this operation. Optional. + /// A response object containing details about the completed operation + /// Click here to see an example of how to use PutMessages API. + public async Task PutMessages(PutMessagesRequest request, RetryConfiguration retryConfiguration = null, CancellationToken cancellationToken = default, HttpCompletionOption completionOption = HttpCompletionOption.ResponseContentRead) + { + logger.Trace("Called putMessages"); + Uri uri = new Uri(this.restClient.GetEndpoint(), System.IO.Path.Combine(basePathWithoutHost, "/queues/{queueId}/messages".Trim('/'))); + HttpMethod method = new HttpMethod("POST"); + HttpRequestMessage requestMessage = Converter.ToHttpRequestMessage(uri, method, request); + requestMessage.Headers.Add("Accept", "application/json"); + GenericRetrier retryingClient = Retrier.GetPreferredRetrier(retryConfiguration, this.retryConfiguration); + HttpResponseMessage responseMessage; + + try + { + Stopwatch stopWatch = new Stopwatch(); + stopWatch.Start(); + if (retryingClient != null) + { + responseMessage = await retryingClient.MakeRetryingCall(this.restClient.HttpSend, requestMessage, completionOption, cancellationToken).ConfigureAwait(false); + } + else + { + responseMessage = await this.restClient.HttpSend(requestMessage, completionOption: completionOption).ConfigureAwait(false); + } + stopWatch.Stop(); + ApiDetails apiDetails = new ApiDetails + { + ServiceName = "Queue", + OperationName = "PutMessages", + RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", + ApiReferenceLink = "", + UserAgent = this.GetUserAgent() + }; + this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); + logger.Debug($"Total Latency for this API call is: {stopWatch.ElapsedMilliseconds} ms"); + return Converter.FromHttpResponseMessage(responseMessage); + } + catch (OciException e) + { + logger.Error(e); + throw; + } + catch (Exception e) + { + logger.Error($"PutMessages failed with error: {e.Message}"); + throw; + } + } + + /// + /// Updates the visibility of the message represented by the receipt. + /// + /// The request object containing the details to send. Required. + /// The retry configuration that will be used by to send this request. Optional. + /// The cancellation token to cancel this operation. Optional. + /// The completion option for this operation. Optional. + /// A response object containing details about the completed operation + /// Click here to see an example of how to use UpdateMessage API. + public async Task UpdateMessage(UpdateMessageRequest request, RetryConfiguration retryConfiguration = null, CancellationToken cancellationToken = default, HttpCompletionOption completionOption = HttpCompletionOption.ResponseContentRead) + { + logger.Trace("Called updateMessage"); + Uri uri = new Uri(this.restClient.GetEndpoint(), System.IO.Path.Combine(basePathWithoutHost, "/queues/{queueId}/messages/{messageReceipt}".Trim('/'))); + HttpMethod method = new HttpMethod("PUT"); + HttpRequestMessage requestMessage = Converter.ToHttpRequestMessage(uri, method, request); + requestMessage.Headers.Add("Accept", "application/json"); + GenericRetrier retryingClient = Retrier.GetPreferredRetrier(retryConfiguration, this.retryConfiguration); + HttpResponseMessage responseMessage; + + try + { + Stopwatch stopWatch = new Stopwatch(); + stopWatch.Start(); + if (retryingClient != null) + { + responseMessage = await retryingClient.MakeRetryingCall(this.restClient.HttpSend, requestMessage, completionOption, cancellationToken).ConfigureAwait(false); + } + else + { + responseMessage = await this.restClient.HttpSend(requestMessage, completionOption: completionOption).ConfigureAwait(false); + } + stopWatch.Stop(); + ApiDetails apiDetails = new ApiDetails + { + ServiceName = "Queue", + OperationName = "UpdateMessage", + RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", + ApiReferenceLink = "", + UserAgent = this.GetUserAgent() + }; + this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); + logger.Debug($"Total Latency for this API call is: {stopWatch.ElapsedMilliseconds} ms"); + return Converter.FromHttpResponseMessage(responseMessage); + } + catch (OciException e) + { + logger.Error(e); + throw; + } + catch (Exception e) + { + logger.Error($"UpdateMessage failed with error: {e.Message}"); + throw; + } + } + + /// + /// Updates multiple messages in the queue. + /// + /// The request object containing the details to send. Required. + /// The retry configuration that will be used by to send this request. Optional. + /// The cancellation token to cancel this operation. Optional. + /// The completion option for this operation. Optional. + /// A response object containing details about the completed operation + /// Click here to see an example of how to use UpdateMessages API. + public async Task UpdateMessages(UpdateMessagesRequest request, RetryConfiguration retryConfiguration = null, CancellationToken cancellationToken = default, HttpCompletionOption completionOption = HttpCompletionOption.ResponseContentRead) + { + logger.Trace("Called updateMessages"); + Uri uri = new Uri(this.restClient.GetEndpoint(), System.IO.Path.Combine(basePathWithoutHost, "/queues/{queueId}/messages/actions/updateMessages".Trim('/'))); + HttpMethod method = new HttpMethod("POST"); + HttpRequestMessage requestMessage = Converter.ToHttpRequestMessage(uri, method, request); + requestMessage.Headers.Add("Accept", "application/json"); + GenericRetrier retryingClient = Retrier.GetPreferredRetrier(retryConfiguration, this.retryConfiguration); + HttpResponseMessage responseMessage; + + try + { + Stopwatch stopWatch = new Stopwatch(); + stopWatch.Start(); + if (retryingClient != null) + { + responseMessage = await retryingClient.MakeRetryingCall(this.restClient.HttpSend, requestMessage, completionOption, cancellationToken).ConfigureAwait(false); + } + else + { + responseMessage = await this.restClient.HttpSend(requestMessage, completionOption: completionOption).ConfigureAwait(false); + } + stopWatch.Stop(); + ApiDetails apiDetails = new ApiDetails + { + ServiceName = "Queue", + OperationName = "UpdateMessages", + RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", + ApiReferenceLink = "", + UserAgent = this.GetUserAgent() + }; + this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); + logger.Debug($"Total Latency for this API call is: {stopWatch.ElapsedMilliseconds} ms"); + return Converter.FromHttpResponseMessage(responseMessage); + } + catch (OciException e) + { + logger.Error(e); + throw; + } + catch (Exception e) + { + logger.Error($"UpdateMessages failed with error: {e.Message}"); + throw; + } + } + + } +} diff --git a/Queue/README.md b/Queue/README.md new file mode 100644 index 000000000..165bc9315 --- /dev/null +++ b/Queue/README.md @@ -0,0 +1,20 @@ + +# OCI .NET client for Queue Service + +This module enables you to write code to manage resources for Queue Service. + +## Requirements + +To use this module, you must have the following: + +- An Oracle Cloud Infrastructure account. +- A user created in that account, in a group with a policy that grants the desired permissions. This can be a user for yourself, or another person/system that needs to call the API. For an example of how to set up a new user, group, compartment, and policy, see [Adding Users](https://docs.cloud.oracle.com/en-us/iaas/Content/GSG/Tasks/addingusers.htm). For a list of typical policies you may want to use, see [Common Policies](https://docs.cloud.oracle.com/en-us/iaas/Content/Identity/Concepts/commonpolicies.htm). +- A key pair used for signing API requests, with the public key uploaded to Oracle. Only the user calling the API should be in possession of the private key. For more information, see [Configuring Credentials](https://docs.cloud.oracle.com/en-us/iaas/Content/API/SDKDocs/javasdkconfig.htm) + +## Installing + +Use the following command to install this module: + +``` +dotnet add package OCI.DotNetSDK.Queue +``` diff --git a/Queue/models/ActionType.cs b/Queue/models/ActionType.cs new file mode 100644 index 000000000..720eb3da7 --- /dev/null +++ b/Queue/models/ActionType.cs @@ -0,0 +1,33 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; + +namespace Oci.QueueService.Models +{ + /// + /// Possible types of actions. + /// + public enum ActionType { + /// This value is used if a service returns a value for this enum that is not recognized by this version of the SDK. + [EnumMember(Value = null)] + UnknownEnumValue, + [EnumMember(Value = "CREATED")] + Created, + [EnumMember(Value = "UPDATED")] + Updated, + [EnumMember(Value = "DELETED")] + Deleted, + [EnumMember(Value = "IN_PROGRESS")] + InProgress, + [EnumMember(Value = "RELATED")] + Related + } +} diff --git a/Queue/models/ChangeQueueCompartmentDetails.cs b/Queue/models/ChangeQueueCompartmentDetails.cs new file mode 100644 index 000000000..c3e0428b1 --- /dev/null +++ b/Queue/models/ChangeQueueCompartmentDetails.cs @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; + + +namespace Oci.QueueService.Models +{ + /// + /// The information to be updated. + /// + public class ChangeQueueCompartmentDetails + { + + /// + /// The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the compartment + /// into which the resource should be moved. + /// + /// + /// + /// Required + /// + [Required(ErrorMessage = "CompartmentId is required.")] + [JsonProperty(PropertyName = "compartmentId")] + public string CompartmentId { get; set; } + + } +} diff --git a/Databasemigration/models/CreateAgentDetails.cs b/Queue/models/CreateQueueDetails.cs similarity index 60% rename from Databasemigration/models/CreateAgentDetails.cs rename to Queue/models/CreateQueueDetails.cs index 82a2c8527..9c423d2f7 100644 --- a/Databasemigration/models/CreateAgentDetails.cs +++ b/Queue/models/CreateQueueDetails.cs @@ -13,29 +13,16 @@ using Newtonsoft.Json.Converters; -namespace Oci.DatabasemigrationService.Models +namespace Oci.QueueService.Models { /// - /// ODMS Agent Details - /// + /// The information about new Queue. /// - public class CreateAgentDetails + public class CreateQueueDetails { /// - /// The OCID of the compartment. - /// - /// - /// - /// Required - /// - [Required(ErrorMessage = "CompartmentId is required.")] - [JsonProperty(PropertyName = "compartmentId")] - public string CompartmentId { get; set; } - - /// - /// ODMS Agent name - /// + /// Queue Identifier /// /// /// Required @@ -45,37 +32,44 @@ public class CreateAgentDetails public string DisplayName { get; set; } /// - /// The OCID of the Stream - /// + /// Compartment Identifier /// /// /// Required /// - [Required(ErrorMessage = "StreamId is required.")] - [JsonProperty(PropertyName = "streamId")] - public string StreamId { get; set; } + [Required(ErrorMessage = "CompartmentId is required.")] + [JsonProperty(PropertyName = "compartmentId")] + public string CompartmentId { get; set; } /// - /// ODMS Agent public key as a Base64 Encoded string. - /// + /// The retention period of the messages in the queue, in seconds. /// - /// - /// Required - /// - [Required(ErrorMessage = "PublicKey is required.")] - [JsonProperty(PropertyName = "publicKey")] - public string PublicKey { get; set; } + [JsonProperty(PropertyName = "retentionInSeconds")] + public System.Nullable RetentionInSeconds { get; set; } /// - /// ODMS Agent version - /// + /// The default visibility of the messages consumed from the queue. /// - /// - /// Required - /// - [Required(ErrorMessage = "Version is required.")] - [JsonProperty(PropertyName = "version")] - public string Version { get; set; } + [JsonProperty(PropertyName = "visibilityInSeconds")] + public System.Nullable VisibilityInSeconds { get; set; } + + /// + /// The default polling timeout of the messages in the queue, in seconds. + /// + [JsonProperty(PropertyName = "timeoutInSeconds")] + public System.Nullable TimeoutInSeconds { get; set; } + + /// + /// The number of times a message can be delivered to a consumer before being moved to the dead letter queue. A value of 0 indicates that the DLQ is not used. + /// + [JsonProperty(PropertyName = "deadLetterQueueDeliveryCount")] + public System.Nullable DeadLetterQueueDeliveryCount { get; set; } + + /// + /// Id of the custom master encryption key which will be used to encrypt messages content + /// + [JsonProperty(PropertyName = "customEncryptionKeyId")] + public string CustomEncryptionKeyId { get; set; } /// /// Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. diff --git a/Queue/models/DeleteMessagesDetails.cs b/Queue/models/DeleteMessagesDetails.cs new file mode 100644 index 000000000..68560114f --- /dev/null +++ b/Queue/models/DeleteMessagesDetails.cs @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; + + +namespace Oci.QueueService.Models +{ + /// + /// The details of a DeleteMessages request. + /// + public class DeleteMessagesDetails + { + + /// + /// The array of messages to delete from a queue. + /// + /// + /// Required + /// + [Required(ErrorMessage = "Entries is required.")] + [JsonProperty(PropertyName = "entries")] + public System.Collections.Generic.List Entries { get; set; } + + } +} diff --git a/Databasemigration/models/ParLink.cs b/Queue/models/DeleteMessagesDetailsEntry.cs similarity index 67% rename from Databasemigration/models/ParLink.cs rename to Queue/models/DeleteMessagesDetailsEntry.cs index 407e93b7b..2d2d9db86 100644 --- a/Databasemigration/models/ParLink.cs +++ b/Queue/models/DeleteMessagesDetailsEntry.cs @@ -13,25 +13,23 @@ using Newtonsoft.Json.Converters; -namespace Oci.DatabasemigrationService.Models +namespace Oci.QueueService.Models { /// - /// Pre-Authenticated Request Link for ODMS Agent log use. - /// + /// Object that represents a message to delete from a queue. /// - public class ParLink + public class DeleteMessagesDetailsEntry { /// - /// Pre-Authenticated Request URI. - /// + /// The receipt of the message to delete /// /// /// Required /// - [Required(ErrorMessage = "ParLinkProp is required.")] - [JsonProperty(PropertyName = "parLink")] - public string ParLinkProp { get; set; } + [Required(ErrorMessage = "Receipt is required.")] + [JsonProperty(PropertyName = "receipt")] + public string Receipt { get; set; } } } diff --git a/Queue/models/DeleteMessagesResult.cs b/Queue/models/DeleteMessagesResult.cs new file mode 100644 index 000000000..c9d62a298 --- /dev/null +++ b/Queue/models/DeleteMessagesResult.cs @@ -0,0 +1,59 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; + + +namespace Oci.QueueService.Models +{ + /// + /// The response to a DeleteMessages request. It indicates the number of server and client failures as well as an array of entries for successful and failed actions. + /// + public class DeleteMessagesResult + { + + /// + /// The number of messages that failed to be deleted from the queue because of a server failure. + /// + /// + /// Required + /// + [Required(ErrorMessage = "ServerFailures is required.")] + [JsonProperty(PropertyName = "serverFailures")] + public System.Nullable ServerFailures { get; set; } + + /// + /// The number of messages that failed to be deleted from the queue because of a client failure such as an invalid receipt. + /// + /// + /// Required + /// + [Required(ErrorMessage = "ClientFailures is required.")] + [JsonProperty(PropertyName = "clientFailures")] + public System.Nullable ClientFailures { get; set; } + + /// + /// An array of items representing the result of each action. + /// The order is guaranteed to be the same as in the `DeleteMessagesDetails` object. + /// If a message was successfully deleted from the queue, the entry does not contain any fields. + /// If a message failed to be deleted from the queue, the entry includes the `errorCode` and `errorMessage` fields. + /// + /// + /// + /// Required + /// + [Required(ErrorMessage = "Entries is required.")] + [JsonProperty(PropertyName = "entries")] + public System.Collections.Generic.List Entries { get; set; } + + } +} diff --git a/Queue/models/DeleteMessagesResultEntry.cs b/Queue/models/DeleteMessagesResultEntry.cs new file mode 100644 index 000000000..ab343df56 --- /dev/null +++ b/Queue/models/DeleteMessagesResultEntry.cs @@ -0,0 +1,40 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; + + +namespace Oci.QueueService.Models +{ + /// + /// Represents the result of a DeleteMessages request, whether it was successful or not. + /// If a message was successfully deleted from the queue, the entry does not contain any fields. + /// If a message failed to be deleted from the queue, the entry includes the `errorCode` and `errorMessage` fields. + /// + /// + public class DeleteMessagesResultEntry + { + + /// + /// The error code, in case the message was not successfully deleted from the queue. + /// + [JsonProperty(PropertyName = "errorCode")] + public System.Nullable ErrorCode { get; set; } + + /// + /// A human-readable error message associated with the error code. + /// + [JsonProperty(PropertyName = "errorMessage")] + public string ErrorMessage { get; set; } + + } +} diff --git a/Queue/models/GetMessage.cs b/Queue/models/GetMessage.cs new file mode 100644 index 000000000..7b094b932 --- /dev/null +++ b/Queue/models/GetMessage.cs @@ -0,0 +1,87 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; + + +namespace Oci.QueueService.Models +{ + /// + /// A message consumed from a queue. + /// + public class GetMessage + { + + /// + /// The id of the message - this is only used for tracing and debugging purposes and isn't used as a parameter in any request. + /// + /// + /// Required + /// + [Required(ErrorMessage = "Id is required.")] + [JsonProperty(PropertyName = "id")] + public System.Nullable Id { get; set; } + + /// + /// The content of the message + /// + /// + /// Required + /// + [Required(ErrorMessage = "Content is required.")] + [JsonProperty(PropertyName = "content")] + public string Content { get; set; } + + /// + /// A receipt is a base64urlencode opaque token, uniquely representing a message. + /// The receipt can be used to delete a message or update its visibility. + /// + /// + /// + /// Required + /// + [Required(ErrorMessage = "Receipt is required.")] + [JsonProperty(PropertyName = "receipt")] + public string Receipt { get; set; } + + /// + /// The number of time the message has been delivered to a consumer. + /// + /// + /// Required + /// + [Required(ErrorMessage = "DeliveryCount is required.")] + [JsonProperty(PropertyName = "deliveryCount")] + public System.Nullable DeliveryCount { get; set; } + + /// + /// The time after which the message will be visible to other consumers. An RFC3339 formatted datetime string + /// + /// + /// Required + /// + [Required(ErrorMessage = "VisibleAfter is required.")] + [JsonProperty(PropertyName = "visibleAfter")] + public System.Nullable VisibleAfter { get; set; } + + /// + /// The time after which the message will be automatically deleted. An RFC3339 formatted datetime string + /// + /// + /// Required + /// + [Required(ErrorMessage = "ExpireAfter is required.")] + [JsonProperty(PropertyName = "expireAfter")] + public System.Nullable ExpireAfter { get; set; } + + } +} diff --git a/Databasemigration/models/GenerateToken.cs b/Queue/models/GetMessages.cs similarity index 68% rename from Databasemigration/models/GenerateToken.cs rename to Queue/models/GetMessages.cs index c11e36616..7337deefd 100644 --- a/Databasemigration/models/GenerateToken.cs +++ b/Queue/models/GetMessages.cs @@ -13,25 +13,23 @@ using Newtonsoft.Json.Converters; -namespace Oci.DatabasemigrationService.Models +namespace Oci.QueueService.Models { /// - /// ODMS Agent token details. - /// + /// A list of messages from a queue. /// - public class GenerateToken + public class GetMessages { /// - /// Resource Principals Token in serialized form. - /// + /// List of messages from a queue. /// /// /// Required /// - [Required(ErrorMessage = "RptBlob is required.")] - [JsonProperty(PropertyName = "rptBlob")] - public string RptBlob { get; set; } + [Required(ErrorMessage = "Messages is required.")] + [JsonProperty(PropertyName = "messages")] + public System.Collections.Generic.List Messages { get; set; } } } diff --git a/Queue/models/OperationStatus.cs b/Queue/models/OperationStatus.cs new file mode 100644 index 000000000..c9354efff --- /dev/null +++ b/Queue/models/OperationStatus.cs @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; + +namespace Oci.QueueService.Models +{ + /// + /// Possible operation status. + /// + public enum OperationStatus { + /// This value is used if a service returns a value for this enum that is not recognized by this version of the SDK. + [EnumMember(Value = null)] + UnknownEnumValue, + [EnumMember(Value = "ACCEPTED")] + Accepted, + [EnumMember(Value = "IN_PROGRESS")] + InProgress, + [EnumMember(Value = "FAILED")] + Failed, + [EnumMember(Value = "SUCCEEDED")] + Succeeded, + [EnumMember(Value = "CANCELING")] + Canceling, + [EnumMember(Value = "CANCELED")] + Canceled + } +} diff --git a/Queue/models/OperationType.cs b/Queue/models/OperationType.cs new file mode 100644 index 000000000..b5f766391 --- /dev/null +++ b/Queue/models/OperationType.cs @@ -0,0 +1,33 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; + +namespace Oci.QueueService.Models +{ + /// + /// Possible operation types. + /// + public enum OperationType { + /// This value is used if a service returns a value for this enum that is not recognized by this version of the SDK. + [EnumMember(Value = null)] + UnknownEnumValue, + [EnumMember(Value = "CREATE_QUEUE")] + CreateQueue, + [EnumMember(Value = "UPDATE_QUEUE")] + UpdateQueue, + [EnumMember(Value = "DELETE_QUEUE")] + DeleteQueue, + [EnumMember(Value = "MOVE_QUEUE")] + MoveQueue, + [EnumMember(Value = "PURGE_QUEUE")] + PurgeQueue + } +} diff --git a/Queue/models/PurgeQueueDetails.cs b/Queue/models/PurgeQueueDetails.cs new file mode 100644 index 000000000..7e31a71d0 --- /dev/null +++ b/Queue/models/PurgeQueueDetails.cs @@ -0,0 +1,57 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; + + +namespace Oci.QueueService.Models +{ + /// + /// Purge parameters. + /// + public class PurgeQueueDetails + { + /// + /// + /// Type of the purge to perform: + /// - NORMAL - purge only normal queue + /// - DLQ - purge only DLQ + /// - BOTH - purge both normal queue and DLQ + /// + /// + /// + public enum PurgeTypeEnum { + [EnumMember(Value = "NORMAL")] + Normal, + [EnumMember(Value = "DLQ")] + Dlq, + [EnumMember(Value = "BOTH")] + Both + }; + + /// + /// Type of the purge to perform: + /// - NORMAL - purge only normal queue + /// - DLQ - purge only DLQ + /// - BOTH - purge both normal queue and DLQ + /// + /// + /// + /// Required + /// + [Required(ErrorMessage = "PurgeType is required.")] + [JsonProperty(PropertyName = "purgeType")] + [JsonConverter(typeof(StringEnumConverter))] + public System.Nullable PurgeType { get; set; } + + } +} diff --git a/Queue/models/PutMessage.cs b/Queue/models/PutMessage.cs new file mode 100644 index 000000000..2291ab6db --- /dev/null +++ b/Queue/models/PutMessage.cs @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; + + +namespace Oci.QueueService.Models +{ + /// + /// A message that has been published in a queue. + /// + public class PutMessage + { + + /// + /// The id of the message + /// + /// + /// Required + /// + [Required(ErrorMessage = "Id is required.")] + [JsonProperty(PropertyName = "id")] + public System.Nullable Id { get; set; } + + } +} diff --git a/Queue/models/PutMessages.cs b/Queue/models/PutMessages.cs new file mode 100644 index 000000000..d5f45405e --- /dev/null +++ b/Queue/models/PutMessages.cs @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; + + +namespace Oci.QueueService.Models +{ + /// + /// A list of the messages published in a queue. + /// + public class PutMessages + { + + /// + /// The messages that have been published in a queue. + /// + /// + /// Required + /// + [Required(ErrorMessage = "Messages is required.")] + [JsonProperty(PropertyName = "messages")] + public System.Collections.Generic.List Messages { get; set; } + + } +} diff --git a/Queue/models/PutMessagesDetails.cs b/Queue/models/PutMessagesDetails.cs new file mode 100644 index 000000000..185062e57 --- /dev/null +++ b/Queue/models/PutMessagesDetails.cs @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; + + +namespace Oci.QueueService.Models +{ + /// + /// The details of a PutMessages request. + /// + public class PutMessagesDetails + { + + /// + /// The array of messages to put into a queue. + /// + /// + /// Required + /// + [Required(ErrorMessage = "Messages is required.")] + [JsonProperty(PropertyName = "messages")] + public System.Collections.Generic.List Messages { get; set; } + + } +} diff --git a/Queue/models/PutMessagesDetailsEntry.cs b/Queue/models/PutMessagesDetailsEntry.cs new file mode 100644 index 000000000..f04ae4d69 --- /dev/null +++ b/Queue/models/PutMessagesDetailsEntry.cs @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; + + +namespace Oci.QueueService.Models +{ + /// + /// Object that represents a message to publish into a queue. + /// + public class PutMessagesDetailsEntry + { + + /// + /// The content of the message + /// + /// + /// Required + /// + [Required(ErrorMessage = "Content is required.")] + [JsonProperty(PropertyName = "content")] + public string Content { get; set; } + + } +} diff --git a/Queue/models/Queue.cs b/Queue/models/Queue.cs new file mode 100644 index 000000000..5a2581935 --- /dev/null +++ b/Queue/models/Queue.cs @@ -0,0 +1,187 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; + + +namespace Oci.QueueService.Models +{ + /// + /// Description of Queue. + /// + public class Queue + { + + /// + /// Unique identifier that is immutable on creation + /// + /// + /// Required + /// + [Required(ErrorMessage = "Id is required.")] + [JsonProperty(PropertyName = "id")] + public string Id { get; set; } + + /// + /// Queue Identifier, can be renamed + /// + [JsonProperty(PropertyName = "displayName")] + public string DisplayName { get; set; } + + /// + /// Compartment Identifier + /// + /// + /// Required + /// + [Required(ErrorMessage = "CompartmentId is required.")] + [JsonProperty(PropertyName = "compartmentId")] + public string CompartmentId { get; set; } + + /// + /// The time the the Queue was created. An RFC3339 formatted datetime string + /// + /// + /// Required + /// + [Required(ErrorMessage = "TimeCreated is required.")] + [JsonProperty(PropertyName = "timeCreated")] + public System.Nullable TimeCreated { get; set; } + + /// + /// The time the Queue was updated. An RFC3339 formatted datetime string + /// + /// + /// Required + /// + [Required(ErrorMessage = "TimeUpdated is required.")] + [JsonProperty(PropertyName = "timeUpdated")] + public System.Nullable TimeUpdated { get; set; } + /// + /// + /// The current state of the Queue. + /// + /// + public enum LifecycleStateEnum { + /// This value is used if a service returns a value for this enum that is not recognized by this version of the SDK. + [EnumMember(Value = null)] + UnknownEnumValue, + [EnumMember(Value = "CREATING")] + Creating, + [EnumMember(Value = "UPDATING")] + Updating, + [EnumMember(Value = "ACTIVE")] + Active, + [EnumMember(Value = "DELETING")] + Deleting, + [EnumMember(Value = "DELETED")] + Deleted, + [EnumMember(Value = "FAILED")] + Failed + }; + + /// + /// The current state of the Queue. + /// + /// + /// Required + /// + [Required(ErrorMessage = "LifecycleState is required.")] + [JsonProperty(PropertyName = "lifecycleState")] + [JsonConverter(typeof(Oci.Common.Utils.ResponseEnumConverter))] + public System.Nullable LifecycleState { get; set; } + + /// + /// A message describing the current state in more detail. For example, can be used to provide actionable information for a resource in Failed state. + /// + [JsonProperty(PropertyName = "lifecycleDetails")] + public string LifecycleDetails { get; set; } + + /// + /// The endpoint to use to consume or publish messages in the queue. + /// + /// + /// Required + /// + [Required(ErrorMessage = "MessagesEndpoint is required.")] + [JsonProperty(PropertyName = "messagesEndpoint")] + public string MessagesEndpoint { get; set; } + + /// + /// The retention period of the messages in the queue, in seconds. + /// + /// + /// Required + /// + [Required(ErrorMessage = "RetentionInSeconds is required.")] + [JsonProperty(PropertyName = "retentionInSeconds")] + public System.Nullable RetentionInSeconds { get; set; } + + /// + /// The default visibility of the messages consumed from the queue. + /// + /// + /// Required + /// + [Required(ErrorMessage = "VisibilityInSeconds is required.")] + [JsonProperty(PropertyName = "visibilityInSeconds")] + public System.Nullable VisibilityInSeconds { get; set; } + + /// + /// The default polling timeout of the messages in the queue, in seconds. + /// + /// + /// Required + /// + [Required(ErrorMessage = "TimeoutInSeconds is required.")] + [JsonProperty(PropertyName = "timeoutInSeconds")] + public System.Nullable TimeoutInSeconds { get; set; } + + /// + /// The number of times a message can be delivered to a consumer before being moved to the dead letter queue. A value of 0 indicates that the DLQ is not used. + /// + /// + /// Required + /// + [Required(ErrorMessage = "DeadLetterQueueDeliveryCount is required.")] + [JsonProperty(PropertyName = "deadLetterQueueDeliveryCount")] + public System.Nullable DeadLetterQueueDeliveryCount { get; set; } + + /// + /// Id of the custom master encryption key which will be used to encrypt messages content + /// + [JsonProperty(PropertyName = "customEncryptionKeyId")] + public string CustomEncryptionKeyId { get; set; } + + /// + /// Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. + /// Example: {"bar-key": "value"} + /// + [JsonProperty(PropertyName = "freeformTags")] + public System.Collections.Generic.Dictionary FreeformTags { get; set; } + + /// + /// Defined tags for this resource. Each key is predefined and scoped to a namespace. + /// Example: {"foo-namespace": {"bar-key": "value"}} + /// + [JsonProperty(PropertyName = "definedTags")] + public System.Collections.Generic.Dictionary> DefinedTags { get; set; } + + /// + /// Usage of system tag keys. These predefined keys are scoped to namespaces. + /// Example: {"orcl-cloud": {"free-tier-retained": "true"}} + /// + [JsonProperty(PropertyName = "systemTags")] + public System.Collections.Generic.Dictionary> SystemTags { get; set; } + + } +} diff --git a/Queue/models/QueueCollection.cs b/Queue/models/QueueCollection.cs new file mode 100644 index 000000000..7836b14bf --- /dev/null +++ b/Queue/models/QueueCollection.cs @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; + + +namespace Oci.QueueService.Models +{ + /// + /// Results of a queue search. Contains both QueueSummary items and other information, such as metadata. + /// + public class QueueCollection + { + + /// + /// List of queues. + /// + /// + /// Required + /// + [Required(ErrorMessage = "Items is required.")] + [JsonProperty(PropertyName = "items")] + public System.Collections.Generic.List Items { get; set; } + + } +} diff --git a/Queue/models/QueueStats.cs b/Queue/models/QueueStats.cs new file mode 100644 index 000000000..0ea326924 --- /dev/null +++ b/Queue/models/QueueStats.cs @@ -0,0 +1,39 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; + + +namespace Oci.QueueService.Models +{ + /// + /// The stats for a queue and its dead letter queue. + /// + public class QueueStats + { + + /// + /// Required + /// + [Required(ErrorMessage = "Queue is required.")] + [JsonProperty(PropertyName = "queue")] + public Stats Queue { get; set; } + + /// + /// Required + /// + [Required(ErrorMessage = "Dlq is required.")] + [JsonProperty(PropertyName = "dlq")] + public Stats Dlq { get; set; } + + } +} diff --git a/Queue/models/QueueSummary.cs b/Queue/models/QueueSummary.cs new file mode 100644 index 000000000..8b3230cf3 --- /dev/null +++ b/Queue/models/QueueSummary.cs @@ -0,0 +1,119 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; + + +namespace Oci.QueueService.Models +{ + /// + /// Summary of the Queue. + /// + public class QueueSummary + { + + /// + /// Unique identifier that is immutable on creation + /// + /// + /// Required + /// + [Required(ErrorMessage = "Id is required.")] + [JsonProperty(PropertyName = "id")] + public string Id { get; set; } + + /// + /// Queue Identifier, can be renamed + /// + [JsonProperty(PropertyName = "displayName")] + public string DisplayName { get; set; } + + /// + /// Compartment Identifier + /// + /// + /// Required + /// + [Required(ErrorMessage = "CompartmentId is required.")] + [JsonProperty(PropertyName = "compartmentId")] + public string CompartmentId { get; set; } + + /// + /// The time the the Queue was created. An RFC3339 formatted datetime string + /// + /// + /// Required + /// + [Required(ErrorMessage = "TimeCreated is required.")] + [JsonProperty(PropertyName = "timeCreated")] + public System.Nullable TimeCreated { get; set; } + + /// + /// The time the Queue was updated. An RFC3339 formatted datetime string + /// + /// + /// Required + /// + [Required(ErrorMessage = "TimeUpdated is required.")] + [JsonProperty(PropertyName = "timeUpdated")] + public System.Nullable TimeUpdated { get; set; } + + /// + /// The current state of the Queue. + /// + /// + /// Required + /// + [Required(ErrorMessage = "LifecycleState is required.")] + [JsonProperty(PropertyName = "lifecycleState")] + [JsonConverter(typeof(StringEnumConverter))] + public System.Nullable LifecycleState { get; set; } + + /// + /// A message describing the current state in more detail. For example, can be used to provide actionable information for a resource in Failed state. + /// + [JsonProperty(PropertyName = "lifecycleDetails")] + public string LifecycleDetails { get; set; } + + /// + /// The endpoint to use to get or put messages in the queue. + /// + /// + /// Required + /// + [Required(ErrorMessage = "MessagesEndpoint is required.")] + [JsonProperty(PropertyName = "messagesEndpoint")] + public string MessagesEndpoint { get; set; } + + /// + /// Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. + /// Example: {"bar-key": "value"} + /// + [JsonProperty(PropertyName = "freeformTags")] + public System.Collections.Generic.Dictionary FreeformTags { get; set; } + + /// + /// Defined tags for this resource. Each key is predefined and scoped to a namespace. + /// Example: {"foo-namespace": {"bar-key": "value"}} + /// + [JsonProperty(PropertyName = "definedTags")] + public System.Collections.Generic.Dictionary> DefinedTags { get; set; } + + /// + /// Usage of system tag keys. These predefined keys are scoped to namespaces. + /// Example: {"orcl-cloud": {"free-tier-retained": "true"}} + /// + [JsonProperty(PropertyName = "systemTags")] + public System.Collections.Generic.Dictionary> SystemTags { get; set; } + + } +} diff --git a/Queue/models/SortOrder.cs b/Queue/models/SortOrder.cs new file mode 100644 index 000000000..410e84693 --- /dev/null +++ b/Queue/models/SortOrder.cs @@ -0,0 +1,24 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; + +namespace Oci.QueueService.Models +{ + /// + /// Sort orders. + /// + public enum SortOrder { + [EnumMember(Value = "ASC")] + Asc, + [EnumMember(Value = "DESC")] + Desc + } +} diff --git a/Queue/models/Stats.cs b/Queue/models/Stats.cs new file mode 100644 index 000000000..4be0e933a --- /dev/null +++ b/Queue/models/Stats.cs @@ -0,0 +1,55 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; + + +namespace Oci.QueueService.Models +{ + /// + /// The stats for a queue or a dead letter queue. + /// + public class Stats + { + + /// + /// The approximate number of visible messages (available for delivery) currently in the queue. + /// + /// + /// Required + /// + [Required(ErrorMessage = "VisibleMessages is required.")] + [JsonProperty(PropertyName = "visibleMessages")] + public System.Nullable VisibleMessages { get; set; } + + /// + /// The approximate number of messages delivered to a consumer but not yet deleted and so unavailable for re-delivery. + /// + /// + /// Required + /// + [Required(ErrorMessage = "InFlightMessages is required.")] + [JsonProperty(PropertyName = "inFlightMessages")] + public System.Nullable InFlightMessages { get; set; } + + /// + /// The approximate size of the queue in bytes. Sum of the size of visible of in-flight messages. + /// + /// + /// Required + /// + [Required(ErrorMessage = "SizeInBytes is required.")] + [JsonProperty(PropertyName = "sizeInBytes")] + public System.Nullable SizeInBytes { get; set; } + + } +} diff --git a/Queue/models/UpdateMessageDetails.cs b/Queue/models/UpdateMessageDetails.cs new file mode 100644 index 000000000..1e324adf3 --- /dev/null +++ b/Queue/models/UpdateMessageDetails.cs @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; + + +namespace Oci.QueueService.Models +{ + /// + /// Updates the visibility of a message + /// + public class UpdateMessageDetails + { + + /// + /// The new visibility of the message relative to the current time (as-per the clock of the server receiving the request). + /// + /// + /// Required + /// + [Required(ErrorMessage = "VisibilityInSeconds is required.")] + [JsonProperty(PropertyName = "visibilityInSeconds")] + public System.Nullable VisibilityInSeconds { get; set; } + + } +} diff --git a/Queue/models/UpdateMessagesDetails.cs b/Queue/models/UpdateMessagesDetails.cs new file mode 100644 index 000000000..17a268396 --- /dev/null +++ b/Queue/models/UpdateMessagesDetails.cs @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; + + +namespace Oci.QueueService.Models +{ + /// + /// The details of a UpdateMessages request. + /// + public class UpdateMessagesDetails + { + + /// + /// The array of messages to update in a queue. + /// + /// + /// Required + /// + [Required(ErrorMessage = "Entries is required.")] + [JsonProperty(PropertyName = "entries")] + public System.Collections.Generic.List Entries { get; set; } + + } +} diff --git a/Queue/models/UpdateMessagesDetailsEntry.cs b/Queue/models/UpdateMessagesDetailsEntry.cs new file mode 100644 index 000000000..fd3b66378 --- /dev/null +++ b/Queue/models/UpdateMessagesDetailsEntry.cs @@ -0,0 +1,45 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; + + +namespace Oci.QueueService.Models +{ + /// + /// Object that represents a message to update in a queue. + /// + public class UpdateMessagesDetailsEntry + { + + /// + /// The receipt of the message to update + /// + /// + /// Required + /// + [Required(ErrorMessage = "Receipt is required.")] + [JsonProperty(PropertyName = "receipt")] + public string Receipt { get; set; } + + /// + /// The new visibility of the message relative to the current time (as-per the clock of the server receiving the request). + /// + /// + /// Required + /// + [Required(ErrorMessage = "VisibilityInSeconds is required.")] + [JsonProperty(PropertyName = "visibilityInSeconds")] + public System.Nullable VisibilityInSeconds { get; set; } + + } +} diff --git a/Queue/models/UpdateMessagesResult.cs b/Queue/models/UpdateMessagesResult.cs new file mode 100644 index 000000000..cd9227b22 --- /dev/null +++ b/Queue/models/UpdateMessagesResult.cs @@ -0,0 +1,59 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; + + +namespace Oci.QueueService.Models +{ + /// + /// The response to a UpdateMessages request. It indicates the number of server and client failures as well as an array of entries for successful and failed actions. + /// + public class UpdateMessagesResult + { + + /// + /// The number of messages that failed to be updated in the queue because of a server failure. + /// + /// + /// Required + /// + [Required(ErrorMessage = "ServerFailures is required.")] + [JsonProperty(PropertyName = "serverFailures")] + public System.Nullable ServerFailures { get; set; } + + /// + /// The number of messages that failed to be updated in the queue because of a client failure such as an invalid receipt or invalid visibilityInSeconds. + /// + /// + /// Required + /// + [Required(ErrorMessage = "ClientFailures is required.")] + [JsonProperty(PropertyName = "clientFailures")] + public System.Nullable ClientFailures { get; set; } + + /// + /// An array of items representing the result of each action. + /// The order is guaranteed to be the same as in the `UpdateMessagesDetails` object. + /// If a message was successfully updated in the queue, the entry includes the `id` and `visibleAfter` fields. + /// If a message failed to be updated in the queue, the entry includes the `errorCode` and `errorMessage` fields. + /// + /// + /// + /// Required + /// + [Required(ErrorMessage = "Entries is required.")] + [JsonProperty(PropertyName = "entries")] + public System.Collections.Generic.List Entries { get; set; } + + } +} diff --git a/Queue/models/UpdateMessagesResultEntry.cs b/Queue/models/UpdateMessagesResultEntry.cs new file mode 100644 index 000000000..acfd935e6 --- /dev/null +++ b/Queue/models/UpdateMessagesResultEntry.cs @@ -0,0 +1,52 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; + + +namespace Oci.QueueService.Models +{ + /// + /// Represents the result of a UpdateMessages request, whether it was successful or not. + /// If a message was successfully updated in the queue, the entry includes the `id` and `visibleAfter` fields. + /// If a message failed to be updated in the queue, the entry includes the `errorCode` and `errorMessage` fields. + /// + /// + public class UpdateMessagesResultEntry + { + + /// + /// The id of the message that's been updated. + /// + [JsonProperty(PropertyName = "id")] + public System.Nullable Id { get; set; } + + /// + /// The time after which the message will be visible to other consumers. An RFC3339 formatted datetime string + /// + [JsonProperty(PropertyName = "visibleAfter")] + public System.Nullable VisibleAfter { get; set; } + + /// + /// The error code, in case the message was not successfully updated in the queue. + /// + [JsonProperty(PropertyName = "errorCode")] + public System.Nullable ErrorCode { get; set; } + + /// + /// A human-readable error message associated with the error code. + /// + [JsonProperty(PropertyName = "errorMessage")] + public string ErrorMessage { get; set; } + + } +} diff --git a/Queue/models/UpdateQueueDetails.cs b/Queue/models/UpdateQueueDetails.cs new file mode 100644 index 000000000..75d327f1d --- /dev/null +++ b/Queue/models/UpdateQueueDetails.cs @@ -0,0 +1,72 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; + + +namespace Oci.QueueService.Models +{ + /// + /// The information to be updated. + /// + public class UpdateQueueDetails + { + + /// + /// Queue Identifier + /// + [JsonProperty(PropertyName = "displayName")] + public string DisplayName { get; set; } + + /// + /// The default visibility of the messages consumed from the queue. + /// + [JsonProperty(PropertyName = "visibilityInSeconds")] + public System.Nullable VisibilityInSeconds { get; set; } + + /// + /// The default polling timeout of the messages in the queue, in seconds. + /// + [JsonProperty(PropertyName = "timeoutInSeconds")] + public System.Nullable TimeoutInSeconds { get; set; } + + /// + /// The number of times a message can be delivered to a consumer before being moved to the dead letter queue. + /// A value of 0 indicates that the DLQ is not used. + /// Changing that value to a lower threshold does not retro-actively move in-flight messages in the dead letter queue. + /// + /// + [JsonProperty(PropertyName = "deadLetterQueueDeliveryCount")] + public System.Nullable DeadLetterQueueDeliveryCount { get; set; } + + /// + /// Id of the custom master encryption key which will be used to encrypt messages content. String of length 0 means the custom key should be removed from queue + /// + [JsonProperty(PropertyName = "customEncryptionKeyId")] + public string CustomEncryptionKeyId { get; set; } + + /// + /// Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. + /// Example: {"bar-key": "value"} + /// + [JsonProperty(PropertyName = "freeformTags")] + public System.Collections.Generic.Dictionary FreeformTags { get; set; } + + /// + /// Defined tags for this resource. Each key is predefined and scoped to a namespace. + /// Example: {"foo-namespace": {"bar-key": "value"}} + /// + [JsonProperty(PropertyName = "definedTags")] + public System.Collections.Generic.Dictionary> DefinedTags { get; set; } + + } +} diff --git a/Queue/models/UpdatedMessage.cs b/Queue/models/UpdatedMessage.cs new file mode 100644 index 000000000..c8acfada8 --- /dev/null +++ b/Queue/models/UpdatedMessage.cs @@ -0,0 +1,45 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; + + +namespace Oci.QueueService.Models +{ + /// + /// An updated message with the new visibility. + /// + public class UpdatedMessage + { + + /// + /// The id of the message that's been updated. + /// + /// + /// Required + /// + [Required(ErrorMessage = "Id is required.")] + [JsonProperty(PropertyName = "id")] + public System.Nullable Id { get; set; } + + /// + /// The time after which the message will be visible to other consumers. An RFC3339 formatted datetime string + /// + /// + /// Required + /// + [Required(ErrorMessage = "VisibleAfter is required.")] + [JsonProperty(PropertyName = "visibleAfter")] + public System.Nullable VisibleAfter { get; set; } + + } +} diff --git a/Queue/models/WorkRequest.cs b/Queue/models/WorkRequest.cs new file mode 100644 index 000000000..5219e5e13 --- /dev/null +++ b/Queue/models/WorkRequest.cs @@ -0,0 +1,118 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; + + +namespace Oci.QueueService.Models +{ + /// + /// A description of workrequest status + /// + public class WorkRequest + { + + /// + /// Type of the work request + /// + /// + /// Required + /// + [Required(ErrorMessage = "OperationType is required.")] + [JsonProperty(PropertyName = "operationType")] + [JsonConverter(typeof(Oci.Common.Utils.ResponseEnumConverter))] + public System.Nullable OperationType { get; set; } + + /// + /// Status of current work request. + /// + /// + /// Required + /// + [Required(ErrorMessage = "Status is required.")] + [JsonProperty(PropertyName = "status")] + [JsonConverter(typeof(Oci.Common.Utils.ResponseEnumConverter))] + public System.Nullable Status { get; set; } + + /// + /// The id of the work request. + /// + /// + /// Required + /// + [Required(ErrorMessage = "Id is required.")] + [JsonProperty(PropertyName = "id")] + public string Id { get; set; } + + /// + /// The ocid of the compartment that contains the work request. Work requests should be scoped to + /// the same compartment as the resource the work request affects. If the work request affects multiple resources, + /// and those resources are not in the same compartment, it is up to the service team to pick the primary + /// resource whose compartment should be used + /// + /// + /// + /// Required + /// + [Required(ErrorMessage = "CompartmentId is required.")] + [JsonProperty(PropertyName = "compartmentId")] + public string CompartmentId { get; set; } + + /// + /// The resources affected by this work request. + /// + /// + /// Required + /// + [Required(ErrorMessage = "Resources is required.")] + [JsonProperty(PropertyName = "resources")] + public System.Collections.Generic.List Resources { get; set; } + + /// + /// Percentage of the request completed. + /// + /// + /// Required + /// + [Required(ErrorMessage = "PercentComplete is required.")] + [JsonProperty(PropertyName = "percentComplete")] + public System.Nullable PercentComplete { get; set; } + + /// + /// The date and time the request was created, as described in + /// [RFC 3339](https://tools.ietf.org/rfc/rfc3339), section 14.29. + /// + /// + /// + /// Required + /// + [Required(ErrorMessage = "TimeAccepted is required.")] + [JsonProperty(PropertyName = "timeAccepted")] + public System.Nullable TimeAccepted { get; set; } + + /// + /// The date and time the request was started, as described in [RFC 3339](https://tools.ietf.org/rfc/rfc3339), + /// section 14.29. + /// + /// + [JsonProperty(PropertyName = "timeStarted")] + public System.Nullable TimeStarted { get; set; } + + /// + /// The date and time the object was finished, as described in [RFC 3339](https://tools.ietf.org/rfc/rfc3339). + /// + /// + [JsonProperty(PropertyName = "timeFinished")] + public System.Nullable TimeFinished { get; set; } + + } +} diff --git a/Queue/models/WorkRequestError.cs b/Queue/models/WorkRequestError.cs new file mode 100644 index 000000000..c52eac3e3 --- /dev/null +++ b/Queue/models/WorkRequestError.cs @@ -0,0 +1,57 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; + + +namespace Oci.QueueService.Models +{ + /// + /// An error encountered while executing a work request. + /// + public class WorkRequestError + { + + /// + /// A machine-usable code for the error that occured. Error codes are listed on + /// (https://docs.cloud.oracle.com/Content/API/References/apierrors.htm) + /// + /// + /// + /// Required + /// + [Required(ErrorMessage = "Code is required.")] + [JsonProperty(PropertyName = "code")] + public string Code { get; set; } + + /// + /// A human readable description of the issue encountered. + /// + /// + /// Required + /// + [Required(ErrorMessage = "Message is required.")] + [JsonProperty(PropertyName = "message")] + public string Message { get; set; } + + /// + /// The time the error occured. An RFC3339 formatted datetime string. + /// + /// + /// Required + /// + [Required(ErrorMessage = "Timestamp is required.")] + [JsonProperty(PropertyName = "timestamp")] + public System.Nullable Timestamp { get; set; } + + } +} diff --git a/Queue/models/WorkRequestErrorCollection.cs b/Queue/models/WorkRequestErrorCollection.cs new file mode 100644 index 000000000..2d1cc083f --- /dev/null +++ b/Queue/models/WorkRequestErrorCollection.cs @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; + + +namespace Oci.QueueService.Models +{ + /// + /// Results of a workRequestError search. Contains both WorkRequestError items and other information, such as metadata. + /// + public class WorkRequestErrorCollection + { + + /// + /// List of workRequestError objects. + /// + /// + /// Required + /// + [Required(ErrorMessage = "Items is required.")] + [JsonProperty(PropertyName = "items")] + public System.Collections.Generic.List Items { get; set; } + + } +} diff --git a/Queue/models/WorkRequestLogEntry.cs b/Queue/models/WorkRequestLogEntry.cs new file mode 100644 index 000000000..2c0da9fcd --- /dev/null +++ b/Queue/models/WorkRequestLogEntry.cs @@ -0,0 +1,45 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; + + +namespace Oci.QueueService.Models +{ + /// + /// A log message from the execution of a work request. + /// + public class WorkRequestLogEntry + { + + /// + /// Human-readable log message. + /// + /// + /// Required + /// + [Required(ErrorMessage = "Message is required.")] + [JsonProperty(PropertyName = "message")] + public string Message { get; set; } + + /// + /// The time the log message was written. An RFC3339 formatted datetime string + /// + /// + /// Required + /// + [Required(ErrorMessage = "Timestamp is required.")] + [JsonProperty(PropertyName = "timestamp")] + public System.Nullable Timestamp { get; set; } + + } +} diff --git a/Queue/models/WorkRequestLogEntryCollection.cs b/Queue/models/WorkRequestLogEntryCollection.cs new file mode 100644 index 000000000..06ee832bc --- /dev/null +++ b/Queue/models/WorkRequestLogEntryCollection.cs @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; + + +namespace Oci.QueueService.Models +{ + /// + /// Results of a workRequestLog search. Contains both workRequestLog items and other information, such as metadata. + /// + public class WorkRequestLogEntryCollection + { + + /// + /// List of workRequestLogEntries. + /// + /// + /// Required + /// + [Required(ErrorMessage = "Items is required.")] + [JsonProperty(PropertyName = "items")] + public System.Collections.Generic.List Items { get; set; } + + } +} diff --git a/Queue/models/WorkRequestResource.cs b/Queue/models/WorkRequestResource.cs new file mode 100644 index 000000000..9802d71bb --- /dev/null +++ b/Queue/models/WorkRequestResource.cs @@ -0,0 +1,66 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; + + +namespace Oci.QueueService.Models +{ + /// + /// A resource created or operated on by a work request. + /// + public class WorkRequestResource + { + + /// + /// The resource type the work request affects. + /// + /// + /// Required + /// + [Required(ErrorMessage = "EntityType is required.")] + [JsonProperty(PropertyName = "entityType")] + public string EntityType { get; set; } + + /// + /// The way in which this resource is affected by the work tracked in the work request. + /// A resource being created, updated, or deleted will remain in the IN_PROGRESS state until + /// work is complete for that resource at which point it will transition to CREATED, UPDATED, + /// or DELETED, respectively. + /// + /// + /// + /// Required + /// + [Required(ErrorMessage = "ActionType is required.")] + [JsonProperty(PropertyName = "actionType")] + [JsonConverter(typeof(Oci.Common.Utils.ResponseEnumConverter))] + public System.Nullable ActionType { get; set; } + + /// + /// The identifier of the resource the work request affects. + /// + /// + /// Required + /// + [Required(ErrorMessage = "Identifier is required.")] + [JsonProperty(PropertyName = "identifier")] + public string Identifier { get; set; } + + /// + /// The URI path that the user can do a GET on to access the resource metadata + /// + [JsonProperty(PropertyName = "entityUri")] + public string EntityUri { get; set; } + + } +} diff --git a/Queue/models/WorkRequestSummary.cs b/Queue/models/WorkRequestSummary.cs new file mode 100644 index 000000000..9aec25942 --- /dev/null +++ b/Queue/models/WorkRequestSummary.cs @@ -0,0 +1,118 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; + + +namespace Oci.QueueService.Models +{ + /// + /// A summary of the status of a work request. + /// + public class WorkRequestSummary + { + + /// + /// Type of the work request + /// + /// + /// Required + /// + [Required(ErrorMessage = "OperationType is required.")] + [JsonProperty(PropertyName = "operationType")] + [JsonConverter(typeof(Oci.Common.Utils.ResponseEnumConverter))] + public System.Nullable OperationType { get; set; } + + /// + /// Status of current work request. + /// + /// + /// Required + /// + [Required(ErrorMessage = "Status is required.")] + [JsonProperty(PropertyName = "status")] + [JsonConverter(typeof(Oci.Common.Utils.ResponseEnumConverter))] + public System.Nullable Status { get; set; } + + /// + /// The id of the work request. + /// + /// + /// Required + /// + [Required(ErrorMessage = "Id is required.")] + [JsonProperty(PropertyName = "id")] + public string Id { get; set; } + + /// + /// The ocid of the compartment that contains the work request. Work requests should be scoped to + /// the same compartment as the resource the work request affects. If the work request affects multiple resources, + /// and those resources are not in the same compartment, it is up to the service team to pick the primary + /// resource whose compartment should be used + /// + /// + /// + /// Required + /// + [Required(ErrorMessage = "CompartmentId is required.")] + [JsonProperty(PropertyName = "compartmentId")] + public string CompartmentId { get; set; } + + /// + /// The resources affected by this work request. + /// + /// + /// Required + /// + [Required(ErrorMessage = "Resources is required.")] + [JsonProperty(PropertyName = "resources")] + public System.Collections.Generic.List Resources { get; set; } + + /// + /// Percentage of the request completed. + /// + /// + /// Required + /// + [Required(ErrorMessage = "PercentComplete is required.")] + [JsonProperty(PropertyName = "percentComplete")] + public System.Nullable PercentComplete { get; set; } + + /// + /// The date and time the request was created, as described in + /// [RFC 3339](https://tools.ietf.org/rfc/rfc3339), section 14.29. + /// + /// + /// + /// Required + /// + [Required(ErrorMessage = "TimeAccepted is required.")] + [JsonProperty(PropertyName = "timeAccepted")] + public System.Nullable TimeAccepted { get; set; } + + /// + /// The date and time the request was started, as described in [RFC 3339](https://tools.ietf.org/rfc/rfc3339), + /// section 14.29. + /// + /// + [JsonProperty(PropertyName = "timeStarted")] + public System.Nullable TimeStarted { get; set; } + + /// + /// The date and time the object was finished, as described in [RFC 3339](https://tools.ietf.org/rfc/rfc3339). + /// + /// + [JsonProperty(PropertyName = "timeFinished")] + public System.Nullable TimeFinished { get; set; } + + } +} diff --git a/Queue/models/WorkRequestSummaryCollection.cs b/Queue/models/WorkRequestSummaryCollection.cs new file mode 100644 index 000000000..919a30b17 --- /dev/null +++ b/Queue/models/WorkRequestSummaryCollection.cs @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; + + +namespace Oci.QueueService.Models +{ + /// + /// Results of a workRequest search. Contains both WorkRequest items and other information, such as metadata. + /// + public class WorkRequestSummaryCollection + { + + /// + /// List of workRequestSummary objects. + /// + /// + /// Required + /// + [Required(ErrorMessage = "Items is required.")] + [JsonProperty(PropertyName = "items")] + public System.Collections.Generic.List Items { get; set; } + + } +} diff --git a/Queue/requests/ChangeQueueCompartmentRequest.cs b/Queue/requests/ChangeQueueCompartmentRequest.cs new file mode 100644 index 000000000..20f75c386 --- /dev/null +++ b/Queue/requests/ChangeQueueCompartmentRequest.cs @@ -0,0 +1,59 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Oci.QueueService.Models; + +namespace Oci.QueueService.Requests +{ + /// + /// Click here to see an example of how to use ChangeQueueCompartment request. + /// + public class ChangeQueueCompartmentRequest : Oci.Common.IOciRequest + { + + /// + /// unique Queue identifier + /// + /// + /// Required + /// + [Required(ErrorMessage = "QueueId is required.")] + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Path, "queueId")] + public string QueueId { get; set; } + + /// + /// The information to be updated. + /// + /// + /// Required + /// + [Required(ErrorMessage = "ChangeQueueCompartmentDetails is required.")] + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Body)] + public ChangeQueueCompartmentDetails ChangeQueueCompartmentDetails { get; set; } + + /// + /// For optimistic concurrency control. In the PUT or DELETE call + /// for a resource, set the `if-match` parameter to the value of the + /// etag from a previous GET or POST response for that resource. + /// The resource will be updated or deleted only if the etag you + /// provide matches the resource's current etag value. + /// + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "if-match")] + public string IfMatch { get; set; } + + /// + /// The client request ID for tracing. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-request-id")] + public string OpcRequestId { get; set; } + } +} diff --git a/Queue/requests/CreateQueueRequest.cs b/Queue/requests/CreateQueueRequest.cs new file mode 100644 index 000000000..1d424f0fa --- /dev/null +++ b/Queue/requests/CreateQueueRequest.cs @@ -0,0 +1,49 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Oci.QueueService.Models; + +namespace Oci.QueueService.Requests +{ + /// + /// Click here to see an example of how to use CreateQueue request. + /// + public class CreateQueueRequest : Oci.Common.IOciRequest + { + + /// + /// Details for the new Queue. + /// + /// + /// Required + /// + [Required(ErrorMessage = "CreateQueueDetails is required.")] + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Body)] + public CreateQueueDetails CreateQueueDetails { get; set; } + + /// + /// A token that uniquely identifies a request so it can be retried in case of a timeout or + /// server error without risk of executing that same action again. Retry tokens expire after 24 + /// hours, but can be invalidated before then due to conflicting operations. For example, if a resource + /// has been deleted and purged from the system, then a retry of the original creation request + /// might be rejected. + /// + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-retry-token")] + public string OpcRetryToken { get; set; } + + /// + /// The client request ID for tracing. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-request-id")] + public string OpcRequestId { get; set; } + } +} diff --git a/Queue/requests/DeleteMessageRequest.cs b/Queue/requests/DeleteMessageRequest.cs new file mode 100644 index 000000000..91e78ca5b --- /dev/null +++ b/Queue/requests/DeleteMessageRequest.cs @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Oci.QueueService.Models; + +namespace Oci.QueueService.Requests +{ + /// + /// Click here to see an example of how to use DeleteMessage request. + /// + public class DeleteMessageRequest : Oci.Common.IOciRequest + { + + /// + /// unique Queue identifier + /// + /// + /// Required + /// + [Required(ErrorMessage = "QueueId is required.")] + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Path, "queueId")] + public string QueueId { get; set; } + + /// + /// The receipt of the message retrieved from a GetMessages call. + /// + /// + /// Required + /// + [Required(ErrorMessage = "MessageReceipt is required.")] + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Path, "messageReceipt")] + public string MessageReceipt { get; set; } + + /// + /// The client request ID for tracing. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-request-id")] + public string OpcRequestId { get; set; } + } +} diff --git a/Queue/requests/DeleteMessagesRequest.cs b/Queue/requests/DeleteMessagesRequest.cs new file mode 100644 index 000000000..90b8d2019 --- /dev/null +++ b/Queue/requests/DeleteMessagesRequest.cs @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Oci.QueueService.Models; + +namespace Oci.QueueService.Requests +{ + /// + /// Click here to see an example of how to use DeleteMessages request. + /// + public class DeleteMessagesRequest : Oci.Common.IOciRequest + { + + /// + /// unique Queue identifier + /// + /// + /// Required + /// + [Required(ErrorMessage = "QueueId is required.")] + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Path, "queueId")] + public string QueueId { get; set; } + + /// + /// Details for the messages to delete. + /// + /// + /// Required + /// + [Required(ErrorMessage = "DeleteMessagesDetails is required.")] + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Body)] + public DeleteMessagesDetails DeleteMessagesDetails { get; set; } + + /// + /// The client request ID for tracing. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-request-id")] + public string OpcRequestId { get; set; } + } +} diff --git a/Queue/requests/DeleteQueueRequest.cs b/Queue/requests/DeleteQueueRequest.cs new file mode 100644 index 000000000..e1d40844e --- /dev/null +++ b/Queue/requests/DeleteQueueRequest.cs @@ -0,0 +1,49 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Oci.QueueService.Models; + +namespace Oci.QueueService.Requests +{ + /// + /// Click here to see an example of how to use DeleteQueue request. + /// + public class DeleteQueueRequest : Oci.Common.IOciRequest + { + + /// + /// unique Queue identifier + /// + /// + /// Required + /// + [Required(ErrorMessage = "QueueId is required.")] + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Path, "queueId")] + public string QueueId { get; set; } + + /// + /// For optimistic concurrency control. In the PUT or DELETE call + /// for a resource, set the `if-match` parameter to the value of the + /// etag from a previous GET or POST response for that resource. + /// The resource will be updated or deleted only if the etag you + /// provide matches the resource's current etag value. + /// + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "if-match")] + public string IfMatch { get; set; } + + /// + /// The client request ID for tracing. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-request-id")] + public string OpcRequestId { get; set; } + } +} diff --git a/Queue/requests/GetMessagesRequest.cs b/Queue/requests/GetMessagesRequest.cs new file mode 100644 index 000000000..62d5beb1b --- /dev/null +++ b/Queue/requests/GetMessagesRequest.cs @@ -0,0 +1,66 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Oci.QueueService.Models; + +namespace Oci.QueueService.Requests +{ + /// + /// Click here to see an example of how to use GetMessages request. + /// + public class GetMessagesRequest : Oci.Common.IOciRequest + { + + /// + /// unique Queue identifier + /// + /// + /// Required + /// + [Required(ErrorMessage = "QueueId is required.")] + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Path, "queueId")] + public string QueueId { get; set; } + + /// + /// If the visibilityInSeconds parameter is set, messages will be hidden for visibilityInSeconds seconds and won't be consumable by other consumers during that time. + /// If it isn't set it defaults to the value set at the queue level. The minimum is 0 and the maximum is 43,200 (12 hours). + /// Using a visibilityInSeconds of 0, effectively acts as a peek functionality. + /// Messages retrieved that way, aren't meant to be deleted because they will most likely be delivered to another consumer as their visibility won't change, but will still increase the delivery count by one. + /// + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Query, "visibilityInSeconds")] + public System.Nullable VisibilityInSeconds { get; set; } + + /// + /// If the timeoutInSeconds parameter isn't set or set to a value greater than zero, the request is using the long-polling mode and will only return when a message is available for consumption (it does not wait for limit messages but still only returns at-most limit messages) or after timeoutInSeconds seconds (in which case it will return an empty response) whichever comes first. + /// If the parameter is set to zero, the request is using the short-polling mode and immediately returns whether messages have been retrieved or not. + /// In same rare-cases a long-polling request could be interrupted (returned with empty response) before the end of the timeout. + /// The minimum is 0 (long polling disabled), the maximum is 30 seconds and default is 30 seconds. + /// + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Query, "timeoutInSeconds")] + public System.Nullable TimeoutInSeconds { get; set; } + + /// + /// The limit parameter controls how many messages is returned at-most. + /// The default is 1, the minimum is 1 and the maximum is 32. + /// + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Query, "limit")] + public System.Nullable Limit { get; set; } + + /// + /// The client request ID for tracing. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-request-id")] + public string OpcRequestId { get; set; } + } +} diff --git a/Queue/requests/GetQueueRequest.cs b/Queue/requests/GetQueueRequest.cs new file mode 100644 index 000000000..d5664e7f3 --- /dev/null +++ b/Queue/requests/GetQueueRequest.cs @@ -0,0 +1,38 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Oci.QueueService.Models; + +namespace Oci.QueueService.Requests +{ + /// + /// Click here to see an example of how to use GetQueue request. + /// + public class GetQueueRequest : Oci.Common.IOciRequest + { + + /// + /// unique Queue identifier + /// + /// + /// Required + /// + [Required(ErrorMessage = "QueueId is required.")] + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Path, "queueId")] + public string QueueId { get; set; } + + /// + /// The client request ID for tracing. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-request-id")] + public string OpcRequestId { get; set; } + } +} diff --git a/Queue/requests/GetStatsRequest.cs b/Queue/requests/GetStatsRequest.cs new file mode 100644 index 000000000..0cf616707 --- /dev/null +++ b/Queue/requests/GetStatsRequest.cs @@ -0,0 +1,38 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Oci.QueueService.Models; + +namespace Oci.QueueService.Requests +{ + /// + /// Click here to see an example of how to use GetStats request. + /// + public class GetStatsRequest : Oci.Common.IOciRequest + { + + /// + /// unique Queue identifier + /// + /// + /// Required + /// + [Required(ErrorMessage = "QueueId is required.")] + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Path, "queueId")] + public string QueueId { get; set; } + + /// + /// The client request ID for tracing. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-request-id")] + public string OpcRequestId { get; set; } + } +} diff --git a/Queue/requests/GetWorkRequestRequest.cs b/Queue/requests/GetWorkRequestRequest.cs new file mode 100644 index 000000000..21bef5877 --- /dev/null +++ b/Queue/requests/GetWorkRequestRequest.cs @@ -0,0 +1,38 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Oci.QueueService.Models; + +namespace Oci.QueueService.Requests +{ + /// + /// Click here to see an example of how to use GetWorkRequest request. + /// + public class GetWorkRequestRequest : Oci.Common.IOciRequest + { + + /// + /// The ID of the asynchronous request. + /// + /// + /// Required + /// + [Required(ErrorMessage = "WorkRequestId is required.")] + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Path, "workRequestId")] + public string WorkRequestId { get; set; } + + /// + /// The client request ID for tracing. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-request-id")] + public string OpcRequestId { get; set; } + } +} diff --git a/Queue/requests/ListQueuesRequest.cs b/Queue/requests/ListQueuesRequest.cs new file mode 100644 index 000000000..5cbd814e0 --- /dev/null +++ b/Queue/requests/ListQueuesRequest.cs @@ -0,0 +1,90 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Oci.QueueService.Models; + +namespace Oci.QueueService.Requests +{ + /// + /// Click here to see an example of how to use ListQueues request. + /// + public class ListQueuesRequest : Oci.Common.IOciRequest + { + + /// + /// The ID of the compartment in which to list resources. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Query, "compartmentId")] + public string CompartmentId { get; set; } + + /// + /// A filter to return only resources their lifecycleState matches the given lifecycleState. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Query, "lifecycleState")] + public System.Nullable LifecycleState { get; set; } + + /// + /// A filter to return only resources that match the entire display name given. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Query, "displayName")] + public string DisplayName { get; set; } + + /// + /// unique Queue identifier + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Query, "id")] + public string Id { get; set; } + + /// + /// The maximum number of items to return. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Query, "limit")] + public System.Nullable Limit { get; set; } + + /// + /// The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Query, "page")] + public string Page { get; set; } + + /// + /// The sort order to use, either 'asc' or 'desc'. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Query, "sortOrder")] + public System.Nullable SortOrder { get; set; } + + /// + /// + /// The field to sort by. Only one sort order may be provided. Default order for timeCreated is descending. Default order for displayName is ascending. If no value is specified timeCreated is default. + /// + /// + /// + public enum SortByEnum { + [EnumMember(Value = "timeCreated")] + TimeCreated, + [EnumMember(Value = "displayName")] + DisplayName + }; + + /// + /// The field to sort by. Only one sort order may be provided. Default order for timeCreated is descending. Default order for displayName is ascending. If no value is specified timeCreated is default. + /// + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Query, "sortBy")] + public System.Nullable SortBy { get; set; } + + /// + /// The client request ID for tracing. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-request-id")] + public string OpcRequestId { get; set; } + } +} diff --git a/Queue/requests/ListWorkRequestErrorsRequest.cs b/Queue/requests/ListWorkRequestErrorsRequest.cs new file mode 100644 index 000000000..2757df72d --- /dev/null +++ b/Queue/requests/ListWorkRequestErrorsRequest.cs @@ -0,0 +1,50 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Oci.QueueService.Models; + +namespace Oci.QueueService.Requests +{ + /// + /// Click here to see an example of how to use ListWorkRequestErrors request. + /// + public class ListWorkRequestErrorsRequest : Oci.Common.IOciRequest + { + + /// + /// The ID of the asynchronous request. + /// + /// + /// Required + /// + [Required(ErrorMessage = "WorkRequestId is required.")] + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Path, "workRequestId")] + public string WorkRequestId { get; set; } + + /// + /// The client request ID for tracing. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-request-id")] + public string OpcRequestId { get; set; } + + /// + /// The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Query, "page")] + public string Page { get; set; } + + /// + /// The maximum number of items to return. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Query, "limit")] + public System.Nullable Limit { get; set; } + } +} diff --git a/Queue/requests/ListWorkRequestLogsRequest.cs b/Queue/requests/ListWorkRequestLogsRequest.cs new file mode 100644 index 000000000..3a63d7f03 --- /dev/null +++ b/Queue/requests/ListWorkRequestLogsRequest.cs @@ -0,0 +1,50 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Oci.QueueService.Models; + +namespace Oci.QueueService.Requests +{ + /// + /// Click here to see an example of how to use ListWorkRequestLogs request. + /// + public class ListWorkRequestLogsRequest : Oci.Common.IOciRequest + { + + /// + /// The ID of the asynchronous request. + /// + /// + /// Required + /// + [Required(ErrorMessage = "WorkRequestId is required.")] + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Path, "workRequestId")] + public string WorkRequestId { get; set; } + + /// + /// The client request ID for tracing. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-request-id")] + public string OpcRequestId { get; set; } + + /// + /// The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Query, "page")] + public string Page { get; set; } + + /// + /// The maximum number of items to return. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Query, "limit")] + public System.Nullable Limit { get; set; } + } +} diff --git a/Queue/requests/ListWorkRequestsRequest.cs b/Queue/requests/ListWorkRequestsRequest.cs new file mode 100644 index 000000000..009c919f5 --- /dev/null +++ b/Queue/requests/ListWorkRequestsRequest.cs @@ -0,0 +1,52 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Oci.QueueService.Models; + +namespace Oci.QueueService.Requests +{ + /// + /// Click here to see an example of how to use ListWorkRequests request. + /// + public class ListWorkRequestsRequest : Oci.Common.IOciRequest + { + + /// + /// The ID of the compartment in which to list resources. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Query, "compartmentId")] + public string CompartmentId { get; set; } + + /// + /// The ID of the asynchronous work request. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Query, "workRequestId")] + public string WorkRequestId { get; set; } + + /// + /// The client request ID for tracing. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-request-id")] + public string OpcRequestId { get; set; } + + /// + /// The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Query, "page")] + public string Page { get; set; } + + /// + /// The maximum number of items to return. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Query, "limit")] + public System.Nullable Limit { get; set; } + } +} diff --git a/Queue/requests/PurgeQueueRequest.cs b/Queue/requests/PurgeQueueRequest.cs new file mode 100644 index 000000000..d3c54030c --- /dev/null +++ b/Queue/requests/PurgeQueueRequest.cs @@ -0,0 +1,59 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Oci.QueueService.Models; + +namespace Oci.QueueService.Requests +{ + /// + /// Click here to see an example of how to use PurgeQueue request. + /// + public class PurgeQueueRequest : Oci.Common.IOciRequest + { + + /// + /// unique Queue identifier + /// + /// + /// Required + /// + [Required(ErrorMessage = "QueueId is required.")] + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Path, "queueId")] + public string QueueId { get; set; } + + /// + /// The information to be updated. + /// + /// + /// Required + /// + [Required(ErrorMessage = "PurgeQueueDetails is required.")] + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Body)] + public PurgeQueueDetails PurgeQueueDetails { get; set; } + + /// + /// For optimistic concurrency control. In the PUT or DELETE call + /// for a resource, set the `if-match` parameter to the value of the + /// etag from a previous GET or POST response for that resource. + /// The resource will be updated or deleted only if the etag you + /// provide matches the resource's current etag value. + /// + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "if-match")] + public string IfMatch { get; set; } + + /// + /// The client request ID for tracing. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-request-id")] + public string OpcRequestId { get; set; } + } +} diff --git a/Queue/requests/PutMessagesRequest.cs b/Queue/requests/PutMessagesRequest.cs new file mode 100644 index 000000000..3a02a0e9f --- /dev/null +++ b/Queue/requests/PutMessagesRequest.cs @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Oci.QueueService.Models; + +namespace Oci.QueueService.Requests +{ + /// + /// Click here to see an example of how to use PutMessages request. + /// + public class PutMessagesRequest : Oci.Common.IOciRequest + { + + /// + /// unique Queue identifier + /// + /// + /// Required + /// + [Required(ErrorMessage = "QueueId is required.")] + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Path, "queueId")] + public string QueueId { get; set; } + + /// + /// Details for the messages to publish. + /// + /// + /// Required + /// + [Required(ErrorMessage = "PutMessagesDetails is required.")] + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Body)] + public PutMessagesDetails PutMessagesDetails { get; set; } + + /// + /// The client request ID for tracing. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-request-id")] + public string OpcRequestId { get; set; } + } +} diff --git a/Queue/requests/UpdateMessageRequest.cs b/Queue/requests/UpdateMessageRequest.cs new file mode 100644 index 000000000..2454a6e50 --- /dev/null +++ b/Queue/requests/UpdateMessageRequest.cs @@ -0,0 +1,58 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Oci.QueueService.Models; + +namespace Oci.QueueService.Requests +{ + /// + /// Click here to see an example of how to use UpdateMessage request. + /// + public class UpdateMessageRequest : Oci.Common.IOciRequest + { + + /// + /// unique Queue identifier + /// + /// + /// Required + /// + [Required(ErrorMessage = "QueueId is required.")] + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Path, "queueId")] + public string QueueId { get; set; } + + /// + /// The receipt of the message retrieved from a GetMessages call. + /// + /// + /// Required + /// + [Required(ErrorMessage = "MessageReceipt is required.")] + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Path, "messageReceipt")] + public string MessageReceipt { get; set; } + + /// + /// Details for the message to update. + /// + /// + /// Required + /// + [Required(ErrorMessage = "UpdateMessageDetails is required.")] + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Body)] + public UpdateMessageDetails UpdateMessageDetails { get; set; } + + /// + /// The client request ID for tracing. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-request-id")] + public string OpcRequestId { get; set; } + } +} diff --git a/Queue/requests/UpdateMessagesRequest.cs b/Queue/requests/UpdateMessagesRequest.cs new file mode 100644 index 000000000..2801b2ed5 --- /dev/null +++ b/Queue/requests/UpdateMessagesRequest.cs @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Oci.QueueService.Models; + +namespace Oci.QueueService.Requests +{ + /// + /// Click here to see an example of how to use UpdateMessages request. + /// + public class UpdateMessagesRequest : Oci.Common.IOciRequest + { + + /// + /// unique Queue identifier + /// + /// + /// Required + /// + [Required(ErrorMessage = "QueueId is required.")] + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Path, "queueId")] + public string QueueId { get; set; } + + /// + /// Details for the messages to update. + /// + /// + /// Required + /// + [Required(ErrorMessage = "UpdateMessagesDetails is required.")] + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Body)] + public UpdateMessagesDetails UpdateMessagesDetails { get; set; } + + /// + /// The client request ID for tracing. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-request-id")] + public string OpcRequestId { get; set; } + } +} diff --git a/Queue/requests/UpdateQueueRequest.cs b/Queue/requests/UpdateQueueRequest.cs new file mode 100644 index 000000000..78fbef5a3 --- /dev/null +++ b/Queue/requests/UpdateQueueRequest.cs @@ -0,0 +1,59 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Oci.QueueService.Models; + +namespace Oci.QueueService.Requests +{ + /// + /// Click here to see an example of how to use UpdateQueue request. + /// + public class UpdateQueueRequest : Oci.Common.IOciRequest + { + + /// + /// unique Queue identifier + /// + /// + /// Required + /// + [Required(ErrorMessage = "QueueId is required.")] + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Path, "queueId")] + public string QueueId { get; set; } + + /// + /// The information to be updated. + /// + /// + /// Required + /// + [Required(ErrorMessage = "UpdateQueueDetails is required.")] + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Body)] + public UpdateQueueDetails UpdateQueueDetails { get; set; } + + /// + /// For optimistic concurrency control. In the PUT or DELETE call + /// for a resource, set the `if-match` parameter to the value of the + /// etag from a previous GET or POST response for that resource. + /// The resource will be updated or deleted only if the etag you + /// provide matches the resource's current etag value. + /// + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "if-match")] + public string IfMatch { get; set; } + + /// + /// The client request ID for tracing. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-request-id")] + public string OpcRequestId { get; set; } + } +} diff --git a/Queue/responses/ChangeQueueCompartmentResponse.cs b/Queue/responses/ChangeQueueCompartmentResponse.cs new file mode 100644 index 000000000..9ed73f2c4 --- /dev/null +++ b/Queue/responses/ChangeQueueCompartmentResponse.cs @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.Runtime.Serialization; +using Oci.QueueService.Models; + +namespace Oci.QueueService.Responses +{ + public class ChangeQueueCompartmentResponse : Oci.Common.IOciResponse + { + + /// + /// Unique Oracle-assigned identifier for the asynchronous request. You can use this to query status of the asynchronous operation. + /// + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-work-request-id")] + public string OpcWorkRequestId { get; set; } + + + /// + /// Unique Oracle-assigned identifier for the request. If you need to contact + /// Oracle about a particular request, please provide the request ID. + /// + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-request-id")] + public string OpcRequestId { get; set; } + + + + } +} diff --git a/Queue/responses/CreateQueueResponse.cs b/Queue/responses/CreateQueueResponse.cs new file mode 100644 index 000000000..6b760573c --- /dev/null +++ b/Queue/responses/CreateQueueResponse.cs @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.Runtime.Serialization; +using Oci.QueueService.Models; + +namespace Oci.QueueService.Responses +{ + public class CreateQueueResponse : Oci.Common.IOciResponse + { + + /// + /// Unique Oracle-assigned identifier for the asynchronous request. You can use this to query status of the asynchronous operation. + /// + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-work-request-id")] + public string OpcWorkRequestId { get; set; } + + + /// + /// Unique Oracle-assigned identifier for the request. If you need to contact + /// Oracle about a particular request, please provide the request ID. + /// + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-request-id")] + public string OpcRequestId { get; set; } + + + + } +} diff --git a/Queue/responses/DeleteMessageResponse.cs b/Queue/responses/DeleteMessageResponse.cs new file mode 100644 index 000000000..07137a695 --- /dev/null +++ b/Queue/responses/DeleteMessageResponse.cs @@ -0,0 +1,29 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.Runtime.Serialization; +using Oci.QueueService.Models; + +namespace Oci.QueueService.Responses +{ + public class DeleteMessageResponse : Oci.Common.IOciResponse + { + + /// + /// Unique Oracle-assigned identifier for the request. If you need to contact + /// Oracle about a particular request, please provide the request ID. + /// + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-request-id")] + public string OpcRequestId { get; set; } + + + + } +} diff --git a/Queue/responses/DeleteMessagesResponse.cs b/Queue/responses/DeleteMessagesResponse.cs new file mode 100644 index 000000000..7c47cf1ea --- /dev/null +++ b/Queue/responses/DeleteMessagesResponse.cs @@ -0,0 +1,33 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.Runtime.Serialization; +using Oci.QueueService.Models; + +namespace Oci.QueueService.Responses +{ + public class DeleteMessagesResponse : Oci.Common.IOciResponse + { + + /// + /// Unique Oracle-assigned identifier for the request. If you need to contact + /// Oracle about a particular request, please provide the request ID. + /// + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-request-id")] + public string OpcRequestId { get; set; } + + /// + /// The returned DeleteMessagesResult instance. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Body)] + public DeleteMessagesResult DeleteMessagesResult { get; set; } + + } +} diff --git a/Queue/responses/DeleteQueueResponse.cs b/Queue/responses/DeleteQueueResponse.cs new file mode 100644 index 000000000..1158febde --- /dev/null +++ b/Queue/responses/DeleteQueueResponse.cs @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.Runtime.Serialization; +using Oci.QueueService.Models; + +namespace Oci.QueueService.Responses +{ + public class DeleteQueueResponse : Oci.Common.IOciResponse + { + + /// + /// Unique Oracle-assigned identifier for the asynchronous request. You can use this to query status of the asynchronous operation. + /// + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-work-request-id")] + public string OpcWorkRequestId { get; set; } + + + /// + /// Unique Oracle-assigned identifier for the request. If you need to contact + /// Oracle about a particular request, please provide the request ID. + /// + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-request-id")] + public string OpcRequestId { get; set; } + + + + } +} diff --git a/Queue/responses/GetMessagesResponse.cs b/Queue/responses/GetMessagesResponse.cs new file mode 100644 index 000000000..086faa341 --- /dev/null +++ b/Queue/responses/GetMessagesResponse.cs @@ -0,0 +1,33 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.Runtime.Serialization; +using Oci.QueueService.Models; + +namespace Oci.QueueService.Responses +{ + public class GetMessagesResponse : Oci.Common.IOciResponse + { + + /// + /// Unique Oracle-assigned identifier for the request. If you need to contact + /// Oracle about a particular request, please provide the request ID. + /// + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-request-id")] + public string OpcRequestId { get; set; } + + /// + /// The returned GetMessages instance. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Body)] + public GetMessages GetMessages { get; set; } + + } +} diff --git a/Queue/responses/GetQueueResponse.cs b/Queue/responses/GetQueueResponse.cs new file mode 100644 index 000000000..ac5c8077a --- /dev/null +++ b/Queue/responses/GetQueueResponse.cs @@ -0,0 +1,41 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.Runtime.Serialization; +using Oci.QueueService.Models; + +namespace Oci.QueueService.Responses +{ + public class GetQueueResponse : Oci.Common.IOciResponse + { + + /// + /// For optimistic concurrency control. See `if-match`. + /// + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "etag")] + public string Etag { get; set; } + + + /// + /// Unique Oracle-assigned identifier for the request. If you need to contact + /// Oracle about a particular request, please provide the request ID. + /// + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-request-id")] + public string OpcRequestId { get; set; } + + /// + /// The returned Queue instance. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Body)] + public Queue Queue { get; set; } + + } +} diff --git a/Queue/responses/GetStatsResponse.cs b/Queue/responses/GetStatsResponse.cs new file mode 100644 index 000000000..926d8f63c --- /dev/null +++ b/Queue/responses/GetStatsResponse.cs @@ -0,0 +1,33 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.Runtime.Serialization; +using Oci.QueueService.Models; + +namespace Oci.QueueService.Responses +{ + public class GetStatsResponse : Oci.Common.IOciResponse + { + + /// + /// Unique Oracle-assigned identifier for the request. If you need to contact + /// Oracle about a particular request, please provide the request ID. + /// + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-request-id")] + public string OpcRequestId { get; set; } + + /// + /// The returned QueueStats instance. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Body)] + public QueueStats QueueStats { get; set; } + + } +} diff --git a/Queue/responses/GetWorkRequestResponse.cs b/Queue/responses/GetWorkRequestResponse.cs new file mode 100644 index 000000000..162941bde --- /dev/null +++ b/Queue/responses/GetWorkRequestResponse.cs @@ -0,0 +1,40 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.Runtime.Serialization; +using Oci.QueueService.Models; + +namespace Oci.QueueService.Responses +{ + public class GetWorkRequestResponse : Oci.Common.IOciResponse + { + + /// + /// Unique Oracle-assigned identifier for the request. If you need to contact + /// Oracle about a particular request, please provide the request ID. + /// + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-request-id")] + public string OpcRequestId { get; set; } + + + /// + /// A decimal number representing the number of seconds the client should wait before polling this endpoint again. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "retry-after")] + public System.Nullable RetryAfter { get; set; } + + /// + /// The returned WorkRequest instance. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Body)] + public WorkRequest WorkRequest { get; set; } + + } +} diff --git a/Queue/responses/ListQueuesResponse.cs b/Queue/responses/ListQueuesResponse.cs new file mode 100644 index 000000000..9bdbd5a97 --- /dev/null +++ b/Queue/responses/ListQueuesResponse.cs @@ -0,0 +1,43 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.Runtime.Serialization; +using Oci.QueueService.Models; + +namespace Oci.QueueService.Responses +{ + public class ListQueuesResponse : Oci.Common.IOciResponse + { + + /// + /// Unique Oracle-assigned identifier for the request. If you need to contact + /// Oracle about a particular request, please provide the request ID. + /// + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-request-id")] + public string OpcRequestId { get; set; } + + + /// + /// For pagination of a list of items. When paging through a list, if this header appears in the response, + /// then a partial list might have been returned. Include this value as the `page` parameter for the + /// subsequent GET request to get the next batch of items. + /// + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-next-page")] + public string OpcNextPage { get; set; } + + /// + /// The returned QueueCollection instance. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Body)] + public QueueCollection QueueCollection { get; set; } + + } +} diff --git a/Queue/responses/ListWorkRequestErrorsResponse.cs b/Queue/responses/ListWorkRequestErrorsResponse.cs new file mode 100644 index 000000000..4b1bfe14a --- /dev/null +++ b/Queue/responses/ListWorkRequestErrorsResponse.cs @@ -0,0 +1,43 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.Runtime.Serialization; +using Oci.QueueService.Models; + +namespace Oci.QueueService.Responses +{ + public class ListWorkRequestErrorsResponse : Oci.Common.IOciResponse + { + + /// + /// For pagination of a list of items. When paging through a list, if this header appears in the response, + /// then a partial list might have been returned. Include this value as the `page` parameter for the + /// subsequent GET request to get the next batch of items. + /// + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-next-page")] + public string OpcNextPage { get; set; } + + + /// + /// Unique Oracle-assigned identifier for the request. If you need to contact + /// Oracle about a particular request, please provide the request ID. + /// + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-request-id")] + public string OpcRequestId { get; set; } + + /// + /// The returned WorkRequestErrorCollection instance. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Body)] + public WorkRequestErrorCollection WorkRequestErrorCollection { get; set; } + + } +} diff --git a/Queue/responses/ListWorkRequestLogsResponse.cs b/Queue/responses/ListWorkRequestLogsResponse.cs new file mode 100644 index 000000000..50fe6c8f6 --- /dev/null +++ b/Queue/responses/ListWorkRequestLogsResponse.cs @@ -0,0 +1,43 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.Runtime.Serialization; +using Oci.QueueService.Models; + +namespace Oci.QueueService.Responses +{ + public class ListWorkRequestLogsResponse : Oci.Common.IOciResponse + { + + /// + /// For pagination of a list of items. When paging through a list, if this header appears in the response, + /// then a partial list might have been returned. Include this value as the `page` parameter for the + /// subsequent GET request to get the next batch of items. + /// + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-next-page")] + public string OpcNextPage { get; set; } + + + /// + /// Unique Oracle-assigned identifier for the request. If you need to contact + /// Oracle about a particular request, please provide the request ID. + /// + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-request-id")] + public string OpcRequestId { get; set; } + + /// + /// The returned WorkRequestLogEntryCollection instance. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Body)] + public WorkRequestLogEntryCollection WorkRequestLogEntryCollection { get; set; } + + } +} diff --git a/Queue/responses/ListWorkRequestsResponse.cs b/Queue/responses/ListWorkRequestsResponse.cs new file mode 100644 index 000000000..55cb92160 --- /dev/null +++ b/Queue/responses/ListWorkRequestsResponse.cs @@ -0,0 +1,43 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.Runtime.Serialization; +using Oci.QueueService.Models; + +namespace Oci.QueueService.Responses +{ + public class ListWorkRequestsResponse : Oci.Common.IOciResponse + { + + /// + /// Unique Oracle-assigned identifier for the request. If you need to contact + /// Oracle about a particular request, please provide the request ID. + /// + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-request-id")] + public string OpcRequestId { get; set; } + + + /// + /// For pagination of a list of items. When paging through a list, if this header appears in the response, + /// then a partial list might have been returned. Include this value as the `page` parameter for the + /// subsequent GET request to get the next batch of items. + /// + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-next-page")] + public string OpcNextPage { get; set; } + + /// + /// The returned WorkRequestSummaryCollection instance. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Body)] + public WorkRequestSummaryCollection WorkRequestSummaryCollection { get; set; } + + } +} diff --git a/Queue/responses/PurgeQueueResponse.cs b/Queue/responses/PurgeQueueResponse.cs new file mode 100644 index 000000000..64611a1b3 --- /dev/null +++ b/Queue/responses/PurgeQueueResponse.cs @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.Runtime.Serialization; +using Oci.QueueService.Models; + +namespace Oci.QueueService.Responses +{ + public class PurgeQueueResponse : Oci.Common.IOciResponse + { + + /// + /// Unique Oracle-assigned identifier for the asynchronous request. You can use this to query status of the asynchronous operation. + /// + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-work-request-id")] + public string OpcWorkRequestId { get; set; } + + + /// + /// Unique Oracle-assigned identifier for the request. If you need to contact + /// Oracle about a particular request, please provide the request ID. + /// + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-request-id")] + public string OpcRequestId { get; set; } + + + + } +} diff --git a/Queue/responses/PutMessagesResponse.cs b/Queue/responses/PutMessagesResponse.cs new file mode 100644 index 000000000..b08882574 --- /dev/null +++ b/Queue/responses/PutMessagesResponse.cs @@ -0,0 +1,33 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.Runtime.Serialization; +using Oci.QueueService.Models; + +namespace Oci.QueueService.Responses +{ + public class PutMessagesResponse : Oci.Common.IOciResponse + { + + /// + /// Unique Oracle-assigned identifier for the request. If you need to contact + /// Oracle about a particular request, please provide the request ID. + /// + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-request-id")] + public string OpcRequestId { get; set; } + + /// + /// The returned PutMessages instance. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Body)] + public PutMessages PutMessages { get; set; } + + } +} diff --git a/Queue/responses/UpdateMessageResponse.cs b/Queue/responses/UpdateMessageResponse.cs new file mode 100644 index 000000000..ecb49788d --- /dev/null +++ b/Queue/responses/UpdateMessageResponse.cs @@ -0,0 +1,33 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.Runtime.Serialization; +using Oci.QueueService.Models; + +namespace Oci.QueueService.Responses +{ + public class UpdateMessageResponse : Oci.Common.IOciResponse + { + + /// + /// Unique Oracle-assigned identifier for the request. If you need to contact + /// Oracle about a particular request, please provide the request ID. + /// + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-request-id")] + public string OpcRequestId { get; set; } + + /// + /// The returned UpdatedMessage instance. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Body)] + public UpdatedMessage UpdatedMessage { get; set; } + + } +} diff --git a/Queue/responses/UpdateMessagesResponse.cs b/Queue/responses/UpdateMessagesResponse.cs new file mode 100644 index 000000000..7ec78e596 --- /dev/null +++ b/Queue/responses/UpdateMessagesResponse.cs @@ -0,0 +1,33 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.Runtime.Serialization; +using Oci.QueueService.Models; + +namespace Oci.QueueService.Responses +{ + public class UpdateMessagesResponse : Oci.Common.IOciResponse + { + + /// + /// Unique Oracle-assigned identifier for the request. If you need to contact + /// Oracle about a particular request, please provide the request ID. + /// + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-request-id")] + public string OpcRequestId { get; set; } + + /// + /// The returned UpdateMessagesResult instance. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Body)] + public UpdateMessagesResult UpdateMessagesResult { get; set; } + + } +} diff --git a/Queue/responses/UpdateQueueResponse.cs b/Queue/responses/UpdateQueueResponse.cs new file mode 100644 index 000000000..2ca4bdccb --- /dev/null +++ b/Queue/responses/UpdateQueueResponse.cs @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.Runtime.Serialization; +using Oci.QueueService.Models; + +namespace Oci.QueueService.Responses +{ + public class UpdateQueueResponse : Oci.Common.IOciResponse + { + + /// + /// Unique Oracle-assigned identifier for the asynchronous request. You can use this to query status of the asynchronous operation. + /// + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-work-request-id")] + public string OpcWorkRequestId { get; set; } + + + /// + /// Unique Oracle-assigned identifier for the request. If you need to contact + /// Oracle about a particular request, please provide the request ID. + /// + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-request-id")] + public string OpcRequestId { get; set; } + + + + } +} diff --git a/Servicemesh/ServiceMeshClient.cs b/Servicemesh/ServiceMeshClient.cs index 1cf486bf0..172961bdc 100644 --- a/Servicemesh/ServiceMeshClient.cs +++ b/Servicemesh/ServiceMeshClient.cs @@ -25,7 +25,7 @@ namespace Oci.ServicemeshService public class ServiceMeshClient : RegionalClientBase { private readonly RetryConfiguration retryConfiguration; - private const string basePathWithoutHost = "/20210930"; + private const string basePathWithoutHost = "/20220615"; public ServiceMeshPaginators Paginators { get; } @@ -67,6 +67,62 @@ public ServiceMeshClient(IBasicAuthenticationDetailsProvider authenticationDetai Waiters = new ServiceMeshWaiters(this); } + /// + /// Cancels the work request with the given ID. + /// + /// The request object containing the details to send. Required. + /// The retry configuration that will be used by to send this request. Optional. + /// The cancellation token to cancel this operation. Optional. + /// The completion option for this operation. Optional. + /// A response object containing details about the completed operation + /// Click here to see an example of how to use CancelWorkRequest API. + public async Task CancelWorkRequest(CancelWorkRequestRequest request, RetryConfiguration retryConfiguration = null, CancellationToken cancellationToken = default, HttpCompletionOption completionOption = HttpCompletionOption.ResponseContentRead) + { + logger.Trace("Called cancelWorkRequest"); + Uri uri = new Uri(this.restClient.GetEndpoint(), System.IO.Path.Combine(basePathWithoutHost, "/workRequests/{workRequestId}".Trim('/'))); + HttpMethod method = new HttpMethod("DELETE"); + HttpRequestMessage requestMessage = Converter.ToHttpRequestMessage(uri, method, request); + requestMessage.Headers.Add("Accept", "application/json"); + GenericRetrier retryingClient = Retrier.GetPreferredRetrier(retryConfiguration, this.retryConfiguration); + HttpResponseMessage responseMessage; + + try + { + Stopwatch stopWatch = new Stopwatch(); + stopWatch.Start(); + if (retryingClient != null) + { + responseMessage = await retryingClient.MakeRetryingCall(this.restClient.HttpSend, requestMessage, completionOption, cancellationToken).ConfigureAwait(false); + } + else + { + responseMessage = await this.restClient.HttpSend(requestMessage, completionOption: completionOption).ConfigureAwait(false); + } + stopWatch.Stop(); + ApiDetails apiDetails = new ApiDetails + { + ServiceName = "ServiceMesh", + OperationName = "CancelWorkRequest", + RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20220615/WorkRequest/CancelWorkRequest", + UserAgent = this.GetUserAgent() + }; + this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); + logger.Debug($"Total Latency for this API call is: {stopWatch.ElapsedMilliseconds} ms"); + return Converter.FromHttpResponseMessage(responseMessage); + } + catch (OciException e) + { + logger.Error(e); + throw; + } + catch (Exception e) + { + logger.Error($"CancelWorkRequest failed with error: {e.Message}"); + throw; + } + } + /// /// Moves an AccessPolicy resource from one compartment identifier to another. When provided, If-Match is checked against ETag values of the resource. /// @@ -104,7 +160,7 @@ public async Task ChangeAccessPolicyCompa ServiceName = "ServiceMesh", OperationName = "ChangeAccessPolicyCompartment", RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", - ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20210930/AccessPolicy/ChangeAccessPolicyCompartment", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20220615/AccessPolicy/ChangeAccessPolicyCompartment", UserAgent = this.GetUserAgent() }; this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); @@ -160,7 +216,7 @@ public async Task ChangeIngressGatewayC ServiceName = "ServiceMesh", OperationName = "ChangeIngressGatewayCompartment", RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", - ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20210930/IngressGateway/ChangeIngressGatewayCompartment", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20220615/IngressGateway/ChangeIngressGatewayCompartment", UserAgent = this.GetUserAgent() }; this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); @@ -216,7 +272,7 @@ public async Task ChangeIngre ServiceName = "ServiceMesh", OperationName = "ChangeIngressGatewayRouteTableCompartment", RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", - ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20210930/IngressGatewayRouteTable/ChangeIngressGatewayRouteTableCompartment", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20220615/IngressGatewayRouteTable/ChangeIngressGatewayRouteTableCompartment", UserAgent = this.GetUserAgent() }; this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); @@ -272,7 +328,7 @@ public async Task ChangeMeshCompartment(ChangeMes ServiceName = "ServiceMesh", OperationName = "ChangeMeshCompartment", RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", - ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20210930/Mesh/ChangeMeshCompartment", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20220615/Mesh/ChangeMeshCompartment", UserAgent = this.GetUserAgent() }; this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); @@ -328,7 +384,7 @@ public async Task ChangeVirtualDeplo ServiceName = "ServiceMesh", OperationName = "ChangeVirtualDeploymentCompartment", RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", - ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20210930/VirtualDeployment/ChangeVirtualDeploymentCompartment", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20220615/VirtualDeployment/ChangeVirtualDeploymentCompartment", UserAgent = this.GetUserAgent() }; this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); @@ -384,7 +440,7 @@ public async Task ChangeVirtualServiceC ServiceName = "ServiceMesh", OperationName = "ChangeVirtualServiceCompartment", RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", - ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20210930/VirtualService/ChangeVirtualServiceCompartment", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20220615/VirtualService/ChangeVirtualServiceCompartment", UserAgent = this.GetUserAgent() }; this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); @@ -440,7 +496,7 @@ public async Task ChangeVirtu ServiceName = "ServiceMesh", OperationName = "ChangeVirtualServiceRouteTableCompartment", RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", - ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20210930/VirtualServiceRouteTable/ChangeVirtualServiceRouteTableCompartment", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20220615/VirtualServiceRouteTable/ChangeVirtualServiceRouteTableCompartment", UserAgent = this.GetUserAgent() }; this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); @@ -497,7 +553,7 @@ public async Task CreateAccessPolicy(CreateAccessPol ServiceName = "ServiceMesh", OperationName = "CreateAccessPolicy", RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", - ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20210930/AccessPolicy/CreateAccessPolicy", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20220615/AccessPolicy/CreateAccessPolicy", UserAgent = this.GetUserAgent() }; this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); @@ -554,7 +610,7 @@ public async Task CreateIngressGateway(CreateIngre ServiceName = "ServiceMesh", OperationName = "CreateIngressGateway", RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", - ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20210930/IngressGateway/CreateIngressGateway", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20220615/IngressGateway/CreateIngressGateway", UserAgent = this.GetUserAgent() }; this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); @@ -611,7 +667,7 @@ public async Task CreateIngressGatewayRo ServiceName = "ServiceMesh", OperationName = "CreateIngressGatewayRouteTable", RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", - ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20210930/IngressGatewayRouteTable/CreateIngressGatewayRouteTable", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20220615/IngressGatewayRouteTable/CreateIngressGatewayRouteTable", UserAgent = this.GetUserAgent() }; this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); @@ -668,7 +724,7 @@ public async Task CreateMesh(CreateMeshRequest request, Retr ServiceName = "ServiceMesh", OperationName = "CreateMesh", RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", - ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20210930/Mesh/CreateMesh", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20220615/Mesh/CreateMesh", UserAgent = this.GetUserAgent() }; this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); @@ -725,7 +781,7 @@ public async Task CreateVirtualDeployment(Creat ServiceName = "ServiceMesh", OperationName = "CreateVirtualDeployment", RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", - ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20210930/VirtualDeployment/CreateVirtualDeployment", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20220615/VirtualDeployment/CreateVirtualDeployment", UserAgent = this.GetUserAgent() }; this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); @@ -782,7 +838,7 @@ public async Task CreateVirtualService(CreateVirtu ServiceName = "ServiceMesh", OperationName = "CreateVirtualService", RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", - ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20210930/VirtualService/CreateVirtualService", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20220615/VirtualService/CreateVirtualService", UserAgent = this.GetUserAgent() }; this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); @@ -839,7 +895,7 @@ public async Task CreateVirtualServiceRo ServiceName = "ServiceMesh", OperationName = "CreateVirtualServiceRouteTable", RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", - ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20210930/VirtualServiceRouteTable/CreateVirtualServiceRouteTable", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20220615/VirtualServiceRouteTable/CreateVirtualServiceRouteTable", UserAgent = this.GetUserAgent() }; this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); @@ -895,7 +951,7 @@ public async Task DeleteAccessPolicy(DeleteAccessPol ServiceName = "ServiceMesh", OperationName = "DeleteAccessPolicy", RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", - ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20210930/AccessPolicy/DeleteAccessPolicy", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20220615/AccessPolicy/DeleteAccessPolicy", UserAgent = this.GetUserAgent() }; this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); @@ -951,7 +1007,7 @@ public async Task DeleteIngressGateway(DeleteIngre ServiceName = "ServiceMesh", OperationName = "DeleteIngressGateway", RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", - ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20210930/IngressGateway/DeleteIngressGateway", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20220615/IngressGateway/DeleteIngressGateway", UserAgent = this.GetUserAgent() }; this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); @@ -1007,7 +1063,7 @@ public async Task DeleteIngressGatewayRo ServiceName = "ServiceMesh", OperationName = "DeleteIngressGatewayRouteTable", RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", - ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20210930/IngressGatewayRouteTable/DeleteIngressGatewayRouteTable", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20220615/IngressGatewayRouteTable/DeleteIngressGatewayRouteTable", UserAgent = this.GetUserAgent() }; this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); @@ -1063,7 +1119,7 @@ public async Task DeleteMesh(DeleteMeshRequest request, Retr ServiceName = "ServiceMesh", OperationName = "DeleteMesh", RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", - ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20210930/Mesh/DeleteMesh", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20220615/Mesh/DeleteMesh", UserAgent = this.GetUserAgent() }; this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); @@ -1119,7 +1175,7 @@ public async Task DeleteVirtualDeployment(Delet ServiceName = "ServiceMesh", OperationName = "DeleteVirtualDeployment", RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", - ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20210930/VirtualDeployment/DeleteVirtualDeployment", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20220615/VirtualDeployment/DeleteVirtualDeployment", UserAgent = this.GetUserAgent() }; this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); @@ -1175,7 +1231,7 @@ public async Task DeleteVirtualService(DeleteVirtu ServiceName = "ServiceMesh", OperationName = "DeleteVirtualService", RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", - ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20210930/VirtualService/DeleteVirtualService", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20220615/VirtualService/DeleteVirtualService", UserAgent = this.GetUserAgent() }; this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); @@ -1231,7 +1287,7 @@ public async Task DeleteVirtualServiceRo ServiceName = "ServiceMesh", OperationName = "DeleteVirtualServiceRouteTable", RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", - ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20210930/VirtualServiceRouteTable/DeleteVirtualServiceRouteTable", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20220615/VirtualServiceRouteTable/DeleteVirtualServiceRouteTable", UserAgent = this.GetUserAgent() }; this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); @@ -1287,7 +1343,7 @@ public async Task GetAccessPolicy(GetAccessPolicyReques ServiceName = "ServiceMesh", OperationName = "GetAccessPolicy", RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", - ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20210930/AccessPolicy/GetAccessPolicy", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20220615/AccessPolicy/GetAccessPolicy", UserAgent = this.GetUserAgent() }; this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); @@ -1343,7 +1399,7 @@ public async Task GetIngressGateway(GetIngressGateway ServiceName = "ServiceMesh", OperationName = "GetIngressGateway", RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", - ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20210930/IngressGateway/GetIngressGateway", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20220615/IngressGateway/GetIngressGateway", UserAgent = this.GetUserAgent() }; this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); @@ -1399,7 +1455,7 @@ public async Task GetIngressGatewayRouteTab ServiceName = "ServiceMesh", OperationName = "GetIngressGatewayRouteTable", RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", - ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20210930/IngressGatewayRouteTable/GetIngressGatewayRouteTable", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20220615/IngressGatewayRouteTable/GetIngressGatewayRouteTable", UserAgent = this.GetUserAgent() }; this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); @@ -1455,7 +1511,7 @@ public async Task GetMesh(GetMeshRequest request, RetryConfigur ServiceName = "ServiceMesh", OperationName = "GetMesh", RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", - ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20210930/Mesh/GetMesh", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20220615/Mesh/GetMesh", UserAgent = this.GetUserAgent() }; this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); @@ -1512,7 +1568,7 @@ public async Task GetProxyDetails(GetProxyDetailsReques ServiceName = "ServiceMesh", OperationName = "GetProxyDetails", RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", - ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20210930/ProxyDetails/GetProxyDetails", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20220615/ProxyDetails/GetProxyDetails", UserAgent = this.GetUserAgent() }; this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); @@ -1568,7 +1624,7 @@ public async Task GetVirtualDeployment(GetVirtualD ServiceName = "ServiceMesh", OperationName = "GetVirtualDeployment", RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", - ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20210930/VirtualDeployment/GetVirtualDeployment", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20220615/VirtualDeployment/GetVirtualDeployment", UserAgent = this.GetUserAgent() }; this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); @@ -1624,7 +1680,7 @@ public async Task GetVirtualService(GetVirtualService ServiceName = "ServiceMesh", OperationName = "GetVirtualService", RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", - ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20210930/VirtualService/GetVirtualService", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20220615/VirtualService/GetVirtualService", UserAgent = this.GetUserAgent() }; this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); @@ -1680,7 +1736,7 @@ public async Task GetVirtualServiceRouteTab ServiceName = "ServiceMesh", OperationName = "GetVirtualServiceRouteTable", RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", - ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20210930/VirtualServiceRouteTable/GetVirtualServiceRouteTable", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20220615/VirtualServiceRouteTable/GetVirtualServiceRouteTable", UserAgent = this.GetUserAgent() }; this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); @@ -1736,7 +1792,7 @@ public async Task GetWorkRequest(GetWorkRequestRequest r ServiceName = "ServiceMesh", OperationName = "GetWorkRequest", RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", - ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20210930/WorkRequest/GetWorkRequest", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20220615/WorkRequest/GetWorkRequest", UserAgent = this.GetUserAgent() }; this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); @@ -1793,7 +1849,7 @@ public async Task ListAccessPolicies(ListAccessPolic ServiceName = "ServiceMesh", OperationName = "ListAccessPolicies", RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", - ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20210930/AccessPolicy/ListAccessPolicies", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20220615/AccessPolicy/ListAccessPolicies", UserAgent = this.GetUserAgent() }; this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); @@ -1850,7 +1906,7 @@ public async Task ListIngressGatewayRoute ServiceName = "ServiceMesh", OperationName = "ListIngressGatewayRouteTables", RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", - ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20210930/IngressGatewayRouteTable/ListIngressGatewayRouteTables", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20220615/IngressGatewayRouteTable/ListIngressGatewayRouteTables", UserAgent = this.GetUserAgent() }; this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); @@ -1907,7 +1963,7 @@ public async Task ListIngressGateways(ListIngressGa ServiceName = "ServiceMesh", OperationName = "ListIngressGateways", RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", - ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20210930/IngressGateway/ListIngressGateways", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20220615/IngressGateway/ListIngressGateways", UserAgent = this.GetUserAgent() }; this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); @@ -1964,7 +2020,7 @@ public async Task ListMeshes(ListMeshesRequest request, Retr ServiceName = "ServiceMesh", OperationName = "ListMeshes", RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", - ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20210930/Mesh/ListMeshes", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20220615/Mesh/ListMeshes", UserAgent = this.GetUserAgent() }; this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); @@ -2021,7 +2077,7 @@ public async Task ListVirtualDeployments(ListVir ServiceName = "ServiceMesh", OperationName = "ListVirtualDeployments", RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", - ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20210930/VirtualDeployment/ListVirtualDeployments", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20220615/VirtualDeployment/ListVirtualDeployments", UserAgent = this.GetUserAgent() }; this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); @@ -2078,7 +2134,7 @@ public async Task ListVirtualServiceRoute ServiceName = "ServiceMesh", OperationName = "ListVirtualServiceRouteTables", RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", - ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20210930/VirtualServiceRouteTable/ListVirtualServiceRouteTables", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20220615/VirtualServiceRouteTable/ListVirtualServiceRouteTables", UserAgent = this.GetUserAgent() }; this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); @@ -2135,7 +2191,7 @@ public async Task ListVirtualServices(ListVirtualSe ServiceName = "ServiceMesh", OperationName = "ListVirtualServices", RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", - ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20210930/VirtualService/ListVirtualServices", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20220615/VirtualService/ListVirtualServices", UserAgent = this.GetUserAgent() }; this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); @@ -2192,7 +2248,7 @@ public async Task ListWorkRequestErrors(ListWorkR ServiceName = "ServiceMesh", OperationName = "ListWorkRequestErrors", RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", - ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20210930/WorkRequest/ListWorkRequestErrors", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20220615/WorkRequest/ListWorkRequestErrors", UserAgent = this.GetUserAgent() }; this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); @@ -2249,7 +2305,7 @@ public async Task ListWorkRequestLogs(ListWorkReque ServiceName = "ServiceMesh", OperationName = "ListWorkRequestLogs", RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", - ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20210930/WorkRequest/ListWorkRequestLogs", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20220615/WorkRequest/ListWorkRequestLogs", UserAgent = this.GetUserAgent() }; this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); @@ -2306,7 +2362,7 @@ public async Task ListWorkRequests(ListWorkRequestsReq ServiceName = "ServiceMesh", OperationName = "ListWorkRequests", RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", - ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20210930/WorkRequest/ListWorkRequests", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20220615/WorkRequest/ListWorkRequests", UserAgent = this.GetUserAgent() }; this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); @@ -2362,7 +2418,7 @@ public async Task UpdateAccessPolicy(UpdateAccessPol ServiceName = "ServiceMesh", OperationName = "UpdateAccessPolicy", RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", - ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20210930/AccessPolicy/UpdateAccessPolicy", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20220615/AccessPolicy/UpdateAccessPolicy", UserAgent = this.GetUserAgent() }; this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); @@ -2418,7 +2474,7 @@ public async Task UpdateIngressGateway(UpdateIngre ServiceName = "ServiceMesh", OperationName = "UpdateIngressGateway", RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", - ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20210930/IngressGateway/UpdateIngressGateway", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20220615/IngressGateway/UpdateIngressGateway", UserAgent = this.GetUserAgent() }; this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); @@ -2474,7 +2530,7 @@ public async Task UpdateIngressGatewayRo ServiceName = "ServiceMesh", OperationName = "UpdateIngressGatewayRouteTable", RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", - ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20210930/IngressGatewayRouteTable/UpdateIngressGatewayRouteTable", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20220615/IngressGatewayRouteTable/UpdateIngressGatewayRouteTable", UserAgent = this.GetUserAgent() }; this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); @@ -2530,7 +2586,7 @@ public async Task UpdateMesh(UpdateMeshRequest request, Retr ServiceName = "ServiceMesh", OperationName = "UpdateMesh", RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", - ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20210930/Mesh/UpdateMesh", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20220615/Mesh/UpdateMesh", UserAgent = this.GetUserAgent() }; this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); @@ -2586,7 +2642,7 @@ public async Task UpdateVirtualDeployment(Updat ServiceName = "ServiceMesh", OperationName = "UpdateVirtualDeployment", RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", - ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20210930/VirtualDeployment/UpdateVirtualDeployment", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20220615/VirtualDeployment/UpdateVirtualDeployment", UserAgent = this.GetUserAgent() }; this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); @@ -2642,7 +2698,7 @@ public async Task UpdateVirtualService(UpdateVirtu ServiceName = "ServiceMesh", OperationName = "UpdateVirtualService", RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", - ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20210930/VirtualService/UpdateVirtualService", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20220615/VirtualService/UpdateVirtualService", UserAgent = this.GetUserAgent() }; this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); @@ -2698,7 +2754,7 @@ public async Task UpdateVirtualServiceRo ServiceName = "ServiceMesh", OperationName = "UpdateVirtualServiceRouteTable", RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}", - ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20210930/VirtualServiceRouteTable/UpdateVirtualServiceRouteTable", + ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/service-mesh/20220615/VirtualServiceRouteTable/UpdateVirtualServiceRouteTable", UserAgent = this.GetUserAgent() }; this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails); diff --git a/Servicemesh/models/AccessPolicyRuleDetails.cs b/Servicemesh/models/AccessPolicyRuleDetails.cs new file mode 100644 index 000000000..098840b95 --- /dev/null +++ b/Servicemesh/models/AccessPolicyRuleDetails.cs @@ -0,0 +1,59 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; + + +namespace Oci.ServicemeshService.Models +{ + /// + /// Access policy rule. + /// + public class AccessPolicyRuleDetails + { + /// + /// + /// Action for the traffic between the source and the destination. + /// + /// + public enum ActionEnum { + [EnumMember(Value = "ALLOW")] + Allow + }; + + /// + /// Action for the traffic between the source and the destination. + /// + /// + /// Required + /// + [Required(ErrorMessage = "Action is required.")] + [JsonProperty(PropertyName = "action")] + [JsonConverter(typeof(StringEnumConverter))] + public System.Nullable Action { get; set; } + + /// + /// Required + /// + [Required(ErrorMessage = "Source is required.")] + [JsonProperty(PropertyName = "source")] + public AccessPolicyTargetDetails Source { get; set; } + + /// + /// Required + /// + [Required(ErrorMessage = "Destination is required.")] + [JsonProperty(PropertyName = "destination")] + public AccessPolicyTargetDetails Destination { get; set; } + + } +} diff --git a/Servicemesh/models/AccessPolicyTargetDetails.cs b/Servicemesh/models/AccessPolicyTargetDetails.cs new file mode 100644 index 000000000..c2cb4d574 --- /dev/null +++ b/Servicemesh/models/AccessPolicyTargetDetails.cs @@ -0,0 +1,80 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; + +namespace Oci.ServicemeshService.Models +{ + /// + /// Target of the access policy. This can either be the source or the destination of the traffic. + /// + [JsonConverter(typeof(AccessPolicyTargetDetailsModelConverter))] + public class AccessPolicyTargetDetails + { + /// + /// + /// Traffic type of the target. + /// + /// + public enum TypeEnum { + [EnumMember(Value = "ALL_VIRTUAL_SERVICES")] + AllVirtualServices, + [EnumMember(Value = "VIRTUAL_SERVICE")] + VirtualService, + [EnumMember(Value = "EXTERNAL_SERVICE")] + ExternalService, + [EnumMember(Value = "INGRESS_GATEWAY")] + IngressGateway + }; + + + } + + public class AccessPolicyTargetDetailsModelConverter : JsonConverter + { + public override bool CanWrite => false; + public override bool CanRead => true; + public override bool CanConvert(System.Type type) + { + return type == typeof(AccessPolicyTargetDetails); + } + public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) + { + throw new System.InvalidOperationException("Use default serialization."); + } + + public override object ReadJson(JsonReader reader, System.Type objectType, object existingValue, JsonSerializer serializer) + { + var jsonObject = JObject.Load(reader); + var obj = default(AccessPolicyTargetDetails); + var discriminator = jsonObject["type"].Value(); + switch (discriminator) + { + case "EXTERNAL_SERVICE": + obj = new ExternalServiceAccessPolicyTargetDetails(); + break; + case "VIRTUAL_SERVICE": + obj = new VirtualServiceAccessPolicyTargetDetails(); + break; + case "ALL_VIRTUAL_SERVICES": + obj = new AllVirtualServicesAccessPolicyTargetDetails(); + break; + case "INGRESS_GATEWAY": + obj = new IngressGatewayAccessPolicyTargetDetails(); + break; + } + serializer.Populate(jsonObject.CreateReader(), obj); + return obj; + } + } +} diff --git a/Servicemesh/models/AllVirtualServicesAccessPolicyTargetDetails.cs b/Servicemesh/models/AllVirtualServicesAccessPolicyTargetDetails.cs new file mode 100644 index 000000000..da3ccc22c --- /dev/null +++ b/Servicemesh/models/AllVirtualServicesAccessPolicyTargetDetails.cs @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; + + +namespace Oci.ServicemeshService.Models +{ + /// + /// An internal virtual service directs traffic to all virtual services in a mesh using this target type or vice versa. + /// + public class AllVirtualServicesAccessPolicyTargetDetails : AccessPolicyTargetDetails + { + + [JsonProperty(PropertyName = "type")] + private readonly string type = "ALL_VIRTUAL_SERVICES"; + } +} diff --git a/Servicemesh/models/CreateAccessPolicyDetails.cs b/Servicemesh/models/CreateAccessPolicyDetails.cs index e19ac24b6..e0deb02ae 100644 --- a/Servicemesh/models/CreateAccessPolicyDetails.cs +++ b/Servicemesh/models/CreateAccessPolicyDetails.cs @@ -67,8 +67,12 @@ public class CreateAccessPolicyDetails /// /// List of applicable rules /// + /// + /// Required + /// + [Required(ErrorMessage = "Rules is required.")] [JsonProperty(PropertyName = "rules")] - public System.Collections.Generic.List Rules { get; set; } + public System.Collections.Generic.List Rules { get; set; } /// /// Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. diff --git a/Servicemesh/models/CreateIngressGatewayDetails.cs b/Servicemesh/models/CreateIngressGatewayDetails.cs index 0a5bc0537..8bebf64d5 100644 --- a/Servicemesh/models/CreateIngressGatewayDetails.cs +++ b/Servicemesh/models/CreateIngressGatewayDetails.cs @@ -67,7 +67,7 @@ public class CreateIngressGatewayDetails public AccessLoggingConfiguration AccessLogging { get; set; } [JsonProperty(PropertyName = "mtls")] - public CreateIngressGatewayMutualTransportLayerSecurityDetails Mtls { get; set; } + public IngressGatewayMutualTransportLayerSecurityDetails Mtls { get; set; } /// /// The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the compartment. diff --git a/Servicemesh/models/CreateIngressGatewayRouteTableDetails.cs b/Servicemesh/models/CreateIngressGatewayRouteTableDetails.cs index cbde7e0ef..2816e6ce9 100644 --- a/Servicemesh/models/CreateIngressGatewayRouteTableDetails.cs +++ b/Servicemesh/models/CreateIngressGatewayRouteTableDetails.cs @@ -67,7 +67,7 @@ public class CreateIngressGatewayRouteTableDetails /// [Required(ErrorMessage = "RouteRules is required.")] [JsonProperty(PropertyName = "routeRules")] - public System.Collections.Generic.List RouteRules { get; set; } + public System.Collections.Generic.List RouteRules { get; set; } /// /// The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the compartment. diff --git a/Servicemesh/models/CreateVirtualDeploymentDetails.cs b/Servicemesh/models/CreateVirtualDeploymentDetails.cs index 61fb011c6..a84689902 100644 --- a/Servicemesh/models/CreateVirtualDeploymentDetails.cs +++ b/Servicemesh/models/CreateVirtualDeploymentDetails.cs @@ -53,20 +53,12 @@ public class CreateVirtualDeploymentDetails [JsonProperty(PropertyName = "description")] public string Description { get; set; } - /// - /// Required - /// - [Required(ErrorMessage = "ServiceDiscovery is required.")] [JsonProperty(PropertyName = "serviceDiscovery")] public ServiceDiscoveryConfiguration ServiceDiscovery { get; set; } /// /// The listeners for the virtual deployment. /// - /// - /// Required - /// - [Required(ErrorMessage = "Listeners is required.")] [JsonProperty(PropertyName = "listeners")] public System.Collections.Generic.List Listeners { get; set; } diff --git a/Servicemesh/models/CreateVirtualServiceDetails.cs b/Servicemesh/models/CreateVirtualServiceDetails.cs index 37939277f..66679c44d 100644 --- a/Servicemesh/models/CreateVirtualServiceDetails.cs +++ b/Servicemesh/models/CreateVirtualServiceDetails.cs @@ -67,7 +67,7 @@ public class CreateVirtualServiceDetails public System.Collections.Generic.List Hosts { get; set; } [JsonProperty(PropertyName = "mtls")] - public CreateMutualTransportLayerSecurityDetails Mtls { get; set; } + public VirtualServiceMutualTransportLayerSecurityDetails Mtls { get; set; } /// /// The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the compartment. diff --git a/Servicemesh/models/CreateVirtualServiceRouteTableDetails.cs b/Servicemesh/models/CreateVirtualServiceRouteTableDetails.cs index d4b280225..54b887e84 100644 --- a/Servicemesh/models/CreateVirtualServiceRouteTableDetails.cs +++ b/Servicemesh/models/CreateVirtualServiceRouteTableDetails.cs @@ -67,7 +67,7 @@ public class CreateVirtualServiceRouteTableDetails /// [Required(ErrorMessage = "RouteRules is required.")] [JsonProperty(PropertyName = "routeRules")] - public System.Collections.Generic.List RouteRules { get; set; } + public System.Collections.Generic.List RouteRules { get; set; } /// /// The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the compartment. diff --git a/Servicemesh/models/DisabledServiceDiscoveryConfiguration.cs b/Servicemesh/models/DisabledServiceDiscoveryConfiguration.cs new file mode 100644 index 000000000..d40777c43 --- /dev/null +++ b/Servicemesh/models/DisabledServiceDiscoveryConfiguration.cs @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; + + +namespace Oci.ServicemeshService.Models +{ + /// + /// Disabled service discovery configuration for virtual deployments. + /// + public class DisabledServiceDiscoveryConfiguration : ServiceDiscoveryConfiguration + { + + [JsonProperty(PropertyName = "type")] + private readonly string type = "DISABLED"; + } +} diff --git a/Servicemesh/models/ExternalServiceAccessPolicyTargetDetails.cs b/Servicemesh/models/ExternalServiceAccessPolicyTargetDetails.cs new file mode 100644 index 000000000..4c5949f17 --- /dev/null +++ b/Servicemesh/models/ExternalServiceAccessPolicyTargetDetails.cs @@ -0,0 +1,72 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; + + +namespace Oci.ServicemeshService.Models +{ + /// + /// External service target that internal virtual services direct traffic to. + /// + public class ExternalServiceAccessPolicyTargetDetails : AccessPolicyTargetDetails + { + + /// + /// The hostnames of the external service. Only applicable for HTTP and HTTPS protocols. + /// Wildcard hostnames are supported in the prefix form. + /// Examples of valid hostnames are \"www.example.com\", \"*.example.com\", \"*.com\", \"*\". + /// Hostname \"*\" can be used to allow all hosts. + /// + /// + [JsonProperty(PropertyName = "hostnames")] + public System.Collections.Generic.List Hostnames { get; set; } + + /// + /// The ipAddresses of the external service in CIDR notation. Only applicable for TCP protocol. + /// All requests matching the given CIDR notation will pass through. + /// In case a wildcard CIDR \"0.0.0.0/0\" is provided, the same port cannot be used for a virtual service communication. + /// + /// + [JsonProperty(PropertyName = "ipAddresses")] + public System.Collections.Generic.List IpAddresses { get; set; } + + /// + /// Ports exposed by an external service. If left empty all ports will be allowed. + /// + [JsonProperty(PropertyName = "ports")] + public System.Collections.Generic.List Ports { get; set; } + /// + /// + /// Protocol of the external service + /// + /// + public enum ProtocolEnum { + [EnumMember(Value = "HTTP")] + Http, + [EnumMember(Value = "HTTPS")] + Https, + [EnumMember(Value = "TCP")] + Tcp + }; + + /// + /// Protocol of the external service + /// + [JsonProperty(PropertyName = "protocol")] + [JsonConverter(typeof(StringEnumConverter))] + public System.Nullable Protocol { get; set; } + + [JsonProperty(PropertyName = "type")] + private readonly string type = "EXTERNAL_SERVICE"; + } +} diff --git a/Servicemesh/models/HttpIngressGatewayTrafficRouteRuleDetails.cs b/Servicemesh/models/HttpIngressGatewayTrafficRouteRuleDetails.cs new file mode 100644 index 000000000..3c7e9053b --- /dev/null +++ b/Servicemesh/models/HttpIngressGatewayTrafficRouteRuleDetails.cs @@ -0,0 +1,71 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; + + +namespace Oci.ServicemeshService.Models +{ + /// + /// Rule for routing incoming ingress gateway traffic with HTTP protocol + /// + public class HttpIngressGatewayTrafficRouteRuleDetails : IngressGatewayTrafficRouteRuleDetails + { + + /// + /// Route to match + /// + [JsonProperty(PropertyName = "path")] + public string Path { get; set; } + /// + /// + /// Match type for the route + /// + /// + public enum PathTypeEnum { + [EnumMember(Value = "PREFIX")] + Prefix + }; + + /// + /// Match type for the route + /// + [JsonProperty(PropertyName = "pathType")] + [JsonConverter(typeof(StringEnumConverter))] + public System.Nullable PathType { get; set; } + + /// + /// If true, the rule will check that the content-type header has a application/grpc + /// or one of the various application/grpc+ values. + /// + /// + [JsonProperty(PropertyName = "isGrpc")] + public System.Nullable IsGrpc { get; set; } + + /// + /// If true, the hostname will be rewritten to the target virtual deployment's DNS hostname. + /// + /// + [JsonProperty(PropertyName = "isHostRewriteEnabled")] + public System.Nullable IsHostRewriteEnabled { get; set; } + + /// + /// If true, the matched path prefix will be rewritten to '/' before being directed to the target virtual deployment. + /// + /// + [JsonProperty(PropertyName = "isPathRewriteEnabled")] + public System.Nullable IsPathRewriteEnabled { get; set; } + + [JsonProperty(PropertyName = "type")] + private readonly string type = "HTTP"; + } +} diff --git a/Servicemesh/models/HttpVirtualServiceTrafficRouteRuleDetails.cs b/Servicemesh/models/HttpVirtualServiceTrafficRouteRuleDetails.cs new file mode 100644 index 000000000..e2f7f4190 --- /dev/null +++ b/Servicemesh/models/HttpVirtualServiceTrafficRouteRuleDetails.cs @@ -0,0 +1,57 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; + + +namespace Oci.ServicemeshService.Models +{ + /// + /// Rule for routing incoming Virtual Service traffic with HTTP protocol + /// + public class HttpVirtualServiceTrafficRouteRuleDetails : VirtualServiceTrafficRouteRuleDetails + { + + /// + /// Route to match + /// + [JsonProperty(PropertyName = "path")] + public string Path { get; set; } + /// + /// + /// Match type for the route + /// + /// + public enum PathTypeEnum { + [EnumMember(Value = "PREFIX")] + Prefix + }; + + /// + /// Match type for the route + /// + [JsonProperty(PropertyName = "pathType")] + [JsonConverter(typeof(StringEnumConverter))] + public System.Nullable PathType { get; set; } + + /// + /// If true, the rule will check that the content-type header has a application/grpc + /// or one of the various application/grpc+ values. + /// + /// + [JsonProperty(PropertyName = "isGrpc")] + public System.Nullable IsGrpc { get; set; } + + [JsonProperty(PropertyName = "type")] + private readonly string type = "HTTP"; + } +} diff --git a/Servicemesh/models/IngressGateway.cs b/Servicemesh/models/IngressGateway.cs index 58d801adc..2e539ee1d 100644 --- a/Servicemesh/models/IngressGateway.cs +++ b/Servicemesh/models/IngressGateway.cs @@ -97,10 +97,6 @@ public class IngressGateway /// /// Array of hostnames and their listener configuration that this gateway will bind to. /// - /// - /// Required - /// - [Required(ErrorMessage = "Hosts is required.")] [JsonProperty(PropertyName = "hosts")] public System.Collections.Generic.List Hosts { get; set; } diff --git a/Servicemesh/models/IngressGatewayAccessPolicyTarget.cs b/Servicemesh/models/IngressGatewayAccessPolicyTarget.cs index 02ce22228..d2cf9fb46 100644 --- a/Servicemesh/models/IngressGatewayAccessPolicyTarget.cs +++ b/Servicemesh/models/IngressGatewayAccessPolicyTarget.cs @@ -24,10 +24,6 @@ public class IngressGatewayAccessPolicyTarget : AccessPolicyTarget /// /// The OCID of the ingress gateway resource. /// - /// - /// Required - /// - [Required(ErrorMessage = "IngressGatewayId is required.")] [JsonProperty(PropertyName = "ingressGatewayId")] public string IngressGatewayId { get; set; } diff --git a/Servicemesh/models/IngressGatewayAccessPolicyTargetDetails.cs b/Servicemesh/models/IngressGatewayAccessPolicyTargetDetails.cs new file mode 100644 index 000000000..57b63889d --- /dev/null +++ b/Servicemesh/models/IngressGatewayAccessPolicyTargetDetails.cs @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; + + +namespace Oci.ServicemeshService.Models +{ + /// + /// Ingress gateway target that virtual services in mesh receive traffic from. + /// + public class IngressGatewayAccessPolicyTargetDetails : AccessPolicyTargetDetails + { + + /// + /// The OCID of the ingress gateway resource. + /// + /// + /// Required + /// + [Required(ErrorMessage = "IngressGatewayId is required.")] + [JsonProperty(PropertyName = "ingressGatewayId")] + public string IngressGatewayId { get; set; } + + [JsonProperty(PropertyName = "type")] + private readonly string type = "INGRESS_GATEWAY"; + } +} diff --git a/Servicemesh/models/CreateIngressGatewayMutualTransportLayerSecurityDetails.cs b/Servicemesh/models/IngressGatewayMutualTransportLayerSecurityDetails.cs similarity index 94% rename from Servicemesh/models/CreateIngressGatewayMutualTransportLayerSecurityDetails.cs rename to Servicemesh/models/IngressGatewayMutualTransportLayerSecurityDetails.cs index e363f40da..831863826 100644 --- a/Servicemesh/models/CreateIngressGatewayMutualTransportLayerSecurityDetails.cs +++ b/Servicemesh/models/IngressGatewayMutualTransportLayerSecurityDetails.cs @@ -19,7 +19,7 @@ namespace Oci.ServicemeshService.Models /// Mutual TLS settings used when sending requests to virtual services within the mesh. /// ///
- public class CreateIngressGatewayMutualTransportLayerSecurityDetails + public class IngressGatewayMutualTransportLayerSecurityDetails { /// diff --git a/Servicemesh/models/IngressGatewayRouteTable.cs b/Servicemesh/models/IngressGatewayRouteTable.cs index f220aecd6..78463535c 100644 --- a/Servicemesh/models/IngressGatewayRouteTable.cs +++ b/Servicemesh/models/IngressGatewayRouteTable.cs @@ -83,10 +83,6 @@ public class IngressGatewayRouteTable /// /// The route rules for the ingress gateway. /// - /// - /// Required - /// - [Required(ErrorMessage = "RouteRules is required.")] [JsonProperty(PropertyName = "routeRules")] public System.Collections.Generic.List RouteRules { get; set; } diff --git a/Servicemesh/models/IngressGatewayTrafficRouteRuleDetails.cs b/Servicemesh/models/IngressGatewayTrafficRouteRuleDetails.cs new file mode 100644 index 000000000..6a969398e --- /dev/null +++ b/Servicemesh/models/IngressGatewayTrafficRouteRuleDetails.cs @@ -0,0 +1,88 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; + +namespace Oci.ServicemeshService.Models +{ + /// + /// Rule for routing incoming ingress gateway traffic to a virtual service. + /// + [JsonConverter(typeof(IngressGatewayTrafficRouteRuleDetailsModelConverter))] + public class IngressGatewayTrafficRouteRuleDetails + { + /// + /// + /// Type of protocol. + /// + /// + public enum TypeEnum { + [EnumMember(Value = "HTTP")] + Http, + [EnumMember(Value = "TLS_PASSTHROUGH")] + TlsPassthrough, + [EnumMember(Value = "TCP")] + Tcp + }; + + + [JsonProperty(PropertyName = "ingressGatewayHost")] + public IngressGatewayHostRef IngressGatewayHost { get; set; } + + /// + /// The destination of the request. + /// + /// + /// Required + /// + [Required(ErrorMessage = "Destinations is required.")] + [JsonProperty(PropertyName = "destinations")] + public System.Collections.Generic.List Destinations { get; set; } + + } + + public class IngressGatewayTrafficRouteRuleDetailsModelConverter : JsonConverter + { + public override bool CanWrite => false; + public override bool CanRead => true; + public override bool CanConvert(System.Type type) + { + return type == typeof(IngressGatewayTrafficRouteRuleDetails); + } + public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) + { + throw new System.InvalidOperationException("Use default serialization."); + } + + public override object ReadJson(JsonReader reader, System.Type objectType, object existingValue, JsonSerializer serializer) + { + var jsonObject = JObject.Load(reader); + var obj = default(IngressGatewayTrafficRouteRuleDetails); + var discriminator = jsonObject["type"].Value(); + switch (discriminator) + { + case "TLS_PASSTHROUGH": + obj = new TlsPassthroughIngressGatewayTrafficRouteRuleDetails(); + break; + case "TCP": + obj = new TcpIngressGatewayTrafficRouteRuleDetails(); + break; + case "HTTP": + obj = new HttpIngressGatewayTrafficRouteRuleDetails(); + break; + } + serializer.Populate(jsonObject.CreateReader(), obj); + return obj; + } + } +} diff --git a/Servicemesh/models/Mesh.cs b/Servicemesh/models/Mesh.cs index 524a1035c..5ae8bb616 100644 --- a/Servicemesh/models/Mesh.cs +++ b/Servicemesh/models/Mesh.cs @@ -56,13 +56,10 @@ public class Mesh /// /// A list of certificate authority resources to use for creating leaf certificates for mTLS authentication. - /// Currently we only support one certificate authority, but this may expand in future releases. + /// Currently we only support one certificate authority, but this may expand in future releases. Request with + /// more than one certificate authority will be rejected. /// /// - /// - /// Required - /// - [Required(ErrorMessage = "CertificateAuthorities is required.")] [JsonProperty(PropertyName = "certificateAuthorities")] public System.Collections.Generic.List CertificateAuthorities { get; set; } diff --git a/Servicemesh/models/OperationStatus.cs b/Servicemesh/models/OperationStatus.cs index 05d005e73..fe477f727 100644 --- a/Servicemesh/models/OperationStatus.cs +++ b/Servicemesh/models/OperationStatus.cs @@ -29,6 +29,8 @@ public enum OperationStatus { Succeeded, [EnumMember(Value = "WAITING")] Waiting, + [EnumMember(Value = "NEEDS_ATTENTION")] + NeedsAttention, [EnumMember(Value = "CANCELING")] Canceling, [EnumMember(Value = "CANCELED")] diff --git a/Servicemesh/models/ServiceDiscoveryConfiguration.cs b/Servicemesh/models/ServiceDiscoveryConfiguration.cs index dd1ff1295..6bd4ea5b6 100644 --- a/Servicemesh/models/ServiceDiscoveryConfiguration.cs +++ b/Servicemesh/models/ServiceDiscoveryConfiguration.cs @@ -28,7 +28,9 @@ public class ServiceDiscoveryConfiguration /// public enum TypeEnum { [EnumMember(Value = "DNS")] - Dns + Dns, + [EnumMember(Value = "DISABLED")] + Disabled }; @@ -58,6 +60,9 @@ public override object ReadJson(JsonReader reader, System.Type objectType, objec case "DNS": obj = new DnsServiceDiscoveryConfiguration(); break; + case "DISABLED": + obj = new DisabledServiceDiscoveryConfiguration(); + break; } if (obj != null) { diff --git a/Servicemesh/models/TcpIngressGatewayTrafficRouteRuleDetails.cs b/Servicemesh/models/TcpIngressGatewayTrafficRouteRuleDetails.cs new file mode 100644 index 000000000..9c26d671e --- /dev/null +++ b/Servicemesh/models/TcpIngressGatewayTrafficRouteRuleDetails.cs @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; + + +namespace Oci.ServicemeshService.Models +{ + /// + /// Rule for routing incoming ingress gateway traffic with TCP protocol. + /// + public class TcpIngressGatewayTrafficRouteRuleDetails : IngressGatewayTrafficRouteRuleDetails + { + + [JsonProperty(PropertyName = "type")] + private readonly string type = "TCP"; + } +} diff --git a/Servicemesh/models/TcpVirtualServiceTrafficRouteRuleDetails.cs b/Servicemesh/models/TcpVirtualServiceTrafficRouteRuleDetails.cs new file mode 100644 index 000000000..d1d798987 --- /dev/null +++ b/Servicemesh/models/TcpVirtualServiceTrafficRouteRuleDetails.cs @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; + + +namespace Oci.ServicemeshService.Models +{ + /// + /// Rule for routing incoming Virtual Service traffic with TCP protocol + /// + public class TcpVirtualServiceTrafficRouteRuleDetails : VirtualServiceTrafficRouteRuleDetails + { + + [JsonProperty(PropertyName = "type")] + private readonly string type = "TCP"; + } +} diff --git a/Servicemesh/models/TlsPassthroughIngressGatewayTrafficRouteRuleDetails.cs b/Servicemesh/models/TlsPassthroughIngressGatewayTrafficRouteRuleDetails.cs new file mode 100644 index 000000000..8e97cfe36 --- /dev/null +++ b/Servicemesh/models/TlsPassthroughIngressGatewayTrafficRouteRuleDetails.cs @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; + + +namespace Oci.ServicemeshService.Models +{ + /// + /// Rule for routing incoming ingress gateway traffic with TCP protocol. + /// + public class TlsPassthroughIngressGatewayTrafficRouteRuleDetails : IngressGatewayTrafficRouteRuleDetails + { + + [JsonProperty(PropertyName = "type")] + private readonly string type = "TLS_PASSTHROUGH"; + } +} diff --git a/Servicemesh/models/TlsPassthroughVirtualServiceTrafficRouteRuleDetails.cs b/Servicemesh/models/TlsPassthroughVirtualServiceTrafficRouteRuleDetails.cs new file mode 100644 index 000000000..3ede56f1e --- /dev/null +++ b/Servicemesh/models/TlsPassthroughVirtualServiceTrafficRouteRuleDetails.cs @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; + + +namespace Oci.ServicemeshService.Models +{ + /// + /// Rule for routing incoming Virtual Service traffic with TLS_PASSTHROUGH protocol + /// + public class TlsPassthroughVirtualServiceTrafficRouteRuleDetails : VirtualServiceTrafficRouteRuleDetails + { + + [JsonProperty(PropertyName = "type")] + private readonly string type = "TLS_PASSTHROUGH"; + } +} diff --git a/Servicemesh/models/TrafficRuleTargetDetails.cs b/Servicemesh/models/TrafficRuleTargetDetails.cs new file mode 100644 index 000000000..efeddce2f --- /dev/null +++ b/Servicemesh/models/TrafficRuleTargetDetails.cs @@ -0,0 +1,70 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; + +namespace Oci.ServicemeshService.Models +{ + /// + /// Target of the traffic router rule. + /// + [JsonConverter(typeof(TrafficRuleTargetDetailsModelConverter))] + public class TrafficRuleTargetDetails + { + /// + /// + /// Type of the traffic target. + /// + /// + public enum TypeEnum { + [EnumMember(Value = "VIRTUAL_DEPLOYMENT")] + VirtualDeployment, + [EnumMember(Value = "VIRTUAL_SERVICE")] + VirtualService + }; + + + } + + public class TrafficRuleTargetDetailsModelConverter : JsonConverter + { + public override bool CanWrite => false; + public override bool CanRead => true; + public override bool CanConvert(System.Type type) + { + return type == typeof(TrafficRuleTargetDetails); + } + public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) + { + throw new System.InvalidOperationException("Use default serialization."); + } + + public override object ReadJson(JsonReader reader, System.Type objectType, object existingValue, JsonSerializer serializer) + { + var jsonObject = JObject.Load(reader); + var obj = default(TrafficRuleTargetDetails); + var discriminator = jsonObject["type"].Value(); + switch (discriminator) + { + case "VIRTUAL_DEPLOYMENT": + obj = new VirtualDeploymentTrafficRuleTargetDetails(); + break; + case "VIRTUAL_SERVICE": + obj = new VirtualServiceTrafficRuleTargetDetails(); + break; + } + serializer.Populate(jsonObject.CreateReader(), obj); + return obj; + } + } +} diff --git a/Servicemesh/models/UpdateAccessPolicyDetails.cs b/Servicemesh/models/UpdateAccessPolicyDetails.cs index cfe1476bc..8ae6e2f98 100644 --- a/Servicemesh/models/UpdateAccessPolicyDetails.cs +++ b/Servicemesh/models/UpdateAccessPolicyDetails.cs @@ -34,7 +34,7 @@ public class UpdateAccessPolicyDetails /// List of applicable rules. /// [JsonProperty(PropertyName = "rules")] - public System.Collections.Generic.List Rules { get; set; } + public System.Collections.Generic.List Rules { get; set; } /// /// Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. diff --git a/Servicemesh/models/UpdateIngressGatewayDetails.cs b/Servicemesh/models/UpdateIngressGatewayDetails.cs index 5c98d6b4a..732b18a08 100644 --- a/Servicemesh/models/UpdateIngressGatewayDetails.cs +++ b/Servicemesh/models/UpdateIngressGatewayDetails.cs @@ -40,7 +40,7 @@ public class UpdateIngressGatewayDetails public AccessLoggingConfiguration AccessLogging { get; set; } [JsonProperty(PropertyName = "mtls")] - public CreateIngressGatewayMutualTransportLayerSecurityDetails Mtls { get; set; } + public IngressGatewayMutualTransportLayerSecurityDetails Mtls { get; set; } /// /// Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. diff --git a/Servicemesh/models/UpdateIngressGatewayRouteTableDetails.cs b/Servicemesh/models/UpdateIngressGatewayRouteTableDetails.cs index 99ba402ac..f2e120c47 100644 --- a/Servicemesh/models/UpdateIngressGatewayRouteTableDetails.cs +++ b/Servicemesh/models/UpdateIngressGatewayRouteTableDetails.cs @@ -40,7 +40,7 @@ public class UpdateIngressGatewayRouteTableDetails /// The route rules for the ingress gateway. /// [JsonProperty(PropertyName = "routeRules")] - public System.Collections.Generic.List RouteRules { get; set; } + public System.Collections.Generic.List RouteRules { get; set; } /// /// Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. diff --git a/Servicemesh/models/UpdateVirtualServiceDetails.cs b/Servicemesh/models/UpdateVirtualServiceDetails.cs index abcc9599e..1e7937524 100644 --- a/Servicemesh/models/UpdateVirtualServiceDetails.cs +++ b/Servicemesh/models/UpdateVirtualServiceDetails.cs @@ -44,7 +44,7 @@ public class UpdateVirtualServiceDetails public System.Collections.Generic.List Hosts { get; set; } [JsonProperty(PropertyName = "mtls")] - public CreateMutualTransportLayerSecurityDetails Mtls { get; set; } + public VirtualServiceMutualTransportLayerSecurityDetails Mtls { get; set; } /// /// Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. diff --git a/Servicemesh/models/UpdateVirtualServiceRouteTableDetails.cs b/Servicemesh/models/UpdateVirtualServiceRouteTableDetails.cs index f2937eb47..5f77eca37 100644 --- a/Servicemesh/models/UpdateVirtualServiceRouteTableDetails.cs +++ b/Servicemesh/models/UpdateVirtualServiceRouteTableDetails.cs @@ -40,7 +40,7 @@ public class UpdateVirtualServiceRouteTableDetails /// The route rules for the virtual service. /// [JsonProperty(PropertyName = "routeRules")] - public System.Collections.Generic.List RouteRules { get; set; } + public System.Collections.Generic.List RouteRules { get; set; } /// /// Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. diff --git a/Servicemesh/models/VirtualDeployment.cs b/Servicemesh/models/VirtualDeployment.cs index 29ecd4b27..2ccf64397 100644 --- a/Servicemesh/models/VirtualDeployment.cs +++ b/Servicemesh/models/VirtualDeployment.cs @@ -74,20 +74,12 @@ public class VirtualDeployment [JsonProperty(PropertyName = "description")] public string Description { get; set; } - /// - /// Required - /// - [Required(ErrorMessage = "ServiceDiscovery is required.")] [JsonProperty(PropertyName = "serviceDiscovery")] public ServiceDiscoveryConfiguration ServiceDiscovery { get; set; } /// /// The listeners for the virtual deployment /// - /// - /// Required - /// - [Required(ErrorMessage = "Listeners is required.")] [JsonProperty(PropertyName = "listeners")] public System.Collections.Generic.List Listeners { get; set; } diff --git a/Servicemesh/models/VirtualDeploymentTrafficRuleTarget.cs b/Servicemesh/models/VirtualDeploymentTrafficRuleTarget.cs index 366bad942..5f5548cf9 100644 --- a/Servicemesh/models/VirtualDeploymentTrafficRuleTarget.cs +++ b/Servicemesh/models/VirtualDeploymentTrafficRuleTarget.cs @@ -24,10 +24,6 @@ public class VirtualDeploymentTrafficRuleTarget : TrafficRuleTarget /// /// The OCID of the virtual deployment where the request will be routed. /// - /// - /// Required - /// - [Required(ErrorMessage = "VirtualDeploymentId is required.")] [JsonProperty(PropertyName = "virtualDeploymentId")] public string VirtualDeploymentId { get; set; } diff --git a/Servicemesh/models/VirtualDeploymentTrafficRuleTargetDetails.cs b/Servicemesh/models/VirtualDeploymentTrafficRuleTargetDetails.cs new file mode 100644 index 000000000..ad06dcdfd --- /dev/null +++ b/Servicemesh/models/VirtualDeploymentTrafficRuleTargetDetails.cs @@ -0,0 +1,55 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; + + +namespace Oci.ServicemeshService.Models +{ + /// + /// Traffic router target for a virtual service version. + /// + public class VirtualDeploymentTrafficRuleTargetDetails : TrafficRuleTargetDetails + { + + /// + /// The OCID of the virtual deployment where the request will be routed. + /// + /// + /// Required + /// + [Required(ErrorMessage = "VirtualDeploymentId is required.")] + [JsonProperty(PropertyName = "virtualDeploymentId")] + public string VirtualDeploymentId { get; set; } + + /// + /// Port on virtual deployment to target. + /// If port is missing, the rule will target all ports on the virtual deployment. + /// + /// + [JsonProperty(PropertyName = "port")] + public System.Nullable Port { get; set; } + + /// + /// Weight of traffic target. + /// + /// + /// Required + /// + [Required(ErrorMessage = "Weight is required.")] + [JsonProperty(PropertyName = "weight")] + public System.Nullable Weight { get; set; } + + [JsonProperty(PropertyName = "type")] + private readonly string type = "VIRTUAL_DEPLOYMENT"; + } +} diff --git a/Servicemesh/models/VirtualServiceAccessPolicyTarget.cs b/Servicemesh/models/VirtualServiceAccessPolicyTarget.cs index 02a9b4349..8170d6183 100644 --- a/Servicemesh/models/VirtualServiceAccessPolicyTarget.cs +++ b/Servicemesh/models/VirtualServiceAccessPolicyTarget.cs @@ -24,10 +24,6 @@ public class VirtualServiceAccessPolicyTarget : AccessPolicyTarget /// /// The OCID of the virtual service resource. /// - /// - /// Required - /// - [Required(ErrorMessage = "VirtualServiceId is required.")] [JsonProperty(PropertyName = "virtualServiceId")] public string VirtualServiceId { get; set; } diff --git a/Servicemesh/models/VirtualServiceAccessPolicyTargetDetails.cs b/Servicemesh/models/VirtualServiceAccessPolicyTargetDetails.cs new file mode 100644 index 000000000..ae3bbba12 --- /dev/null +++ b/Servicemesh/models/VirtualServiceAccessPolicyTargetDetails.cs @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; + + +namespace Oci.ServicemeshService.Models +{ + /// + /// Virtual service target which communicates with other virtual services in a mesh. + /// + public class VirtualServiceAccessPolicyTargetDetails : AccessPolicyTargetDetails + { + + /// + /// The OCID of the virtual service resource. + /// + /// + /// Required + /// + [Required(ErrorMessage = "VirtualServiceId is required.")] + [JsonProperty(PropertyName = "virtualServiceId")] + public string VirtualServiceId { get; set; } + + [JsonProperty(PropertyName = "type")] + private readonly string type = "VIRTUAL_SERVICE"; + } +} diff --git a/Servicemesh/models/CreateMutualTransportLayerSecurityDetails.cs b/Servicemesh/models/VirtualServiceMutualTransportLayerSecurityDetails.cs similarity index 96% rename from Servicemesh/models/CreateMutualTransportLayerSecurityDetails.cs rename to Servicemesh/models/VirtualServiceMutualTransportLayerSecurityDetails.cs index 77483d24e..95f49e6c7 100644 --- a/Servicemesh/models/CreateMutualTransportLayerSecurityDetails.cs +++ b/Servicemesh/models/VirtualServiceMutualTransportLayerSecurityDetails.cs @@ -19,7 +19,7 @@ namespace Oci.ServicemeshService.Models /// The mTLS authentication mode to use when receiving requests from other virtual services or ingress gateways within the mesh. /// ///
- public class CreateMutualTransportLayerSecurityDetails + public class VirtualServiceMutualTransportLayerSecurityDetails { /// diff --git a/Servicemesh/models/VirtualServiceRouteTable.cs b/Servicemesh/models/VirtualServiceRouteTable.cs index a3ad39355..3d3e35f50 100644 --- a/Servicemesh/models/VirtualServiceRouteTable.cs +++ b/Servicemesh/models/VirtualServiceRouteTable.cs @@ -83,10 +83,6 @@ public class VirtualServiceRouteTable /// /// The route rules for the virtual service. /// - /// - /// Required - /// - [Required(ErrorMessage = "RouteRules is required.")] [JsonProperty(PropertyName = "routeRules")] public System.Collections.Generic.List RouteRules { get; set; } diff --git a/Servicemesh/models/VirtualServiceTrafficRouteRuleDetails.cs b/Servicemesh/models/VirtualServiceTrafficRouteRuleDetails.cs new file mode 100644 index 000000000..2bf7bc367 --- /dev/null +++ b/Servicemesh/models/VirtualServiceTrafficRouteRuleDetails.cs @@ -0,0 +1,85 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; + +namespace Oci.ServicemeshService.Models +{ + /// + /// Rule for routing incoming virtual service traffic to a version. + /// + [JsonConverter(typeof(VirtualServiceTrafficRouteRuleDetailsModelConverter))] + public class VirtualServiceTrafficRouteRuleDetails + { + /// + /// + /// Type of protocol. + /// + /// + public enum TypeEnum { + [EnumMember(Value = "HTTP")] + Http, + [EnumMember(Value = "TLS_PASSTHROUGH")] + TlsPassthrough, + [EnumMember(Value = "TCP")] + Tcp + }; + + + /// + /// The destination of the request. + /// + /// + /// Required + /// + [Required(ErrorMessage = "Destinations is required.")] + [JsonProperty(PropertyName = "destinations")] + public System.Collections.Generic.List Destinations { get; set; } + + } + + public class VirtualServiceTrafficRouteRuleDetailsModelConverter : JsonConverter + { + public override bool CanWrite => false; + public override bool CanRead => true; + public override bool CanConvert(System.Type type) + { + return type == typeof(VirtualServiceTrafficRouteRuleDetails); + } + public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) + { + throw new System.InvalidOperationException("Use default serialization."); + } + + public override object ReadJson(JsonReader reader, System.Type objectType, object existingValue, JsonSerializer serializer) + { + var jsonObject = JObject.Load(reader); + var obj = default(VirtualServiceTrafficRouteRuleDetails); + var discriminator = jsonObject["type"].Value(); + switch (discriminator) + { + case "TCP": + obj = new TcpVirtualServiceTrafficRouteRuleDetails(); + break; + case "TLS_PASSTHROUGH": + obj = new TlsPassthroughVirtualServiceTrafficRouteRuleDetails(); + break; + case "HTTP": + obj = new HttpVirtualServiceTrafficRouteRuleDetails(); + break; + } + serializer.Populate(jsonObject.CreateReader(), obj); + return obj; + } + } +} diff --git a/Servicemesh/models/VirtualServiceTrafficRuleTarget.cs b/Servicemesh/models/VirtualServiceTrafficRuleTarget.cs index 7d59f8b87..b292adc5e 100644 --- a/Servicemesh/models/VirtualServiceTrafficRuleTarget.cs +++ b/Servicemesh/models/VirtualServiceTrafficRuleTarget.cs @@ -24,10 +24,6 @@ public class VirtualServiceTrafficRuleTarget : TrafficRuleTarget /// /// The OCID of the virtual service where the request will be routed. /// - /// - /// Required - /// - [Required(ErrorMessage = "VirtualServiceId is required.")] [JsonProperty(PropertyName = "virtualServiceId")] public string VirtualServiceId { get; set; } diff --git a/Servicemesh/models/VirtualServiceTrafficRuleTargetDetails.cs b/Servicemesh/models/VirtualServiceTrafficRuleTargetDetails.cs new file mode 100644 index 000000000..9bb5f36ce --- /dev/null +++ b/Servicemesh/models/VirtualServiceTrafficRuleTargetDetails.cs @@ -0,0 +1,51 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; + + +namespace Oci.ServicemeshService.Models +{ + /// + /// Traffic router target for an ingress gateway. + /// + public class VirtualServiceTrafficRuleTargetDetails : TrafficRuleTargetDetails + { + + /// + /// The OCID of the virtual service where the request will be routed. + /// + /// + /// Required + /// + [Required(ErrorMessage = "VirtualServiceId is required.")] + [JsonProperty(PropertyName = "virtualServiceId")] + public string VirtualServiceId { get; set; } + + /// + /// The port on the virtual service to target. + /// Mandatory if the virtual deployments are listening on multiple ports. + /// + /// + [JsonProperty(PropertyName = "port")] + public System.Nullable Port { get; set; } + + /// + /// Weight of traffic target. + /// + [JsonProperty(PropertyName = "weight")] + public System.Nullable Weight { get; set; } + + [JsonProperty(PropertyName = "type")] + private readonly string type = "VIRTUAL_SERVICE"; + } +} diff --git a/Servicemesh/requests/CancelWorkRequestRequest.cs b/Servicemesh/requests/CancelWorkRequestRequest.cs new file mode 100644 index 000000000..ac5e3dfcd --- /dev/null +++ b/Servicemesh/requests/CancelWorkRequestRequest.cs @@ -0,0 +1,49 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using Oci.ServicemeshService.Models; + +namespace Oci.ServicemeshService.Requests +{ + /// + /// Click here to see an example of how to use CancelWorkRequest request. + /// + public class CancelWorkRequestRequest : Oci.Common.IOciRequest + { + + /// + /// The ID of the asynchronous request. + /// + /// + /// Required + /// + [Required(ErrorMessage = "WorkRequestId is required.")] + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Path, "workRequestId")] + public string WorkRequestId { get; set; } + + /// + /// For optimistic concurrency control. In the PUT or DELETE call + /// for a resource, set the `if-match` parameter to the value of the + /// etag from a previous GET or POST response for that resource. + /// The resource will be updated or deleted only if the etag you + /// provide matches the resource's current etag value. + /// + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "if-match")] + public string IfMatch { get; set; } + + /// + /// The client request ID for tracing. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-request-id")] + public string OpcRequestId { get; set; } + } +} diff --git a/Servicemesh/requests/ListAccessPoliciesRequest.cs b/Servicemesh/requests/ListAccessPoliciesRequest.cs index 1254cecb8..0e7fa045e 100644 --- a/Servicemesh/requests/ListAccessPoliciesRequest.cs +++ b/Servicemesh/requests/ListAccessPoliciesRequest.cs @@ -97,6 +97,6 @@ public enum SortByEnum { /// A filter to return only resources that match the life cycle state given. /// [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Query, "lifecycleState")] - public string LifecycleState { get; set; } + public System.Nullable LifecycleState { get; set; } } } diff --git a/Servicemesh/requests/ListIngressGatewayRouteTablesRequest.cs b/Servicemesh/requests/ListIngressGatewayRouteTablesRequest.cs index c1334ab08..e881db769 100644 --- a/Servicemesh/requests/ListIngressGatewayRouteTablesRequest.cs +++ b/Servicemesh/requests/ListIngressGatewayRouteTablesRequest.cs @@ -97,6 +97,6 @@ public enum SortByEnum { /// A filter to return only resources that match the life cycle state given. ///
[Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Query, "lifecycleState")] - public string LifecycleState { get; set; } + public System.Nullable LifecycleState { get; set; } } } diff --git a/Servicemesh/requests/ListIngressGatewaysRequest.cs b/Servicemesh/requests/ListIngressGatewaysRequest.cs index ce0cc1657..9a8def3f1 100644 --- a/Servicemesh/requests/ListIngressGatewaysRequest.cs +++ b/Servicemesh/requests/ListIngressGatewaysRequest.cs @@ -97,6 +97,6 @@ public enum SortByEnum { /// A filter to return only resources that match the life cycle state given. ///
[Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Query, "lifecycleState")] - public string LifecycleState { get; set; } + public System.Nullable LifecycleState { get; set; } } } diff --git a/Servicemesh/requests/ListMeshesRequest.cs b/Servicemesh/requests/ListMeshesRequest.cs index bcb9718e2..0734601ce 100644 --- a/Servicemesh/requests/ListMeshesRequest.cs +++ b/Servicemesh/requests/ListMeshesRequest.cs @@ -85,7 +85,7 @@ public enum SortByEnum { /// A filter to return only resources that match the life cycle state given. ///
[Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Query, "lifecycleState")] - public string LifecycleState { get; set; } + public System.Nullable LifecycleState { get; set; } /// /// Unique Mesh identifier. diff --git a/Servicemesh/requests/ListVirtualDeploymentsRequest.cs b/Servicemesh/requests/ListVirtualDeploymentsRequest.cs index e71e29b33..455b5c4f2 100644 --- a/Servicemesh/requests/ListVirtualDeploymentsRequest.cs +++ b/Servicemesh/requests/ListVirtualDeploymentsRequest.cs @@ -97,6 +97,6 @@ public enum SortByEnum { /// A filter to return only resources that match the life cycle state given. /// [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Query, "lifecycleState")] - public string LifecycleState { get; set; } + public System.Nullable LifecycleState { get; set; } } } diff --git a/Servicemesh/requests/ListVirtualServiceRouteTablesRequest.cs b/Servicemesh/requests/ListVirtualServiceRouteTablesRequest.cs index c8b29605e..38cef744f 100644 --- a/Servicemesh/requests/ListVirtualServiceRouteTablesRequest.cs +++ b/Servicemesh/requests/ListVirtualServiceRouteTablesRequest.cs @@ -97,6 +97,6 @@ public enum SortByEnum { /// A filter to return only resources that match the life cycle state given. ///
[Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Query, "lifecycleState")] - public string LifecycleState { get; set; } + public System.Nullable LifecycleState { get; set; } } } diff --git a/Servicemesh/requests/ListVirtualServicesRequest.cs b/Servicemesh/requests/ListVirtualServicesRequest.cs index 15e827897..cc8de0744 100644 --- a/Servicemesh/requests/ListVirtualServicesRequest.cs +++ b/Servicemesh/requests/ListVirtualServicesRequest.cs @@ -97,6 +97,6 @@ public enum SortByEnum { /// A filter to return only resources that match the life cycle state given. ///
[Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Query, "lifecycleState")] - public string LifecycleState { get; set; } + public System.Nullable LifecycleState { get; set; } } } diff --git a/Servicemesh/requests/ListWorkRequestErrorsRequest.cs b/Servicemesh/requests/ListWorkRequestErrorsRequest.cs index 89016c1a5..5166f1f13 100644 --- a/Servicemesh/requests/ListWorkRequestErrorsRequest.cs +++ b/Servicemesh/requests/ListWorkRequestErrorsRequest.cs @@ -46,5 +46,29 @@ public class ListWorkRequestErrorsRequest : Oci.Common.IOciRequest ///
[Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Query, "limit")] public System.Nullable Limit { get; set; } + + /// + /// The sort order to use, either 'ASC' or 'DESC'. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Query, "sortOrder")] + public System.Nullable SortOrder { get; set; } + + /// + /// + /// The field to sort by. Only one sort order may be provided. Default order for timestamp is descending. + /// + /// + /// + public enum SortByEnum { + [EnumMember(Value = "timestamp")] + Timestamp + }; + + /// + /// The field to sort by. Only one sort order may be provided. Default order for timestamp is descending. + /// + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Query, "sortBy")] + public System.Nullable SortBy { get; set; } } } diff --git a/Servicemesh/requests/ListWorkRequestLogsRequest.cs b/Servicemesh/requests/ListWorkRequestLogsRequest.cs index e8f3475f0..38cb81907 100644 --- a/Servicemesh/requests/ListWorkRequestLogsRequest.cs +++ b/Servicemesh/requests/ListWorkRequestLogsRequest.cs @@ -46,5 +46,29 @@ public class ListWorkRequestLogsRequest : Oci.Common.IOciRequest ///
[Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Query, "limit")] public System.Nullable Limit { get; set; } + + /// + /// The sort order to use, either 'ASC' or 'DESC'. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Query, "sortOrder")] + public System.Nullable SortOrder { get; set; } + + /// + /// + /// The field to sort by. Only one sort order may be provided. Default order for timestamp is descending. + /// + /// + /// + public enum SortByEnum { + [EnumMember(Value = "timestamp")] + Timestamp + }; + + /// + /// The field to sort by. Only one sort order may be provided. Default order for timestamp is descending. + /// + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Query, "sortBy")] + public System.Nullable SortBy { get; set; } } } diff --git a/Servicemesh/requests/ListWorkRequestsRequest.cs b/Servicemesh/requests/ListWorkRequestsRequest.cs index 2cba98ee4..6a4fe7618 100644 --- a/Servicemesh/requests/ListWorkRequestsRequest.cs +++ b/Servicemesh/requests/ListWorkRequestsRequest.cs @@ -35,6 +35,42 @@ public class ListWorkRequestsRequest : Oci.Common.IOciRequest [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Query, "workRequestId")] public string WorkRequestId { get; set; } + /// + /// A filter to return work requests that match the given resourceId. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Query, "resourceId")] + public string ResourceId { get; set; } + + /// + /// A filter to return only resources that match the operation status given. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Query, "operationStatus")] + public System.Nullable OperationStatus { get; set; } + + /// + /// The sort order to use, either 'ASC' or 'DESC'. + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Query, "sortOrder")] + public System.Nullable SortOrder { get; set; } + + /// + /// + /// The field to sort by. Only one sort order may be provided. Default order for timeAccepted is descending. + /// + /// + /// + public enum SortByEnum { + [EnumMember(Value = "timeAccepted")] + TimeAccepted + }; + + /// + /// The field to sort by. Only one sort order may be provided. Default order for timeAccepted is descending. + /// + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Query, "sortBy")] + public System.Nullable SortBy { get; set; } + /// /// The client request ID for tracing. /// diff --git a/Servicemesh/responses/CancelWorkRequestResponse.cs b/Servicemesh/responses/CancelWorkRequestResponse.cs new file mode 100644 index 000000000..c2fc19d4c --- /dev/null +++ b/Servicemesh/responses/CancelWorkRequestResponse.cs @@ -0,0 +1,29 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ + +// NOTE: Code generated by OracleSDKGenerator. +// DO NOT EDIT this file manually. + + +using System.Runtime.Serialization; +using Oci.ServicemeshService.Models; + +namespace Oci.ServicemeshService.Responses +{ + public class CancelWorkRequestResponse : Oci.Common.IOciResponse + { + + /// + /// Unique Oracle-assigned identifier for the request. If you need to contact + /// Oracle about a particular request, please provide the request ID. + /// + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "opc-request-id")] + public string OpcRequestId { get; set; } + + + + } +} diff --git a/Servicemesh/responses/GetWorkRequestResponse.cs b/Servicemesh/responses/GetWorkRequestResponse.cs index 1da3abfa8..74c9637f5 100644 --- a/Servicemesh/responses/GetWorkRequestResponse.cs +++ b/Servicemesh/responses/GetWorkRequestResponse.cs @@ -15,6 +15,14 @@ namespace Oci.ServicemeshService.Responses public class GetWorkRequestResponse : Oci.Common.IOciResponse { + /// + /// For optimistic concurrency control. See `if-match`. + /// + /// + [Oci.Common.Http.HttpConverter(Oci.Common.Http.TargetEnum.Header, "etag")] + public string Etag { get; set; } + + /// /// Unique Oracle-assigned identifier for the request. If you need to contact /// Oracle about a particular request, please provide the request ID. diff --git a/oci-dotnet-sdk.sln b/oci-dotnet-sdk.sln index 261dd3ac1..d2a58b32f 100644 --- a/oci-dotnet-sdk.sln +++ b/oci-dotnet-sdk.sln @@ -251,6 +251,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OCI.DotNetSDK.Containerinst EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OCI.DotNetSDK.Aidocument", "Aidocument\OCI.DotNetSDK.Aidocument.csproj", "{436C77C5-AC64-42CD-ABC7-819D211DF171}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OCI.DotNetSDK.Queue", "Queue\OCI.DotNetSDK.Queue.csproj", "{352361C6-92DA-4E77-8738-B2B1A58EBC51}" +EndProject Global GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -2343,5 +2345,17 @@ Global {436C77C5-AC64-42CD-ABC7-819D211DF171}.Release|x64.Build.0 = Release|Any CPU {436C77C5-AC64-42CD-ABC7-819D211DF171}.Release|x86.ActiveCfg = Release|Any CPU {436C77C5-AC64-42CD-ABC7-819D211DF171}.Release|x86.Build.0 = Release|Any CPU + {352361C6-92DA-4E77-8738-B2B1A58EBC51}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {352361C6-92DA-4E77-8738-B2B1A58EBC51}.Debug|Any CPU.Build.0 = Debug|Any CPU + {352361C6-92DA-4E77-8738-B2B1A58EBC51}.Debug|x64.ActiveCfg = Debug|Any CPU + {352361C6-92DA-4E77-8738-B2B1A58EBC51}.Debug|x64.Build.0 = Debug|Any CPU + {352361C6-92DA-4E77-8738-B2B1A58EBC51}.Debug|x86.ActiveCfg = Debug|Any CPU + {352361C6-92DA-4E77-8738-B2B1A58EBC51}.Debug|x86.Build.0 = Debug|Any CPU + {352361C6-92DA-4E77-8738-B2B1A58EBC51}.Release|Any CPU.ActiveCfg = Release|Any CPU + {352361C6-92DA-4E77-8738-B2B1A58EBC51}.Release|Any CPU.Build.0 = Release|Any CPU + {352361C6-92DA-4E77-8738-B2B1A58EBC51}.Release|x64.ActiveCfg = Release|Any CPU + {352361C6-92DA-4E77-8738-B2B1A58EBC51}.Release|x64.Build.0 = Release|Any CPU + {352361C6-92DA-4E77-8738-B2B1A58EBC51}.Release|x86.ActiveCfg = Release|Any CPU + {352361C6-92DA-4E77-8738-B2B1A58EBC51}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection EndGlobal