def get_ai_optout_policy()

in src/org_setup/resources/organizations.py [0:0]


    def get_ai_optout_policy(self) -> str:
        """
        Return the AI opt-out policy ID
        """

        for policy in self.list_policies("AISERVICES_OPT_OUT_POLICY"):
            if policy["Name"] == AI_OPT_OUT_POLICY_NAME:
                logger.info(
                    f"[{self.region}] Found existing {AI_OPT_OUT_POLICY_NAME} policy"
                )
                return policy["Id"]

        logger.info(
            f"[{self.region}] {AI_OPT_OUT_POLICY_NAME} policy not found, creating"
        )

        try:
            response = self.client.create_policy(
                Content=json.dumps(AI_OPT_OUT_POLICY),
                Description="Opt-out of all AI services",
                Name=AI_OPT_OUT_POLICY_NAME,
                Type="AISERVICES_OPT_OUT_POLICY",
            )
            policy_id = response.get("Policy", {}).get("PolicySummary", {}).get("Id")
            logger.debug(
                f"[{self.region}] Created policy {AI_OPT_OUT_POLICY_NAME} ({policy_id})"
            )
        except botocore.exceptions.ClientError as error:
            if error.response["Error"]["Code"] == "DuplicatePolicyException":
                return self.get_ai_optout_policy()
            raise error

        return policy_id