コード例 #1
0
 /// <summary>
 /// Populates service bus authentication properties.
 /// </summary>
 /// <param name="serviceBusAuthentication">Service bus authentication properties specified via PowerShell.</param>
 /// <param name="existingServiceBusAuthentication">Existing job's service bus authentication properties.</param>
 private void PopulateServiceBusAuthentication(PSServiceBusAuthenticationParams serviceBusAuthentication, ServiceBusAuthentication existingServiceBusAuthentication)
 {
     if (serviceBusAuthentication != null)
     {
         existingServiceBusAuthentication.SasKey = serviceBusAuthentication.SasKey.GetValueOrDefault(defaultValue: existingServiceBusAuthentication.SasKey);
         existingServiceBusAuthentication.SasKeyName = serviceBusAuthentication.SasKeyName.GetValueOrDefault(defaultValue: existingServiceBusAuthentication.SasKeyName);
         existingServiceBusAuthentication.Type = serviceBusAuthentication.Type.GetValueOrDefaultEnum<ServiceBusAuthenticationType?>(defaultValue: existingServiceBusAuthentication.Type);
     }
 }
        /// <summary>
        /// Executes the command.
        /// </summary>
        public override void ExecuteCmdlet()
        {
            base.ExecuteCmdlet();

            var serviceBusAuthentication = new PSServiceBusAuthenticationParams()
            {
                SasKey = this.ServiceBusSasKeyValue,
                SasKeyName = this.ServiceBusSasKeyName,
                Type = Constants.SharedAccessKey
            };

            var servicBusQueue = new PSServiceBusParams()
            {
                Authentication = serviceBusAuthentication,
                Message = this.ServiceBusMessage,
                NamespaceProperty = this.ServiceBusNamespace,
                QueueName = this.ServiceBusQueueName,
                TransportType = this.ServiceBusTransportType
            };

            var jobAction = new PSJobActionParams()
            {
                JobActionType = SchedulerModels.JobActionType.ServiceBusQueue,
                ServiceBusAction = servicBusQueue
            };

            var jobRecurrence = new PSJobRecurrenceParams()
            {
                Interval = this.Interval,
                Frequency = this.Frequency,
                EndTime = this.EndTime,
                ExecutionCount = this.ExecutionCount
            };

            var jobParams = new PSJobParams()
            {
                ResourceGroupName = this.ResourceGroupName,
                JobCollectionName = this.JobCollectionName,
                JobName = this.JobName,
                JobState = this.JobState,
                StartTime = this.StartTime,
                JobAction = jobAction,
                JobRecurrence = jobRecurrence,
                JobErrorAction = this.GetErrorActionParamsValue(this.ErrorActionType)
            };

            this.ConfirmAction(
                processMessage: string.Format(Resources.NewServiceBusQueueJobResourceDescription, this.JobName),
                target: this.JobCollectionName,
                action: () =>
                {
                    this.WriteObject(this.SchedulerClient.CreateJob(jobParams));
                }
            );
        }
コード例 #3
0
        /// <summary>
        /// Get service bus authentication.
        /// </summary>
        /// <param name="serviceBusAuthenticationParams">Service bus authentication properties specified via PowerShell</param>
        /// <returns>ServiceBusAuthentication instance.</returns>
        private ServiceBusAuthentication GetServiceBusAuthentication(PSServiceBusAuthenticationParams serviceBusAuthenticationParams)
        {
            if (serviceBusAuthenticationParams == null ||
                string.IsNullOrWhiteSpace(serviceBusAuthenticationParams.SasKeyName) ||
                string.IsNullOrWhiteSpace(serviceBusAuthenticationParams.SasKey) ||
                string.IsNullOrWhiteSpace(serviceBusAuthenticationParams.Type))
            {
                throw new PSManagement.PSArgumentException();
            }

            return new ServiceBusAuthentication()
            {
                SasKey = serviceBusAuthenticationParams.SasKey,
                SasKeyName = serviceBusAuthenticationParams.SasKeyName,
                Type = serviceBusAuthenticationParams.Type.GetValueOrDefaultEnum<ServiceBusAuthenticationType>(defaultValue:ServiceBusAuthenticationType.NotSpecified)
            };
        }