public CustomResourceWatcher( ILogger logger, IKubernetesWrapper client, CustomResourceDefinition crd, CancellationToken cancellationToken, Action <WatchEventType, T> handle) { Guard.Against.Null(logger, "iLogger"); Guard.Against.Null(client, "client"); Guard.Against.Null(crd, "crd"); Guard.Against.OutOfRange(crd.ApiVersion.Split('/').Count(), "crd.ApiVersion", 2, 2); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _client = client ?? throw new ArgumentNullException(nameof(client)); _crd = crd ?? throw new ArgumentNullException(nameof(crd)); _cancellationToken = cancellationToken; _handle = handle ?? throw new ArgumentNullException(nameof(handle)); _cache = new Dictionary <string, T>(); }
public async Task <HttpOperationResponse <object> > DeleteNamespacedCustomObjectWithHttpMessagesAsync(CustomResourceDefinition crd, string name) { Guard.Against.Null(crd, "crd"); Guard.Against.NullOrWhiteSpace(crd.ApiVersion, "crd.ApiVersion"); Guard.Against.NullOrWhiteSpace(crd.Namespace, "crd.Namespace"); Guard.Against.NullOrWhiteSpace(crd.PluralName, "crd.PluralName"); Guard.Against.NullOrWhiteSpace(name, "name"); return(await _client.DeleteNamespacedCustomObjectWithHttpMessagesAsync( group : crd.ApiVersion.Split('/')[0], version : crd.ApiVersion.Split('/')[1], namespaceParameter : crd.Namespace, plural : crd.PluralName, name : name) .ConfigureAwait(false)); }