def Run(self, args): release_track = self.ReleaseTrack() client = osconfig_api_utils.GetClientInstance(release_track) messages = osconfig_api_utils.GetClientMessages(release_track) guest_policy_name = '' if args.organization: guest_policy_name = osconfig_command_utils.GetGuestPolicyUriPath( 'organizations', args.organization, args.POLICY_ID) request = messages.OsconfigOrganizationsGuestPoliciesDeleteRequest( name=guest_policy_name) service = client.organizations_guestPolicies elif args.folder: guest_policy_name = osconfig_command_utils.GetGuestPolicyUriPath( 'folders', args.folder, args.POLICY_ID) request = messages.OsconfigFoldersGuestPoliciesDeleteRequest( name=guest_policy_name) service = client.folders_guestPolicies else: project = properties.VALUES.core.project.GetOrFail() guest_policy_name = osconfig_command_utils.GetGuestPolicyUriPath( 'projects', project, args.POLICY_ID) request = messages.OsconfigProjectsGuestPoliciesDeleteRequest( name=guest_policy_name) service = client.projects_guestPolicies response = service.Delete(request) log.DeletedResource(guest_policy_name) return response
def Run(self, args): release_track = self.ReleaseTrack() client = osconfig_api_utils.GetClientInstance(release_track) messages = osconfig_api_utils.GetClientMessages(release_track) update_fields = [] if args.file: (guest_policy, _) = osconfig_command_utils.GetResourceAndUpdateFieldsFromFile( args.file, messages.GuestPolicy) else: guest_policy = messages.GuestPolicy() if args.description: guest_policy.description = args.description if not args.file: update_fields.append('description') if args.etag: guest_policy.etag = args.etag if not args.file: update_fields.append('etag') update_mask = (','.join(sorted(list(update_fields))) if update_fields else None) if args.organization: request = messages.OsconfigOrganizationsGuestPoliciesPatchRequest( guestPolicy=guest_policy, name=osconfig_command_utils.GetGuestPolicyUriPath( 'organizations', args.organization, args.POLICY_ID), updateMask=update_mask, ) service = client.organizations_guestPolicies elif args.folder: request = messages.OsconfigFoldersGuestPoliciesPatchRequest( guestPolicy=guest_policy, name=osconfig_command_utils.GetGuestPolicyUriPath( 'folders', args.folder, args.POLICY_ID), updateMask=update_mask, ) service = client.folders_guestPolicies else: project = properties.VALUES.core.project.GetOrFail() request = messages.OsconfigProjectsGuestPoliciesPatchRequest( guestPolicy=guest_policy, name=osconfig_command_utils.GetGuestPolicyUriPath( 'projects', project, args.POLICY_ID), updateMask=update_mask, ) service = client.projects_guestPolicies return service.Patch(request)
def Run(self, args): """See base class.""" release_track = self.ReleaseTrack() project = properties.VALUES.core.project.GetOrFail() guest_policy_uri_path = osconfig_command_utils.GetGuestPolicyUriPath( 'projects', project, args.POLICY_ID) client = osconfig_api_utils.GetClientInstance( release_track, api_version_override='v1beta') service = client.projects_guestPolicies messages = osconfig_api_utils.GetClientMessages( release_track, api_version_override='v1beta') get_request = messages.OsconfigProjectsGuestPoliciesGetRequest( name=guest_policy_uri_path) try: get_response = service.Get(get_request) except apitools_exceptions.HttpNotFoundError: raise ops_agents_exceptions.PolicyNotFoundError( policy_id=args.POLICY_ID) if not guest_policy_validator.IsOpsAgentPolicy(get_response): raise ops_agents_exceptions.PolicyNotFoundError( policy_id=args.POLICY_ID) try: ops_agents_policy = to_ops_agents.ConvertGuestPolicyToOpsAgentPolicy( get_response) except calliope_exceptions.BadArgumentException: raise ops_agents_exceptions.PolicyMalformedError( policy_id=args.POLICY_ID) return ops_agents_policy
def Run(self, args): """See base class.""" release_track = self.ReleaseTrack() client = osconfig_api_utils.GetClientInstance( release_track, api_version_override='v1beta') messages = osconfig_api_utils.GetClientMessages( release_track, api_version_override='v1beta') project = properties.VALUES.core.project.GetOrFail() guest_policy_uri_path = osconfig_command_utils.GetGuestPolicyUriPath( 'projects', project, args.POLICY_ID) service = client.projects_guestPolicies get_request = messages.OsconfigProjectsGuestPoliciesGetRequest( name=guest_policy_uri_path) try: get_response = service.Get(get_request) except apitools_exceptions.HttpNotFoundError: raise ops_agents_exceptions.PolicyNotFoundError( policy_id=args.POLICY_ID) if not guest_policy_validator.IsOpsAgentPolicy(get_response): raise ops_agents_exceptions.PolicyNotFoundError( policy_id=args.POLICY_ID) delete_request = messages.OsconfigProjectsGuestPoliciesDeleteRequest( name=guest_policy_uri_path) delete_response = service.Delete(delete_request) log.DeletedResource(args.POLICY_ID) return delete_response
def Run(self, args): """See base class.""" release_track = self.ReleaseTrack() client = osconfig_api_utils.GetClientInstance(release_track) messages = osconfig_api_utils.GetClientMessages(release_track) project = properties.VALUES.core.project.GetOrFail() request = messages.OsconfigProjectsGuestPoliciesGetRequest( name=osconfig_command_utils.GetGuestPolicyUriPath( 'projects', project, args.POLICY_ID)) service = client.projects_guestPolicies return service.Get(request)
def Run(self, args): """See base class.""" release_track = self.ReleaseTrack() client = osconfig_api_utils.GetClientInstance(release_track) messages = osconfig_api_utils.GetClientMessages(release_track) (guest_policy, _) = osconfig_command_utils.GetResourceAndUpdateFieldsFromFile( args.file, messages.GuestPolicy) if args.organization: request = messages.OsconfigOrganizationsGuestPoliciesPatchRequest( guestPolicy=guest_policy, name=osconfig_command_utils.GetGuestPolicyUriPath( 'organizations', args.organization, args.POLICY_ID), updateMask=None, ) service = client.organizations_guestPolicies elif args.folder: request = messages.OsconfigFoldersGuestPoliciesPatchRequest( guestPolicy=guest_policy, name=osconfig_command_utils.GetGuestPolicyUriPath( 'folders', args.folder, args.POLICY_ID), updateMask=None, ) service = client.folders_guestPolicies else: project = properties.VALUES.core.project.GetOrFail() request = messages.OsconfigProjectsGuestPoliciesPatchRequest( guestPolicy=guest_policy, name=osconfig_command_utils.GetGuestPolicyUriPath( 'projects', project, args.POLICY_ID), updateMask=None, ) service = client.projects_guestPolicies return service.Patch(request)
def Run(self, args): """See base class.""" release_track = self.ReleaseTrack() client = osconfig_api_utils.GetClientInstance( release_track, api_version_override='v1beta') messages = osconfig_api_utils.GetClientMessages( release_track, api_version_override='v1beta') project = properties.VALUES.core.project.GetOrFail() request = messages.OsconfigProjectsGuestPoliciesGetRequest( name=osconfig_command_utils.GetGuestPolicyUriPath( 'projects', project, args.POLICY_ID)) service = client.projects_guestPolicies current_guest_policy = service.Get(request) current_ops_agents_policy = guest_policy_to_ops_agents_policy_converter.ConvertGuestPolicyToOpsAgentPolicy( current_guest_policy) updated_ops_agents_policy = ops_agents_policy.UpdateOpsAgentsPolicy( current_ops_agents_policy, args.description, args.etag, args.agent_rules, args.os_types, [] if args.clear_group_labels else args.group_labels, [] if args.clear_zones else args.zones, [] if args.clear_instances else args.instances) ops_agents_policy_validator.ValidateOpsAgentsPolicy( updated_ops_agents_policy) updated_os_config_policy = ops_agents_policy_to_guest_policy_converter.ConvertOpsAgentPolicyToGuestPolicy( messages, updated_ops_agents_policy, current_guest_policy.recipes) request = messages.OsconfigProjectsGuestPoliciesPatchRequest( guestPolicy=updated_os_config_policy, name=osconfig_command_utils.GetGuestPolicyUriPath( 'projects', project, args.POLICY_ID), updateMask=None, ) complete_os_config_policy = service.Patch(request) complete_ops_agent_policy = guest_policy_to_ops_agents_policy_converter.ConvertGuestPolicyToOpsAgentPolicy( complete_os_config_policy) return complete_ops_agent_policy