コード例 #1
0
        public override void ExecuteCmdlet()
        {
            FilterRoleDefinitionOptions options = new FilterRoleDefinitionOptions
            {
                CustomOnly         = Custom.IsPresent ? true : false,
                Scope              = Scope,
                ResourceIdentifier = new ResourceIdentifier
                {
                    Subscription = DefaultProfile.DefaultContext.Subscription.Id?.ToString()
                },
                RoleDefinitionId   = Id,
                RoleDefinitionName = Name,
            };

            if (options.Scope == null && options.ResourceIdentifier.Subscription == null)
            {
                WriteTerminatingError("No subscription was found in the default profile and no scope was specified. Either specify a scope or use a tenant with a subscription to run the command.");
            }

            AuthorizationClient.ValidateScope(options.Scope, true);

            IEnumerable <PSRoleDefinition> filteredRoleDefinitions = PoliciesClient.FilterRoleDefinitions(options);

            if (filteredRoleDefinitions?.Count() == 0)
            {
                WriteWarning("No role definitions were found with those conditions.");
                WriteWarning("If the role was created recently keep in mind there's a slight delay between creation and public view.");
                WriteWarning("Please try again later.");
            }
            else
            {
                WriteObject(filteredRoleDefinitions, enumerateCollection: true);
            }
        }
コード例 #2
0
        public override void ExecuteCmdlet()
        {
            PSRoleDefinition roleDefinition = null;
            string           confirmMessage = null;

            if (this.IsParameterBound(c => c.InputObject))
            {
                var tempId = Guid.Empty;
                if (!string.IsNullOrEmpty(InputObject.Id) && Guid.TryParse(InputObject.Id, out tempId))
                {
                    Id = tempId;
                }
                else
                {
                    Name = InputObject.Name;
                }
            }

            if (Id != Guid.Empty)
            {
                confirmMessage = string.Format(ProjectResources.RemoveRoleDefinition, Id);
            }
            else
            {
                confirmMessage = string.Format(ProjectResources.RemoveRoleDefinitionWithName, Name);
            }

            FilterRoleDefinitionOptions options = new FilterRoleDefinitionOptions
            {
                RoleDefinitionId   = Id,
                RoleDefinitionName = Name,
                Scope = Scope,
                ResourceIdentifier = new ResourceIdentifier
                {
                    Subscription = DefaultProfile.DefaultContext.Subscription.Id.ToString()
                }
            };

            AuthorizationClient.ValidateScope(options.Scope, true);

            ConfirmAction(
                Force.IsPresent,
                confirmMessage,
                ProjectResources.RemoveRoleDefinition,
                Id.ToString(),
                () =>
            {
                roleDefinition = PoliciesClient.RemoveRoleDefinition(options);
                if (PassThru)
                {
                    WriteObject(roleDefinition);
                }
            });
        }
コード例 #3
0
        public override void ExecuteCmdlet()
        {
            FilterRoleDefinitionOptions options = new FilterRoleDefinitionOptions
            {
                CustomOnly         = Custom.IsPresent ? true : false,
                ScopeAndBelow      = AtScopeAndBelow.IsPresent ? true : false,
                Scope              = Scope,
                ResourceIdentifier = new ResourceIdentifier
                {
                    Subscription = DefaultProfile.Context.Subscription.Id.ToString()
                },
                RoleDefinitionId   = Id,
                RoleDefinitionName = Name,
            };

            WriteObject(PoliciesClient.FilterRoleDefinitions(options), enumerateCollection: true);
        }
        public override void ExecuteCmdlet()
        {
            FilterRoleDefinitionOptions options = new FilterRoleDefinitionOptions
            {
                CustomOnly = Custom.IsPresent ? true : false,
                #pragma warning disable 0618
                ScopeAndBelow = AtScopeAndBelow.IsPresent ? true : false,
                #pragma warning restore 0618
                Scope = Scope,
                ResourceIdentifier = new ResourceIdentifier
                {
                    Subscription = DefaultProfile.DefaultContext.Subscription.Id.ToString()
                },
                RoleDefinitionId   = Id,
                RoleDefinitionName = Name,
            };

            AuthorizationClient.ValidateScope(options.Scope, true);

            WriteObject(PoliciesClient.FilterRoleDefinitions(options), enumerateCollection: true);
        }
コード例 #5
0
        public override void ExecuteCmdlet()
        {
            PSRoleDefinition roleDefinition = null;
            string           confirmMessage = null;

            if (Id != Guid.Empty)
            {
                confirmMessage = string.Format(ProjectResources.RemoveRoleDefinition, Id);
            }
            else
            {
                confirmMessage = string.Format(ProjectResources.RemoveRoleDefinitionWithName, Name);
            }

            FilterRoleDefinitionOptions options = new FilterRoleDefinitionOptions
            {
                RoleDefinitionId   = Id,
                RoleDefinitionName = Name,
                Scope = Scope,
                ResourceIdentifier = new ResourceIdentifier
                {
                    Subscription = DefaultProfile.Context.Subscription.Id.ToString()
                }
            };

            ConfirmAction(
                Force.IsPresent,
                confirmMessage,
                ProjectResources.RemoveRoleDefinition,
                Id.ToString(),
                () =>
            {
                roleDefinition = PoliciesClient.RemoveRoleDefinition(options);
                if (PassThru)
                {
                    WriteObject(roleDefinition);
                }
            });
        }
コード例 #6
0
        public override void ExecuteCmdlet()
        {
            FilterRoleDefinitionOptions options = new FilterRoleDefinitionOptions
            {
                CustomOnly         = Custom.IsPresent ? true : false,
                Scope              = Scope,
                ResourceIdentifier = new ResourceIdentifier
                {
                    Subscription = DefaultProfile.DefaultContext.Subscription.Id?.ToString()
                },
                RoleDefinitionId   = Id,
                RoleDefinitionName = Name,
            };

            if (options.Scope == null && options.ResourceIdentifier.Subscription == null)
            {
                WriteTerminatingError("No subscription was found in the default profile and no scope was specified. Either specify a scope or use a tenant with a subscription to run the command.");
            }

            AuthorizationClient.ValidateScope(options.Scope, true);

            WriteObject(PoliciesClient.FilterRoleDefinitions(options), enumerateCollection: true);
        }