コード例 #1
0
ファイル: describe.py プロジェクト: piotradamczyk5/gcloud_cli
  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
コード例 #2
0
  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
コード例 #3
0
 def testGuestPolicyWithoutTypeInDescriptionReturnsFalse(self):
   no_type_json_description = json.dumps({
       'agents': [],
   })
   guest_policy = self._LoadMessage(
       _GUEST_POLICY_YAML_TEMPLATE.format(desc=no_type_json_description),
       self.messages.GuestPolicy)
   self.assertFalse(validator.IsOpsAgentPolicy(guest_policy))
コード例 #4
0
 def testOpsAgentPolicyReturnsTrue(self):
   ops_agent_guest_policy_description = json.dumps({
       'type': 'ops-agents',
       'description': 'desc',
       'agents': [{
           'enableAutoupgrade': True,
           'packageState': 'installed',
           'type': 'logging',
           'version': '1.6.35-1'
       }]
   })
   guest_policy = self._LoadMessage(
       _GUEST_POLICY_YAML_TEMPLATE.format(
           desc=ops_agent_guest_policy_description),
       self.messages.GuestPolicy)
   self.assertTrue(validator.IsOpsAgentPolicy(guest_policy))
コード例 #5
0
 def testGuestPolicyWithoutDescriptionReturnsFalse(self):
   guest_policy = self._LoadMessage(
       _GUEST_POLICY_WITHOUT_DESCRIPTION, self.messages.GuestPolicy)
   self.assertFalse(validator.IsOpsAgentPolicy(guest_policy))
コード例 #6
0
 def testGuestPolicyWithBrokenJsonInDescriptionReturnsFalse(self):
   guest_policy = self._LoadMessage(
       _GUEST_POLICY_YAML_TEMPLATE.format(desc='{"ops-agents":}'),
       self.messages.GuestPolicy)
   self.assertFalse(validator.IsOpsAgentPolicy(guest_policy))
コード例 #7
0
 def testGuestPolicyWithTypeStringInDescriptionReturnsFalse(self):
   guest_policy = self._LoadMessage(
       _GUEST_POLICY_YAML_TEMPLATE.format(desc='type'),
       self.messages.GuestPolicy)
   self.assertFalse(validator.IsOpsAgentPolicy(guest_policy))
コード例 #8
0
 def testGuestPolicyWithJsonArrayInDescriptionReturnsFalse(self):
   json_array_description = json.dumps([])
   guest_policy = self._LoadMessage(
       _GUEST_POLICY_YAML_TEMPLATE.format(desc=json_array_description),
       self.messages.GuestPolicy)
   self.assertFalse(validator.IsOpsAgentPolicy(guest_policy))