示例#1
0
        public override void ExecuteCmdlet()
        {
            if (this.InputObject != null)
            {
                this.ResourceGroupName = this.InputObject.ResourceGroupName;
                this.Name = this.InputObject.Name;
            }
            else if (!string.IsNullOrWhiteSpace(this.ResourceId))
            {
                var parsedResourceId = new ResourceIdentifier(this.ResourceId);
                this.ResourceGroupName = parsedResourceId.ResourceGroupName;
                this.Name = parsedResourceId.ResourceName;
            }

            var psStepResource = new PSStepResource()
            {
                ResourceGroupName = this.ResourceGroupName,
                Name = this.Name,
            };

            if (!string.IsNullOrWhiteSpace(this.Name))
            {
                psStepResource = this.DeploymentManagerClient.GetStep(psStepResource);
                this.WriteObject(psStepResource);
            }
            else
            {
                var psStepResources = this.DeploymentManagerClient.ListSteps(this.ResourceGroupName);
                this.WriteObject(psStepResources, enumerateCollection: true);
            }
        }
示例#2
0
        internal PSStepResource PutStep(PSStepResource psStepResource)
        {
            var stepResource = _client.Steps.CreateOrUpdate(
                psStepResource.ResourceGroupName,
                psStepResource.Name,
                psStepResource.ToSdkType());

            return(new PSStepResource(psStepResource.ResourceGroupName, stepResource));
        }
示例#3
0
        public override void ExecuteCmdlet()
        {
            if (this.ShouldProcess(this.Name, Messages.CreateStep))
            {
                var psStepResource = new PSStepResource()
                {
                    ResourceGroupName = this.ResourceGroupName,
                    Name           = this.Name,
                    Location       = this.Location,
                    Tags           = this.Tag,
                    StepProperties = this.GetProperties()
                };

                if (this.DeploymentManagerClient.StepExists(psStepResource))
                {
                    throw new PSArgumentException(Messages.StepAlreadyExists);
                }

                psStepResource = this.DeploymentManagerClient.PutStep(psStepResource);
                this.WriteObject(psStepResource);
            }
        }
示例#4
0
        private bool Delete()
        {
            if (this.InputObject != null)
            {
                this.ResourceGroupName = this.InputObject.ResourceGroupName;
                this.Name = this.InputObject.Name;
            }
            else if (!string.IsNullOrWhiteSpace(this.ResourceId))
            {
                var parsedResourceId = new ResourceIdentifier(this.ResourceId);
                this.ResourceGroupName = parsedResourceId.ResourceGroupName;
                this.Name = parsedResourceId.ResourceName;
            }

            var stepToDelete = new PSStepResource()
            {
                ResourceGroupName = this.ResourceGroupName,
                Name = this.Name
            };

            return(this.DeploymentManagerClient.DeleteStep(stepToDelete));
        }
示例#5
0
        internal bool DeleteStep(PSStepResource psStepResource)
        {
            var result = _client.Steps.DeleteWithHttpMessagesAsync(psStepResource.ResourceGroupName, psStepResource.Name).GetAwaiter().GetResult();

            return(result.Response.StatusCode == HttpStatusCode.OK || result.Response.StatusCode == HttpStatusCode.NoContent);
        }
示例#6
0
        internal PSStepResource GetStep(PSStepResource psStepResource)
        {
            var stepResource = _client.Steps.Get(psStepResource.ResourceGroupName, psStepResource.Name);

            return(new PSStepResource(psStepResource.ResourceGroupName, stepResource));
        }
示例#7
0
 internal bool StepExists(PSStepResource psStepResource)
 {
     return(DeploymentManagerClient.ResourceExists(psStepResource, this.GetStep));
 }