Пример #1
0
        protected override void ProcessRecord()
        {
            Subscription = GetProjectPrefixForSubscription(Subscription, Project);

            ModifyPushConfigRequest requestBody = new ModifyPushConfigRequest();

            if (!PullConfig.IsPresent)
            {
                PushConfig pushConfig = new PushConfig()
                {
                    PushEndpoint = PushEndpoint
                };
                requestBody.PushConfig = pushConfig;
            }
            else
            {
                // Setting this to null will change a push config to a pull config.
                requestBody.PushConfig = null;
            }

            try
            {
                ProjectsResource.SubscriptionsResource.ModifyPushConfigRequest request =
                    Service.Projects.Subscriptions.ModifyPushConfig(requestBody, Subscription);
                request.Execute();
            }
            catch (GoogleApiException ex) when(ex.HttpStatusCode == HttpStatusCode.NotFound)
            {
                WriteResourceMissingError(
                    exceptionMessage: $"Subscription '{Subscription}' does not exist in project '{Project}'.",
                    errorId: "SubscriptionNotFound",
                    targetObject: Subscription);
            }
        }
        public void ModifyPushConfig_RequestObject()
        {
            // Snippet: ModifyPushConfig(ModifyPushConfigRequest,CallSettings)
            // Create client
            SubscriberClient subscriberClient = SubscriberClient.Create();
            // Initialize request argument(s)
            ModifyPushConfigRequest request = new ModifyPushConfigRequest
            {
                SubscriptionAsSubscriptionName = new SubscriptionName("[PROJECT]", "[SUBSCRIPTION]"),
                PushConfig = new PushConfig(),
            };

            // Make the request
            subscriberClient.ModifyPushConfig(request);
            // End snippet
        }
        /// Documentation https://developers.google.com/pubsub/v1beta1a/reference/subscriptions/modifyPushConfig
        /// Generation Note: This does not always build corectly.  Google needs to standardise things I need to figuer out which ones are wrong.
        /// </summary>
        /// <param name="service">Authenticated pubsub service.</param>  
        /// <param name="body">A valid pubsub v1beta1a body.</param>
        /// <returns>EmptyResponse</returns>
        public static Empty ModifyPushConfig(pubsubService service, ModifyPushConfigRequest body)
        {
            try
            {
                // Initial validation.
                if (service == null)
                    throw new ArgumentNullException("service");
                if (body == null)
                    throw new ArgumentNullException("body");

                // Make the request.
                return service.Subscriptions.ModifyPushConfig(body).Execute();
            }
            catch (Exception ex)
            {
                throw new Exception("Request Subscriptions.ModifyPushConfig failed.", ex);
            }
        }
        protected override void ProcessRecord()
        {
            if (InputObject != null)
            {
                Subscription = InputObject.Name;
            }
            Subscription = GetProjectPrefixForSubscription(Subscription, Project);

            ModifyPushConfigRequest requestBody = new ModifyPushConfigRequest();

            if (!PullConfig.IsPresent)
            {
                PushConfig pushConfig = new PushConfig() { PushEndpoint = PushEndpoint };
                requestBody.PushConfig = pushConfig;
            }
            else
            {
                // Setting this to null will change a push config to a pull config.
                requestBody.PushConfig = null;
            }

            try
            {
                ProjectsResource.SubscriptionsResource.ModifyPushConfigRequest request =
                    Service.Projects.Subscriptions.ModifyPushConfig(requestBody, Subscription);
                request.Execute();
            }
            catch (GoogleApiException ex) when (ex.HttpStatusCode == HttpStatusCode.NotFound)
            {
                WriteResourceMissingError(
                    exceptionMessage: $"Subscription '{Subscription}' does not exist in project '{Project}'.",
                    errorId: "SubscriptionNotFound",
                    targetObject: Subscription);
            }
        }